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

  1. import java.applet.Applet;
  2. import java.awt.Component;
  3. import java.awt.Container;
  4. import java.awt.Event;
  5. import java.awt.Frame;
  6. import java.awt.Graphics;
  7. import java.awt.Image;
  8. import java.awt.Label;
  9. import java.awt.MediaTracker;
  10. import java.awt.Toolkit;
  11. import java.awt.image.DirectColorModel;
  12. import java.awt.image.ImageObserver;
  13. import java.awt.image.MemoryImageSource;
  14. import java.awt.image.PixelGrabber;
  15. import java.io.ByteArrayOutputStream;
  16. import java.io.IOException;
  17. import java.io.InputStream;
  18. import java.io.OutputStream;
  19. import java.net.MalformedURLException;
  20. import java.net.URL;
  21.  
  22. public class AnLens extends Applet implements Runnable, ImageObserver {
  23.    // $FF: renamed from: a int
  24.    int field_0;
  25.    // $FF: renamed from: b java.awt.Frame
  26.    Frame field_1;
  27.    // $FF: renamed from: c double
  28.    double field_2;
  29.    // $FF: renamed from: d boolean
  30.    boolean field_3 = false;
  31.    // $FF: renamed from: e java.lang.String
  32.    final String field_4 = method_12(",-y6z\u0019}k#?+<k3pM\u001e`/|\u000e4)rh\u001a*';q\u000b");
  33.    // $FF: renamed from: f java.awt.Image
  34.    Image field_5;
  35.    // $FF: renamed from: g int[]
  36.    int[] field_6;
  37.    // $FF: renamed from: h int[]
  38.    int[] field_7;
  39.    // $FF: renamed from: i int
  40.    int field_8;
  41.    // $FF: renamed from: j double
  42.    double field_9;
  43.    // $FF: renamed from: k double
  44.    double field_10;
  45.    // $FF: renamed from: l long
  46.    long field_11;
  47.    // $FF: renamed from: m long
  48.    long field_12;
  49.    // $FF: renamed from: n double
  50.    double field_13;
  51.    // $FF: renamed from: o double
  52.    double field_14;
  53.    // $FF: renamed from: p double
  54.    double field_15;
  55.    // $FF: renamed from: q double
  56.    double field_16;
  57.    // $FF: renamed from: r int
  58.    int field_17;
  59.    // $FF: renamed from: s int
  60.    int field_18;
  61.    // $FF: renamed from: t int
  62.    int field_19;
  63.    // $FF: renamed from: u java.awt.Image
  64.    Image field_20;
  65.    // $FF: renamed from: v boolean
  66.    boolean field_21;
  67.    // $FF: renamed from: w boolean
  68.    boolean field_22 = false;
  69.    // $FF: renamed from: x int
  70.    int field_23;
  71.    // $FF: renamed from: y int
  72.    int field_24;
  73.    // $FF: renamed from: z int
  74.    int field_25;
  75.    // $FF: renamed from: A int[]
  76.    int[] field_26;
  77.    // $FF: renamed from: B int[]
  78.    int[] field_27;
  79.    // $FF: renamed from: C java.net.URL
  80.    URL field_28;
  81.    // $FF: renamed from: D int
  82.    int field_29;
  83.    // $FF: renamed from: E int
  84.    int field_30;
  85.    // $FF: renamed from: F int
  86.    int field_31;
  87.    // $FF: renamed from: G int
  88.    int field_32;
  89.    // $FF: renamed from: H java.lang.String
  90.    String field_33;
  91.    // $FF: renamed from: I java.lang.String
  92.    String field_34;
  93.    // $FF: renamed from: J java.lang.String
  94.    String field_35;
  95.    // $FF: renamed from: K java.lang.String
  96.    String field_36;
  97.    // $FF: renamed from: L java.lang.String
  98.    String field_37;
  99.    // $FF: renamed from: M java.lang.String
  100.    String field_38;
  101.    // $FF: renamed from: N java.lang.String
  102.    String field_39;
  103.    // $FF: renamed from: O java.lang.String
  104.    String field_40;
  105.    // $FF: renamed from: P java.lang.String
  106.    String field_41;
  107.    // $FF: renamed from: Q java.lang.String
  108.    String field_42;
  109.    // $FF: renamed from: R java.lang.String
  110.    String field_43;
  111.    // $FF: renamed from: S java.lang.String
  112.    String field_44;
  113.    // $FF: renamed from: T java.awt.MediaTracker
  114.    MediaTracker field_45;
  115.    // $FF: renamed from: U boolean
  116.    boolean field_46 = false;
  117.    // $FF: renamed from: V boolean
  118.    boolean field_47;
  119.    // $FF: renamed from: W boolean
  120.    boolean field_48;
  121.    // $FF: renamed from: X int
  122.    int field_49;
  123.    // $FF: renamed from: Y int
  124.    int field_50;
  125.    // $FF: renamed from: Z java.awt.Graphics
  126.    Graphics field_51;
  127.    // $FF: renamed from: ba java.awt.Image
  128.    Image field_52;
  129.    // $FF: renamed from: bb boolean
  130.    boolean field_53 = false;
  131.    // $FF: renamed from: bc java.awt.Image
  132.    private Image field_54;
  133.    // $FF: renamed from: bd int
  134.    int field_55;
  135.    // $FF: renamed from: be int
  136.    int field_56;
  137.    // $FF: renamed from: bf double
  138.    double field_57;
  139.    // $FF: renamed from: bg double
  140.    double field_58;
  141.    // $FF: renamed from: bh int
  142.    int field_59;
  143.    // $FF: renamed from: bi anfy
  144.    anfy field_60;
  145.    // $FF: renamed from: bj java.awt.image.MemoryImageSource
  146.    MemoryImageSource field_61;
  147.    // $FF: renamed from: bk double
  148.    double field_62;
  149.    // $FF: renamed from: bl boolean
  150.    boolean field_63 = false;
  151.    // $FF: renamed from: bm int
  152.    int field_64;
  153.    // $FF: renamed from: bn int
  154.    int field_65;
  155.    // $FF: renamed from: bo java.lang.String
  156.    String field_66;
  157.    // $FF: renamed from: bp java.awt.Toolkit
  158.    Toolkit field_67;
  159.    // $FF: renamed from: bq java.lang.Thread
  160.    Thread field_68;
  161.    // $FF: renamed from: br int
  162.    int field_69;
  163.    // $FF: renamed from: bs double
  164.    double field_70;
  165.    // $FF: renamed from: bt double
  166.    double field_71;
  167.    // $FF: renamed from: bu double
  168.    double field_72;
  169.    // $FF: renamed from: bv double
  170.    double field_73;
  171.    // $FF: renamed from: bw Lware
  172.    Lware field_74;
  173.    // $FF: renamed from: bx int
  174.    int field_75;
  175.    // $FF: renamed from: by double
  176.    double field_76;
  177.    // $FF: renamed from: bz int
  178.    int field_77;
  179.    // $FF: renamed from: bA double
  180.    double field_78;
  181.  
  182.    // $FF: renamed from: a () void
  183.    private final void method_0() {
  184.       while(true) {
  185.          ((Applet)this).showStatus(method_12(")2g}kM/l7p\u001b8)-h\u001ash4y\u00147h,~C>f7?\u000e/l>v\u0019.)6v\u00038)3qM\u0015]\u0017SL"));
  186.  
  187.          try {
  188.             Thread.sleep(500L);
  189.          } catch (InterruptedException var1) {
  190.          }
  191.       }
  192.    }
  193.  
  194.    // $FF: renamed from: b () boolean
  195.    public synchronized boolean method_1() {
  196.       ((Component)this).prepareImage(this.field_54, this);
  197.       if (!this.field_22) {
  198.          return false;
  199.       } else {
  200.          for(int var1 = 0; var1 < 3; ++var1) {
  201.             this.notifyAll();
  202.             Thread.yield();
  203.  
  204.             try {
  205.                Thread.sleep(100L);
  206.             } catch (InterruptedException var2) {
  207.             }
  208.          }
  209.  
  210.          return this.field_53;
  211.       }
  212.    }
  213.  
  214.    public void destroy() {
  215.       if (this.field_54 != null) {
  216.          this.field_54.flush();
  217.       }
  218.  
  219.       this.field_54 = null;
  220.       if (this.field_52 != null) {
  221.          this.field_52.flush();
  222.       }
  223.  
  224.       this.field_52 = null;
  225.       if (this.field_51 != null) {
  226.          this.field_51.dispose();
  227.       }
  228.  
  229.       this.field_51 = null;
  230.       System.gc();
  231.    }
  232.  
  233.    // $FF: renamed from: c () void
  234.    public final synchronized void method_2() {
  235.       this.field_18 = this.field_29 - this.field_25;
  236.       this.field_19 = this.field_30 - this.field_25;
  237.       int var1 = this.field_18;
  238.       int var2 = this.field_19;
  239.       int[] var3 = this.field_7;
  240.       int[] var4 = this.field_6;
  241.       int[] var5 = this.field_27;
  242.       int[] var6 = this.field_26;
  243.       int var7 = this.field_69;
  244.       int var8 = this.field_0;
  245.  
  246.       for(int var9 = 0; var9 < var8; ++var9) {
  247.          var3[var9] = var4[(var5[var9] + var2) * var7 + var6[var9] + var1];
  248.       }
  249.  
  250.    }
  251.  
  252.    // $FF: renamed from: a (java.lang.String) java.awt.Image
  253.    Image method_3(String var1) {
  254.       try {
  255.          return this.method_4(var1);
  256.       } catch (NoSuchMethodError var2) {
  257.          return this.method_4(var1);
  258.       }
  259.    }
  260.  
  261.    // $FF: renamed from: b (java.lang.String) java.awt.Image
  262.    synchronized Image method_4(String var1) {
  263.       URL var2 = null;
  264.       Image var3 = null;
  265.  
  266.       try {
  267.          var2 = new URL(((Applet)this).getDocumentBase(), var1);
  268.       } catch (MalformedURLException var14) {
  269.       }
  270.  
  271.       try {
  272.          try {
  273.             InputStream var4 = this.getClass().getResourceAsStream(var2.toString());
  274.             if (var4 != null) {
  275.                ByteArrayOutputStream var5 = new ByteArrayOutputStream(1024);
  276.                byte[] var6 = new byte[512];
  277.                boolean var8 = false;
  278.                Object var9 = null;
  279.  
  280.                try {
  281.                   while(!var8) {
  282.                      int var7 = var4.read(var6, 0, 512);
  283.                      if (var7 != -1) {
  284.                         var5.write(var6, 0, var7);
  285.                         ((OutputStream)var5).flush();
  286.                      } else {
  287.                         var8 = true;
  288.                      }
  289.                   }
  290.  
  291.                   var21 = var5.toByteArray();
  292.                   ((OutputStream)var5).close();
  293.                   var4.close();
  294.                } catch (IOException var15) {
  295.                   var21 = null;
  296.                }
  297.  
  298.                System.gc();
  299.                if (var21 != null) {
  300.                   var3 = ((Component)this).getToolkit().createImage(var21);
  301.                   ((Component)this).prepareImage(var3, this);
  302.                }
  303.             }
  304.          } catch (NoSuchMethodError var16) {
  305.          }
  306.       } catch (SecurityException var17) {
  307.       }
  308.  
  309.       if (var3 == null) {
  310.          int var18 = 0;
  311.  
  312.          while(var18 < 5) {
  313.             try {
  314.                if (var18 % 2 == 0) {
  315.                   var3 = Toolkit.getDefaultToolkit().getImage(var2);
  316.                } else {
  317.                   var3 = ((Applet)this).getImage(var2);
  318.                }
  319.  
  320.                ++var18;
  321.                MediaTracker var20 = new MediaTracker(this);
  322.                this.notifyAll();
  323.                Thread.currentThread();
  324.                Thread.yield();
  325.  
  326.                try {
  327.                   var20.addImage(var3, 0);
  328.                   var20.waitForID(0);
  329.                } catch (InterruptedException var12) {
  330.                   var3 = null;
  331.                }
  332.  
  333.                if (var20.isErrorID(0)) {
  334.                   var3 = null;
  335.                } else {
  336.                   var18 = 6;
  337.                }
  338.             } catch (NullPointerException var13) {
  339.                System.gc();
  340.             }
  341.          }
  342.       }
  343.  
  344.       if (var3 == null) {
  345.          for(int var19 = 0; var19 < 25; ++var19) {
  346.             ((Applet)this).showStatus(method_12("$0h=zM") + var1 + method_12("M3f.?\u000b2|4{L"));
  347.  
  348.             try {
  349.                Thread.currentThread();
  350.                Thread.sleep(250L);
  351.             } catch (InterruptedException var11) {
  352.             }
  353.          }
  354.       } else {
  355.          while(var3.getWidth(this) < 0) {
  356.             this.notifyAll();
  357.             Thread.currentThread();
  358.             Thread.yield();
  359.  
  360.             try {
  361.                Thread.currentThread();
  362.                Thread.sleep(100L);
  363.             } catch (InterruptedException var10) {
  364.             }
  365.          }
  366.       }
  367.  
  368.       return var3;
  369.    }
  370.  
  371.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  372.       if (var1 == this.field_54) {
  373.          if (var2 == 16) {
  374.             this.field_53 = true;
  375.          }
  376.  
  377.          return true;
  378.       } else {
  379.          return true;
  380.       }
  381.    }
  382.  
  383.    public void init() {
  384.       this.field_69 = ((Component)this).size().width;
  385.       this.field_17 = ((Component)this).size().height;
  386.       this.field_67 = ((Component)this).getToolkit();
  387.       this.field_66 = ((Applet)this).getParameter(method_12("\u001e)h.j\u001e0z="));
  388.       Object var1 = null;
  389.       String var38 = ((Applet)this).getParameter(method_12("\u000e/l>v\u0019."));
  390.       if (var38 != null) {
  391.          if (!var38.startsWith(method_12(",-y6z\u0019}k#?+<k3pM\u001e`/|\u000e4)rh\u001a*';q\u000b"))) {
  392.             this.method_0();
  393.          }
  394.       } else {
  395.          this.method_0();
  396.       }
  397.  
  398.       Object var2 = null;
  399.       Object var3 = null;
  400.  
  401.       try {
  402.          var39 = ((Applet)this).getDocumentBase().getProtocol();
  403.       } catch (SecurityException var35) {
  404.          var39 = method_12("\u000b4e?");
  405.       }
  406.  
  407.       try {
  408.          var40 = ((Applet)this).getDocumentBase().getHost();
  409.       } catch (SecurityException var34) {
  410.          var40 = "";
  411.       }
  412.  
  413.       if (!var39.equalsIgnoreCase(method_12("\u000b4e?")) && var40.length() != 0 && !var40.equalsIgnoreCase(method_12("\u00012j;s\u00052z.")) && !var40.equals(method_12("\\o>t/Cm'k"))) {
  414.          if (var40.startsWith(method_12("\u001a*~t"))) {
  415.             var40 = var40.substring(4);
  416.          }
  417.  
  418.          Object var4 = null;
  419.          String var41 = ((Applet)this).getParameter(method_12("\u001f8n9p\t8"));
  420.          if (var41 != null && !var41.equals("NO") && var41.length() > 10) {
  421.             int var5 = 1;
  422.  
  423.             try {
  424.                for(int var6 = 0; var6 < var41.length(); ++var6) {
  425.                   if (var41.charAt(var6) == '+') {
  426.                      ++var5;
  427.                   }
  428.                }
  429.             } catch (StringIndexOutOfBoundsException var37) {
  430.             }
  431.  
  432.             int[] var44 = new int[var5];
  433.             if (var5 == 1) {
  434.                var44[0] = var41.length();
  435.             } else {
  436.                int var7 = 0;
  437.  
  438.                try {
  439.                   for(int var8 = 0; var8 < var41.length(); ++var8) {
  440.                      if (var41.charAt(var8) == '+') {
  441.                         var44[var7] = var8;
  442.                         ++var7;
  443.                      }
  444.                   }
  445.                } catch (StringIndexOutOfBoundsException var36) {
  446.                }
  447.  
  448.                var44[var7] = var41.length();
  449.             }
  450.  
  451.             String[] var46 = new String[var5];
  452.             int var48 = 0;
  453.  
  454.             for(int var9 = 0; var9 < var5; ++var9) {
  455.                try {
  456.                   var46[var9] = var41.substring(var48, var44[var9]);
  457.                } catch (StringIndexOutOfBoundsException var33) {
  458.                }
  459.  
  460.                var48 = var44[var9] + 1;
  461.             }
  462.  
  463.             for(int var10 = 0; var10 < var5; ++var10) {
  464.                int var11 = var46[var10].length() - 8;
  465.                byte[] var15 = new byte[var11];
  466.                byte[] var16 = new byte[8];
  467.                var46[var10].getBytes(0, var11, var15, 0);
  468.                var46[var10].getBytes(var11, var11 + 8, var16, 0);
  469.                int var13 = var11 % 7;
  470.                int var14 = var11 % 3;
  471.  
  472.                for(int var17 = 0; var17 < var11; ++var17) {
  473.                   byte var12 = var15[var17];
  474.                   if (var12 >= 48 && var12 <= 57) {
  475.                      var15[var17] = this.method_10(var12, var13, 48, 57);
  476.                   } else if (var12 >= 65 && var12 <= 90) {
  477.                      var15[var17] = this.method_10(var12, var13, 65, 90);
  478.                   } else if (var12 >= 97 && var12 <= 122) {
  479.                      var15[var17] = this.method_10(var12, var13, 97, 122);
  480.                   } else if (var12 == 45) {
  481.                      var15[var17] = 46;
  482.                   } else if (var12 == 46) {
  483.                      var15[var17] = 45;
  484.                   }
  485.  
  486.                   if ((var13 += var14) > 7) {
  487.                      var13 = 1;
  488.                   }
  489.                }
  490.  
  491.                int var18 = 0;
  492.                int var19 = 0;
  493.  
  494.                for(int var20 = 0; var20 < 4; ++var20) {
  495.                   var16[var20] = (byte)(var16[var20] - 52);
  496.                }
  497.  
  498.                for(int var21 = 4; var21 < 8; ++var21) {
  499.                   var16[var21] = (byte)(var16[var21] - 55);
  500.                }
  501.  
  502.                for(int var22 = 0; var22 < var11; var22 += 2) {
  503.                   var18 += var15[var22];
  504.                }
  505.  
  506.                for(int var23 = 1; var23 < var11; var23 += 2) {
  507.                   var19 += var15[var23];
  508.                }
  509.  
  510.                String var24 = String.valueOf(var18);
  511.  
  512.                String var25;
  513.                for(var25 = String.valueOf(var19); var24.length() < 4; var24 = "0" + var24) {
  514.                }
  515.  
  516.                while(var25.length() < 4) {
  517.                   var25 = "0" + var25;
  518.                }
  519.  
  520.                byte[] var26 = new byte[8];
  521.                var24.getBytes(0, 4, var26, 0);
  522.                var25.getBytes(0, 4, var26, 4);
  523.                String var27 = new String(var26, 0);
  524.                if (var27.equals(new String(var16, 0))) {
  525.                   String var28 = new String(var15, 0);
  526.                   Object var29 = null;
  527.                   String var53;
  528.                   if (var28.startsWith(method_12("\u001a*~t"))) {
  529.                      var53 = var28.substring(4);
  530.                   } else {
  531.                      var53 = var28;
  532.                   }
  533.  
  534.                   if (var40.equalsIgnoreCase(var53)) {
  535.                      this.field_63 = true;
  536.                   }
  537.                }
  538.             }
  539.          }
  540.       } else {
  541.          this.field_63 = true;
  542.       }
  543.  
  544.       String var42 = ((Applet)this).getParameter(method_12("\u001f8n6v\u00036"));
  545.       if (var42 != null && !var42.equalsIgnoreCase("NO")) {
  546.          try {
  547.             this.field_28 = new URL(((Applet)this).getDocumentBase(), var42);
  548.          } catch (MalformedURLException var32) {
  549.             this.field_28 = null;
  550.          }
  551.       }
  552.  
  553.       String var43 = ((Applet)this).getParameter(method_12("\u001f8n4z\u001a;{;r\b"));
  554.       if (var43.equalsIgnoreCase(method_12("4\u0018Z"))) {
  555.          this.field_46 = true;
  556.       }
  557.  
  558.       Container var45;
  559.       for(var45 = ((Component)this).getParent(); !(var45 instanceof Frame); var45 = ((Component)var45).getParent()) {
  560.       }
  561.  
  562.       this.field_1 = (Frame)var45;
  563.       this.field_1.setCursor(3);
  564.       String var47 = ((Applet)this).getParameter(method_12("\u0002+l(v\u0000:"));
  565.       if (var47 != null && !var47.equalsIgnoreCase("NO")) {
  566.          this.field_54 = this.method_3(var47);
  567.          if (this.field_54 != null) {
  568.             String var49 = ((Applet)this).getParameter(method_12("\u0002+l(v\u0000:Q"));
  569.             if (var49 == null) {
  570.                var49 = "0";
  571.             }
  572.  
  573.             this.field_55 = Integer.valueOf(var49);
  574.             String var52 = ((Applet)this).getParameter(method_12("\u0002+l(v\u0000:P"));
  575.             if (var52 == null) {
  576.                var52 = "0";
  577.             }
  578.  
  579.             this.field_56 = Integer.valueOf(var52);
  580.          }
  581.       }
  582.  
  583.       this.field_41 = ((Applet)this).getParameter(method_12(" 4g\tF#\u001e"));
  584.       if (this.field_41 == null) {
  585.          this.field_41 = "10";
  586.       }
  587.  
  588.       this.field_32 = Integer.valueOf(this.field_41);
  589.       this.field_33 = ((Applet)this).getParameter(method_12("\u00040h=z"));
  590.       this.field_36 = ((Applet)this).getParameter(method_12("\u00018g)h\u00049}2"));
  591.       if (this.field_36 == null) {
  592.          this.field_36 = "35";
  593.       }
  594.  
  595.       this.field_37 = ((Applet)this).getParameter(method_12("\t4z.{\u001b<e"));
  596.       if (this.field_37 == null) {
  597.          this.field_37 = "10";
  598.       }
  599.  
  600.       this.field_38 = ((Applet)this).getParameter(method_12("\t4z.p\u0015$"));
  601.       if (this.field_38 == null) {
  602.          this.field_38 = "0";
  603.       }
  604.  
  605.       this.field_39 = ((Applet)this).getParameter(method_12("\u00172f7y\f>}5m"));
  606.       if (this.field_39 == null) {
  607.          this.field_39 = "5";
  608.       }
  609.  
  610.       this.field_40 = ((Applet)this).getParameter(method_12("\u00043}?m\f>}3i\b"));
  611.       this.field_42 = ((Applet)this).getParameter(method_12("\u001e-m\""));
  612.       if (this.field_42 == null) {
  613.          this.field_42 = "2";
  614.       }
  615.  
  616.       this.field_43 = ((Applet)this).getParameter(method_12("\u001e-m#"));
  617.       if (this.field_43 == null) {
  618.          this.field_43 = "1";
  619.       }
  620.  
  621.       this.field_44 = ((Applet)this).getParameter(method_12("\t4z.p\u001f)"));
  622.       if (this.field_40.equalsIgnoreCase(method_12("4\u0018Z"))) {
  623.          this.field_21 = true;
  624.       } else {
  625.          this.field_21 = false;
  626.       }
  627.  
  628.       if (this.field_44.equalsIgnoreCase(method_12("4\u0018Z"))) {
  629.          this.field_47 = false;
  630.       } else {
  631.          this.field_47 = true;
  632.       }
  633.  
  634.       this.field_34 = ((Applet)this).getParameter(method_12("\u00008d>z\u0001<p"));
  635.       this.field_35 = ((Applet)this).getParameter(method_12("\u001d/`5m\u0004)p"));
  636.       this.field_31 = Integer.valueOf(this.field_34);
  637.       this.field_59 = Integer.valueOf(this.field_35);
  638.       if (this.field_31 < 0) {
  639.          this.field_31 = 0;
  640.       }
  641.  
  642.       if (this.field_59 > 10) {
  643.          this.field_59 = 10;
  644.       } else if (this.field_59 < 1) {
  645.          this.field_59 = 1;
  646.       }
  647.  
  648.       this.field_25 = Integer.valueOf(this.field_36);
  649.       if (this.field_25 > this.field_69) {
  650.          this.field_25 = this.field_69 / 2;
  651.       } else if (this.field_25 > this.field_17) {
  652.          this.field_25 = this.field_17 / 2;
  653.       } else if (this.field_25 < 3) {
  654.          this.field_25 = 3;
  655.       }
  656.  
  657.       this.field_13 = Double.valueOf(this.field_37) / (double)10.0F;
  658.       if (this.field_13 > (double)2.0F) {
  659.          this.field_13 = (double)2.0F;
  660.       } else if (this.field_13 < (double)0.5F) {
  661.          this.field_13 = (double)0.5F;
  662.       }
  663.  
  664.       this.field_15 = Double.valueOf(this.field_38) / (double)10.0F;
  665.       if (this.field_15 > (double)4.0F) {
  666.          this.field_15 = (double)4.0F;
  667.       } else if (this.field_15 < (double)-4.0F) {
  668.          this.field_15 = (double)-4.0F;
  669.       }
  670.  
  671.       this.field_78 = Double.valueOf(this.field_39) / (double)10.0F + (double)1.0F;
  672.       if (this.field_78 > (double)4.0F) {
  673.          this.field_78 = (double)4.0F;
  674.       } else if (this.field_78 < (double)1.0F) {
  675.          this.field_78 = (double)1.0F;
  676.       }
  677.  
  678.       this.field_64 = Integer.valueOf(this.field_42);
  679.       this.field_65 = Integer.valueOf(this.field_43);
  680.       if (this.field_64 > 8) {
  681.          this.field_64 = 8;
  682.       } else if (this.field_64 < 0) {
  683.          this.field_64 = 0;
  684.       }
  685.  
  686.       if (this.field_65 > 8) {
  687.          this.field_65 = 8;
  688.       } else if (this.field_65 < 0) {
  689.          this.field_65 = 0;
  690.       }
  691.  
  692.       this.field_6 = new int[this.field_69 * this.field_17];
  693.       this.field_5 = this.method_3(this.field_33);
  694.       if (this.field_5 != null) {
  695.          PixelGrabber var50 = new PixelGrabber(this.field_5, 0, 0, this.field_69, this.field_17, this.field_6, 0, this.field_69);
  696.  
  697.          try {
  698.             var50.grabPixels();
  699.          } catch (InterruptedException var31) {
  700.          }
  701.       }
  702.  
  703.       this.field_5.flush();
  704.       System.gc();
  705.       this.field_5 = ((Component)this).createImage(new MemoryImageSource(this.field_69, this.field_17, this.field_6, 0, this.field_69));
  706.       if (this.field_15 == (double)0.0F) {
  707.          this.field_14 = (double)1.0F;
  708.          this.field_16 = (double)1.0F;
  709.       } else if (this.field_15 < (double)0.0F) {
  710.          this.field_14 = -this.field_15 + (double)1.0F;
  711.          this.field_16 = (double)1.0F;
  712.       } else if (this.field_15 > (double)0.0F) {
  713.          this.field_14 = (double)1.0F;
  714.          this.field_16 = this.field_15 + (double)1.0F;
  715.       }
  716.  
  717.       this.method_7();
  718.       this.field_29 = this.field_69 / 2;
  719.       this.field_30 = this.field_17 / 2;
  720.  
  721.       try {
  722.          this.method_5();
  723.       } catch (NoSuchMethodError var30) {
  724.          this.method_5();
  725.       }
  726.  
  727.       this.field_52 = ((Component)this).createImage(this.field_69, this.field_17);
  728.       this.field_51 = this.field_52.getGraphics();
  729.       if (!this.field_63) {
  730.          Label var51 = new Label(method_12(",3E?q\u001e}h*o\u00018}z}\u0014}O;}\u00042)\u0019v\u0018>j3?\\d0l0Te'"));
  731.          this.field_74 = new Lware(((Applet)this).getAppletContext(), var51);
  732.          this.field_74.setTitle(method_12(",3E?q\u001e}H*o\u00018}z}\u0014}O;}\u00042)\u0019v\u0018>j3"));
  733.          this.field_74.hide();
  734.       }
  735.  
  736.    }
  737.  
  738.    // $FF: renamed from: d () void
  739.    void method_5() {
  740.       this.field_61 = new MemoryImageSource(this.field_24, this.field_24, new DirectColorModel(24, 16711680, 65280, 255), this.field_7, 0, this.field_24);
  741.  
  742.       String var1;
  743.       try {
  744.          var1 = System.getProperty(method_12("\u0007<\u007f;1\u001b8{)v\u00023"));
  745.       } catch (SecurityException var3) {
  746.          var1 = method_12("\u00183b");
  747.       }
  748.  
  749.       if (!var1.startsWith(method_12("\\s9"))) {
  750.          try {
  751.             this.field_61.setAnimated(true);
  752.             this.field_61.setFullBufferUpdates(true);
  753.             this.field_20 = ((Component)this).createImage(this.field_61);
  754.             this.field_61.newPixels();
  755.             this.field_22 = true;
  756.          } catch (NoSuchMethodError var2) {
  757.             this.field_22 = false;
  758.          }
  759.       }
  760.  
  761.       if (!this.field_22) {
  762.          this.field_61 = null;
  763.          this.field_60 = new anfy(this.field_24, this.field_24, new DirectColorModel(24, 16711680, 65280, 255), this.field_7, 0, this.field_24);
  764.          this.field_20 = ((Component)this).createImage(this.field_60);
  765.       }
  766.  
  767.    }
  768.  
  769.    // $FF: renamed from: e () void
  770.    public final synchronized void method_6() {
  771.       this.field_29 += this.field_64;
  772.       this.field_30 += this.field_65;
  773.       if (this.field_29 < this.field_25) {
  774.          this.field_29 = this.field_25;
  775.          this.field_64 = -this.field_64;
  776.       } else if (this.field_29 > this.field_69 - this.field_25) {
  777.          this.field_29 = this.field_69 - this.field_25;
  778.          this.field_64 = -this.field_64;
  779.       }
  780.  
  781.       if (this.field_30 < this.field_25) {
  782.          this.field_30 = this.field_25;
  783.          this.field_65 = -this.field_65;
  784.       } else {
  785.          if (this.field_30 > this.field_17 - this.field_25) {
  786.             this.field_30 = this.field_17 - this.field_25;
  787.             this.field_65 = -this.field_65;
  788.          }
  789.  
  790.       }
  791.    }
  792.  
  793.    public final boolean mouseDown(Event var1, int var2, int var3) {
  794.       if (!this.field_63) {
  795.          this.field_74.show();
  796.          this.field_74.toFront();
  797.          this.field_74.requestFocus();
  798.       } else if (this.field_28 != null) {
  799.          if (this.field_46) {
  800.             ((Applet)this).getAppletContext().showDocument(this.field_28, ((Applet)this).getParameter(method_12("\u001f8n<m\f0l4~\u00008")));
  801.          } else {
  802.             ((Applet)this).getAppletContext().showDocument(this.field_28);
  803.          }
  804.       }
  805.  
  806.       return true;
  807.    }
  808.  
  809.    public final boolean mouseEnter(Event var1, int var2, int var3) {
  810.       ((Applet)this).showStatus(this.field_66);
  811.       return true;
  812.    }
  813.  
  814.    public final boolean mouseExit(Event var1, int var2, int var3) {
  815.       ((Applet)this).showStatus("");
  816.       return true;
  817.    }
  818.  
  819.    public final synchronized boolean mouseMove(Event var1, int var2, int var3) {
  820.       if (this.field_21) {
  821.          this.field_12 = System.currentTimeMillis();
  822.          this.field_48 = true;
  823.          if (var2 > this.field_25) {
  824.             if (var2 < this.field_69 - this.field_25) {
  825.                this.field_29 = var2;
  826.             } else {
  827.                this.field_29 = this.field_69 - this.field_25;
  828.             }
  829.          } else {
  830.             this.field_29 = this.field_25;
  831.          }
  832.  
  833.          if (var3 > this.field_25) {
  834.             if (var3 < this.field_17 - this.field_25) {
  835.                this.field_30 = var3;
  836.             } else {
  837.                this.field_30 = this.field_17 - this.field_25;
  838.             }
  839.          } else {
  840.             this.field_30 = this.field_25;
  841.          }
  842.       }
  843.  
  844.       return true;
  845.    }
  846.  
  847.    public final void paint(Graphics var1) {
  848.       if (this.field_52 != null) {
  849.          var1.drawImage(this.field_52, 0, 0, this);
  850.       }
  851.  
  852.    }
  853.  
  854.    // $FF: renamed from: f () void
  855.    public final void method_7() {
  856.       this.field_29 = this.field_69;
  857.       this.field_30 = this.field_17;
  858.       this.field_24 = this.field_25 << 1;
  859.       this.field_0 = this.field_24 * this.field_24;
  860.       this.field_7 = new int[this.field_24 * this.field_24];
  861.       this.field_26 = new int[this.field_24 * this.field_24];
  862.       this.field_27 = new int[this.field_24 * this.field_24];
  863.       if (!this.field_47) {
  864.          for(int var33 = 0; var33 < this.field_24; ++var33) {
  865.             int var30 = var33 - this.field_25;
  866.             int var32 = var33 * this.field_24;
  867.  
  868.             for(int var34 = 0; var34 < this.field_24; ++var34) {
  869.                int var31 = var34 - this.field_25;
  870.                double var35 = Math.sqrt((double)(var31 * var31 + var30 * var30));
  871.                int var37 = var32 + var34;
  872.                if (!(var35 > (double)this.field_25) && var35 != (double)0.0F) {
  873.                   double var18 = (double)var30;
  874.                   double var20 = (double)var31;
  875.                   double var8 = Math.atan(var18 * this.field_13 * this.field_16 / var20 / this.field_14);
  876.                   double var10 = Math.atan(var18 * this.field_16 / (var20 * this.field_13) / this.field_14);
  877.                   double var12 = var35 / (double)this.field_25;
  878.                   var35 = var12 * var12 * (double)this.field_25 / this.field_78;
  879.                   double var14 = Math.cos(var10) * var35;
  880.                   double var16 = Math.sin(var8) * var35;
  881.                   if (var14 * (double)var31 < (double)0.0F) {
  882.                      var14 = -var14;
  883.                   }
  884.  
  885.                   if (var16 * (double)var30 < (double)0.0F) {
  886.                      var16 = -var16;
  887.                   }
  888.  
  889.                   this.field_26[var37] = (int)((double)this.field_25 + var14);
  890.                   this.field_27[var37] = (int)((double)this.field_25 + var16);
  891.                } else {
  892.                   this.field_26[var37] = var34;
  893.                   this.field_27[var37] = var33;
  894.                }
  895.             }
  896.          }
  897.  
  898.       } else {
  899.          this.field_76 = (double)1.0F / this.field_78;
  900.          double var23 = this.field_76 * (double)this.field_25;
  901.          double var25 = -var23;
  902.          double var27 = -var23;
  903.          double[] var29 = new double[]{var25, var27};
  904.  
  905.          for(int var4 = 0; var4 < this.field_24; ++var4) {
  906.             int var1 = var4 - this.field_25;
  907.             int var3 = var4 * this.field_24;
  908.  
  909.             for(int var5 = 0; var5 < this.field_24; ++var5) {
  910.                int var2 = var5 - this.field_25;
  911.                double var6 = Math.sqrt((double)(var2 * var2 + var1 * var1));
  912.                int var22 = var3 + var5;
  913.                var25 += this.field_76;
  914.                if (!(var6 > (double)this.field_25) && var6 != (double)0.0F) {
  915.                   this.field_26[var22] = (int)((double)this.field_25 + var25);
  916.                   this.field_27[var22] = (int)((double)this.field_25 + var27);
  917.                } else {
  918.                   this.field_26[var22] = var5;
  919.                   this.field_27[var22] = var4;
  920.                }
  921.             }
  922.  
  923.             var29[1] += this.field_76;
  924.             var25 = var29[0];
  925.             var27 = var29[1];
  926.          }
  927.  
  928.       }
  929.    }
  930.  
  931.    // $FF: renamed from: g () void
  932.    public synchronized void method_8() {
  933.       if (this.field_3) {
  934.          this.notifyAll();
  935.  
  936.          while(!this.field_53) {
  937.             Thread.yield();
  938.  
  939.             try {
  940.                Thread.sleep(8L);
  941.             } catch (InterruptedException var1) {
  942.             }
  943.          }
  944.  
  945.          this.field_53 = false;
  946.       }
  947.  
  948.       this.field_51.drawImage(this.field_54, this.field_55, this.field_56, this);
  949.    }
  950.  
  951.    // $FF: renamed from: h () void
  952.    public final void method_9() {
  953.       try {
  954.          if (this.field_22) {
  955.             this.field_61.newPixels();
  956.          } else {
  957.             this.field_60.startProduction(this.field_60.getConsumer());
  958.          }
  959.       } catch (NoSuchMethodError var1) {
  960.       }
  961.    }
  962.  
  963.    public void run() {
  964.       this.field_68.setPriority(this.field_59);
  965.       ((Applet)this).showStatus("");
  966.       System.gc();
  967.       this.field_11 = System.currentTimeMillis();
  968.       Graphics var1 = ((Component)this).getGraphics();
  969.       if (this.field_54 != null && !this.field_3) {
  970.          this.field_3 = this.method_1();
  971.       }
  972.  
  973.       if (this.field_28 != null) {
  974.          this.field_1.setCursor(12);
  975.       } else {
  976.          this.field_1.setCursor(0);
  977.       }
  978.  
  979.       while(this.field_68 != null) {
  980.          this.field_51.drawImage(this.field_5, 0, 0, this);
  981.          if (this.field_48) {
  982.             if (System.currentTimeMillis() - this.field_12 > 2000L) {
  983.                this.field_48 = false;
  984.             }
  985.          } else {
  986.             this.method_6();
  987.          }
  988.  
  989.          this.method_2();
  990.          if (++this.field_8 == this.field_31) {
  991.             System.gc();
  992.             this.field_8 = 0;
  993.          }
  994.  
  995.          try {
  996.             this.method_9();
  997.          } catch (NoSuchMethodError var2) {
  998.          }
  999.  
  1000.          this.field_51.drawImage(this.field_20, this.field_18, this.field_19, this);
  1001.          if (this.field_54 != null) {
  1002.             this.method_8();
  1003.          }
  1004.  
  1005.          var1.drawImage(this.field_52, 0, 0, this);
  1006.          this.method_11();
  1007.       }
  1008.  
  1009.    }
  1010.  
  1011.    // $FF: renamed from: a (int, int, int, int) byte
  1012.    byte method_10(int var1, int var2, int var3, int var4) {
  1013.       int var5 = var1 - var2;
  1014.       if (var5 >= var3) {
  1015.          return (byte)var5;
  1016.       } else {
  1017.          int var6 = var3 - var5 - 1;
  1018.          return (byte)(var4 - var6);
  1019.       }
  1020.    }
  1021.  
  1022.    public void start() {
  1023.       if (this.field_68 == null) {
  1024.          this.field_68 = new Thread(this);
  1025.          this.field_68.start();
  1026.       }
  1027.  
  1028.    }
  1029.  
  1030.    public void stop() {
  1031.       if (this.field_68 != null && this.field_68.isAlive()) {
  1032.          this.field_68.stop();
  1033.       }
  1034.  
  1035.       this.field_68 = null;
  1036.    }
  1037.  
  1038.    public final void update(Graphics var1) {
  1039.       if (this.field_52 != null) {
  1040.          var1.drawImage(this.field_52, 0, 0, this);
  1041.       }
  1042.  
  1043.    }
  1044.  
  1045.    // $FF: renamed from: i () void
  1046.    public synchronized void method_11() {
  1047.       Thread.yield();
  1048.       this.field_67.sync();
  1049.       long var1 = 10L - (System.currentTimeMillis() - this.field_11);
  1050.       if (var1 > 0L) {
  1051.          try {
  1052.             Thread.sleep(var1);
  1053.          } catch (InterruptedException var5) {
  1054.          }
  1055.       } else {
  1056.          try {
  1057.             Thread.sleep(1L);
  1058.          } catch (InterruptedException var4) {
  1059.          }
  1060.       }
  1061.  
  1062.       this.field_11 = System.currentTimeMillis();
  1063.  
  1064.       try {
  1065.          Thread.sleep((long)this.field_32);
  1066.       } catch (InterruptedException var3) {
  1067.       }
  1068.    }
  1069.  
  1070.    // $FF: renamed from: c (java.lang.String) java.lang.String
  1071.    private static String method_12(String var0) {
  1072.       char[] var1 = var0.toCharArray();
  1073.       int var2 = var1.length;
  1074.       int var3 = 0;
  1075.  
  1076.       label32:
  1077.       while(true) {
  1078.          int var4 = 0;
  1079.          byte var10000 = 109;
  1080.          char[] var10001 = var1;
  1081.          int var10002 = var3;
  1082.  
  1083.          label30:
  1084.          while(true) {
  1085.             var10001[var10002] ^= var10000;
  1086.  
  1087.             while(true) {
  1088.                ++var3;
  1089.                ++var4;
  1090.                if (var2 == var3) {
  1091.                   return new String(var1);
  1092.                }
  1093.  
  1094.                switch (var4) {
  1095.                   case 1:
  1096.                      var10000 = 93;
  1097.                      var10001 = var1;
  1098.                      var10002 = var3;
  1099.                      continue label30;
  1100.                   case 2:
  1101.                      var10000 = 9;
  1102.                      var10001 = var1;
  1103.                      var10002 = var3;
  1104.                      continue label30;
  1105.                   case 3:
  1106.                      var10000 = 90;
  1107.                      var10001 = var1;
  1108.                      var10002 = var3;
  1109.                      continue label30;
  1110.                   case 4:
  1111.                      var10000 = 31;
  1112.                      var10001 = var1;
  1113.                      var10002 = var3;
  1114.                      continue label30;
  1115.                   case 5:
  1116.                      continue label32;
  1117.                }
  1118.             }
  1119.          }
  1120.       }
  1121.    }
  1122. }
  1123.