package com.google.android.m4b.maps.bj;

import com.google.android.m4b.maps.bu.bp;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.zip.InflaterInputStream;

public final class b
{
  private final byte[] a;
  private final byte[] b;
  private byte[] c;
  private a[] d;
  private byte[] e;
  private String[] f;
  private b[] g;
  private int h;
  private int i;
  private boolean j;

  protected b()
  {
    this.a = null;
    this.b = null;
  }

  public b(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2)
  {
    this.a = paramArrayOfByte1;
    if (!f())
      throw new IOException();
    this.b = paramArrayOfByte2;
    if (!g())
      throw new IOException();
    this.j = true;
  }

  private int a(float paramFloat)
  {
    return a(paramFloat * this.h, this.h);
  }

  private static int a(float paramFloat, int paramInt)
  {
    int k = (int)paramFloat;
    if (k >= paramInt)
      k -= paramInt;
    while (k >= 0)
      return k;
    return k + paramInt;
  }

  private static i a(byte[] paramArrayOfByte)
  {
    return new i(new InflaterInputStream(new ByteArrayInputStream(paramArrayOfByte)));
  }

  private int b(float paramFloat)
  {
    return a((1.0F - 2.0F * paramFloat) * this.i, this.i);
  }

  private void e()
  {
    if (!this.j)
      throw new IllegalArgumentException("Depth map must be decompressed");
  }

  private boolean f()
  {
    if (this.a == null);
    while (true)
    {
      return false;
      i locali = a(this.a);
      try
      {
        if (locali.readUnsignedByte() == 8)
        {
          int k = locali.readUnsignedShort();
          this.h = locali.readUnsignedShort();
          this.i = locali.readUnsignedShort();
          if (locali.readUnsignedByte() == 8)
          {
            this.c = new byte[this.h * this.i];
            locali.readFully(this.c);
            this.d = new a[k];
            for (int m = 0; m < k; m++)
            {
              float f1 = locali.readFloat();
              float f2 = locali.readFloat();
              float f3 = locali.readFloat();
              float f4 = locali.readFloat();
              this.d[m] = new a(f1, f2, f3, f4);
            }
            return true;
          }
        }
      }
      catch (IOException localIOException)
      {
      }
    }
    return false;
  }

  private boolean g()
  {
    if (this.b == null);
    while (true)
    {
      return false;
      i locali = a(this.b);
      try
      {
        if (locali.readUnsignedByte() == 8)
        {
          int k = locali.readUnsignedShort();
          int m = locali.readUnsignedShort();
          int n = locali.readUnsignedShort();
          if ((this.h == m) && (this.i == n) && (locali.readUnsignedByte() == 8))
          {
            this.e = new byte[this.h * this.i];
            locali.readFully(this.e);
            this.f = new String[k];
            this.f[0] = null;
            byte[] arrayOfByte = new byte[22];
            for (int i1 = 1; i1 < k; i1++)
            {
              locali.readFully(arrayOfByte);
              this.f[i1] = new String(arrayOfByte);
            }
            this.g = new b[k];
            this.g[0] = null;
            for (int i2 = 1; i2 < k; i2++)
            {
              float f1 = locali.readFloat();
              float f2 = locali.readFloat();
              this.g[i2] = new b(f1, f2);
            }
            return true;
          }
        }
      }
      catch (IOException localIOException)
      {
      }
    }
    return false;
  }

  public final float a(float paramFloat1, float paramFloat2, float[] paramArrayOfFloat)
  {
    e();
    a locala = a(paramFloat1, paramFloat2);
    if (locala == null)
      return 0.0F;
    if ((paramArrayOfFloat != null) && (paramArrayOfFloat.length >= 3))
    {
      paramArrayOfFloat[0] = locala.a;
      paramArrayOfFloat[1] = (-locala.c);
      paramArrayOfFloat[2] = locala.b;
    }
    float[] arrayOfFloat = new float[3];
    bp.a(paramFloat1, paramFloat2, arrayOfFloat, 0);
    return locala.a(arrayOfFloat[0], -arrayOfFloat[2], arrayOfFloat[1]);
  }

  public final a a(float paramFloat1, float paramFloat2)
  {
    e();
    e();
    int k = a(paramFloat1);
    int m = b(paramFloat2);
    int n = 0xFF & this.c[(k + m * this.h)];
    if (n != 0)
      return this.d[n];
    return null;
  }

  public final b a(String paramString)
  {
    e();
    for (int k = 1; k < this.f.length; k++)
      if (paramString.equals(this.f[k]))
        return this.g[k];
    return null;
  }

  public final boolean a()
  {
    if (this.j)
      return false;
    f();
    g();
    this.j = true;
    return true;
  }

  public final b b(float paramFloat1, float paramFloat2)
  {
    e();
    int k = a(paramFloat1);
    int m = b(paramFloat2);
    int n = 0xFF & this.e[(k + m * this.h)];
    e();
    return this.g[n];
  }

  public final String b(float paramFloat1, float paramFloat2, float[] paramArrayOfFloat)
  {
    e();
    int k = a(paramFloat1);
    int m = b(paramFloat2);
    int n = 0xFF & this.e[(k + m * this.h)];
    if (n > 0)
    {
      a locala = a(paramFloat1, paramFloat2);
      float[] arrayOfFloat = new float[3];
      bp.a(paramFloat1, paramFloat2, arrayOfFloat, 0);
      float f1 = locala.a(arrayOfFloat[0], -arrayOfFloat[2], arrayOfFloat[1]);
      for (int i1 = 0; i1 < 3; i1++)
        arrayOfFloat[i1] = (f1 * arrayOfFloat[i1]);
      bp.a(arrayOfFloat[0] - this.g[n].a, arrayOfFloat[1], arrayOfFloat[2] + this.g[n].b, paramArrayOfFloat);
    }
    return this.f[n];
  }

  public final boolean b()
  {
    if (!this.j)
      return false;
    this.c = null;
    this.d = null;
    this.e = null;
    this.f = null;
    this.g = null;
    this.j = false;
    return true;
  }

  public final boolean c(float paramFloat1, float paramFloat2)
  {
    e();
    a locala = a(paramFloat1, paramFloat2);
    if (locala == null)
      return false;
    return locala.a();
  }

  public final byte[] c()
  {
    return this.a;
  }

  public final byte[] d()
  {
    return this.b;
  }

  public static final class a
  {
    public final float a;
    public final float b;
    public final float c;
    private float d;

    public a(float paramFloat1, float paramFloat2, float paramFloat3, float paramFloat4)
    {
      this.a = paramFloat1;
      this.b = paramFloat2;
      this.c = paramFloat3;
      this.d = paramFloat4;
    }

    public final float a(float paramFloat1, float paramFloat2, float paramFloat3)
    {
      return this.d / (paramFloat1 * this.a + paramFloat2 * this.b + paramFloat3 * this.c);
    }

    public final boolean a()
    {
      return Math.abs(this.c) >= 0.9F;
    }
  }

  public static final class b
  {
    public final float a;
    public final float b;

    public b(float paramFloat1, float paramFloat2)
    {
      this.a = paramFloat1;
      this.b = paramFloat2;
    }
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.google.android.m4b.maps.bj.b
 * JD-Core Version:    0.6.2
 */