import sys
sys.path.insert(0,'/tmp/claude-0/-root-ants/f0a0d69c-fbe4-4887-8c0d-a5302a0da398/scratchpad')
from bridge import *
img={S(im[0]):(im[2],im[3]) for im in IMAGES}

def find_type(name):
    for i,t in enumerate(TYPES):
        ns,nm=S(t[1]),S(t[0])
        full=(ns+'.' if ns else '')+nm
        if full==name: return i
    return None

def show(typename, only=None):
    ti=find_type(typename)
    if ti is None: print('!! not found',typename); return
    t=TYPES[ti]; ms,mc=t[13],t[20]
    print('\n########## %s ##########'%typename)
    for k in range(mc):
        m=METHODS[ms+k]; nm=S(m[0])
        if only and not any(o.lower() in nm.lower() for o in only): continue
        a=method_addr(m[6]); sz=fn_size(a)
        strs=method_strings(a,sz)
        print('  %-42s @0x%08x size=%-6d'%(nm,a,sz))
        for s in strs[:24]:
            print('        %r'%s[:110])
show('FE.DevOptions',['GrantGold','GrantCash','GrantCustomers','ForceUpgrade','ServerMaintenance','ResetUser','GrantLevel'])
