View on GitHub

Mazarin

All-Go Operating System For ARM64, RISC-V and x86_64

std

import "mazzy/mazarin/mancini/std"

Code generated by compile-constraints from column_height.vgo. DO NOT EDIT.

Code generated by compile-constraints from column_last_child.vgo. DO NOT EDIT.

Code generated by compile-constraints from column_width.vgo. DO NOT EDIT.

Package std provides the standard library of concrete interactor types for the Mancini UI toolkit. Every interactor here embeds one of the base types from mazzy/mazarin/mancini/impl and satisfies [mancini.NewDrawer].

Interactor Catalog

Leaf interactors (no children, embed [impl.ThemedInteractor]):

Leaf interactors (no children, embed [impl.Interactor] directly):

Container interactors (embed [impl.Interactor] + [impl.Parent]):

Decorator interactors (embed [impl.Decorator]):

Title bar renderers (not interactors; used as callbacks for AppWindow):

Neumorphic Rendering Helpers

The package also exports rendering helpers used by interactors and available for custom interactor implementations:

Nil\-Safe Neumorphic Parameters

All interactors handle nil [mancini.NeuParams] gracefully. When the [mancini.Theme]’s [mancini.NeumorphicParams] returns nil for Heavy() or Light(), interactors fall back to flat rendering: filled shapes with face content, but no shadows, grooves, or selection effects. This allows themes to disable neumorphic rendering for specific weight classes.

Code generated by compile-constraints from minmax_column_height.vgo. DO NOT EDIT.

Code generated by compile-constraints from row_height.vgo. DO NOT EDIT.

Code generated by compile-constraints from row_last_child.vgo. DO NOT EDIT.

Code generated by compile-constraints from row_width.vgo. DO NOT EDIT.

Index

Variables

var ProgColumnHeight = &vm.Program{
    Code: []vm.Inst{
        {Opcode: 0x11, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 203, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x09, Op1: 47, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 9, Op2: 10, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 212, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 40, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 14, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 14, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 15, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 15, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 16, Op2: 17, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 17, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 18, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 18, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 19, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 19, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 20, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 20, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 23, Op2: 24, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 24, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 25, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 25, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 24, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 26, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 26, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 27, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 27, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 29, Op2: 30, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 30, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 31, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 31, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 33, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 32, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 32, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 34, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 34, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 37, Op2: 38, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 38, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 39, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 39, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 33, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 38, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 8, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x14},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 6, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 46, Op2: 47, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 47, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 48, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 48, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 3, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 49, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 49, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x33, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x33, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x2},
        {Opcode: 0x10, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x22, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
    },
    Strings: []string{
        "_int64Prefix_",
        "_xSuffix_",
        "_ySuffix_",
        "_widthSuffix_",
        "_heightSuffix_",
        "_boolPrefix_",
        "_visSuffix_",
        "_boundsHashSuffix_",
        "_childPattern_",
        "",
        "_maxHeight_",
        "_spacing_",
        "_vMargin_",
        "_myName_",
    },
    NumArgs:  0,
    ArgTypes: []uint8{},
    Funcs: []vm.FuncInfo{
        {Name: "childX", PC: 0, NumArgs: 1, NumLocals: 1, LocalBase: 0},
        {Name: "childY", PC: 8, NumArgs: 1, NumLocals: 1, LocalBase: 1},
        {Name: "childWidth", PC: 16, NumArgs: 1, NumLocals: 1, LocalBase: 2},
        {Name: "childHeight", PC: 24, NumArgs: 1, NumLocals: 1, LocalBase: 3},
        {Name: "isChildVisible", PC: 32, NumArgs: 1, NumLocals: 1, LocalBase: 4},
        {Name: "childBoundsHash", PC: 40, NumArgs: 1, NumLocals: 1, LocalBase: 5},
        {Name: "findVisibleChildren", PC: 48, NumArgs: 1, NumLocals: 6, LocalBase: 6},
        {Name: "hasNoChildren", PC: 72, NumArgs: 1, NumLocals: 2, LocalBase: 12},
        {Name: "hasNoVisibleChildren", PC: 87, NumArgs: 1, NumLocals: 5, LocalBase: 14},
        {Name: "hasOneChild", PC: 107, NumArgs: 1, NumLocals: 7, LocalBase: 19},
        {Name: "numChildren", PC: 142, NumArgs: 1, NumLocals: 6, LocalBase: 26},
        {Name: "nthChild", PC: 166, NumArgs: 2, NumLocals: 8, LocalBase: 32},
        {Name: "columnHeight", PC: 200, NumArgs: 0, NumLocals: 11, LocalBase: 40},
    },
    Entry: 12,
}

var ProgColumnLastChild = &vm.Program{
    Code: []vm.Inst{
        {Opcode: 0x11, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 203, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x09, Op1: 47, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 9, Op2: 10, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 212, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 40, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 14, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 14, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 15, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 15, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 16, Op2: 17, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 17, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 18, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 18, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 19, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 19, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 20, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 20, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 23, Op2: 24, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 24, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 25, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 25, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 24, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 26, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 26, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 27, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 27, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 29, Op2: 30, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 30, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 31, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 31, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 33, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 32, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 32, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 34, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 34, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 37, Op2: 38, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 38, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 39, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 39, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 33, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 38, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 8, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x25, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 6, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 46, Op2: 47, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 47, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 48, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 48, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 3, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 49, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 49, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x33, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x33, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
    },
    Strings: []string{
        "_int64Prefix_",
        "_xSuffix_",
        "_ySuffix_",
        "_widthSuffix_",
        "_heightSuffix_",
        "_boolPrefix_",
        "_visSuffix_",
        "_boundsHashSuffix_",
        "_childPattern_",
        "",
        "_maxHeight_",
        "_spacing_",
        "_vMargin_",
        "_myName_",
    },
    NumArgs:  0,
    ArgTypes: []uint8{},
    Funcs: []vm.FuncInfo{
        {Name: "childX", PC: 0, NumArgs: 1, NumLocals: 1, LocalBase: 0},
        {Name: "childY", PC: 8, NumArgs: 1, NumLocals: 1, LocalBase: 1},
        {Name: "childWidth", PC: 16, NumArgs: 1, NumLocals: 1, LocalBase: 2},
        {Name: "childHeight", PC: 24, NumArgs: 1, NumLocals: 1, LocalBase: 3},
        {Name: "isChildVisible", PC: 32, NumArgs: 1, NumLocals: 1, LocalBase: 4},
        {Name: "childBoundsHash", PC: 40, NumArgs: 1, NumLocals: 1, LocalBase: 5},
        {Name: "findVisibleChildren", PC: 48, NumArgs: 1, NumLocals: 6, LocalBase: 6},
        {Name: "hasNoChildren", PC: 72, NumArgs: 1, NumLocals: 2, LocalBase: 12},
        {Name: "hasNoVisibleChildren", PC: 87, NumArgs: 1, NumLocals: 5, LocalBase: 14},
        {Name: "hasOneChild", PC: 107, NumArgs: 1, NumLocals: 7, LocalBase: 19},
        {Name: "numChildren", PC: 142, NumArgs: 1, NumLocals: 6, LocalBase: 26},
        {Name: "nthChild", PC: 166, NumArgs: 2, NumLocals: 8, LocalBase: 32},
        {Name: "columnLastChild", PC: 200, NumArgs: 0, NumLocals: 11, LocalBase: 40},
    },
    Entry: 12,
}

var ProgColumnWidth = &vm.Program{
    Code: []vm.Inst{
        {Opcode: 0x11, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 203, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x09, Op1: 47, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 9, Op2: 10, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 212, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 40, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 14, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 14, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 15, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 15, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 16, Op2: 17, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 17, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 18, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 18, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 19, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 19, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 20, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 20, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 23, Op2: 24, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 24, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 25, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 25, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 24, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 26, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 26, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 27, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 27, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 29, Op2: 30, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 30, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 31, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 31, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 33, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 32, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 32, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 34, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 34, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 37, Op2: 38, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 38, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 39, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 39, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 33, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 38, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 7, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x14},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 9, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x31, Typ: 0x05, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 2, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 6, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 44, Op2: 45, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 2, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 46, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 46, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x33, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 46, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
    },
    Strings: []string{
        "_int64Prefix_",
        "_xSuffix_",
        "_ySuffix_",
        "_widthSuffix_",
        "_heightSuffix_",
        "_boolPrefix_",
        "_visSuffix_",
        "_boundsHashSuffix_",
        "_childPattern_",
        "",
        "_myName_",
    },
    NumArgs:  0,
    ArgTypes: []uint8{},
    Funcs: []vm.FuncInfo{
        {Name: "childX", PC: 0, NumArgs: 1, NumLocals: 1, LocalBase: 0},
        {Name: "childY", PC: 8, NumArgs: 1, NumLocals: 1, LocalBase: 1},
        {Name: "childWidth", PC: 16, NumArgs: 1, NumLocals: 1, LocalBase: 2},
        {Name: "childHeight", PC: 24, NumArgs: 1, NumLocals: 1, LocalBase: 3},
        {Name: "isChildVisible", PC: 32, NumArgs: 1, NumLocals: 1, LocalBase: 4},
        {Name: "childBoundsHash", PC: 40, NumArgs: 1, NumLocals: 1, LocalBase: 5},
        {Name: "findVisibleChildren", PC: 48, NumArgs: 1, NumLocals: 6, LocalBase: 6},
        {Name: "hasNoChildren", PC: 72, NumArgs: 1, NumLocals: 2, LocalBase: 12},
        {Name: "hasNoVisibleChildren", PC: 87, NumArgs: 1, NumLocals: 5, LocalBase: 14},
        {Name: "hasOneChild", PC: 107, NumArgs: 1, NumLocals: 7, LocalBase: 19},
        {Name: "numChildren", PC: 142, NumArgs: 1, NumLocals: 6, LocalBase: 26},
        {Name: "nthChild", PC: 166, NumArgs: 2, NumLocals: 8, LocalBase: 32},
        {Name: "columnWidth", PC: 200, NumArgs: 0, NumLocals: 7, LocalBase: 40},
    },
    Entry: 12,
}

var ProgMinmaxColumnHeight = &vm.Program{
    Code: []vm.Inst{
        {Opcode: 0x11, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 203, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x09, Op1: 47, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 9, Op2: 10, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 212, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 40, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 14, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 14, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 15, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 15, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 16, Op2: 17, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 17, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 18, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 18, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 19, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 19, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 20, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 20, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 23, Op2: 24, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 24, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 25, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 25, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 24, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 26, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 26, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 27, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 27, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 29, Op2: 30, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 30, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 31, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 31, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 33, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 32, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 32, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 34, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 34, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 37, Op2: 38, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 38, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 39, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 39, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 33, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 38, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 7, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 6, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 45, Op2: 46, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 46, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 47, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 47, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 3, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 48, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 48, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x33, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x21, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 2, Op2: 3, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
    },
    Strings: []string{
        "_int64Prefix_",
        "_xSuffix_",
        "_ySuffix_",
        "_widthSuffix_",
        "_heightSuffix_",
        "_boolPrefix_",
        "_visSuffix_",
        "_boundsHashSuffix_",
        "_childPattern_",
        "",
        "_minH_",
        "_maxH_",
        "_myName_",
    },
    NumArgs:  0,
    ArgTypes: []uint8{},
    Funcs: []vm.FuncInfo{
        {Name: "childX", PC: 0, NumArgs: 1, NumLocals: 1, LocalBase: 0},
        {Name: "childY", PC: 8, NumArgs: 1, NumLocals: 1, LocalBase: 1},
        {Name: "childWidth", PC: 16, NumArgs: 1, NumLocals: 1, LocalBase: 2},
        {Name: "childHeight", PC: 24, NumArgs: 1, NumLocals: 1, LocalBase: 3},
        {Name: "isChildVisible", PC: 32, NumArgs: 1, NumLocals: 1, LocalBase: 4},
        {Name: "childBoundsHash", PC: 40, NumArgs: 1, NumLocals: 1, LocalBase: 5},
        {Name: "findVisibleChildren", PC: 48, NumArgs: 1, NumLocals: 6, LocalBase: 6},
        {Name: "hasNoChildren", PC: 72, NumArgs: 1, NumLocals: 2, LocalBase: 12},
        {Name: "hasNoVisibleChildren", PC: 87, NumArgs: 1, NumLocals: 5, LocalBase: 14},
        {Name: "hasOneChild", PC: 107, NumArgs: 1, NumLocals: 7, LocalBase: 19},
        {Name: "numChildren", PC: 142, NumArgs: 1, NumLocals: 6, LocalBase: 26},
        {Name: "nthChild", PC: 166, NumArgs: 2, NumLocals: 8, LocalBase: 32},
        {Name: "minMaxColumnHeight", PC: 200, NumArgs: 0, NumLocals: 9, LocalBase: 40},
    },
    Entry: 12,
}

var ProgRowHeight = &vm.Program{
    Code: []vm.Inst{
        {Opcode: 0x11, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 203, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x09, Op1: 47, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 9, Op2: 10, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 212, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 40, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 14, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 14, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 15, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 15, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 16, Op2: 17, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 17, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 18, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 18, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 19, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 19, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 20, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 20, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 23, Op2: 24, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 24, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 25, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 25, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 24, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 26, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 26, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 27, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 27, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 29, Op2: 30, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 30, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 31, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 31, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 33, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 32, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 32, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 34, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 34, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 37, Op2: 38, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 38, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 39, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 39, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 33, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 38, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 7, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1e},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 9, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x31, Typ: 0x05, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 3, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 6, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 44, Op2: 45, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 3, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 46, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 46, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x33, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 46, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
    },
    Strings: []string{
        "_int64Prefix_",
        "_xSuffix_",
        "_ySuffix_",
        "_widthSuffix_",
        "_heightSuffix_",
        "_boolPrefix_",
        "_visSuffix_",
        "_boundsHashSuffix_",
        "_childPattern_",
        "",
        "_myName_",
    },
    NumArgs:  0,
    ArgTypes: []uint8{},
    Funcs: []vm.FuncInfo{
        {Name: "childX", PC: 0, NumArgs: 1, NumLocals: 1, LocalBase: 0},
        {Name: "childY", PC: 8, NumArgs: 1, NumLocals: 1, LocalBase: 1},
        {Name: "childWidth", PC: 16, NumArgs: 1, NumLocals: 1, LocalBase: 2},
        {Name: "childHeight", PC: 24, NumArgs: 1, NumLocals: 1, LocalBase: 3},
        {Name: "isChildVisible", PC: 32, NumArgs: 1, NumLocals: 1, LocalBase: 4},
        {Name: "childBoundsHash", PC: 40, NumArgs: 1, NumLocals: 1, LocalBase: 5},
        {Name: "findVisibleChildren", PC: 48, NumArgs: 1, NumLocals: 6, LocalBase: 6},
        {Name: "hasNoChildren", PC: 72, NumArgs: 1, NumLocals: 2, LocalBase: 12},
        {Name: "hasNoVisibleChildren", PC: 87, NumArgs: 1, NumLocals: 5, LocalBase: 14},
        {Name: "hasOneChild", PC: 107, NumArgs: 1, NumLocals: 7, LocalBase: 19},
        {Name: "numChildren", PC: 142, NumArgs: 1, NumLocals: 6, LocalBase: 26},
        {Name: "nthChild", PC: 166, NumArgs: 2, NumLocals: 8, LocalBase: 32},
        {Name: "rowHeight", PC: 200, NumArgs: 0, NumLocals: 7, LocalBase: 40},
    },
    Entry: 12,
}

var ProgRowLastChild = &vm.Program{
    Code: []vm.Inst{
        {Opcode: 0x11, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 203, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x09, Op1: 47, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 9, Op2: 10, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 212, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 40, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 14, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 14, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 15, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 15, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 16, Op2: 17, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 17, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 18, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 18, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 19, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 19, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 20, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 20, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 23, Op2: 24, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 24, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 25, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 25, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 24, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 26, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 26, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 27, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 27, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 29, Op2: 30, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 30, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 31, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 31, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 33, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 32, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 32, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 34, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 34, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 37, Op2: 38, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 38, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 39, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 39, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 33, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 38, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 8, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x25, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 6, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 46, Op2: 47, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 47, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 48, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 48, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 2, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 49, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 49, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x33, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x33, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
    },
    Strings: []string{
        "_int64Prefix_",
        "_xSuffix_",
        "_ySuffix_",
        "_widthSuffix_",
        "_heightSuffix_",
        "_boolPrefix_",
        "_visSuffix_",
        "_boundsHashSuffix_",
        "_childPattern_",
        "",
        "_maxWidth_",
        "_spacing_",
        "_hMargin_",
        "_myName_",
    },
    NumArgs:  0,
    ArgTypes: []uint8{},
    Funcs: []vm.FuncInfo{
        {Name: "childX", PC: 0, NumArgs: 1, NumLocals: 1, LocalBase: 0},
        {Name: "childY", PC: 8, NumArgs: 1, NumLocals: 1, LocalBase: 1},
        {Name: "childWidth", PC: 16, NumArgs: 1, NumLocals: 1, LocalBase: 2},
        {Name: "childHeight", PC: 24, NumArgs: 1, NumLocals: 1, LocalBase: 3},
        {Name: "isChildVisible", PC: 32, NumArgs: 1, NumLocals: 1, LocalBase: 4},
        {Name: "childBoundsHash", PC: 40, NumArgs: 1, NumLocals: 1, LocalBase: 5},
        {Name: "findVisibleChildren", PC: 48, NumArgs: 1, NumLocals: 6, LocalBase: 6},
        {Name: "hasNoChildren", PC: 72, NumArgs: 1, NumLocals: 2, LocalBase: 12},
        {Name: "hasNoVisibleChildren", PC: 87, NumArgs: 1, NumLocals: 5, LocalBase: 14},
        {Name: "hasOneChild", PC: 107, NumArgs: 1, NumLocals: 7, LocalBase: 19},
        {Name: "numChildren", PC: 142, NumArgs: 1, NumLocals: 6, LocalBase: 26},
        {Name: "nthChild", PC: 166, NumArgs: 2, NumLocals: 8, LocalBase: 32},
        {Name: "rowLastChild", PC: 200, NumArgs: 0, NumLocals: 11, LocalBase: 40},
    },
    Entry: 12,
}

var ProgRowWidth = &vm.Program{
    Code: []vm.Inst{
        {Opcode: 0x11, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 1, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 2, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 3, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 4, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 203, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 5, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 21, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 6, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x09, Op1: 47, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 7, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 9, Op2: 10, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 212, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 40, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 14, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 14, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 15, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 15, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 16, Op2: 17, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 17, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 18, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 18, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x03, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 19, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 19, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 20, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 20, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 23, Op2: 24, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 24, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 25, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 25, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 24, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 22, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 21, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 26, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 26, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 27, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 27, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 29, Op2: 30, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 30, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 31, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 31, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 28, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 33, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 32, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 8, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 32, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 211, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 34, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 9, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 34, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 37, Op2: 38, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 38, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 39, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 39, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 4, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 33, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x30, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 38, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 35, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 36, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 10, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 11, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 12, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x80, Typ: 0x00, Op1: 201, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 8, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x14},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x05, Typ: 0x00, Op1: 13, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 6, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 43, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x68, Typ: 0x00, Op1: 46, Op2: 47, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 47, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x3},
        {Opcode: 0x80, Typ: 0x00, Op1: 209, Op2: 2, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 48, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 48, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x81, Typ: 0x00, Op1: 2, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 49, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 49, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x33, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 41, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x33, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x60, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 40, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
        {Opcode: 0x62, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 50, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x1},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x11, Typ: 0x00, Op1: 45, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x69, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x10, Typ: 0x00, Op1: 44, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x01, Typ: 0x00, Op1: 0, Op2: 0, Flags: 0, Imm: 0x2},
        {Opcode: 0x10, Typ: 0x00, Op1: 42, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x22, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x20, Typ: 0x01, Op1: 0, Op2: 0, Flags: 0, Imm: 0x0},
        {Opcode: 0x70, Typ: 0x00, Op1: 0, Op2: 1, Flags: 0, Imm: 0x0},
    },
    Strings: []string{
        "_int64Prefix_",
        "_xSuffix_",
        "_ySuffix_",
        "_widthSuffix_",
        "_heightSuffix_",
        "_boolPrefix_",
        "_visSuffix_",
        "_boundsHashSuffix_",
        "_childPattern_",
        "",
        "_maxWidth_",
        "_spacing_",
        "_hMargin_",
        "_myName_",
    },
    NumArgs:  0,
    ArgTypes: []uint8{},
    Funcs: []vm.FuncInfo{
        {Name: "childX", PC: 0, NumArgs: 1, NumLocals: 1, LocalBase: 0},
        {Name: "childY", PC: 8, NumArgs: 1, NumLocals: 1, LocalBase: 1},
        {Name: "childWidth", PC: 16, NumArgs: 1, NumLocals: 1, LocalBase: 2},
        {Name: "childHeight", PC: 24, NumArgs: 1, NumLocals: 1, LocalBase: 3},
        {Name: "isChildVisible", PC: 32, NumArgs: 1, NumLocals: 1, LocalBase: 4},
        {Name: "childBoundsHash", PC: 40, NumArgs: 1, NumLocals: 1, LocalBase: 5},
        {Name: "findVisibleChildren", PC: 48, NumArgs: 1, NumLocals: 6, LocalBase: 6},
        {Name: "hasNoChildren", PC: 72, NumArgs: 1, NumLocals: 2, LocalBase: 12},
        {Name: "hasNoVisibleChildren", PC: 87, NumArgs: 1, NumLocals: 5, LocalBase: 14},
        {Name: "hasOneChild", PC: 107, NumArgs: 1, NumLocals: 7, LocalBase: 19},
        {Name: "numChildren", PC: 142, NumArgs: 1, NumLocals: 6, LocalBase: 26},
        {Name: "nthChild", PC: 166, NumArgs: 2, NumLocals: 8, LocalBase: 32},
        {Name: "rowWidth", PC: 200, NumArgs: 0, NumLocals: 11, LocalBase: 40},
    },
    Entry: 12,
}

func NeuBoxWith

func NeuBoxWith(pal mancini.Palette, dc mancini.DrawContext, depth mancini.NeuDepth, x1, y1, x2, y2, r float64, face color.NRGBA, p *mancini.NeuParams, content mancini.FaceDrawer)

NeuBoxWith draws a neumorphic rounded rectangle using explicit params. It is the central rendering function used by Button, Checkbox, CheckboxWithLabel, NeuBox, AppWindow, FreeFloatingWindow, SingleLineText, and NOfMChooser.

The depth parameter selects the shadow treatment ([mancini.Raised], [mancini.Flush], or [mancini.Inset]). If p is nil, a flat surface-colored rectangle is drawn (no shadows). If content is non-nil, it is called after the shape and shadows are drawn.

func NeuCircleWith

func NeuCircleWith(pal mancini.Palette, dc mancini.DrawContext, depth mancini.NeuDepth, cx, cy, rad float64, face color.NRGBA, p *mancini.NeuParams, content mancini.FaceDrawer)

NeuCircleWith draws a neumorphic circle using explicit params. It is the rendering counterpart of NeuBoxWith for circular shapes, used by NeuCircle.

If p is nil, a flat surface-colored circle is drawn (no shadows). If content is non-nil, it receives the circle’s bounding box.

func NeuGroove

func NeuGroove(pal mancini.Palette, dc mancini.DrawContext, x1, y, x2 float64)

NeuGroove draws a thin horizontal inset line (groove separator). Used by FreeFloatingWindow for the title/content separator and available for custom interactor implementations.

func NewDefaultTheme

func NewDefaultTheme(family string, defaultSize int64, resolve mancini.FontResolver) mancini.Theme

NewDefaultTheme creates a Theme with the standard neumorphic purple palette.

func NewDefaultThemeColors

func NewDefaultThemeColors(fg, bg color.NRGBA, family string, defaultSize int64, resolve mancini.FontResolver) mancini.Theme

NewDefaultThemeColors creates a Theme with custom foreground and background colors. Shadow colors are derived from the defaults; only the surface and text colors are overridden.

func StripedTitle

func StripedTitle(pal mancini.Palette, fonts *mancini.FontConfig, title string, fontSize int64, bold bool) func(dc mancini.DrawContext, focused bool, x, y, w, h float64)

StripedTitle returns a TitleDraw callback for AppWindow that draws horizontal pinstripes interrupted by centered title text — classic Mac OS style. The font face is resolved once at creation time.

The returned callback only renders when focused=true. When unfocused, AppWindow’s own fallback renders plain centered text.

See also GradientTitle for an animated gradient title bar.

type AppWindow

AppWindow is the root application window, implemented as an [impl.Decorator] whose decoration includes both neumorphic box shadows (via NeuBoxWith) and a title bar. The single child (content) is positioned below the title bar, clipped to the content area using [mancini.WithClip].

There is one AppWindow per shepherd — its constraint name is always “AppWindow” so that rachel can locate it at a well-known attribute path.

Focus and Depth

Focus state controls the neumorphic depth: [mancini.Raised] when focused, [mancini.Flush] when unfocused.

Title Bar

The TitleDraw callback customizes the focused title bar appearance. Two standard implementations are provided:

When TitleDraw is nil or the window is unfocused, plain centered text is drawn as a fallback.

See also FreeFloatingWindow for non-root floating panels.

type AppWindow struct {
    impl.Decorator

    Pal     mancini.Palette
    NeuPrms mancini.NeuParams
    Title   string
    Focused bool
    Radius  float64

    // TitleDraw renders the title bar. It receives the focus state and
    // the title bar bounds. If nil, plain centered text is drawn.
    TitleDraw func(dc mancini.DrawContext, focused bool, x, y, w, h float64)
    // contains filtered or unexported fields
}

func NewAppWindow

func NewAppWindow(parent mancini.Interactor, pal mancini.Palette, neuParams mancini.NeuParams, fonts *mancini.FontConfig, title string, tbHeight int64, maxWidth int64, titleDraw func(dc mancini.DrawContext, focused bool, x, y, w, h float64)) *AppWindow

NewAppWindow creates an AppWindow with inside-out sizing constraints. parent is nil for root windows. tbHeight is the title bar height (typically 26). maxWidth is the max content width (0 = default 740).

func (*AppWindow) Decorate

func (w *AppWindow) Decorate(self mancini.Interactor, x, y, ww, hh int64)

Decorate implements mancini.Decoratable — draws the NeuBox shadow and the title bar inside it.

func (*AppWindow) Depth

func (w *AppWindow) Depth() mancini.NeuDepth

Depth returns the neumorphic depth based on focus state.

func (*AppWindow) Draw

func (w *AppWindow) Draw(self mancini.Interactor, x, y, ww, hh int64)

Draw implements mancini.NewDrawer. Decorates and draws the single child content area inside the decoration insets, clipping to prevent overflow from escaping the window decoration.

func (*AppWindow) Focus

func (w *AppWindow) Focus()

Focus sets the window to focused state.

func (*AppWindow) Unfocus

func (w *AppWindow) Unfocus()

Unfocus sets the window to unfocused state.

type Button

Button is a neumorphic push-button interactor. It renders a rounded rectangle with shadows controlled by Depth, and optional face content (text, icon, etc.) drawn by the Face callback.

Button embeds [impl.ThemedInteractor] for layout wiring, theme access, and the backpointer pattern. Rendering is delegated to NeuBoxWith, which handles all three depth states ([mancini.Raised], [mancini.Flush], [mancini.Inset]). When the theme’s [mancini.NeumorphicParams.Light] returns nil, the button falls back to a flat filled rectangle.

Depth Transitions

Callers toggle Depth on mouse-down/up to animate press feedback. Use [mancini.NeuDepth.MouseDown] for the standard transition: Raised→Inset on press, Inset→Flush on release.

Construction

Use NewButton with a pre-built [mancini.LayoutAttributes], or NewButtonNamed for automatic layout creation from name+parent strings. Both pass the Button itself as the backpointer via [impl.ThemedInteractor.Init].

type Button struct {
    impl.ThemedInteractor

    Depth  mancini.NeuDepth   // visual state: Raised, Flush, or Inset
    Radius float64            // corner radius in pixels (default 8.0)
    Face   mancini.FaceDrawer // optional content drawn on top of the button face
}

func NewButton

func NewButton(layout *mancini.LayoutAttributes, theme mancini.Theme, depth mancini.NeuDepth) *Button

NewButton creates a Button wired to the constraint system and theme. layout must already be created (e.g., via [mancini.NewLayoutAttributes]).

func NewButtonNamed

func NewButtonNamed(myName, parent string, theme mancini.Theme, depth mancini.NeuDepth, width, height int64) *Button

NewButtonNamed creates a Button with layout built from name + parent strings. Width and height are published as intrinsic dimensions so the constraint system can bootstrap. If myName is empty, a unique name is generated via [mancini.DefaultName].

func (*Button) Draw

func (b *Button) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements [mancini.NewDrawer]. It renders a neumorphic rounded rectangle via NeuBoxWith at the given bounds, filled with the [mancini.Palette]’s Surface color and decorated with shadows according to Depth. If Face is non-nil, it is called to draw content (text, icon, etc.) on top of the box.

type Checkbox

Checkbox is a neumorphic toggle interactor. When unchecked it renders as [mancini.Inset] (a recessed square); when checked it renders as [mancini.Raised] with a checkmark drawn on the face.

Checkbox embeds [impl.ThemedInteractor] and delegates rendering to NeuBoxWith. When the theme’s [mancini.NeumorphicParams.Light] returns nil, the checkbox falls back to flat rendering.

Toggling is done externally by setting Checked and redrawing — Checkbox does not handle input events directly.

See also CheckboxWithLabel, which pairs a Checkbox with a text Label.

type Checkbox struct {
    impl.ThemedInteractor

    Checked bool    // true = raised with checkmark, false = inset
    Size    float64 // side length of the square box in pixels
}

func NewCheckbox

func NewCheckbox(layout *mancini.LayoutAttributes, theme mancini.Theme, size float64, checked bool) *Checkbox

NewCheckbox creates a Checkbox wired to the constraint system and theme. layout must already be created (e.g. via mancini.NewLayoutAttributes).

func NewCheckboxNamed

func NewCheckboxNamed(myName, parent string, theme mancini.Theme, size float64, checked bool) *Checkbox

NewCheckboxNamed creates a Checkbox with layout built from name + parent strings. Width and height are both set to size (the checkbox is square) so the constraint system can bootstrap.

func (*Checkbox) Draw

func (c *Checkbox) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements [mancini.NewDrawer]. It renders a neumorphic square box centered within the given bounds. Unchecked = [mancini.Inset], Checked = [mancini.Raised] with a proportional checkmark.

type CheckboxWithLabel

CheckboxWithLabel combines a neumorphic Checkbox with a label drawn via a [mancini.FaceDrawer] callback. The checkbox is rendered identically to Checkbox ([mancini.Inset] when unchecked, [mancini.Raised] + checkmark when checked), and the label is positioned on the specified Side with a configurable Gap.

CheckboxWithLabel embeds [impl.ThemedInteractor] and renders both the checkbox and label in a single Draw call. It handles nil [mancini.NeuParams] by falling back to flat rendering for the checkbox portion.

type CheckboxWithLabel struct {
    impl.ThemedInteractor

    Checked   bool
    Side      LabelSide
    CheckSize float64            // side length of the checkbox square
    Gap       float64            // space between checkbox and label
    Label     mancini.FaceDrawer // draws the label content (may be nil)
    LabelW    float64            // width of the label area
    LabelH    float64            // height of the label area
}

func NewCheckboxWithLabel

func NewCheckboxWithLabel(layout *mancini.LayoutAttributes, theme mancini.Theme, checkSize float64, checked bool, side LabelSide, gap float64, label mancini.FaceDrawer, labelW, labelH float64) *CheckboxWithLabel

NewCheckboxWithLabel creates a CheckboxWithLabel wired to the constraint system and theme. layout must already be created.

func NewCheckboxWithLabelNamed

func NewCheckboxWithLabelNamed(myName, parent string, theme mancini.Theme, checkSize float64, checked bool, side LabelSide, gap float64, label mancini.FaceDrawer, labelW, labelH float64) *CheckboxWithLabel

NewCheckboxWithLabelNamed creates a CheckboxWithLabel with layout built from name + parent strings. Total width and height are computed from Side, CheckSize, Gap, and label dimensions, and published so the constraint system can bootstrap.

func (*CheckboxWithLabel) Draw

func (c *CheckboxWithLabel) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements mancini.NewDrawer. It renders a neumorphic checkbox (Inset when unchecked, Raised + checkmark when checked) and a label positioned according to Side.

type Clock

Clock is a leaf interactor that draws an analog clock face. The [mancini.ClockFace] controls visual appearance and timezone. Clock handles layout, time conversion from UTC, and delegates rendering to the active face.

Clock embeds [impl.Interactor] directly (not [impl.ThemedInteractor]) because it receives its [mancini.Palette] and [mancini.FontConfig] explicitly rather than from a [mancini.Theme].

If Faces has more than one entry, clicking the clock cycles styles. Clock implements the mouse feedback protocol (Feedback/Complete) for press-drag-release face cycling.

Clock is typically wrapped in a NeuCircle decorator for neumorphic circular shadows.

type Clock struct {
    impl.Interactor // X(), Y(), W(), H(), Visible(), DC(), GetLayout()

    Pal     mancini.Palette
    Fonts   *mancini.FontConfig
    Size    int64                     // preferred side length (logical pixels)
    Face    mancini.ClockFace         // current active face
    Faces   []mancini.ClockFace       // ordered list for click cycling
    UTCFunc func() (sec, nanos int64) // returns current UTC time

    FaceNameAttr *attr.Attribute[string] // constraint attribute for current face name

    // Layout attributes for face name label and spacer visibility toggling.
    // Set after construction by the caller (they're sibling interactors).
    FaceLabelLayout  *mancini.LayoutAttributes
    FaceSpacerLayout *mancini.LayoutAttributes
    // contains filtered or unexported fields
}

func NewClock

func NewClock(myName, parent string, pal mancini.Palette, fonts *mancini.FontConfig, size int64, utcFunc func() (int64, int64), faces []mancini.ClockFace) *Clock

NewClock creates a Clock wired to the constraint system. parent is the constraint name of the wrapping NeuCircle (or other parent).

func (*Clock) Complete

func (c *Clock) Complete(success bool)

Complete is called when the button is released. success=true means released inside (commit face change). success=false means released outside (face already reverted by Feedback).

func (*Clock) DetailedHit

func (c *Clock) DetailedHit(localX, localY int64) bool

DetailedHit returns true if (localX, localY) is inside the clock’s circular face.

func (*Clock) Draw

func (c *Clock) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements mancini.NewDrawer.

func (*Clock) Feedback

func (c *Clock) Feedback(active bool)

Feedback is called during press-drag-release face cycling. active=true previews the next face; active=false reverts to original.

type Column

Column arranges children vertically with inside-out sizing. Width and Height are constraint-computed from children’s published dimensions. Children declare this Column as their parent by naming it in their [mancini.LayoutAttributes]’ Parent field.

Column embeds [impl.Interactor] + [impl.Parent]. It does not embed [impl.ThemedInteractor] because containers do not need theme access for their own rendering. Children are discovered via the constraint network at draw time (see [impl.Parent.GetChildren]).

Layout Behavior

Children are arranged top-to-bottom with configurable spacing. Cross-axis (horizontal) alignment is controlled by CrossAlign ([mancini.AxisMinimum], [mancini.AxisMiddle], [mancini.AxisMaximum]). Children that overflow MaxHeight are either clipped (ClipChildOverflow) or skipped entirely.

See also Row for horizontal layout and ColumnOutsideIn for a column with clamped height.

type Column struct {
    impl.Interactor // X(), Y(), W(), H(), Visible(), DC(), GetLayout()
    impl.Parent     // GetChildren() via constraint network

    Pal               mancini.Palette
    CrossAlign        mancini.Alignment
    MaxHeight         int64
    VMargin           int64 // vertical margin applied at top and bottom edges
    ClipChildOverflow bool  // true: clip last partial child; false: skip it
}

func NewColumn

func NewColumn(myName, parent string, pal mancini.Palette, maxHeight int64, crossAlign mancini.Alignment, vMargin int64, clipOverflow bool) *Column

NewColumn creates a Column wired to the constraint system. Children are not passed here — they declare this Column as their parent via their own InitLayout(parentName) call, and are discovered at draw time via the constraint network.

func (*Column) Draw

func (c *Column) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements mancini.NewDrawer. Arranges children top-to-bottom with spacing, cross-axis alignment, and overflow clipping.

func (*Column) SetSpacing

func (c *Column) SetSpacing(v float64)

SetSpacing sets the inter-child spacing value (in pixels).

type ColumnOutsideIn

ColumnOutsideIn arranges children vertically with outside-in layout. Unlike Column (pure inside-out sizing), ColumnOutsideIn clamps its height between minH and maxH. Within that range it grows with the sum of children’s heights + 1px spacing. Children that overflow the available height are hidden by setting their Visible layout attribute to false.

ColumnOutsideIn embeds [impl.Interactor] + [impl.Parent]. Width is constraint-computed as the max of children’s published widths.

See also Column for unclamped inside-out vertical layout.

type ColumnOutsideIn struct {
    impl.Interactor // X(), Y(), W(), H(), Visible(), DC(), GetLayout()
    impl.Parent     // GetChildren() via constraint network

    BgColor color.NRGBA
}

func NewColumnOutsideIn

func NewColumnOutsideIn(myName, parent string, bgColor color.NRGBA, minH, maxH int64) *ColumnOutsideIn

NewColumnOutsideIn creates a ColumnOutsideIn wired to the constraint system. minH and maxH clamp the height constraint; within that range height equals sum(children heights) + (n-1) px spacing.

func (*ColumnOutsideIn) Draw

func (c *ColumnOutsideIn) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements mancini.NewDrawer. Fills background, lays out children top-to-bottom with 1px spacing, and hides any that overflow.

type ConsoleLabel

ConsoleLabel is a left-aligned monospaced text label with a per-instance background color and dynamic text color. Designed for console output lines where stdout and stderr need different colors.

ConsoleLabel embeds [impl.ThemedInteractor] for font resolution but does NOT use the theme’s background color — BgColor is set per-instance. Draw does not call [impl.ThemedInteractor.Draw] (no super call) because the background fill uses BgColor, not the palette.

ConsoleLabel includes hash-based caching: if the text and BoundsHash are unchanged from the previous frame, the draw is skipped entirely.

Compare with Label for a centered, themed text display.

type ConsoleLabel struct {
    impl.ThemedInteractor

    FontSize  int64
    BgColor   color.NRGBA        // per-instance background
    TextFunc  func() string      // dynamic text source
    ColorFunc func() color.NRGBA // dynamic text color (stdout vs stderr)
    MaxCols   int                // max characters per line
    // contains filtered or unexported fields
}

func NewConsoleLabel

func NewConsoleLabel(myName, parent string, theme mancini.Theme, fontSize int64, bgColor color.NRGBA, maxCols int) *ConsoleLabel

NewConsoleLabel creates a ConsoleLabel wired to the constraint system. Width is probed from the theme’s monospaced font: charW * maxCols + 8. Height is fontSize (1px inter-line spacing is in the parent column).

func (*ConsoleLabel) Draw

func (l *ConsoleLabel) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements mancini.NewDrawer. Fills BgColor background, then renders left-aligned text using ColorFunc for the text color.

type FreeFloatingWindow

FreeFloatingWindow is a neumorphic floating panel drawn as a sibling of AppWindow (not a child). It is always [mancini.Flush] depth when visible. Structurally it is an [impl.Decorator]: NeuBoxWith shadow → title + NeuGroove separator → content.

Visibility is toggled externally (e.g., by the focus state of an associated AppWindow or by constraint programs).

See also AppWindow for the root application window.

type FreeFloatingWindow struct {
    impl.Decorator

    Pal     mancini.Palette
    NeuPrms mancini.NeuParams
    Title   string
    Radius  float64
    Visible bool
    // contains filtered or unexported fields
}

func NewFreeFloatingWindow

func NewFreeFloatingWindow(name string, parent mancini.Interactor, pal mancini.Palette, neuParams mancini.NeuParams, fonts *mancini.FontConfig, title string, radius float64) *FreeFloatingWindow

NewFreeFloatingWindow creates a FreeFloatingWindow with inside-out sizing. parent is nil for top-level floaters. The window is initially not visible.

func (*FreeFloatingWindow) Decorate

func (w *FreeFloatingWindow) Decorate(self mancini.Interactor, x, y, ww, hh int64)

Decorate implements mancini.Decoratable — draws the NeuBox shadow, title text, and groove separator.

func (*FreeFloatingWindow) Draw

func (w *FreeFloatingWindow) Draw(self mancini.Interactor, x, y, ww, hh int64)

Draw implements mancini.NewDrawer.

type GradientTitle

GradientTitle renders an animated horizontal gradient title bar into an off-screen buffer, for use as AppWindow’s TitleDraw callback. A background goroutine recomputes the buffer at ~15 fps and notifies the attribute system so the event loop redraws.

The gradient has a symmetric peak ([mancini.Palette.SurfaceTint]) that oscillates horizontally at 0.05 Hz — one full left→right→left sweep in 20 seconds. On each side of the peak the color fades linearly to [mancini.Palette.Surface] at the edge.

See also StripedTitle for a static Mac OS-style pinstripe title bar.

type GradientTitle struct {
    // contains filtered or unexported fields
}

func NewGradientTitle

func NewGradientTitle(pal mancini.Palette, fonts *mancini.FontConfig, title string, fontSize int64, radius float64) *GradientTitle

NewGradientTitle creates a GradientTitle. The font face is resolved once at creation time. Call Start or pass to NewAppWindow — the animation goroutine launches on the first Draw when the title bar dimensions are known.

func (*GradientTitle) Start

func (g *GradientTitle) Start(w, h int)

Start launches the animation goroutine for a title bar of size w×h. Safe to call multiple times — only the first call starts the goroutine.

func (*GradientTitle) TitleDraw

func (g *GradientTitle) TitleDraw(dc mancini.DrawContext, focused bool, x, y, w, h float64)

TitleDraw is the callback for std.AppWindow’s TitleDraw field. It blits the current off-screen frame onto the main canvas. On the first call it starts the animation goroutine using the provided title bar dimensions.

type Label

Label is a single-line text display interactor (not editable — see SingleLineText for an editable text field). It renders centered text using the [mancini.Theme]’s font family.

Label embeds [impl.ThemedInteractor]. Its Draw method calls the super [impl.ThemedInteractor.Draw] to clear the background, then renders the text.

Text can be static (set via Text field) or dynamic (set via TextFunc, which takes precedence). Multiple constructor variants handle bold, custom color, and named-layout creation.

type Label struct {
    impl.ThemedInteractor

    Text     string        // static text (used when TextFunc is nil)
    TextFunc func() string // dynamic text source (takes precedence)
    FontSize int64
    Color    color.NRGBA
    Bold     bool
}

func NewLabel

func NewLabel(layout *mancini.LayoutAttributes, theme mancini.Theme, text string, fontSize int64) *Label

NewLabel creates a Label wired to the constraint system and theme.

func NewLabelBold

func NewLabelBold(layout *mancini.LayoutAttributes, theme mancini.Theme, text string, fontSize int64) *Label

NewLabelBold creates a bold Label.

func NewLabelColor

func NewLabelColor(layout *mancini.LayoutAttributes, theme mancini.Theme, text string, fontSize int64, col color.NRGBA) *Label

NewLabelColor creates a Label with a custom text color.

func NewLabelNamed

func NewLabelNamed(myName, parent string, theme mancini.Theme, text string, fontSize int64) *Label

NewLabelNamed creates a Label with layout built from name + parent strings. Publishes intrinsic dimensions (fontSize+4 height, text-measured width) so constraint programs can bootstrap.

func NewLabelNamedBold

func NewLabelNamedBold(myName, parent string, theme mancini.Theme, text string, fontSize int64) *Label

NewLabelNamedBold creates a bold Label with layout from name + parent.

func NewLabelNamedColor

func NewLabelNamedColor(myName, parent string, theme mancini.Theme, text string, fontSize int64, col color.NRGBA) *Label

NewLabelNamedColor creates a colored Label with layout from name + parent.

func (*Label) Draw

func (l *Label) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements mancini.NewDrawer. Clears background via super, then renders centered text.

type LabelSide

LabelSide specifies which side of the checkbox the label is drawn on.

type LabelSide int

const (
    LabelTop    LabelSide = iota // label above checkbox
    LabelRight                   // label to the right of checkbox
    LabelBottom                  // label below checkbox
    LabelLeft                    // label to the left of checkbox
)

type NOfMChooser

NOfMChooser is a strip-based N-of-M multi-select interactor. It displays N vertical strips side by side, each with a flat top edge and rounded bottom corners. Any combination of strips can be selected. Selected strips receive a purple tint overlay and inset shadows matching the neumorphic [mancini.Inset] treatment.

NOfMChooser embeds [impl.ThemedInteractor] and uses Light-weight [mancini.NeuParams]. When nil, only the filled shape and face content are drawn — no flush edge, grooves, or selection effects.

Each strip can have a [mancini.FaceDrawer] callback for custom content (icons, text, etc.). See also RadialNOfMChooser for an arc-shaped variant and RadialMenu for a full-circle single-select menu.

type NOfMChooser struct {
    impl.ThemedInteractor

    StripW   float64              // width of each strip
    StripH   float64              // height of each strip
    Faces    []mancini.FaceDrawer // content drawing for each strip (nil entries OK)
    Selected []bool               // which strips are selected
    CornerR  float64              // corner radius for rounded bottom (default 8.0)
}

func NewNOfMChooser

func NewNOfMChooser(layout *mancini.LayoutAttributes, theme mancini.Theme, stripW, stripH float64, faces []mancini.FaceDrawer, selected []bool) *NOfMChooser

NewNOfMChooser creates an NOfMChooser wired to the constraint system and theme. layout must already be created (e.g. via mancini.NewLayoutAttributes).

func NewNOfMChooserNamed

func NewNOfMChooserNamed(myName, parent string, theme mancini.Theme, stripW, stripH float64, faces []mancini.FaceDrawer, selected []bool) *NOfMChooser

NewNOfMChooserNamed creates an NOfMChooser with layout built from name + parent strings. Width is set to len(faces)*stripW and height to stripH so the constraint system can bootstrap.

func (*NOfMChooser) Draw

func (c *NOfMChooser) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements mancini.NewDrawer. It renders the strip chooser: an overall shape with flat top and rounded bottom, flush edge outlines, vertical groove separators between strips, selected-strip tint+inset treatment, and per-strip face content.

type NeuBox

NeuBox is a single-child [impl.Decorator] that draws rectangular neumorphic shadows around its child. It overrides [impl.Decorator.Decorate] to render shadows via NeuBoxWith instead of the default thick black box.

NeuBox computes its margin from [mancini.NeuMaxPad] to ensure shadows have room to render without clipping. The child is positioned inside the margin at (x+Left, y+Top).

See also NeuCircle for circular neumorphic decoration, and AppWindow / FreeFloatingWindow for window-level decorators that add title bars.

type NeuBox struct {
    impl.Decorator

    Pal    mancini.Palette
    Depth  mancini.NeuDepth
    Params mancini.NeuParams
    Face   color.NRGBA
    Radius float64
}

func NewNeuBox

func NewNeuBox(layout *mancini.LayoutAttributes, pal mancini.Palette, depth mancini.NeuDepth, params mancini.NeuParams, radius float64) *NeuBox

NewNeuBox creates a NeuBox wired to the constraint system. The layout should be created with mancini.NewDecoratorLayout. Margin is computed from NeuParams (max shadow padding).

func (*NeuBox) Decorate

func (n *NeuBox) Decorate(self mancini.Interactor, x, y, w, h int64)

Decorate implements mancini.Decoratable — draws neumorphic box shadows at the given bounds.

type NeuCircle

NeuCircle is a single-child [impl.Decorator] that draws circular neumorphic shadows around its child. It overrides both [impl.Decorator.Decorate] (to render circular shadows via NeuCircleWith) and [impl.Decorator.Draw] (to inset the child by the bevel amount).

The bevel (neuCircleBevel = 7px) creates a visible ring between the shadow circle’s edge and the face fill, giving the raised/inset 3D effect its depth. The child receives bounds inset by the bevel, not the full margin.

The margin is symmetric on all sides (the circle occupies a square bounding box). It is computed from [mancini.NeuMaxPad].

See also NeuBox for rectangular neumorphic decoration.

type NeuCircle struct {
    impl.Decorator

    Pal    mancini.Palette
    Depth  mancini.NeuDepth
    Params mancini.NeuParams
    Face   color.NRGBA
}

func NewNeuCircle

func NewNeuCircle(layout *mancini.LayoutAttributes, pal mancini.Palette, depth mancini.NeuDepth, params mancini.NeuParams) *NeuCircle

NewNeuCircle creates a NeuCircle wired to the constraint system. The layout should be created with mancini.NewDecoratorLayout. Margin is computed from NeuParams (max shadow padding).

func NewNeuCircleNamed

func NewNeuCircleNamed(myName, parent string, pal mancini.Palette, depth mancini.NeuDepth, params mancini.NeuParams) *NeuCircle

NewNeuCircleNamed creates a NeuCircle with inside-out sizing constraints. Builds the layout internally from name and parent strings.

func (*NeuCircle) Decorate

func (n *NeuCircle) Decorate(self mancini.Interactor, x, y, w, h int64)

Decorate implements mancini.Decoratable — draws neumorphic circular shadows centered in the given bounds. Shadows are drawn at the full decorator radius; the face fill is drawn at radius - bevel so the shadow ring is visible between face edge and shadow fringe.

func (*NeuCircle) Draw

func (n *NeuCircle) Draw(self mancini.Interactor, x, y, w, h int64)

Draw overrides Decorator.Draw. The child receives bounds inset by the bevel amount so the neumorphic shadow ring between the face edge and the shadow circle remains visible. The full decorator margins are for shadow overflow; the bevel is the visible 3D ring.

type RadialMenu

RadialMenu is a full-circle annular menu divided into equal segments. One segment can be selected (rendered inset with a tint overlay). The ring is drawn with [mancini.Raised] neumorphic shadows, groove separators between all segments, and per-segment face content.

RadialMenu embeds [impl.ThemedInteractor] and uses Heavy-weight [mancini.NeuParams] (the same weight class as AppWindow) because the ring shape warrants stronger shadows. When [mancini.NeuParams] is nil, only the flat annulus fill and face content are drawn.

Each segment can have a [mancini.FaceDrawer] callback for custom content. Face content is positioned at the segment’s midpoint and rotated to align with the segment’s angular position, reusing the same rendering code as RadialNOfMChooser.

See also NOfMChooser for a linear strip multi-select and RadialNOfMChooser for an arc-shaped multi-select.

type RadialMenu struct {
    impl.ThemedInteractor

    OuterR   float64              // outer radius of the annulus
    InnerR   float64              // inner radius (center hole)
    Faces    []mancini.FaceDrawer // content drawer for each segment (nil entries OK)
    Selected int                  // selected segment index (-1 for none)
}

func NewRadialMenu

func NewRadialMenu(layout *mancini.LayoutAttributes, theme mancini.Theme, outerR, innerR float64, faces []mancini.FaceDrawer, selected int) *RadialMenu

NewRadialMenu creates a RadialMenu wired to the constraint system and theme.

func NewRadialMenuNamed

func NewRadialMenuNamed(myName, parent string, theme mancini.Theme, outerR, innerR float64, faces []mancini.FaceDrawer, selected int) *RadialMenu

NewRadialMenuNamed creates a RadialMenu with layout built from name + parent strings. Width and height are set to contain the full ring with shadow padding.

func (*RadialMenu) Draw

func (m *RadialMenu) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements mancini.NewDrawer. It renders the full-circle radial menu: a raised annulus base, selected segment inset+tint, groove separators, and per-segment face content.

type RadialNOfMChooser

RadialNOfMChooser is an arc-shaped N-of-M multi-select interactor. It draws segments of an annulus (partial ring). Each segment can be independently selected. The center of the arc, angular range, and radii are configurable.

RadialNOfMChooser embeds [impl.ThemedInteractor] and uses Light-weight [mancini.NeuParams]. Selected segments receive a purple tint overlay and [mancini.Inset] shadows, matching the treatment used by NOfMChooser. When [mancini.NeuParams] is nil, only the filled arc and face content are drawn.

Each segment can have a [mancini.FaceDrawer] callback whose content is automatically rotated to align with the segment’s angular position. See also NOfMChooser for a linear strip variant and RadialMenu for a full-circle single-select menu.

type RadialNOfMChooser struct {
    impl.ThemedInteractor

    CX, CY           float64              // center of the arc relative to allocated area
    InnerR, OuterR   float64              // inner and outer radii
    StartDeg, EndDeg float64              // angular range in degrees (0=right, 90=down)
    Faces            []mancini.FaceDrawer // content for each segment (nil entries OK)
    Selected         []bool               // which segments are selected
}

func NewRadialNOfMChooser

func NewRadialNOfMChooser(layout *mancini.LayoutAttributes, theme mancini.Theme, cx, cy, innerR, outerR, startDeg, endDeg float64, faces []mancini.FaceDrawer, selected []bool) *RadialNOfMChooser

NewRadialNOfMChooser creates a RadialNOfMChooser wired to the constraint system and theme. layout must already be created.

func NewRadialNOfMChooserNamed

func NewRadialNOfMChooserNamed(myName, parent string, theme mancini.Theme, cx, cy, innerR, outerR, startDeg, endDeg float64, faces []mancini.FaceDrawer, selected []bool) *RadialNOfMChooser

NewRadialNOfMChooserNamed creates a RadialNOfMChooser with layout built from name + parent strings. Width and height are computed from the arc’s bounding box so the constraint system can bootstrap.

func (*RadialNOfMChooser) Draw

func (c *RadialNOfMChooser) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements mancini.NewDrawer. It renders the radial arc chooser: an annular arc shape with flush edge outlines, radial groove separators between segments, selected-segment tint+inset treatment, and per-segment face content.

type Row

Row arranges children horizontally with inside-out sizing. Width, Height, and LastChildDrawn are constraint-computed from children’s published dimensions. Children declare this Row as their parent by naming it in their [mancini.LayoutAttributes]’ Parent field.

Row embeds [impl.Interactor] + [impl.Parent]. Children are discovered via the constraint network at draw time (see [impl.Parent.GetChildren]).

Layout Behavior

Children are arranged left-to-right with configurable spacing. Cross-axis (vertical) alignment is controlled by CrossAlign ([mancini.AxisMinimum], [mancini.AxisMiddle], [mancini.AxisMaximum]). The last child that partially overflows MaxWidth is clipped using [mancini.WithClip].

See also Column for vertical layout.

type Row struct {
    impl.Interactor // X(), Y(), W(), H(), Visible(), DC(), GetLayout()
    impl.Parent     // GetChildren() via constraint network

    Pal        mancini.Palette
    CrossAlign mancini.Alignment
    MaxWidth   int64
    HMargin    int64 // horizontal margin applied at left and right edges
}

func NewRow

func NewRow(myName, parent string, pal mancini.Palette, maxWidth int64, crossAlign mancini.Alignment, hMargin int64) *Row

NewRow creates a Row wired to the constraint system. Children are not passed here — they declare this Row as their parent via their own InitLayout(parentName) call, and are discovered at draw time via the constraint network.

func (*Row) Draw

func (r *Row) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements mancini.NewDrawer. Arranges children left-to-right with spacing, cross-axis alignment, and overflow clipping.

func (*Row) SetSpacing

func (r *Row) SetSpacing(v float64)

SetSpacing sets the inter-child spacing value (in pixels).

type Scrollbar

Scrollbar is a neumorphic scrollbar interactor with an inset track, a raised thumb with a grip dot, and optional arrow buttons at each end.

Scrollbar embeds [impl.ThemedInteractor] and uses Light-weight [mancini.NeuParams] for its neumorphic effects. When the theme’s [mancini.NeumorphicParams.Light] returns nil, the scrollbar falls back to flat rendering: [mancini.Palette.SurfaceTint] for the track, [mancini.Palette.Surface] for the thumb, and [mancini.Palette.Icon] for arrow triangles.

ThumbFrac controls thumb size as a fraction of the track (0..1, representing the proportion of visible content). ThumbPos controls the thumb position along available travel (0 = start, 1 = end). All dimensions scale proportionally to TrackWidth.

type Scrollbar struct {
    impl.ThemedInteractor

    IsVertical bool    // true = vertical, false = horizontal
    TrackWidth float64 // cross-axis thickness (values < 5 use default 22.5)
    ThumbFrac  float64 // visible fraction 0..1 (determines thumb length)
    ThumbPos   float64 // thumb position 0..1 along available travel
    ShowArrows bool    // draw arrow triangles at each end
}

func NewScrollbar

func NewScrollbar(layout *mancini.LayoutAttributes, theme mancini.Theme, isVertical bool, trackWidth, thumbFrac, thumbPos float64, showArrows bool) *Scrollbar

NewScrollbar creates a Scrollbar wired to the constraint system and theme.

func NewScrollbarNamed

func NewScrollbarNamed(myName, parent string, theme mancini.Theme, isVertical bool, length, trackWidth, thumbFrac, thumbPos float64, showArrows bool) *Scrollbar

NewScrollbarNamed creates a Scrollbar with layout built from name + parent strings. The main-axis dimension is set to length; the cross-axis is set to the resolved track width.

func (*Scrollbar) Draw

func (s *Scrollbar) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements mancini.NewDrawer. It renders the scrollbar: inset track, raised thumb, grip dot, and optional arrow buttons.

type SingleLineText

SingleLineText is a single-line text input interactor. It renders an [mancini.Inset] neumorphic field with left-aligned text, an auto-scrolling viewport, a cursor indicator when focused, and placeholder text when the content is empty.

SingleLineText embeds [impl.ThemedInteractor] and uses Light-weight [mancini.NeuParams] for the inset field background (via NeuBoxWith). When [mancini.NeuParams] is nil, a flat surface-colored rectangle is drawn instead.

CursorPos is in rune offsets (0 = before first character). The viewport scrolls automatically to keep the cursor visible within the field. Text and cursor are rendered into a clipped local buffer so they do not overflow the field’s rounded corners.

Compare with Label, which is a non-editable text display interactor.

type SingleLineText struct {
    impl.ThemedInteractor

    Text        string // current text content
    CursorPos   int    // rune offset (0..len([]rune(Text)))
    Placeholder string // shown dimmed when Text is empty
    FontSize    int64
    Radius      float64     // corner radius (default 6)
    Padding     float64     // horizontal padding inside field (default 8)
    Focused     bool        // shows cursor when true
    TextColor   color.NRGBA // zero value uses palette Text()
    // contains filtered or unexported fields
}

func NewSingleLineText

func NewSingleLineText(layout *mancini.LayoutAttributes, theme mancini.Theme, text string, fontSize int64) *SingleLineText

NewSingleLineText creates a SingleLineText wired to the constraint system and theme.

func NewSingleLineTextNamed

func NewSingleLineTextNamed(myName, parent string, theme mancini.Theme, text string, fontSize int64, width int64) *SingleLineText

NewSingleLineTextNamed creates a SingleLineText with layout built from name + parent strings. Width sets the field width; height is derived from the font size.

func (*SingleLineText) Draw

func (t *SingleLineText) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements mancini.NewDrawer. It renders the inset field background, text (or placeholder), and cursor.

type Spacer

Spacer is a leaf interactor that draws nothing but occupies space in a Column or Row layout. Its Width and Height are set as value attributes at construction time.

Spacer embeds [impl.Interactor] directly. It has no theme or visual rendering — its only purpose is to participate in the constraint network as a fixed-size gap.

type Spacer struct {
    impl.Interactor // X(), Y(), W(), H(), Visible(), DC(), GetLayout()
}

func NewSpacer

func NewSpacer(myName, parent string, w, h int64) *Spacer

NewSpacer creates a Spacer with the given fixed dimensions.

func (*Spacer) Draw

func (s *Spacer) Draw(self mancini.Interactor, x, y, w, h int64)

Draw implements mancini.NewDrawer. Spacer draws nothing.

Generated by gomarkdoc