home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / AnfyJava14 / data1.cab / Program_Files / Applet / voxel / voxel.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-19  |  22.5 KB  |  2,001 lines

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Dimension;
  6. import java.awt.Event;
  7. import java.awt.Font;
  8. import java.awt.FontMetrics;
  9. import java.awt.Frame;
  10. import java.awt.Graphics;
  11. import java.awt.Image;
  12. import java.awt.Label;
  13. import java.awt.LayoutManager;
  14. import java.awt.MediaTracker;
  15. import java.awt.Panel;
  16. import java.awt.Toolkit;
  17. import java.awt.image.DirectColorModel;
  18. import java.awt.image.ImageObserver;
  19. import java.awt.image.IndexColorModel;
  20. import java.awt.image.MemoryImageSource;
  21. import java.awt.image.PixelGrabber;
  22. import java.io.ByteArrayOutputStream;
  23. import java.io.DataInputStream;
  24. import java.io.FilterInputStream;
  25. import java.io.IOException;
  26. import java.io.InputStream;
  27. import java.io.OutputStream;
  28. import java.net.MalformedURLException;
  29. import java.net.URL;
  30.  
  31. public class voxel extends Applet implements Runnable, ImageObserver {
  32.    // $FF: renamed from: a float
  33.    float field_0;
  34.    // $FF: renamed from: b int
  35.    private int field_1;
  36.    // $FF: renamed from: c java.awt.Frame
  37.    Frame field_2;
  38.    // $FF: renamed from: d boolean
  39.    boolean field_3 = false;
  40.    // $FF: renamed from: e java.lang.String
  41.    final String field_4 = method_25("DI/xKq\u0019=m\u000eCX=}A%z6aMfP\u007f<YrNqu@c");
  42.    // $FF: renamed from: f int
  43.    int field_5;
  44.    // $FF: renamed from: g int
  45.    int field_6;
  46.    // $FF: renamed from: h int
  47.    int field_7;
  48.    // $FF: renamed from: i int
  49.    int field_8;
  50.    // $FF: renamed from: j byte[]
  51.    byte[] field_9;
  52.    // $FF: renamed from: k byte[]
  53.    byte[] field_10;
  54.    // $FF: renamed from: l int
  55.    int field_11;
  56.    // $FF: renamed from: m int[]
  57.    int[] field_12;
  58.    // $FF: renamed from: n byte[]
  59.    byte[] field_13;
  60.    // $FF: renamed from: o short[]
  61.    short[] field_14;
  62.    // $FF: renamed from: p java.awt.image.IndexColorModel
  63.    IndexColorModel field_15;
  64.    // $FF: renamed from: q int
  65.    int field_16;
  66.    // $FF: renamed from: r long
  67.    long field_17;
  68.    // $FF: renamed from: s int
  69.    int field_18;
  70.    // $FF: renamed from: t int[]
  71.    int[] field_19;
  72.    // $FF: renamed from: u boolean
  73.    boolean field_20 = false;
  74.    // $FF: renamed from: v java.awt.Font
  75.    Font field_21;
  76.    // $FF: renamed from: w double
  77.    static final double field_22 = (Math.PI / 4D);
  78.    // $FF: renamed from: x int
  79.    int field_23;
  80.    // $FF: renamed from: y byte[]
  81.    byte[] field_24;
  82.    // $FF: renamed from: z int
  83.    int field_25;
  84.    // $FF: renamed from: A float
  85.    float field_26;
  86.    // $FF: renamed from: B float
  87.    float field_27;
  88.    // $FF: renamed from: C short[]
  89.    short[] field_28;
  90.    // $FF: renamed from: D int
  91.    int field_29;
  92.    // $FF: renamed from: E int
  93.    int field_30;
  94.    // $FF: renamed from: F java.awt.Image
  95.    private Image field_31;
  96.    // $FF: renamed from: G int
  97.    int field_32;
  98.    // $FF: renamed from: H int
  99.    int field_33;
  100.    // $FF: renamed from: I boolean
  101.    boolean field_34 = false;
  102.    // $FF: renamed from: J int
  103.    int field_35;
  104.    // $FF: renamed from: K int[]
  105.    int[] field_36;
  106.    // $FF: renamed from: L int[]
  107.    int[] field_37;
  108.    // $FF: renamed from: M java.lang.String[]
  109.    String[] field_38;
  110.    // $FF: renamed from: N java.net.URL
  111.    URL field_39;
  112.    // $FF: renamed from: O int
  113.    int field_40;
  114.    // $FF: renamed from: P int
  115.    int field_41;
  116.    // $FF: renamed from: Q java.lang.String
  117.    String field_42;
  118.    // $FF: renamed from: R java.lang.String
  119.    String field_43;
  120.    // $FF: renamed from: S java.lang.String
  121.    String field_44;
  122.    // $FF: renamed from: T java.lang.String
  123.    String field_45;
  124.    // $FF: renamed from: U java.lang.String
  125.    String field_46;
  126.    // $FF: renamed from: V java.lang.String
  127.    String field_47;
  128.    // $FF: renamed from: W java.lang.String
  129.    String field_48;
  130.    // $FF: renamed from: X java.lang.String
  131.    String field_49;
  132.    // $FF: renamed from: Y java.lang.String
  133.    String field_50;
  134.    // $FF: renamed from: Z java.lang.String
  135.    String field_51;
  136.    // $FF: renamed from: ba java.lang.String
  137.    String field_52;
  138.    // $FF: renamed from: bb int
  139.    int field_53;
  140.    // $FF: renamed from: bc boolean
  141.    boolean field_54 = false;
  142.    // $FF: renamed from: bd int
  143.    int field_55;
  144.    // $FF: renamed from: be int
  145.    int field_56;
  146.    // $FF: renamed from: bf java.awt.Graphics
  147.    private Graphics field_57;
  148.    // $FF: renamed from: bg java.awt.Image
  149.    private Image field_58;
  150.    // $FF: renamed from: bh boolean
  151.    boolean field_59 = false;
  152.    // $FF: renamed from: bi int
  153.    int field_60;
  154.    // $FF: renamed from: bj int
  155.    int field_61;
  156.    // $FF: renamed from: bk java.awt.Image
  157.    private Image field_62;
  158.    // $FF: renamed from: bl int
  159.    int field_63;
  160.    // $FF: renamed from: bm int
  161.    int field_64;
  162.    // $FF: renamed from: bn int[]
  163.    int[] field_65;
  164.    // $FF: renamed from: bo int
  165.    int field_66;
  166.    // $FF: renamed from: bp anfy
  167.    anfy field_67;
  168.    // $FF: renamed from: bq java.awt.image.MemoryImageSource
  169.    MemoryImageSource field_68;
  170.    // $FF: renamed from: br int
  171.    int field_69;
  172.    // $FF: renamed from: bs int
  173.    int field_70;
  174.    // $FF: renamed from: bt int
  175.    int field_71;
  176.    // $FF: renamed from: bu byte[]
  177.    byte[] field_72;
  178.    // $FF: renamed from: bv boolean
  179.    boolean field_73 = false;
  180.    // $FF: renamed from: bw int
  181.    int field_74;
  182.    // $FF: renamed from: bx int
  183.    int field_75;
  184.    // $FF: renamed from: by float
  185.    float field_76;
  186.    // $FF: renamed from: bz float
  187.    float field_77;
  188.    // $FF: renamed from: bA java.lang.String
  189.    String field_78;
  190.    // $FF: renamed from: bB int
  191.    int field_79;
  192.    // $FF: renamed from: bC int
  193.    int field_80;
  194.    // $FF: renamed from: bD int
  195.    int field_81;
  196.    // $FF: renamed from: bE java.awt.Color
  197.    Color field_82;
  198.    // $FF: renamed from: bF int
  199.    int field_83;
  200.    // $FF: renamed from: bG int
  201.    int field_84;
  202.    // $FF: renamed from: bH int
  203.    int field_85;
  204.    // $FF: renamed from: bI int
  205.    int field_86;
  206.    // $FF: renamed from: bJ int
  207.    int field_87;
  208.    // $FF: renamed from: bK int
  209.    int field_88;
  210.    // $FF: renamed from: bL int
  211.    int field_89;
  212.    // $FF: renamed from: bM int[]
  213.    int[] field_90;
  214.    // $FF: renamed from: bN int[]
  215.    int[] field_91;
  216.    // $FF: renamed from: bO float
  217.    float field_92;
  218.    // $FF: renamed from: bP int
  219.    int field_93;
  220.    // $FF: renamed from: bQ int
  221.    int field_94;
  222.    // $FF: renamed from: bR java.lang.String
  223.    String field_95;
  224.    // $FF: renamed from: bS int
  225.    int field_96;
  226.    // $FF: renamed from: bT java.awt.Color
  227.    Color field_97;
  228.    // $FF: renamed from: bU int
  229.    int field_98;
  230.    // $FF: renamed from: bV int
  231.    int field_99;
  232.    // $FF: renamed from: bW boolean
  233.    boolean field_100;
  234.    // $FF: renamed from: bX boolean
  235.    boolean field_101;
  236.    // $FF: renamed from: bY java.awt.Toolkit
  237.    Toolkit field_102;
  238.    // $FF: renamed from: bZ java.lang.Thread
  239.    Thread field_103;
  240.    // $FF: renamed from: ca int
  241.    int field_104;
  242.    // $FF: renamed from: cb int
  243.    int field_105;
  244.    // $FF: renamed from: cc int
  245.    int field_106;
  246.    // $FF: renamed from: cd int
  247.    int field_107;
  248.    // $FF: renamed from: ce int[]
  249.    int[] field_108;
  250.    // $FF: renamed from: cf int
  251.    int field_109;
  252.    // $FF: renamed from: cg Lware
  253.    Lware field_110;
  254.    // $FF: renamed from: ch int
  255.    int field_111;
  256.    // $FF: renamed from: ci int
  257.    int field_112;
  258.    // $FF: renamed from: cj int
  259.    int field_113;
  260.    // $FF: renamed from: ck int
  261.    int field_114;
  262.    // $FF: renamed from: cl int
  263.    int field_115;
  264.    // $FF: renamed from: cm int
  265.    int field_116;
  266.    // $FF: renamed from: cn int
  267.    int field_117;
  268.    // $FF: renamed from: co java.awt.Font[]
  269.    Font[] field_118;
  270.  
  271.    // $FF: renamed from: a () void
  272.    private final void method_0() {
  273.       while(true) {
  274.          ((Applet)this).showStatus(method_25("AV13Z%K:yAs\\\u007fcYr\u0017>zH|S>bO+Z0y\u000efK:pGqJ\u007fxGk\\\u007f}@%q\u000bYb$"));
  275.  
  276.          try {
  277.             Thread.sleep(500L);
  278.          } catch (InterruptedException var1) {
  279.          }
  280.       }
  281.    }
  282.  
  283.    // $FF: renamed from: b () boolean
  284.    public synchronized boolean method_1() {
  285.       ((Component)this).prepareImage(this.field_62, this);
  286.       if (!this.field_34) {
  287.          return false;
  288.       } else {
  289.          for(int var1 = 0; var1 < 3; ++var1) {
  290.             this.notifyAll();
  291.             Thread.yield();
  292.  
  293.             try {
  294.                Thread.sleep(100L);
  295.             } catch (InterruptedException var2) {
  296.             }
  297.          }
  298.  
  299.          return this.field_59;
  300.       }
  301.    }
  302.  
  303.    // $FF: renamed from: a (int) short
  304.    final short method_2(int var1) {
  305.       return (short)((var1 < 0 ? 0 : (var1 > 255 ? 255 : var1)) & 255);
  306.    }
  307.  
  308.    // $FF: renamed from: c () void
  309.    final void method_3() {
  310.       boolean var7 = true;
  311.       String var8 = ((Applet)this).getParameter(method_25("hX/}Cb"));
  312.       if (var8 != null && !var8.equalsIgnoreCase("NO")) {
  313.          Object var9 = null;
  314.          Image var22 = this.method_5(var8);
  315.          if (var22 != null) {
  316.             var7 = false;
  317.             int[] var10 = new int[65536];
  318.             PixelGrabber var11 = new PixelGrabber(var22, 0, 0, 256, 256, var10, 0, 256);
  319.  
  320.             try {
  321.                if (!var11.grabPixels()) {
  322.                   var7 = true;
  323.                }
  324.             } catch (InterruptedException var14) {
  325.             }
  326.  
  327.             var11.status();
  328.  
  329.             for(int var2 = 0; var2 < 65536; ++var2) {
  330.                this.field_28[var2] = (short)(255 - (var10[var2] & 255));
  331.             }
  332.          }
  333.       }
  334.  
  335.       if (var7) {
  336.          this.field_28[0] = 128;
  337.  
  338.          int var6;
  339.          for(int var1 = 256; var1 > 1; var1 = var6) {
  340.             var6 = var1 >> 1;
  341.             int var4 = var1 * 8 + 30;
  342.             int var5 = var4 >> 1;
  343.  
  344.             for(int var15 = 0; var15 < 256; var15 += var1) {
  345.                for(int var3 = 0; var3 < 256; var3 += var1) {
  346.                   short var23 = this.field_28[(var15 << 8) + var3];
  347.                   short var24 = this.field_28[((var15 + var1 & 255) << 8) + var3];
  348.                   short var25 = this.field_28[(var15 << 8) + (var3 + var1 & 255)];
  349.                   short var12 = this.field_28[((var15 + var1 & 255) << 8) + (var3 + var1 & 255)];
  350.                   short[] var10000 = this.field_28;
  351.                   int var10001 = (var15 << 8) + (var3 + var6 & 255);
  352.                   int var13 = (var23 + var25 >> 1) + ((int)(Math.random() * (double)10000.0F) % var4 - var5);
  353.                   var10000[var10001] = (short)((var13 < 0 ? 0 : (var13 > 255 ? 255 : var13)) & 255);
  354.                   var10000 = this.field_28;
  355.                   var10001 = ((var15 + var6 & 255) << 8) + (var3 + var6 & 255);
  356.                   var13 = (var23 + var24 + var25 + var12 >> 2) + ((int)(Math.random() * (double)10000.0F) % var4 - var5);
  357.                   var10000[var10001] = (short)((var13 < 0 ? 0 : (var13 > 255 ? 255 : var13)) & 255);
  358.                   var10000 = this.field_28;
  359.                   var10001 = ((var15 + var6 & 255) << 8) + var3;
  360.                   var13 = (var23 + var24 >> 1) + ((int)(Math.random() * (double)10000.0F) % var4 - var5);
  361.                   var10000[var10001] = (short)((var13 < 0 ? 0 : (var13 > 255 ? 255 : var13)) & 255);
  362.                }
  363.             }
  364.          }
  365.       }
  366.  
  367.       for(int var20 = 0; var20 < 3; ++var20) {
  368.          for(int var16 = 0; var16 < 65536; var16 += 256) {
  369.             for(int var18 = 0; var18 < 256; ++var18) {
  370.                this.field_28[var16 + var18] = (short)(this.field_28[(var16 + 256 & '\uff00') + var18] + this.field_28[var16 + (var18 + 1 & 255)] + this.field_28[(var16 - 256 & '\uff00') + var18] + this.field_28[var16 + (var18 - 1 & 255)] >> 2);
  371.             }
  372.          }
  373.       }
  374.  
  375.       for(int var17 = 0; var17 < 65536; var17 += 256) {
  376.          for(int var19 = 0; var19 < 256; ++var19) {
  377.             int var21 = 128 + (this.field_28[(var17 + 256 & '\uff00') + (var19 + 1 & 255)] - this.field_28[var17 + var19]) * this.field_83;
  378.             if (var21 < 0) {
  379.                var21 = 0;
  380.             }
  381.  
  382.             if (var21 > 255) {
  383.                var21 = 255;
  384.             }
  385.  
  386.             this.field_14[var17 + var19] = (short)var21;
  387.          }
  388.       }
  389.  
  390.    }
  391.  
  392.    public void destroy() {
  393.       if (this.field_62 != null) {
  394.          this.field_62.flush();
  395.       }
  396.  
  397.       this.field_62 = null;
  398.       if (this.field_58 != null) {
  399.          this.field_58.flush();
  400.       }
  401.  
  402.       this.field_58 = null;
  403.       if (this.field_57 != null) {
  404.          this.field_57.dispose();
  405.       }
  406.  
  407.       this.field_57 = null;
  408.       System.gc();
  409.    }
  410.  
  411.    // $FF: renamed from: a (byte[], byte[], byte[]) void
  412.    public final void method_4(byte[] var1, byte[] var2, byte[] var3) {
  413.       int var4 = 0;
  414.  
  415.       for(int var5 = 0; var5 < 16; ++var5) {
  416.          var1[var4] = 0;
  417.          var2[var4] = (byte)(16 + var5);
  418.          var3[var4++] = (byte)(32 + var5 * 4);
  419.       }
  420.  
  421.       for(int var6 = 0; var6 < 16; ++var6) {
  422.          var1[var4] = (byte)(var6 * 16);
  423.          var2[var4] = (byte)(32 + var6 * 2);
  424.          var3[var4++] = (byte)(96 + var6 * 2);
  425.       }
  426.  
  427.       for(int var7 = 0; var7 < 32; ++var7) {
  428.          var1[var4] = -1;
  429.          var2[var4] = (byte)(64 + var7 * 5);
  430.          var3[var4++] = (byte)(128 + var7 * 4);
  431.       }
  432.  
  433.       switch (this.field_55) {
  434.          case 1:
  435.             this.method_13(var1, var2, var3);
  436.             return;
  437.          case 2:
  438.             this.method_13(var1, var3, var2);
  439.             return;
  440.          case 3:
  441.             this.method_13(var2, var1, var3);
  442.             return;
  443.          case 4:
  444.             this.method_13(var2, var3, var1);
  445.             return;
  446.          case 5:
  447.             this.method_13(var3, var1, var2);
  448.             return;
  449.          case 6:
  450.             this.method_13(var3, var2, var1);
  451.             return;
  452.          case 7:
  453.             this.method_13(var1, var1, var2);
  454.             return;
  455.          case 8:
  456.             this.method_13(var1, var1, var3);
  457.             return;
  458.          case 9:
  459.             this.method_13(var1, var2, var1);
  460.             return;
  461.          case 10:
  462.             this.method_13(var1, var2, var2);
  463.             return;
  464.          case 11:
  465.             this.method_13(var1, var3, var1);
  466.             return;
  467.          case 12:
  468.             this.method_13(var1, var3, var3);
  469.             return;
  470.          case 13:
  471.             this.method_13(var2, var2, var1);
  472.             return;
  473.          case 14:
  474.             this.method_13(var2, var2, var3);
  475.             return;
  476.          case 15:
  477.             this.method_13(var2, var1, var1);
  478.             return;
  479.          case 16:
  480.             this.method_13(var2, var1, var2);
  481.             return;
  482.          case 17:
  483.             this.method_13(var2, var3, var2);
  484.             return;
  485.          case 18:
  486.             this.method_13(var2, var3, var3);
  487.             return;
  488.          case 19:
  489.             this.method_13(var3, var3, var1);
  490.             return;
  491.          case 20:
  492.             this.method_13(var3, var3, var2);
  493.             return;
  494.          case 21:
  495.             this.method_13(var3, var1, var1);
  496.             return;
  497.          case 22:
  498.             this.method_13(var3, var1, var3);
  499.             return;
  500.          case 23:
  501.             this.method_13(var3, var2, var2);
  502.             return;
  503.          case 24:
  504.             this.method_13(var3, var2, var3);
  505.             return;
  506.          case 25:
  507.             this.method_13(var1, var1, var1);
  508.             return;
  509.          case 26:
  510.             this.method_13(var3, var3, var3);
  511.             return;
  512.          case 27:
  513.             this.method_13(var2, var2, var2);
  514.             return;
  515.          default:
  516.       }
  517.    }
  518.  
  519.    // $FF: renamed from: a (java.lang.String) java.awt.Image
  520.    Image method_5(String var1) {
  521.       try {
  522.          return this.method_6(var1);
  523.       } catch (NoSuchMethodError var2) {
  524.          return this.method_6(var1);
  525.       }
  526.    }
  527.  
  528.    // $FF: renamed from: b (java.lang.String) java.awt.Image
  529.    synchronized Image method_6(String var1) {
  530.       URL var2 = null;
  531.       Image var3 = null;
  532.  
  533.       try {
  534.          var2 = new URL(((Applet)this).getDocumentBase(), var1);
  535.       } catch (MalformedURLException var14) {
  536.       }
  537.  
  538.       try {
  539.          try {
  540.             InputStream var4 = this.getClass().getResourceAsStream(var2.toString());
  541.             if (var4 != null) {
  542.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  543.                byte[] var6 = new byte[512];
  544.                boolean var8 = false;
  545.                Object var9 = null;
  546.  
  547.                try {
  548.                   while(!var8) {
  549.                      int var7 = var4.read(var6, 0, 512);
  550.                      if (var7 != -1) {
  551.                         var5.write(var6, 0, var7);
  552.                         ((OutputStream)var5).flush();
  553.                      } else {
  554.                         var8 = true;
  555.                      }
  556.                   }
  557.  
  558.                   var21 = var5.toByteArray();
  559.                   ((OutputStream)var5).close();
  560.                   var4.close();
  561.                } catch (IOException var15) {
  562.                   var21 = null;
  563.                }
  564.  
  565.                System.gc();
  566.                if (var21 != null) {
  567.                   var3 = ((Component)this).getToolkit().createImage(var21);
  568.                   ((Component)this).prepareImage(var3, this);
  569.                }
  570.             }
  571.          } catch (NoSuchMethodError var16) {
  572.          }
  573.       } catch (SecurityException var17) {
  574.       }
  575.  
  576.       if (var3 == null) {
  577.          int var18 = 0;
  578.  
  579.          while(var18 < 5) {
  580.             try {
  581.                if (var18 % 2 == 0) {
  582.                   var3 = Toolkit.getDefaultToolkit().getImage(var2);
  583.                } else {
  584.                   var3 = ((Applet)this).getImage(var2);
  585.                }
  586.  
  587.                ++var18;
  588.                MediaTracker var20 = new MediaTracker(this);
  589.                this.notifyAll();
  590.                Thread.currentThread();
  591.                Thread.yield();
  592.  
  593.                try {
  594.                   var20.addImage(var3, 0);
  595.                   var20.waitForID(0);
  596.                } catch (InterruptedException var12) {
  597.                   var3 = null;
  598.                }
  599.  
  600.                if (var20.isErrorID(0)) {
  601.                   var3 = null;
  602.                } else {
  603.                   var18 = 6;
  604.                }
  605.             } catch (NullPointerException var13) {
  606.                System.gc();
  607.             }
  608.          }
  609.       }
  610.  
  611.       if (var3 == null) {
  612.          for(int var19 = 0; var19 < 25; ++var19) {
  613.             ((Applet)this).showStatus(method_25("LT>sK%") + var1 + method_25("%W0`\u000ecV*zJ$"));
  614.  
  615.             try {
  616.                Thread.currentThread();
  617.                Thread.sleep(250L);
  618.             } catch (InterruptedException var11) {
  619.             }
  620.          }
  621.       } else {
  622.          while(var3.getWidth(this) < 0) {
  623.             this.notifyAll();
  624.             Thread.currentThread();
  625.             Thread.yield();
  626.  
  627.             try {
  628.                Thread.currentThread();
  629.                Thread.sleep(100L);
  630.             } catch (InterruptedException var10) {
  631.             }
  632.          }
  633.       }
  634.  
  635.       return var3;
  636.    }
  637.  
  638.    // $FF: renamed from: a (java.lang.String, int) void
  639.    public void method_7(String var1, int var2) {
  640.       try {
  641.          this.method_8(var1, var2);
  642.       } catch (NoSuchMethodError var3) {
  643.          this.method_8(var1, var2);
  644.       }
  645.    }
  646.  
  647.    // $FF: renamed from: b (java.lang.String, int) void
  648.    public void method_8(String var1, int var2) {
  649.       try {
  650.          URL var3 = new URL(((Applet)this).getDocumentBase(), var1);
  651.  
  652.          try {
  653.             DataInputStream var4 = new DataInputStream(var3.openStream());
  654.             if (var4 != null) {
  655.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  656.                byte[] var6 = new byte[512];
  657.                int var7 = 0;
  658.                int var8 = 0;
  659.                boolean var9 = false;
  660.  
  661.                try {
  662.                   while(!var9) {
  663.                      var7 = var4.read(var6, 0, 512);
  664.                      if (var7 == -1) {
  665.                         var9 = true;
  666.                      } else {
  667.                         var5.write(var6, 0, var7);
  668.                         ((OutputStream)var5).flush();
  669.                         var8 += var7;
  670.                      }
  671.                   }
  672.  
  673.                   byte[] var10 = var5.toByteArray();
  674.                   ((OutputStream)var5).close();
  675.                   Object var26 = null;
  676.                   ((FilterInputStream)var4).close();
  677.                   System.gc();
  678.                   if (var2 != 0) {
  679.                      int var29 = 1;
  680.  
  681.                      for(int var13 = 0; var13 < var8; ++var13) {
  682.                         if (var10[var13] == 10) {
  683.                            ++var29;
  684.                         }
  685.                      }
  686.  
  687.                      this.field_38 = new String[var29 - 1];
  688.                      int[] var14 = new int[var29 + 1];
  689.                      int[] var15 = new int[var29 + 1];
  690.                      var14[0] = 0;
  691.                      int var16 = 0;
  692.                      byte var17 = 0;
  693.  
  694.                      for(int var18 = 0; var18 < var8; ++var18) {
  695.                         byte var28 = var10[var18];
  696.                         if (var28 == 10) {
  697.                            var14[var16 + 1] = var18 + 1;
  698.                            if (var17 == 13) {
  699.                               var15[var16] = var18 - var14[var16] - 1;
  700.                            } else {
  701.                               var15[var16] = var18 - var14[var16];
  702.                            }
  703.  
  704.                            ++var16;
  705.                         }
  706.  
  707.                         var17 = var28;
  708.                      }
  709.  
  710.                      var15[var16] = var8 - var14[var16 + 1] - 1;
  711.  
  712.                      try {
  713.                         for(int var19 = 0; var19 < var29 - 1; ++var19) {
  714.                            try {
  715.                               this.field_38[var19] = new String(var10, var14[var19], var15[var19]);
  716.                            } catch (NoSuchMethodError var20) {
  717.                               this.field_38[var19] = new String(var10, 0, var14[var19], var15[var19]);
  718.                            }
  719.                         }
  720.  
  721.                         return;
  722.                      } catch (StringIndexOutOfBoundsException var22) {
  723.                         this.field_38 = null;
  724.                         return;
  725.                      }
  726.                   }
  727.  
  728.                   for(int var12 = 0; var12 < var8; ++var12) {
  729.                      byte var11 = var10[var12];
  730.                      if (var11 == 13 || var11 == 10) {
  731.                         var10[var12] = 32;
  732.                      }
  733.                   }
  734.  
  735.                   try {
  736.                      this.field_78 = new String(var10);
  737.                      return;
  738.                   } catch (NoSuchMethodError var21) {
  739.                      this.field_78 = new String(var10, 0);
  740.                      return;
  741.                   }
  742.                } catch (IOException var23) {
  743.                   return;
  744.                }
  745.             }
  746.          } catch (IOException var24) {
  747.             return;
  748.          }
  749.       } catch (MalformedURLException var25) {
  750.       }
  751.  
  752.    }
  753.  
  754.    // $FF: renamed from: a (java.awt.Graphics) void
  755.    public void method_9(Graphics var1) {
  756.       var1.setFont(this.field_21);
  757.       if (this.field_1 == 0) {
  758.          this.field_114 = this.field_115;
  759.       } else {
  760.          this.field_33 += this.field_104;
  761.          this.field_114 = this.field_115 - (int)Math.abs((double)this.field_1 * Math.sin((double)this.field_33 / (double)90.0F * Math.PI));
  762.       }
  763.  
  764.       if (this.field_85 != 0) {
  765.          for(int var2 = 0; var2 < this.field_106; ++var2) {
  766.             int var3 = this.field_90[this.field_84 + var2];
  767.             var1.copyArea(var2, var3, 1, this.field_87, 0, this.field_70 - var3);
  768.          }
  769.  
  770.          if (this.field_101) {
  771.             var1.setColor(this.field_82);
  772.             var1.drawString(this.field_78, this.field_112 + 1, this.field_70 + this.field_79 + 1);
  773.          }
  774.  
  775.          var1.setColor(this.field_97);
  776.          var1.drawString(this.field_78, this.field_112, this.field_70 + this.field_79);
  777.  
  778.          for(int var4 = 0; var4 < this.field_106; ++var4) {
  779.             var1.copyArea(var4, this.field_70, 1, this.field_88, 0, this.field_91[this.field_84 + var4]);
  780.          }
  781.  
  782.          this.field_84 -= this.field_89;
  783.          if (this.field_84 < 0) {
  784.             this.field_84 += 360;
  785.          }
  786.       } else {
  787.          if (this.field_101) {
  788.             var1.setColor(this.field_82);
  789.             var1.drawString(this.field_78, this.field_112 + 1, this.field_114 + 1);
  790.          }
  791.  
  792.          var1.setColor(this.field_97);
  793.          var1.drawString(this.field_78, this.field_112, this.field_114);
  794.       }
  795.  
  796.       this.field_112 -= this.field_105;
  797.       if (this.field_112 < -this.field_80) {
  798.          this.field_112 = this.field_106;
  799.       }
  800.  
  801.    }
  802.  
  803.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  804.       if (var1 == this.field_62) {
  805.          if (var2 == 16) {
  806.             this.field_59 = true;
  807.          }
  808.  
  809.          return true;
  810.       } else {
  811.          return true;
  812.       }
  813.    }
  814.  
  815.    public void init() {
  816.       ((Container)this).setLayout((LayoutManager)null);
  817.       ((Panel)this).addNotify();
  818.       this.field_95 = ((Applet)this).getParameter(method_25("vM>`[vT,s"));
  819.       this.field_102 = ((Component)this).getToolkit();
  820.       Object var1 = null;
  821.       String var37 = ((Applet)this).getParameter(method_25("fK:pGqJ"));
  822.       if (var37 != null) {
  823.          if (!var37.startsWith(method_25("DI/xKq\u0019=m\u000eCX=}A%z6aMfP\u007f<YrNqu@c"))) {
  824.             this.method_0();
  825.          }
  826.       } else {
  827.          this.method_0();
  828.       }
  829.  
  830.       Object var2 = null;
  831.       Object var3 = null;
  832.  
  833.       try {
  834.          var38 = ((Applet)this).getDocumentBase().getProtocol();
  835.       } catch (SecurityException var34) {
  836.          var38 = method_25("cP3q");
  837.       }
  838.  
  839.       try {
  840.          var39 = ((Applet)this).getDocumentBase().getHost();
  841.       } catch (SecurityException var33) {
  842.          var39 = "";
  843.       }
  844.  
  845.       if (!var38.equalsIgnoreCase(method_25("cP3q")) && var39.length() != 0 && !var39.equalsIgnoreCase(method_25("iV<uBmV,`")) && !var39.equals(method_25("4\u000bh:\u001e+\tq%"))) {
  846.          if (var39.startsWith(method_25("rN(:"))) {
  847.             var39 = var39.substring(4);
  848.          }
  849.  
  850.          Object var4 = null;
  851.          String var40 = ((Applet)this).getParameter(method_25("w\\8wAa\\"));
  852.          if (var40 != null && !var40.equals("NO") && var40.length() > 10) {
  853.             int var5 = 1;
  854.  
  855.             try {
  856.                for(int var6 = 0; var6 < var40.length(); ++var6) {
  857.                   if (var40.charAt(var6) == '+') {
  858.                      ++var5;
  859.                   }
  860.                }
  861.             } catch (StringIndexOutOfBoundsException var36) {
  862.             }
  863.  
  864.             int[] var43 = new int[var5];
  865.             if (var5 == 1) {
  866.                var43[0] = var40.length();
  867.             } else {
  868.                int var7 = 0;
  869.  
  870.                try {
  871.                   for(int var8 = 0; var8 < var40.length(); ++var8) {
  872.                      if (var40.charAt(var8) == '+') {
  873.                         var43[var7] = var8;
  874.                         ++var7;
  875.                      }
  876.                   }
  877.                } catch (StringIndexOutOfBoundsException var35) {
  878.                }
  879.  
  880.                var43[var7] = var40.length();
  881.             }
  882.  
  883.             String[] var45 = new String[var5];
  884.             int var47 = 0;
  885.  
  886.             for(int var9 = 0; var9 < var5; ++var9) {
  887.                try {
  888.                   var45[var9] = var40.substring(var47, var43[var9]);
  889.                } catch (StringIndexOutOfBoundsException var32) {
  890.                }
  891.  
  892.                var47 = var43[var9] + 1;
  893.             }
  894.  
  895.             for(int var10 = 0; var10 < var5; ++var10) {
  896.                int var11 = var45[var10].length() - 8;
  897.                byte[] var15 = new byte[var11];
  898.                byte[] var16 = new byte[8];
  899.                var45[var10].getBytes(0, var11, var15, 0);
  900.                var45[var10].getBytes(var11, var11 + 8, var16, 0);
  901.                int var13 = var11 % 7;
  902.                int var14 = var11 % 3;
  903.  
  904.                for(int var17 = 0; var17 < var11; ++var17) {
  905.                   byte var12 = var15[var17];
  906.                   if (var12 >= 48 && var12 <= 57) {
  907.                      var15[var17] = this.method_17(var12, var13, 48, 57);
  908.                   } else if (var12 >= 65 && var12 <= 90) {
  909.                      var15[var17] = this.method_17(var12, var13, 65, 90);
  910.                   } else if (var12 >= 97 && var12 <= 122) {
  911.                      var15[var17] = this.method_17(var12, var13, 97, 122);
  912.                   } else if (var12 == 45) {
  913.                      var15[var17] = 46;
  914.                   } else if (var12 == 46) {
  915.                      var15[var17] = 45;
  916.                   }
  917.  
  918.                   if ((var13 += var14) > 7) {
  919.                      var13 = 1;
  920.                   }
  921.                }
  922.  
  923.                int var18 = 0;
  924.                int var19 = 0;
  925.  
  926.                for(int var20 = 0; var20 < 4; ++var20) {
  927.                   var16[var20] = (byte)(var16[var20] - 52);
  928.                }
  929.  
  930.                for(int var21 = 4; var21 < 8; ++var21) {
  931.                   var16[var21] = (byte)(var16[var21] - 55);
  932.                }
  933.  
  934.                for(int var22 = 0; var22 < var11; var22 += 2) {
  935.                   var18 += var15[var22];
  936.                }
  937.  
  938.                for(int var23 = 1; var23 < var11; var23 += 2) {
  939.                   var19 += var15[var23];
  940.                }
  941.  
  942.                String var24 = String.valueOf(var18);
  943.  
  944.                String var25;
  945.                for(var25 = String.valueOf(var19); var24.length() < 4; var24 = "0" + var24) {
  946.                }
  947.  
  948.                while(var25.length() < 4) {
  949.                   var25 = "0" + var25;
  950.                }
  951.  
  952.                byte[] var26 = new byte[8];
  953.                var24.getBytes(0, 4, var26, 0);
  954.                var25.getBytes(0, 4, var26, 4);
  955.                String var27 = new String(var26, 0);
  956.                if (var27.equals(new String(var16, 0))) {
  957.                   String var28 = new String(var15, 0);
  958.                   Object var29 = null;
  959.                   String var58;
  960.                   if (var28.startsWith(method_25("rN(:"))) {
  961.                      var58 = var28.substring(4);
  962.                   } else {
  963.                      var58 = var28;
  964.                   }
  965.  
  966.                   if (var39.equalsIgnoreCase(var58)) {
  967.                      this.field_73 = true;
  968.                   }
  969.                }
  970.             }
  971.          }
  972.       } else {
  973.          this.field_73 = true;
  974.       }
  975.  
  976.       String var41 = ((Applet)this).getParameter(method_25("w\\8xGkR"));
  977.       if (var41 != null && !var41.equalsIgnoreCase("NO")) {
  978.          try {
  979.             this.field_39 = new URL(((Applet)this).getDocumentBase(), var41);
  980.          } catch (MalformedURLException var31) {
  981.             this.field_39 = null;
  982.          }
  983.       }
  984.  
  985.       String var42 = ((Applet)this).getParameter(method_25("w\\8zKr_-uC`"));
  986.       if (var42.equalsIgnoreCase(method_25("\\|\f"))) {
  987.          this.field_54 = true;
  988.       }
  989.  
  990.       Container var44;
  991.       for(var44 = ((Component)this).getParent(); !(var44 instanceof Frame); var44 = ((Component)var44).getParent()) {
  992.       }
  993.  
  994.       this.field_2 = (Frame)var44;
  995.       this.field_2.setCursor(3);
  996.       String var46 = ((Applet)this).getParameter(method_25("jO:fGh^"));
  997.       if (var46 != null && !var46.equalsIgnoreCase("NO")) {
  998.          this.field_62 = this.method_5(var46);
  999.          if (this.field_62 != null) {
  1000.             String var48 = ((Applet)this).getParameter(method_25("jO:fGh^\u0007"));
  1001.             if (var48 == null) {
  1002.                var48 = "0";
  1003.             }
  1004.  
  1005.             this.field_63 = Integer.valueOf(var48);
  1006.             String var51 = ((Applet)this).getParameter(method_25("jO:fGh^\u0006"));
  1007.             if (var51 == null) {
  1008.                var51 = "0";
  1009.             }
  1010.  
  1011.             this.field_64 = Integer.valueOf(var51);
  1012.          }
  1013.       }
  1014.  
  1015.       this.field_49 = ((Applet)this).getParameter(method_25("HP1GwKz"));
  1016.       if (this.field_49 == null) {
  1017.          this.field_49 = "10";
  1018.       }
  1019.  
  1020.       this.field_41 = Integer.valueOf(this.field_49);
  1021.       this.field_45 = ((Applet)this).getParameter(method_25("w\\,"));
  1022.       if (this.field_45 == null) {
  1023.          this.field_45 = "1";
  1024.       }
  1025.  
  1026.       this.field_46 = ((Applet)this).getParameter(method_25("vQ>pAr"));
  1027.       if (this.field_46 == null) {
  1028.          this.field_46 = "4";
  1029.       }
  1030.  
  1031.       this.field_47 = ((Applet)this).getParameter(method_25("kL2dOi"));
  1032.       if (this.field_47 == null) {
  1033.          this.field_47 = "2";
  1034.       }
  1035.  
  1036.       this.field_48 = ((Applet)this).getParameter(method_25("wV*sFk\\,g"));
  1037.       if (this.field_48 == null) {
  1038.          this.field_48 = method_25("4\no");
  1039.       }
  1040.  
  1041.       this.field_50 = ((Applet)this).getParameter(method_25("cP'zKqJ<u^`"));
  1042.       if (this.field_50.equalsIgnoreCase(method_25("\\|\f"))) {
  1043.          this.field_20 = true;
  1044.       } else {
  1045.          this.field_20 = false;
  1046.       }
  1047.  
  1048.       this.field_51 = ((Applet)this).getParameter(method_25("gX<\u007f\\"));
  1049.       if (this.field_51 == null) {
  1050.          this.field_51 = "0";
  1051.       }
  1052.  
  1053.       this.field_52 = ((Applet)this).getParameter(method_25("gX<\u007fI"));
  1054.       if (this.field_52 == null) {
  1055.          this.field_52 = "0";
  1056.       }
  1057.  
  1058.       this.field_42 = ((Applet)this).getParameter(method_25("gX<\u007fL"));
  1059.       if (this.field_42 == null) {
  1060.          this.field_42 = "0";
  1061.       }
  1062.  
  1063.       this.field_43 = ((Applet)this).getParameter(method_25("h\\2pKiX&"));
  1064.       this.field_44 = ((Applet)this).getParameter(method_25("uK6{\\lM&"));
  1065.       this.field_8 = Integer.valueOf(this.field_51);
  1066.       this.field_7 = Integer.valueOf(this.field_52);
  1067.       this.field_5 = Integer.valueOf(this.field_42);
  1068.       this.field_40 = Integer.valueOf(this.field_43);
  1069.       this.field_66 = Integer.valueOf(this.field_44);
  1070.       if (this.field_40 < 0) {
  1071.          this.field_40 = 0;
  1072.       }
  1073.  
  1074.       if (this.field_66 > 10) {
  1075.          this.field_66 = 10;
  1076.       } else if (this.field_66 < 1) {
  1077.          this.field_66 = 1;
  1078.       }
  1079.  
  1080.       this.field_6 = -16777216 | this.field_8 << 16 | this.field_7 << 8 | this.field_5;
  1081.       this.field_83 = Integer.valueOf(this.field_46);
  1082.       this.field_75 = Integer.valueOf(this.field_48);
  1083.       if (this.field_75 > 200) {
  1084.          this.field_75 = 200;
  1085.       } else if (this.field_75 < 50) {
  1086.          this.field_75 = 50;
  1087.       }
  1088.  
  1089.       this.field_55 = Integer.valueOf(this.field_47);
  1090.       if (this.field_55 > 27) {
  1091.          this.field_55 = 27;
  1092.       } else if (this.field_55 < 1) {
  1093.          this.field_55 = 1;
  1094.       }
  1095.  
  1096.       this.field_74 = Integer.valueOf(this.field_45);
  1097.       if (this.field_74 > 8) {
  1098.          this.field_74 = 8;
  1099.       } else if (this.field_74 < 1) {
  1100.          this.field_74 = 1;
  1101.       }
  1102.  
  1103.       this.field_45 = ((Applet)this).getParameter(method_25("mV-}TjW"));
  1104.       if (this.field_45 == null) {
  1105.          this.field_45 = "0";
  1106.       }
  1107.  
  1108.       this.field_29 = Integer.valueOf(this.field_45);
  1109.       Dimension var56 = ((Component)this).size();
  1110.       this.field_109 = var56.width / this.field_74;
  1111.       this.field_25 = var56.height / this.field_74;
  1112.       this.field_71 = this.field_109 * this.field_74;
  1113.       this.field_70 = this.field_25 * this.field_74;
  1114.       this.field_94 = this.field_25 / 4;
  1115.       this.field_93 = this.field_109 * this.field_94;
  1116.       this.field_96 = this.field_109 * (int)((double)this.field_25 / (double)1.5F);
  1117.       this.field_69 = this.field_96 - this.field_93;
  1118.       this.field_72 = new byte[128];
  1119.       this.field_24 = new byte[128];
  1120.       this.field_9 = new byte[128];
  1121.       byte[] var49 = new byte[64];
  1122.       byte[] var52 = new byte[64];
  1123.       byte[] var54 = new byte[64];
  1124.       this.method_4(var49, var52, var54);
  1125.       this.field_72[65] = (byte)this.field_8;
  1126.       this.field_24[65] = (byte)this.field_7;
  1127.       this.field_9[65] = (byte)this.field_5;
  1128.       this.field_15 = new IndexColorModel(7, 128, this.field_72, this.field_24, this.field_9);
  1129.       if (this.field_20) {
  1130.          this.field_19 = new int[this.field_109 * this.field_25];
  1131.  
  1132.          for(this.field_16 = 0; this.field_16 < this.field_93; ++this.field_16) {
  1133.             this.field_19[this.field_16] = this.field_6;
  1134.          }
  1135.  
  1136.          this.field_65 = new int[64];
  1137.  
  1138.          for(this.field_30 = 0; this.field_30 < 64; ++this.field_30) {
  1139.             this.field_65[this.field_30] = -16777216 | (this.field_72[this.field_30] & 255) << 16 | (this.field_24[this.field_30] & 255) << 8 | this.field_9[this.field_30] & 255;
  1140.          }
  1141.  
  1142.          this.field_12 = new int[this.field_69];
  1143.  
  1144.          for(this.field_16 = 0; this.field_16 < this.field_69; ++this.field_16) {
  1145.             this.field_12[this.field_16] = this.field_6;
  1146.          }
  1147.       } else {
  1148.          this.field_10 = new byte[this.field_109 * this.field_25];
  1149.  
  1150.          for(this.field_16 = 0; this.field_16 < this.field_93; ++this.field_16) {
  1151.             this.field_10[this.field_16] = 65;
  1152.          }
  1153.  
  1154.          this.field_13 = new byte[this.field_69];
  1155.  
  1156.          for(this.field_16 = 0; this.field_16 < this.field_69; ++this.field_16) {
  1157.             this.field_13[this.field_16] = 65;
  1158.          }
  1159.       }
  1160.  
  1161.       this.field_28 = new short[65536];
  1162.       this.field_14 = new short[65536];
  1163.       this.field_37 = new int[this.field_109];
  1164.       this.field_36 = new int[this.field_109];
  1165.       this.method_3();
  1166.       this.field_0 = 0.0F;
  1167.       this.field_35 = this.field_111 = this.field_113 = 0;
  1168.       this.field_76 = 4096.0F;
  1169.       this.field_92 = 44000.0F;
  1170.       this.field_77 = 0.01F;
  1171.  
  1172.       try {
  1173.          this.method_10();
  1174.       } catch (NoSuchMethodError var30) {
  1175.          this.method_10();
  1176.       }
  1177.  
  1178.       this.method_18();
  1179.       this.field_58 = ((Component)this).createImage(this.field_71, this.field_70 + this.field_87);
  1180.       this.field_57 = this.field_58.getGraphics();
  1181.       if (!this.field_73) {
  1182.          Label var57 = new Label(method_25("DW9m\u000eSV'qB%X/dB`M\u007fvW%\u007f>vGj\u0019\u001c}[fZ64\u001f<\u0000i;\u0017=\u0017"));
  1183.          this.field_110 = new Lware(((Applet)this).getAppletContext(), var57);
  1184.          this.field_110.setTitle(method_25("SV'qB%x/dB`M\u007fvW%\u007f>vGj\u0019\u001c}[fZ6"));
  1185.          this.field_110.hide();
  1186.       }
  1187.  
  1188.       this.field_72 = null;
  1189.       this.field_24 = null;
  1190.       this.field_9 = null;
  1191.       Object var50 = null;
  1192.       Object var53 = null;
  1193.       Object var55 = null;
  1194.    }
  1195.  
  1196.    // $FF: renamed from: d () void
  1197.    void method_10() {
  1198.       if (!this.field_20) {
  1199.          this.field_68 = new MemoryImageSource(this.field_109, this.field_25, this.field_15, this.field_10, 0, this.field_109);
  1200.       } else {
  1201.          this.field_68 = new MemoryImageSource(this.field_109, this.field_25, new DirectColorModel(24, 16711680, 65280, 255), this.field_19, 0, this.field_109);
  1202.       }
  1203.  
  1204.       String var1;
  1205.       try {
  1206.          var1 = System.getProperty(method_25("oX)u\u0000s\\-gGjW"));
  1207.       } catch (SecurityException var3) {
  1208.          var1 = method_25("pW4");
  1209.       }
  1210.  
  1211.       if (!var1.startsWith(method_25("4\u0017o"))) {
  1212.          try {
  1213.             this.field_68.setAnimated(true);
  1214.             this.field_68.setFullBufferUpdates(true);
  1215.             this.field_31 = ((Component)this).createImage(this.field_68);
  1216.             this.field_68.newPixels();
  1217.             this.field_34 = true;
  1218.          } catch (NoSuchMethodError var2) {
  1219.             this.field_34 = false;
  1220.          }
  1221.       }
  1222.  
  1223.       if (!this.field_34) {
  1224.          this.field_68 = null;
  1225.          if (!this.field_20) {
  1226.             this.field_67 = new anfy(this.field_109, this.field_25, this.field_15, this.field_10, 0, this.field_109);
  1227.          } else {
  1228.             this.field_67 = new anfy(this.field_109, this.field_25, new DirectColorModel(24, 16711680, 65280, 255), this.field_19, 0, this.field_109);
  1229.          }
  1230.  
  1231.          this.field_31 = ((Component)this).createImage(this.field_67);
  1232.       }
  1233.  
  1234.    }
  1235.  
  1236.    // $FF: renamed from: a (int, int, int, int, int) void
  1237.    void method_11(int var1, int var2, int var3, int var4, int var5) {
  1238.       int var23 = (var3 - var1) / this.field_109;
  1239.       int var24 = (var4 - var2) / this.field_109;
  1240.       int var25 = this.field_109;
  1241.       short[] var26 = this.field_28;
  1242.       short[] var27 = this.field_14;
  1243.       byte[] var28 = this.field_10;
  1244.       int var29 = this.field_25 - 1;
  1245.  
  1246.       for(int var22 = 0; var22 < var25; ++var22) {
  1247.          int var8 = var1 >> 16 & 255;
  1248.          int var18 = 255 - (var1 >> 8 & 255);
  1249.          int var9 = var2 >> 8 & '\uff00';
  1250.          int var12 = 255 - (var2 >> 8 & 255);
  1251.          int var10 = var8 + 1 & 255;
  1252.          int var11 = var9 + 256 & '\uff00';
  1253.          short var13 = var26[var8 + var9];
  1254.          short var15 = var26[var8 + var11];
  1255.          short var14 = var26[var10 + var9];
  1256.          short var16 = var26[var10 + var11];
  1257.          int var17 = var12 * (var18 * var13 + (256 - var18) * var14) + (256 - var12) * (var18 * var15 + (256 - var18) * var16) >> 16;
  1258.          var13 = var27[var8 + var9];
  1259.          var15 = var27[var8 + var11];
  1260.          var14 = var27[var10 + var9];
  1261.          var16 = var27[var10 + var11];
  1262.          int var6 = var12 * (var18 * var13 + (256 - var18) * var14) + (256 - var12) * (var18 * var15 + (256 - var18) * var16);
  1263.          int var7 = (var17 * var5 >> 11) + this.field_94;
  1264.          var18 = this.field_37[var22];
  1265.          if (var7 < var18) {
  1266.             int var19 = var18 * var25 + var22;
  1267.             if (this.field_36[var22] == -1) {
  1268.                this.field_36[var22] = var6;
  1269.             }
  1270.  
  1271.             int var20 = (var6 - this.field_36[var22]) / (var18 - var7);
  1272.             int var21 = this.field_36[var22];
  1273.             if (var18 > var29) {
  1274.                var19 -= (var18 - var29) * var25;
  1275.                var21 += (var18 - var29) * var20;
  1276.                var18 = var29;
  1277.             }
  1278.  
  1279.             if (var7 < 0) {
  1280.                var7 = 0;
  1281.             }
  1282.  
  1283.             while(var7 < var18) {
  1284.                var28[var19] = (byte)(var21 >> 18);
  1285.                var21 += var20;
  1286.                var19 -= var25;
  1287.                --var18;
  1288.             }
  1289.  
  1290.             this.field_37[var22] = var7;
  1291.          }
  1292.  
  1293.          this.field_36[var22] = var6;
  1294.          var1 += var23;
  1295.          var2 += var24;
  1296.       }
  1297.  
  1298.    }
  1299.  
  1300.    // $FF: renamed from: b (int, int, int, int, int) void
  1301.    void method_12(int var1, int var2, int var3, int var4, int var5) {
  1302.       int var23 = (var3 - var1) / this.field_109;
  1303.       int var24 = (var4 - var2) / this.field_109;
  1304.       int var25 = this.field_109;
  1305.       short[] var26 = this.field_28;
  1306.       short[] var27 = this.field_14;
  1307.       int[] var28 = this.field_19;
  1308.       int[] var29 = this.field_65;
  1309.       int var30 = this.field_25 - 1;
  1310.  
  1311.       for(int var22 = 0; var22 < var25; ++var22) {
  1312.          int var8 = var1 >> 16 & 255;
  1313.          int var18 = 255 - (var1 >> 8 & 255);
  1314.          int var9 = var2 >> 8 & '\uff00';
  1315.          int var12 = 255 - (var2 >> 8 & 255);
  1316.          int var10 = var8 + 1 & 255;
  1317.          int var11 = var9 + 256 & '\uff00';
  1318.          short var13 = var26[var8 + var9];
  1319.          short var15 = var26[var8 + var11];
  1320.          short var14 = var26[var10 + var9];
  1321.          short var16 = var26[var10 + var11];
  1322.          int var17 = var12 * (var18 * var13 + (256 - var18) * var14) + (256 - var12) * (var18 * var15 + (256 - var18) * var16) >> 16;
  1323.          var13 = var27[var8 + var9];
  1324.          var15 = var27[var8 + var11];
  1325.          var14 = var27[var10 + var9];
  1326.          var16 = var27[var10 + var11];
  1327.          int var6 = var12 * (var18 * var13 + (256 - var18) * var14) + (256 - var12) * (var18 * var15 + (256 - var18) * var16);
  1328.          int var7 = (var17 * var5 >> 11) + this.field_94;
  1329.          var18 = this.field_37[var22];
  1330.          if (var7 < var18) {
  1331.             int var19 = var18 * var25 + var22;
  1332.             if (this.field_36[var22] == -1) {
  1333.                this.field_36[var22] = var6;
  1334.             }
  1335.  
  1336.             int var20 = (var6 - this.field_36[var22]) / (var18 - var7);
  1337.             int var21 = this.field_36[var22];
  1338.             if (var18 > var30) {
  1339.                var19 -= (var18 - var30) * var25;
  1340.                var21 += (var18 - var30) * var20;
  1341.                var18 = var30;
  1342.             }
  1343.  
  1344.             if (var7 < 0) {
  1345.                var7 = 0;
  1346.             }
  1347.  
  1348.             while(var7 < var18) {
  1349.                var28[var19] = var29[var21 >> 18];
  1350.                var21 += var20;
  1351.                var19 -= var25;
  1352.                --var18;
  1353.             }
  1354.  
  1355.             this.field_37[var22] = var7;
  1356.          }
  1357.  
  1358.          this.field_36[var22] = var6;
  1359.          var1 += var23;
  1360.          var2 += var24;
  1361.       }
  1362.  
  1363.    }
  1364.  
  1365.    public final synchronized boolean mouseDown(Event var1, int var2, int var3) {
  1366.       if (!this.field_73) {
  1367.          this.field_110.show();
  1368.          this.field_110.toFront();
  1369.          this.field_110.requestFocus();
  1370.       } else if (this.field_39 != null) {
  1371.          if (this.field_54) {
  1372.             ((Applet)this).getAppletContext().showDocument(this.field_39, ((Applet)this).getParameter(method_25("w\\8r\\dT:zOh\\")));
  1373.          } else {
  1374.             ((Applet)this).getAppletContext().showDocument(this.field_39);
  1375.          }
  1376.       }
  1377.  
  1378.       this.field_35 = 0;
  1379.       this.field_92 = 44000.0F;
  1380.       this.field_77 = 0.01F;
  1381.       return true;
  1382.    }
  1383.  
  1384.    public final boolean mouseEnter(Event var1, int var2, int var3) {
  1385.       ((Applet)this).showStatus(this.field_95);
  1386.       return true;
  1387.    }
  1388.  
  1389.    public final boolean mouseExit(Event var1, int var2, int var3) {
  1390.       ((Applet)this).showStatus("");
  1391.       return true;
  1392.    }
  1393.  
  1394.    public final synchronized boolean mouseMove(Event var1, int var2, int var3) {
  1395.       if (var2 < this.field_60) {
  1396.          this.field_77 = (float)((double)this.field_77 - 0.005);
  1397.       } else {
  1398.          this.field_77 = (float)((double)this.field_77 + 0.005);
  1399.       }
  1400.  
  1401.       if (var3 > this.field_61) {
  1402.          this.field_92 -= this.field_76;
  1403.       } else if (var3 < this.field_61) {
  1404.          this.field_92 += this.field_76;
  1405.       }
  1406.  
  1407.       this.field_60 = var2;
  1408.       this.field_61 = var3;
  1409.       return true;
  1410.    }
  1411.  
  1412.    public final void paint(Graphics var1) {
  1413.       if (this.field_31 != null) {
  1414.          if (this.field_74 == 1) {
  1415.             this.field_57.drawImage(this.field_31, 0, 0, this);
  1416.          } else {
  1417.             this.method_15();
  1418.             this.field_57.drawImage(this.field_31, 0, 0, this.field_71, this.field_70, this);
  1419.          }
  1420.  
  1421.          if (this.field_62 != null) {
  1422.             this.method_14();
  1423.          }
  1424.  
  1425.          if (this.field_100) {
  1426.             this.method_19(this.field_57);
  1427.          }
  1428.  
  1429.          var1.drawImage(this.field_58, 0, 0, this);
  1430.       }
  1431.  
  1432.    }
  1433.  
  1434.    // $FF: renamed from: b (byte[], byte[], byte[]) void
  1435.    public final void method_13(byte[] var1, byte[] var2, byte[] var3) {
  1436.       int var4 = 0;
  1437.  
  1438.       for(int var5 = 0; var5 < 64; ++var5) {
  1439.          this.field_72[var4] = var1[var4];
  1440.          this.field_24[var4] = var2[var4];
  1441.          this.field_9[var4] = var3[var4];
  1442.          ++var4;
  1443.       }
  1444.  
  1445.    }
  1446.  
  1447.    // $FF: renamed from: e () void
  1448.    public synchronized void method_14() {
  1449.       if (this.field_3) {
  1450.          this.notifyAll();
  1451.  
  1452.          while(!this.field_59) {
  1453.             Thread.yield();
  1454.  
  1455.             try {
  1456.                Thread.sleep(8L);
  1457.             } catch (InterruptedException var1) {
  1458.             }
  1459.          }
  1460.  
  1461.          this.field_59 = false;
  1462.       }
  1463.  
  1464.       this.field_57.drawImage(this.field_62, this.field_63, this.field_64, this);
  1465.    }
  1466.  
  1467.    // $FF: renamed from: f () void
  1468.    public synchronized void method_15() {
  1469.       int var1 = 0;
  1470.       ((Component)this).prepareImage(this.field_31, this.field_71, this.field_70, this);
  1471.       this.notifyAll();
  1472.  
  1473.       while((var1 & 240) == 0) {
  1474.          Thread.yield();
  1475.          var1 = ((Component)this).checkImage(this.field_31, this.field_71, this.field_70, this);
  1476.       }
  1477.  
  1478.    }
  1479.  
  1480.    // $FF: renamed from: g () void
  1481.    public final void method_16() {
  1482.       try {
  1483.          if (this.field_34) {
  1484.             this.field_68.newPixels();
  1485.          } else {
  1486.             this.field_67.startProduction(this.field_67.getConsumer());
  1487.          }
  1488.       } catch (NoSuchMethodError var1) {
  1489.       }
  1490.    }
  1491.  
  1492.    public void run() {
  1493.       this.field_103.setPriority(this.field_66);
  1494.       ((Applet)this).showStatus("");
  1495.       System.gc();
  1496.       this.field_17 = System.currentTimeMillis();
  1497.       Graphics var1 = ((Component)this).getGraphics();
  1498.       if (this.field_62 != null && !this.field_3) {
  1499.          this.field_3 = this.method_1();
  1500.       }
  1501.  
  1502.       if (this.field_39 != null) {
  1503.          this.field_2.setCursor(12);
  1504.       } else {
  1505.          this.field_2.setCursor(0);
  1506.       }
  1507.  
  1508.       while(this.field_103 != null) {
  1509.          if (!this.field_20) {
  1510.             this.method_21(this.field_111, this.field_113, this.field_0);
  1511.          } else {
  1512.             this.method_22(this.field_111, this.field_113, this.field_0);
  1513.          }
  1514.  
  1515.          this.field_111 = (int)((double)this.field_111 + (double)this.field_92 * Math.cos((double)this.field_0));
  1516.          this.field_113 = (int)((double)this.field_113 + (double)this.field_92 * Math.sin((double)this.field_0));
  1517.          this.field_0 += this.field_77;
  1518.          if (++this.field_11 == this.field_40) {
  1519.             System.gc();
  1520.             this.field_11 = 0;
  1521.          }
  1522.  
  1523.          try {
  1524.             this.method_16();
  1525.          } catch (NoSuchMethodError var2) {
  1526.          }
  1527.  
  1528.          if (this.field_74 == 1) {
  1529.             this.field_57.drawImage(this.field_31, 0, 0, this);
  1530.          } else {
  1531.             this.method_15();
  1532.             this.field_57.drawImage(this.field_31, 0, 0, this.field_71, this.field_70, this);
  1533.          }
  1534.  
  1535.          if (this.field_62 != null) {
  1536.             this.method_14();
  1537.          }
  1538.  
  1539.          if (this.field_100) {
  1540.             this.method_19(this.field_57);
  1541.          }
  1542.  
  1543.          var1.drawImage(this.field_58, 0, 0, this);
  1544.          this.method_23();
  1545.       }
  1546.  
  1547.    }
  1548.  
  1549.    // $FF: renamed from: a (int, int, int, int) byte
  1550.    byte method_17(int var1, int var2, int var3, int var4) {
  1551.       int var5 = var1 - var2;
  1552.       if (var5 >= var3) {
  1553.          return (byte)var5;
  1554.       } else {
  1555.          int var6 = var3 - var5 - 1;
  1556.          return (byte)(var4 - var6);
  1557.       }
  1558.    }
  1559.  
  1560.    // $FF: renamed from: h () void
  1561.    public void method_18() {
  1562.       Object var1 = null;
  1563.       this.field_100 = false;
  1564.       String var18 = ((Applet)this).getParameter(method_25("q\\'`]fK0xB"));
  1565.       if (var18 != null && !var18.equalsIgnoreCase("NO")) {
  1566.          Object var2 = null;
  1567.          String var19 = ((Applet)this).getParameter(method_25("q\\'`Z|I:"));
  1568.          if (var19 == null) {
  1569.             var19 = method_25("mV-}TjW+uB");
  1570.          }
  1571.  
  1572.          if (var19.equals(method_25("mV-}TjW+uB"))) {
  1573.             this.field_81 = 0;
  1574.          } else if (var19.equals(method_25("s\\-`GfX3"))) {
  1575.             this.field_81 = 1;
  1576.          } else if (var19.equals(method_25("\u007fV0yGk^"))) {
  1577.             this.field_81 = 2;
  1578.          } else if (var19.equals(method_25("lW)nAjT6zI"))) {
  1579.             this.field_81 = 3;
  1580.          }
  1581.  
  1582.          if (this.field_81 == 0) {
  1583.             this.method_7(var18, 0);
  1584.             if (this.field_78 != null) {
  1585.                this.field_100 = true;
  1586.             }
  1587.          } else {
  1588.             this.method_7(var18, 1);
  1589.             if (this.field_38 != null) {
  1590.                this.field_100 = true;
  1591.             }
  1592.          }
  1593.       }
  1594.  
  1595.       if (this.field_100) {
  1596.          Object var20 = null;
  1597.          String var21 = ((Applet)this).getParameter(method_25("q\\'`]u\\:p"));
  1598.          if (var21 == null) {
  1599.             var21 = "0";
  1600.          }
  1601.  
  1602.          this.field_105 = Integer.valueOf(var21);
  1603.          Object var3 = null;
  1604.          String var22 = ((Applet)this).getParameter(method_25("q\\'`HjW+"));
  1605.          if (var22 == null) {
  1606.             var22 = method_25("DK6uB");
  1607.          }
  1608.  
  1609.          int var4 = 0;
  1610.          Object var5 = null;
  1611.          String var23 = ((Applet)this).getParameter(method_25("q\\'`LjU;"));
  1612.          if (var23.equalsIgnoreCase(method_25("\\|\f"))) {
  1613.             ++var4;
  1614.          }
  1615.  
  1616.          Object var6 = null;
  1617.          String var24 = ((Applet)this).getParameter(method_25("q\\'`GqX3}M"));
  1618.          if (var24 == null) {
  1619.             var24 = "NO";
  1620.          }
  1621.  
  1622.          if (var24.equalsIgnoreCase(method_25("\\|\f"))) {
  1623.             var4 += 2;
  1624.          }
  1625.  
  1626.          Object var7 = null;
  1627.          String var25 = ((Applet)this).getParameter(method_25("q\\'`]lC:"));
  1628.          if (var25 == null) {
  1629.             var25 = "12";
  1630.          }
  1631.  
  1632.          int var8 = Integer.valueOf(var25);
  1633.          this.field_21 = new Font(var22, var4, var8);
  1634.          Object var9 = null;
  1635.          String var26 = ((Applet)this).getParameter(method_25("q\\'`]mX;{Y"));
  1636.          if (var26.equalsIgnoreCase(method_25("\\|\f"))) {
  1637.             this.field_101 = true;
  1638.          } else {
  1639.             this.field_101 = false;
  1640.          }
  1641.  
  1642.          this.field_97 = new Color(Integer.valueOf(((Applet)this).getParameter(method_25("Q\\'`mjU\r"))), Integer.valueOf(((Applet)this).getParameter(method_25("Q\\'`mjU\u0018"))), Integer.valueOf(((Applet)this).getParameter(method_25("Q\\'`mjU\u001d"))));
  1643.          this.field_82 = new Color(Integer.valueOf(((Applet)this).getParameter(method_25("Q\\'`}FV3F"))), Integer.valueOf(((Applet)this).getParameter(method_25("Q\\'`}FV3S"))), Integer.valueOf(((Applet)this).getParameter(method_25("Q\\'`}FV3V"))));
  1644.          this.field_106 = ((Component)this).size().width;
  1645.          this.field_107 = ((Component)this).size().height;
  1646.          if (this.field_81 == 0) {
  1647.             Object var10 = null;
  1648.             String var27 = ((Applet)this).getParameter(method_25("q\\'`Ac_,qZ"));
  1649.             if (var27 == null) {
  1650.                var27 = "0";
  1651.             }
  1652.  
  1653.             this.field_115 = Integer.valueOf(var27);
  1654.             if (this.field_115 < 0) {
  1655.                this.field_115 = 0;
  1656.             }
  1657.  
  1658.             Object var11 = null;
  1659.             String var32 = ((Applet)this).getParameter(method_25("Q\\'`dpT/UCu"));
  1660.             if (var32 == null) {
  1661.                var32 = "0";
  1662.             }
  1663.  
  1664.             this.field_1 = Integer.valueOf(var32);
  1665.             Object var12 = null;
  1666.             String var36 = ((Applet)this).getParameter(method_25("Q\\'`dpT/G^a"));
  1667.             if (var36 == null) {
  1668.                var36 = "0";
  1669.             }
  1670.  
  1671.             this.field_104 = Integer.valueOf(var36);
  1672.             Object var13 = null;
  1673.             String var39 = ((Applet)this).getParameter(method_25("Q\\'`}lW:UCu"));
  1674.             if (var39 == null) {
  1675.                var39 = "0";
  1676.             }
  1677.  
  1678.             this.field_85 = Integer.valueOf(var39);
  1679.             Object var14 = null;
  1680.             String var40 = ((Applet)this).getParameter(method_25("Q\\'`}lW:G^a"));
  1681.             if (var40 == null) {
  1682.                var40 = "0";
  1683.             }
  1684.  
  1685.             this.field_89 = Integer.valueOf(var40);
  1686.             Object var15 = null;
  1687.             String var41 = ((Applet)this).getParameter(method_25("Q\\'`}lW:U@bU:"));
  1688.             if (var41 == null) {
  1689.                var41 = "0";
  1690.             }
  1691.  
  1692.             this.field_86 = Integer.valueOf(var41);
  1693.             FontMetrics var16 = ((Component)this).getGraphics().getFontMetrics(this.field_21);
  1694.             this.field_80 = var16.stringWidth(this.field_78);
  1695.             this.field_79 = var16.getHeight();
  1696.             this.field_18 = var16.getMaxDescent();
  1697.             this.field_112 = this.field_106;
  1698.             if (this.field_115 < this.field_79 - this.field_18) {
  1699.                this.field_115 = this.field_79 - this.field_18;
  1700.             } else if (this.field_115 > this.field_107 - this.field_18) {
  1701.                this.field_115 = this.field_107 - this.field_18;
  1702.             }
  1703.  
  1704.             if (this.field_85 != 0) {
  1705.                this.field_90 = new int[this.field_106 + 360];
  1706.                this.field_91 = new int[this.field_106 + 360];
  1707.  
  1708.                for(int var17 = 0; var17 < this.field_106 + 360; ++var17) {
  1709.                   this.field_90[var17] = (int)((double)this.field_85 * Math.sin((double)this.field_86 * (double)var17 * Math.PI / (double)180.0F)) - this.field_79 - this.field_18 + this.field_115;
  1710.                   this.field_91[var17] = this.field_90[var17] - this.field_70;
  1711.                }
  1712.  
  1713.                this.field_84 = 360;
  1714.                this.field_87 = this.field_79 + this.field_18 + 1;
  1715.                this.field_88 = this.field_87 - 1;
  1716.                return;
  1717.             }
  1718.          } else {
  1719.             if (this.field_81 == 1) {
  1720.                Object var30 = null;
  1721.                String var31 = ((Applet)this).getParameter(method_25("q\\'`XvI>wK"));
  1722.                if (var31 == null) {
  1723.                   var31 = "10";
  1724.                }
  1725.  
  1726.                int var35 = Integer.valueOf(var31);
  1727.                FontMetrics var38 = ((Component)this).getGraphics().getFontMetrics(this.field_21);
  1728.                this.field_23 = var38.getHeight() + var35;
  1729.                this.field_108 = new int[this.field_38.length];
  1730.  
  1731.                for(this.field_30 = 0; this.field_30 < this.field_38.length; ++this.field_30) {
  1732.                   this.field_108[this.field_30] = (this.field_106 - var38.stringWidth(this.field_38[this.field_30])) / 2;
  1733.                }
  1734.  
  1735.                this.field_53 = -this.field_23;
  1736.                return;
  1737.             }
  1738.  
  1739.             if (this.field_81 >= 2) {
  1740.                Object var28 = null;
  1741.                String var29 = ((Applet)this).getParameter(method_25("q\\'`ClW9{@q"));
  1742.                if (var29 == null) {
  1743.                   var29 = "2";
  1744.                }
  1745.  
  1746.                this.field_99 = Integer.valueOf(var29);
  1747.                Object var33 = null;
  1748.                String var34 = ((Applet)this).getParameter(method_25("q\\'`CdA9{@q"));
  1749.                if (var34 == null) {
  1750.                   var34 = "72";
  1751.                }
  1752.  
  1753.                this.field_98 = Integer.valueOf(var34);
  1754.                this.field_56 = this.field_98 - this.field_99;
  1755.                this.field_21 = null;
  1756.                this.field_118 = new Font[this.field_56];
  1757.                int var37 = this.field_99;
  1758.  
  1759.                for(this.field_30 = 0; this.field_30 < this.field_56; ++this.field_30) {
  1760.                   this.field_118[this.field_30] = new Font(var22, var4, var37++);
  1761.                }
  1762.  
  1763.                this.field_27 = (float)this.field_106 / 2.0F;
  1764.                this.field_26 = (float)this.field_107 / 2.0F;
  1765.                if (this.field_81 == 3) {
  1766.                   this.field_117 = this.field_56 - 1;
  1767.                   return;
  1768.                }
  1769.  
  1770.                this.field_117 = 0;
  1771.             }
  1772.          }
  1773.       }
  1774.  
  1775.    }
  1776.  
  1777.    // $FF: renamed from: b (java.awt.Graphics) void
  1778.    public void method_19(Graphics var1) {
  1779.       switch (this.field_81) {
  1780.          case 0:
  1781.             this.method_9(var1);
  1782.             return;
  1783.          case 1:
  1784.             this.method_20(var1);
  1785.             return;
  1786.          default:
  1787.             this.method_24(var1);
  1788.       }
  1789.    }
  1790.  
  1791.    public void start() {
  1792.       if (this.field_103 == null) {
  1793.          this.field_103 = new Thread(this);
  1794.          this.field_103.start();
  1795.       }
  1796.  
  1797.    }
  1798.  
  1799.    public void stop() {
  1800.       if (this.field_103 != null && this.field_103.isAlive()) {
  1801.          this.field_103.stop();
  1802.       }
  1803.  
  1804.       this.field_103 = null;
  1805.    }
  1806.  
  1807.    public final void update(Graphics var1) {
  1808.       this.paint(var1);
  1809.    }
  1810.  
  1811.    // $FF: renamed from: c (java.awt.Graphics) void
  1812.    public void method_20(Graphics var1) {
  1813.       var1.setFont(this.field_21);
  1814.       this.field_53 += this.field_105;
  1815.       if (this.field_53 > this.field_107 + this.field_38.length * this.field_23) {
  1816.          this.field_53 = -this.field_23;
  1817.       }
  1818.  
  1819.       if (this.field_101) {
  1820.          for(int var6 = 0; var6 < this.field_38.length; ++var6) {
  1821.             String var5 = this.field_38[var6];
  1822.             int var3 = this.field_108[var6];
  1823.             int var4 = this.field_107 - this.field_53 + var6 * this.field_23;
  1824.             var1.setColor(this.field_82);
  1825.             var1.drawString(var5, var3 + 1, var4 + 1);
  1826.             var1.setColor(this.field_97);
  1827.             var1.drawString(var5, var3, var4);
  1828.          }
  1829.  
  1830.       } else {
  1831.          var1.setColor(this.field_97);
  1832.  
  1833.          for(int var2 = 0; var2 < this.field_38.length; ++var2) {
  1834.             var1.drawString(this.field_38[var2], this.field_108[var2], this.field_107 - this.field_53 + var2 * this.field_23);
  1835.          }
  1836.  
  1837.       }
  1838.    }
  1839.  
  1840.    // $FF: renamed from: a (int, int, float) void
  1841.    final synchronized void method_21(int var1, int var2, float var3) {
  1842.       try {
  1843.          System.arraycopy(this.field_13, 0, this.field_10, this.field_93, this.field_69);
  1844.       } catch (ArrayIndexOutOfBoundsException var6) {
  1845.          this.stop();
  1846.       } catch (ArrayStoreException var7) {
  1847.          this.stop();
  1848.       }
  1849.  
  1850.       for(int var4 = 0; var4 < this.field_109; ++var4) {
  1851.          this.field_37[var4] = this.field_25;
  1852.          this.field_36[var4] = -1;
  1853.       }
  1854.  
  1855.       int var5 = this.field_29 + 100;
  1856.  
  1857.       for(int var8 = 0; var8 < var5; var8 += 1 + (var8 >> 6)) {
  1858.          this.method_11((int)((double)var1 + (double)(var8 * 65536) * Math.cos((double)var3 - (Math.PI / 4D))), (int)((double)var2 + (double)(var8 * 65536) * Math.sin((double)var3 - (Math.PI / 4D))), (int)((double)var1 + (double)(var8 * 65536) * Math.cos((double)var3 + (Math.PI / 4D))), (int)((double)var2 + (double)(var8 * 65536) * Math.sin((double)var3 + (Math.PI / 4D))), this.field_75 * 256 / (var8 + 1));
  1859.       }
  1860.  
  1861.    }
  1862.  
  1863.    // $FF: renamed from: b (int, int, float) void
  1864.    final synchronized void method_22(int var1, int var2, float var3) {
  1865.       try {
  1866.          System.arraycopy(this.field_12, 0, this.field_19, this.field_93, this.field_69);
  1867.       } catch (ArrayIndexOutOfBoundsException var6) {
  1868.          this.stop();
  1869.       } catch (ArrayStoreException var7) {
  1870.          this.stop();
  1871.       }
  1872.  
  1873.       for(int var4 = 0; var4 < this.field_109; ++var4) {
  1874.          this.field_37[var4] = this.field_25;
  1875.          this.field_36[var4] = -1;
  1876.       }
  1877.  
  1878.       int var5 = this.field_29 + 100;
  1879.  
  1880.       for(int var8 = 0; var8 < var5; var8 += 1 + (var8 >> 6)) {
  1881.          this.method_12((int)((double)var1 + (double)(var8 * 65536) * Math.cos((double)var3 - (Math.PI / 4D))), (int)((double)var2 + (double)(var8 * 65536) * Math.sin((double)var3 - (Math.PI / 4D))), (int)((double)var1 + (double)(var8 * 65536) * Math.cos((double)var3 + (Math.PI / 4D))), (int)((double)var2 + (double)(var8 * 65536) * Math.sin((double)var3 + (Math.PI / 4D))), this.field_75 * 256 / (var8 + 1));
  1882.       }
  1883.  
  1884.    }
  1885.  
  1886.    // $FF: renamed from: i () void
  1887.    public synchronized void method_23() {
  1888.       Thread.yield();
  1889.       this.field_102.sync();
  1890.       long var1 = 10L - (System.currentTimeMillis() - this.field_17);
  1891.       if (var1 > 0L) {
  1892.          try {
  1893.             Thread.sleep(var1);
  1894.          } catch (InterruptedException var5) {
  1895.          }
  1896.       } else {
  1897.          try {
  1898.             Thread.sleep(1L);
  1899.          } catch (InterruptedException var4) {
  1900.          }
  1901.       }
  1902.  
  1903.       this.field_17 = System.currentTimeMillis();
  1904.  
  1905.       try {
  1906.          Thread.sleep((long)this.field_41);
  1907.       } catch (InterruptedException var3) {
  1908.       }
  1909.    }
  1910.  
  1911.    // $FF: renamed from: d (java.awt.Graphics) void
  1912.    public void method_24(Graphics var1) {
  1913.       String var2 = this.field_38[this.field_116];
  1914.       var1.setFont(this.field_118[this.field_117]);
  1915.       FontMetrics var3 = var1.getFontMetrics(this.field_118[this.field_117]);
  1916.       int var4 = (int)(this.field_27 - (float)var3.stringWidth(var2) / 2.0F);
  1917.       int var5 = (int)(this.field_26 + (float)var3.getHeight() / 4.0F);
  1918.       if (this.field_101) {
  1919.          var1.setColor(this.field_82);
  1920.          var1.drawString(var2, var4 + 1, var5 + 1);
  1921.       }
  1922.  
  1923.       var1.setColor(this.field_97);
  1924.       var1.drawString(var2, var4, var5);
  1925.       if (this.field_81 == 3) {
  1926.          this.field_117 -= this.field_105;
  1927.          if (this.field_117 <= 1) {
  1928.             this.field_117 = this.field_56 - 1;
  1929.             ++this.field_116;
  1930.             if (this.field_116 >= this.field_38.length) {
  1931.                this.field_116 = 0;
  1932.                return;
  1933.             }
  1934.          }
  1935.       } else {
  1936.          this.field_117 += this.field_105;
  1937.          if (this.field_117 >= this.field_56) {
  1938.             this.field_117 = 0;
  1939.             ++this.field_116;
  1940.             if (this.field_116 >= this.field_38.length) {
  1941.                this.field_116 = 0;
  1942.             }
  1943.          }
  1944.       }
  1945.  
  1946.    }
  1947.  
  1948.    // $FF: renamed from: c (java.lang.String) java.lang.String
  1949.    private static String method_25(String var0) {
  1950.       char[] var1 = var0.toCharArray();
  1951.       int var2 = var1.length;
  1952.       int var3 = 0;
  1953.  
  1954.       label32:
  1955.       while(true) {
  1956.          int var4 = 0;
  1957.          byte var10000 = 5;
  1958.          char[] var10001 = var1;
  1959.          int var10002 = var3;
  1960.  
  1961.          label30:
  1962.          while(true) {
  1963.             var10001[var10002] ^= var10000;
  1964.  
  1965.             while(true) {
  1966.                ++var3;
  1967.                ++var4;
  1968.                if (var2 == var3) {
  1969.                   return new String(var1);
  1970.                }
  1971.  
  1972.                switch (var4) {
  1973.                   case 1:
  1974.                      var10000 = 57;
  1975.                      var10001 = var1;
  1976.                      var10002 = var3;
  1977.                      continue label30;
  1978.                   case 2:
  1979.                      var10000 = 95;
  1980.                      var10001 = var1;
  1981.                      var10002 = var3;
  1982.                      continue label30;
  1983.                   case 3:
  1984.                      var10000 = 20;
  1985.                      var10001 = var1;
  1986.                      var10002 = var3;
  1987.                      continue label30;
  1988.                   case 4:
  1989.                      var10000 = 46;
  1990.                      var10001 = var1;
  1991.                      var10002 = var3;
  1992.                      continue label30;
  1993.                   case 5:
  1994.                      continue label32;
  1995.                }
  1996.             }
  1997.          }
  1998.       }
  1999.    }
  2000. }
  2001.