package com.l7tech.common.mime;

import com.l7tech.util.CausedIllegalStateException;
import com.l7tech.util.IOUtils;
import com.l7tech.util.PoolByteArrayOutputStream;
import com.l7tech.util.ResourceUtils;
import java.io.IOException;
import java.io.InputStream;
import java.util.logging.Level;

class g implements PartInfo {
   protected final int ordinal;
   protected final MimeHeaders headers;
   private boolean a;
   private boolean b;
   final MimeBody this$0;
   private static final String[] c;

   private g(MimeBody var1, int var2, MimeHeaders var3) {
      this.this$0 = var1;
      this.a = false;
      this.b = false;
      this.ordinal = var2;
      this.headers = var3;
   }

   @Override
   public MimeHeader getHeader(String var1) {
      return this.headers.get(var1);
   }

   @Override
   public int getPosition() {
      return this.ordinal;
   }

   @Override
   public boolean isBodyRead() {
      return this.a;
   }

   void a() {
      this.a = true;
   }

   @Override
   public boolean isBodyStashed() {
      return this.this$0.l.peek(this.ordinal);
   }

   @Override
   public boolean isBodyAvailable() {
      try {
         if (!this.a) {
            return true;
         }
      } catch (CausedIllegalStateException var1) {
         throw a(var1);
      }

      return this.this$0.l.peek(this.ordinal);
   }

   @Override
   public void setContentType(ContentTypeHeader var1) {
      this.headers.replace(var1);
   }

   @Override
   public void setBodyBytes(byte[] var1) throws IOException {
      this.setBodyBytes(var1, 0, var1.length);
   }

   @Override
   public void setBodyBytes(byte[] param1, int param2, int param3) throws IOException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 0
      // 001: getfield com/l7tech/common/mime/g.this$0 Lcom/l7tech/common/mime/MimeBody;
      // 004: invokevirtual com/l7tech/common/mime/MimeBody.f ()V
      // 007: aload 0
      // 008: getfield com/l7tech/common/mime/g.this$0 Lcom/l7tech/common/mime/MimeBody;
      // 00b: getfield com/l7tech/common/mime/MimeBody.l Lcom/l7tech/common/mime/StashManager;
      // 00e: aload 0
      // 00f: getfield com/l7tech/common/mime/g.ordinal I
      // 012: invokeinterface com/l7tech/common/mime/StashManager.peek (I)Z 2
      // 017: ifeq 031
      // 01a: aload 0
      // 01b: getfield com/l7tech/common/mime/g.this$0 Lcom/l7tech/common/mime/MimeBody;
      // 01e: getfield com/l7tech/common/mime/MimeBody.l Lcom/l7tech/common/mime/StashManager;
      // 021: aload 0
      // 022: getfield com/l7tech/common/mime/g.ordinal I
      // 025: invokeinterface com/l7tech/common/mime/StashManager.unstash (I)V 2
      // 02a: goto 031
      // 02d: invokestatic com/l7tech/common/mime/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 030: athrow
      // 031: aload 0
      // 032: getfield com/l7tech/common/mime/g.this$0 Lcom/l7tech/common/mime/MimeBody;
      // 035: getfield com/l7tech/common/mime/MimeBody.n Ljava/util/List;
      // 038: invokeinterface java/util/List.size ()I 1
      // 03d: aload 0
      // 03e: getfield com/l7tech/common/mime/g.ordinal I
      // 041: bipush 1
      // 042: iadd
      // 043: if_icmpne 084
      // 046: aload 0
      // 047: getfield com/l7tech/common/mime/g.this$0 Lcom/l7tech/common/mime/MimeBody;
      // 04a: getfield com/l7tech/common/mime/MimeBody.t Z
      // 04d: ifeq 084
      // 050: goto 057
      // 053: invokestatic com/l7tech/common/mime/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 056: athrow
      // 057: aload 0
      // 058: bipush 1
      // 059: invokevirtual com/l7tech/common/mime/g.getInputStream (Z)Ljava/io/InputStream;
      // 05c: new com/l7tech/common/io/NullOutputStream
      // 05f: dup
      // 060: invokespecial com/l7tech/common/io/NullOutputStream.<init> ()V
      // 063: invokestatic com/l7tech/util/IOUtils.copyStream (Ljava/io/InputStream;Ljava/io/OutputStream;)J
      // 066: pop2
      // 067: goto 084
      // 06a: invokestatic com/l7tech/common/mime/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 06d: athrow
      // 06e: astore 4
      // 070: new com/l7tech/util/CausedIllegalStateException
      // 073: dup
      // 074: getstatic com/l7tech/common/mime/g.c [Ljava/lang/String;
      // 077: astore 7
      // 079: aload 7
      // 07b: bipush 7
      // 07d: aaload
      // 07e: aload 4
      // 080: invokespecial com/l7tech/util/CausedIllegalStateException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 083: athrow
      // 084: aload 0
      // 085: invokevirtual com/l7tech/common/mime/g.b ()Ljava/lang/String;
      // 088: astore 4
      // 08a: getstatic com/l7tech/common/mime/MimeBody.f Z
      // 08d: ifne 0d3
      // 090: aload 4
      // 092: invokestatic com/l7tech/common/mime/MimeUtil.isProcessedTransferEncoding (Ljava/lang/String;)Z
      // 095: ifeq 0d3
      // 098: goto 09f
      // 09b: invokestatic com/l7tech/common/mime/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 09e: athrow
      // 09f: aconst_null
      // 0a0: astore 5
      // 0a2: aload 1
      // 0a3: iload 2
      // 0a4: iload 3
      // 0a5: aload 4
      // 0a7: invokestatic com/l7tech/common/mime/MimeUtil.getEncodingInputStream ([BIILjava/lang/String;)Ljava/io/InputStream;
      // 0aa: astore 5
      // 0ac: aload 0
      // 0ad: getfield com/l7tech/common/mime/g.this$0 Lcom/l7tech/common/mime/MimeBody;
      // 0b0: getfield com/l7tech/common/mime/MimeBody.l Lcom/l7tech/common/mime/StashManager;
      // 0b3: aload 0
      // 0b4: getfield com/l7tech/common/mime/g.ordinal I
      // 0b7: aload 5
      // 0b9: invokeinterface com/l7tech/common/mime/StashManager.stash (ILjava/io/InputStream;)V 3
      // 0be: aload 5
      // 0c0: invokestatic com/l7tech/util/ResourceUtils.closeQuietly (Ljava/io/Closeable;)V
      // 0c3: goto 0d0
      // 0c6: astore 6
      // 0c8: aload 5
      // 0ca: invokestatic com/l7tech/util/ResourceUtils.closeQuietly (Ljava/io/Closeable;)V
      // 0cd: aload 6
      // 0cf: athrow
      // 0d0: goto 121
      // 0d3: getstatic com/l7tech/common/mime/MimeBody.f Z
      // 0d6: ifne 0e8
      // 0d9: aload 4
      // 0db: invokestatic com/l7tech/common/mime/MimeUtil.isIdentityTransferEncoding (Ljava/lang/String;)Z
      // 0de: ifeq 102
      // 0e1: goto 0e8
      // 0e4: invokestatic com/l7tech/common/mime/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e7: athrow
      // 0e8: aload 0
      // 0e9: getfield com/l7tech/common/mime/g.this$0 Lcom/l7tech/common/mime/MimeBody;
      // 0ec: getfield com/l7tech/common/mime/MimeBody.l Lcom/l7tech/common/mime/StashManager;
      // 0ef: aload 0
      // 0f0: getfield com/l7tech/common/mime/g.ordinal I
      // 0f3: aload 1
      // 0f4: iload 2
      // 0f5: iload 3
      // 0f6: invokeinterface com/l7tech/common/mime/StashManager.stash (I[BII)V 5
      // 0fb: goto 121
      // 0fe: invokestatic com/l7tech/common/mime/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 101: athrow
      // 102: new java/io/IOException
      // 105: dup
      // 106: aload 4
      // 108: getstatic com/l7tech/common/mime/g.c [Ljava/lang/String;
      // 10b: astore 7
      // 10d: aload 7
      // 10f: bipush 19
      // 111: aaload
      // 112: swap
      // 113: aload 7
      // 115: bipush 17
      // 117: aaload
      // 118: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 11d: invokespecial java/io/IOException.<init> (Ljava/lang/String;)V
      // 120: athrow
      // 121: aload 0
      // 122: getfield com/l7tech/common/mime/g.headers Lcom/l7tech/common/mime/MimeHeaders;
      // 125: new com/l7tech/common/mime/MimeHeader
      // 128: dup
      // 129: getstatic com/l7tech/common/mime/g.c [Ljava/lang/String;
      // 12c: bipush 9
      // 12e: aaload
      // 12f: iload 3
      // 130: invokestatic java/lang/Integer.toString (I)Ljava/lang/String;
      // 133: aconst_null
      // 134: bipush 0
      // 135: invokespecial com/l7tech/common/mime/MimeHeader.<init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
      // 138: invokevirtual com/l7tech/common/mime/MimeHeaders.replace (Lcom/l7tech/common/mime/MimeHeader;)V
      // 13b: return
      // try (19 -> 32): 33 com/l7tech/common/mime/NoSuchPartException
      // try (0 -> 16): 17 com/l7tech/common/mime/NoSuchPartException
      // try (35 -> 43): 46 com/l7tech/common/mime/NoSuchPartException
      // try (60 -> 65): 66 com/l7tech/common/mime/NoSuchPartException
      // try (28 -> 44): 44 java/io/IOException
      // try (70 -> 83): 86 null
      // try (86 -> 87): 86 null
      // try (92 -> 97): 98 com/l7tech/common/mime/NoSuchPartException
      // try (94 -> 110): 110 com/l7tech/common/mime/NoSuchPartException
   }

   @Override
   public InputStream getInputStream(boolean var1) throws IOException, NoSuchPartException {
      a var2 = this.preparePartInputStream();

      try {
         if (var2 != null) {
            return this.a(var2, true);
         }
      } catch (IOException var4) {
         throw a(var4);
      }

      var2 = new a(this.this$0.r, this.this$0.j, this.this$0.k);

      try {
         var2.setEndOfStreamHook(new j(this));
         var2.setFinalBoundaryHook(new k(this));
         if (var1) {
            return this.a(var2, false);
         }
      } catch (IOException var3) {
         throw a(var3);
      }

      return this.a(this.stashAndRecall(var2), true);
   }

   @Override
   public byte[] getBytesIfAlreadyAvailable() {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: getstatic com/l7tech/common/mime/MimeBody.f Z
      // 03: ifne 17
      // 06: aload 0
      // 07: invokevirtual com/l7tech/common/mime/g.b ()Ljava/lang/String;
      // 0a: invokestatic com/l7tech/common/mime/MimeUtil.isIdentityTransferEncoding (Ljava/lang/String;)Z
      // 0d: ifeq 1f
      // 10: goto 17
      // 13: invokestatic com/l7tech/common/mime/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 16: athrow
      // 17: bipush 1
      // 18: goto 20
      // 1b: invokestatic com/l7tech/common/mime/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1e: athrow
      // 1f: bipush 0
      // 20: istore 1
      // 21: iload 1
      // 22: ifeq 56
      // 25: aload 0
      // 26: getfield com/l7tech/common/mime/g.this$0 Lcom/l7tech/common/mime/MimeBody;
      // 29: getfield com/l7tech/common/mime/MimeBody.l Lcom/l7tech/common/mime/StashManager;
      // 2c: aload 0
      // 2d: getfield com/l7tech/common/mime/g.ordinal I
      // 30: invokeinterface com/l7tech/common/mime/StashManager.isByteArrayAvailable (I)Z 2
      // 35: ifeq 56
      // 38: goto 3f
      // 3b: invokestatic com/l7tech/common/mime/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3e: athrow
      // 3f: aload 0
      // 40: getfield com/l7tech/common/mime/g.this$0 Lcom/l7tech/common/mime/MimeBody;
      // 43: getfield com/l7tech/common/mime/MimeBody.l Lcom/l7tech/common/mime/StashManager;
      // 46: aload 0
      // 47: getfield com/l7tech/common/mime/g.ordinal I
      // 4a: invokeinterface com/l7tech/common/mime/StashManager.recallBytes (I)[B 2
      // 4f: goto 57
      // 52: invokestatic com/l7tech/common/mime/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 55: athrow
      // 56: aconst_null
      // 57: areturn
      // 58: astore 2
      // 59: new java/lang/RuntimeException
      // 5c: dup
      // 5d: aload 2
      // 5e: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/Throwable;)V
      // 61: athrow
      // try (17 -> 34): 34 com/l7tech/common/mime/NoSuchPartException
      // try (15 -> 24): 25 com/l7tech/common/mime/NoSuchPartException
      // try (2 -> 11): 11 com/l7tech/common/mime/NoSuchPartException
      // try (0 -> 6): 7 com/l7tech/common/mime/NoSuchPartException
      // try (15 -> 37): 38 com/l7tech/common/mime/NoSuchPartException
   }

   @Override
   public byte[] getBytesIfAvailableOrSmallerThan(int var1) throws IOException, NoSuchPartException {
      byte[] var2 = this.getBytesIfAlreadyAvailable();

      try {
         if (var2 != null) {
            return var2;
         }
      } catch (IOException var14) {
         throw a(var14);
      }

      long var3 = this.getActualContentLength();

      try {
         if (var3 > var1) {
            return null;
         }
      } catch (IOException var13) {
         throw a(var13);
      }

      InputStream var5 = null;
      PoolByteArrayOutputStream var6 = new PoolByteArrayOutputStream((int)var3);

      try {
         var5 = this.this$0.l.recall(this.ordinal);
         IOUtils.copyStream(var5 = this.a(var5, false), var6);
         return var6.toByteArray();
      } finally {
         ResourceUtils.closeQuietly(var6);
         ResourceUtils.closeQuietly(var5);
      }
   }

   protected InputStream preparePartInputStream() throws IOException, NoSuchPartException {
      this.this$0.h();
      InputStream var1 = null;
      if (this.this$0.l.peek(this.ordinal)) {
         try {
            var1 = this.this$0.l.recall(this.ordinal);

            try {
               if (var1 == null) {
                  throw new IllegalStateException(c[4]);
               }
            } catch (NoSuchPartException var6) {
               throw a(var6);
            }
         } catch (NoSuchPartException var7) {
            String[] var3 = c;
            throw new CausedIllegalStateException(var3[10], var7);
         }
      } else {
         try {
            if (this.isBodyRead()) {
               throw new NoSuchPartException(c[11]);
            }
         } catch (NoSuchPartException var5) {
            throw a(var5);
         }

         try {
            if (!this.this$0.t) {
               throw new IllegalStateException(c[14]);
            }
         } catch (NoSuchPartException var8) {
            throw a(var8);
         }

         try {
            if (this.this$0.n.size() != this.ordinal + 1) {
               throw new IllegalStateException(c[13]);
            }
         } catch (NoSuchPartException var4) {
            throw a(var4);
         }
      }

      return var1;
   }

   @Override
   public MimeHeaders getHeaders() {
      return this.headers;
   }

   @Override
   public long getContentLength() {
      long var1 = this.this$0.l.getSize(this.ordinal);

      try {
         if (var1 >= 0L) {
            return var1;
         }
      } catch (IOException var4) {
         throw a(var4);
      }

      IOException var3;
      try {
         if (!this.headers.hasContentLength()) {
            return -1L;
         }

         try {
            return this.headers.getContentLength();
         } catch (IOException var5) {
            var3 = var5;
         }
      } catch (CausedIllegalStateException var6) {
         throw a(var6);
      }

      MimeBody.a.log(Level.WARNING, c[0], var3);
      return -1L;
   }

   @Override
   public long getActualContentLength() throws IOException, NoSuchPartException {
      this.getInputStream(false).close();
      long var1 = this.this$0.l.getSize(this.ordinal);

      try {
         if (var1 < 0L) {
            throw new IllegalStateException(c[6]);
         } else {
            return var1;
         }
      } catch (IOException var3) {
         throw a(var3);
      }
   }

   @Override
   public ContentTypeHeader getContentType() {
      return this.headers.getContentType();
   }

   @Override
   public String getContentId(boolean var1) {
      return this.headers.getContentId(var1);
   }

   @Override
   public boolean isValidated() {
      return this.b;
   }

   @Override
   public void setValidated(boolean var1) {
      this.b = var1;
   }

   void a(InputStream param1) throws IOException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: ifnonnull 10
      // 04: new java/lang/NullPointerException
      // 07: dup
      // 08: invokespecial java/lang/NullPointerException.<init> ()V
      // 0b: athrow
      // 0c: invokestatic com/l7tech/common/mime/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0f: athrow
      // 10: aload 0
      // 11: getfield com/l7tech/common/mime/g.this$0 Lcom/l7tech/common/mime/MimeBody;
      // 14: getfield com/l7tech/common/mime/MimeBody.l Lcom/l7tech/common/mime/StashManager;
      // 17: aload 0
      // 18: getfield com/l7tech/common/mime/g.ordinal I
      // 1b: aload 1
      // 1c: invokeinterface com/l7tech/common/mime/StashManager.stash (ILjava/io/InputStream;)V 3
      // 21: aload 0
      // 22: getfield com/l7tech/common/mime/g.this$0 Lcom/l7tech/common/mime/MimeBody;
      // 25: getfield com/l7tech/common/mime/MimeBody.l Lcom/l7tech/common/mime/StashManager;
      // 28: aload 0
      // 29: getfield com/l7tech/common/mime/g.ordinal I
      // 2c: invokeinterface com/l7tech/common/mime/StashManager.getSize (I)J 2
      // 31: lstore 2
      // 32: lload 2
      // 33: invokestatic java/lang/Long.toString (J)Ljava/lang/String;
      // 36: astore 4
      // 38: aload 0
      // 39: getfield com/l7tech/common/mime/g.headers Lcom/l7tech/common/mime/MimeHeaders;
      // 3c: invokevirtual com/l7tech/common/mime/MimeHeaders.hasContentLength ()Z
      // 3f: ifeq ca
      // 42: aload 0
      // 43: getfield com/l7tech/common/mime/g.headers Lcom/l7tech/common/mime/MimeHeaders;
      // 46: invokevirtual com/l7tech/common/mime/MimeHeaders.getContentLength ()J
      // 49: lstore 5
      // 4b: lload 5
      // 4d: lload 2
      // 4e: lcmp
      // 4f: ifeq b2
      // 52: aload 0
      // 53: getfield com/l7tech/common/mime/g.this$0 Lcom/l7tech/common/mime/MimeBody;
      // 56: invokevirtual com/l7tech/common/mime/MimeBody.isMultipart ()Z
      // 59: ifeq 7a
      // 5c: goto 63
      // 5f: invokestatic com/l7tech/common/mime/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 62: athrow
      // 63: aload 0
      // 64: getfield com/l7tech/common/mime/g.ordinal I
      // 67: getstatic com/l7tech/common/mime/g.c [Ljava/lang/String;
      // 6a: bipush 18
      // 6c: aaload
      // 6d: swap
      // 6e: invokedynamic makeConcatWithConstants (Ljava/lang/String;I)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 73: goto 83
      // 76: invokestatic com/l7tech/common/mime/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 79: athrow
      // 7a: getstatic com/l7tech/common/mime/g.c [Ljava/lang/String;
      // 7d: astore 12
      // 7f: aload 12
      // 81: bipush 1
      // 82: aaload
      // 83: astore 7
      // 85: new java/io/IOException
      // 88: dup
      // 89: aload 7
      // 8b: lload 5
      // 8d: lload 2
      // 8e: lstore 8
      // 90: lstore 10
      // 92: getstatic com/l7tech/common/mime/g.c [Ljava/lang/String;
      // 95: astore 12
      // 97: aload 12
      // 99: bipush 16
      // 9b: aaload
      // 9c: lload 10
      // 9e: aload 12
      // a0: bipush 12
      // a2: aaload
      // a3: lload 8
      // a5: aload 12
      // a7: bipush 5
      // a8: aaload
      // a9: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;JLjava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001\u0001\u0001\u0001" ]
      // ae: invokespecial java/io/IOException.<init> (Ljava/lang/String;)V
      // b1: athrow
      // b2: aload 0
      // b3: getfield com/l7tech/common/mime/g.headers Lcom/l7tech/common/mime/MimeHeaders;
      // b6: new com/l7tech/common/mime/MimeHeader
      // b9: dup
      // ba: getstatic com/l7tech/common/mime/g.c [Ljava/lang/String;
      // bd: bipush 20
      // bf: aaload
      // c0: aload 4
      // c2: aconst_null
      // c3: bipush 0
      // c4: invokespecial com/l7tech/common/mime/MimeHeader.<init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
      // c7: invokevirtual com/l7tech/common/mime/MimeHeaders.replace (Lcom/l7tech/common/mime/MimeHeader;)V
      // ca: goto d8
      // cd: astore 2
      // ce: aload 0
      // cf: getfield com/l7tech/common/mime/g.this$0 Lcom/l7tech/common/mime/MimeBody;
      // d2: aload 2
      // d3: putfield com/l7tech/common/mime/MimeBody.u Ljava/lang/Exception;
      // d6: aload 2
      // d7: athrow
      // d8: return
      // try (37 -> 52): 52 java/io/IOException
      // try (33 -> 41): 42 java/io/IOException
      // try (0 -> 6): 6 java/io/IOException
      // try (8 -> 95): 96 java/io/IOException
   }

   protected InputStream stashAndRecall(InputStream var1) throws IOException {
      try {
         if (var1 == null) {
            throw new NullPointerException();
         }
      } catch (NoSuchPartException var6) {
         throw a(var6);
      }

      this.a(var1);

      InputStream var2;
      try {
         var2 = this.this$0.l.recall(this.ordinal);
      } catch (NoSuchPartException var5) {
         throw new RuntimeException(var5);
      }

      try {
         if (var2 == null) {
            throw new IllegalStateException();
         } else {
            return var2;
         }
      } catch (NoSuchPartException var4) {
         throw a(var4);
      }
   }

   private InputStream a(InputStream var1, boolean var2) throws IOException {
      String var3 = this.b();
      InputStream var4 = var1;

      label54: {
         try {
            if (MimeBody.f) {
               return var4;
            }

            if (!MimeUtil.isProcessedTransferEncoding(var3)) {
               break label54;
            }
         } catch (IOException var11) {
            throw a(var11);
         }

         try {
            var4 = MimeUtil.getDecodingInputStream(var1, var3);
            return var4;
         } catch (IOException var8) {
            try {
               if (var2) {
                  ResourceUtils.closeQuietly(var1);
               }
            } catch (IOException var7) {
               throw a(var7);
            }

            throw var8;
         }
      }

      try {
         if (MimeUtil.isIdentityTransferEncoding(var3)) {
            return var4;
         }
      } catch (IOException var10) {
         throw a(var10);
      }

      try {
         if (var2) {
            ResourceUtils.closeQuietly(var1);
         }
      } catch (IOException var9) {
         throw a(var9);
      }

      String[] var6 = c;
      throw new IOException(var6[8] + var3 + var6[15]);
   }

   private String b() {
      String[] var2 = c;
      MimeHeader var1 = this.headers.get(var2[2]);

      try {
         if (var1 == null) {
            return var2[3];
         }
      } catch (CausedIllegalStateException var3) {
         throw a(var3);
      }

      return var1.getMainValue().toLowerCase();
   }

   private static Exception a(Exception var0) {
      return var0;
   }

   static {
      String[] var5 = new String[21];
      int var3 = 0;
      String var2 = "[i_%[m[2DF*CaQf*e!YcKz'A!V`Z`\u0007\u007fbZ7VcZ\u0019QhG0RjK?S[%YwYwu\u0004\u0001YgPvnG#\u0004%e@0#AsH7_I^|fN!E*MwdH([,\u00162uL0BvQwc\t*BhS\u00062eP0Rw*GiH&[a\u001ffh\t RpZ`j@*R$SwiN0_$Pt'Z0VwWwc\t&X`F?ub]\rYtJfT]6ReR2sA6Rs\u001fgiL<Ga\\fbM(N$ZdbGdClPg`AdZkMwWH6Cw\u001f{t\t0EqZ'GiZ1GtP`sL \u0017gP|sL*C$K`fG7QaM2bG'X`V|`\tc\u000eQhG0RjK?KL*PpW\u001eBbL/\u0017wJqdL!Sw\u001fpr]dEa\\skEdQeV~t<_Nd\u0001\u0017iJ~s@4VvK2eF N$Wst\t%[vZscPdUaZ|'[!V`\u00132fG \u0017s^a'G+C$LsqL \u001c2eP0Rw\u00132e\\0\u0017e\\frH(\u0017wVhb\t3Vw\u001f.As[!Vi\u001f|h]dGkL{s@+Ya[2sFdEa^v'],^w\u001fbf[0\u0010w\u001fphM=!\\h\t)XvZ2wH6Cw\u001f~bO0\u0017mQ2sA-D$LfuL%Z\u00025)12cL'[eMwc\t-Y$|}i]!Yp\u0012^bG#Cl\u001fzbH Rv\u001ffoH0\u0017wVhb\t3Vw\u001f\u00025)\u001d_Nd\u0001\u0017iJ~s@4VvK2jL7DeXw'Y%Ep\u001f1";
      int var4 = "[i_%[m[2DF*CaQf*e!YcKz'A!V`Z`\u0007\u007fbZ7VcZ\u0019QhG0RjK?S[%YwYwu\u0004\u0001YgPvnG#\u0004%e@0#AsH7_I^|fN!E*MwdH([,\u00162uL0BvQwc\t*BhS\u00062eP0Rw*GiH&[a\u001ffh\t RpZ`j@*R$SwiN0_$Pt'Z0VwWwc\t&X`F?ub]\rYtJfT]6ReR2sA6Rs\u001fgiL<Ga\\fbM(N$ZdbGdClPg`AdZkMwWH6Cw\u001f{t\t0EqZ'GiZ1GtP`sL \u0017gP|sL*C$K`fG7QaM2bG'X`V|`\tc\u000eQhG0RjK?KL*PpW\u001eBbL/\u0017wJqdL!Sw\u001fpr]dEa\\skEdQeV~t<_Nd\u0001\u0017iJ~s@4VvK2eF N$Wst\t%[vZscPdUaZ|'[!V`\u00132fG \u0017s^a'G+C$LsqL \u001c2eP0Rw\u00132e\\0\u0017e\\frH(\u0017wVhb\t3Vw\u001f.As[!Vi\u001f|h]dGkL{s@+Ya[2sFdEa^v'],^w\u001fbf[0\u0010w\u001fphM=!\\h\t)XvZ2wH6Cw\u001f~bO0\u0017mQ2sA-D$LfuL%Z\u00025)12cL'[eMwc\t-Y$|}i]!Yp\u0012^bG#Cl\u001fzbH Rv\u001ffoH0\u0017wVhb\t3Vw\u001f\u00025)\u001d_Nd\u0001\u0017iJ~s@4VvK2jL7DeXw'Y%Ep\u001f1"
         .length();
      char var1 = 29;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 97;
         String var10001 = var2.substring(++var7, var7 + var1);
         byte var10002 = -1;

         while (true) {
            String var8 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     c = var5;
                     return;
                  }

                  var1 = var2.charAt(var7);
                  break;
               default:
                  var5[var3++] = var8;
                  if ((var7 += var1) < var4) {
                     var1 = var2.charAt(var7);
                     continue label24;
                  }

                  var2 = "[uF-[hL|oP<\u000b{L`oP6_8W|z[+M}Q.~[;D|J`|\u0015\u007f\u000eMt[,NvW#WP6LlK";
                  var4 = "[uF-[hL|oP<\u000b{L`oP6_8W|z[+M}Q.~[;D|J`|\u0015\u007f\u000eMt[,NvW#WP6LlK".length();
                  var1 = '\'';
                  var7 = -1;
            }

            var10000 = 125;
            var10001 = var2.substring(++var7, var7 + var1);
            var10002 = 0;
         }
      }
   }

   private static char[] a(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 94);
      }

      return var10000;
   }

   private static String a(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 115;
            case 1 -> 102;
            case 2 -> 72;
            case 3 -> 37;
            case 4 -> 86;
            case 5 -> 101;
            default -> 94;
         });
      }

      return new String(var10001).intern();
   }
}
