     out.keys = keys
     cb out
 
-r = new Runner { scrypt, bu }
+##=====================================================================
+
+r = new Runner { input, scrypt, bu }
 await r.run defer out
 console.log JSON.stringify out, null, 4
 

    }
    await @make_vectors defer out.vectors
    cb out

  run_scrypt : (input, cb) ->
    args = [

    ret = if (m = out[0].match x)? then m[1] else null
    cb ret

  #-------------------

  run_bu : (seed, cb) ->
    args = [ seed ] 
    opts = { 
      quiet : true 
      interp : @bu
    }
    child = new Child args, opts
    out = []
    child.filter (l, which) -> out.push l
    await child.run().wait defer status

    bu_out = {}
    primary_key = null
    for line in out.join("\n").split(/\n+/) when line.length
      [key,val] = line.split(/:\s+/)
      if key[0] is ' '
        bu_out[last_key][key.replace(/\s+/, '')] = val
      else
        last_key = key
        bu_out[key] = { _ : val}

    cb {
      "private"  : bu_out.WIF.uncompressed
      "public" : bu_out['Bitcoin address'].uncompressed
    }

  #-------------------

  make_vector : (input, cb) ->
    await @run_scrypt input, defer seed
