]> nmode's Git Repositories - signal-cli/blobdiff - graalvm-config-dir/reflect-config.json
Decrypt and verify the profile payment address
[signal-cli] / graalvm-config-dir / reflect-config.json
index 80bc0de01c9cb9c335c7085a45ffce609a6151f9..6d5df0d0cec9b8b84fe92be4f163d7bc468c2bbd 100644 (file)
 {
   "name":"[B",
   "queryAllDeclaredMethods":true,
-  "queryAllPublicMethods":true}
-,
+  "queryAllPublicMethods":true
+},
 {
-  "name":"[C"}
-,
+  "name":"[C"
+},
 {
   "name":"[I",
   "queryAllDeclaredMethods":true,
-  "queryAllPublicMethods":true}
-,
+  "queryAllPublicMethods":true
+},
 {
-  "name":"[J"}
-,
+  "name":"[J"
+},
 {
-  "name":"[Ljava.lang.String;"}
-,
+  "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;"
+},
 {
-  "name":"[Lorg.whispersystems.signalservice.api.groupsv2.TemporalCredential;"}
-,
+  "name":"[Ljava.lang.String;"
+},
 {
-  "name":"[Lorg.whispersystems.signalservice.internal.push.GroupMismatchedDevices;"}
-,
+  "name":"[Ljava.sql.Statement;"
+},
 {
-  "name":"[Lorg.whispersystems.signalservice.internal.push.GroupStaleDevices;"}
-,
+  "name":"[Lorg.whispersystems.signalservice.api.groupsv2.TemporalCredential;"
+},
+{
+  "name":"[Lorg.whispersystems.signalservice.internal.push.GroupMismatchedDevices;"
+},
+{
+  "name":"[Lorg.whispersystems.signalservice.internal.push.GroupStaleDevices;"
+},
 {
   "name":"byte[]",
   "allDeclaredMethods":true,
-  "allPublicMethods":true}
-,
+  "allPublicMethods":true
+},
+{
+  "name":"ch.qos.logback.classic.pattern.DateConverter",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"ch.qos.logback.classic.pattern.LevelConverter",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"ch.qos.logback.classic.pattern.LineSeparatorConverter",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"ch.qos.logback.classic.pattern.LoggerConverter",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"ch.qos.logback.classic.pattern.MessageConverter",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
-  "name":"char[]"}
-,
+  "name":"ch.qos.logback.classic.pattern.ThreadConverter",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"char[]"
+},
 {
   "name":"com.fasterxml.jackson.databind.ext.Java7HandlersImpl",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"com.fasterxml.jackson.databind.ext.Java7SupportImpl",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"com.google.protobuf.AbstractProtobufList",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"com.google.protobuf.GeneratedMessageLite",
-  "fields":[{"name":"unknownFields"}]}
-,
+  "fields":[{"name":"unknownFields"}]
+},
 {
   "name":"com.google.protobuf.Internal$LongList",
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"com.google.protobuf.Internal$ProtobufList",
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"com.google.protobuf.LongArrayList",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"com.google.protobuf.PrimitiveNonBoxingCollection",
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"com.sun.crypto.provider.AESCipher$General",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"com.sun.crypto.provider.ARCFOURCipher",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"com.sun.crypto.provider.ChaCha20Cipher$ChaCha20Poly1305",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"com.sun.crypto.provider.DESCipher",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"com.sun.crypto.provider.DESedeCipher",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"com.sun.crypto.provider.DHParameters",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"com.sun.crypto.provider.GaloisCounterMode$AESGCM",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"com.sun.crypto.provider.HmacCore$HmacSHA256",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"com.sun.crypto.provider.HmacCore$HmacSHA384",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"com.sun.crypto.provider.TlsKeyMaterialGenerator",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"com.sun.crypto.provider.TlsMasterSecretGenerator",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"com.sun.crypto.provider.TlsPrfGenerator$V12",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"com.zaxxer.hikari.HikariConfig",
+  "allDeclaredFields":true,
+  "queryAllPublicMethods":true,
+  "methods":[
+    {"name":"getCatalog","parameterTypes":[] }, 
+    {"name":"getConnectionInitSql","parameterTypes":[] }, 
+    {"name":"getConnectionTestQuery","parameterTypes":[] }, 
+    {"name":"getConnectionTimeout","parameterTypes":[] }, 
+    {"name":"getDataSource","parameterTypes":[] }, 
+    {"name":"getDataSourceClassName","parameterTypes":[] }, 
+    {"name":"getDataSourceJNDI","parameterTypes":[] }, 
+    {"name":"getDataSourceProperties","parameterTypes":[] }, 
+    {"name":"getDriverClassName","parameterTypes":[] }, 
+    {"name":"getExceptionOverrideClassName","parameterTypes":[] }, 
+    {"name":"getHealthCheckProperties","parameterTypes":[] }, 
+    {"name":"getHealthCheckRegistry","parameterTypes":[] }, 
+    {"name":"getIdleTimeout","parameterTypes":[] }, 
+    {"name":"getInitializationFailTimeout","parameterTypes":[] }, 
+    {"name":"getJdbcUrl","parameterTypes":[] }, 
+    {"name":"getKeepaliveTime","parameterTypes":[] }, 
+    {"name":"getLeakDetectionThreshold","parameterTypes":[] }, 
+    {"name":"getMaxLifetime","parameterTypes":[] }, 
+    {"name":"getMaximumPoolSize","parameterTypes":[] }, 
+    {"name":"getMetricRegistry","parameterTypes":[] }, 
+    {"name":"getMetricsTrackerFactory","parameterTypes":[] }, 
+    {"name":"getMinimumIdle","parameterTypes":[] }, 
+    {"name":"getPassword","parameterTypes":[] }, 
+    {"name":"getPoolName","parameterTypes":[] }, 
+    {"name":"getScheduledExecutor","parameterTypes":[] }, 
+    {"name":"getSchema","parameterTypes":[] }, 
+    {"name":"getThreadFactory","parameterTypes":[] }, 
+    {"name":"getTransactionIsolation","parameterTypes":[] }, 
+    {"name":"getUsername","parameterTypes":[] }, 
+    {"name":"getValidationTimeout","parameterTypes":[] }, 
+    {"name":"isAllowPoolSuspension","parameterTypes":[] }, 
+    {"name":"isAutoCommit","parameterTypes":[] }, 
+    {"name":"isIsolateInternalQueries","parameterTypes":[] }, 
+    {"name":"isReadOnly","parameterTypes":[] }, 
+    {"name":"isRegisterMbeans","parameterTypes":[] }
+  ]
+},
 {
   "name":"int",
   "allDeclaredMethods":true,
-  "allPublicMethods":true}
-,
+  "allPublicMethods":true
+},
 {
   "name":"int[]",
   "allDeclaredMethods":true,
-  "allPublicMethods":true}
-,
+  "allPublicMethods":true
+},
+{
+  "name":"java.io.File",
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]
+},
+{
+  "name":"java.io.FilePermission"
+},
 {
   "name":"java.io.Serializable",
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"java.lang.Boolean",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"java.lang.Class",
-  "methods":[{"name":"getRecordComponents","parameterTypes":[] }]}
-,
+  "methods":[{"name":"getRecordComponents","parameterTypes":[] }]
+},
 {
   "name":"java.lang.Comparable",
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"java.lang.Double",
-  "methods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]}
-,
+  "methods":[{"name":"valueOf","parameterTypes":["java.lang.String"] }]
+},
 {
   "name":"java.lang.Enum",
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"java.lang.Integer",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"java.lang.Iterable",
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"java.lang.Long",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"java.lang.Number",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"java.lang.Record",
   "allDeclaredFields":true,
-  "queryAllDeclaredMethods":true}
-,
+  "queryAllDeclaredMethods":true
+},
+{
+  "name":"java.lang.RuntimePermission"
+},
 {
   "name":"java.lang.String",
-  "allPublicMethods":true}
-,
+  "allPublicMethods":true
+},
 {
   "name":"java.lang.Throwable",
   "queryAllPublicMethods":true,
-  "methods":[{"name":"addSuppressed","parameterTypes":["java.lang.Throwable"] }]}
-,
+  "methods":[
+    {"name":"addSuppressed","parameterTypes":["java.lang.Throwable"] }, 
+    {"name":"getSuppressed","parameterTypes":[] }
+  ]
+},
 {
   "name":"java.lang.reflect.Method",
-  "methods":[{"name":"isDefault","parameterTypes":[] }]}
-,
+  "methods":[{"name":"isDefault","parameterTypes":[] }]
+},
 {
   "name":"java.lang.reflect.RecordComponent",
   "methods":[
     {"name":"getName","parameterTypes":[] }, 
     {"name":"getType","parameterTypes":[] }
-  ]}
-,
+  ]
+},
+{
+  "name":"java.net.NetPermission"
+},
+{
+  "name":"java.net.SocketPermission"
+},
+{
+  "name":"java.net.URLPermission",
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String","java.lang.String"] }]
+},
 {
   "name":"java.nio.Buffer",
   "allDeclaredMethods":true,
-  "fields":[{"name":"address"}]}
-,
+  "fields":[{"name":"address"}]
+},
 {
   "name":"java.nio.ByteBuffer",
   "allDeclaredMethods":true,
-  "allPublicMethods":true}
-,
+  "allPublicMethods":true
+},
 {
-  "name":"java.security.KeyStoreSpi"}
-,
+  "name":"java.security.AllPermission"
+},
 {
-  "name":"java.security.SecureRandomParameters"}
-,
+  "name":"java.security.KeyStoreSpi"
+},
 {
-  "name":"java.security.cert.PKIXRevocationChecker"}
-,
+  "name":"java.security.SecureRandomParameters"
+},
 {
-  "name":"java.security.interfaces.ECPrivateKey"}
-,
+  "name":"java.security.SecurityPermission"
+},
 {
-  "name":"java.security.interfaces.ECPublicKey"}
-,
+  "name":"java.security.cert.PKIXRevocationChecker"
+},
 {
-  "name":"java.security.interfaces.RSAPrivateKey"}
-,
+  "name":"java.security.interfaces.ECPrivateKey"
+},
 {
-  "name":"java.security.interfaces.RSAPublicKey"}
-,
+  "name":"java.security.interfaces.ECPublicKey"
+},
+{
+  "name":"java.security.interfaces.RSAPrivateKey"
+},
+{
+  "name":"java.security.interfaces.RSAPublicKey"
+},
 {
   "name":"java.util.AbstractCollection",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"java.util.AbstractList",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"java.util.ArrayList",
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"java.util.Collection",
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"java.util.HashSet",
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"java.util.LinkedHashMap",
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"java.util.List",
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"java.util.Locale",
-  "methods":[{"name":"getUnicodeLocaleType","parameterTypes":["java.lang.String"] }]}
-,
+  "methods":[{"name":"getUnicodeLocaleType","parameterTypes":["java.lang.String"] }]
+},
 {
   "name":"java.util.Optional",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
-  "queryAllDeclaredConstructors":true}
-,
+  "queryAllDeclaredConstructors":true
+},
+{
+  "name":"java.util.PropertyPermission"
+},
 {
   "name":"java.util.RandomAccess",
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"java.util.UUID",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"javax.security.auth.x500.X500Principal",
-  "methods":[{"name":"<init>","parameterTypes":["sun.security.x509.X500Name"] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":["sun.security.x509.X500Name"] }]
+},
 {
   "name":"long",
   "allDeclaredMethods":true,
-  "allPublicMethods":true}
-,
+  "allPublicMethods":true
+},
 {
-  "name":"long[]"}
-,
+  "name":"long[]"
+},
 {
   "name":"org.asamk.Signal",
   "allDeclaredMethods":true,
-  "allDeclaredClasses":true}
-,
+  "allDeclaredClasses":true
+},
 {
   "name":"org.asamk.Signal$Configuration",
   "allDeclaredClasses":true,
-  "queryAllDeclaredMethods":true}
-,
+  "queryAllDeclaredMethods":true
+},
 {
   "name":"org.asamk.Signal$Device",
   "allDeclaredMethods":true,
-  "allDeclaredClasses":true}
-,
+  "allDeclaredClasses":true
+},
+{
+  "name":"org.asamk.Signal$Error$AttachmentInvalid",
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]
+},
 {
   "name":"org.asamk.Signal$Error$Failure",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]
+},
+{
+  "name":"org.asamk.Signal$Error$LastGroupAdmin",
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]
+},
 {
   "name":"org.asamk.Signal$Error$UntrustedIdentity",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]
+},
 {
   "name":"org.asamk.Signal$Group",
   "allDeclaredMethods":true,
-  "allDeclaredClasses":true}
-,
+  "allDeclaredClasses":true
+},
 {
   "name":"org.asamk.Signal$MessageReceived",
   "allDeclaredConstructors":true,
-  "allPublicConstructors":true}
-,
+  "allPublicConstructors":true
+},
 {
   "name":"org.asamk.Signal$MessageReceivedV2",
   "queryAllDeclaredConstructors":true,
   "queryAllPublicConstructors":true,
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.String","long","java.lang.String","byte[]","java.lang.String","java.util.Map"] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String","long","java.lang.String","byte[]","java.lang.String","java.util.Map"] }]
+},
 {
   "name":"org.asamk.Signal$ReceiptReceived",
   "allDeclaredConstructors":true,
-  "allPublicConstructors":true}
-,
+  "allPublicConstructors":true
+},
 {
   "name":"org.asamk.Signal$ReceiptReceivedV2",
   "queryAllDeclaredConstructors":true,
   "queryAllPublicConstructors":true,
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.String","long","java.lang.String","java.lang.String","java.util.Map"] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String","long","java.lang.String","java.lang.String","java.util.Map"] }]
+},
 {
   "name":"org.asamk.Signal$StructDevice",
   "allDeclaredFields":true,
   "queryAllDeclaredConstructors":true,
-  "methods":[{"name":"<init>","parameterTypes":["org.freedesktop.dbus.DBusPath","java.lang.Long","java.lang.String"] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":["org.freedesktop.dbus.DBusPath","java.lang.Long","java.lang.String"] }]
+},
 {
   "name":"org.asamk.Signal$StructGroup",
-  "allDeclaredFields":true}
-,
+  "allDeclaredFields":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[{"name":"<init>","parameterTypes":["org.freedesktop.dbus.DBusPath","byte[]","java.lang.String"] }]
+},
 {
   "name":"org.asamk.Signal$SyncMessageReceived",
   "allDeclaredConstructors":true,
-  "allPublicConstructors":true}
-,
+  "allPublicConstructors":true
+},
 {
   "name":"org.asamk.Signal$SyncMessageReceivedV2",
   "queryAllDeclaredConstructors":true,
-  "queryAllPublicConstructors":true}
-,
+  "queryAllPublicConstructors":true,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String","long","java.lang.String","java.lang.String","byte[]","java.lang.String","java.util.Map"] }]
+},
 {
   "name":"org.asamk.SignalControl",
   "allDeclaredMethods":true,
-  "allDeclaredClasses":true}
-,
+  "allDeclaredClasses":true
+},
+{
+  "name":"org.asamk.SignalControl$Error$Failure",
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]
+},
 {
   "name":"org.asamk.signal.commands.FinishLinkCommand$FinishLinkParams",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.String","java.lang.String"] }]}
-,
+  "methods":[
+    {"name":"<init>","parameterTypes":["java.lang.String","java.lang.String"] }, 
+    {"name":"deviceLinkUri","parameterTypes":[] }, 
+    {"name":"deviceName","parameterTypes":[] }
+  ]
+},
 {
   "name":"org.asamk.signal.commands.FinishLinkCommand$JsonFinishLink",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
-  "methods":[{"name":"number","parameterTypes":[] }]}
-,
+  "methods":[{"name":"number","parameterTypes":[] }]
+},
 {
   "name":"org.asamk.signal.commands.GetUserStatusCommand$JsonUserStatus",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.commands.ListAccountsCommand$JsonAccount",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
-  "methods":[{"name":"number","parameterTypes":[] }]}
-,
+  "methods":[{"name":"number","parameterTypes":[] }]
+},
 {
   "name":"org.asamk.signal.commands.ListContactsCommand$JsonContact",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
+{
+  "name":"org.asamk.signal.commands.ListContactsCommand$JsonContact$JsonProfile",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[
+    {"name":"about","parameterTypes":[] }, 
+    {"name":"aboutEmoji","parameterTypes":[] }, 
+    {"name":"familyName","parameterTypes":[] }, 
+    {"name":"givenName","parameterTypes":[] }, 
+    {"name":"lastUpdateTimestamp","parameterTypes":[] }, 
+    {"name":"mobileCoinAddress","parameterTypes":[] }
+  ]
+},
 {
   "name":"org.asamk.signal.commands.ListDevicesCommand$JsonDevice",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.commands.ListGroupsCommand$JsonGroup",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.commands.ListGroupsCommand$JsonGroupMember",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.commands.ListIdentitiesCommand$JsonIdentity",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
+{
+  "name":"org.asamk.signal.commands.ListStickerPacksCommand$JsonStickerPack",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[
+    {"name":"author","parameterTypes":[] }, 
+    {"name":"cover","parameterTypes":[] }, 
+    {"name":"installed","parameterTypes":[] }, 
+    {"name":"packId","parameterTypes":[] }, 
+    {"name":"stickers","parameterTypes":[] }, 
+    {"name":"title","parameterTypes":[] }, 
+    {"name":"url","parameterTypes":[] }
+  ]
+},
+{
+  "name":"org.asamk.signal.commands.ListStickerPacksCommand$JsonStickerPack$JsonSticker",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[
+    {"name":"contentType","parameterTypes":[] }, 
+    {"name":"emoji","parameterTypes":[] }, 
+    {"name":"id","parameterTypes":[] }
+  ]
+},
 {
   "name":"org.asamk.signal.commands.RegisterCommand$RegistrationParams",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.String"] }]}
-,
+  "methods":[
+    {"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.String"] }, 
+    {"name":"captcha","parameterTypes":[] }, 
+    {"name":"voice","parameterTypes":[] }
+  ]
+},
 {
   "name":"org.asamk.signal.commands.StartLinkCommand$JsonLink",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
-  "methods":[{"name":"deviceLinkUri","parameterTypes":[] }]}
-,
+  "methods":[{"name":"deviceLinkUri","parameterTypes":[] }]
+},
 {
   "name":"org.asamk.signal.commands.VerifyCommand$VerifyParams",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.String","java.lang.String"] }]}
-,
+  "methods":[
+    {"name":"<init>","parameterTypes":["java.lang.String","java.lang.String"] }, 
+    {"name":"pin","parameterTypes":[] }, 
+    {"name":"verificationCode","parameterTypes":[] }
+  ]
+},
 {
   "name":"org.asamk.signal.json.JsonAttachment",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonCallMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonCallMessage$Answer",
   "allDeclaredFields":true,
     {"name":"id","parameterTypes":[] }, 
     {"name":"opaque","parameterTypes":[] }, 
     {"name":"sdp","parameterTypes":[] }
-  ]}
-,
+  ]
+},
 {
   "name":"org.asamk.signal.json.JsonCallMessage$Busy",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
-  "methods":[{"name":"id","parameterTypes":[] }]}
-,
+  "methods":[{"name":"id","parameterTypes":[] }]
+},
 {
   "name":"org.asamk.signal.json.JsonCallMessage$Hangup",
   "allDeclaredFields":true,
     {"name":"id","parameterTypes":[] }, 
     {"name":"isLegacy","parameterTypes":[] }, 
     {"name":"type","parameterTypes":[] }
-  ]}
-,
+  ]
+},
 {
   "name":"org.asamk.signal.json.JsonCallMessage$IceUpdate",
   "allDeclaredFields":true,
     {"name":"id","parameterTypes":[] }, 
     {"name":"opaque","parameterTypes":[] }, 
     {"name":"sdp","parameterTypes":[] }
-  ]}
-,
+  ]
+},
 {
   "name":"org.asamk.signal.json.JsonCallMessage$Offer",
   "allDeclaredFields":true,
     {"name":"opaque","parameterTypes":[] }, 
     {"name":"sdp","parameterTypes":[] }, 
     {"name":"type","parameterTypes":[] }
-  ]}
-,
+  ]
+},
 {
   "name":"org.asamk.signal.json.JsonContactAddress",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonContactAvatar",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonContactEmail",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonContactName",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonContactPhone",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonDataMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonError",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonGroupInfo",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonMention",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonMessageEnvelope",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonPayment",
   "allDeclaredFields":true,
   "methods":[
     {"name":"note","parameterTypes":[] }, 
     {"name":"receipt","parameterTypes":[] }
-  ]}
-,
+  ]
+},
 {
   "name":"org.asamk.signal.json.JsonQuote",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonQuotedAttachment",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonReaction",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonReceiptMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonRecipientAddress",
   "allDeclaredFields":true,
   "methods":[
     {"name":"number","parameterTypes":[] }, 
     {"name":"uuid","parameterTypes":[] }
-  ]}
-,
+  ]
+},
 {
   "name":"org.asamk.signal.json.JsonRemoteDelete",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonSendMessageResult",
   "allDeclaredFields":true,
     {"name":"retryAfterSeconds","parameterTypes":[] }, 
     {"name":"token","parameterTypes":[] }, 
     {"name":"type","parameterTypes":[] }
-  ]}
-,
+  ]
+},
 {
   "name":"org.asamk.signal.json.JsonSendMessageResult$Type",
   "allDeclaredFields":true,
-  "queryAllDeclaredMethods":true}
-,
+  "queryAllDeclaredMethods":true
+},
 {
   "name":"org.asamk.signal.json.JsonSharedContact",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonSticker",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonSyncDataMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonSyncMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonSyncMessageType",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"org.asamk.signal.json.JsonSyncReadMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.json.JsonTypingMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.jsonrpc.JsonRpcBatchMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.jsonrpc.JsonRpcException",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.jsonrpc.JsonRpcMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.jsonrpc.JsonRpcRequest",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.jsonrpc.JsonRpcResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.jsonrpc.JsonRpcResponse$Error",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
-  "name":"org.asamk.signal.manager.JsonStickerPack",
+  "name":"org.asamk.signal.manager.api.PhoneNumberSharingMode",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true
+},
+{
+  "name":"org.asamk.signal.manager.storage.accounts.AccountsStorage",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
   "methods":[
-    {"name":"author","parameterTypes":[] }, 
-    {"name":"cover","parameterTypes":[] }, 
-    {"name":"stickers","parameterTypes":[] }, 
-    {"name":"title","parameterTypes":[] }
-  ]}
-,
+    {"name":"<init>","parameterTypes":["java.util.List"] }, 
+    {"name":"accounts","parameterTypes":[] }
+  ]
+},
 {
-  "name":"org.asamk.signal.manager.JsonStickerPack$JsonSticker",
+  "name":"org.asamk.signal.manager.storage.accounts.AccountsStorage$Account",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
   "methods":[
-    {"name":"contentType","parameterTypes":[] }, 
-    {"name":"emoji","parameterTypes":[] }, 
-    {"name":"file","parameterTypes":[] }
-  ]}
-,
-{
-  "name":"org.asamk.signal.manager.api.PhoneNumberSharingMode",
-  "allDeclaredFields":true,
-  "queryAllDeclaredMethods":true}
-,
+    {"name":"<init>","parameterTypes":["java.lang.String","java.lang.String","java.lang.String"] }, 
+    {"name":"number","parameterTypes":[] }, 
+    {"name":"path","parameterTypes":[] }, 
+    {"name":"uuid","parameterTypes":[] }
+  ]
+},
 {
   "name":"org.asamk.signal.manager.storage.configuration.ConfigurationStore$Storage",
   "allDeclaredFields":true,
     {"name":"readReceipts","parameterTypes":[] }, 
     {"name":"typingIndicators","parameterTypes":[] }, 
     {"name":"unidentifiedDeliveryIndicators","parameterTypes":[] }
-  ]}
-,
+  ]
+},
 {
   "name":"org.asamk.signal.manager.storage.contacts.LegacyContactInfo",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
-  "queryAllDeclaredConstructors":true}
-,
+  "queryAllDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.contacts.LegacyJsonContactsStore",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
   "allDeclaredConstructors":true,
-  "fields":[{"name":"contacts", "allowWrite":true}]}
-,
+  "fields":[{"name":"contacts", "allowWrite":true}]
+},
 {
   "name":"org.asamk.signal.manager.storage.groups.GroupInfo",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"org.asamk.signal.manager.storage.groups.GroupInfoV1",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.groups.GroupStore$GroupsDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.asamk.signal.manager.storage.groups.GroupStore$Storage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.groups.GroupStore$Storage$GroupV1",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.groups.GroupStore$Storage$GroupV1$JsonRecipientAddress",
   "allDeclaredFields":true,
     {"name":"<init>","parameterTypes":["java.lang.String","java.lang.String"] }, 
     {"name":"number","parameterTypes":[] }, 
     {"name":"uuid","parameterTypes":[] }
-  ]}
-,
+  ]
+},
 {
   "name":"org.asamk.signal.manager.storage.groups.GroupStore$Storage$GroupV1$MembersDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.asamk.signal.manager.storage.groups.GroupStore$Storage$GroupV1$MembersSerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.asamk.signal.manager.storage.groups.GroupStore$Storage$GroupV2",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.identities.IdentityKeyStore$IdentityStorage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.profiles.LegacyProfileStore",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
   "allDeclaredConstructors":true,
-  "fields":[{"name":"profiles", "allowWrite":true}]}
-,
+  "fields":[{"name":"profiles", "allowWrite":true}]
+},
 {
   "name":"org.asamk.signal.manager.storage.profiles.LegacyProfileStore$ProfileStoreDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.asamk.signal.manager.storage.profiles.LegacySignalProfileEntry",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.profiles.ProfileStore",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.profiles.SignalProfile",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.profiles.SignalProfile$Capabilities",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.protocol.LegacyJsonIdentityKeyStore$JsonIdentityKeyStoreDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.asamk.signal.manager.storage.protocol.LegacyJsonPreKeyStore$JsonPreKeyStoreDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.asamk.signal.manager.storage.protocol.LegacyJsonSessionStore$JsonSessionStoreDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.asamk.signal.manager.storage.protocol.LegacyJsonSignalProtocolStore",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.protocol.LegacyJsonSignedPreKeyStore$JsonSignedPreKeyStoreDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.asamk.signal.manager.storage.recipients.LegacyRecipientStore",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
   "allDeclaredConstructors":true,
-  "fields":[{"name":"addresses", "allowWrite":true}]}
-,
+  "fields":[{"name":"addresses", "allowWrite":true}]
+},
 {
   "name":"org.asamk.signal.manager.storage.recipients.LegacyRecipientStore$RecipientStoreDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.asamk.signal.manager.storage.recipients.RecipientAddress",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
-  "queryAllDeclaredConstructors":true}
-,
+  "queryAllDeclaredConstructors":true,
+  "methods":[
+    {"name":"number","parameterTypes":[] }, 
+    {"name":"uuid","parameterTypes":[] }
+  ]
+},
 {
   "name":"org.asamk.signal.manager.storage.recipients.RecipientStore$Storage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.recipients.RecipientStore$Storage$Recipient",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.recipients.RecipientStore$Storage$Recipient$Contact",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.recipients.RecipientStore$Storage$Recipient$Profile",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.senderKeys.SenderKeySharedStore$Storage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.senderKeys.SenderKeySharedStore$Storage$SharedSenderKey",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
+{
+  "name":"org.asamk.signal.manager.storage.stickerPacks.JsonStickerPack",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[
+    {"name":"<init>","parameterTypes":["java.lang.String","java.lang.String","org.asamk.signal.manager.storage.stickerPacks.JsonStickerPack$JsonSticker","java.util.List"] }, 
+    {"name":"author","parameterTypes":[] }, 
+    {"name":"cover","parameterTypes":[] }, 
+    {"name":"stickers","parameterTypes":[] }, 
+    {"name":"title","parameterTypes":[] }
+  ]
+},
+{
+  "name":"org.asamk.signal.manager.storage.stickerPacks.JsonStickerPack$JsonSticker",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[
+    {"name":"<init>","parameterTypes":["java.lang.Integer","java.lang.String","java.lang.String","java.lang.String"] }, 
+    {"name":"contentType","parameterTypes":[] }, 
+    {"name":"emoji","parameterTypes":[] }, 
+    {"name":"file","parameterTypes":[] }, 
+    {"name":"id","parameterTypes":[] }
+  ]
+},
 {
   "name":"org.asamk.signal.manager.storage.stickers.StickerStore",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
   "allDeclaredConstructors":true,
-  "fields":[{"name":"stickers", "allowWrite":true}]}
-,
+  "fields":[{"name":"stickers", "allowWrite":true}]
+},
 {
   "name":"org.asamk.signal.manager.storage.stickers.StickerStore$Storage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.manager.storage.stickers.StickerStore$Storage$Sticker",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.asamk.signal.util.SecurityProvider$DefaultRandom",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.COMPOSITE$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.DH$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.DSA$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.DSTU4145$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.EC$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.ECGOST$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.EdEC$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.ElGamal$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.GM$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.GOST$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.IES$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.RSA$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.X509$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.edec.SignatureSpi$Ed25519",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.edec.SignatureSpi$Ed448",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.asymmetric.x509.CertificateFactory",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.Blake2b$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.Blake2s$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.DSTU7564$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.GOST3411$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.Haraka$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.Keccak$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.MD2$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.MD4$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.MD5$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.RIPEMD128$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.RIPEMD160$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.RIPEMD256$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.RIPEMD320$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SHA1$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SHA224$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SHA256$Digest",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SHA256$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SHA3$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SHA384$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SHA512$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.SM3$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.Skein$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.Tiger$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.digest.Whirlpool$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.drbg.DRBG$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.keystore.BC$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.keystore.BCFKS$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.keystore.PKCS12$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$Std",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.AES$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.ARC4$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.ARIA$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Blowfish$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.CAST5$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.CAST6$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Camellia$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.ChaCha$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.DES$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.DESede$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.DSTU7624$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.GOST28147$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.GOST3412_2015$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Grain128$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Grainv1$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.HC128$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.HC256$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.IDEA$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Noekeon$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.OpenSSLPBKDF$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF1$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Poly1305$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.RC2$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.RC5$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.RC6$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Rijndael$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.SCRYPT$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.SEED$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.SM4$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Salsa20$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Serpent$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Shacal2$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.SipHash$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.SipHash128$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Skipjack$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.TEA$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.TLSKDF$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Threefish$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Twofish$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.VMPC$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.VMPCKSA3$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.XSalsa20$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.XTEA$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.jcajce.provider.symmetric.Zuc$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.pqc.jcajce.provider.LMS$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.pqc.jcajce.provider.McEliece$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.pqc.jcajce.provider.NH$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.pqc.jcajce.provider.QTESLA$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.pqc.jcajce.provider.Rainbow$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.pqc.jcajce.provider.SPHINCS$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.bouncycastle.pqc.jcajce.provider.XMSS$Mappings",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.freedesktop.dbus.errors.ServiceUnknown",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]
+},
 {
   "name":"org.freedesktop.dbus.errors.UnknownMethod",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]
+},
 {
   "name":"org.freedesktop.dbus.errors.UnknownObject",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.String"] }]
+},
 {
   "name":"org.freedesktop.dbus.interfaces.DBus$NameAcquired",
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.freedesktop.dbus.interfaces.Introspectable",
   "allDeclaredMethods":true,
-  "allDeclaredClasses":true}
-,
+  "allDeclaredClasses":true
+},
 {
   "name":"org.freedesktop.dbus.interfaces.Peer",
   "allDeclaredMethods":true,
-  "allDeclaredClasses":true}
-,
+  "allDeclaredClasses":true
+},
 {
   "name":"org.freedesktop.dbus.interfaces.Properties",
   "allDeclaredMethods":true,
-  "allDeclaredClasses":true}
-,
+  "allDeclaredClasses":true
+},
 {
   "name":"org.freedesktop.dbus.interfaces.Properties$PropertiesChanged",
-  "allPublicConstructors":true}
-,
+  "allPublicConstructors":true
+},
+{
+  "name":"org.signal.libsignal.protocol.state.IdentityKeyStore",
+  "allDeclaredMethods":true
+},
+{
+  "name":"org.signal.libsignal.protocol.state.PreKeyStore",
+  "allDeclaredMethods":true
+},
+{
+  "name":"org.signal.libsignal.protocol.state.SessionStore",
+  "allDeclaredMethods":true
+},
+{
+  "name":"org.signal.libsignal.protocol.state.SignalProtocolStore",
+  "allDeclaredMethods":true
+},
+{
+  "name":"org.signal.libsignal.protocol.state.SignedPreKeyStore",
+  "allDeclaredMethods":true
+},
+{
+  "name":"org.signal.libsignal.zkgroup.internal.ByteArray",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true
+},
+{
+  "name":"org.signal.libsignal.zkgroup.profiles.ProfileKey",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true
+},
+{
+  "name":"org.signal.libsignal.zkgroup.profiles.ProfileKeyCredential",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true
+},
 {
   "name":"org.signal.storageservice.protos.groups.AccessControl",
   "fields":[
     {"name":"addFromInviteLink_"}, 
     {"name":"attributes_"}, 
     {"name":"members_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.AvatarUploadAttributes",
   "fields":[
     {"name":"key_"}, 
     {"name":"policy_"}, 
     {"name":"signature_"}
-  ]}
-,
+  ]
+},
+{
+  "name":"org.signal.storageservice.protos.groups.BannedMember",
+  "fields":[
+    {"name":"timestamp_"}, 
+    {"name":"userId_"}
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.Group",
   "fields":[
     {"name":"accessControl_"}, 
     {"name":"announcementsOnly_"}, 
     {"name":"avatar_"}, 
+    {"name":"bannedMembers_"}, 
     {"name":"description_"}, 
     {"name":"disappearingMessagesTimer_"}, 
     {"name":"inviteLinkPassword_"}, 
     {"name":"requestingMembers_"}, 
     {"name":"revision_"}, 
     {"name":"title_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupAttributeBlob",
   "fields":[
     {"name":"contentCase_"}, 
     {"name":"content_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange",
   "fields":[
     {"name":"actions_"}, 
     {"name":"changeEpoch_"}, 
     {"name":"serverSignature_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions",
   "fields":[
+    {"name":"addBannedMembers_"}, 
     {"name":"addMembers_"}, 
     {"name":"addPendingMembers_"}, 
     {"name":"addRequestingMembers_"}, 
+    {"name":"deleteBannedMembers_"}, 
     {"name":"deleteMembers_"}, 
     {"name":"deletePendingMembers_"}, 
     {"name":"deleteRequestingMembers_"}, 
     {"name":"promoteRequestingMembers_"}, 
     {"name":"revision_"}, 
     {"name":"sourceUuid_"}
-  ]}
-,
+  ]
+},
+{
+  "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$AddBannedMemberAction",
+  "fields":[{"name":"added_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$AddMemberAction",
   "fields":[
     {"name":"added_"}, 
     {"name":"joinFromInviteLink_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$AddPendingMemberAction",
-  "fields":[{"name":"added_"}]}
-,
+  "fields":[{"name":"added_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$AddRequestingMemberAction",
-  "fields":[{"name":"added_"}]}
-,
+  "fields":[{"name":"added_"}]
+},
+{
+  "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$DeleteBannedMemberAction",
+  "fields":[{"name":"deletedUserId_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$DeleteMemberAction",
-  "fields":[{"name":"deletedUserId_"}]}
-,
+  "fields":[{"name":"deletedUserId_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$DeletePendingMemberAction",
-  "fields":[{"name":"deletedUserId_"}]}
-,
+  "fields":[{"name":"deletedUserId_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$DeleteRequestingMemberAction",
-  "fields":[{"name":"deletedUserId_"}]}
-,
+  "fields":[{"name":"deletedUserId_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyAddFromInviteLinkAccessControlAction",
-  "fields":[{"name":"addFromInviteLinkAccess_"}]}
-,
+  "fields":[{"name":"addFromInviteLinkAccess_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyAnnouncementsOnlyAction",
-  "fields":[{"name":"announcementsOnly_"}]}
-,
+  "fields":[{"name":"announcementsOnly_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyAttributesAccessControlAction",
-  "fields":[{"name":"attributesAccess_"}]}
-,
+  "fields":[{"name":"attributesAccess_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyAvatarAction",
-  "fields":[{"name":"avatar_"}]}
-,
+  "fields":[{"name":"avatar_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyDescriptionAction",
-  "fields":[{"name":"description_"}]}
-,
+  "fields":[{"name":"description_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyDisappearingMessagesTimerAction",
-  "fields":[{"name":"timer_"}]}
-,
+  "fields":[{"name":"timer_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyInviteLinkPasswordAction",
-  "fields":[{"name":"inviteLinkPassword_"}]}
-,
+  "fields":[{"name":"inviteLinkPassword_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyMemberProfileKeyAction",
-  "fields":[{"name":"presentation_"}]}
-,
+  "fields":[{"name":"presentation_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyMemberRoleAction",
   "fields":[
     {"name":"role_"}, 
     {"name":"userId_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyMembersAccessControlAction",
-  "fields":[{"name":"membersAccess_"}]}
-,
+  "fields":[{"name":"membersAccess_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$ModifyTitleAction",
-  "fields":[{"name":"title_"}]}
-,
+  "fields":[{"name":"title_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$PromotePendingMemberAction",
-  "fields":[{"name":"presentation_"}]}
-,
+  "fields":[{"name":"presentation_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupChange$Actions$PromoteRequestingMemberAction",
   "fields":[
     {"name":"role_"}, 
     {"name":"userId_"}
-  ]}
-,
+  ]
+},
+{
+  "name":"org.signal.storageservice.protos.groups.GroupChanges",
+  "fields":[{"name":"groupChanges_"}]
+},
+{
+  "name":"org.signal.storageservice.protos.groups.GroupChanges$GroupChangeState",
+  "fields":[
+    {"name":"groupChange_"}, 
+    {"name":"groupState_"}
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupInviteLink",
   "fields":[
     {"name":"contentsCase_"}, 
     {"name":"contents_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.GroupInviteLink$GroupInviteLinkContentsV1",
   "fields":[
     {"name":"groupMasterKey_"}, 
     {"name":"inviteLinkPassword_"}
-  ]}
-,
+  ]
+},
+{
+  "name":"org.signal.storageservice.protos.groups.GroupJoinInfo",
+  "fields":[
+    {"name":"addFromInviteLink_"}, 
+    {"name":"avatar_"}, 
+    {"name":"description_"}, 
+    {"name":"memberCount_"}, 
+    {"name":"pendingAdminApproval_"}, 
+    {"name":"publicKey_"}, 
+    {"name":"revision_"}, 
+    {"name":"title_"}
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.Member",
   "fields":[
     {"name":"profileKey_"}, 
     {"name":"role_"}, 
     {"name":"userId_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.PendingMember",
   "fields":[
     {"name":"addedByUserId_"}, 
     {"name":"member_"}, 
     {"name":"timestamp_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.RequestingMember",
   "fields":[
     {"name":"profileKey_"}, 
     {"name":"timestamp_"}, 
     {"name":"userId_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedApproveMember",
   "fields":[
     {"name":"role_"}, 
     {"name":"uuid_"}
-  ]}
-,
+  ]
+},
+{
+  "name":"org.signal.storageservice.protos.groups.local.DecryptedBannedMember",
+  "fields":[
+    {"name":"timestamp_"}, 
+    {"name":"uuid_"}
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedGroup",
   "fields":[
     {"name":"accessControl_"}, 
     {"name":"avatar_"}, 
+    {"name":"bannedMembers_"}, 
     {"name":"description_"}, 
     {"name":"disappearingMessagesTimer_"}, 
     {"name":"inviteLinkPassword_"}, 
     {"name":"requestingMembers_"}, 
     {"name":"revision_"}, 
     {"name":"title_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedGroupChange",
   "fields":[
+    {"name":"deleteBannedMembers_"}, 
     {"name":"deleteMembers_"}, 
     {"name":"deletePendingMembers_"}, 
     {"name":"deleteRequestingMembers_"}, 
     {"name":"modifyMemberRoles_"}, 
     {"name":"newAttributeAccess_"}, 
     {"name":"newAvatar_"}, 
+    {"name":"newBannedMembers_"}, 
     {"name":"newDescription_"}, 
     {"name":"newInviteLinkAccess_"}, 
     {"name":"newInviteLinkPassword_"}, 
     {"name":"promotePendingMembers_"}, 
     {"name":"promoteRequestingMembers_"}, 
     {"name":"revision_"}
-  ]}
-,
+  ]
+},
+{
+  "name":"org.signal.storageservice.protos.groups.local.DecryptedGroupJoinInfo",
+  "fields":[
+    {"name":"addFromInviteLink_"}, 
+    {"name":"avatar_"}, 
+    {"name":"description_"}, 
+    {"name":"isAnnouncementGroup_"}, 
+    {"name":"memberCount_"}, 
+    {"name":"pendingAdminApproval_"}, 
+    {"name":"revision_"}, 
+    {"name":"title_"}
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedMember",
   "fields":[
     {"name":"profileKey_"}, 
     {"name":"role_"}, 
     {"name":"uuid_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedModifyMemberRole",
   "fields":[
     {"name":"role_"}, 
     {"name":"uuid_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedPendingMember",
   "fields":[
     {"name":"timestamp_"}, 
     {"name":"uuidCipherText_"}, 
     {"name":"uuid_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedPendingMemberRemoval",
   "fields":[
     {"name":"uuidCipherText_"}, 
     {"name":"uuid_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedRequestingMember",
   "fields":[
     {"name":"profileKey_"}, 
     {"name":"timestamp_"}, 
     {"name":"uuid_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedString",
-  "fields":[{"name":"value_"}]}
-,
+  "fields":[{"name":"value_"}]
+},
 {
   "name":"org.signal.storageservice.protos.groups.local.DecryptedTimer",
-  "fields":[{"name":"duration_"}]}
-,
-{
-  "name":"org.signal.zkgroup.internal.ByteArray",
-  "allDeclaredFields":true,
-  "queryAllDeclaredMethods":true}
-,
-{
-  "name":"org.signal.zkgroup.profiles.ProfileKey",
-  "allDeclaredFields":true,
-  "queryAllDeclaredMethods":true,
-  "queryAllDeclaredConstructors":true}
-,
-{
-  "name":"org.signal.zkgroup.profiles.ProfileKeyCredential",
-  "allDeclaredFields":true,
-  "queryAllDeclaredMethods":true,
-  "queryAllDeclaredConstructors":true}
-,
-{
-  "name":"org.whispersystems.libsignal.state.IdentityKeyStore",
-  "allDeclaredMethods":true}
-,
-{
-  "name":"org.whispersystems.libsignal.state.PreKeyStore",
-  "allDeclaredMethods":true}
-,
-{
-  "name":"org.whispersystems.libsignal.state.SessionStore",
-  "allDeclaredMethods":true}
-,
-{
-  "name":"org.whispersystems.libsignal.state.SignalProtocolStore",
-  "allDeclaredMethods":true}
-,
+  "fields":[{"name":"duration_"}]
+},
 {
-  "name":"org.whispersystems.libsignal.state.SignedPreKeyStore",
-  "allDeclaredMethods":true}
-,
+  "name":"org.sqlite.JDBC"
+},
 {
   "name":"org.whispersystems.signalservice.api.account.AccountAttributes",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.api.account.AccountAttributes$Capabilities",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
+{
+  "name":"org.whispersystems.signalservice.api.account.ChangePhoneNumberRequest",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[
+    {"name":"getCode","parameterTypes":[] }, 
+    {"name":"getNumber","parameterTypes":[] }, 
+    {"name":"getRegistrationLock","parameterTypes":[] }
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.api.groupsv2.CredentialResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.api.groupsv2.TemporalCredential",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
-  "name":"org.whispersystems.signalservice.api.groupsv2.TemporalCredential[]"}
-,
+  "name":"org.whispersystems.signalservice.api.groupsv2.TemporalCredential[]"
+},
 {
   "name":"org.whispersystems.signalservice.api.messages.calls.HangupMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.api.messages.calls.HangupMessage$Type",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"org.whispersystems.signalservice.api.messages.calls.IceUpdateMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.api.messages.calls.OfferMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.api.messages.calls.OfferMessage$Type",
   "allDeclaredFields":true,
-  "allDeclaredMethods":true}
-,
+  "allDeclaredMethods":true
+},
 {
   "name":"org.whispersystems.signalservice.api.messages.multidevice.DeviceInfo",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.api.profiles.SignalServiceProfile",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.api.profiles.SignalServiceProfile$Badge",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.api.profiles.SignalServiceProfile$Capabilities",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.api.profiles.SignalServiceProfileWrite",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.api.push.ACI",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
-  "queryAllDeclaredConstructors":true}
-,
+  "queryAllDeclaredConstructors":true
+},
 {
-  "name":"org.whispersystems.signalservice.api.push.AccountIdentifier",
+  "name":"org.whispersystems.signalservice.api.push.ServiceId",
   "allDeclaredFields":true,
-  "queryAllDeclaredMethods":true}
-,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.api.push.SignedPreKeyEntity",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.api.push.SignedPreKeyEntity$ByteArrayDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.whispersystems.signalservice.api.push.SignedPreKeyEntity$ByteArraySerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.whispersystems.signalservice.api.storage.StorageAuthResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.contacts.crypto.SignatureBodyEntity",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.DiscoveryRequest",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.DiscoveryResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.KeyBackupRequest",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.KeyBackupResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.MultiRemoteAttestationResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.QueryEnvelope",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.RemoteAttestationRequest",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.RemoteAttestationResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.contacts.entities.TokenResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.devices.DeviceNameProtos$DeviceName",
   "fields":[
     {"name":"ciphertext_"}, 
     {"name":"ephemeralPublic_"}, 
     {"name":"syntheticIv_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.keybackup.protos.BackupRequest",
   "fields":[
     {"name":"token_"}, 
     {"name":"tries_"}, 
     {"name":"validFrom_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.keybackup.protos.BackupResponse",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"status_"}, 
     {"name":"token_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.keybackup.protos.DeleteRequest",
   "fields":[
     {"name":"backupId_"}, 
     {"name":"bitField0_"}, 
     {"name":"serviceId_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.keybackup.protos.Request",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"delete_"}, 
     {"name":"restore_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.keybackup.protos.Response",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"delete_"}, 
     {"name":"restore_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.keybackup.protos.RestoreRequest",
   "fields":[
     {"name":"serviceId_"}, 
     {"name":"token_"}, 
     {"name":"validFrom_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.keybackup.protos.RestoreResponse",
   "fields":[
     {"name":"status_"}, 
     {"name":"token_"}, 
     {"name":"tries_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.AttachmentV2UploadAttributes",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.AuthCredentials",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.ConfirmCodeMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.DeviceCode",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.DeviceId",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.DeviceInfoList",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.GroupMismatchedDevices",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.GroupStaleDevices",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.MismatchedDevices",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.OutgoingPushMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.OutgoingPushMessageList",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.PreKeyEntity",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.PreKeyEntity$ECPublicKeyDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.PreKeyEntity$ECPublicKeySerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.PreKeyResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.PreKeyResponseItem",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.PreKeyState",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.PreKeyStatus",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.ProfileAvatarUploadAttributes",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.ProvisioningMessage",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.ProvisioningProtos$ProvisionEnvelope",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"body_"}, 
     {"name":"publicKey_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.ProvisioningProtos$ProvisionMessage",
   "fields":[
+    {"name":"aciIdentityKeyPrivate_"}, 
+    {"name":"aciIdentityKeyPublic_"}, 
+    {"name":"aci_"}, 
     {"name":"bitField0_"}, 
-    {"name":"identityKeyPrivate_"}, 
-    {"name":"identityKeyPublic_"}, 
     {"name":"number_"}, 
+    {"name":"pniIdentityKeyPrivate_"}, 
+    {"name":"pniIdentityKeyPublic_"}, 
+    {"name":"pni_"}, 
     {"name":"profileKey_"}, 
     {"name":"provisioningCode_"}, 
     {"name":"provisioningVersion_"}, 
     {"name":"readReceipts_"}, 
-    {"name":"userAgent_"}, 
-    {"name":"uuid_"}
-  ]}
-,
+    {"name":"userAgent_"}
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.ProvisioningProtos$ProvisioningUuid",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"uuid_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.PushServiceSocket$RegistrationLockFailure",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.PushServiceSocket$RegistrationLockV2",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SendGroupMessageResponse",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SendMessageResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SenderCertificate",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SenderCertificate$ByteArrayDesieralizer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$AttachmentPointer",
   "fields":[
     {"name":"thumbnail_"}, 
     {"name":"uploadTimestamp_"}, 
     {"name":"width_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$CallMessage",
   "fields":[
     {"name":"multiRing_"}, 
     {"name":"offer_"}, 
     {"name":"opaque_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$CallMessage$Answer",
   "fields":[
     {"name":"id_"}, 
     {"name":"opaque_"}, 
     {"name":"sdp_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$CallMessage$Hangup",
   "fields":[
     {"name":"deviceId_"}, 
     {"name":"id_"}, 
     {"name":"type_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$CallMessage$IceUpdate",
   "fields":[
     {"name":"mid_"}, 
     {"name":"opaque_"}, 
     {"name":"sdp_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$CallMessage$Offer",
   "fields":[
     {"name":"opaque_"}, 
     {"name":"sdp_"}, 
     {"name":"type_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$CallMessage$Opaque",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"data_"}, 
     {"name":"urgency_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$ContactDetails",
   "fields":[
     {"name":"profileKey_"}, 
     {"name":"uuid_"}, 
     {"name":"verified_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$ContactDetails$Avatar",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"contentType_"}, 
     {"name":"length_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$Content",
   "fields":[
     {"name":"nullMessage_"}, 
     {"name":"receiptMessage_"}, 
     {"name":"senderKeyDistributionMessage_"}, 
+    {"name":"storyMessage_"}, 
     {"name":"syncMessage_"}, 
     {"name":"typingMessage_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage",
   "fields":[
     {"name":"delete_"}, 
     {"name":"expireTimer_"}, 
     {"name":"flags_"}, 
+    {"name":"giftBadge_"}, 
     {"name":"groupCallUpdate_"}, 
     {"name":"groupV2_"}, 
     {"name":"group_"}, 
     {"name":"reaction_"}, 
     {"name":"requiredProtocolVersion_"}, 
     {"name":"sticker_"}, 
+    {"name":"storyContext_"}, 
     {"name":"timestamp_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$BodyRange",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"length_"}, 
     {"name":"start_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Contact",
   "fields":[
     {"name":"name_"}, 
     {"name":"number_"}, 
     {"name":"organization_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Contact$Avatar",
   "fields":[
     {"name":"avatar_"}, 
     {"name":"bitField0_"}, 
     {"name":"isProfile_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Contact$Email",
   "fields":[
     {"name":"label_"}, 
     {"name":"type_"}, 
     {"name":"value_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Contact$Name",
   "fields":[
     {"name":"middleName_"}, 
     {"name":"prefix_"}, 
     {"name":"suffix_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Contact$Phone",
   "fields":[
     {"name":"label_"}, 
     {"name":"type_"}, 
     {"name":"value_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Contact$PostalAddress",
   "fields":[
     {"name":"region_"}, 
     {"name":"street_"}, 
     {"name":"type_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Delete",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"targetSentTimestamp_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$GroupCallUpdate",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"eraId_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Payment",
   "fields":[
     {"name":"itemCase_"}, 
     {"name":"item_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Payment$Notification",
   "fields":[
     {"name":"note_"}, 
     {"name":"transactionCase_"}, 
     {"name":"transaction_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Payment$Notification$MobileCoin",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"receipt_"}
-  ]}
-,
-{
-  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Preview",
-  "fields":[
-    {"name":"bitField0_"}, 
-    {"name":"date_"}, 
-    {"name":"description_"}, 
-    {"name":"image_"}, 
-    {"name":"title_"}, 
-    {"name":"url_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Quote",
   "fields":[
     {"name":"attachments_"}, 
-    {"name":"authorE164_"}, 
     {"name":"authorUuid_"}, 
     {"name":"bitField0_"}, 
     {"name":"bodyRanges_"}, 
     {"name":"id_"}, 
     {"name":"text_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Quote$QuotedAttachment",
   "fields":[
     {"name":"contentType_"}, 
     {"name":"fileName_"}, 
     {"name":"thumbnail_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Reaction",
   "fields":[
     {"name":"remove_"}, 
     {"name":"targetAuthorUuid_"}, 
     {"name":"targetSentTimestamp_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Sticker",
   "fields":[
     {"name":"packId_"}, 
     {"name":"packKey_"}, 
     {"name":"stickerId_"}
-  ]}
-,
+  ]
+},
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$StoryContext",
+  "fields":[
+    {"name":"authorUuid_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"sentTimestamp_"}
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$Envelope",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"content_"}, 
+    {"name":"destinationUuid_"}, 
     {"name":"legacyMessage_"}, 
     {"name":"relay_"}, 
     {"name":"serverGuid_"}, 
     {"name":"sourceUuid_"}, 
     {"name":"timestamp_"}, 
     {"name":"type_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$GroupContext",
   "fields":[
     {"name":"members_"}, 
     {"name":"name_"}, 
     {"name":"type_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$GroupContext$Member",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"e164_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$GroupContextV2",
   "fields":[
     {"name":"groupChange_"}, 
     {"name":"masterKey_"}, 
     {"name":"revision_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$GroupDetails",
   "fields":[
     {"name":"membersE164_"}, 
     {"name":"members_"}, 
     {"name":"name_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$GroupDetails$Avatar",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"contentType_"}, 
     {"name":"length_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$GroupDetails$Member",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"e164_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$NullMessage",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"padding_"}
-  ]}
-,
+  ]
+},
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$PaymentAddress",
+  "fields":[
+    {"name":"addressCase_"}, 
+    {"name":"address_"}
+  ]
+},
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$PaymentAddress$MobileCoinAddress",
+  "fields":[
+    {"name":"address_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"signature_"}
+  ]
+},
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$Preview",
+  "fields":[
+    {"name":"bitField0_"}, 
+    {"name":"date_"}, 
+    {"name":"description_"}, 
+    {"name":"image_"}, 
+    {"name":"title_"}, 
+    {"name":"url_"}
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$ReceiptMessage",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"timestamp_"}, 
     {"name":"type_"}
-  ]}
-,
+  ]
+},
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$StoryMessage",
+  "fields":[
+    {"name":"allowsReplies_"}, 
+    {"name":"attachmentCase_"}, 
+    {"name":"attachment_"}, 
+    {"name":"bitField0_"}, 
+    {"name":"group_"}, 
+    {"name":"profileKey_"}
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage",
   "fields":[
     {"name":"messageRequestResponse_"}, 
     {"name":"outgoingPayment_"}, 
     {"name":"padding_"}, 
+    {"name":"pniIdentity_"}, 
     {"name":"read_"}, 
     {"name":"request_"}, 
     {"name":"sent_"}, 
     {"name":"verified_"}, 
     {"name":"viewOnceOpen_"}, 
     {"name":"viewed_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Blocked",
   "fields":[
     {"name":"groupIds_"}, 
     {"name":"numbers_"}, 
     {"name":"uuids_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Configuration",
   "fields":[
     {"name":"readReceipts_"}, 
     {"name":"typingIndicators_"}, 
     {"name":"unidentifiedDeliveryIndicators_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Contacts",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"blob_"}, 
     {"name":"complete_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$FetchLatest",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"type_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Groups",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"blob_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Keys",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"storageService_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$MessageRequestResponse",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"groupId_"}, 
-    {"name":"threadE164_"}, 
     {"name":"threadUuid_"}, 
     {"name":"type_"}
-  ]}
-,
+  ]
+},
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$PniIdentity",
+  "fields":[
+    {"name":"bitField0_"}, 
+    {"name":"privateKey_"}, 
+    {"name":"publicKey_"}
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Read",
   "fields":[
     {"name":"bitField0_"}, 
-    {"name":"senderE164_"}, 
     {"name":"senderUuid_"}, 
     {"name":"timestamp_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Request",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"type_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Sent",
   "fields":[
     {"name":"bitField0_"}, 
-    {"name":"destinationE164_"}, 
     {"name":"destinationUuid_"}, 
     {"name":"expirationStartTimestamp_"}, 
     {"name":"isRecipientUpdate_"}, 
     {"name":"message_"}, 
+    {"name":"storyMessageRecipients_"}, 
+    {"name":"storyMessage_"}, 
     {"name":"timestamp_"}, 
     {"name":"unidentifiedStatus_"}
-  ]}
-,
+  ]
+},
+{
+  "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Sent$StoryMessageRecipient",
+  "fields":[
+    {"name":"bitField0_"}, 
+    {"name":"destinationUuid_"}, 
+    {"name":"distributionListIds_"}, 
+    {"name":"isAllowedToReply_"}
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Sent$UnidentifiedDeliveryStatus",
   "fields":[
     {"name":"bitField0_"}, 
-    {"name":"destinationE164_"}, 
     {"name":"destinationUuid_"}, 
     {"name":"unidentified_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$StickerPackOperation",
   "fields":[
     {"name":"packId_"}, 
     {"name":"packKey_"}, 
     {"name":"type_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$ViewOnceOpen",
   "fields":[
     {"name":"bitField0_"}, 
-    {"name":"senderE164_"}, 
     {"name":"senderUuid_"}, 
     {"name":"timestamp_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Viewed",
   "fields":[
     {"name":"bitField0_"}, 
-    {"name":"senderE164_"}, 
     {"name":"senderUuid_"}, 
     {"name":"timestamp_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$TypingMessage",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"groupId_"}, 
     {"name":"timestamp_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$Verified",
   "fields":[
     {"name":"bitField0_"}, 
-    {"name":"destinationE164_"}, 
     {"name":"destinationUuid_"}, 
     {"name":"identityKey_"}, 
     {"name":"nullMessage_"}, 
     {"name":"state_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.StaleDevices",
   "allDeclaredFields":true,
   "queryAllDeclaredMethods":true,
   "queryAllDeclaredConstructors":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.whispersystems.signalservice.internal.push.VerifyAccountResponse",
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
-  "allDeclaredConstructors":true}
-,
+  "allDeclaredConstructors":true
+},
+{
+  "name":"org.whispersystems.signalservice.internal.push.WhoAmIResponse",
+  "allDeclaredFields":true,
+  "queryAllDeclaredMethods":true,
+  "queryAllDeclaredConstructors":true,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.whispersystems.signalservice.internal.serialize.protos.AddressProto",
   "fields":[
     {"name":"bitField0_"}, 
     {"name":"e164_"}, 
     {"name":"uuid_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.serialize.protos.MetadataProto",
   "fields":[
     {"name":"address_"}, 
     {"name":"bitField0_"}, 
+    {"name":"destinationUuid_"}, 
     {"name":"groupId_"}, 
     {"name":"needsReceipt_"}, 
     {"name":"senderDevice_"}, 
     {"name":"serverGuid_"}, 
     {"name":"serverReceivedTimestamp_"}, 
     {"name":"timestamp_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.serialize.protos.SignalServiceContentProto",
   "fields":[
     {"name":"data_"}, 
     {"name":"localAddress_"}, 
     {"name":"metadata_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.sticker.StickerProtos$Pack",
   "fields":[
     {"name":"cover_"}, 
     {"name":"stickers_"}, 
     {"name":"title_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.sticker.StickerProtos$Pack$Sticker",
   "fields":[
     {"name":"contentType_"}, 
     {"name":"emoji_"}, 
     {"name":"id_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.storage.protos.AccountRecord",
-  "allDeclaredFields":true}
-,
+  "allDeclaredFields":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.storage.protos.AccountRecord$PinnedConversation",
   "fields":[
     {"name":"identifierCase_"}, 
     {"name":"identifier_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.storage.protos.AccountRecord$PinnedConversation$Contact",
   "fields":[
     {"name":"e164_"}, 
     {"name":"uuid_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.storage.protos.ContactRecord",
-  "allDeclaredFields":true}
-,
+  "allDeclaredFields":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.storage.protos.GroupV1Record",
-  "allDeclaredFields":true}
-,
+  "allDeclaredFields":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.storage.protos.GroupV2Record",
-  "allDeclaredFields":true}
-,
+  "allDeclaredFields":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.storage.protos.ManifestRecord",
   "fields":[
     {"name":"identifiers_"}, 
     {"name":"version_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.storage.protos.ManifestRecord$Identifier",
   "fields":[
     {"name":"raw_"}, 
     {"name":"type_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.storage.protos.Payments",
-  "allDeclaredFields":true}
-,
+  "allDeclaredFields":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.storage.protos.ReadOperation",
-  "fields":[{"name":"readKey_"}]}
-,
+  "fields":[{"name":"readKey_"}]
+},
 {
   "name":"org.whispersystems.signalservice.internal.storage.protos.StorageItem",
   "fields":[
     {"name":"key_"}, 
     {"name":"value_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.storage.protos.StorageItems",
-  "fields":[{"name":"items_"}]}
-,
+  "fields":[{"name":"items_"}]
+},
 {
   "name":"org.whispersystems.signalservice.internal.storage.protos.StorageManifest",
   "fields":[
     {"name":"value_"}, 
     {"name":"version_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.storage.protos.StorageRecord",
   "fields":[
     {"name":"recordCase_"}, 
     {"name":"record_"}
-  ]}
-,
+  ]
+},
+{
+  "name":"org.whispersystems.signalservice.internal.storage.protos.StoryDistributionListRecord",
+  "allDeclaredFields":true
+},
 {
   "name":"org.whispersystems.signalservice.internal.util.JsonUtil$AciDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.whispersystems.signalservice.internal.util.JsonUtil$IdentityKeyDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.whispersystems.signalservice.internal.util.JsonUtil$IdentityKeySerializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
+{
+  "name":"org.whispersystems.signalservice.internal.util.JsonUtil$ServiceIdDeserializer",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.whispersystems.signalservice.internal.util.JsonUtil$UuidDeserializer",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"org.whispersystems.signalservice.internal.websocket.WebSocketProtos$WebSocketMessage",
   "fields":[
     {"name":"request_"}, 
     {"name":"response_"}, 
     {"name":"type_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.websocket.WebSocketProtos$WebSocketRequestMessage",
   "fields":[
     {"name":"id_"}, 
     {"name":"path_"}, 
     {"name":"verb_"}
-  ]}
-,
+  ]
+},
 {
   "name":"org.whispersystems.signalservice.internal.websocket.WebSocketProtos$WebSocketResponseMessage",
   "fields":[
     {"name":"id_"}, 
     {"name":"message_"}, 
     {"name":"status_"}
-  ]}
-,
+  ]
+},
 {
   "name":"sun.misc.Unsafe",
   "allDeclaredFields":true,
     {"name":"putLong","parameterTypes":["java.lang.Object","long","long"] }, 
     {"name":"putObject","parameterTypes":["java.lang.Object","long","java.lang.Object"] }, 
     {"name":"putShort","parameterTypes":["long","short"] }
-  ]}
-,
+  ]
+},
 {
   "name":"sun.security.provider.DSA$SHA224withDSA",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.provider.JavaKeyStore$DualFormatJKS",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.provider.JavaKeyStore$JKS",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.provider.NativePRNG",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.provider.NativePRNG$NonBlocking",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.provider.SHA",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.provider.SHA2$SHA224",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.provider.SHA2$SHA256",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.provider.SHA5$SHA384",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.provider.SHA5$SHA512",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.provider.SecureRandom",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.provider.certpath.PKIXCertPathValidator",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.rsa.PSSParameters",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.rsa.RSAKeyFactory$Legacy",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.rsa.RSAPSSSignature",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.rsa.RSASignature$SHA224withRSA",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.rsa.RSASignature$SHA256withRSA",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.rsa.RSASignature$SHA512withRSA",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.ssl.SSLContextImpl$TLSContext",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory",
-  "methods":[{"name":"<init>","parameterTypes":[] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.x509.AuthorityKeyIdentifierExtension",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
+},
 {
   "name":"sun.security.x509.BasicConstraintsExtension",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
+},
 {
   "name":"sun.security.x509.CRLDistributionPointsExtension",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
+},
+{
+  "name":"sun.security.x509.ExtendedKeyUsageExtension",
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
+},
 {
   "name":"sun.security.x509.KeyUsageExtension",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
+},
 {
   "name":"sun.security.x509.SubjectAlternativeNameExtension",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]}
-,
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
+},
 {
   "name":"sun.security.x509.SubjectKeyIdentifierExtension",
-  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]}
-
+  "methods":[{"name":"<init>","parameterTypes":["java.lang.Boolean","java.lang.Object"] }]
+}
 ]