slidge-whatsapp 0.2.5__cp311-cp311-manylinux_2_36_aarch64.whl → 0.3.0b0__cp311-cp311-manylinux_2_36_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of slidge-whatsapp might be problematic. Click here for more details.
- slidge_whatsapp/config.py +3 -0
- slidge_whatsapp/contact.py +13 -3
- slidge_whatsapp/event.go +135 -60
- slidge_whatsapp/gateway.go +16 -68
- slidge_whatsapp/gateway.py +4 -5
- slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.h +198 -181
- slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.so +0 -0
- slidge_whatsapp/generated/build.py +166 -152
- slidge_whatsapp/generated/whatsapp.c +1804 -1532
- slidge_whatsapp/generated/whatsapp.go +1150 -1039
- slidge_whatsapp/generated/whatsapp.py +1243 -1118
- slidge_whatsapp/generated/whatsapp_go.h +198 -181
- slidge_whatsapp/go.mod +21 -15
- slidge_whatsapp/go.sum +49 -31
- slidge_whatsapp/group.py +34 -30
- slidge_whatsapp/media/media.go +22 -12
- slidge_whatsapp/session.go +105 -81
- slidge_whatsapp/session.py +46 -14
- slidge_whatsapp/vendor/github.com/beeper/argo-go/LICENSE +9 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/block/blockreader.go +329 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/block/blockwriter.go +417 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/codec/decoder.go +652 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/codec/encoder.go +985 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/header/header.go +135 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/internal/util/util.go +133 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/label/label.go +384 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/label/wiremarkers.go +37 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/bitset/bitset.go +197 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/buf/buf.go +420 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/varint/varint.go +246 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/wire/wire.go +614 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/wirecodec/decode.go +341 -0
- slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn.go +4 -4
- slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_darwin.go +0 -5
- slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_libinit.go +3 -0
- slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols.go +40 -20
- slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/LICENSE +21 -0
- slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/list.go +95 -0
- slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/orderedmap.go +187 -0
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz.go +1 -0
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo.go +3 -0
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_nocgo.go +4 -5
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_darwin.go +11 -1
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_linux.go +10 -0
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_windows.go +12 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/.gitignore +0 -2
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/CHANGELOG.md +44 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/COPYRIGHT.txt +6 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/README.md +14 -17
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi.go +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi2.go +7 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/LICENSE +21 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/darwin_amd64/libffi.8.dylib +0 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/darwin_arm64/libffi.8.dylib +0 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/windows_amd64/libffi-8.dll +0 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/cif.go +15 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/cif_arm64.go +16 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed.go +49 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_darwin_amd64.go +10 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_darwin_arm64.go +10 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_windows_amd64.go +10 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/ffi.go +53 -15
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/fun.go +10 -2
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/init.go +22 -9
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib.go +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_unix.go +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_windows.go +1 -1
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/README.md +4 -7
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/callback.go +2 -1
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c +11545 -6680
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h +527 -273
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3.go +57 -23
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.c +4 -0
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.go +4 -0
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth.go +13 -140
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3ext.h +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/.gitignore +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/LICENSE +202 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/README.md +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid.go +35 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_gccgo.go +26 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.c +23 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.go +22 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.go +35 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.s +18 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.go +28 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.s +44 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_slow.go +24 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_gccgo_go1.8.go +17 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.23.go +38 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.25.go +37 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.5.go +57 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.6.go +43 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.9.go +37 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/CONTRIBUTING.md +43 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/README.md +31 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/console.go +20 -5
- slidge_whatsapp/vendor/github.com/rs/zerolog/log/log.go +131 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/log.go +1 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/sampler.go +4 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/writer.go +9 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/LICENSE +19 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/argmap.go +37 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/collections.go +148 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/comment.go +31 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/decode.go +216 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/definition.go +110 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/directive.go +43 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/document.go +89 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/dumper.go +159 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/fragment.go +41 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/operation.go +32 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/path.go +72 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/selection.go +41 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/source.go +19 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/type.go +68 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/value.go +122 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupCipher.go +17 -6
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupSessionBuilder.go +17 -7
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/store/SenderKeyStore.go +4 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/chain/ChainKey.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/identity/IdentityKey.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/logger/DefaultLogger.go +2 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/FingerprintProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/LocalStorageProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/WhisperTextProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/session/Session.go +41 -17
- slidge_whatsapp/vendor/go.mau.fi/libsignal/session/SessionCipher.go +64 -30
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go +5 -3
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/MessageKeyStore.go +6 -4
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/PreKeyStore.go +6 -4
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SessionStore.go +8 -6
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SignedPreKeyStore.go +7 -5
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/connlog.go +257 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/database.go +309 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/iter.go +233 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/json.go +47 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/log.go +129 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/massinsert.go +164 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/queryhelper.go +137 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/reflectscan.go +30 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/transaction.go +180 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgrades.go +250 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgradetable.go +331 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exerrors/dualerror.go +33 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exerrors/must.go +23 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/cors.go +32 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/handleerrors.go +98 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/json.go +36 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/middleware.go +30 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/networkerror.go +38 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exstrings/stringutil.go +104 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/event.go +104 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/returnonce.go +25 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/ringbuffer.go +139 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncmap.go +94 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncset.go +136 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/callermarshal.go +28 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/defaults.go +32 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/generics.go +45 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/writer.go +81 -0
- slidge_whatsapp/vendor/go.mau.fi/util/ptr/ptr.go +43 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/.pre-commit-config.yaml +3 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/decode.go +27 -26
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +4 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/hash.go +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/keys.go +5 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +32 -26
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/argo-wire-type-store.argo +63 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/argo.go +62 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/name-to-queryids.json +306 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +42 -8
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/encoder.go +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/broadcast.go +5 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/call.go +2 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +134 -55
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +34 -11
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download-to-file.go +63 -30
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +78 -34
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +4 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +157 -55
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +202 -154
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/keepalive.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaconn.go +5 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaretry.go +2 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +448 -138
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +106 -31
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/newsletter.go +83 -7
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +83 -43
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +9 -6
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +42 -18
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +9 -5
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/presence.go +17 -7
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/privacysettings.go +10 -11
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/extra.go +7 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.pb.go +983 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.proto +85 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/extra.go +3 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.pb.go +197 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto +13 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.pb.go +279 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto +21 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.pb.go +137 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto +10 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.pb.go +313 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto +27 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.pb.go +1299 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto +112 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.pb.go +514 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.proto +47 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.pb.go +123 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.proto +7 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/extra.go +3 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.pb.go +720 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.proto +59 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/extra.go +3 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.pb.go +365 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.proto +33 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.pb.go +1238 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.proto +105 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.go +39 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.go +354 -175
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.proto +5 -5
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.go +170 -15
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.proto +4 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waBotMetadata/WABotMetadata.pb.go +5156 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waBotMetadata/WABotMetadata.proto +516 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.go +29 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.go +13 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.go +344 -31
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.proto +26 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.pb.go → WACompanionReg.pb.go} +211 -89
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.proto → WACompanionReg.proto} +5 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.go +173 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go +78 -16
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +5 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +7463 -5180
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +366 -343
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +485 -135
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +17 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.go +198 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto +14 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.go +162 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.proto +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.go +32 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.proto +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.go +192 -52
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.proto +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.go +60 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/extra.go +7 -6
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.go +39 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.go +61 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.pb.go +952 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +88 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +1802 -453
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +92 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.go +27 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.go +59 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +435 -109
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +11 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +563 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +4 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +32 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingfields.json +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingtoken.go +176 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +39 -21
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +267 -79
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +28 -16
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +3 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +87 -44
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +75 -88
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go +86 -65
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/lidmap.go +186 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +314 -170
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/00-latest-schema.sql +155 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/03-message-secrets.sql +11 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/04-privacy-tokens.sql +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/05-account-jid-format.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/06-facebook-uuid.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/07-account-lid.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/08-lid-mapping.sql +5 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/09-decryption-buffer.sql +10 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/10-chat-db-lid-migration-ts.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/upgrades.go +22 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +109 -56
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/botmap.go +210 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/call.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +21 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/group.go +15 -6
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +9 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/message.go +18 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/user.go +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/update.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/upload.go +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +59 -37
- slidge_whatsapp/vendor/golang.org/x/crypto/curve25519/curve25519.go +1 -1
- slidge_whatsapp/vendor/golang.org/x/exp/LICENSE +27 -0
- slidge_whatsapp/vendor/golang.org/x/exp/PATENTS +22 -0
- slidge_whatsapp/vendor/golang.org/x/exp/constraints/constraints.go +54 -0
- slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/guts.go +50 -0
- slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/httplex.go +347 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/.gitignore +2 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/ascii.go +53 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/ciphers.go +641 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/client_conn_pool.go +311 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +164 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/databuffer.go +149 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/errors.go +145 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/flow.go +120 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/frame.go +1702 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/gotrack.go +181 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/encode.go +245 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/hpack.go +523 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/huffman.go +226 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/static_table.go +188 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/tables.go +403 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +410 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/pipe.go +184 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +3332 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +3233 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/unencrypted.go +32 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/write.go +381 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched.go +251 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_priority.go +451 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_random.go +77 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_roundrobin.go +119 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/go118.go +13 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/idna10.0.0.go +769 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/idna9.0.0.go +717 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/pre_go118.go +11 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/punycode.go +217 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables10.0.0.go +4559 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables11.0.0.go +4653 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables12.0.0.go +4733 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables13.0.0.go +4959 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables15.0.0.go +5144 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables9.0.0.go +4486 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie.go +51 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie12.0.0.go +30 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie13.0.0.go +30 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trieval.go +119 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/request.go +467 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/affinity_linux.go +1 -3
- slidge_whatsapp/vendor/golang.org/x/sys/unix/mkerrors.sh +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin.go +93 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +16 -26
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_solaris.go +1 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux.go +47 -16
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +84 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +20 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +84 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +20 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +4 -4
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux.go +168 -12
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +17 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +18 -2
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +17 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +17 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +18 -2
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/windows/security_windows.go +44 -5
- slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +4 -2
- slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +245 -0
- slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +491 -482
- slidge_whatsapp/vendor/golang.org/x/text/LICENSE +27 -0
- slidge_whatsapp/vendor/golang.org/x/text/PATENTS +22 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule.go +336 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +11 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +14 -0
- slidge_whatsapp/vendor/golang.org/x/text/transform/transform.go +709 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bidi.go +359 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/core.go +1071 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +1815 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +1887 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +1923 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +1955 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +2042 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +1781 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/trieval.go +48 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/composition.go +512 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/forminfo.go +279 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/iter.go +458 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/normalize.go +610 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +7657 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +7693 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +7710 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go +7760 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +7907 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +7637 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +25 -1
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb +0 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +13 -5
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/presence.go +33 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +6 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +81 -19
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go +2 -1
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go +8 -37
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/presence.go +0 -3
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/{strings_unsafe_go121.go → strings_unsafe.go} +0 -2
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/version/version.go +1 -1
- slidge_whatsapp/vendor/google.golang.org/protobuf/proto/merge.go +6 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +10 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/{value_unsafe_go121.go → value_unsafe.go} +0 -2
- slidge_whatsapp/vendor/modules.txt +80 -21
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/METADATA +2 -2
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/RECORD +456 -263
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/WHEEL +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi_amd64.go +0 -7
- slidge_whatsapp/vendor/github.com/rs/zerolog/CNAME +0 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/_config.yml +0 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.raw +0 -23
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.raw +0 -7
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrade.go +0 -296
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go +0 -94
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go +0 -98
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/LICENSE +0 -0
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
// Copyright 2015 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
//go:generate go run gen.go gen_trieval.go gen_ranges.go
|
|
6
|
+
|
|
7
|
+
// Package bidi contains functionality for bidirectional text support.
|
|
8
|
+
//
|
|
9
|
+
// See https://www.unicode.org/reports/tr9.
|
|
10
|
+
//
|
|
11
|
+
// NOTE: UNDER CONSTRUCTION. This API may change in backwards incompatible ways
|
|
12
|
+
// and without notice.
|
|
13
|
+
package bidi // import "golang.org/x/text/unicode/bidi"
|
|
14
|
+
|
|
15
|
+
// TODO
|
|
16
|
+
// - Transformer for reordering?
|
|
17
|
+
// - Transformer (validator, really) for Bidi Rule.
|
|
18
|
+
|
|
19
|
+
import (
|
|
20
|
+
"bytes"
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
// This API tries to avoid dealing with embedding levels for now. Under the hood
|
|
24
|
+
// these will be computed, but the question is to which extent the user should
|
|
25
|
+
// know they exist. We should at some point allow the user to specify an
|
|
26
|
+
// embedding hierarchy, though.
|
|
27
|
+
|
|
28
|
+
// A Direction indicates the overall flow of text.
|
|
29
|
+
type Direction int
|
|
30
|
+
|
|
31
|
+
const (
|
|
32
|
+
// LeftToRight indicates the text contains no right-to-left characters and
|
|
33
|
+
// that either there are some left-to-right characters or the option
|
|
34
|
+
// DefaultDirection(LeftToRight) was passed.
|
|
35
|
+
LeftToRight Direction = iota
|
|
36
|
+
|
|
37
|
+
// RightToLeft indicates the text contains no left-to-right characters and
|
|
38
|
+
// that either there are some right-to-left characters or the option
|
|
39
|
+
// DefaultDirection(RightToLeft) was passed.
|
|
40
|
+
RightToLeft
|
|
41
|
+
|
|
42
|
+
// Mixed indicates text contains both left-to-right and right-to-left
|
|
43
|
+
// characters.
|
|
44
|
+
Mixed
|
|
45
|
+
|
|
46
|
+
// Neutral means that text contains no left-to-right and right-to-left
|
|
47
|
+
// characters and that no default direction has been set.
|
|
48
|
+
Neutral
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
type options struct {
|
|
52
|
+
defaultDirection Direction
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// An Option is an option for Bidi processing.
|
|
56
|
+
type Option func(*options)
|
|
57
|
+
|
|
58
|
+
// ICU allows the user to define embedding levels. This may be used, for example,
|
|
59
|
+
// to use hierarchical structure of markup languages to define embeddings.
|
|
60
|
+
// The following option may be a way to expose this functionality in this API.
|
|
61
|
+
// // LevelFunc sets a function that associates nesting levels with the given text.
|
|
62
|
+
// // The levels function will be called with monotonically increasing values for p.
|
|
63
|
+
// func LevelFunc(levels func(p int) int) Option {
|
|
64
|
+
// panic("unimplemented")
|
|
65
|
+
// }
|
|
66
|
+
|
|
67
|
+
// DefaultDirection sets the default direction for a Paragraph. The direction is
|
|
68
|
+
// overridden if the text contains directional characters.
|
|
69
|
+
func DefaultDirection(d Direction) Option {
|
|
70
|
+
return func(opts *options) {
|
|
71
|
+
opts.defaultDirection = d
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// A Paragraph holds a single Paragraph for Bidi processing.
|
|
76
|
+
type Paragraph struct {
|
|
77
|
+
p []byte
|
|
78
|
+
o Ordering
|
|
79
|
+
opts []Option
|
|
80
|
+
types []Class
|
|
81
|
+
pairTypes []bracketType
|
|
82
|
+
pairValues []rune
|
|
83
|
+
runes []rune
|
|
84
|
+
options options
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Initialize the p.pairTypes, p.pairValues and p.types from the input previously
|
|
88
|
+
// set by p.SetBytes() or p.SetString(). Also limit the input up to (and including) a paragraph
|
|
89
|
+
// separator (bidi class B).
|
|
90
|
+
//
|
|
91
|
+
// The function p.Order() needs these values to be set, so this preparation could be postponed.
|
|
92
|
+
// But since the SetBytes and SetStrings functions return the length of the input up to the paragraph
|
|
93
|
+
// separator, the whole input needs to be processed anyway and should not be done twice.
|
|
94
|
+
//
|
|
95
|
+
// The function has the same return values as SetBytes() / SetString()
|
|
96
|
+
func (p *Paragraph) prepareInput() (n int, err error) {
|
|
97
|
+
p.runes = bytes.Runes(p.p)
|
|
98
|
+
bytecount := 0
|
|
99
|
+
// clear slices from previous SetString or SetBytes
|
|
100
|
+
p.pairTypes = nil
|
|
101
|
+
p.pairValues = nil
|
|
102
|
+
p.types = nil
|
|
103
|
+
|
|
104
|
+
for _, r := range p.runes {
|
|
105
|
+
props, i := LookupRune(r)
|
|
106
|
+
bytecount += i
|
|
107
|
+
cls := props.Class()
|
|
108
|
+
if cls == B {
|
|
109
|
+
return bytecount, nil
|
|
110
|
+
}
|
|
111
|
+
p.types = append(p.types, cls)
|
|
112
|
+
if props.IsOpeningBracket() {
|
|
113
|
+
p.pairTypes = append(p.pairTypes, bpOpen)
|
|
114
|
+
p.pairValues = append(p.pairValues, r)
|
|
115
|
+
} else if props.IsBracket() {
|
|
116
|
+
// this must be a closing bracket,
|
|
117
|
+
// since IsOpeningBracket is not true
|
|
118
|
+
p.pairTypes = append(p.pairTypes, bpClose)
|
|
119
|
+
p.pairValues = append(p.pairValues, r)
|
|
120
|
+
} else {
|
|
121
|
+
p.pairTypes = append(p.pairTypes, bpNone)
|
|
122
|
+
p.pairValues = append(p.pairValues, 0)
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return bytecount, nil
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// SetBytes configures p for the given paragraph text. It replaces text
|
|
129
|
+
// previously set by SetBytes or SetString. If b contains a paragraph separator
|
|
130
|
+
// it will only process the first paragraph and report the number of bytes
|
|
131
|
+
// consumed from b including this separator. Error may be non-nil if options are
|
|
132
|
+
// given.
|
|
133
|
+
func (p *Paragraph) SetBytes(b []byte, opts ...Option) (n int, err error) {
|
|
134
|
+
p.p = b
|
|
135
|
+
p.opts = opts
|
|
136
|
+
return p.prepareInput()
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// SetString configures s for the given paragraph text. It replaces text
|
|
140
|
+
// previously set by SetBytes or SetString. If s contains a paragraph separator
|
|
141
|
+
// it will only process the first paragraph and report the number of bytes
|
|
142
|
+
// consumed from s including this separator. Error may be non-nil if options are
|
|
143
|
+
// given.
|
|
144
|
+
func (p *Paragraph) SetString(s string, opts ...Option) (n int, err error) {
|
|
145
|
+
p.p = []byte(s)
|
|
146
|
+
p.opts = opts
|
|
147
|
+
return p.prepareInput()
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// IsLeftToRight reports whether the principle direction of rendering for this
|
|
151
|
+
// paragraphs is left-to-right. If this returns false, the principle direction
|
|
152
|
+
// of rendering is right-to-left.
|
|
153
|
+
func (p *Paragraph) IsLeftToRight() bool {
|
|
154
|
+
return p.Direction() == LeftToRight
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// Direction returns the direction of the text of this paragraph.
|
|
158
|
+
//
|
|
159
|
+
// The direction may be LeftToRight, RightToLeft, Mixed, or Neutral.
|
|
160
|
+
func (p *Paragraph) Direction() Direction {
|
|
161
|
+
return p.o.Direction()
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// TODO: what happens if the position is > len(input)? This should return an error.
|
|
165
|
+
|
|
166
|
+
// RunAt reports the Run at the given position of the input text.
|
|
167
|
+
//
|
|
168
|
+
// This method can be used for computing line breaks on paragraphs.
|
|
169
|
+
func (p *Paragraph) RunAt(pos int) Run {
|
|
170
|
+
c := 0
|
|
171
|
+
runNumber := 0
|
|
172
|
+
for i, r := range p.o.runes {
|
|
173
|
+
c += len(r)
|
|
174
|
+
if pos < c {
|
|
175
|
+
runNumber = i
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return p.o.Run(runNumber)
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
func calculateOrdering(levels []level, runes []rune) Ordering {
|
|
182
|
+
var curDir Direction
|
|
183
|
+
|
|
184
|
+
prevDir := Neutral
|
|
185
|
+
prevI := 0
|
|
186
|
+
|
|
187
|
+
o := Ordering{}
|
|
188
|
+
// lvl = 0,2,4,...: left to right
|
|
189
|
+
// lvl = 1,3,5,...: right to left
|
|
190
|
+
for i, lvl := range levels {
|
|
191
|
+
if lvl%2 == 0 {
|
|
192
|
+
curDir = LeftToRight
|
|
193
|
+
} else {
|
|
194
|
+
curDir = RightToLeft
|
|
195
|
+
}
|
|
196
|
+
if curDir != prevDir {
|
|
197
|
+
if i > 0 {
|
|
198
|
+
o.runes = append(o.runes, runes[prevI:i])
|
|
199
|
+
o.directions = append(o.directions, prevDir)
|
|
200
|
+
o.startpos = append(o.startpos, prevI)
|
|
201
|
+
}
|
|
202
|
+
prevI = i
|
|
203
|
+
prevDir = curDir
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
o.runes = append(o.runes, runes[prevI:])
|
|
207
|
+
o.directions = append(o.directions, prevDir)
|
|
208
|
+
o.startpos = append(o.startpos, prevI)
|
|
209
|
+
return o
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// Order computes the visual ordering of all the runs in a Paragraph.
|
|
213
|
+
func (p *Paragraph) Order() (Ordering, error) {
|
|
214
|
+
if len(p.types) == 0 {
|
|
215
|
+
return Ordering{}, nil
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
for _, fn := range p.opts {
|
|
219
|
+
fn(&p.options)
|
|
220
|
+
}
|
|
221
|
+
lvl := level(-1)
|
|
222
|
+
if p.options.defaultDirection == RightToLeft {
|
|
223
|
+
lvl = 1
|
|
224
|
+
}
|
|
225
|
+
para, err := newParagraph(p.types, p.pairTypes, p.pairValues, lvl)
|
|
226
|
+
if err != nil {
|
|
227
|
+
return Ordering{}, err
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
levels := para.getLevels([]int{len(p.types)})
|
|
231
|
+
|
|
232
|
+
p.o = calculateOrdering(levels, p.runes)
|
|
233
|
+
return p.o, nil
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// Line computes the visual ordering of runs for a single line starting and
|
|
237
|
+
// ending at the given positions in the original text.
|
|
238
|
+
func (p *Paragraph) Line(start, end int) (Ordering, error) {
|
|
239
|
+
lineTypes := p.types[start:end]
|
|
240
|
+
para, err := newParagraph(lineTypes, p.pairTypes[start:end], p.pairValues[start:end], -1)
|
|
241
|
+
if err != nil {
|
|
242
|
+
return Ordering{}, err
|
|
243
|
+
}
|
|
244
|
+
levels := para.getLevels([]int{len(lineTypes)})
|
|
245
|
+
o := calculateOrdering(levels, p.runes[start:end])
|
|
246
|
+
return o, nil
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// An Ordering holds the computed visual order of runs of a Paragraph. Calling
|
|
250
|
+
// SetBytes or SetString on the originating Paragraph invalidates an Ordering.
|
|
251
|
+
// The methods of an Ordering should only be called by one goroutine at a time.
|
|
252
|
+
type Ordering struct {
|
|
253
|
+
runes [][]rune
|
|
254
|
+
directions []Direction
|
|
255
|
+
startpos []int
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
// Direction reports the directionality of the runs.
|
|
259
|
+
//
|
|
260
|
+
// The direction may be LeftToRight, RightToLeft, Mixed, or Neutral.
|
|
261
|
+
func (o *Ordering) Direction() Direction {
|
|
262
|
+
return o.directions[0]
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
// NumRuns returns the number of runs.
|
|
266
|
+
func (o *Ordering) NumRuns() int {
|
|
267
|
+
return len(o.runes)
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
// Run returns the ith run within the ordering.
|
|
271
|
+
func (o *Ordering) Run(i int) Run {
|
|
272
|
+
r := Run{
|
|
273
|
+
runes: o.runes[i],
|
|
274
|
+
direction: o.directions[i],
|
|
275
|
+
startpos: o.startpos[i],
|
|
276
|
+
}
|
|
277
|
+
return r
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// TODO: perhaps with options.
|
|
281
|
+
// // Reorder creates a reader that reads the runes in visual order per character.
|
|
282
|
+
// // Modifiers remain after the runes they modify.
|
|
283
|
+
// func (l *Runs) Reorder() io.Reader {
|
|
284
|
+
// panic("unimplemented")
|
|
285
|
+
// }
|
|
286
|
+
|
|
287
|
+
// A Run is a continuous sequence of characters of a single direction.
|
|
288
|
+
type Run struct {
|
|
289
|
+
runes []rune
|
|
290
|
+
direction Direction
|
|
291
|
+
startpos int
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
// String returns the text of the run in its original order.
|
|
295
|
+
func (r *Run) String() string {
|
|
296
|
+
return string(r.runes)
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// Bytes returns the text of the run in its original order.
|
|
300
|
+
func (r *Run) Bytes() []byte {
|
|
301
|
+
return []byte(r.String())
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
// TODO: methods for
|
|
305
|
+
// - Display order
|
|
306
|
+
// - headers and footers
|
|
307
|
+
// - bracket replacement.
|
|
308
|
+
|
|
309
|
+
// Direction reports the direction of the run.
|
|
310
|
+
func (r *Run) Direction() Direction {
|
|
311
|
+
return r.direction
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
// Pos returns the position of the Run within the text passed to SetBytes or SetString of the
|
|
315
|
+
// originating Paragraph value.
|
|
316
|
+
func (r *Run) Pos() (start, end int) {
|
|
317
|
+
return r.startpos, r.startpos + len(r.runes) - 1
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
// AppendReverse reverses the order of characters of in, appends them to out,
|
|
321
|
+
// and returns the result. Modifiers will still follow the runes they modify.
|
|
322
|
+
// Brackets are replaced with their counterparts.
|
|
323
|
+
func AppendReverse(out, in []byte) []byte {
|
|
324
|
+
ret := make([]byte, len(in)+len(out))
|
|
325
|
+
copy(ret, out)
|
|
326
|
+
inRunes := bytes.Runes(in)
|
|
327
|
+
|
|
328
|
+
for i, r := range inRunes {
|
|
329
|
+
prop, _ := LookupRune(r)
|
|
330
|
+
if prop.IsBracket() {
|
|
331
|
+
inRunes[i] = prop.reverseBracket(r)
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
for i, j := 0, len(inRunes)-1; i < j; i, j = i+1, j-1 {
|
|
336
|
+
inRunes[i], inRunes[j] = inRunes[j], inRunes[i]
|
|
337
|
+
}
|
|
338
|
+
copy(ret[len(out):], string(inRunes))
|
|
339
|
+
|
|
340
|
+
return ret
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
// ReverseString reverses the order of characters in s and returns a new string.
|
|
344
|
+
// Modifiers will still follow the runes they modify. Brackets are replaced with
|
|
345
|
+
// their counterparts.
|
|
346
|
+
func ReverseString(s string) string {
|
|
347
|
+
input := []rune(s)
|
|
348
|
+
li := len(input)
|
|
349
|
+
ret := make([]rune, li)
|
|
350
|
+
for i, r := range input {
|
|
351
|
+
prop, _ := LookupRune(r)
|
|
352
|
+
if prop.IsBracket() {
|
|
353
|
+
ret[li-i-1] = prop.reverseBracket(r)
|
|
354
|
+
} else {
|
|
355
|
+
ret[li-i-1] = r
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
return string(ret)
|
|
359
|
+
}
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
// Copyright 2015 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
package bidi
|
|
6
|
+
|
|
7
|
+
import (
|
|
8
|
+
"container/list"
|
|
9
|
+
"fmt"
|
|
10
|
+
"sort"
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
// This file contains a port of the reference implementation of the
|
|
14
|
+
// Bidi Parentheses Algorithm:
|
|
15
|
+
// https://www.unicode.org/Public/PROGRAMS/BidiReferenceJava/BidiPBAReference.java
|
|
16
|
+
//
|
|
17
|
+
// The implementation in this file covers definitions BD14-BD16 and rule N0
|
|
18
|
+
// of UAX#9.
|
|
19
|
+
//
|
|
20
|
+
// Some preprocessing is done for each rune before data is passed to this
|
|
21
|
+
// algorithm:
|
|
22
|
+
// - opening and closing brackets are identified
|
|
23
|
+
// - a bracket pair type, like '(' and ')' is assigned a unique identifier that
|
|
24
|
+
// is identical for the opening and closing bracket. It is left to do these
|
|
25
|
+
// mappings.
|
|
26
|
+
// - The BPA algorithm requires that bracket characters that are canonical
|
|
27
|
+
// equivalents of each other be able to be substituted for each other.
|
|
28
|
+
// It is the responsibility of the caller to do this canonicalization.
|
|
29
|
+
//
|
|
30
|
+
// In implementing BD16, this implementation departs slightly from the "logical"
|
|
31
|
+
// algorithm defined in UAX#9. In particular, the stack referenced there
|
|
32
|
+
// supports operations that go beyond a "basic" stack. An equivalent
|
|
33
|
+
// implementation based on a linked list is used here.
|
|
34
|
+
|
|
35
|
+
// Bidi_Paired_Bracket_Type
|
|
36
|
+
// BD14. An opening paired bracket is a character whose
|
|
37
|
+
// Bidi_Paired_Bracket_Type property value is Open.
|
|
38
|
+
//
|
|
39
|
+
// BD15. A closing paired bracket is a character whose
|
|
40
|
+
// Bidi_Paired_Bracket_Type property value is Close.
|
|
41
|
+
type bracketType byte
|
|
42
|
+
|
|
43
|
+
const (
|
|
44
|
+
bpNone bracketType = iota
|
|
45
|
+
bpOpen
|
|
46
|
+
bpClose
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
// bracketPair holds a pair of index values for opening and closing bracket
|
|
50
|
+
// location of a bracket pair.
|
|
51
|
+
type bracketPair struct {
|
|
52
|
+
opener int
|
|
53
|
+
closer int
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
func (b *bracketPair) String() string {
|
|
57
|
+
return fmt.Sprintf("(%v, %v)", b.opener, b.closer)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// bracketPairs is a slice of bracketPairs with a sort.Interface implementation.
|
|
61
|
+
type bracketPairs []bracketPair
|
|
62
|
+
|
|
63
|
+
func (b bracketPairs) Len() int { return len(b) }
|
|
64
|
+
func (b bracketPairs) Swap(i, j int) { b[i], b[j] = b[j], b[i] }
|
|
65
|
+
func (b bracketPairs) Less(i, j int) bool { return b[i].opener < b[j].opener }
|
|
66
|
+
|
|
67
|
+
// resolvePairedBrackets runs the paired bracket part of the UBA algorithm.
|
|
68
|
+
//
|
|
69
|
+
// For each rune, it takes the indexes into the original string, the class the
|
|
70
|
+
// bracket type (in pairTypes) and the bracket identifier (pairValues). It also
|
|
71
|
+
// takes the direction type for the start-of-sentence and the embedding level.
|
|
72
|
+
//
|
|
73
|
+
// The identifiers for bracket types are the rune of the canonicalized opening
|
|
74
|
+
// bracket for brackets (open or close) or 0 for runes that are not brackets.
|
|
75
|
+
func resolvePairedBrackets(s *isolatingRunSequence) {
|
|
76
|
+
p := bracketPairer{
|
|
77
|
+
sos: s.sos,
|
|
78
|
+
openers: list.New(),
|
|
79
|
+
codesIsolatedRun: s.types,
|
|
80
|
+
indexes: s.indexes,
|
|
81
|
+
}
|
|
82
|
+
dirEmbed := L
|
|
83
|
+
if s.level&1 != 0 {
|
|
84
|
+
dirEmbed = R
|
|
85
|
+
}
|
|
86
|
+
p.locateBrackets(s.p.pairTypes, s.p.pairValues)
|
|
87
|
+
p.resolveBrackets(dirEmbed, s.p.initialTypes)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
type bracketPairer struct {
|
|
91
|
+
sos Class // direction corresponding to start of sequence
|
|
92
|
+
|
|
93
|
+
// The following is a restatement of BD 16 using non-algorithmic language.
|
|
94
|
+
//
|
|
95
|
+
// A bracket pair is a pair of characters consisting of an opening
|
|
96
|
+
// paired bracket and a closing paired bracket such that the
|
|
97
|
+
// Bidi_Paired_Bracket property value of the former equals the latter,
|
|
98
|
+
// subject to the following constraints.
|
|
99
|
+
// - both characters of a pair occur in the same isolating run sequence
|
|
100
|
+
// - the closing character of a pair follows the opening character
|
|
101
|
+
// - any bracket character can belong at most to one pair, the earliest possible one
|
|
102
|
+
// - any bracket character not part of a pair is treated like an ordinary character
|
|
103
|
+
// - pairs may nest properly, but their spans may not overlap otherwise
|
|
104
|
+
|
|
105
|
+
// Bracket characters with canonical decompositions are supposed to be
|
|
106
|
+
// treated as if they had been normalized, to allow normalized and non-
|
|
107
|
+
// normalized text to give the same result. In this implementation that step
|
|
108
|
+
// is pushed out to the caller. The caller has to ensure that the pairValue
|
|
109
|
+
// slices contain the rune of the opening bracket after normalization for
|
|
110
|
+
// any opening or closing bracket.
|
|
111
|
+
|
|
112
|
+
openers *list.List // list of positions for opening brackets
|
|
113
|
+
|
|
114
|
+
// bracket pair positions sorted by location of opening bracket
|
|
115
|
+
pairPositions bracketPairs
|
|
116
|
+
|
|
117
|
+
codesIsolatedRun []Class // directional bidi codes for an isolated run
|
|
118
|
+
indexes []int // array of index values into the original string
|
|
119
|
+
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// matchOpener reports whether characters at given positions form a matching
|
|
123
|
+
// bracket pair.
|
|
124
|
+
func (p *bracketPairer) matchOpener(pairValues []rune, opener, closer int) bool {
|
|
125
|
+
return pairValues[p.indexes[opener]] == pairValues[p.indexes[closer]]
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
const maxPairingDepth = 63
|
|
129
|
+
|
|
130
|
+
// locateBrackets locates matching bracket pairs according to BD16.
|
|
131
|
+
//
|
|
132
|
+
// This implementation uses a linked list instead of a stack, because, while
|
|
133
|
+
// elements are added at the front (like a push) they are not generally removed
|
|
134
|
+
// in atomic 'pop' operations, reducing the benefit of the stack archetype.
|
|
135
|
+
func (p *bracketPairer) locateBrackets(pairTypes []bracketType, pairValues []rune) {
|
|
136
|
+
// traverse the run
|
|
137
|
+
// do that explicitly (not in a for-each) so we can record position
|
|
138
|
+
for i, index := range p.indexes {
|
|
139
|
+
|
|
140
|
+
// look at the bracket type for each character
|
|
141
|
+
if pairTypes[index] == bpNone || p.codesIsolatedRun[i] != ON {
|
|
142
|
+
// continue scanning
|
|
143
|
+
continue
|
|
144
|
+
}
|
|
145
|
+
switch pairTypes[index] {
|
|
146
|
+
case bpOpen:
|
|
147
|
+
// check if maximum pairing depth reached
|
|
148
|
+
if p.openers.Len() == maxPairingDepth {
|
|
149
|
+
p.openers.Init()
|
|
150
|
+
return
|
|
151
|
+
}
|
|
152
|
+
// remember opener location, most recent first
|
|
153
|
+
p.openers.PushFront(i)
|
|
154
|
+
|
|
155
|
+
case bpClose:
|
|
156
|
+
// see if there is a match
|
|
157
|
+
count := 0
|
|
158
|
+
for elem := p.openers.Front(); elem != nil; elem = elem.Next() {
|
|
159
|
+
count++
|
|
160
|
+
opener := elem.Value.(int)
|
|
161
|
+
if p.matchOpener(pairValues, opener, i) {
|
|
162
|
+
// if the opener matches, add nested pair to the ordered list
|
|
163
|
+
p.pairPositions = append(p.pairPositions, bracketPair{opener, i})
|
|
164
|
+
// remove up to and including matched opener
|
|
165
|
+
for ; count > 0; count-- {
|
|
166
|
+
p.openers.Remove(p.openers.Front())
|
|
167
|
+
}
|
|
168
|
+
break
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
sort.Sort(p.pairPositions)
|
|
172
|
+
// if we get here, the closing bracket matched no openers
|
|
173
|
+
// and gets ignored
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// Bracket pairs within an isolating run sequence are processed as units so
|
|
179
|
+
// that both the opening and the closing paired bracket in a pair resolve to
|
|
180
|
+
// the same direction.
|
|
181
|
+
//
|
|
182
|
+
// N0. Process bracket pairs in an isolating run sequence sequentially in
|
|
183
|
+
// the logical order of the text positions of the opening paired brackets
|
|
184
|
+
// using the logic given below. Within this scope, bidirectional types EN
|
|
185
|
+
// and AN are treated as R.
|
|
186
|
+
//
|
|
187
|
+
// Identify the bracket pairs in the current isolating run sequence
|
|
188
|
+
// according to BD16. For each bracket-pair element in the list of pairs of
|
|
189
|
+
// text positions:
|
|
190
|
+
//
|
|
191
|
+
// a Inspect the bidirectional types of the characters enclosed within the
|
|
192
|
+
// bracket pair.
|
|
193
|
+
//
|
|
194
|
+
// b If any strong type (either L or R) matching the embedding direction is
|
|
195
|
+
// found, set the type for both brackets in the pair to match the embedding
|
|
196
|
+
// direction.
|
|
197
|
+
//
|
|
198
|
+
// o [ e ] o -> o e e e o
|
|
199
|
+
//
|
|
200
|
+
// o [ o e ] -> o e o e e
|
|
201
|
+
//
|
|
202
|
+
// o [ NI e ] -> o e NI e e
|
|
203
|
+
//
|
|
204
|
+
// c Otherwise, if a strong type (opposite the embedding direction) is
|
|
205
|
+
// found, test for adjacent strong types as follows: 1 First, check
|
|
206
|
+
// backwards before the opening paired bracket until the first strong type
|
|
207
|
+
// (L, R, or sos) is found. If that first preceding strong type is opposite
|
|
208
|
+
// the embedding direction, then set the type for both brackets in the pair
|
|
209
|
+
// to that type. 2 Otherwise, set the type for both brackets in the pair to
|
|
210
|
+
// the embedding direction.
|
|
211
|
+
//
|
|
212
|
+
// o [ o ] e -> o o o o e
|
|
213
|
+
//
|
|
214
|
+
// o [ o NI ] o -> o o o NI o o
|
|
215
|
+
//
|
|
216
|
+
// e [ o ] o -> e e o e o
|
|
217
|
+
//
|
|
218
|
+
// e [ o ] e -> e e o e e
|
|
219
|
+
//
|
|
220
|
+
// e ( o [ o ] NI ) e -> e e o o o o NI e e
|
|
221
|
+
//
|
|
222
|
+
// d Otherwise, do not set the type for the current bracket pair. Note that
|
|
223
|
+
// if the enclosed text contains no strong types the paired brackets will
|
|
224
|
+
// both resolve to the same level when resolved individually using rules N1
|
|
225
|
+
// and N2.
|
|
226
|
+
//
|
|
227
|
+
// e ( NI ) o -> e ( NI ) o
|
|
228
|
+
|
|
229
|
+
// getStrongTypeN0 maps character's directional code to strong type as required
|
|
230
|
+
// by rule N0.
|
|
231
|
+
//
|
|
232
|
+
// TODO: have separate type for "strong" directionality.
|
|
233
|
+
func (p *bracketPairer) getStrongTypeN0(index int) Class {
|
|
234
|
+
switch p.codesIsolatedRun[index] {
|
|
235
|
+
// in the scope of N0, number types are treated as R
|
|
236
|
+
case EN, AN, AL, R:
|
|
237
|
+
return R
|
|
238
|
+
case L:
|
|
239
|
+
return L
|
|
240
|
+
default:
|
|
241
|
+
return ON
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
// classifyPairContent reports the strong types contained inside a Bracket Pair,
|
|
246
|
+
// assuming the given embedding direction.
|
|
247
|
+
//
|
|
248
|
+
// It returns ON if no strong type is found. If a single strong type is found,
|
|
249
|
+
// it returns this type. Otherwise it returns the embedding direction.
|
|
250
|
+
//
|
|
251
|
+
// TODO: use separate type for "strong" directionality.
|
|
252
|
+
func (p *bracketPairer) classifyPairContent(loc bracketPair, dirEmbed Class) Class {
|
|
253
|
+
dirOpposite := ON
|
|
254
|
+
for i := loc.opener + 1; i < loc.closer; i++ {
|
|
255
|
+
dir := p.getStrongTypeN0(i)
|
|
256
|
+
if dir == ON {
|
|
257
|
+
continue
|
|
258
|
+
}
|
|
259
|
+
if dir == dirEmbed {
|
|
260
|
+
return dir // type matching embedding direction found
|
|
261
|
+
}
|
|
262
|
+
dirOpposite = dir
|
|
263
|
+
}
|
|
264
|
+
// return ON if no strong type found, or class opposite to dirEmbed
|
|
265
|
+
return dirOpposite
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
// classBeforePair determines which strong types are present before a Bracket
|
|
269
|
+
// Pair. Return R or L if strong type found, otherwise ON.
|
|
270
|
+
func (p *bracketPairer) classBeforePair(loc bracketPair) Class {
|
|
271
|
+
for i := loc.opener - 1; i >= 0; i-- {
|
|
272
|
+
if dir := p.getStrongTypeN0(i); dir != ON {
|
|
273
|
+
return dir
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
// no strong types found, return sos
|
|
277
|
+
return p.sos
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// assignBracketType implements rule N0 for a single bracket pair.
|
|
281
|
+
func (p *bracketPairer) assignBracketType(loc bracketPair, dirEmbed Class, initialTypes []Class) {
|
|
282
|
+
// rule "N0, a", inspect contents of pair
|
|
283
|
+
dirPair := p.classifyPairContent(loc, dirEmbed)
|
|
284
|
+
|
|
285
|
+
// dirPair is now L, R, or N (no strong type found)
|
|
286
|
+
|
|
287
|
+
// the following logical tests are performed out of order compared to
|
|
288
|
+
// the statement of the rules but yield the same results
|
|
289
|
+
if dirPair == ON {
|
|
290
|
+
return // case "d" - nothing to do
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
if dirPair != dirEmbed {
|
|
294
|
+
// case "c": strong type found, opposite - check before (c.1)
|
|
295
|
+
dirPair = p.classBeforePair(loc)
|
|
296
|
+
if dirPair == dirEmbed || dirPair == ON {
|
|
297
|
+
// no strong opposite type found before - use embedding (c.2)
|
|
298
|
+
dirPair = dirEmbed
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
// else: case "b", strong type found matching embedding,
|
|
302
|
+
// no explicit action needed, as dirPair is already set to embedding
|
|
303
|
+
// direction
|
|
304
|
+
|
|
305
|
+
// set the bracket types to the type found
|
|
306
|
+
p.setBracketsToType(loc, dirPair, initialTypes)
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
func (p *bracketPairer) setBracketsToType(loc bracketPair, dirPair Class, initialTypes []Class) {
|
|
310
|
+
p.codesIsolatedRun[loc.opener] = dirPair
|
|
311
|
+
p.codesIsolatedRun[loc.closer] = dirPair
|
|
312
|
+
|
|
313
|
+
for i := loc.opener + 1; i < loc.closer; i++ {
|
|
314
|
+
index := p.indexes[i]
|
|
315
|
+
if initialTypes[index] != NSM {
|
|
316
|
+
break
|
|
317
|
+
}
|
|
318
|
+
p.codesIsolatedRun[i] = dirPair
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
for i := loc.closer + 1; i < len(p.indexes); i++ {
|
|
322
|
+
index := p.indexes[i]
|
|
323
|
+
if initialTypes[index] != NSM {
|
|
324
|
+
break
|
|
325
|
+
}
|
|
326
|
+
p.codesIsolatedRun[i] = dirPair
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
// resolveBrackets implements rule N0 for a list of pairs.
|
|
331
|
+
func (p *bracketPairer) resolveBrackets(dirEmbed Class, initialTypes []Class) {
|
|
332
|
+
for _, loc := range p.pairPositions {
|
|
333
|
+
p.assignBracketType(loc, dirEmbed, initialTypes)
|
|
334
|
+
}
|
|
335
|
+
}
|