/* Generated automatically from ./bcrypt.scm.  DO NOT EDIT */
#include <gauche.h>
#include <gauche/code.h>
#include <gauche/extend.h>
extern char* crypt_ra(const char * key,const char * setting,void** data,int* size);
extern char* crypt_gensalt_ra(const char * prefix,unsigned long count,const char * input,int size);

static ScmObj crypt_2d_2dbcryptcrypt_ra(ScmObj*, int, void*);
static SCM_DEFINE_SUBRX(crypt_2d_2dbcryptcrypt_ra__STUB, 2, 0,0, SCM_FALSE,SCM_SUBR_IMMEDIATE_ARG, crypt_2d_2dbcryptcrypt_ra, NULL, NULL);


static ScmObj crypt_2d_2dbcryptcrypt_gensalt_ra(ScmObj*, int, void*);
static SCM_DEFINE_SUBRX(crypt_2d_2dbcryptcrypt_gensalt_ra__STUB, 3, 0,0, SCM_FALSE,SCM_SUBR_IMMEDIATE_ARG, crypt_2d_2dbcryptcrypt_gensalt_ra, NULL, NULL);

#if defined(__CYGWIN__) || defined(GAUCHE_WINDOWS)
#define SCM_CGEN_CONST /*empty*/
#else
#define SCM_CGEN_CONST const
#endif
static SCM_CGEN_CONST struct scm__scRec {
  ScmString d1490[44];
} scm__sc SCM_UNUSED = {
  {   /* ScmString d1490 */
      SCM_STRING_CONST_INITIALIZER("crypt.bcrypt", 12, 12),
      SCM_STRING_CONST_INITIALIZER("crypt-ra", 8, 8),
      SCM_STRING_CONST_INITIALIZER("pass", 4, 4),
      SCM_STRING_CONST_INITIALIZER("setting", 7, 7),
      SCM_STRING_CONST_INITIALIZER("source-info", 11, 11),
      SCM_STRING_CONST_INITIALIZER("./bcrypt.scm", 12, 12),
      SCM_STRING_CONST_INITIALIZER("bind-info", 9, 9),
      SCM_STRING_CONST_INITIALIZER("crypt-gensalt-ra", 16, 16),
      SCM_STRING_CONST_INITIALIZER("prefix", 6, 6),
      SCM_STRING_CONST_INITIALIZER("count", 5, 5),
      SCM_STRING_CONST_INITIALIZER("randomsrc", 9, 9),
      SCM_STRING_CONST_INITIALIZER("bcrypt-hashpw", 13, 13),
      SCM_STRING_CONST_INITIALIZER("too many arguments for", 22, 22),
      SCM_STRING_CONST_INITIALIZER("lambda", 6, 6),
      SCM_STRING_CONST_INITIALIZER("optional", 8, 8),
      SCM_STRING_CONST_INITIALIZER("or", 2, 2),
      SCM_STRING_CONST_INITIALIZER("bcrypt-gensalt", 14, 14),
      SCM_STRING_CONST_INITIALIZER("error", 5, 5),
      SCM_STRING_CONST_INITIALIZER("unused-args", 11, 11),
      SCM_STRING_CONST_INITIALIZER("undefined\077", 10, 10),
      SCM_STRING_CONST_INITIALIZER("$2b$", 4, 4),
      SCM_STRING_CONST_INITIALIZER("get-entropy", 11, 11),
      SCM_STRING_CONST_INITIALIZER("keyword list not even", 21, 21),
      SCM_STRING_CONST_INITIALIZER("unwrap-syntax-1", 15, 15),
      SCM_STRING_CONST_INITIALIZER("entropy-source", 14, 14),
      SCM_STRING_CONST_INITIALIZER("unknown keyword ~S", 18, 18),
      SCM_STRING_CONST_INITIALIZER("errorf", 6, 6),
      SCM_STRING_CONST_INITIALIZER("key", 3, 3),
      SCM_STRING_CONST_INITIALIZER("+esize+", 7, 7),
      SCM_STRING_CONST_INITIALIZER("%toplevel", 9, 9),
      SCM_STRING_CONST_INITIALIZER("make-u8vector", 13, 13),
      SCM_STRING_CONST_INITIALIZER("read-byte", 9, 9),
      SCM_STRING_CONST_INITIALIZER("u8vector-set!", 13, 13),
      SCM_STRING_CONST_INITIALIZER("G1516", 5, 5),
      SCM_STRING_CONST_INITIALIZER("p", 1, 1),
      SCM_STRING_CONST_INITIALIZER("/dev/urandom", 12, 12),
      SCM_STRING_CONST_INITIALIZER("if-does-not-exist", 17, 17),
      SCM_STRING_CONST_INITIALIZER("call-with-input-file", 20, 20),
      SCM_STRING_CONST_INITIALIZER("<mersenne-twister>", 18, 18),
      SCM_STRING_CONST_INITIALIZER("seed", 4, 4),
      SCM_STRING_CONST_INITIALIZER("sys-time", 8, 8),
      SCM_STRING_CONST_INITIALIZER("sys-getpid", 10, 10),
      SCM_STRING_CONST_INITIALIZER("make", 4, 4),
      SCM_STRING_CONST_INITIALIZER("mt-random-integer", 17, 17),
  },
};
static struct scm__rcRec {
  ScmCompiledCode d1505[6];
  ScmWord d1504[283];
  ScmPair d1500[72] SCM_ALIGN_PAIR;
  ScmObj d1489[68];
} scm__rc SCM_UNUSED = {
  {   /* ScmCompiledCode d1505 */
        SCM_COMPILED_CODE_CONST_INITIALIZER(  /* bcrypt-hashpw */
            (ScmWord*)(SCM_OBJ(&scm__rc.d1504[0])), 42,
            16, 1, 1, SCM_FALSE, SCM_NIL, SCM_OBJ(&scm__rc.d1500[43]),
            SCM_FALSE, SCM_FALSE),
        SCM_COMPILED_CODE_CONST_INITIALIZER(  /* bcrypt-gensalt */
            (ScmWord*)(SCM_OBJ(&scm__rc.d1504[42])), 132,
            34, 0, 1, SCM_FALSE, SCM_NIL, SCM_OBJ(&scm__rc.d1500[57]),
            SCM_FALSE, SCM_FALSE),
        SCM_COMPILED_CODE_CONST_INITIALIZER(  /* %toplevel */
            (ScmWord*)(SCM_OBJ(&scm__rc.d1504[174])), 4,
            0, 0, 0, SCM_FALSE, SCM_NIL, SCM_FALSE,
            SCM_FALSE, SCM_FALSE),
        SCM_COMPILED_CODE_CONST_INITIALIZER(  /* (get-entropy G1516) */
            (ScmWord*)(SCM_OBJ(&scm__rc.d1504[178])), 35,
            31, 1, 0, SCM_OBJ(&scm__rc.d1500[59]), SCM_NIL, SCM_OBJ(&scm__rc.d1500[65]),
            SCM_OBJ(&scm__rc.d1505[5]), SCM_FALSE),
        SCM_COMPILED_CODE_CONST_INITIALIZER(  /* get-entropy */
            (ScmWord*)(SCM_OBJ(&scm__rc.d1504[213])), 63,
            36, 0, 0, SCM_FALSE, SCM_NIL, SCM_OBJ(&scm__rc.d1500[71]),
            SCM_OBJ(&scm__rc.d1505[5]), SCM_FALSE),
        SCM_COMPILED_CODE_CONST_INITIALIZER(  /* %toplevel */
            (ScmWord*)(SCM_OBJ(&scm__rc.d1504[276])), 7,
            4, 0, 0, SCM_FALSE, SCM_NIL, SCM_FALSE,
            SCM_FALSE, SCM_FALSE),
  },
  {   /* ScmWord d1504 */
    /* bcrypt-hashpw */
    0x0000003d    /*   0 (LREF0) */,
    0x00000022    /*   1 (BNNULL) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[0]) + 6),
    0x00000004    /*   3 (CONSTF) */,
    0x00000013    /*   4 (JUMP) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[0]) + 7),
    0x0000006a    /*   6 (LREF0-CAR) */,
    0x0000000d    /*   7 (PUSH) */,
    0x0000003d    /*   8 (LREF0) */,
    0x00000022    /*   9 (BNNULL) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[0]) + 14),
    0x00000003    /*  11 (CONSTN) */,
    0x00000013    /*  12 (JUMP) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[0]) + 15),
    0x00000076    /*  14 (LREF0-CDR) */,
    0x00002018    /*  15 (PUSH-LOCAL-ENV 2) */,
    0x0000003d    /*  16 (LREF0) */,
    0x00000022    /*  17 (BNNULL) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[0]) + 21),
    0x00000013    /*  19 (JUMP) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[0]) + 29),
    0x0000200e    /*  21 (PRE-CALL 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[0]) + 29),
    0x00000006    /*  23 (CONST-PUSH) */,
    SCM_WORD(SCM_OBJ(&scm__sc.d1490[12])) /* "too many arguments for" */,
    0x00000006    /*  25 (CONST-PUSH) */,
    SCM_WORD(SCM_OBJ(&scm__rc.d1500[36])) /* (lambda (pass :optional (setting #f)) (crypt-ra pass (or setting (bcrypt-gensalt)))) */,
    0x0000205f    /*  27 (GREF-CALL 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#error.d8fdc3c0> */,
    0x0000004d    /*  29 (LREF11-PUSH) */,
    0x0000003e    /*  30 (LREF1) */,
    0x0000001e    /*  31 (BF) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[0]) + 35),
    0x00000013    /*  33 (JUMP) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[0]) + 39),
    0x0000000e    /*  35 (PRE-CALL 0) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[0]) + 39),
    0x0000005f    /*  37 (GREF-CALL 0) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#bcrypt-gensalt.d8fe2e20> */,
    0x00002063    /*  39 (PUSH-GREF-TAIL-CALL 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#crypt-ra.d8fe2ee0> */,
    0x00000014    /*  41 (RET) */,
    /* bcrypt-gensalt */
    0x00000048    /*   0 (LREF0-PUSH) */,
    0x00000005    /*   1 (CONSTU) */,
    0x0000000d    /*   2 (PUSH) */,
    0x00000005    /*   3 (CONSTU) */,
    0x0000000d    /*   4 (PUSH) */,
    0x00000005    /*   5 (CONSTU) */,
    0x00004018    /*   6 (PUSH-LOCAL-ENV 4) */,
    0x00000040    /*   7 (LREF3) */,
    0x00000022    /*   8 (BNNULL) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 61),
    0x0000100e    /*  10 (PRE-CALL 1) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 15),
    0x0000004a    /*  12 (LREF2-PUSH) */,
    0x0000105f    /*  13 (GREF-CALL 1) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier gauche#undefined?.d90fbd00> */,
    0x0000001e    /*  15 (BF) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 21),
    0x00000001    /*  17 (CONST) */,
    SCM_WORD(SCM_OBJ(&scm__sc.d1490[20])) /* "$2b$" */,
    0x00000013    /*  19 (JUMP) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 22),
    0x0000003f    /*  21 (LREF2) */,
    0x00001018    /*  22 (PUSH-LOCAL-ENV 1) */,
    0x0000100e    /*  23 (PRE-CALL 1) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 28),
    0x0000004d    /*  25 (LREF11-PUSH) */,
    0x0000105f    /*  26 (GREF-CALL 1) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier gauche#undefined?.d90fbd00> */,
    0x0000001e    /*  28 (BF) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 33),
    0x0000a002    /*  30 (CONSTI 10) */,
    0x00000013    /*  31 (JUMP) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 34),
    0x00000042    /*  33 (LREF11) */,
    0x00001018    /*  34 (PUSH-LOCAL-ENV 1) */,
    0x0000100e    /*  35 (PRE-CALL 1) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 40),
    0x0000004f    /*  37 (LREF20-PUSH) */,
    0x0000105f    /*  38 (GREF-CALL 1) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier gauche#undefined?.d90fbd00> */,
    0x0000001e    /*  40 (BF) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 45),
    0x00000004    /*  42 (CONSTF) */,
    0x00000013    /*  43 (JUMP) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 46),
    0x00000044    /*  45 (LREF20) */,
    0x00001018    /*  46 (PUSH-LOCAL-ENV 1) */,
    0x0000004f    /*  47 (LREF20-PUSH) */,
    0x0000004c    /*  48 (LREF10-PUSH) */,
    0x0000003d    /*  49 (LREF0) */,
    0x0000001e    /*  50 (BF) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 54),
    0x00000013    /*  52 (JUMP) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 58),
    0x0000000e    /*  54 (PRE-CALL 0) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 58),
    0x0000005f    /*  56 (GREF-CALL 0) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#get-entropy.d90fb820> */,
    0x00003063    /*  58 (PUSH-GREF-TAIL-CALL 3) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#crypt-gensalt-ra.d90fb900> */,
    0x00000014    /*  60 (RET) */,
    0x00000079    /*  61 (LREF3-CDR) */,
    0x00000022    /*  62 (BNNULL) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 70),
    0x00000006    /*  64 (CONST-PUSH) */,
    SCM_WORD(SCM_OBJ(&scm__sc.d1490[22])) /* "keyword list not even" */,
    0x0000004b    /*  66 (LREF3-PUSH) */,
    0x00002060    /*  67 (GREF-TAIL-CALL 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier gauche#error.d90fbcc0> */,
    0x00000014    /*  69 (RET) */,
    0x0000100e    /*  70 (PRE-CALL 1) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 75),
    0x0000006d    /*  72 (LREF3-CAR) */,
    0x00001062    /*  73 (PUSH-GREF-CALL 1) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier gauche#unwrap-syntax-1.d90fbc60> */,
    0x00001018    /*  75 (PUSH-LOCAL-ENV 1) */,
    0x0000003d    /*  76 (LREF0) */,
    0x0000002e    /*  77 (BNEQC) */,
    SCM_WORD(SCM_UNDEFINED) /* :prefix */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 89)  /*     89 */,
    0x00c0103c    /*  80 (LREF 1 3) */,
    0x00000087    /*  81 (CDDR-PUSH) */,
    0x00c0103c    /*  82 (LREF 1 3) */,
    0x00000083    /*  83 (CADR-PUSH) */,
    0x0000004d    /*  84 (LREF11-PUSH) */,
    0x0000004c    /*  85 (LREF10-PUSH) */,
    0x0000201b    /*  86 (LOCAL-ENV-JUMP 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 7),
    0x00000014    /*  88 (RET) */,
    0x0000003d    /*  89 (LREF0) */,
    0x0000002e    /*  90 (BNEQC) */,
    SCM_WORD(SCM_UNDEFINED) /* :count */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 102)  /*    102 */,
    0x00c0103c    /*  93 (LREF 1 3) */,
    0x00000087    /*  94 (CDDR-PUSH) */,
    0x0000004e    /*  95 (LREF12-PUSH) */,
    0x00c0103c    /*  96 (LREF 1 3) */,
    0x00000083    /*  97 (CADR-PUSH) */,
    0x0000004c    /*  98 (LREF10-PUSH) */,
    0x0000201b    /*  99 (LOCAL-ENV-JUMP 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 7),
    0x00000014    /* 101 (RET) */,
    0x0000003d    /* 102 (LREF0) */,
    0x0000002e    /* 103 (BNEQC) */,
    SCM_WORD(SCM_UNDEFINED) /* :entropy-source */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 115)  /*    115 */,
    0x00c0103c    /* 106 (LREF 1 3) */,
    0x00000087    /* 107 (CDDR-PUSH) */,
    0x0000004e    /* 108 (LREF12-PUSH) */,
    0x0000004d    /* 109 (LREF11-PUSH) */,
    0x00c0103c    /* 110 (LREF 1 3) */,
    0x00000083    /* 111 (CADR-PUSH) */,
    0x0000201b    /* 112 (LOCAL-ENV-JUMP 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 7),
    0x00000014    /* 114 (RET) */,
    0x0000200e    /* 115 (PRE-CALL 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 123),
    0x00000006    /* 117 (CONST-PUSH) */,
    SCM_WORD(SCM_OBJ(&scm__sc.d1490[25])) /* "unknown keyword ~S" */,
    0x00c0103c    /* 119 (LREF 1 3) */,
    0x00000069    /* 120 (CAR-PUSH) */,
    0x0000205f    /* 121 (GREF-CALL 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier gauche#errorf.d90fbb60> */,
    0x00c0103c    /* 123 (LREF 1 3) */,
    0x00000087    /* 124 (CDDR-PUSH) */,
    0x0000004e    /* 125 (LREF12-PUSH) */,
    0x0000004d    /* 126 (LREF11-PUSH) */,
    0x0000004c    /* 127 (LREF10-PUSH) */,
    0x0000201b    /* 128 (LOCAL-ENV-JUMP 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]) + 7),
    0x00000014    /* 130 (RET) */,
    0x00000014    /* 131 (RET) */,
    /* %toplevel */
    0x00010002    /*   0 (CONSTI 16) */,
    0x00002015    /*   1 (DEFINE 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#+esize+.d9410940> */,
    0x00000014    /*   3 (RET) */,
    /* (get-entropy G1516) */
    0x0000003d    /*   0 (LREF0) */,
    0x00000030    /*   1 (RF) */,
    0x0000200e    /*   2 (PRE-CALL 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[178]) + 8),
    0x00010007    /*   4 (CONSTI-PUSH 16) */,
    0x00000007    /*   5 (CONSTI-PUSH 0) */,
    0x0000205f    /*   6 (GREF-CALL 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#make-u8vector.d9452cc0> */,
    0x00001018    /*   8 (PUSH-LOCAL-ENV 1) */,
    0x0000200e    /*   9 (PRE-CALL 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[178]) + 34),
    0x00010007    /*  11 (CONSTI-PUSH 16) */,
    0x00000007    /*  12 (CONSTI-PUSH 0) */,
    0x00002017    /*  13 (LOCAL-ENV 2) */,
    0x0000003e    /*  14 (LREF1) */,
    0x0000002c    /*  15 (LREF-VAL0-BNGE 0 0) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[178]) + 18),
    0x0000000c    /*  17 (CONSTU-RET) */,
    0x0000300e    /*  18 (PRE-CALL 3) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[178]) + 29),
    0x0000004c    /*  20 (LREF10-PUSH) */,
    0x00000048    /*  21 (LREF0-PUSH) */,
    0x0000100e    /*  22 (PRE-CALL 1) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[178]) + 27),
    0x0000004f    /*  24 (LREF20-PUSH) */,
    0x0000105f    /*  25 (GREF-CALL 1) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#read-byte.d9452840> */,
    0x00003062    /*  27 (PUSH-GREF-CALL 3) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier gauche#u8vector-set!.d9452900> */,
    0x00000049    /*  29 (LREF1-PUSH) */,
    0x000010c7    /*  30 (LREF0-NUMADDI-PUSH 1) */,
    0x0000101b    /*  31 (LOCAL-ENV-JUMP 1) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[178]) + 14),
    0x00000014    /*  33 (RET) */,
    0x00000053    /*  34 (LREF0-RET) */,
    /* get-entropy */
    0x0000400e    /*   0 (PRE-CALL 4) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]) + 10),
    0x00000006    /*   2 (CONST-PUSH) */,
    SCM_WORD(SCM_OBJ(&scm__sc.d1490[35])) /* "/dev/urandom" */,
    0x00000048    /*   4 (LREF0-PUSH) */,
    0x00000006    /*   5 (CONST-PUSH) */,
    SCM_WORD(SCM_UNDEFINED) /* :if-does-not-exist */,
    0x00000009    /*   7 (CONSTF-PUSH) */,
    0x0000405f    /*   8 (GREF-CALL 4) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#call-with-input-file.d944a6c0> */,
    0x00000031    /*  10 (RT) */,
    0x0000300e    /*  11 (PRE-CALL 3) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]) + 28),
    0x0000005e    /*  13 (GREF-PUSH) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#<mersenne-twister>.d94522e0> */,
    0x00000006    /*  15 (CONST-PUSH) */,
    SCM_WORD(SCM_UNDEFINED) /* :seed */,
    0x0000000e    /*  17 (PRE-CALL 0) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]) + 21),
    0x0000005f    /*  19 (GREF-CALL 0) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#sys-time.d94521c0> */,
    0x0000000f    /*  21 (PUSH-PRE-CALL 0) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]) + 25),
    0x0000005f    /*  23 (GREF-CALL 0) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#sys-getpid.d9452180> */,
    0x000000b4    /*  25 (NUMMUL2) */,
    0x00003062    /*  26 (PUSH-GREF-CALL 3) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#make.d9452320> */,
    0x00001018    /*  28 (PUSH-LOCAL-ENV 1) */,
    0x0000200e    /*  29 (PRE-CALL 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]) + 35),
    0x00010007    /*  31 (CONSTI-PUSH 16) */,
    0x00000007    /*  32 (CONSTI-PUSH 0) */,
    0x0000205f    /*  33 (GREF-CALL 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#make-u8vector.d9457f60> */,
    0x00001018    /*  35 (PUSH-LOCAL-ENV 1) */,
    0x0000200e    /*  36 (PRE-CALL 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]) + 62),
    0x00010007    /*  38 (CONSTI-PUSH 16) */,
    0x00000007    /*  39 (CONSTI-PUSH 0) */,
    0x00002017    /*  40 (LOCAL-ENV 2) */,
    0x0000003e    /*  41 (LREF1) */,
    0x0000002c    /*  42 (LREF-VAL0-BNGE 0 0) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]) + 45),
    0x0000000c    /*  44 (CONSTU-RET) */,
    0x0000300e    /*  45 (PRE-CALL 3) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]) + 57),
    0x0000004c    /*  47 (LREF10-PUSH) */,
    0x00000048    /*  48 (LREF0-PUSH) */,
    0x0000200e    /*  49 (PRE-CALL 2) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]) + 55),
    0x0000004f    /*  51 (LREF20-PUSH) */,
    0x00100007    /*  52 (CONSTI-PUSH 256) */,
    0x0000205f    /*  53 (GREF-CALL 2) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#mt-random-integer.d9457be0> */,
    0x00003062    /*  55 (PUSH-GREF-CALL 3) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier gauche#u8vector-set!.d9457cc0> */,
    0x00000049    /*  57 (LREF1-PUSH) */,
    0x000010c7    /*  58 (LREF0-NUMADDI-PUSH 1) */,
    0x0000101b    /*  59 (LOCAL-ENV-JUMP 1) */,
    SCM_WORD((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]) + 41),
    0x00000014    /*  61 (RET) */,
    0x00000053    /*  62 (LREF0-RET) */,
    /* %toplevel */
    0x00001019    /*   0 (LOCAL-ENV-CLOSURES 1) */,
    SCM_WORD(SCM_OBJ(&scm__rc.d1500[66])) /* (#<compiled-code (get-entropy #:G1516)@0xffd7d9daab40>) */,
    0x00000016    /*   2 (CLOSURE) */,
    SCM_WORD(SCM_OBJ(&scm__rc.d1505[4])) /* #<compiled-code get-entropy@0xffd7d9daa9c0> */,
    0x00000015    /*   4 (DEFINE 0) */,
    SCM_WORD(SCM_UNDEFINED) /* #<identifier #f#get-entropy.d944a860> */,
    0x00000014    /*   6 (RET) */,
  },
  {   /* ScmPair d1500 */
       { SCM_NIL, SCM_NIL },
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[1])},
       { SCM_MAKE_INT(25U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[3])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[4])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[6])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[7])},
       { SCM_OBJ(&scm__rc.d1500[8]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[5]), SCM_OBJ(&scm__rc.d1500[9])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[11])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[12])},
       { SCM_MAKE_INT(35U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[14])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[15])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[17])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[18])},
       { SCM_OBJ(&scm__rc.d1500[19]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[16]), SCM_OBJ(&scm__rc.d1500[20])},
       { SCM_FALSE, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[22])},
       { SCM_OBJ(&scm__rc.d1500[23]), SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[24])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[25])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[27]), SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[28])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[29])},
       { SCM_OBJ(&scm__rc.d1500[30]), SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[31])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[32])},
       { SCM_OBJ(&scm__rc.d1500[33]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[26]), SCM_OBJ(&scm__rc.d1500[34])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[35])},
       { SCM_MAKE_INT(48U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[37])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[38])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[40]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[39]), SCM_OBJ(&scm__rc.d1500[41])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[20]), SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[44])},
       { SCM_MAKE_INT(10U), SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[46])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[22])},
       { SCM_OBJ(&scm__rc.d1500[48]), SCM_NIL},
       { SCM_OBJ(&scm__rc.d1500[47]), SCM_OBJ(&scm__rc.d1500[49])},
       { SCM_OBJ(&scm__rc.d1500[45]), SCM_OBJ(&scm__rc.d1500[50])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[51])},
       { SCM_MAKE_INT(51U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[53])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[54])},
       { SCM_OBJ(&scm__rc.d1500[55]), SCM_OBJ(&scm__rc.d1500[41])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[58])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_MAKE_INT(58U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[61])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[62])},
       { SCM_OBJ(&scm__rc.d1500[63]), SCM_OBJ(&scm__rc.d1500[41])},
       { SCM_UNDEFINED, SCM_NIL},
       { SCM_OBJ(&scm__rc.d1505[3]), SCM_NIL},
       { SCM_MAKE_INT(56U), SCM_NIL},
       { SCM_OBJ(&scm__sc.d1490[5]), SCM_OBJ(&scm__rc.d1500[67])},
       { SCM_UNDEFINED, SCM_OBJ(&scm__rc.d1500[68])},
       { SCM_OBJ(&scm__rc.d1500[69]), SCM_OBJ(&scm__rc.d1500[41])},
       { SCM_UNDEFINED, SCM_NIL},
  },
  {   /* ScmObj d1489 */
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
    SCM_UNBOUND,
  },
};


static ScmObj crypt_2d_2dbcryptcrypt_ra(ScmObj *SCM_FP SCM_UNUSED, int SCM_ARGCNT SCM_UNUSED, void *data_ SCM_UNUSED)
{
  ScmObj pass_scm;
  const char * pass;
  ScmObj setting_scm;
  const char * setting;
  ScmObj SCM_SUBRARGS[2];
  SCM_ENTER_SUBR("crypt-ra");
  for (int SCM_i=0; SCM_i<2; SCM_i++) {
    SCM_SUBRARGS[SCM_i] = SCM_ARGREF(SCM_i);
  }
  pass_scm = SCM_SUBRARGS[0];
  if (!SCM_STRINGP(pass_scm)) Scm_Error("const C string required, but got %S", pass_scm);
  pass = SCM_STRING_CONST_CSTRING(pass_scm);
  setting_scm = SCM_SUBRARGS[1];
  if (!SCM_STRINGP(setting_scm)) Scm_Error("const C string required, but got %S", setting_scm);
  setting = SCM_STRING_CONST_CSTRING(setting_scm);
  {
{
ScmObj SCM_RESULT;

#line 26 "./bcrypt.scm"
{void* data=NULL;int size=0;char* c=
crypt_ra(pass,setting,&(data),&(size));
if ((c)==(NULL)){{
free(data);
Scm_SysError("crypt_ra failed");}}
{ScmObj r=SCM_MAKE_STR_COPYING(c);
free(data);
{SCM_RESULT=(r);goto SCM_STUB_RETURN;}}}
goto SCM_STUB_RETURN;
SCM_STUB_RETURN:
SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
}
  }
}

static ScmObj crypt_2d_2dbcryptcrypt_gensalt_ra(ScmObj *SCM_FP SCM_UNUSED, int SCM_ARGCNT SCM_UNUSED, void *data_ SCM_UNUSED)
{
  ScmObj prefix_scm;
  const char * prefix;
  ScmObj count_scm;
  u_long count;
  ScmObj randomsrc_scm;
  ScmUVector* randomsrc;
  ScmObj SCM_SUBRARGS[3];
  SCM_ENTER_SUBR("crypt-gensalt-ra");
  for (int SCM_i=0; SCM_i<3; SCM_i++) {
    SCM_SUBRARGS[SCM_i] = SCM_ARGREF(SCM_i);
  }
  prefix_scm = SCM_SUBRARGS[0];
  if (!SCM_STRINGP(prefix_scm)) Scm_Error("const C string required, but got %S", prefix_scm);
  prefix = SCM_STRING_CONST_CSTRING(prefix_scm);
  count_scm = SCM_SUBRARGS[1];
  if (!SCM_UINTEGERP(count_scm)) Scm_Error("C integer required, but got %S", count_scm);
  count = Scm_GetIntegerU(count_scm);
  randomsrc_scm = SCM_SUBRARGS[2];
  if (!SCM_U8VECTORP(randomsrc_scm)) Scm_Error("u8vector required, but got %S", randomsrc_scm);
  randomsrc = SCM_U8VECTOR(randomsrc_scm);
  {
{
ScmObj SCM_RESULT;

#line 38 "./bcrypt.scm"
{char* c=crypt_gensalt_ra(prefix,count,
((const char* )(
SCM_U8VECTOR_ELEMENTS(randomsrc))),
SCM_U8VECTOR_SIZE(randomsrc));
if ((c)==(NULL)){{Scm_SysError("crypt_gensalt_ra failed");}}
{ScmObj r=SCM_MAKE_STR_COPYING(c);
free(c);
{SCM_RESULT=(r);goto SCM_STUB_RETURN;}}}
goto SCM_STUB_RETURN;
SCM_STUB_RETURN:
SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
}
  }
}

static ScmCompiledCode *toplevels[] = {
  SCM_COMPILED_CODE(SCM_OBJ(&scm__rc.d1505[2])),
  SCM_COMPILED_CODE(SCM_OBJ(&scm__rc.d1505[5])),
 NULL /*termination*/
};
SCM_EXTENSION_ENTRY void Scm_Init_crypt__bcrypt() {
   Scm_SelectModule(SCM_MODULE(SCM_OBJ(Scm_GaucheModule())));
SCM_INIT_EXTENSION(bcrypt);
  scm__rc.d1489[1] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[0])),TRUE); /* crypt.bcrypt */
  scm__rc.d1489[0] = SCM_OBJ(Scm_FindModule(SCM_SYMBOL(scm__rc.d1489[1]), SCM_FIND_MODULE_CREATE)); /* module crypt.bcrypt */
   Scm_SelectModule(SCM_MODULE(scm__rc.d1489[0]));
   Scm_SelectModule(SCM_MODULE(SCM_OBJ(Scm_GaucheModule())));
   Scm_SelectModule(SCM_MODULE(scm__rc.d1489[0]));
  scm__rc.d1489[2] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[1])),TRUE); /* crypt-ra */
  scm__rc.d1489[3] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[2])),TRUE); /* pass */
  scm__rc.d1489[4] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[3])),TRUE); /* setting */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[1]), scm__rc.d1489[4]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[2]), scm__rc.d1489[3]);
  scm__rc.d1489[5] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[4])),TRUE); /* source-info */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[5]), scm__rc.d1489[5]);
  scm__rc.d1489[6] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[6])),TRUE); /* bind-info */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[6]), scm__rc.d1489[2]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[7]), scm__rc.d1489[1]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[8]), scm__rc.d1489[6]);
  scm__rc.d1489[7] = Scm_MakeExtendedPair(scm__rc.d1489[2], SCM_OBJ(&scm__rc.d1500[2]), SCM_OBJ(&scm__rc.d1500[10]));
  Scm_MakeBinding(SCM_MODULE(scm__rc.d1489[0]), SCM_SYMBOL(SCM_INTERN("crypt-ra")), SCM_OBJ(&crypt_2d_2dbcryptcrypt_ra__STUB), 0);
  crypt_2d_2dbcryptcrypt_ra__STUB.common.info = scm__rc.d1489[7];
  scm__rc.d1489[8] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[7])),TRUE); /* crypt-gensalt-ra */
  scm__rc.d1489[9] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[8])),TRUE); /* prefix */
  scm__rc.d1489[10] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[9])),TRUE); /* count */
  scm__rc.d1489[11] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[10])),TRUE); /* randomsrc */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[11]), scm__rc.d1489[11]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[12]), scm__rc.d1489[10]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[13]), scm__rc.d1489[9]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[16]), scm__rc.d1489[5]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[17]), scm__rc.d1489[8]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[18]), scm__rc.d1489[1]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[19]), scm__rc.d1489[6]);
  scm__rc.d1489[12] = Scm_MakeExtendedPair(scm__rc.d1489[8], SCM_OBJ(&scm__rc.d1500[13]), SCM_OBJ(&scm__rc.d1500[21]));
  Scm_MakeBinding(SCM_MODULE(scm__rc.d1489[0]), SCM_SYMBOL(SCM_INTERN("crypt-gensalt-ra")), SCM_OBJ(&crypt_2d_2dbcryptcrypt_gensalt_ra__STUB), 0);
  crypt_2d_2dbcryptcrypt_gensalt_ra__STUB.common.info = scm__rc.d1489[12];
  scm__rc.d1489[13] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[11])),TRUE); /* bcrypt-hashpw */
  scm__rc.d1489[14] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[13])),TRUE); /* lambda */
  scm__rc.d1489[15] = Scm_MakeKeyword(SCM_STRING(SCM_OBJ(&scm__sc.d1490[14]))); /* :optional */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[23]), scm__rc.d1489[4]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[25]), scm__rc.d1489[15]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[26]), scm__rc.d1489[3]);
  scm__rc.d1489[16] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[15])),TRUE); /* or */
  scm__rc.d1489[17] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[16])),TRUE); /* bcrypt-gensalt */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[27]), scm__rc.d1489[17]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[29]), scm__rc.d1489[4]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[30]), scm__rc.d1489[16]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[32]), scm__rc.d1489[3]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[33]), scm__rc.d1489[2]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[36]), scm__rc.d1489[14]);
  scm__rc.d1489[19] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[17])),TRUE); /* error */
  scm__rc.d1489[20] = SCM_OBJ(Scm_FindModule(SCM_SYMBOL(scm__rc.d1489[1]), SCM_FIND_MODULE_CREATE|SCM_FIND_MODULE_PLACEHOLDING)); /* module crypt.bcrypt */
  scm__rc.d1489[18] = Scm_MakeIdentifier(scm__rc.d1489[19], SCM_MODULE(scm__rc.d1489[20]), SCM_NIL); /* crypt.bcrypt#error */
  scm__rc.d1489[21] = Scm_MakeIdentifier(scm__rc.d1489[17], SCM_MODULE(scm__rc.d1489[20]), SCM_NIL); /* crypt.bcrypt#bcrypt-gensalt */
  scm__rc.d1489[22] = Scm_MakeIdentifier(scm__rc.d1489[2], SCM_MODULE(scm__rc.d1489[20]), SCM_NIL); /* crypt.bcrypt#crypt-ra */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[39]), scm__rc.d1489[5]);
  scm__rc.d1489[23] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[18])),TRUE); /* unused-args */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[40]), scm__rc.d1489[23]);
  scm__rc.d1489[24] = Scm_MakeExtendedPair(scm__rc.d1489[13], SCM_OBJ(&scm__rc.d1500[26]), SCM_OBJ(&scm__rc.d1500[42]));
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[43]), scm__rc.d1489[24]);
  SCM_COMPILED_CODE(SCM_OBJ(&scm__rc.d1505[0]))->name = scm__rc.d1489[13];/* bcrypt-hashpw */
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[0]))[28] = SCM_WORD(scm__rc.d1489[18]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[0]))[38] = SCM_WORD(scm__rc.d1489[21]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[0]))[40] = SCM_WORD(scm__rc.d1489[22]);
  ScmObj G1506 = Scm_MakeClosure(SCM_OBJ(&scm__rc.d1505[0]), NULL);

  Scm_MakeBinding(SCM_MODULE(Scm_CurrentModule()) /*  */, SCM_SYMBOL(scm__rc.d1489[13]) /* bcrypt-hashpw */, G1506,0);

  scm__rc.d1489[26] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[19])),TRUE); /* undefined? */
  scm__rc.d1489[25] = Scm_MakeIdentifier(scm__rc.d1489[26], SCM_MODULE(Scm_GaucheModule()), SCM_NIL); /* gauche#undefined? */
  scm__rc.d1489[28] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[21])),TRUE); /* get-entropy */
  scm__rc.d1489[27] = Scm_MakeIdentifier(scm__rc.d1489[28], SCM_MODULE(scm__rc.d1489[20]), SCM_NIL); /* crypt.bcrypt#get-entropy */
  scm__rc.d1489[29] = Scm_MakeIdentifier(scm__rc.d1489[8], SCM_MODULE(scm__rc.d1489[20]), SCM_NIL); /* crypt.bcrypt#crypt-gensalt-ra */
  scm__rc.d1489[30] = Scm_MakeIdentifier(scm__rc.d1489[19], SCM_MODULE(Scm_GaucheModule()), SCM_NIL); /* gauche#error */
  scm__rc.d1489[32] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[23])),TRUE); /* unwrap-syntax-1 */
  scm__rc.d1489[31] = Scm_MakeIdentifier(scm__rc.d1489[32], SCM_MODULE(Scm_GaucheModule()), SCM_NIL); /* gauche#unwrap-syntax-1 */
  scm__rc.d1489[33] = Scm_MakeKeyword(SCM_STRING(SCM_OBJ(&scm__sc.d1490[8]))); /* :prefix */
  scm__rc.d1489[34] = Scm_MakeKeyword(SCM_STRING(SCM_OBJ(&scm__sc.d1490[9]))); /* :count */
  scm__rc.d1489[35] = Scm_MakeKeyword(SCM_STRING(SCM_OBJ(&scm__sc.d1490[24]))); /* :entropy-source */
  scm__rc.d1489[37] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[26])),TRUE); /* errorf */
  scm__rc.d1489[36] = Scm_MakeIdentifier(scm__rc.d1489[37], SCM_MODULE(Scm_GaucheModule()), SCM_NIL); /* gauche#errorf */
  scm__rc.d1489[38] = Scm_MakeKeyword(SCM_STRING(SCM_OBJ(&scm__sc.d1490[27]))); /* :key */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[45]), scm__rc.d1489[9]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[47]), scm__rc.d1489[10]);
  scm__rc.d1489[39] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[24])),TRUE); /* entropy-source */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[48]), scm__rc.d1489[39]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[52]), scm__rc.d1489[38]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[55]), scm__rc.d1489[5]);
  scm__rc.d1489[40] = Scm_MakeExtendedPair(scm__rc.d1489[17], SCM_OBJ(&scm__rc.d1500[52]), SCM_OBJ(&scm__rc.d1500[56]));
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[57]), scm__rc.d1489[40]);
  SCM_COMPILED_CODE(SCM_OBJ(&scm__rc.d1505[1]))->name = scm__rc.d1489[17];/* bcrypt-gensalt */
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]))[14] = SCM_WORD(scm__rc.d1489[25]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]))[27] = SCM_WORD(scm__rc.d1489[25]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]))[39] = SCM_WORD(scm__rc.d1489[25]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]))[57] = SCM_WORD(scm__rc.d1489[27]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]))[59] = SCM_WORD(scm__rc.d1489[29]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]))[68] = SCM_WORD(scm__rc.d1489[30]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]))[74] = SCM_WORD(scm__rc.d1489[31]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]))[78] = SCM_WORD(scm__rc.d1489[33]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]))[91] = SCM_WORD(scm__rc.d1489[34]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]))[104] = SCM_WORD(scm__rc.d1489[35]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[42]))[122] = SCM_WORD(scm__rc.d1489[36]);
  ScmObj G1513 = Scm_MakeClosure(SCM_OBJ(&scm__rc.d1505[1]), NULL);

  Scm_MakeBinding(SCM_MODULE(Scm_CurrentModule()) /*  */, SCM_SYMBOL(scm__rc.d1489[17]) /* bcrypt-gensalt */, G1513,0);

  scm__rc.d1489[42] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[28])),TRUE); /* +esize+ */
  scm__rc.d1489[41] = Scm_MakeIdentifier(scm__rc.d1489[42], SCM_MODULE(scm__rc.d1489[20]), SCM_NIL); /* crypt.bcrypt#+esize+ */
  scm__rc.d1489[43] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[29])),TRUE); /* %toplevel */
  SCM_COMPILED_CODE(SCM_OBJ(&scm__rc.d1505[2]))->name = scm__rc.d1489[43];/* %toplevel */
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[174]))[2] = SCM_WORD(scm__rc.d1489[41]);
  scm__rc.d1489[45] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[30])),TRUE); /* make-u8vector */
  scm__rc.d1489[44] = Scm_MakeIdentifier(scm__rc.d1489[45], SCM_MODULE(scm__rc.d1489[20]), SCM_NIL); /* crypt.bcrypt#make-u8vector */
  scm__rc.d1489[47] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[31])),TRUE); /* read-byte */
  scm__rc.d1489[46] = Scm_MakeIdentifier(scm__rc.d1489[47], SCM_MODULE(scm__rc.d1489[20]), SCM_NIL); /* crypt.bcrypt#read-byte */
  scm__rc.d1489[49] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[32])),TRUE); /* u8vector-set! */
  scm__rc.d1489[48] = Scm_MakeIdentifier(scm__rc.d1489[49], SCM_MODULE(Scm_GaucheModule()), SCM_NIL); /* gauche#u8vector-set! */
  scm__rc.d1489[50] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[33])),FALSE); /* G1516 */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[58]), scm__rc.d1489[50]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[59]), scm__rc.d1489[28]);
  scm__rc.d1489[51] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[34])),TRUE); /* p */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[60]), scm__rc.d1489[51]);
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[63]), scm__rc.d1489[5]);
  scm__rc.d1489[52] = Scm_MakeExtendedPair(SCM_OBJ(&scm__rc.d1500[59]), SCM_OBJ(&scm__rc.d1500[60]), SCM_OBJ(&scm__rc.d1500[64]));
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[65]), scm__rc.d1489[52]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[178]))[7] = SCM_WORD(scm__rc.d1489[44]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[178]))[26] = SCM_WORD(scm__rc.d1489[46]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[178]))[28] = SCM_WORD(scm__rc.d1489[48]);
  scm__rc.d1489[53] = Scm_MakeKeyword(SCM_STRING(SCM_OBJ(&scm__sc.d1490[36]))); /* :if-does-not-exist */
  scm__rc.d1489[55] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[37])),TRUE); /* call-with-input-file */
  scm__rc.d1489[54] = Scm_MakeIdentifier(scm__rc.d1489[55], SCM_MODULE(scm__rc.d1489[20]), SCM_NIL); /* crypt.bcrypt#call-with-input-file */
  scm__rc.d1489[57] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[38])),TRUE); /* <mersenne-twister> */
  scm__rc.d1489[56] = Scm_MakeIdentifier(scm__rc.d1489[57], SCM_MODULE(scm__rc.d1489[20]), SCM_NIL); /* crypt.bcrypt#<mersenne-twister> */
  scm__rc.d1489[58] = Scm_MakeKeyword(SCM_STRING(SCM_OBJ(&scm__sc.d1490[39]))); /* :seed */
  scm__rc.d1489[60] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[40])),TRUE); /* sys-time */
  scm__rc.d1489[59] = Scm_MakeIdentifier(scm__rc.d1489[60], SCM_MODULE(scm__rc.d1489[20]), SCM_NIL); /* crypt.bcrypt#sys-time */
  scm__rc.d1489[62] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[41])),TRUE); /* sys-getpid */
  scm__rc.d1489[61] = Scm_MakeIdentifier(scm__rc.d1489[62], SCM_MODULE(scm__rc.d1489[20]), SCM_NIL); /* crypt.bcrypt#sys-getpid */
  scm__rc.d1489[64] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[42])),TRUE); /* make */
  scm__rc.d1489[63] = Scm_MakeIdentifier(scm__rc.d1489[64], SCM_MODULE(scm__rc.d1489[20]), SCM_NIL); /* crypt.bcrypt#make */
  scm__rc.d1489[66] = Scm_MakeSymbol(SCM_STRING(SCM_OBJ(&scm__sc.d1490[43])),TRUE); /* mt-random-integer */
  scm__rc.d1489[65] = Scm_MakeIdentifier(scm__rc.d1489[66], SCM_MODULE(scm__rc.d1489[20]), SCM_NIL); /* crypt.bcrypt#mt-random-integer */
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[69]), scm__rc.d1489[5]);
  scm__rc.d1489[67] = Scm_MakeExtendedPair(scm__rc.d1489[28], SCM_NIL, SCM_OBJ(&scm__rc.d1500[70]));
  SCM_SET_CAR(SCM_OBJ(&scm__rc.d1500[71]), scm__rc.d1489[67]);
  SCM_COMPILED_CODE(SCM_OBJ(&scm__rc.d1505[4]))->name = scm__rc.d1489[28];/* get-entropy */
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]))[6] = SCM_WORD(scm__rc.d1489[53]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]))[9] = SCM_WORD(scm__rc.d1489[54]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]))[14] = SCM_WORD(scm__rc.d1489[56]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]))[16] = SCM_WORD(scm__rc.d1489[58]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]))[20] = SCM_WORD(scm__rc.d1489[59]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]))[24] = SCM_WORD(scm__rc.d1489[61]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]))[27] = SCM_WORD(scm__rc.d1489[63]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]))[34] = SCM_WORD(scm__rc.d1489[44]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]))[54] = SCM_WORD(scm__rc.d1489[65]);
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[213]))[56] = SCM_WORD(scm__rc.d1489[48]);
  SCM_COMPILED_CODE(SCM_OBJ(&scm__rc.d1505[5]))->name = scm__rc.d1489[43];/* %toplevel */
  ((ScmWord*)SCM_OBJ(&scm__rc.d1504[276]))[5] = SCM_WORD(scm__rc.d1489[27]);
  Scm_VMExecuteToplevels(toplevels);
}
