package

private val ANY: CompileTimeType<kotlin.Any>
private val BOOLEAN: CompileTimeType<kotlin.Boolean>
private val BYTE: CompileTimeType<kotlin.Byte>
private val CHAR: CompileTimeType<kotlin.Char>
private val DOUBLE: CompileTimeType<kotlin.Double>
private val FLOAT: CompileTimeType<kotlin.Float>
private val INT: CompileTimeType<kotlin.Int>
private val LONG: CompileTimeType<kotlin.Long>
private val SHORT: CompileTimeType<kotlin.Short>
private val STRING: CompileTimeType<kotlin.String>
private val binaryOperations: java.util.HashMap<BinaryOperationKey<*, *>, kotlin.Pair<(kotlin.Any?, kotlin.Any?) -> kotlin.Any, (BigInteger, BigInteger) -> BigInteger>>
private val emptyBinaryFun: (BigInteger, BigInteger) -> BigInteger
private val emptyUnaryFun: (kotlin.Long) -> kotlin.Long
private val unaryOperations: java.util.HashMap<UnaryOperationKey<*>, kotlin.Pair<(kotlin.Any?) -> kotlin.Any, (kotlin.Long) -> kotlin.Long>>
private fun </*0*/ A, /*1*/ B> binaryOperation(/*0*/ a: CompileTimeType<A>, /*1*/ b: CompileTimeType<B>, /*2*/ functionName: kotlin.String, /*3*/ operation: (A, B) -> kotlin.Any, /*4*/ checker: (BigInteger, BigInteger) -> BigInteger): kotlin.Pair<BinaryOperationKey<A, B>, kotlin.Pair<(kotlin.Any?, kotlin.Any?) -> kotlin.Any, (BigInteger, BigInteger) -> BigInteger>>
private fun </*0*/ A> unaryOperation(/*0*/ a: CompileTimeType<A>, /*1*/ functionName: kotlin.String, /*2*/ operation: (A) -> kotlin.Any, /*3*/ checker: (kotlin.Long) -> kotlin.Long): kotlin.Pair<UnaryOperationKey<A>, kotlin.Pair<(kotlin.Any?) -> kotlin.Any, (kotlin.Long) -> kotlin.Long>>

public final class BigInteger {
    public constructor BigInteger(/*0*/ value: kotlin.String)
    public final val value: kotlin.String
    public final fun add(/*0*/ o: BigInteger): BigInteger
    public final fun and(/*0*/ o: BigInteger): BigInteger
    public final fun divide(/*0*/ o: BigInteger): BigInteger
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public final fun mod(/*0*/ o: BigInteger): BigInteger
    public final fun multiply(/*0*/ o: BigInteger): BigInteger
    public final fun or(/*0*/ o: BigInteger): BigInteger
    public final fun subtract(/*0*/ o: BigInteger): BigInteger
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    public final fun xor(/*0*/ o: BigInteger): BigInteger
}

private final data class BinaryOperationKey</*0*/ A, /*1*/ B> {
    public constructor BinaryOperationKey</*0*/ A, /*1*/ B>(/*0*/ f: CompileTimeType<out A>, /*1*/ g: CompileTimeType<out B>, /*2*/ functionName: kotlin.String)
    public final val f: CompileTimeType<out A>
    public final val functionName: kotlin.String
    public final val g: CompileTimeType<out B>
    public final operator /*synthesized*/ fun component1(): CompileTimeType<out A>
    public final operator /*synthesized*/ fun component2(): CompileTimeType<out B>
    public final operator /*synthesized*/ fun component3(): kotlin.String
    public final /*synthesized*/ fun copy(/*0*/ f: CompileTimeType<out A> = ..., /*1*/ g: CompileTimeType<out B> = ..., /*2*/ functionName: kotlin.String = ...): BinaryOperationKey<A, B>
    public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}

private final class CompileTimeType</*0*/ T> {
    public constructor CompileTimeType</*0*/ T>()
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

private final data class UnaryOperationKey</*0*/ A> {
    public constructor UnaryOperationKey</*0*/ A>(/*0*/ f: CompileTimeType<out A>, /*1*/ functionName: kotlin.String)
    public final val f: CompileTimeType<out A>
    public final val functionName: kotlin.String
    public final operator /*synthesized*/ fun component1(): CompileTimeType<out A>
    public final operator /*synthesized*/ fun component2(): kotlin.String
    public final /*synthesized*/ fun copy(/*0*/ f: CompileTimeType<out A> = ..., /*1*/ functionName: kotlin.String = ...): UnaryOperationKey<A>
    public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
