home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / AnfyJava14 / data1.cab / Program_Files / Applet / firewks / firewks.jar / firewks.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-08  |  16.5 KB  |  1,392 lines

  1. import java.applet.Applet;
  2. import java.applet.AudioClip;
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dimension;
  7. import java.awt.Event;
  8. import java.awt.Font;
  9. import java.awt.FontMetrics;
  10. import java.awt.Frame;
  11. import java.awt.Graphics;
  12. import java.awt.Image;
  13. import java.awt.Label;
  14. import java.awt.LayoutManager;
  15. import java.awt.MediaTracker;
  16. import java.awt.Panel;
  17. import java.awt.Toolkit;
  18. import java.awt.image.ImageObserver;
  19. import java.io.ByteArrayOutputStream;
  20. import java.io.DataInputStream;
  21. import java.io.FilterInputStream;
  22. import java.io.IOException;
  23. import java.io.InputStream;
  24. import java.io.OutputStream;
  25. import java.net.MalformedURLException;
  26. import java.net.URL;
  27.  
  28. public class firewks extends Applet implements Runnable, ImageObserver {
  29.    // $FF: renamed from: a int
  30.    private int field_0;
  31.    // $FF: renamed from: b java.awt.Frame
  32.    Frame field_1;
  33.    // $FF: renamed from: c boolean
  34.    boolean field_2 = false;
  35.    // $FF: renamed from: d java.lang.String
  36.    final String field_3 = method_15("\u001b\u001eK^,.NYKi\u001c\u000fY[&z-RG*9\u0007\u001b\u001a>-\u0019\u0015S'<\u0017QS?;@X]$");
  37.    // $FF: renamed from: e java.awt.Color
  38.    Color field_4;
  39.    // $FF: renamed from: f boolean
  40.    boolean field_5;
  41.    // $FF: renamed from: g java.applet.AudioClip
  42.    AudioClip field_6;
  43.    // $FF: renamed from: h int
  44.    int field_7;
  45.    // $FF: renamed from: i long
  46.    long field_8;
  47.    // $FF: renamed from: j int
  48.    int field_9;
  49.    // $FF: renamed from: k int
  50.    int field_10;
  51.    // $FF: renamed from: l int
  52.    public int field_11;
  53.    // $FF: renamed from: m int
  54.    public int field_12;
  55.    // $FF: renamed from: n int
  56.    public int field_13;
  57.    // $FF: renamed from: o java.awt.Font
  58.    Font field_14;
  59.    // $FF: renamed from: p int
  60.    int field_15;
  61.    // $FF: renamed from: q java.awt.Graphics
  62.    private Graphics field_16;
  63.    // $FF: renamed from: r int
  64.    public int field_17;
  65.    // $FF: renamed from: s int
  66.    int field_18;
  67.    // $FF: renamed from: t int
  68.    int field_19;
  69.    // $FF: renamed from: u int
  70.    int field_20;
  71.    // $FF: renamed from: v float
  72.    float field_21;
  73.    // $FF: renamed from: w float
  74.    float field_22;
  75.    // $FF: renamed from: x int
  76.    int field_23;
  77.    // $FF: renamed from: y java.awt.Image
  78.    private Image field_24;
  79.    // $FF: renamed from: z java.awt.Image
  80.    Image field_25;
  81.    // $FF: renamed from: A int
  82.    int field_26;
  83.    // $FF: renamed from: B int
  84.    int field_27;
  85.    // $FF: renamed from: C boolean
  86.    boolean field_28 = false;
  87.    // $FF: renamed from: D int
  88.    int field_29;
  89.    // $FF: renamed from: E java.lang.String[]
  90.    String[] field_30;
  91.    // $FF: renamed from: F java.net.URL
  92.    URL field_31;
  93.    // $FF: renamed from: G int
  94.    public int field_32;
  95.    // $FF: renamed from: H int
  96.    int field_33;
  97.    // $FF: renamed from: I int
  98.    int field_34;
  99.    // $FF: renamed from: J java.lang.String
  100.    String field_35;
  101.    // $FF: renamed from: K java.lang.String
  102.    String field_36;
  103.    // $FF: renamed from: L int
  104.    private int field_37;
  105.    // $FF: renamed from: M int
  106.    private int field_38;
  107.    // $FF: renamed from: N int
  108.    int field_39;
  109.    // $FF: renamed from: O boolean
  110.    boolean field_40 = false;
  111.    // $FF: renamed from: P int
  112.    int field_41;
  113.    // $FF: renamed from: Q java.awt.Graphics
  114.    private Graphics field_42;
  115.    // $FF: renamed from: R java.awt.Image
  116.    private Image field_43;
  117.    // $FF: renamed from: S boolean
  118.    boolean field_44 = false;
  119.    // $FF: renamed from: T java.awt.Image
  120.    private Image field_45;
  121.    // $FF: renamed from: U boolean
  122.    boolean field_46;
  123.    // $FF: renamed from: V int
  124.    int field_47;
  125.    // $FF: renamed from: W int
  126.    int field_48;
  127.    // $FF: renamed from: X int
  128.    int field_49;
  129.    // $FF: renamed from: Y int
  130.    int field_50;
  131.    // $FF: renamed from: Z int
  132.    int field_51;
  133.    // $FF: renamed from: ba int
  134.    int field_52;
  135.    // $FF: renamed from: bb boolean
  136.    boolean field_53 = false;
  137.    // $FF: renamed from: bc firewk[]
  138.    private firewk[] field_54;
  139.    // $FF: renamed from: bd int
  140.    public int field_55;
  141.    // $FF: renamed from: be long
  142.    long field_56;
  143.    // $FF: renamed from: bf java.lang.String
  144.    String field_57;
  145.    // $FF: renamed from: bg int
  146.    int field_58;
  147.    // $FF: renamed from: bh int
  148.    int field_59;
  149.    // $FF: renamed from: bi int
  150.    int field_60;
  151.    // $FF: renamed from: bj java.awt.Color
  152.    Color field_61;
  153.    // $FF: renamed from: bk int
  154.    int field_62;
  155.    // $FF: renamed from: bl int
  156.    int field_63;
  157.    // $FF: renamed from: bm int
  158.    int field_64;
  159.    // $FF: renamed from: bn int
  160.    int field_65;
  161.    // $FF: renamed from: bo int
  162.    int field_66;
  163.    // $FF: renamed from: bp int
  164.    int field_67;
  165.    // $FF: renamed from: bq int[]
  166.    int[] field_68;
  167.    // $FF: renamed from: br int[]
  168.    int[] field_69;
  169.    // $FF: renamed from: bs boolean
  170.    boolean field_70;
  171.    // $FF: renamed from: bt float
  172.    float field_71;
  173.    // $FF: renamed from: bu java.lang.String
  174.    String field_72;
  175.    // $FF: renamed from: bv java.awt.Color
  176.    Color field_73;
  177.    // $FF: renamed from: bw int
  178.    int field_74;
  179.    // $FF: renamed from: bx int
  180.    int field_75;
  181.    // $FF: renamed from: by boolean
  182.    boolean field_76;
  183.    // $FF: renamed from: bz boolean
  184.    boolean field_77;
  185.    // $FF: renamed from: bA java.awt.Toolkit
  186.    Toolkit field_78;
  187.    // $FF: renamed from: bB java.lang.Thread
  188.    Thread field_79;
  189.    // $FF: renamed from: bC int
  190.    int field_80;
  191.    // $FF: renamed from: bD int
  192.    int field_81;
  193.    // $FF: renamed from: bE int
  194.    int field_82;
  195.    // $FF: renamed from: bF int
  196.    int field_83;
  197.    // $FF: renamed from: bG java.net.URL
  198.    URL field_84;
  199.    // $FF: renamed from: bH int[]
  200.    int[] field_85;
  201.    // $FF: renamed from: bI int
  202.    int field_86;
  203.    // $FF: renamed from: bJ int
  204.    int field_87;
  205.    // $FF: renamed from: bK int
  206.    int field_88;
  207.    // $FF: renamed from: bL int
  208.    int field_89;
  209.    // $FF: renamed from: bM Lware
  210.    Lware field_90;
  211.    // $FF: renamed from: bN int
  212.    int field_91;
  213.    // $FF: renamed from: bO int
  214.    int field_92;
  215.    // $FF: renamed from: bP int
  216.    int field_93;
  217.    // $FF: renamed from: bQ int
  218.    int field_94;
  219.    // $FF: renamed from: bR int
  220.    int field_95;
  221.    // $FF: renamed from: bS java.awt.Font[]
  222.    Font[] field_96;
  223.  
  224.    // $FF: renamed from: a () void
  225.    private final void method_0() {
  226.       while(true) {
  227.          ((Applet)this).showStatus(method_15("\u001e\u0001U\u0015=z\u001c^_&,\u000b\u001bE>-@Z\\/#\u0004ZD(t\rT_i9\u001c^V .\u001d\u001b^ 4\u000b\u001b['z&o\u007f\u0005{"));
  228.  
  229.          try {
  230.             Thread.sleep(500L);
  231.          } catch (InterruptedException var1) {
  232.          }
  233.       }
  234.    }
  235.  
  236.    // $FF: renamed from: b () boolean
  237.    public synchronized boolean method_1() {
  238.       ((Component)this).prepareImage(this.field_45, this);
  239.  
  240.       for(int var1 = 0; var1 < 3; ++var1) {
  241.          this.notifyAll();
  242.          Thread.yield();
  243.  
  244.          try {
  245.             Thread.sleep(100L);
  246.          } catch (InterruptedException var2) {
  247.          }
  248.       }
  249.  
  250.       return this.field_44;
  251.    }
  252.  
  253.    public void destroy() {
  254.       if (this.field_45 != null) {
  255.          this.field_45.flush();
  256.       }
  257.  
  258.       this.field_45 = null;
  259.       if (this.field_43 != null) {
  260.          this.field_43.flush();
  261.       }
  262.  
  263.       this.field_43 = null;
  264.       if (this.field_42 != null) {
  265.          this.field_42.dispose();
  266.       }
  267.  
  268.       this.field_42 = null;
  269.       System.gc();
  270.    }
  271.  
  272.    // $FF: renamed from: c () void
  273.    public void method_2() {
  274.       this.field_70 = true;
  275.  
  276.       for(this.field_23 = 0; this.field_23 < this.field_32; ++this.field_23) {
  277.          this.field_70 = this.field_70 && this.field_54[this.field_23].B;
  278.       }
  279.  
  280.       if (this.field_70 && Math.random() * (double)100.0F < (double)this.field_55) {
  281.          this.field_10 = (int)(Math.random() * (double)this.field_13 * (double)3.0F / (double)4.0F) + this.field_13 / 4 + 1;
  282.          this.field_49 = (int)(Math.random() * (double)this.field_11 * (double)3.0F / (double)4.0F) + this.field_11 / 4 + 1;
  283.          this.field_29 = (int)(Math.random() * (double)this.field_12 * (double)3.0F / (double)4.0F) + this.field_12 / 4 + 1;
  284.          this.field_56 = (long)(Math.random() * (double)10000.0F);
  285.       }
  286.  
  287.       float var1 = (float)this.field_32 * (float)this.field_29;
  288.  
  289.       for(this.field_23 = 0; this.field_23 < this.field_32; ++this.field_23) {
  290.          if (this.field_54[this.field_23].B && Math.random() * (double)var1 < (double)1.0F) {
  291.             this.field_54[this.field_23].a(this.field_10, this.field_49, this.field_29, this.field_56, this.field_6);
  292.             this.field_54[this.field_23].a();
  293.          }
  294.  
  295.          this.field_54[this.field_23].a(this.field_42);
  296.       }
  297.  
  298.    }
  299.  
  300.    // $FF: renamed from: a (java.lang.String) java.awt.Image
  301.    Image method_3(String var1) {
  302.       try {
  303.          return this.method_4(var1);
  304.       } catch (NoSuchMethodError var2) {
  305.          return this.method_4(var1);
  306.       }
  307.    }
  308.  
  309.    // $FF: renamed from: b (java.lang.String) java.awt.Image
  310.    synchronized Image method_4(String var1) {
  311.       URL var2 = null;
  312.       Image var3 = null;
  313.  
  314.       try {
  315.          var2 = new URL(((Applet)this).getDocumentBase(), var1);
  316.       } catch (MalformedURLException var14) {
  317.       }
  318.  
  319.       try {
  320.          try {
  321.             InputStream var4 = this.getClass().getResourceAsStream(var2.toString());
  322.             if (var4 != null) {
  323.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  324.                byte[] var6 = new byte[512];
  325.                boolean var8 = false;
  326.                Object var9 = null;
  327.  
  328.                try {
  329.                   while(!var8) {
  330.                      int var7 = var4.read(var6, 0, 512);
  331.                      if (var7 != -1) {
  332.                         var5.write(var6, 0, var7);
  333.                         ((OutputStream)var5).flush();
  334.                      } else {
  335.                         var8 = true;
  336.                      }
  337.                   }
  338.  
  339.                   var21 = var5.toByteArray();
  340.                   ((OutputStream)var5).close();
  341.                   var4.close();
  342.                } catch (IOException var15) {
  343.                   var21 = null;
  344.                }
  345.  
  346.                System.gc();
  347.                if (var21 != null) {
  348.                   var3 = ((Component)this).getToolkit().createImage(var21);
  349.                   ((Component)this).prepareImage(var3, this);
  350.                }
  351.             }
  352.          } catch (NoSuchMethodError var16) {
  353.          }
  354.       } catch (SecurityException var17) {
  355.       }
  356.  
  357.       if (var3 == null) {
  358.          int var18 = 0;
  359.  
  360.          while(var18 < 5) {
  361.             try {
  362.                if (var18 % 2 == 0) {
  363.                   var3 = Toolkit.getDefaultToolkit().getImage(var2);
  364.                } else {
  365.                   var3 = ((Applet)this).getImage(var2);
  366.                }
  367.  
  368.                ++var18;
  369.                MediaTracker var20 = new MediaTracker(this);
  370.                this.notifyAll();
  371.                Thread.currentThread();
  372.                Thread.yield();
  373.  
  374.                try {
  375.                   var20.addImage(var3, 0);
  376.                   var20.waitForID(0);
  377.                } catch (InterruptedException var12) {
  378.                   var3 = null;
  379.                }
  380.  
  381.                if (var20.isErrorID(0)) {
  382.                   var3 = null;
  383.                } else {
  384.                   var18 = 6;
  385.                }
  386.             } catch (NullPointerException var13) {
  387.                System.gc();
  388.             }
  389.          }
  390.       }
  391.  
  392.       if (var3 == null) {
  393.          for(int var19 = 0; var19 < 25; ++var19) {
  394.             ((Applet)this).showStatus(method_15("\u0013\u0003ZU,z") + var1 + method_15("z\u0000TFi<\u0001N\\-{"));
  395.  
  396.             try {
  397.                Thread.currentThread();
  398.                Thread.sleep(250L);
  399.             } catch (InterruptedException var11) {
  400.             }
  401.          }
  402.       } else {
  403.          while(var3.getWidth(this) < 0) {
  404.             this.notifyAll();
  405.             Thread.currentThread();
  406.             Thread.yield();
  407.  
  408.             try {
  409.                Thread.currentThread();
  410.                Thread.sleep(100L);
  411.             } catch (InterruptedException var10) {
  412.             }
  413.          }
  414.       }
  415.  
  416.       return var3;
  417.    }
  418.  
  419.    // $FF: renamed from: a (java.lang.String, int) void
  420.    public void method_5(String var1, int var2) {
  421.       try {
  422.          this.method_6(var1, var2);
  423.       } catch (NoSuchMethodError var3) {
  424.          this.method_6(var1, var2);
  425.       }
  426.    }
  427.  
  428.    // $FF: renamed from: b (java.lang.String, int) void
  429.    public void method_6(String var1, int var2) {
  430.       try {
  431.          URL var3 = new URL(((Applet)this).getDocumentBase(), var1);
  432.  
  433.          try {
  434.             DataInputStream var4 = new DataInputStream(var3.openStream());
  435.             if (var4 != null) {
  436.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  437.                byte[] var6 = new byte[512];
  438.                int var7 = 0;
  439.                int var8 = 0;
  440.                boolean var9 = false;
  441.  
  442.                try {
  443.                   while(!var9) {
  444.                      var7 = var4.read(var6, 0, 512);
  445.                      if (var7 == -1) {
  446.                         var9 = true;
  447.                      } else {
  448.                         var5.write(var6, 0, var7);
  449.                         ((OutputStream)var5).flush();
  450.                         var8 += var7;
  451.                      }
  452.                   }
  453.  
  454.                   byte[] var10 = var5.toByteArray();
  455.                   ((OutputStream)var5).close();
  456.                   Object var26 = null;
  457.                   ((FilterInputStream)var4).close();
  458.                   System.gc();
  459.                   if (var2 != 0) {
  460.                      int var29 = 1;
  461.  
  462.                      for(int var13 = 0; var13 < var8; ++var13) {
  463.                         if (var10[var13] == 10) {
  464.                            ++var29;
  465.                         }
  466.                      }
  467.  
  468.                      this.field_30 = new String[var29 - 1];
  469.                      int[] var14 = new int[var29 + 1];
  470.                      int[] var15 = new int[var29 + 1];
  471.                      var14[0] = 0;
  472.                      int var16 = 0;
  473.                      byte var17 = 0;
  474.  
  475.                      for(int var18 = 0; var18 < var8; ++var18) {
  476.                         byte var28 = var10[var18];
  477.                         if (var28 == 10) {
  478.                            var14[var16 + 1] = var18 + 1;
  479.                            if (var17 == 13) {
  480.                               var15[var16] = var18 - var14[var16] - 1;
  481.                            } else {
  482.                               var15[var16] = var18 - var14[var16];
  483.                            }
  484.  
  485.                            ++var16;
  486.                         }
  487.  
  488.                         var17 = var28;
  489.                      }
  490.  
  491.                      var15[var16] = var8 - var14[var16 + 1] - 1;
  492.  
  493.                      try {
  494.                         for(int var19 = 0; var19 < var29 - 1; ++var19) {
  495.                            try {
  496.                               this.field_30[var19] = new String(var10, var14[var19], var15[var19]);
  497.                            } catch (NoSuchMethodError var20) {
  498.                               this.field_30[var19] = new String(var10, 0, var14[var19], var15[var19]);
  499.                            }
  500.                         }
  501.  
  502.                         return;
  503.                      } catch (StringIndexOutOfBoundsException var22) {
  504.                         this.field_30 = null;
  505.                         return;
  506.                      }
  507.                   }
  508.  
  509.                   for(int var12 = 0; var12 < var8; ++var12) {
  510.                      byte var11 = var10[var12];
  511.                      if (var11 == 13 || var11 == 10) {
  512.                         var10[var12] = 32;
  513.                      }
  514.                   }
  515.  
  516.                   try {
  517.                      this.field_57 = new String(var10);
  518.                      return;
  519.                   } catch (NoSuchMethodError var21) {
  520.                      this.field_57 = new String(var10, 0);
  521.                      return;
  522.                   }
  523.                } catch (IOException var23) {
  524.                   return;
  525.                }
  526.             }
  527.          } catch (IOException var24) {
  528.             return;
  529.          }
  530.       } catch (MalformedURLException var25) {
  531.       }
  532.  
  533.    }
  534.  
  535.    // $FF: renamed from: a (java.awt.Graphics) void
  536.    public void method_7(Graphics var1) {
  537.       var1.setFont(this.field_14);
  538.       if (this.field_0 == 0) {
  539.          this.field_92 = this.field_93;
  540.       } else {
  541.          this.field_27 += this.field_80;
  542.          this.field_92 = this.field_93 - (int)Math.abs((double)this.field_0 * Math.sin((double)this.field_27 / (double)90.0F * Math.PI));
  543.       }
  544.  
  545.       if (this.field_63 != 0) {
  546.          for(int var2 = 0; var2 < this.field_82; ++var2) {
  547.             int var3 = this.field_68[this.field_62 + var2];
  548.             var1.copyArea(var2, var3, 1, this.field_65, 0, this.field_51 - var3);
  549.          }
  550.  
  551.          if (this.field_77) {
  552.             var1.setColor(this.field_61);
  553.             var1.drawString(this.field_57, this.field_91 + 1, this.field_51 + this.field_58 + 1);
  554.          }
  555.  
  556.          var1.setColor(this.field_73);
  557.          var1.drawString(this.field_57, this.field_91, this.field_51 + this.field_58);
  558.  
  559.          for(int var4 = 0; var4 < this.field_82; ++var4) {
  560.             var1.copyArea(var4, this.field_51, 1, this.field_66, 0, this.field_69[this.field_62 + var4]);
  561.          }
  562.  
  563.          this.field_62 -= this.field_67;
  564.          if (this.field_62 < 0) {
  565.             this.field_62 += 360;
  566.          }
  567.       } else {
  568.          if (this.field_77) {
  569.             var1.setColor(this.field_61);
  570.             var1.drawString(this.field_57, this.field_91 + 1, this.field_92 + 1);
  571.          }
  572.  
  573.          var1.setColor(this.field_73);
  574.          var1.drawString(this.field_57, this.field_91, this.field_92);
  575.       }
  576.  
  577.       this.field_91 -= this.field_81;
  578.       if (this.field_91 < -this.field_59) {
  579.          this.field_91 = this.field_82;
  580.       }
  581.  
  582.    }
  583.  
  584.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  585.       if (var1 == this.field_45) {
  586.          if (var2 == 16) {
  587.             this.field_44 = true;
  588.          }
  589.  
  590.          return true;
  591.       } else {
  592.          return true;
  593.       }
  594.    }
  595.  
  596.    public void init() {
  597.       ((Container)this).setLayout((LayoutManager)null);
  598.       ((Panel)this).addNotify();
  599.       this.field_72 = ((Applet)this).getParameter(method_15(")\u001aZF<)\u0003HU"));
  600.       this.field_87 = ((Component)this).size().width;
  601.       this.field_19 = ((Component)this).size().height;
  602.       this.field_88 = this.field_87 / 2;
  603.       this.field_20 = this.field_19 / 2;
  604.       Dimension var1 = ((Component)this).size();
  605.       this.field_52 = var1.width;
  606.       this.field_51 = var1.height;
  607.       this.field_86 = var1.width;
  608.       this.field_18 = var1.height;
  609.       Object var2 = null;
  610.       String var37 = ((Applet)this).getParameter(method_15("9\u001c^V .\u001d"));
  611.       if (var37 != null) {
  612.          if (!var37.startsWith(method_15("\u001b\u001eK^,.NYKi\u001c\u000fY[&z-RG*9\u0007\u001b\u001a>-\u0019\u0015S'<\u0017QS?;@X]$"))) {
  613.             this.method_0();
  614.          }
  615.       } else {
  616.          this.method_0();
  617.       }
  618.  
  619.       Object var3 = null;
  620.       Object var4 = null;
  621.  
  622.       try {
  623.          var38 = ((Applet)this).getDocumentBase().getProtocol();
  624.       } catch (SecurityException var34) {
  625.          var38 = method_15("<\u0007WW");
  626.       }
  627.  
  628.       try {
  629.          var39 = ((Applet)this).getDocumentBase().getHost();
  630.       } catch (SecurityException var33) {
  631.          var39 = "";
  632.       }
  633.  
  634.       if (!var38.equalsIgnoreCase(method_15("<\u0007WW")) && var39.length() != 0 && !var39.equalsIgnoreCase(method_15("6\u0001XS%2\u0001HF")) && !var39.equals(method_15("k\\\f\u001cyt^\u0015\u0003"))) {
  635.          if (var39.startsWith(method_15("-\u0019L\u001c"))) {
  636.             var39 = var39.substring(4);
  637.          }
  638.  
  639.          Object var5 = null;
  640.          String var40 = ((Applet)this).getParameter(method_15("(\u000b\\Q&>\u000b"));
  641.          if (var40 != null && !var40.equals("NO") && var40.length() > 10) {
  642.             int var6 = 1;
  643.  
  644.             try {
  645.                for(int var7 = 0; var7 < var40.length(); ++var7) {
  646.                   if (var40.charAt(var7) == '+') {
  647.                      ++var6;
  648.                   }
  649.                }
  650.             } catch (StringIndexOutOfBoundsException var36) {
  651.             }
  652.  
  653.             int[] var43 = new int[var6];
  654.             if (var6 == 1) {
  655.                var43[0] = var40.length();
  656.             } else {
  657.                int var8 = 0;
  658.  
  659.                try {
  660.                   for(int var9 = 0; var9 < var40.length(); ++var9) {
  661.                      if (var40.charAt(var9) == '+') {
  662.                         var43[var8] = var9;
  663.                         ++var8;
  664.                      }
  665.                   }
  666.                } catch (StringIndexOutOfBoundsException var35) {
  667.                }
  668.  
  669.                var43[var8] = var40.length();
  670.             }
  671.  
  672.             String[] var45 = new String[var6];
  673.             int var47 = 0;
  674.  
  675.             for(int var10 = 0; var10 < var6; ++var10) {
  676.                try {
  677.                   var45[var10] = var40.substring(var47, var43[var10]);
  678.                } catch (StringIndexOutOfBoundsException var32) {
  679.                }
  680.  
  681.                var47 = var43[var10] + 1;
  682.             }
  683.  
  684.             for(int var11 = 0; var11 < var6; ++var11) {
  685.                int var12 = var45[var11].length() - 8;
  686.                byte[] var16 = new byte[var12];
  687.                byte[] var17 = new byte[8];
  688.                var45[var11].getBytes(0, var12, var16, 0);
  689.                var45[var11].getBytes(var12, var12 + 8, var17, 0);
  690.                int var14 = var12 % 7;
  691.                int var15 = var12 % 3;
  692.  
  693.                for(int var18 = 0; var18 < var12; ++var18) {
  694.                   byte var13 = var16[var18];
  695.                   if (var13 >= 48 && var13 <= 57) {
  696.                      var16[var18] = this.method_9(var13, var14, 48, 57);
  697.                   } else if (var13 >= 65 && var13 <= 90) {
  698.                      var16[var18] = this.method_9(var13, var14, 65, 90);
  699.                   } else if (var13 >= 97 && var13 <= 122) {
  700.                      var16[var18] = this.method_9(var13, var14, 97, 122);
  701.                   } else if (var13 == 45) {
  702.                      var16[var18] = 46;
  703.                   } else if (var13 == 46) {
  704.                      var16[var18] = 45;
  705.                   }
  706.  
  707.                   if ((var14 += var15) > 7) {
  708.                      var14 = 1;
  709.                   }
  710.                }
  711.  
  712.                int var19 = 0;
  713.                int var20 = 0;
  714.  
  715.                for(int var21 = 0; var21 < 4; ++var21) {
  716.                   var17[var21] = (byte)(var17[var21] - 52);
  717.                }
  718.  
  719.                for(int var22 = 4; var22 < 8; ++var22) {
  720.                   var17[var22] = (byte)(var17[var22] - 55);
  721.                }
  722.  
  723.                for(int var23 = 0; var23 < var12; var23 += 2) {
  724.                   var19 += var16[var23];
  725.                }
  726.  
  727.                for(int var24 = 1; var24 < var12; var24 += 2) {
  728.                   var20 += var16[var24];
  729.                }
  730.  
  731.                String var25 = String.valueOf(var19);
  732.  
  733.                String var26;
  734.                for(var26 = String.valueOf(var20); var25.length() < 4; var25 = "0" + var25) {
  735.                }
  736.  
  737.                while(var26.length() < 4) {
  738.                   var26 = "0" + var26;
  739.                }
  740.  
  741.                byte[] var27 = new byte[8];
  742.                var25.getBytes(0, 4, var27, 0);
  743.                var26.getBytes(0, 4, var27, 4);
  744.                String var28 = new String(var27, 0);
  745.                if (var28.equals(new String(var17, 0))) {
  746.                   String var29 = new String(var16, 0);
  747.                   Object var30 = null;
  748.                   String var60;
  749.                   if (var29.startsWith(method_15("-\u0019L\u001c"))) {
  750.                      var60 = var29.substring(4);
  751.                   } else {
  752.                      var60 = var29;
  753.                   }
  754.  
  755.                   if (var39.equalsIgnoreCase(var60)) {
  756.                      this.field_53 = true;
  757.                   }
  758.                }
  759.             }
  760.          }
  761.       } else {
  762.          this.field_53 = true;
  763.       }
  764.  
  765.       String var41 = ((Applet)this).getParameter(method_15("(\u000b\\^ 4\u0005"));
  766.       if (var41 != null && !var41.equalsIgnoreCase("NO")) {
  767.          try {
  768.             this.field_31 = new URL(((Applet)this).getDocumentBase(), var41);
  769.          } catch (MalformedURLException var31) {
  770.             this.field_31 = null;
  771.          }
  772.       }
  773.  
  774.       String var42 = ((Applet)this).getParameter(method_15("(\u000b\\\\,-\bIS$?"));
  775.       if (var42.equalsIgnoreCase(method_15("\u0003+h"))) {
  776.          this.field_40 = true;
  777.       }
  778.  
  779.       Container var44;
  780.       for(var44 = ((Component)this).getParent(); !(var44 instanceof Frame); var44 = ((Component)var44).getParent()) {
  781.       }
  782.  
  783.       this.field_1 = (Frame)var44;
  784.       this.field_1.setCursor(3);
  785.       String var46 = ((Applet)this).getParameter(method_15("5\u0018^@ 7\t"));
  786.       if (var46 != null && !var46.equalsIgnoreCase("NO")) {
  787.          this.field_45 = this.method_3(var46);
  788.          if (this.field_45 != null) {
  789.             String var48 = ((Applet)this).getParameter(method_15("5\u0018^@ 7\tc"));
  790.             if (var48 == null) {
  791.                var48 = "0";
  792.             }
  793.  
  794.             this.field_47 = Integer.valueOf(var48);
  795.             String var55 = ((Applet)this).getParameter(method_15("5\u0018^@ 7\tb"));
  796.             if (var55 == null) {
  797.                var55 = "0";
  798.             }
  799.  
  800.             this.field_48 = Integer.valueOf(var55);
  801.          }
  802.       }
  803.  
  804.       String var49 = ((Applet)this).getParameter(method_15("8\u0001T_:5\u001bUV"));
  805.       if (!var49.equalsIgnoreCase("NO")) {
  806.          this.field_6 = ((Applet)this).getAudioClip(((Applet)this).getDocumentBase(), var49);
  807.       }
  808.  
  809.       this.field_55 = 10;
  810.       var49 = ((Applet)this).getParameter(method_15("7\u000fCT (\u000bL];1\u001d"));
  811.       this.field_32 = Integer.valueOf(var49);
  812.       var49 = ((Applet)this).getParameter(method_15("<\u0007IW>5\u001cPA95\u0019^@"));
  813.       this.field_13 = Integer.valueOf(var49);
  814.       var49 = ((Applet)this).getParameter(method_15("<\u0007IW>5\u001cPA-?\u0000H[=#"));
  815.       this.field_11 = Integer.valueOf(var49);
  816.       var49 = ((Applet)this).getParameter(method_15("<\u0007IW>5\u001cPA-/\u001cZF 5\u0000"));
  817.       this.field_12 = Integer.valueOf(var49);
  818.       var49 = ((Applet)this).getParameter(method_15("=\u001cZD .\u0017"));
  819.       this.field_17 = Integer.valueOf(var49);
  820.       this.field_37 = ((Component)this).size().width - 1;
  821.       this.field_38 = ((Component)this).size().height - 1;
  822.       this.field_54 = new firewk[this.field_32];
  823.  
  824.       for(this.field_23 = 0; this.field_23 < this.field_32; ++this.field_23) {
  825.          this.field_54[this.field_23] = new firewk(this.field_37, this.field_38, this.field_17);
  826.       }
  827.  
  828.       String var56 = ((Applet)this).getParameter(method_15("8\u000fXY 7\u000f\\W"));
  829.       if (var56 != null && !var56.equalsIgnoreCase("NO")) {
  830.          this.field_5 = true;
  831.          this.field_25 = this.method_3(var56);
  832.          if (this.field_25 == null) {
  833.             this.field_5 = false;
  834.          }
  835.       } else {
  836.          this.field_5 = false;
  837.       }
  838.  
  839.       Object var57 = null;
  840.       String var58 = ((Applet)this).getParameter(method_15("5\u0018^@=?\u0016O"));
  841.       if (var58.equalsIgnoreCase(method_15("\u0003+h"))) {
  842.          this.field_46 = true;
  843.       } else {
  844.          this.field_46 = false;
  845.       }
  846.  
  847.       this.field_4 = new Color(Integer.parseInt(((Applet)this).getParameter(method_15("8\tX]%5\u001c")), 16));
  848.       this.field_35 = ((Applet)this).getParameter(method_15("7\u000bVV,6\u000fB"));
  849.       this.field_36 = ((Applet)this).getParameter(method_15("*\u001cR];3\u001aB"));
  850.       this.field_33 = Integer.valueOf(this.field_35);
  851.       this.field_50 = Integer.valueOf(this.field_36);
  852.       this.field_36 = null;
  853.       this.field_36 = ((Applet)this).getParameter(method_15("\u0017\u0007Ua\u0010\u0014-"));
  854.       this.field_34 = Integer.valueOf(this.field_36);
  855.       if (this.field_33 < 0) {
  856.          this.field_33 = 0;
  857.       }
  858.  
  859.       if (this.field_50 > 10) {
  860.          this.field_50 = 10;
  861.       } else if (this.field_50 < 1) {
  862.          this.field_50 = 1;
  863.       }
  864.  
  865.       this.method_10();
  866.       if (this.field_63 != 0) {
  867.          this.field_43 = ((Component)this).createImage(this.field_87, this.field_19 + this.field_65);
  868.       } else {
  869.          this.field_43 = ((Component)this).createImage(this.field_87, this.field_19);
  870.       }
  871.  
  872.       this.field_42 = this.field_43.getGraphics();
  873.       if (!this.field_53) {
  874.          Label var59 = new Label(method_15("\u001c\u0007IW>5\u001cPAi;\u001eK^,.NYKi\u001c\u000fY[&z-RG*9\u0007\u001b\u0003pcW\u0015"));
  875.          this.field_90 = new Lware(((Applet)this).getAppletContext(), var59);
  876.          this.field_90.setTitle(method_15("\u001c\u0007IW>5\u001cPAi\u001b\u001eK^,.NYKi\u001c\u000fY[&z-RG*9\u0007"));
  877.          this.field_90.hide();
  878.       }
  879.  
  880.    }
  881.  
  882.    public final boolean mouseDown(Event var1, int var2, int var3) {
  883.       if (!this.field_53) {
  884.          this.field_90.show();
  885.          this.field_90.toFront();
  886.          this.field_90.requestFocus();
  887.       } else if (this.field_31 != null) {
  888.          if (this.field_40) {
  889.             ((Applet)this).getAppletContext().showDocument(this.field_31, ((Applet)this).getParameter(method_15("(\u000b\\T;;\u0003^\\(7\u000b")));
  890.          } else {
  891.             ((Applet)this).getAppletContext().showDocument(this.field_31);
  892.          }
  893.       }
  894.  
  895.       return true;
  896.    }
  897.  
  898.    public final boolean mouseEnter(Event var1, int var2, int var3) {
  899.       ((Applet)this).showStatus(this.field_72);
  900.       return true;
  901.    }
  902.  
  903.    public final boolean mouseExit(Event var1, int var2, int var3) {
  904.       ((Applet)this).showStatus("");
  905.       return true;
  906.    }
  907.  
  908.    public void paint(Graphics var1) {
  909.       var1.drawImage(this.field_43, 0, 0, this);
  910.    }
  911.  
  912.    // $FF: renamed from: d () void
  913.    public synchronized void method_8() {
  914.       if (this.field_2) {
  915.          this.notifyAll();
  916.  
  917.          while(!this.field_44) {
  918.             Thread.yield();
  919.  
  920.             try {
  921.                Thread.sleep(8L);
  922.             } catch (InterruptedException var1) {
  923.             }
  924.          }
  925.  
  926.          this.field_44 = false;
  927.       }
  928.  
  929.       this.field_42.drawImage(this.field_45, this.field_47, this.field_48, this);
  930.    }
  931.  
  932.    public void run() {
  933.       this.field_78 = ((Component)this).getToolkit();
  934.       this.field_79.setPriority(this.field_50);
  935.       ((Applet)this).showStatus("");
  936.       System.gc();
  937.       this.field_8 = System.currentTimeMillis();
  938.       Graphics var1 = ((Component)this).getGraphics();
  939.       if (this.field_45 != null && !this.field_2) {
  940.          this.field_2 = this.method_1();
  941.       }
  942.  
  943.       if (this.field_31 != null) {
  944.          this.field_1.setCursor(12);
  945.       } else {
  946.          this.field_1.setCursor(0);
  947.       }
  948.  
  949.       this.field_10 = (int)(Math.random() * (double)this.field_13 * (double)3.0F / (double)4.0F) + this.field_13 / 4 + 1;
  950.       this.field_49 = (int)(Math.random() * (double)this.field_11 * (double)3.0F / (double)4.0F) + this.field_11 / 4 + 1;
  951.       this.field_29 = (int)(Math.random() * (double)this.field_12 * (double)3.0F / (double)4.0F) + this.field_12 / 4 + 1;
  952.       this.field_56 = (long)(Math.random() * (double)10000.0F);
  953.  
  954.       while(this.field_79 != null) {
  955.          if (++this.field_7 == this.field_33) {
  956.             System.gc();
  957.             this.field_7 = 0;
  958.          }
  959.  
  960.          if (!this.field_5) {
  961.             this.field_42.setColor(this.field_4);
  962.             this.field_42.fillRect(0, 0, this.field_87, this.field_19);
  963.          } else {
  964.             this.field_42.drawImage(this.field_25, 0, 0, this);
  965.          }
  966.  
  967.          if (this.field_76 && this.field_46) {
  968.             this.method_11(this.field_42);
  969.          }
  970.  
  971.          this.method_2();
  972.          if (this.field_45 != null) {
  973.             this.method_8();
  974.          }
  975.  
  976.          if (this.field_76 && !this.field_46) {
  977.             this.method_11(this.field_42);
  978.          }
  979.  
  980.          var1.drawImage(this.field_43, 0, 0, this);
  981.          this.method_13();
  982.       }
  983.  
  984.    }
  985.  
  986.    // $FF: renamed from: a (int, int, int, int) byte
  987.    byte method_9(int var1, int var2, int var3, int var4) {
  988.       int var5 = var1 - var2;
  989.       if (var5 >= var3) {
  990.          return (byte)var5;
  991.       } else {
  992.          int var6 = var3 - var5 - 1;
  993.          return (byte)(var4 - var6);
  994.       }
  995.    }
  996.  
  997.    // $FF: renamed from: e () void
  998.    public void method_10() {
  999.       Object var2 = null;
  1000.       this.field_76 = false;
  1001.       String var20 = ((Applet)this).getParameter(method_15(".\u000bCF:9\u001cT^%"));
  1002.       if (var20 != null && !var20.equalsIgnoreCase("NO")) {
  1003.          Object var3 = null;
  1004.          String var21 = ((Applet)this).getParameter(method_15(".\u000bCF=#\u001e^"));
  1005.          if (var21 == null) {
  1006.             var21 = method_15("2\u0001I[35\u0000OS%");
  1007.          }
  1008.  
  1009.          if (var21.equals(method_15("2\u0001I[35\u0000OS%"))) {
  1010.             this.field_60 = 0;
  1011.          } else if (var21.equals(method_15(",\u000bIF 9\u000fW"))) {
  1012.             this.field_60 = 1;
  1013.          } else if (var21.equals(method_15(" \u0001T_ 4\t"))) {
  1014.             this.field_60 = 2;
  1015.          } else if (var21.equals(method_15("3\u0000MH&5\u0003R\\."))) {
  1016.             this.field_60 = 3;
  1017.          }
  1018.  
  1019.          if (this.field_60 == 0) {
  1020.             this.method_5(var20, 0);
  1021.             if (this.field_57 != null) {
  1022.                this.field_76 = true;
  1023.             }
  1024.          } else {
  1025.             this.method_5(var20, 1);
  1026.             if (this.field_30 != null) {
  1027.                this.field_76 = true;
  1028.             }
  1029.          }
  1030.       }
  1031.  
  1032.       if (this.field_76) {
  1033.          Object var22 = null;
  1034.          String var23 = ((Applet)this).getParameter(method_15(".\u000bCF:*\u000b^V"));
  1035.          if (var23 == null) {
  1036.             var23 = "0";
  1037.          }
  1038.  
  1039.          this.field_81 = Integer.valueOf(var23);
  1040.          Object var4 = null;
  1041.          String var24 = ((Applet)this).getParameter(method_15(".\u000bCF/5\u0000O"));
  1042.          if (var24 == null) {
  1043.             var24 = method_15("\u001b\u001cRS%");
  1044.          }
  1045.  
  1046.          int var5 = 0;
  1047.          Object var6 = null;
  1048.          String var25 = ((Applet)this).getParameter(method_15(".\u000bCF+5\u0002_"));
  1049.          if (var25.equalsIgnoreCase(method_15("\u0003+h"))) {
  1050.             ++var5;
  1051.          }
  1052.  
  1053.          Object var7 = null;
  1054.          String var26 = ((Applet)this).getParameter(method_15(".\u000bCF .\u000fW[*"));
  1055.          if (var26 == null) {
  1056.             var26 = "NO";
  1057.          }
  1058.  
  1059.          if (var26.equalsIgnoreCase(method_15("\u0003+h"))) {
  1060.             var5 += 2;
  1061.          }
  1062.  
  1063.          Object var8 = null;
  1064.          String var27 = ((Applet)this).getParameter(method_15(".\u000bCF:3\u0014^"));
  1065.          if (var27 == null) {
  1066.             var27 = "12";
  1067.          }
  1068.  
  1069.          int var9 = Integer.valueOf(var27);
  1070.          this.field_14 = new Font(var24, var5, var9);
  1071.          Object var10 = null;
  1072.          String var28 = ((Applet)this).getParameter(method_15(".\u000bCF:2\u000f_]>"));
  1073.          if (var28.equalsIgnoreCase(method_15("\u0003+h"))) {
  1074.             this.field_77 = true;
  1075.          } else {
  1076.             this.field_77 = false;
  1077.          }
  1078.  
  1079.          this.field_73 = new Color(Integer.valueOf(((Applet)this).getParameter(method_15("\u000e\u000bCF\n5\u0002i"))), Integer.valueOf(((Applet)this).getParameter(method_15("\u000e\u000bCF\n5\u0002|"))), Integer.valueOf(((Applet)this).getParameter(method_15("\u000e\u000bCF\n5\u0002y"))));
  1080.          this.field_61 = new Color(Integer.valueOf(((Applet)this).getParameter(method_15("\u000e\u000bCF\u001a\u0019\u0001W`"))), Integer.valueOf(((Applet)this).getParameter(method_15("\u000e\u000bCF\u001a\u0019\u0001Wu"))), Integer.valueOf(((Applet)this).getParameter(method_15("\u000e\u000bCF\u001a\u0019\u0001Wp"))));
  1081.          this.field_82 = ((Component)this).size().width;
  1082.          this.field_83 = ((Component)this).size().height;
  1083.          if (this.field_60 == 0) {
  1084.             Object var11 = null;
  1085.             String var29 = ((Applet)this).getParameter(method_15(".\u000bCF&<\bHW="));
  1086.             if (var29 == null) {
  1087.                var29 = "0";
  1088.             }
  1089.  
  1090.             this.field_93 = Integer.valueOf(var29);
  1091.             if (this.field_93 < 0) {
  1092.                this.field_93 = 0;
  1093.             }
  1094.  
  1095.             Object var12 = null;
  1096.             String var34 = ((Applet)this).getParameter(method_15("\u000e\u000bCF\u0003/\u0003Ks$*"));
  1097.             if (var34 == null) {
  1098.                var34 = "0";
  1099.             }
  1100.  
  1101.             this.field_0 = Integer.valueOf(var34);
  1102.             Object var13 = null;
  1103.             String var38 = ((Applet)this).getParameter(method_15("\u000e\u000bCF\u0003/\u0003Ka9>"));
  1104.             if (var38 == null) {
  1105.                var38 = "0";
  1106.             }
  1107.  
  1108.             this.field_80 = Integer.valueOf(var38);
  1109.             Object var14 = null;
  1110.             String var41 = ((Applet)this).getParameter(method_15("\u000e\u000bCF\u001a3\u0000^s$*"));
  1111.             if (var41 == null) {
  1112.                var41 = "0";
  1113.             }
  1114.  
  1115.             this.field_63 = Integer.valueOf(var41);
  1116.             Object var15 = null;
  1117.             String var42 = ((Applet)this).getParameter(method_15("\u000e\u000bCF\u001a3\u0000^a9>"));
  1118.             if (var42 == null) {
  1119.                var42 = "0";
  1120.             }
  1121.  
  1122.             this.field_67 = Integer.valueOf(var42);
  1123.             Object var16 = null;
  1124.             String var43 = ((Applet)this).getParameter(method_15("\u000e\u000bCF\u001a3\u0000^s'=\u0002^"));
  1125.             if (var43 == null) {
  1126.                var43 = "0";
  1127.             }
  1128.  
  1129.             this.field_64 = Integer.valueOf(var43);
  1130.             FontMetrics var17 = ((Component)this).getGraphics().getFontMetrics(this.field_14);
  1131.             this.field_59 = var17.stringWidth(this.field_57);
  1132.             this.field_58 = var17.getHeight();
  1133.             this.field_9 = var17.getMaxDescent();
  1134.             this.field_91 = this.field_82;
  1135.             if (this.field_93 < this.field_58 - this.field_9) {
  1136.                this.field_93 = this.field_58 - this.field_9;
  1137.             } else if (this.field_93 > this.field_83 - this.field_9) {
  1138.                this.field_93 = this.field_83 - this.field_9;
  1139.             }
  1140.  
  1141.             if (this.field_63 != 0) {
  1142.                this.field_68 = new int[this.field_82 + 360];
  1143.                this.field_69 = new int[this.field_82 + 360];
  1144.  
  1145.                for(int var1 = 0; var1 < this.field_82 + 360; ++var1) {
  1146.                   this.field_68[var1] = (int)((double)this.field_63 * Math.sin((double)this.field_64 * (double)var1 * Math.PI / (double)180.0F)) - this.field_58 - this.field_9 + this.field_93;
  1147.                   this.field_69[var1] = this.field_68[var1] - this.field_51;
  1148.                }
  1149.  
  1150.                this.field_62 = 360;
  1151.                this.field_65 = this.field_58 + this.field_9 + 1;
  1152.                this.field_66 = this.field_65 - 1;
  1153.                return;
  1154.             }
  1155.          } else {
  1156.             if (this.field_60 == 1) {
  1157.                Object var32 = null;
  1158.                String var33 = ((Applet)this).getParameter(method_15(".\u000bCF?)\u001eZQ,"));
  1159.                if (var33 == null) {
  1160.                   var33 = "10";
  1161.                }
  1162.  
  1163.                int var37 = Integer.valueOf(var33);
  1164.                FontMetrics var40 = ((Component)this).getGraphics().getFontMetrics(this.field_14);
  1165.                this.field_15 = var40.getHeight() + var37;
  1166.                this.field_85 = new int[this.field_30.length];
  1167.  
  1168.                for(int var19 = 0; var19 < this.field_30.length; ++var19) {
  1169.                   this.field_85[var19] = (this.field_82 - var40.stringWidth(this.field_30[var19])) / 2;
  1170.                }
  1171.  
  1172.                this.field_39 = -this.field_15;
  1173.                return;
  1174.             }
  1175.  
  1176.             if (this.field_60 >= 2) {
  1177.                Object var30 = null;
  1178.                String var31 = ((Applet)this).getParameter(method_15(".\u000bCF$3\u0000]]'."));
  1179.                if (var31 == null) {
  1180.                   var31 = "2";
  1181.                }
  1182.  
  1183.                this.field_75 = Integer.valueOf(var31);
  1184.                Object var35 = null;
  1185.                String var36 = ((Applet)this).getParameter(method_15(".\u000bCF$;\u0016]]'."));
  1186.                if (var36 == null) {
  1187.                   var36 = "72";
  1188.                }
  1189.  
  1190.                this.field_74 = Integer.valueOf(var36);
  1191.                this.field_41 = this.field_74 - this.field_75;
  1192.                this.field_14 = null;
  1193.                this.field_96 = new Font[this.field_41];
  1194.                int var39 = this.field_75;
  1195.  
  1196.                for(int var18 = 0; var18 < this.field_41; ++var18) {
  1197.                   this.field_96[var18] = new Font(var24, var5, var39++);
  1198.                }
  1199.  
  1200.                this.field_22 = (float)this.field_82 / 2.0F;
  1201.                this.field_21 = (float)this.field_83 / 2.0F;
  1202.                if (this.field_60 == 3) {
  1203.                   this.field_95 = this.field_41 - 1;
  1204.                   return;
  1205.                }
  1206.  
  1207.                this.field_95 = 0;
  1208.             }
  1209.          }
  1210.       }
  1211.  
  1212.    }
  1213.  
  1214.    // $FF: renamed from: b (java.awt.Graphics) void
  1215.    public void method_11(Graphics var1) {
  1216.       switch (this.field_60) {
  1217.          case 0:
  1218.             this.method_7(var1);
  1219.             return;
  1220.          case 1:
  1221.             this.method_12(var1);
  1222.             return;
  1223.          default:
  1224.             this.method_14(var1);
  1225.       }
  1226.    }
  1227.  
  1228.    public void start() {
  1229.       if (this.field_79 == null) {
  1230.          this.field_79 = new Thread(this);
  1231.          this.field_79.start();
  1232.       }
  1233.  
  1234.    }
  1235.  
  1236.    public void stop() {
  1237.       if (this.field_79 != null && this.field_79.isAlive()) {
  1238.          this.field_79.stop();
  1239.       }
  1240.  
  1241.       this.field_79 = null;
  1242.    }
  1243.  
  1244.    public void update(Graphics var1) {
  1245.       this.paint(var1);
  1246.    }
  1247.  
  1248.    // $FF: renamed from: c (java.awt.Graphics) void
  1249.    public void method_12(Graphics var1) {
  1250.       var1.setFont(this.field_14);
  1251.       this.field_39 += this.field_81;
  1252.       if (this.field_39 > this.field_83 + this.field_30.length * this.field_15) {
  1253.          this.field_39 = -this.field_15;
  1254.       }
  1255.  
  1256.       if (this.field_77) {
  1257.          for(int var6 = 0; var6 < this.field_30.length; ++var6) {
  1258.             String var5 = this.field_30[var6];
  1259.             int var3 = this.field_85[var6];
  1260.             int var4 = this.field_83 - this.field_39 + var6 * this.field_15;
  1261.             var1.setColor(this.field_61);
  1262.             var1.drawString(var5, var3 + 1, var4 + 1);
  1263.             var1.setColor(this.field_73);
  1264.             var1.drawString(var5, var3, var4);
  1265.          }
  1266.  
  1267.       } else {
  1268.          var1.setColor(this.field_73);
  1269.  
  1270.          for(int var2 = 0; var2 < this.field_30.length; ++var2) {
  1271.             var1.drawString(this.field_30[var2], this.field_85[var2], this.field_83 - this.field_39 + var2 * this.field_15);
  1272.          }
  1273.  
  1274.       }
  1275.    }
  1276.  
  1277.    // $FF: renamed from: f () void
  1278.    public synchronized void method_13() {
  1279.       Thread.yield();
  1280.       this.field_78.sync();
  1281.       long var1 = 10L - (System.currentTimeMillis() - this.field_8);
  1282.       if (var1 > 0L) {
  1283.          try {
  1284.             Thread.sleep(var1);
  1285.          } catch (InterruptedException var5) {
  1286.          }
  1287.       } else {
  1288.          try {
  1289.             Thread.sleep(1L);
  1290.          } catch (InterruptedException var4) {
  1291.          }
  1292.       }
  1293.  
  1294.       this.field_8 = System.currentTimeMillis();
  1295.  
  1296.       try {
  1297.          Thread.sleep((long)this.field_34);
  1298.       } catch (InterruptedException var3) {
  1299.       }
  1300.    }
  1301.  
  1302.    // $FF: renamed from: d (java.awt.Graphics) void
  1303.    public void method_14(Graphics var1) {
  1304.       String var2 = this.field_30[this.field_94];
  1305.       var1.setFont(this.field_96[this.field_95]);
  1306.       FontMetrics var3 = var1.getFontMetrics(this.field_96[this.field_95]);
  1307.       int var4 = (int)(this.field_22 - (float)var3.stringWidth(var2) / 2.0F);
  1308.       int var5 = (int)(this.field_21 + (float)var3.getHeight() / 4.0F);
  1309.       if (this.field_77) {
  1310.          var1.setColor(this.field_61);
  1311.          var1.drawString(var2, var4 + 1, var5 + 1);
  1312.       }
  1313.  
  1314.       var1.setColor(this.field_73);
  1315.       var1.drawString(var2, var4, var5);
  1316.       if (this.field_60 == 3) {
  1317.          this.field_95 -= this.field_81;
  1318.          if (this.field_95 <= 1) {
  1319.             this.field_95 = this.field_41 - 1;
  1320.             ++this.field_94;
  1321.             if (this.field_94 >= this.field_30.length) {
  1322.                this.field_94 = 0;
  1323.                return;
  1324.             }
  1325.          }
  1326.       } else {
  1327.          this.field_95 += this.field_81;
  1328.          if (this.field_95 >= this.field_41) {
  1329.             this.field_95 = 0;
  1330.             ++this.field_94;
  1331.             if (this.field_94 >= this.field_30.length) {
  1332.                this.field_94 = 0;
  1333.             }
  1334.          }
  1335.       }
  1336.  
  1337.    }
  1338.  
  1339.    // $FF: renamed from: c (java.lang.String) java.lang.String
  1340.    private static String method_15(String var0) {
  1341.       char[] var1 = var0.toCharArray();
  1342.       int var2 = var1.length;
  1343.       int var3 = 0;
  1344.  
  1345.       label32:
  1346.       while(true) {
  1347.          int var4 = 0;
  1348.          byte var10000 = 90;
  1349.          char[] var10001 = var1;
  1350.          int var10002 = var3;
  1351.  
  1352.          label30:
  1353.          while(true) {
  1354.             var10001[var10002] ^= var10000;
  1355.  
  1356.             while(true) {
  1357.                ++var3;
  1358.                ++var4;
  1359.                if (var2 == var3) {
  1360.                   return new String(var1);
  1361.                }
  1362.  
  1363.                switch (var4) {
  1364.                   case 1:
  1365.                      var10000 = 110;
  1366.                      var10001 = var1;
  1367.                      var10002 = var3;
  1368.                      continue label30;
  1369.                   case 2:
  1370.                      var10000 = 59;
  1371.                      var10001 = var1;
  1372.                      var10002 = var3;
  1373.                      continue label30;
  1374.                   case 3:
  1375.                      var10000 = 50;
  1376.                      var10001 = var1;
  1377.                      var10002 = var3;
  1378.                      continue label30;
  1379.                   case 4:
  1380.                      var10000 = 73;
  1381.                      var10001 = var1;
  1382.                      var10002 = var3;
  1383.                      continue label30;
  1384.                   case 5:
  1385.                      continue label32;
  1386.                }
  1387.             }
  1388.          }
  1389.       }
  1390.    }
  1391. }
  1392.