text:
julia> [RpcApi.SimpleOrganism(0x0000000000056a65,:(function (o::Creature.Organism,)
        function func_218(var_217::Bool=true)
            return var_217
        end
        function func_185(var_184::Bool=true)
            return var_184
        end
        function func_178(var_176::Int8=-98,var_177::Int8=99)
            local var_223::Bool = false
            Creature.eatRight(o,Int(var_176))
            Creature.eatUp(o,Int(var_176))
            Creature.eatRight(o,Int(var_176))
            Creature.eatRight(o,Int(var_176))
            return var_176
        end
        local var_172::Int8 = 120
        function func_151(var_149::Int8=-11,var_150::Bool=true)
            Creature.stepUp(o)
            for i::Int8 = 1:div(var_149,_LOOP_STEPS_DIVIDER)
            end
            Creature.stepUp(o)
            var_149 = var_149 / var_149
            Creature.eatUp(o,Int(var_149))
            var_149 = var_149 + var_149
            Creature.stepRight(o)
            Creature.stepRight(o)
            return var_149
        end
        function func_143(var_142::Int8=72)
            local var_210::Bool = false
            local var_202::Bool = false
            local var_196::Int16 = -19989
            Creature.stepUp(o)
            Creature.stepUp(o)
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatUp(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatRight(o,Int(var_142))
            Creature.eatRight(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatLeft(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.stepUp(o)
            var_196 = if haskey(o.mem,var_196)
                    o.mem[var_196]
                else
                    var_196
                end
            Creature.eatUp(o,Int(var_142))
            var_196 = var_196 * var_196
            Creature.eatRight(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatLeft(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatUp(o,Int(var_142))
            if var_142 !== var_142
                Creature.stepLeft(o)
                Creature.stepDown(o)
                Creature.stepLeft(o)
            end
            Creature.stepLeft(o)
            return var_142
        end
        local var_136::Int16 = -24796
        local var_124::Bool = false
        function func_83(var_81::Bool=true,var_82::Int8=114)
            local var_199::Bool = true
            local var_186::Int8 = 123
            if var_82 <= var_82
                Creature.stepDown(o)
                Creature.stepDown(o)
            end
            Creature.eatUp(o,Int(var_186))
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            var_81 = var_199 | var_199
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.stepUp(o)
            Creature.eatDown(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            var_199 = var_199 & var_81
            Creature.eatLeft(o,Int(var_82))
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            Creature.eatDown(o,Int(var_82))
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            Creature.eatUp(o,Int(var_82))
            if var_81 > var_199
                Creature.stepLeft(o)
            end
            Creature.eatDown(o,Int(var_82))
            Creature.eatLeft(o,Int(var_186))
            Creature.stepDown(o)
            Creature.eatLeft(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.stepRight(o)
            Creature.stepDown(o)
            Creature.stepRight(o)
            Creature.stepRight(o)
            return var_81
        end
        local var_74::Int8 = 43
        Creature.stepDown(o)
        Creature.eatUp(o,Int(var_74))
        o.mem[var_136] = var_136
        Creature.eatLeft(o,Int(var_74))
        o.mem[var_136] = var_136
        Creature.eatUp(o,Int(var_74))
        var_111 = func_83(var_124)
        Creature.eatDown(o,Int(var_172))
        Creature.stepRight(o)
        Creature.eatRight(o,Int(var_172))
        Creature.stepRight(o)
        if var_172 == var_172
            Creature.stepRight(o)
            Creature.stepUp(o)
        end
        Creature.stepDown(o)
        Creature.stepLeft(o)
        Creature.stepUp(o)
        Creature.stepUp(o)
        var_111 = func_83(var_111)
        var_136 = var_136 + var_136
        var_111 = func_83(var_111)
        Creature.stepRight(o)
        if var_136 === var_136
            local var_175::Int64 = 5596248123125959202
            Creature.stepLeft(o)
            Creature.stepUp(o)
            var_175 = var_175 + var_175
            Creature.stepUp(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
        end
        Creature.stepUp(o)
        Creature.stepLeft(o)
        Creature.stepUp(o)
        Creature.stepLeft(o)
        var_74 = func_143(var_74)
        var_136 = var_136 - var_136
        Creature.stepLeft(o)
        var_172 = func_143(var_172)
        Creature.stepLeft(o)
        return true
    end),[110,300,95,0,1,1,1],45,4390,57,145064,0x000001a6,Dict(0=>0,-4363=>-4363,-24796=>-24796,-19989=>-19989,1=>1),[886,587],137),RpcApi.SimpleOrganism(0x0000000000056cd6,:(function (o::
Creature.Organism,)
        function func_218(var_217::Bool=true)
            return var_217
        end
        function func_185(var_184::Bool=true)
            Creature.stepDown(o)
            Creature.stepDown(o)
            return var_184
        end
        function func_178(var_176::Int8=-98,var_177::Int8=99)
            Creature.stepUp(o)
            Creature.eatUp(o,Int(var_177))
            Creature.eatRight(o,Int(var_176))
            for i::Int8 = 1:div(var_176,_LOOP_STEPS_DIVIDER)
            end
            Creature.eatLeft(o,Int(var_177))
            return var_176
        end
        local var_172::Int8 = 120
        function func_151(var_149::Int8=-11,var_150::Bool=true)
            Creature.stepDown(o)
            var_150 = var_150 | var_150
            return var_149
        end
        function func_143(var_142::Int8=72)
            local var_210::Bool = false
            local var_196::Int16 = -19989
            Creature.stepUp(o)
            Creature.stepLeft(o)
            var_196 = var_196 + var_196
            Creature.stepLeft(o)
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatRight(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatLeft(o,Int(var_142))
            Creature.eatRight(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_142))
            var_210 = var_210 | var_210
            var_196 = var_196 + var_196
            Creature.stepDown(o)
            var_196 = var_196 / var_196
            Creature.stepDown(o)
            Creature.eatLeft(o,Int(var_142))
            var_196 = var_196 - var_196
            Creature.stepLeft(o)
            Creature.eatLeft(o,Int(var_142))
            return var_142
        end
        local var_136::Int16 = -24796
        local var_124::Bool = false
        function func_83(var_81::Bool=true,var_82::Int8=114)
            local var_199::Bool = true
            local var_186::Int8 = 123
            Creature.eatRight(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.stepRight(o)
            Creature.stepUp(o)
            Creature.stepUp(o)
            Creature.eatLeft(o,Int(var_186))
            Creature.stepDown(o)
            Creature.stepUp(o)
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.stepUp(o)
            var_199 = var_199 & var_81
            Creature.eatRight(o,Int(var_82))
            var_199 = var_81 * var_81
            Creature.stepDown(o)
            Creature.eatDown(o,Int(var_82))
            Creature.eatDown(o,Int(var_186))
            Creature.stepUp(o)
            Creature.eatRight(o,Int(var_82))
            var_82 = var_82 - var_82
            Creature.eatRight(o,Int(var_186))
            Creature.eatLeft(o,Int(var_82))
            Creature.eatUp(o,Int(var_82))
            var_82 = var_186 + var_186
            Creature.stepDown(o)
            var_199 = var_81 | var_81
            Creature.stepRight(o)
            Creature.stepRight(o)
            Creature.stepRight(o)
            Creature.stepRight(o)
            return var_81
        end
        local var_74::Int8 = 43
        Creature.stepRight(o)
        o.mem[var_136] = var_136
        Creature.eatLeft(o,Int(var_74))
        Creature.eatRight(o,Int(var_172))
        Creature.eatRight(o,Int(var_172))
        Creature.eatUp(o,Int(var_74))
        var_111 = func_83(var_124)
        Creature.eatDown(o,Int(var_172))
        Creature.eatRight(o,Int(var_74))
        Creature.eatRight(o,Int(var_172))
        Creature.stepRight(o)
        var_136 = if haskey(o.mem,var_136)
                o.mem[var_136]
            else
                var_136
            end
        Creature.stepLeft(o)
        if var_172 == var_172
            Creature.stepUp(o)
        end
        Creature.stepDown(o)
        Creature.stepLeft(o)
        if var_136 > var_136
            Creature.stepLeft(o)
        end
        var_111 = func_83(var_111)
        var_136 = var_136 + var_136
        var_111 = func_83(var_111)
        var_172 = var_172 - var_172
        if var_136 === var_136
            local var_175::Int64 = 5596248123125959202
            Creature.stepLeft(o)
            Creature.stepUp(o)
            Creature.stepUp(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
            var_175 = var_175 - var_175
            Creature.stepUp(o)
        end
        Creature.stepDown(o)
        Creature.stepLeft(o)
        Creature.stepLeft(o)
        Creature.eatRight(o,Int(var_172))
        var_74 = func_143(var_74)
        var_136 = var_136 - var_136
        Creature.stepLeft(o)
        var_172 = func_143(var_172)
        Creature.stepLeft(o)
        return true
    end),[110,300,95,0,1,1,1],45,8450,44,93311,0x000001fe,Dict(0=>0,-4363=>-4363,-24796=>-24796,-19989=>-19989),[885,5],117),RpcApi.SimpleOrganism(0x0000000000056e1a,:(function (o::Creature
.Organism,)
        function func_218(var_217::Bool=true)
            return var_217
        end
        function func_185(var_184::Bool=true)
            return var_184
        end
        function func_178(var_176::Int8=-98,var_177::Int8=99)
            local var_225::Int16 = 29552
            local var_224::ASCIIString = "l2WbeZM3"
            return var_176
        end
        local var_172::Int8 = 120
        function func_151(var_149::Int8=-11,var_150::Bool=true)
            Creature.eatDown(o,Int(var_149))
            Creature.eatUp(o,Int(var_149))
            Creature.stepLeft(o)
            Creature.stepLeft(o)
            for i::Int8 = 1:div(var_149,_LOOP_STEPS_DIVIDER)
            end
            var_149 = var_149 + var_149
            Creature.stepRight(o)
            Creature.stepRight(o)
            var_149 = var_149 - var_149
            return var_149
        end
        function func_143(var_142::Int8=72)
            local var_210::Bool = false
            local var_202::Bool = false
            local var_196::Int16 = -19989
            for i::Int8 = 1:div(var_142,_LOOP_STEPS_DIVIDER)
            end
            Creature.stepDown(o)
            Creature.stepLeft(o)
            Creature.stepDown(o)
            Creature.stepUp(o)
            Creature.stepUp(o)
            Creature.stepUp(o)
            Creature.eatRight(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.stepLeft(o)
            Creature.eatLeft(o,Int(var_142))
            var_196 = if haskey(o.mem,var_196)
                    o.mem[var_196]
                else
                    var_196
                end
            Creature.eatUp(o,Int(var_142))
            var_196 = var_196 * var_196
            Creature.stepUp(o)
            Creature.eatLeft(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            var_196 = var_196 + var_196
            Creature.eatUp(o,Int(var_142))
            Creature.eatRight(o,Int(var_142))
            o.mem[var_196] = var_196
            var_196 = if haskey(o.mem,var_196)
                    o.mem[var_196]
                else
                    var_196
                end
            return var_142
        end
        local var_136::Int16 = -24796
        local var_124::Bool = false
        function func_83(var_81::Bool=true,var_82::Int8=114)
            local var_199::Bool = true
            local var_186::Int8 = 123
            if var_82 <= var_82
                Creature.stepUp(o)
                Creature.stepDown(o)
            end
            Creature.eatUp(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            var_81 = var_199 | var_199
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.stepDown(o)
            Creature.eatDown(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            var_199 = var_199 & var_81
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            Creature.eatDown(o,Int(var_82))
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            Creature.eatUp(o,Int(var_82))
            if var_81 > var_199
            end
            Creature.eatDown(o,Int(var_82))
            var_82 = var_186 + var_186
            Creature.stepDown(o)
            Creature.eatLeft(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.stepRight(o)
            Creature.stepRight(o)
            Creature.stepRight(o)
            return var_81
        end
        local var_74::Int8 = 43
        Creature.eatUp(o,Int(var_172))
        Creature.stepDown(o)
        Creature.eatUp(o,Int(var_74))
        o.mem[var_136] = var_136
        Creature.stepDown(o)
        o.mem[var_136] = var_136
        Creature.eatUp(o,Int(var_74))
        var_111 = func_83(var_124)
        Creature.eatDown(o,Int(var_172))
        Creature.stepRight(o)
        Creature.eatRight(o,Int(var_172))
        Creature.stepRight(o)
        if var_172 == var_172
            Creature.stepLeft(o)
            Creature.stepUp(o)
        end
        Creature.stepDown(o)
        Creature.stepLeft(o)
        Creature.stepUp(o)
        o.mem[var_136] = var_136
        var_111 = func_83(var_111)
        var_136 = var_136 + var_136
        var_111 = func_83(var_111)
        Creature.stepRight(o)
        if var_136 === var_136
            local var_175::Int64 = 5596248123125959202
            Creature.stepUp(o)
            Creature.stepLeft(o)
            Creature.stepRight(o)
            var_175 = var_175 / var_175
            Creature.stepLeft(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
        end
        Creature.stepUp(o)
        Creature.stepLeft(o)
        var_74 = func_143(var_74)
        var_136 = var_136 - var_136
        Creature.stepLeft(o)
        var_172 = func_143(var_172)
        Creature.stepLeft(o)
        return true
    end),[110,300,95,0,1,1,1],45,8971,57,87385,0x000001d6,Dict(0=>0,-4363=>-4363,-24796=>-24796,-19989=>-19989,1=>1),[899,598],127),RpcApi.SimpleOrganism(0x0000000000056d4e,:(function (o::C
reature.Organism,)
        function func_218(var_217::Bool=true)
            return var_217
        end
        function func_185(var_184::Bool=true)
            return var_184
        end
        function func_178(var_176::Int8=-98,var_177::Int8=99)
            local var_223::Bool = false
            return var_176
        end
        local var_172::Int8 = 120
        function func_151(var_149::Int8=-11,var_150::Bool=true)
            local var_224::Int64 = -6352013782831067679
            Creature.stepRight(o)
            for i::Int8 = 1:div(var_149,_LOOP_STEPS_DIVIDER)
                Creature.stepLeft(o)
            end
            var_150 = Bool(abs(var_150 - var_150))
            Creature.stepUp(o)
            var_149 = var_149 + var_149
            Creature.stepRight(o)
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_149))
            return var_149
        end
        function func_143(var_142::Int8=72)
            local var_210::Bool = false
            local var_202::Bool = false
            local var_196::Int16 = -19989
            Creature.stepUp(o)
            Creature.stepUp(o)
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatUp(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatUp(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatRight(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatLeft(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.stepUp(o)
            var_196 = if haskey(o.mem,var_196)
                    o.mem[var_196]
                else
                    var_196
                end
            Creature.eatUp(o,Int(var_142))
            Creature.eatRight(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatUp(o,Int(var_142))
            if var_142 !== var_142
                Creature.stepLeft(o)
                Creature.stepDown(o)
                Creature.stepLeft(o)
            end
            Creature.stepLeft(o)
            return var_142
        end
        local var_136::Int16 = -24796
        local var_124::Bool = false
        function func_83(var_81::Bool=true,var_82::Int8=114)
            local var_199::Bool = true
            local var_186::Int8 = 123
            if var_82 <= var_82
                Creature.stepDown(o)
                Creature.stepDown(o)
            end
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            var_81 = var_199 | var_199
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            var_199 = var_199 & var_81
            Creature.eatLeft(o,Int(var_82))
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            Creature.eatDown(o,Int(var_82))
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            Creature.eatUp(o,Int(var_82))
            if var_81 > var_199
            end
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_82))
            var_82 = var_186 + var_186
            Creature.stepDown(o)
            Creature.eatLeft(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            var_199 = var_199 | var_81
            Creature.stepRight(o)
            Creature.stepDown(o)
            Creature.stepRight(o)
            Creature.stepRight(o)
            return var_81
        end
        local var_74::Int8 = 43
        Creature.stepDown(o)
        Creature.eatUp(o,Int(var_74))
        o.mem[var_136] = var_136
        Creature.eatLeft(o,Int(var_74))
        Creature.stepDown(o)
        o.mem[var_136] = var_136
        Creature.eatUp(o,Int(var_74))
        var_111 = func_83(var_124)
        Creature.eatDown(o,Int(var_172))
        Creature.stepRight(o)
        Creature.eatRight(o,Int(var_172))
        Creature.stepRight(o)
        if var_172 == var_172
            Creature.stepRight(o)
            Creature.stepUp(o)
            Creature.stepUp(o)
        end
        Creature.stepDown(o)
        Creature.stepLeft(o)
        Creature.stepUp(o)
        o.mem[var_136] = var_136
        var_111 = func_83(var_111)
        var_136 = var_136 + var_136
        var_111 = func_83(var_111)
        Creature.eatRight(o,Int(var_172))
        if var_136 === var_136
            local var_175::Int64 = 5596248123125959202
            Creature.stepLeft(o)
            Creature.stepUp(o)
            var_175 = var_175 + var_175
            Creature.stepUp(o)
            Creature.stepLeft(o)
            Creature.stepDown(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
        end
        Creature.stepUp(o)
        Creature.stepLeft(o)
        Creature.stepLeft(o)
        var_74 = func_143(var_74)
        var_136 = var_136 - var_136
        Creature.stepLeft(o)
        var_172 = func_143(var_172)
        Creature.stepLeft(o)
        return true
    end),[110,300,95,0,1,1,1],64,4390,57,82582,0x000001b7,Dict(0=>0,-4363=>-4363,-24796=>-24796,-19989=>-19989,1=>1),[887,587],136),RpcApi.SimpleOrganism(0x0000000000056d34,:(function (o::C
reature.Organism,)
        function func_218(var_217::Bool=true)
            var_217 = var_217 * var_217
            return var_217
        end
        function func_185(var_184::Bool=true)
            return var_184
        end
        function func_178(var_176::Int8=-98,var_177::Int8=99)
            Creature.eatUp(o,Int(var_176))
            var_176 = var_176 + var_177
            return var_176
        end
        local var_172::Int8 = 120
        function func_151(var_149::Int8=-11,var_150::Bool=true)
            var_149 = var_149 + var_149
            for i::Int8 = 1:div(var_149,_LOOP_STEPS_DIVIDER)
            end
            Creature.stepUp(o)
            Creature.stepLeft(o)
            var_150 = var_150 * var_150
            for i::Int8 = 1:div(var_149,_LOOP_STEPS_DIVIDER)
            end
            Creature.eatLeft(o,Int(var_149))
            Creature.eatRight(o,Int(var_149))
            Creature.stepLeft(o)
            return var_149
        end
        function func_143(var_142::Int8=72)
            local var_210::Bool = false
            local var_202::Bool = false
            local var_196::Int16 = -19989
            Creature.stepLeft(o)
            Creature.stepUp(o)
            Creature.stepUp(o)
            Creature.stepUp(o)
            var_196 = if haskey(o.mem,var_196)
                    o.mem[var_196]
                else
                    var_196
                end
            Creature.eatLeft(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatUp(o,Int(var_142))
            Creature.stepUp(o)
            var_196 = var_196 * var_196
            Creature.stepUp(o)
            Creature.stepUp(o)
            Creature.eatLeft(o,Int(var_142))
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            if var_142 !== var_142
                Creature.stepLeft(o)
                Creature.stepLeft(o)
            end
            Creature.stepLeft(o)
            return var_142
        end
        local var_136::Int16 = -24796
        local var_124::Bool = false
        function func_83(var_81::Bool=true,var_82::Int8=114)
            local var_225::ASCIIString = "I9li3VK0"
            local var_199::Bool = true
            local var_186::Int8 = 123
            if var_82 <= var_82
            end
            Creature.eatUp(o,Int(var_186))
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            Creature.stepRight(o)
            var_81 = var_199 | var_199
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.stepUp(o)
            Creature.eatDown(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            var_199 = var_199 & var_81
            Creature.eatUp(o,Int(var_186))
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            Creature.eatDown(o,Int(var_82))
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            if var_81 > var_199
            end
            Creature.eatDown(o,Int(var_82))
            var_82 = var_186 + var_186
            Creature.stepDown(o)
            Creature.eatLeft(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.stepRight(o)
            Creature.stepDown(o)
            Creature.stepRight(o)
            Creature.stepRight(o)
            return var_81
        end
        local var_74::Int8 = 43
        Creature.stepDown(o)
        Creature.eatUp(o,Int(var_74))
        o.mem[var_136] = var_136
        Creature.stepDown(o)
        o.mem[var_136] = var_136
        Creature.eatUp(o,Int(var_74))
        var_111 = func_83(var_124)
        Creature.eatDown(o,Int(var_172))
        Creature.stepRight(o)
        Creature.eatRight(o,Int(var_172))
        Creature.stepRight(o)
        if var_172 == var_172
            Creature.stepLeft(o)
            Creature.stepUp(o)
        end
        Creature.stepDown(o)
        Creature.stepLeft(o)
        Creature.stepUp(o)
        o.mem[var_136] = var_136
        var_111 = func_83(var_111)
        var_111 = func_83(var_111)
        Creature.stepRight(o)
        if var_136 === var_136
            local var_175::Int64 = 5596248123125959202
            Creature.stepLeft(o)
            Creature.stepUp(o)
            var_175 = var_175 + var_175
            Creature.stepUp(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
        end
        Creature.stepUp(o)
        Creature.stepLeft(o)
        Creature.stepLeft(o)
        var_74 = func_143(var_74)
        var_136 = var_136 - var_136
        Creature.eatRight(o,Int(var_74))
        Creature.stepLeft(o)
        var_172 = func_143(var_172)
        Creature.stepLeft(o)
        return true
    end),[110,300,95,0,1,1,1],64,4390,57,81769,0x000001d0,Dict(0=>0,-4363=>-4363,-24796=>-24796,-19989=>-19989,1=>1),[885,2],125),RpcApi.SimpleOrganism(0x0000000000056e27,:(function (o::Cre
ature.Organism,)
        function func_218(var_217::Bool=true)
            local var_227::Int64 = 5422348654384393845
            return var_217
        end
        function func_185(var_184::Bool=true)
            local var_226::Int16 = -23944
            Creature.stepDown(o)
            return var_184
        end
        function func_178(var_176::Int8=-98,var_177::Int8=99)
            Creature.eatRight(o,Int(var_176))
            Creature.eatUp(o,Int(var_176))
            return var_176
        end
        local var_172::Int8 = 120
        function func_151(var_149::Int8=-11,var_150::Bool=true)
            Creature.stepUp(o)
            Creature.eatUp(o,Int(var_149))
            var_150 = Bool(abs(var_150 - var_150))
            var_149 = var_149 + var_149
            return var_149
        end
        function func_143(var_142::Int8=72)
            local var_210::Bool = false
            local var_202::Bool = false
            local var_196::Int16 = -19989
            Creature.stepUp(o)
            Creature.stepUp(o)
            Creature.eatDown(o,Int(var_142))
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatUp(o,Int(var_142))
            Creature.stepUp(o)
            Creature.stepUp(o)
            var_202 = var_210 | var_210
            Creature.stepUp(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.stepUp(o)
            var_196 = if haskey(o.mem,var_196)
                    o.mem[var_196]
                else
                    var_196
                end
            Creature.eatUp(o,Int(var_142))
            var_196 = var_196 * var_196
            Creature.eatDown(o,Int(var_142))
            var_196 = var_196 - var_196
            Creature.stepUp(o)
            Creature.eatRight(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.stepLeft(o)
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatUp(o,Int(var_142))
            var_196 = if haskey(o.mem,var_196)
                    o.mem[var_196]
                else
                    var_196
                end
            Creature.eatUp(o,Int(var_142))
            if var_142 !== var_142
                Creature.stepLeft(o)
                Creature.stepDown(o)
                Creature.stepLeft(o)
            end
            Creature.stepLeft(o)
            return var_142
        end
        local var_136::Int16 = -24796
        local var_124::Bool = false
        function func_83(var_81::Bool=true,var_82::Int8=114)
            local var_199::Bool = true
            if var_82 <= var_82
                Creature.stepRight(o)
                Creature.stepDown(o)
            end
            Creature.eatUp(o,Int(var_186))
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            var_81 = var_199 | var_199
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.stepUp(o)
            Creature.eatDown(o,Int(var_82))
            Creature.stepRight(o)
            var_199 = var_199 & var_81
            Creature.eatLeft(o,Int(var_82))
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            var_186 = var_82 / var_82
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            Creature.eatUp(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            var_82 = var_186 + var_186
            Creature.stepDown(o)
            Creature.eatLeft(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.stepRight(o)
            Creature.stepDown(o)
            Creature.stepRight(o)
            return var_81
        end
        local var_74::Int8 = 43
        Creature.stepDown(o)
        Creature.eatUp(o,Int(var_74))
        o.mem[var_136] = var_136
        Creature.stepDown(o)
        o.mem[var_136] = var_136
        Creature.eatUp(o,Int(var_74))
        var_111 = func_83(var_124)
        Creature.eatDown(o,Int(var_172))
        Creature.stepRight(o)
        Creature.eatRight(o,Int(var_172))
        Creature.stepRight(o)
        if var_172 == var_172
            Creature.stepRight(o)
            Creature.stepUp(o)
        end
        Creature.stepDown(o)
        o.mem[var_136] = var_136
        Creature.stepLeft(o)
        var_136 = var_136 + var_136
        var_111 = func_83(var_111)
        Creature.stepRight(o)
        if var_136 === var_136
            local var_175::Int64 = 5596248123125959202
            Creature.stepLeft(o)
            Creature.stepUp(o)
            var_175 = var_175 + var_175
            Creature.stepUp(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
        end
        Creature.stepUp(o)
        Creature.stepLeft(o)
        Creature.stepLeft(o)
        var_74 = func_143(var_74)
        var_136 = var_136 - var_136
        Creature.stepLeft(o)
        var_172 = func_143(var_172)
        if var_111 != var_111
        end
        Creature.stepLeft(o)
        return true
    end),[110,300,95,0,1,1,1],45,3606,57,70024,0x000001c7,Dict(0=>0,-4363=>-4363,-24796=>-24796,-19989=>-19989,1=>1),[900,283],132),RpcApi.SimpleOrganism(0x0000000000056e23,:(function (o::C
reature.Organism,)
        function func_218(var_217::Bool=true)
            return var_217
        end
        function func_185(var_184::Bool=true)
            var_184 = var_184 & var_184
            return var_184
        end
        function func_178(var_176::Int8=-98,var_177::Int8=99)
            return var_176
        end
        local var_172::Int8 = 120
        function func_151(var_149::Int8=-11,var_150::Bool=true)
            local var_224::Int64 = -6352013782831067679
            var_150 = Bool(abs(var_150 - var_150))
            var_150 = Bool(abs(var_150 - var_150))
            var_149 = var_149 + var_149
            Creature.stepDown(o)
            Creature.stepUp(o)
            Creature.stepRight(o)
            Creature.stepRight(o)
            var_224 = var_224 * var_224
            return var_149
        end
        function func_143(var_142::Int8=72)
            local var_210::Bool = false
            local var_202::Bool = false
            local var_196::Int16 = -19989
            Creature.stepUp(o)
            Creature.stepUp(o)
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatUp(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatUp(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatRight(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatLeft(o,Int(var_142))
            Creature.stepLeft(o)
            Creature.stepUp(o)
            Creature.stepRight(o)
            Creature.eatRight(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatUp(o,Int(var_142))
            var_142 = var_142 - var_142
            Creature.eatLeft(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            o.mem[var_196] = var_196
            Creature.eatUp(o,Int(var_142))
            if var_142 !== var_142
                Creature.stepLeft(o)
                Creature.stepLeft(o)
            end
            Creature.stepLeft(o)
            return var_142
        end
        local var_136::Int16 = -24796
        local var_124::Bool = false
        function func_83(var_81::Bool=true,var_82::Int8=114)
            local var_199::Bool = true
            local var_186::Int8 = 123
            if var_82 <= var_82
                Creature.stepLeft(o)
                Creature.stepDown(o)
            end
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_82))
            var_81 = var_199 | var_199
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            var_199 = var_199 & var_81
            Creature.eatLeft(o,Int(var_82))
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            Creature.eatDown(o,Int(var_82))
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            Creature.eatUp(o,Int(var_82))
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_82))
            var_82 = var_186 + var_186
            Creature.stepDown(o)
            Creature.eatLeft(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            var_199 = var_199 | var_81
            Creature.stepRight(o)
            Creature.stepDown(o)
            var_82 = var_186 / var_82
            Creature.stepRight(o)
            Creature.stepUp(o)
            return var_81
        end
        local var_74::Int8 = 43
        Creature.stepDown(o)
        o.mem[var_136] = var_136
        Creature.eatLeft(o,Int(var_74))
        Creature.stepDown(o)
        o.mem[var_136] = var_136
        Creature.eatUp(o,Int(var_74))
        var_111 = func_83(var_124)
        Creature.eatDown(o,Int(var_172))
        Creature.stepRight(o)
        Creature.eatRight(o,Int(var_172))
        Creature.stepRight(o)
        if var_172 == var_172
            Creature.stepRight(o)
            Creature.stepUp(o)
            Creature.stepUp(o)
        end
        Creature.stepDown(o)
        Creature.stepUp(o)
        Creature.stepUp(o)
        Creature.stepUp(o)
        o.mem[var_136] = var_136
        var_111 = func_83(var_111)
        var_136 = var_136 + var_136
        var_111 = func_83(var_111)
        Creature.eatRight(o,Int(var_172))
        if var_136 === var_136
            local var_175::Int64 = 5596248123125959202
            Creature.stepLeft(o)
            Creature.stepUp(o)
            var_175 = var_175 + var_175
            Creature.stepUp(o)
            Creature.stepLeft(o)
            Creature.stepDown(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
        end
        Creature.stepUp(o)
        Creature.stepLeft(o)
        Creature.stepLeft(o)
        var_74 = func_143(var_74)
        var_136 = var_136 - var_136
        Creature.stepLeft(o)
        var_172 = func_143(var_172)
        Creature.stepLeft(o)
        return true
    end),[110,300,95,0,1,1,1],64,4390,57,66748,0x000001d9,Dict(0=>0,-4363=>-4363,-24796=>-24796,-19989=>-19989,1=>1),[673,317],135),RpcApi.SimpleOrganism(0x0000000000056d20,:(function (o::C
reature.Organism,)
        function func_218(var_217::Bool=true)
            return var_217
        end
        function func_185(var_184::Bool=true)
            return var_184
        end
        function func_178(var_176::Int8=-98,var_177::Int8=99)
            local var_223::Bool = false
            Creature.eatRight(o,Int(var_176))
            for i::Int8 = 1:div(var_177,_LOOP_STEPS_DIVIDER)
            end
            Creature.eatLeft(o,Int(var_176))
            return var_176
        end
        local var_172::Int8 = 120
        function func_151(var_149::Int8=-11,var_150::Bool=true)
            Creature.stepUp(o)
            for i::Int8 = 1:div(var_149,_LOOP_STEPS_DIVIDER)
                local var_224::ASCIIString = "DduwGGM7"
            end
            Creature.stepUp(o)
            var_149 = var_149 / var_149
            for i::Int8 = 1:div(var_149,_LOOP_STEPS_DIVIDER)
            end
            var_149 = var_149 + var_149
            Creature.stepRight(o)
            Creature.stepRight(o)
            return var_149
        end
        function func_143(var_142::Int8=72)
            local var_210::Bool = false
            local var_202::Bool = false
            local var_196::Int16 = -19989
            Creature.stepUp(o)
            Creature.stepUp(o)
            Creature.eatDown(o,Int(var_142))
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatUp(o,Int(var_142))
            Creature.stepUp(o)
            Creature.stepUp(o)
            Creature.eatRight(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatLeft(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.stepUp(o)
            var_196 = if haskey(o.mem,var_196)
                    o.mem[var_196]
                else
                    var_196
                end
            Creature.eatUp(o,Int(var_142))
            var_196 = var_196 * var_196
            Creature.eatRight(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatLeft(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatUp(o,Int(var_142))
            if var_142 !== var_142
                Creature.stepLeft(o)
                Creature.stepDown(o)
                Creature.stepLeft(o)
            end
            Creature.stepLeft(o)
            return var_142
        end
        local var_136::Int16 = -24796
        local var_124::Bool = false
        function func_83(var_81::Bool=true,var_82::Int8=114)
            local var_199::Bool = true
            local var_186::Int8 = 123
            if var_82 <= var_82
                Creature.stepDown(o)
                Creature.stepDown(o)
            end
            Creature.eatUp(o,Int(var_186))
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            var_81 = var_199 | var_199
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.stepUp(o)
            Creature.eatDown(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            var_199 = var_199 & var_81
            Creature.eatLeft(o,Int(var_82))
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            var_186 = var_82 / var_82
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            Creature.eatUp(o,Int(var_82))
            if var_81 > var_199
                local var_225::Int8 = 3
            end
            Creature.eatDown(o,Int(var_82))
            var_82 = var_186 + var_186
            Creature.stepDown(o)
            Creature.eatLeft(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.stepRight(o)
            Creature.stepDown(o)
            Creature.stepRight(o)
            Creature.stepRight(o)
            return var_81
        end
        local var_74::Int8 = 43
        Creature.stepDown(o)
        Creature.eatUp(o,Int(var_74))
        o.mem[var_136] = var_136
        Creature.eatLeft(o,Int(var_74))
        Creature.stepDown(o)
        o.mem[var_136] = var_136
        Creature.eatUp(o,Int(var_74))
        var_111 = func_83(var_124)
        Creature.eatDown(o,Int(var_172))
        Creature.stepRight(o)
        Creature.eatRight(o,Int(var_172))
        Creature.stepRight(o)
        if var_172 == var_172
            Creature.stepRight(o)
            Creature.stepUp(o)
        end
        Creature.stepDown(o)
        Creature.stepUp(o)
        o.mem[var_136] = var_136
        var_111 = func_83(var_111)
        var_136 = var_136 + var_136
        var_111 = func_83(var_111)
        Creature.stepRight(o)
        if var_136 === var_136
            local var_175::Int64 = 5596248123125959202
            Creature.stepLeft(o)
            Creature.stepUp(o)
            var_175 = var_175 + var_175
            Creature.stepUp(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
        end
        Creature.stepUp(o)
        Creature.stepLeft(o)
        Creature.stepLeft(o)
        var_74 = func_143(var_74)
        var_136 = var_136 - var_136
        Creature.stepLeft(o)
        var_172 = func_143(var_172)
        Creature.stepLeft(o)
        return true
    end),[110,300,95,0,1,1,1],45,3606,57,61593,0x000001a4,Dict(0=>0,-4363=>-4363,-24796=>-24796,-19989=>-19989,1=>1),[882,569],137),RpcApi.SimpleOrganism(0x0000000000056dc4,:(function (o::C
reature.Organism,)
        function func_218(var_217::Bool=true)
            return var_217
        end
        function func_185(var_184::Bool=true)
            local var_226::ASCIIString = "jnBnwFdy"
            return var_184
        end
        function func_178(var_176::Int8=-98,var_177::Int8=99)
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_177))
            Creature.stepLeft(o)
            Creature.stepRight(o)
            Creature.eatRight(o,Int(var_177))
            Creature.stepRight(o)
            return var_176
        end
        local var_172::Int8 = 120
        function func_151(var_149::Int8=-11,var_150::Bool=true)
            Creature.stepUp(o)
            var_150 = var_150 | var_150
            Creature.eatUp(o,Int(var_149))
            Creature.eatRight(o,Int(var_149))
            Creature.stepRight(o)
            Creature.eatUp(o,Int(var_149))
            return var_149
        end
        function func_143(var_142::Int8=72)
            local var_210::Bool = false
            local var_202::Bool = false
            local var_196::Int16 = -19989
            Creature.stepUp(o)
            Creature.stepUp(o)
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatUp(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatUp(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatLeft(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.stepUp(o)
            Creature.stepDown(o)
            Creature.eatUp(o,Int(var_142))
            var_196 = var_196 * var_196
            Creature.eatRight(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatLeft(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            Creature.stepLeft(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatUp(o,Int(var_142))
            if var_142 !== var_142
                Creature.stepLeft(o)
            end
            return var_142
        end
        local var_136::Int16 = -24796
        local var_124::Bool = false
        function func_83(var_81::Bool=true,var_82::Int8=114)
            local var_199::Bool = true
            local var_186::Int8 = 123
            if var_82 <= var_82
                Creature.stepDown(o)
                Creature.stepLeft(o)
                Creature.stepDown(o)
            end
            Creature.eatUp(o,Int(var_186))
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            var_81 = var_199 | var_199
            Creature.stepDown(o)
            Creature.eatDown(o,Int(var_82))
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            Creature.stepUp(o)
            Creature.eatDown(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            var_199 = var_199 & var_81
            Creature.eatLeft(o,Int(var_82))
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            Creature.eatRight(o,Int(var_82))
            Creature.stepDown(o)
            Creature.eatDown(o,Int(var_82))
            Creature.eatDown(o,Int(var_186))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            Creature.eatRight(o,Int(var_82))
            Creature.eatDown(o,Int(var_82))
            Creature.eatUp(o,Int(var_82))
            if var_81 > var_199
                Creature.stepLeft(o)
                Creature.stepDown(o)
            end
            Creature.eatDown(o,Int(var_82))
            Creature.eatLeft(o,Int(var_186))
            Creature.stepLeft(o)
            Creature.eatDown(o,Int(var_186))
            Creature.stepRight(o)
            Creature.stepDown(o)
            Creature.stepRight(o)
            Creature.stepRight(o)
            return var_81
        end
        local var_74::Int8 = 43
        Creature.stepDown(o)
        Creature.eatUp(o,Int(var_74))
        o.mem[var_136] = var_136
        Creature.eatLeft(o,Int(var_74))
        o.mem[var_136] = var_136
        Creature.stepUp(o)
        var_111 = func_83(var_124)
        Creature.eatDown(o,Int(var_172))
        Creature.stepRight(o)
        Creature.eatRight(o,Int(var_172))
        Creature.stepRight(o)
        if var_172 == var_172
            Creature.stepUp(o)
        end
        Creature.stepDown(o)
        Creature.stepLeft(o)
        Creature.stepUp(o)
        Creature.stepUp(o)
        var_111 = func_83(var_111)
        var_136 = var_136 + var_136
        var_111 = func_83(var_111)
        Creature.stepRight(o)
        if var_136 === var_136
            local var_175::Int64 = 5596248123125959202
            Creature.stepLeft(o)
            Creature.stepUp(o)
            var_175 = var_175 + var_175
            Creature.stepLeft(o)
            Creature.stepRight(o)
            Creature.stepLeft(o)
            Creature.stepLeft(o)
        end
        Creature.stepLeft(o)
        Creature.stepUp(o)
        Creature.stepLeft(o)
        var_74 = func_143(var_74)
        var_136 = var_136 - var_136
        Creature.stepLeft(o)
        var_172 = func_143(var_172)
        Creature.stepLeft(o)
        return true
    end),[110,300,95,0,1,1,1],45,1465,27,61489,0x000001dc,Dict(0=>0,-4363=>-4363,-24796=>-24796,-19989=>-19989,1=>1),[261,588],129),RpcApi.SimpleOrganism(0x0000000000056d3b,:(function (o::C
reature.Organism,)
        function func_218(var_217::Bool=true)
            return var_217
        end
        function func_185(var_184::Bool=true)
            local var_228::Int16 = 30021
            Creature.stepDown(o)
            Creature.stepLeft(o)
            o.mem[var_228] = var_228
            return var_184
        end
        function func_178(var_176::Int8=-98,var_177::Int8=99)
            Creature.stepRight(o)
            Creature.stepUp(o)
            return var_176
        end
        local var_172::Int8 = 120
        function func_151(var_149::Int8=-11,var_150::Bool=true)
            var_150 = var_150 * var_150
            Creature.eatUp(o,Int(var_149))
            Creature.stepUp(o)
            return var_149
        end
        function func_143(var_142::Int8=72)
            local var_202::Bool = false
            local var_196::Int16 = -19989
            Creature.stepLeft(o)
            Creature.stepUp(o)
            Creature.stepLeft(o)
            Creature.stepRight(o)
            Creature.eatUp(o,Int(var_142))
            Creature.eatUp(o,Int(var_142))
            Creature.eatUp(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatDown(o,Int(var_142))
            Creature.stepUp(o)
            Creature.eatLeft(o,Int(var_142))
            Creature.eatLeft(o,Int(var_142))
            var_196 = var_196 * var_196
            if var_210 === var_210
                Creature.stepRight(o)
                Creature.stepLeft(o)
            end
            Creature.eatUp(o,Int(var_142))
            var_196 = var_196 * var_196
            Creature.eatLeft(o,Int(var_142))
            Creature.eatRight(o,Int(var_142))
            var_196 = var_196 / var_196
            Creature.eatLeft(o,Int(var_142))
            var_142 = var_142 - var_142
            var_202 = var_202 | var_202
            Creature.eatRight(o,Int(var_142))
            return var_142
        end
        local var_136::Int16 = -24796
        local var_124::Bool = false
        function func_83(var_81::Bool=true,var_82::Int8=114)
            local var_199::Bool = true
            local var_186::Int8 = 123
            Creature.eatLeft(o,Int(var_82))
            Creature.stepRight(o)
            Creature.eatDown(o,Int(var_186))
            var_81 = var_199 | var_199
            Creature.stepLeft(o)
            Creature.stepUp(o)
            var_81 = var_199 | var_199
            Creature.stepRight(o)
            Creature.eatRight(o,Int(var_186))
            Creature.eatDown(o,Int(var_82))
            Creature.stepUp(o)
            Creature.eatDown(o,Int(var_82))
            Creature.eatRight(o,Int(var_82))
            Creature.eatLeft(o,Int(var_82))
            Creature.eatRight(o,Int(var_82))
            Creature.eatRight(o,Int(var_82))
            Creature.eatLeft(o,Int(var_82))
            Creature.stepUp(o)
            Creature.eatLeft(o,Int(var_82))
            Creature.eatDown(o,Int(var_186))
            Creature.eatUp(o,Int(var_186))
            Creature.eatRight(o,Int(var_82))
            Creature.eatRight(o,Int(var_186))
            Creature.eatRight(o,Int(var_186))
            for i::Int8 = 1:div(var_82,_LOOP_STEPS_DIVIDER)
            end
            var_82 = var_186 + var_82
            var_81 = Bool(abs(var_81 - var_199))
            return var_81
        end
        local var_74::Int8 = 43
        Creature.stepDown(o)
        Creature.eatUp(o,Int(var_74))
        Creature.eatLeft(o,Int(var_74))
        o.mem[var_136] = var_136
        Creature.eatUp(o,Int(var_74))
        var_136 = if haskey(o.mem,var_136)
                o.mem[var_136]
            else
                var_136
            end
        var_111 = func_83(var_124)
        var_136 = var_136 / var_136
        Creature.eatDown(o,Int(var_172))
        var_136 = var_136 + var_136
        Creature.eatLeft(o,Int(var_74))
        Creature.stepRight(o)
        o.mem[var_136] = var_136
        Creature.eatUp(o,Int(var_172))
        var_74 = var_172 / var_74
        for i::Int8 = 1:div(var_172,_LOOP_STEPS_DIVIDER)
        end
        Creature.stepLeft(o)
        var_74 = var_74 - var_172
        var_124 = var_124 | var_111
        o.mem[var_136] = var_136
        var_111 = func_83(var_111)
        var_136 = var_136 + var_136
        Creature.eatRight(o,Int(var_172))
        Creature.stepRight(o)
        var_136 = if haskey(o.mem,var_136)
                o.mem[var_136]
            else
                var_136
            end
        Creature.stepLeft(o)
        Creature.eatRight(o,Int(var_172))
        var_74 = func_143(var_74)
        var_136 = var_136 - var_136
        Creature.stepLeft(o)
        var_172 = func_143(var_172)
        Creature.stepUp(o)
        return true
    end),[110,300,95,0,1,1,1],45,8450,62,51458,0x000001ec,Dict(0=>0,15944=>15944,-4363=>-4363,-24796=>-24796,-19989=>-19989),[899,1],107)]

max_stars_repo_name: tmptrash/jevo

max_issues_repo_name: tmptrash/jevo

max_forks_repo_name: tmptrash/jevo


text:
using Makie, GeometryTypes, Colors
scene = Scene()
scatter(
    Point3f0[(1,0,0), (0,1,0), (0,0,1)],
    marker = [:x, :circle, :cross]
)

GLVisualize.visualize(("helo", rand(Point3f0, length("helo"))))

scene[:theme][:scatter][:marker] = :cross
center!(scene)

x = map([:dot, :dash, :dashdot], [2, 3, 4]) do ls, lw
    linesegment(linspace(1, 5, 100), rand(100), rand(100), linestyle = ls, linewidth = lw)
end
push!(x, scatter(linspace(1, 5, 100), rand(100), rand(100)))
center!(scene)

l = Makie.legend(x, ["attribute $i" for i in 1:4])
io = VideoStream(scene, homedir()*"/Desktop")
record(io) = (for i = 1:35; recordframe!(io); sleep(1/30); end);
l[:position] = (0, 1)
record(io)
l[:backgroundcolor] = RGBA(0.95, 0.95, 0.95)
record(io)
l[:strokecolor] = RGB(0.8, 0.8, 0.8)
record(io)
l[:gap] = 30
record(io)
l[:textsize] = 19
record(io)
l[:linepattern] = Point2f0[(0,-0.2), (0.5, 0.2), (0.5, 0.2), (1.0, -0.2)]
record(io)
l[:scatterpattern] = decompose(Point2f0, Circle(Point2f0(0.5, 0), 0.3f0), 9)
record(io)
l[:markersize] = 2f0
record(io)
finish(io, "mp4")

using Makie, Colors, GeometryTypes
GLAbstraction.DummyCamera <: GLAbstraction.Camera
scene = Scene()
cmap = collect(linspace(to_color(:red), to_color(:blue), 20))
l = Makie.legend(cmap, 1:4)
l[:position] = (1.0,1.0)

l[:textcolor] = :blue
l[:strokecolor] = :black
l[:strokewidth] = 1
l[:textsize] = 15
l[:textgap] = 5

using Makie
scene = Scene(resolution = (500, 500))
x = [0, 1, 2, 0]
y = [0, 0, 1, 2]
z = [0, 2, 0, 1]
color = [:red, :green, :blue, :yellow]
i = [0, 0, 0, 1]
j = [1, 2, 3, 2]
k = [2, 3, 1, 3]
indices = [1, 2, 3, 1, 3, 4, 1, 4, 2, 2, 3, 4]
m = mesh(x, y, z, indices, color = color)
m[:color] = [:blue, :red, :blue, :red]

using Makie, GeometryTypes

scene = Scene()
sub = Scene(scene, offset = Vec3f0(1, 2, 0))
scatter(sub, rand(10), rand(10), camera = :orthographic)
sub[:camera]
lines(sub, rand(10), rand(10), camera = :orthographic)
axis(linspace(0, 2, 4), linspace(0, 2, 4))
center!(scene)
sub[:offset] = Vec3f0(0, 0, 0)

using Makie, GeometryTypes

scene = Scene()

# create a subscene from which the next scenes you will plot
# `inherit` attributes. Need to add the attribute you care about,
# in this case the rotation
sub = Scene(scene, rotation = Vec4f0(0, 0, 0, 1))

meshscatter(sub, rand(30) + 1.0, rand(30), rand(30))
meshscatter(sub, rand(30), rand(30), rand(30) .+ 1.0)
r = linspace(-2, 2, 4)
Makie.axis(r, r, r)
center!(scene)

axis = Vec3f0(0, 0, 1)
io = VideoStream(scene, homedir()*"/Desktop/", "rotation")
for angle = linspace(0, 2pi, 100)
    sub[:rotation] = Makie.qrotation(axis, angle)
    recordframe!(io)
    sleep(1/15)
end
finish(io, "gif")

keys = (
    :lol, :pos, :test
)
positions, pos, test = get.(attributes, keys, scene)

function myvisual(scene, args, attributes)
    keys = (
        :positions, :color, :blah, shared...,
    )
    Scene(zip(keys, getindex.(attributes, keys))

end

using Makie, GeometryTypes

function plot(scene::S, A::AbstractMatrix{T}) where {T <: AbstractFloat, S <: Scene}
    N, M = size(A)
    sub = Scene(scene, scale = Vec3f0(1))
    attributes = Dict{Symbol, Any}()

    plots = map(1:M) do i
        lines(sub, 1:N, A[:, i])
    end
    labels = get(attributes, :labels) do
        map(i-> "y $i", 1:M)
    end

    lift_node(to_node(A), to_node(Makie.getscreen(scene).area)) do a, area
        xlims = (1, size(A, 1))
        ylims = extrema(A)
        stretch = Makie.to_nd(fit_ratio(area, (xlims, ylims)), Val{3}, 1)
        sub[:scale] = stretch
    end
    l = legend(scene, plots, labels)
    # Only create one axis per scene
    xlims = linspace(1, size(A, 1), min(N, 10))
    ylims = linspace(extrema(A)..., 5)
    a = get(scene, :axis) do
        xlims = (1, size(A, 1))
        ylims = extrema(A)
        area = Reactive.value(Makie.getscreen(scene).area)
        stretch = Makie.to_nd(fit_ratio(area, (xlims, ylims)), Val{3}, 1)
        axis(linspace((xlims .* stretch[1])..., 4), linspace((ylims .* stretch[2])..., 4))
    end
    center!(scene)
end

using Makie, GeometryTypes

scene = Scene()

x = (0.5rel, 0.5rel)

x .* Point2f0(0.5, 0.5)
StaticArrays.similar_type(NTuple{2, Float32}, Int)

Makie.VecLike{3, Float32}
Makie.Units.to_absolute(scene, x)
to_positions(scene, (rand(10) .* rel, rand(10) .* rel))

convert(Relative{Float64}, 1)

convert(NTuple{2, Relative{Float64}}, Tuple(Relative.(widths(scene))))

plot(scene, rand(11, 2))

using VisualRegressionTests

function test1(fn)
    srand(1234)
    scene = Scene(resolution = (500, 500))
    scatter(rand(10), rand(10))
    center!(scene)
    save(fn, scene)
end

cd(@__DIR__)

test1("test.png")

result = test_images(VisualTest(test1, "test.png"))

ext: jl


text:
module uuid

end

max_stars_repo_name: tmaone/xsh

max_issues_repo_name: turing-complete/xsh

max_forks_repo_name: turing-complete/xsh


text:
@testset "001" begin

@test tdpe.e001(10) == 23

end

max_stars_repo_name: mithodin/ttpe

max_issues_repo_name: mithodin/ttpe

max_forks_repo_name: mithodin/ttpe


text:
using StaticArrays

@testset "Icosahedral symmetry" begin

# Three-fold rotation
r3 = SMatrix{6,6}(
   [0 0 1 0 0 0;
    1 0 0 0 0 0;
    0 1 0 0 0 0;
    0 0 0 0 0 1;
    0 0 0 1 0 0;
    0 0 0 0 1 0])

# Five fold rotation
r5 = SMatrix{6,6}(
   [1 0 0 0 0 0;
    0 0 0 0 1 0;
    0 1 0 0 0 0;
    0 0 1 0 0 0;
    0 0 0 0 0 -1;
    0 0 0 -1 0 0])

# Central symmetry
c = SMatrix{6,6}(
   [-1 0 0 0 0 0;
    0 -1 0 0 0 0;
    0 0 -1 0 0 0;
    0 0 0 -1 0 0;
    0 0 0 0 -1 0;
    0 0 0 0 0 -1])

# Translations
# Zero translation
z = zeros(SVector{6,Rational{Int}})

# Translations for non-symmorphic icosahedral groups
t1 = SVector{6,Rational{Int}}([1 // 5, 0 // 1, -1 // 5, 0 // 1, 0 // 1, -1 // 5])
t2 = SVector{6,Rational{Int}}([0 // 1, 0 // 1, 0 // 1, 0 // 1, 1 // 2, -1 // 2])

# Rotations
s3 = SpaceGroupElement(r3, z)
s5 = SpaceGroupElement(r5, z)

# Central symmetry
sc = SpaceGroupElement(c, z)

# Non-symmorphic operations
s5_1 = SpaceGroupElement(r5, t1)
s5_2 = SpaceGroupElement(r5, t2)

    @testset "Symmorphic non-centrosymmetric group" begin
        PI=SpaceGroup([s3,s5])
        @test length(PI)==60
    end

    @testset "Symmorphic centrosymmetric group" begin
        PIh=SpaceGroup([s3,s5,sc])
        @test length(PIh)==120
    end

    @testset "Non-symmorphic non-centrosymmetric group" begin
        PI_n=SpaceGroup([s3,s5_1])
        @test length(PI_n)==60
    end

    @testset "Non-symmorphic centrosymmetric group" begin
        PIh_n=SpaceGroup([s3, s5_2, sc])
        @test length(PIh_n)==120
    end
end


text:
import LinearAlgebra: tr, logdet

abstract type SparsePDMat{T} <: AbstractPDMat{T} end
abstract type SparseStrategy <: CovarianceStrategy end

function get_ααinvcKI!(ααinvcKI::AbstractMatrix, cK::SparsePDMat, α::Vector)
    nobs = length(α)
    size(ααinvcKI) == (nobs, nobs) || throw(ArgumentError(
                @sprintf("Buffer for ααinvcKI should be a %dx%d matrix, not %dx%d",
                         nobs, nobs,
                         size(ααinvcKI,1), size(ααinvcKI,2))))
    ααinvcKI[:,:] = cK \ (-I)
    BLAS.ger!(1.0, α, α, ααinvcKI)
end

include("sparsekerneldata.jl")
include("subsetofregressors.jl")
include("determ_train_conditional.jl")
include("fully_indep_train_conditional.jl")
include("full_scale_approximation.jl")


text:
using BinaryBuilder

sources = [
    "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.2/src/hdf5-1.10.2.tar.bz2" =>
        "1cad5b7bfdf128dfc53cd16fba48f6e7ae4e93c75c371d9ec8dfc4df0c1fcb71"
]

script = raw"""
    cd ${WORKSPACE}/srcdir/hdf5-*

    autoreconf -fiv

    ./configure \
        --disable-dependency-tracking \
        --disable-silent-rules \
        --prefix=${prefix} \
        --enable-build-mode=production \
        --enable-fortran \
        --enable-cxx \
        --enable-shared

    make -j${nproc}
    make install
    """

platforms = supported_platforms()

products(prefix) = [LibraryProduct(prefix, "libhdf5", :libhdf5)]

# TODO: Potentially add Szip as a dependency
dependencies = []

build_tarballs(ARGS, "HDF5", sources, script, platforms, products, dependencies)


text:
@testset "CUDA: GPS L1" begin
    gpsl1 = GPSL1(use_gpu = Val(true))
    @test @inferred(Tracking.is_upcoming_integration_new_bit(gpsl1, 0xfffff00000, 50)) == true

    @test @inferred(Tracking.is_upcoming_integration_new_bit(gpsl1, 0xfffff, 10)) == false

    @test @inferred(Tracking.is_upcoming_integration_new_bit(gpsl1, 0xfffff, 40)) == true

    @test @inferred(Tracking.get_default_correlator(gpsl1, NumAnts(1))) == EarlyPromptLateCorrelator(NumAnts(1))
    @test @inferred(Tracking.get_default_correlator(gpsl1, NumAnts(3))) == EarlyPromptLateCorrelator(NumAnts(3))
end


text:
# Multivariate Linear Gaussian State Space Model

module LGSSM2Benchmark

using Rocket
using ReactiveMP
using GraphPPL
using Distributions
using LinearAlgebra

@model function lgssm(n)
    θ = π / 35

    x = randomvar(n)
    y = datavar(Vector{Float64}, n)

    x_prior ~ MvNormalMeanCovariance(zeros(2), Matrix(Diagonal(100.0 * ones(2))))
    x_prev = x_prior

    Q = constvar(Matrix(Diagonal(1.0 * ones(2))))
    P = constvar(Matrix(Diagonal(1.0 * ones(2))))
    A = constvar([ cos(θ) -sin(θ); sin(θ) cos(θ) ])

    for i in 1:n
        x[i] ~ MvNormalMeanCovariance(A * x_prev, Q)
        y[i] ~ MvNormalMeanCovariance(x[i], P)
        x_prev = x[i]
    end

    return x, y
end

function generate_input(rng, n)
    θ = π / 35

    A = [ cos(θ) -sin(θ); sin(θ) cos(θ) ]
    Q = Matrix(Diagonal(1.0 * ones(2)))
    P = Matrix(Diagonal(1.0 * ones(2)))

    x_prev = [ 10.0, -10.0 ]

    x = Vector{Vector{Float64}}(undef, n)
    y = Vector{Vector{Float64}}(undef, n)

    for i in 1:n
        x[i] = rand(rng, MvNormal(A * x_prev, Q))
        y[i] = rand(rng, MvNormal(x[i], Q))

        x_prev = x[i]
    end

    return y
end

function benchmark(input)
    n = length(input)

    _, (x, y) = lgssm(n);

    xbuffer   = buffer(Marginal, n)
    marginals = getmarginals(x)

    subscription = subscribe!(marginals, xbuffer)

    update!(y, input)

    unsubscribe!(subscription)

    return getvalues(xbuffer)
end

end


text:
#################################
# Translations API              #
#################################
# Get a list of available languages. Get translations for specific groups of phrases.

# Contains a centralized function to make calls to the API.
include("request.jl")

function get_translations(apikey::String)
    # Returns metadata for all languages.

    url = "http://dataservice.accuweather.com/translations/v1/languages"

    # Add required parameters to the URL
    url = url * "?apikey=" * apikey

    return make_API_call(url)
end

function get_translationforgroup(apikey::String, groupID::String)
    # Returns all translated phrases for a specific group, in the desired language.

    url = "http://dataservice.accuweather.com/translations/v1/groups/"

    # Add required parameters to the URL
    url = url * groupID
    url = url * "?apikey=" * apikey

    # Add optional parameters to the URL
    if language != Nothing url = url * "&language=" * language end

    return make_API_call(url)
end


text:
function smooth_zon_objective(T)

    #smooth_mat=Tridiagonal(ones(length(T)-1),-2*ones(length(T)),1*ones(length(T)-1))
    #smooth_measure[2:end-1] = (smooth_mat[2:end-1,:]*collect(T)).^2
    #smooth_tot = sum(smooth_measure)
    n_smooth = length(T)-2
    smooth_tot = 0.0
    for i in 1:n_smooth
      smooth_tot += 1*(T[i]-2*T[i+1]+T[i+2])^2
    end

    return smooth_tot

end

function grad_smooth_zon_objective(T,dT)

    Nt = length(T)
    dT[:] = zeros(Nt)

    for i in 1:(Nt-2)
        dT[i] += 1*(2*T[i]-4*T[i+1]+2*T[i+2])
        dT[i+1] += 1*(8*T[i+1]-4*T[i]-4*T[i+2])
        dT[i+2] += 1*(2*T[i+2]-4*T[i+1]+2*T[i])

    end

    return

end

function decreasing_zon_objective(T)
    n_grad = length(T)-1
    grad_decrease_tot = 0.0

    for i in 1:n_grad
        grad_decrease_tot+=maximum([T[i+1]-T[i],0.0])
    end
    return grad_decrease_tot

end

function grad_decreasing_zon_objective(T,dT)
    Nt = length(T)
    dT[:] = zeros(Nt)
    for i in 1:(Nt-1)
        if T[i+1]>T[i]
            dT[i] += -1.0
            dT[i+1] += 1.0
        else
            dT[i] = 0.0
        end
    end
    return
end

function create_zon_loglike_objective(Ea,R,D0,U238,U235,Th232,Nt,Nx,t,r,Pbmeas,sigmeas,ngrains)
    function zon_loglike_objective(T)
        loglike = 0.0

        for igrain in 1:ngrains
            lhs_lo = zeros(Nx[igrain])
            lhs_top = zeros(Nx[igrain])
            lhs_mid = zeros(Nx[igrain])
            rhs = zeros(Nx[igrain])

            U238_0 = U238[igrain][:]*(exp(lambda_38*t[1])) # U238 is measured at present
            U235_0 = U235[igrain][:]*(exp(lambda_35*t[1])) # U238 is measured at present
            Th232_0 = Th232[igrain][:]*(exp(lambda_32*t[1])) # U238 is measured at present

            dr = r[igrain][2] - r[igrain][1]

            Pb_rad = 0.0

            Pb = zeros(Nx[igrain])

            for i in 1:(Nt-1)

                dt = t[i] - t[i+1]
                U238_cur = U238_0*(exp(-lambda_38*(t[1]-t[i]+dt/2)))
                D_diffn = D0*exp(-Ea/(R*T[i]))
                A = D_diffn*dt/(dr^2)
                B = D_diffn*dt/(2*dr)
                lhs_mid[:] = [1.0 + 3*A; fill(1.0 + A, Nx[igrain]-2);1.0]
                lhs_top[1] = -3*A
                rhs[1] = (1.0-3*A)*Pb[1] + 3*A*Pb[2] + U238_cur[1]*lambda_38*dt
                for ii in 2:(Nx[igrain]-1)
                    lhs_lo[ii] = -(A/2)+ B/r[igrain][ii]
                    lhs_top[ii] = -(A/2)- B/r[igrain][ii]
                    rhs[ii] = (A/2 - B/r[igrain][ii])*Pb[ii-1] + (1.0 - A)*Pb[ii] + (A/2 + B/r[igrain][ii])*Pb[ii+1] + U238_cur[ii]*lambda_38*dt
                    lhs_mid[ii] = lhs_mid[ii] - lhs_top[ii-1]*lhs_lo[ii]/lhs_mid[ii-1]
                    rhs[ii] = rhs[ii] - rhs[ii-1]*lhs_lo[ii]/lhs_mid[ii-1]
                end
                rhs[Nx[igrain]] = Pb_rad
                Pb[Nx[igrain]] = rhs[Nx[igrain]]/lhs_mid[Nx[igrain]]

                for k in (Nx[igrain]-1):-1:1
                    Pb[k] = (rhs[k] - lhs_top[k]*Pb[k+1])/lhs_mid[k]
                end

            end

            for j in 1:(Nx[igrain]-1)
                loglike+= ((Pb[j]-Pbmeas[igrain][j])/sigmeas[igrain][j])^2#+minimum([(exp(-Ea/(R*T[i+1]))-exp(-Ea/(R*T[i])))/((t[i+1]-t[i])*sum(t)),0.0])
            end
        end

        return loglike
    end
    return zon_loglike_objective
end

function create_grad_loglike_objective(Ea,R,D0,U238,U235,Th232,Nt,Nx,t,r,Pbmeas,sigmeas,ngrains)
    function grad_loglike_objective(T,dLL_dT)
        dLL_dT[:] = zeros(Nt)
        for igrain in 1:ngrains
            dPb_dT = zeros(Nt*Nx[igrain])
            U238_0 = U238[igrain][:]*(exp(lambda_38*t[1])) # U238 is measured at present
            U235_0 = U235[igrain][:]*(exp(lambda_35*t[1])) # U238 is measured at present
            Th232_0 = Th232[igrain][:]*(exp(lambda_32*t[1])) # U238 is measured at present

            dr = r[igrain][2] - r[igrain][1]

            Pb = 0.0*ones(Nx[igrain])
            Pb_rad = 0.0
            rhs = zeros(Nx[igrain],Nt)
            lhs_lo = zeros(Nx[igrain],Nt)
            lhs_top = zeros(Nx[igrain],Nt)
            lhs_mid = zeros(Nx[igrain],Nt)

            dlhs_lo = zeros(Nx[igrain],Nt)
            dlhs_top = zeros(Nx[igrain],Nt)
            dlhs_mid = zeros(Nx[igrain],Nt)
            drhs = zeros(Nx[igrain])

            bprime_lhs_mid = zeros(Nx[igrain],Nt)
            dprime_rhs = zeros(Nx[igrain])

            dAdT = zeros(Nt)
            dBdT = zeros(Nt)

            drhs_upto_i = zeros(Nx[igrain],Nt-1)
            dprime_rhs_upto_i = zeros(Nx[igrain],Nt-1)

            for i in 1:(Nt-1)
                dt = t[i] - t[i+1]
                U238_cur = U238_0*(exp(-lambda_38*(t[1]-t[i]+dt/2))) # Crank-Nicolson is staggered in time, hence dt/2
                D_diffn = D0*exp(-Ea/(R*T[i]))
                A = D_diffn*dt/(dr^2)
                B = D_diffn*dt/(2*dr)
                dAdT[i] = Ea*dt*D0*exp(-Ea/(R*T[i]))/(R*T[i]^2*dr^2)
                dBdT[i] = Ea*dt*D0*exp(-Ea/(R*T[i]))/(2*R*T[i]^2*dr)

                lhs_mid[:,i] = [1.0 + 3*A; fill(1.0 + A, Nx[igrain]-2);1.0]
                dlhs_mid[:,i] = [3*dAdT[i]; fill(dAdT[i],Nx[igrain]-2);0.0] # with respect to T
                bprime_lhs_mid[1,i] = dlhs_mid[1,i]

                lhs_top[1,i] = -3*A
                dlhs_top[1,i] = -3*dAdT[i]

                rhs[1,i] = (1.0-3*A)*Pb[1] + 3*A*Pb[2] + U238_cur[1]*lambda_38*dt

                ind_top = ind_dPb(1,i,Nt)
                ind_bot = ind_dPb(2,i,Nt)
                drhs[1] = (1.0 - 3*A)*dPb_dT[ind_top] - 3*Pb[1]*dAdT[i] + 3*A*dPb_dT[ind_bot] + 3*Pb[2]*dAdT[i]
                dprime_rhs[1] = drhs[1]

                for j in 2:(Nx[igrain]-1)
                    lhs_lo[j,i] = -(A/2)+ B/r[igrain][j]
                    lhs_top[j,i] = -(A/2)- B/r[igrain][j]
                    dlhs_lo[j] = -(dAdT[i]/2)+dBdT[i]/r[igrain][j]
                    dlhs_top[j,i] = -(dAdT[i]/2)-dBdT[i]/r[igrain][j]
                    rhs[j,i] = (A/2 - B/r[igrain][j])*Pb[j-1] + (1.0 - A)*Pb[j] + (A/2 + B/r[igrain][j])*Pb[j+1] + U238_cur[j]*lambda_38*dt

                    ind_top = ind_dPb(j-1,i,Nt)
                    ind_mid = ind_dPb(j,i,Nt)
                    ind_bot = ind_dPb(j+1,i,Nt)

                    drhs[j] = ((A/2 - B/r[igrain][j])*dPb_dT[ind_top] + (dAdT[i]/2 - dBdT[i]/r[igrain][j])*Pb[j-1] + (1.0 - A)*dPb_dT[ind_mid] -
                        Pb[j]*dAdT[i] +  (A/2 + B/r[igrain][j])*dPb_dT[ind_bot] + (dAdT[i]/2 + dBdT[i]/r[igrain][j])*Pb[j+1])

                    bprime_lhs_mid[j,i] = (dlhs_mid[j,i] -lhs_lo[j,i]*dlhs_top[j-1,i]/lhs_mid[j-1,i] + lhs_lo[j,i]*lhs_top[j-1,i]*
                        bprime_lhs_mid[j-1,i]/(lhs_mid[j-1,i]^2) - lhs_top[j-1,i]*dlhs_lo[j]/lhs_mid[j-1,i])

                    lhs_mid[j,i] = lhs_mid[j,i] - lhs_top[j-1,i]*lhs_lo[j,i]/lhs_mid[j-1,i]

                    dprime_rhs[j] = (drhs[j] -lhs_lo[j,i]*dprime_rhs[j-1]/lhs_mid[j-1,i] + lhs_lo[j,i]*rhs[j-1,i]*
                        bprime_lhs_mid[j-1,i]/(lhs_mid[j-1,i]^2) - rhs[j-1,i]*dlhs_lo[j]/lhs_mid[j-1,i])
                    rhs[j,i] = rhs[j,i] - rhs[j-1,i]*lhs_lo[j,i]/lhs_mid[j-1,i]
                end
                rhs[Nx[igrain],i] = Pb_rad

                ind_end = ind_dPb(Nx[igrain],i,Nt)
                dPb_dT[ind_end] = dprime_rhs[Nx[igrain]]/lhs_mid[Nx[igrain],i] - rhs[Nx[igrain],i]*bprime_lhs_mid[Nx[igrain],i]/(lhs_mid[Nx[igrain],i])
                Pb[Nx[igrain]] = rhs[Nx[igrain],i]/lhs_mid[Nx[igrain],i]

                for k in (Nx[igrain]-1):-1:1
                    ind_k = ind_dPb(k,i,Nt)
                    ind_k_below = ind_dPb(k+1,i,Nt)
                    dPb_dT[ind_k] = (-(rhs[k,i] - Pb[k+1]*lhs_top[k,i])*bprime_lhs_mid[k,i]/(lhs_mid[k,i]^2) +
                        (-Pb[k+1]*dlhs_top[k,i] - lhs_top[k,i]*dPb_dT[ind_k_below] + dprime_rhs[k])/lhs_mid[k,i])
                    Pb[k] = (rhs[k,i] - lhs_top[k,i]*Pb[k+1])/lhs_mid[k,i]

                end

                if i>1
                    range_i = 1:(i-1)
                    ind_top = ind_dPb_vec(1,range_i,Nt,i)
                    ind_bot = ind_dPb_vec(2,range_i,Nt,i)
                    drhs_upto_i[1,1:(i-1)] = (1.0 - 3*A)*dPb_dT[ind_top] + 3*A*dPb_dT[ind_bot]
                    dprime_rhs_upto_i[1,1:(i-1)] = drhs_upto_i[1,1:(i-1)]
                    for j in 2:(Nx[igrain]-1)
                        ind_j_top = ind_dPb_vec(j-1,range_i,Nt,i)
                        ind_j_mid = ind_dPb_vec(j,range_i,Nt,i)
                        ind_j_bot = ind_dPb_vec(j+1,range_i,Nt,i)
                        drhs_upto_i[j,1:(i-1)] = ((A/2 - B/r[igrain][j])*dPb_dT[ind_j_top]  + (1.0 - A)*dPb_dT[ind_j_mid]  +
                        (A/2 + B/r[igrain][j])*dPb_dT[ind_j_bot])
                        dprime_rhs_upto_i[j,1:i-1] = (drhs_upto_i[j,1:i-1] -lhs_lo[j,i]*dprime_rhs_upto_i[j-1,1:(i-1)]/lhs_mid[j-1,i])
                    end
                    ind_vec_end = ind_dPb_vec(Nx[igrain],range_i,Nt,i)
                    dPb_dT[ind_vec_end] = dprime_rhs_upto_i[Nx[igrain],1:i-1]/lhs_mid[Nx[igrain],i]

                    for k in (Nx[igrain]-1):-1:1
                        ind_vec_k = ind_dPb_vec(k,range_i,Nt,i)
                        ind_vec_k_bot = ind_dPb_vec(k+1,range_i,Nt,i)
                        dPb_dT[ind_vec_k] = (( - lhs_top[k,i]*dPb_dT[ind_vec_k_bot] + dprime_rhs_upto_i[k,1:i-1])/lhs_mid[k,i])
                    end
                end # end if
            end # end Nt for loop

            for j in 1:(Nx[igrain]-1)
                ind_vec = (1:Nt)+(j-1)*Nt*ones(Int64,Nt)
                dLL_dT[:] += (2*Pb[j]*dPb_dT[ind_vec]/(sigmeas[igrain][j]^2))-(2*Pbmeas[igrain][j]*dPb_dT[ind_vec]/(sigmeas[igrain][j]^2))
            end
        end # end grain loop
        return
    end # end grad_loglike_objective

    return grad_loglike_objective
end # end create_grad_loglike_objective

function null_objective(T)
    return 1.0
end

function grad_null_objective(T,objval)
    objval[:] = zeros(length(T))
    return
end

function create_decreasing_objective(Nt,t)
    function decreasing_objective(T)
        objval = 0.0
        for i in 1:(Nt-1)
            objval += maximum([(T[i+1]-T[i])/(t[i]-t[i+1]),0.0])
        end
        return objval
    end
    return decreasing_objective
end

function create_grad_decreasing_objective(Nt,t)
    function grad_decreasing_objective(T,jac_obj)

        for i in 1:(Nt-1)
            # 2*T[i]-2*T[i+1]
            # 2*T[i+1]-2*T[i]

            if (T[i+1]<=T[i])
                jac_obj[i] += 0.0
            elseif (T[i+1]>T[i])
                jac_obj[i] += ((-1.0))/(t[i]-t[i+1])
                jac_obj[i+1] +=  ((1.0))/(t[i]-t[i+1])
            end
            # jac_grad[2*i-1] = ((-1.0)*scaling)/(-t[i]+t[i+1])
            # jac_grad[2*i] = ((1.0)*scaling)/(-t[i]+t[i+1])
        end
        return
    end
    return grad_decreasing_objective
end


text:
function fit(x; axis = 1)　#this function dose only performs calculations.
    if axis == 2
        x = x'
    end
    if ndims(x) == 1
        p = [maximum(x), minimum(x)]
    else
        p = []
        for i in 1:size(x)[2]
            push!(p, [maximum(x[:, i]), minimum(x[:, i])])
        end
    end
    return p
end
function transform(x, p; axis = 1)　#Only transform is performed based on the calculation results of the'fit'function and'fit_transform'function.
    if axis == 2
        x = x'
    end
    if ndims(x) == 1
        t = (x .- p[2]) / (p[1] - p[2])
    else
        t = []
        for i in 1:size(x)[2]
            push!(t, (x[:, i] .- p[i][2]) / (p[i][1] - p[i][2]))
        end
    end
    return t
end
function inverse_transform(x, p; axis = 1)
    if axis == 2
        x = x'
    end
    if ndims(x) == 1
        t = (x * (p[1] - p[2])) .+ p[2]
    else
        t = []
        for i in 1:size(x)[2]
            push!(t, (x[:, i][1] * (p[i][1] - p[i][2])) .+ p[i][2])
        end
    end
    return t
end
function fit_transform(x; axis = 1)　#This function handles both the fit function and the transform function.
    if axis == 2
        x = x'
    end
    if ndims(x) == 1
        p = [maximum(x), minimum(x)]
        t = (x .- p[2]) / (p[1] - p[2])
    else
        p, t = [], []
        for i in 1:size(x)[2]
            push!(p, [maximum(x[:, i]), minimum(x[:, i])])
            push!(t, (x[:, i] .- p[i][2]) / (p[i][1] - p[i][2]))
        end
    end
    return t, p
end


text:
# TODO: this file will be used for setting up similar tests for the rest of the samplers.
#
# This samples the funnel distribution, then tests that inference is correct.
#

using MCMC

#log  ~ N(0, 3), x_i ~ N(0, ), i=1,2,...,model.size

function funnel_loglik(x::Vector{Float64})
    # First element is log(sigma^2). Rest of the elements are x_d
    s2 = exp(x[1])
    nx = length(x) - 1
    -0.5*((x[1]-0.0)^2/9.0 + dot(x[2:end], x[2:end])/s2 + nx*log(s2))
end

mcmodel = model(funnel_loglik, init=[10, zeros(4)])
mcsampler = SliceSampler()
mcrunner = SerialMC(steps=100000, burnin=10000)
mcchain = run(mcmodel*mcsampler*mcrunner)

samples01 = mcchain.samples[:, 1]

ess01 = ess(samples01, maxlag=1000)

@printf("Monte Carlo samples of first parameter: ess=%.2f, out of raw %d\n", ess01, length(samples01))

mean01 = mean(samples01)
std01 = std(samples01)
meanse01 = std01/sqrt(ess01)
zscore01 = mean01/meanse01

@printf("Monte Carlo samples of first parameter: mean=%f, std=%f, meanse=%f, zscore=%f\n",
  mean01, std01, meanse01, zscore01)
if abs(zscore01) > 3
    warn("Log-posterior mean estimate for the first parameter differs from truth by more than 3 MC-stderr. Chance of this should be <0.3%.")
end

var01 = var(samples01)
varse01 = var01*sqrt(2/(ess01-1))
zscore01 = (var01-9)/varse01

@printf("Monte Carlo samples of first parameter: var=%f, varse=%f, zscore=%f\n", var01, varse01, zscore01)
if abs(zscore01) > 3
    warn("Log-posterior mean estimate for the first parameter differs from truth by more than 3 MC-stderr. Chance of this should be <0.3%.")
end


text:
##
## The Whitespace Dragon
##
"""
    function dragon()

The Whitespace Dragon

# Example

```jldoctest
julia> cowsay("Roar!", cow=Cowsay.dragon)
 _______
< Roar! >
 -------
      \\                    / \\  //\\
       \\    |\\___/|      /   \\//  \\\\
            /0  0  \\__  /    //  | \\ \\
           /     /  \\/_/    //   |  \\  \\
           @_^_@'/   \\/_   //    |   \\   \\
           //_^_/     \\/_ //     |    \\    \\
        ( //) |        \\///      |     \\     \\
      ( / /) _|_ /   )  //       |      \\     _\\
    ( // /) '/,_ _ _/  ( ; -.    |    _ _\\.-~        .-~~~^-.
  (( / / )) ,-{        _      `-.|.-~-.           .~         `.
 (( // / ))  '/\\      /                 ~-. _ .-~      .-~^-.  \\
 (( /// ))      `.   {            }                   /      \\  \\
  (( / ))     .----~-.\\        \\-'                 .~         \\  `. \\^-.
             ///.----..>        \\             _ -~             `.  ^-`  ^-_
               ///-._ _ _ _ _ _ _}^ - - - - ~                     ~-- ,.-~
                                                                  /.-~

```
"""
function dragon(;eyes="oo", tongue="  ", thoughts="\\")
the_cow =
"""
      $thoughts                    / \\  //\\
       $thoughts    |\\___/|      /   \\//  \\\\
            /0  0  \\__  /    //  | \\ \\
           /     /  \\/_/    //   |  \\  \\
           @_^_@'/   \\/_   //    |   \\   \\
           //_^_/     \\/_ //     |    \\    \\
        ( //) |        \\///      |     \\     \\
      ( / /) _|_ /   )  //       |      \\     _\\
    ( // /) '/,_ _ _/  ( ; -.    |    _ _\\.-~        .-~~~^-.
  (( / / )) ,-{        _      `-.|.-~-.           .~         `.
 (( // / ))  '/\\      /                 ~-. _ .-~      .-~^-.  \\
 (( /// ))      `.   {            }                   /      \\  \\
  (( / ))     .----~-.\\        \\-'                 .~         \\  `. \\^-.
             ///.----..>        \\             _ -~             `.  ^-`  ^-_
               ///-._ _ _ _ _ _ _}^ - - - - ~                     ~-- ,.-~
                                                                  /.-~
"""
return the_cow
end