4                          !      !  " # $%  & ' ( ) * + , - ./ .0 1 23 456  7 8 49 4: ; < = >?@ >AB C >DE F >G >H IJ KL M N O P QR QS QTU QV QW X YZ [\ []^ _ [` [ab c def dgh ii ij i k lmn lop lqr lstu vw xy z{ |}~ UTF_8Ljava/nio/charset/Charset; inputStreamLjava/io/InputStream;jsonLcom/google/gson/JsonObject; urlSafeBase64Z(Ljava/io/InputStream;)VCodeLineNumberTableLocalVariableTablethis)Lcom/google/crypto/tink/JsonKeysetReader;MethodParameters(Lcom/google/gson/JsonObject;)VwithInputStream<(Ljava/io/InputStream;)Lcom/google/crypto/tink/KeysetReader;input ExceptionswithJsonObject=(Ljava/lang/Object;)Lcom/google/crypto/tink/JsonKeysetReader;Ljava/lang/Object; DeprecatedRuntimeVisibleAnnotationsLjava/lang/Deprecated; withString=(Ljava/lang/String;)Lcom/google/crypto/tink/JsonKeysetReader;Ljava/lang/String; withBytes-([B)Lcom/google/crypto/tink/JsonKeysetReader;bytes[BwithFile9(Ljava/io/File;)Lcom/google/crypto/tink/JsonKeysetReader;fileLjava/io/File;withPathpath?(Ljava/nio/file/Path;)Lcom/google/crypto/tink/JsonKeysetReader;Ljava/nio/file/Path;withUrlSafeBase64+()Lcom/google/crypto/tink/JsonKeysetReader;read'()Lcom/google/crypto/tink/proto/Keyset; jsonReader#Lcom/google/gson/stream/JsonReader;eLjava/lang/RuntimeException; StackMapTable readEncrypted0()Lcom/google/crypto/tink/proto/EncryptedKeyset;keysetFromJsonC(Lcom/google/gson/JsonObject;)Lcom/google/crypto/tink/proto/Keyset;iIbuilderBuilder InnerClasses-Lcom/google/crypto/tink/proto/Keyset$Builder;keysLcom/google/gson/JsonArray;encryptedKeysetFromJsonL(Lcom/google/gson/JsonObject;)Lcom/google/crypto/tink/proto/EncryptedKeyset;encryptedKeyset keyFromJsonKeyG(Lcom/google/gson/JsonObject;)Lcom/google/crypto/tink/proto/Keyset$Key;keysetInfoFromJsonG(Lcom/google/gson/JsonObject;)Lcom/google/crypto/tink/proto/KeysetInfo;keyInfos1Lcom/google/crypto/tink/proto/KeysetInfo$Builder;keyInfoFromJsonKeyInfoO(Lcom/google/gson/JsonObject;)Lcom/google/crypto/tink/proto/KeysetInfo$KeyInfo;keyDataFromJsonD(Lcom/google/gson/JsonObject;)Lcom/google/crypto/tink/proto/KeyData;value getStatus@(Ljava/lang/String;)Lcom/google/crypto/tink/proto/KeyStatusType;statusgetOutputPrefixTypeC(Ljava/lang/String;)Lcom/google/crypto/tink/proto/OutputPrefixType;typegetKeyMaterialTypeKeyMaterialTypeJ(Ljava/lang/String;)Lcom/google/crypto/tink/proto/KeyData$KeyMaterialType;validateKeysetvalidateEncryptedKeyset validateKeyvalidateKeyData()V SourceFileJsonKeysetReader.java 'com/google/crypto/tink/JsonKeysetReader  java/io/ByteArrayInputStream  java/io/FileInputStream  java/io/File     !com/google/gson/stream/JsonReaderjava/io/StringReaderjava/lang/String      "com/google/gson/JsonParseExceptionjava/lang/IllegalStateExceptionjava/io/IOException     primaryKeyId    key            keysetInfo      keyId outputPrefixType keyData    keyInfo      typeUrl      keyMaterialType  ENABLED  bDISABLED fjava/lang/StringBuilderunknown status: TINK kRAW nLEGACY pCRUNCHY runknown output prefix type:  SYMMETRIC uASYMMETRIC_PRIVATE wASYMMETRIC_PUBLIC yREMOTE {unknown key material type: invalid keysetinvalid encrypted keyset invalid keyinvalid keyDataUTF-8 java/lang/Object#com/google/crypto/tink/KeysetReader#com/google/crypto/tink/proto/Keysetjava/lang/RuntimeExceptionjava/lang/Throwable,com/google/crypto/tink/proto/EncryptedKeyset+com/google/crypto/tink/proto/Keyset$Buildercom/google/gson/JsonArray'com/google/crypto/tink/proto/Keyset$Key/com/google/crypto/tink/proto/KeysetInfo$Builder/com/google/crypto/tink/proto/KeysetInfo$KeyInfo4com/google/crypto/tink/proto/KeyData$KeyMaterialTypetoString()Ljava/lang/String;getBytes(Ljava/nio/charset/Charset;)[B([B)V(Ljava/io/File;)V(Ljava/lang/String;)Vjava/nio/file/PathtoFile()Ljava/io/File;java/io/InputStreamclosecom/google/crypto/tink/UtilreadAll(Ljava/io/InputStream;)[B([BLjava/nio/charset/Charset;)V(Ljava/io/Reader;)V setLenient(Z)V com/google/gson/internal/StreamsparseB(Lcom/google/gson/stream/JsonReader;)Lcom/google/gson/JsonElement;com/google/gson/JsonElementgetAsJsonObject()Lcom/google/gson/JsonObject;(Ljava/lang/Throwable;)Vcom/google/gson/JsonParser parseString1(Ljava/lang/String;)Lcom/google/gson/JsonElement; newBuilder/()Lcom/google/crypto/tink/proto/Keyset$Builder;com/google/gson/JsonObjecthas(Ljava/lang/String;)ZgetgetAsInt()IsetPrimaryKeyId0(I)Lcom/google/crypto/tink/proto/Keyset$Builder;getAsJsonArray/(Ljava/lang/String;)Lcom/google/gson/JsonArray;size (I)Lcom/google/gson/JsonElement;addKeyX(Lcom/google/crypto/tink/proto/Keyset$Key;)Lcom/google/crypto/tink/proto/Keyset$Builder;build getAsString$com/google/crypto/tink/subtle/Base64 urlSafeDecode(Ljava/lang/String;)[Bdecode8()Lcom/google/crypto/tink/proto/EncryptedKeyset$Builder;com/google/protobuf/ByteStringcopyFrom$([B)Lcom/google/protobuf/ByteString;4com/google/crypto/tink/proto/EncryptedKeyset$BuildersetEncryptedKeysetX(Lcom/google/protobuf/ByteString;)Lcom/google/crypto/tink/proto/EncryptedKeyset$Builder;0(Ljava/lang/String;)Lcom/google/gson/JsonObject; setKeysetInfoa(Lcom/google/crypto/tink/proto/KeysetInfo;)Lcom/google/crypto/tink/proto/EncryptedKeyset$Builder;3()Lcom/google/crypto/tink/proto/Keyset$Key$Builder;/com/google/crypto/tink/proto/Keyset$Key$Builder setStatus_(Lcom/google/crypto/tink/proto/KeyStatusType;)Lcom/google/crypto/tink/proto/Keyset$Key$Builder;setKeyId4(I)Lcom/google/crypto/tink/proto/Keyset$Key$Builder;setOutputPrefixTypeb(Lcom/google/crypto/tink/proto/OutputPrefixType;)Lcom/google/crypto/tink/proto/Keyset$Key$Builder; setKeyDataY(Lcom/google/crypto/tink/proto/KeyData;)Lcom/google/crypto/tink/proto/Keyset$Key$Builder;+()Lcom/google/crypto/tink/proto/Keyset$Key;'com/google/crypto/tink/proto/KeysetInfo3()Lcom/google/crypto/tink/proto/KeysetInfo$Builder;4(I)Lcom/google/crypto/tink/proto/KeysetInfo$Builder; addKeyInfod(Lcom/google/crypto/tink/proto/KeysetInfo$KeyInfo;)Lcom/google/crypto/tink/proto/KeysetInfo$Builder;+()Lcom/google/crypto/tink/proto/KeysetInfo;;()Lcom/google/crypto/tink/proto/KeysetInfo$KeyInfo$Builder;7com/google/crypto/tink/proto/KeysetInfo$KeyInfo$Builderg(Lcom/google/crypto/tink/proto/KeyStatusType;)Lcom/google/crypto/tink/proto/KeysetInfo$KeyInfo$Builder;<(I)Lcom/google/crypto/tink/proto/KeysetInfo$KeyInfo$Builder;j(Lcom/google/crypto/tink/proto/OutputPrefixType;)Lcom/google/crypto/tink/proto/KeysetInfo$KeyInfo$Builder; setTypeUrlM(Ljava/lang/String;)Lcom/google/crypto/tink/proto/KeysetInfo$KeyInfo$Builder;3()Lcom/google/crypto/tink/proto/KeysetInfo$KeyInfo;$com/google/crypto/tink/proto/KeyData0()Lcom/google/crypto/tink/proto/KeyData$Builder;,com/google/crypto/tink/proto/KeyData$BuilderB(Ljava/lang/String;)Lcom/google/crypto/tink/proto/KeyData$Builder;setValueP(Lcom/google/protobuf/ByteString;)Lcom/google/crypto/tink/proto/KeyData$Builder;setKeyMaterialTypef(Lcom/google/crypto/tink/proto/KeyData$KeyMaterialType;)Lcom/google/crypto/tink/proto/KeyData$Builder;(()Lcom/google/crypto/tink/proto/KeyData;equals(Ljava/lang/Object;)Z*com/google/crypto/tink/proto/KeyStatusType,Lcom/google/crypto/tink/proto/KeyStatusType;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;-com/google/crypto/tink/proto/OutputPrefixType/Lcom/google/crypto/tink/proto/OutputPrefixType;6Lcom/google/crypto/tink/proto/KeyData$KeyMaterialType;java/nio/charset/CharsetforName.(Ljava/lang/String;)Ljava/nio/charset/Charset;1X***+*97 :;<X***+*>7 ?@A 3 Y*J  ! 2*T  @Y Y* Y  :Y Y* ^  :Y Y*h ! 6 Y*t  ! 4 *  !5**  e|***L* *+YYY* L+*+M* *,L!Y+"N* *-aa Qa Qa k QkalkF 0@EQX_abksz @!b |->I!>g***#L* *+*Y* $#L* *+L!Y+"M* *,LL <L <L V <VLWVB )8<CJLMV^eM g))I!O+%&M+'(,+')*+W+,-N6-.,*-/01W,2& &2DJ4)!OOG&)  B+3*+4)56M+4)57M8,9:+;<=>?&  (,5>A*BB(  B+@A+B)5CD+E)*F+G)5HI*+J<KLM" %5>ABB PNL*'(+*')*OW*P(**P-M>,.+,/QRW+S&  $+5EK*-+ PL =T*B)5CU*E)*V*G)5HW*X)5YZ!09< =Q+[*+\)56M+\)57M]+X)5^,9_+`)5abc*  (.8AMP*QQ()   y5*def*gehYiYjkl*lmn  5  O*oep*qer*set*uevYiYjwl*lmn&   #' 0 4 O  O*xey*ze{*|e}*~eYiYjl*lmn&   #'04 O  \ *,(*,-. Yn    O*4( Yn# $&  w/*J(*B(*E( *G( Yn) *+,$-./ /$  b&*X(*\( *`( Yn23%5 & !  3J IIY@4>Q[Y