/*===========================================================================*/
/*   (Llib/unicode.scm)                                                      */
/*   Bigloo (4.7a)                                                           */
/*   Inria -- Sophia Antipolis (c)       Thu Feb 19 09:11:58 AM CET 2026     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/4.7a/bin/bigloo -srfi bigloo-unsafe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/4.7a/lib/bigloo/4.7a +rm -mklib -cc gcc -fsharing -q -no-hello -unsafe -safee -O4 -stdc -c Llib/unicode.scm -indent -o objs/obj_u/Llib/unicode.c) */
/* GC selection */
#define THE_GC BOEHM_GC

/* unsafe mode */
#define BIGLOO_UNSAFE 1

/* traces mode */
#define BIGLOO_TRACE 0

/* standard Bigloo include */
#include <bigloo.h>

#ifdef __cplusplus
extern "C"
{
#endif
#ifndef BGL_MODULE_TYPE_DEFINITIONS
#define BGL_MODULE_TYPE_DEFINITIONS
#ifndef BGL___UNICODE_TYPE_DEFINITIONS
#define BGL___UNICODE_TYPE_DEFINITIONS
#endif													// BGL___UNICODE_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2downcasez00zz__unicodez00(obj_t);
	static obj_t BGl__utf8zd2stringzf3z21zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2upcasez12z12zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL int BGl_ucs2zd2stringzd2lengthz00zz__unicodez00(obj_t);
	static obj_t BGl_z62asciizd2stringzf3z43zz__unicodez00(obj_t, obj_t);
	extern obj_t c_ucs2_string_copy(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_subucs2zd2stringzd2urz00zz__unicodez00(obj_t, int,
		int);
	static obj_t BGl_z62utf8zd2stringzd2appendza2zc0zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_isozd2latinzd2ze3utf8ze3zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2stringzd2encodez00zz__unicodez00(obj_t,
		bool_t, long, long);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2appendz00zz__unicodez00(obj_t);
	static obj_t BGl_z62isozd2latinzd2ze3utf8z81zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_listzd2ze3ucs2zd2stringze3zz__unicodez00(obj_t);
	static obj_t BGl__makezd2ucs2zd2stringz00zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t
		BGl_utf8zd2stringzd2minimalzd2charsetzd2zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_ucs2zd2stringzd2ze3utf8zd2stringz31zz__unicodez00(obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2cizc3zd3zf3z81zz__unicodez00(obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL long BGl_utf8zd2stringzd2lengthz00zz__unicodez00(obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2cizc3zf3z52zz__unicodez00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_8bitszd2invzd2latinzd215zd2zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL bool_t
		BGl_utf8zd2stringzd2leftzd2replacementzf3z21zz__unicodez00(obj_t, long,
		long);
	BGL_EXPORTED_DECL ucs2_t BGl_ucs2zd2stringzd2refzd2urzd2zz__unicodez00(obj_t,
		int);
	static obj_t BGl_makezd2tablezd2entryze70ze7zz__unicodez00(obj_t, long);
	static obj_t BGl_z62ucs2zd2stringze3zd3zf3z73zz__unicodez00(obj_t, obj_t,
		obj_t);
	static long BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(obj_t, long, obj_t);
	static long BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(obj_t, long);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2stringzd2appendz00zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2lengthz62zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2fillz12z12zz__unicodez00(obj_t,
		ucs2_t);
	extern obj_t ucs2_string_append(obj_t, obj_t);
	extern obj_t string_for_read(obj_t);
	extern bool_t ucs2_string_cige(obj_t, obj_t);
	extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__unicodez00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__threadz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__bexitz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__paramz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	static obj_t BGl_z62ucs2zd2stringzd2cizd3zf3z42zz__unicodez00(obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringzc3zf3ze2zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_z62utf8zd2charzd2siza7ezc5zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2setz12z70zz__unicodez00(obj_t, obj_t,
		obj_t, obj_t);
	extern obj_t ucs2_string_to_utf8_string(obj_t);
	extern bool_t ucs2_string_cigt(obj_t, obj_t);
	static obj_t BGl_utf8zd2collapsez12zc0zz__unicodez00(obj_t, long, obj_t,
		obj_t);
	static obj_t BGl_z62utf8zd2ze3isozd2latinz12z93zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2appendz62zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_vector3797z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_z62subucs2zd2stringzb0zz__unicodez00(obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_utf8zd2stringzd2ze3ucs2zd2stringz31zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringzc3zd3zf3z31zz__unicodez00(obj_t,
		obj_t);
	extern obj_t BGl_listzd2ze3vectorz31zz__r4_vectors_6_8z00(obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2cize3zf3z72zz__unicodez00(obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringzd3zf3zf2zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_z62utf8zd2stringzd2lengthz62zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z628bitszd2ze3utf8z53zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62utf8zd2ze38bitsz53zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2refzd2urzb0zz__unicodez00(obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_inversezd2utf8zd2tablez00zz__unicodez00(obj_t);
	static obj_t BGl_list3700z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3701z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3702z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3703z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3704z00zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL bool_t BGl_utf8zd2stringzf3z21zz__unicodez00(obj_t, bool_t);
	static obj_t BGl_list3705z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3706z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_toplevelzd2initzd2zz__unicodez00(void);
	static obj_t BGl_list3707z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3708z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3709z00zz__unicodez00 = BUNSPEC;
	extern obj_t BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(long,
		long);
	BGL_EXPORTED_DECL obj_t BGl_cp1252zd2ze3utf8z12z23zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2ze3cp1252z12z23zz__unicodez00(obj_t);
	static obj_t BGl_z62utf8zd2stringzd2appendz62zz__unicodez00(obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_utf8zd2ze3isozd2latinzd215z12z23zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringze3zf3zc2zz__unicodez00(obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2ze3isozd2latinze3zz__unicodez00(obj_t);
	static obj_t BGl_list3710z00zz__unicodez00 = BUNSPEC;
	extern obj_t utf8_string_to_ucs2_string(obj_t);
	static obj_t BGl_list3711z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_z62utf8zd2ze3isozd2latinz81zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2normaliza7ezd2utf16za7zz__unicodez00(obj_t,
		bool_t, long, long);
	extern obj_t BGl_formatz00zz__r4_output_6_10_3z00(obj_t, obj_t);
	static obj_t BGl_list3713z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_addzd2tablezd2entryze70ze7zz__unicodez00(obj_t, obj_t, long);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2substringzd2zz__unicodez00(obj_t, int,
		int);
	extern bool_t ucs2_strcmp(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2copyz62zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_ucs2zd2stringzd2setzd2urz12zc0zz__unicodez00(obj_t, int, ucs2_t);
	BGL_EXPORTED_DECL bool_t
		BGl_ucs2zd2stringzd2cizc3zd3zf3ze3zz__unicodez00(obj_t, obj_t);
	extern obj_t BGl_assqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	static obj_t BGl_cnstzd2initzd2zz__unicodez00(void);
	static obj_t BGl_z62ucs2zd2stringzd2cize3zd3zf3za1zz__unicodez00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_genericzd2initzd2zz__unicodez00(void);
	extern obj_t BGl_stringzd2copyzd2zz__r4_strings_6_7z00(obj_t);
	extern long bgl_list_length(obj_t);
	static obj_t
		BGl_z62utf8zd2stringzd2leftzd2replacementzf3z43zz__unicodez00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_symbol3832z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_symbol3751z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_symbol3754z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_symbol3836z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_z62inversezd2utf8zd2tablez62zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_importedzd2moduleszd2initz00zz__unicodez00(void);
	static obj_t BGl_symbol3838z00zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t
		BGl_ucs2zd2stringzd2minimalzd2charsetzd2zz__unicodez00(obj_t);
	extern ucs2_t ucs2_tolower(ucs2_t);
	static obj_t BGl_gczd2rootszd2initz00zz__unicodez00(void);
	static obj_t BGl_objectzd2initzd2zz__unicodez00(void);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2zz__unicodez00(obj_t);
	static obj_t BGl_z62ucs2zd2stringzc3zf3z80zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl__utf8zd2stringzd2encodez00zz__unicodez00(obj_t, obj_t);
	extern bool_t ucs2_string_ge(obj_t, obj_t);
	extern obj_t c_subucs2_string(obj_t, int, int);
	extern bool_t ucs2_strcicmp(obj_t, obj_t);
	BGL_EXPORTED_DECL long
		BGl_stringzd2indexzd2ze3utf8zd2stringzd2indexze3zz__unicodez00(obj_t, long);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringze3zd3zf3z11zz__unicodez00(obj_t,
		obj_t);
	extern bool_t ucs2_string_gt(obj_t, obj_t);
	static obj_t
		BGl_z62stringzd2indexzd2ze3utf8zd2stringzd2indexz81zz__unicodez00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2ze3utf8zd2stringz53zz__unicodez00(obj_t,
		obj_t);
	extern obj_t bgl_reverse_bang(obj_t);
	extern bool_t ucs2_string_cile(obj_t, obj_t);
	extern obj_t string_append_3(obj_t, obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd3zf3z90zz__unicodez00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_ucs2zd2stringzd2downcasez12z12zz__unicodez00(obj_t);
	static obj_t BGl__utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00(obj_t,
		obj_t);
	BGL_EXPORTED_DECL long
		BGl_utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00(obj_t, long, obj_t,
		obj_t);
	extern bool_t ucs2_string_cilt(obj_t, obj_t);
	static obj_t BGl__utf8zd2substringzd2zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62cp1252zd2ze3utf8z12z41zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62utf8zd2ze3cp1252z12z41zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2upcasez12z70zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_cp1252zd2invzd2zz__unicodez00 = BUNSPEC;
	static obj_t
		BGl_z62utf8zd2stringzd2rightzd2replacementzf3z43zz__unicodez00(obj_t, obj_t,
		obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2stringzd2appendza2za2zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL long BGl_utf8zd2charzd2siza7eza7zz__unicodez00(unsigned
		char);
	BGL_EXPORTED_DECL obj_t BGl_isozd2latinzd2ze3utf8z12zf1zz__unicodez00(obj_t);
	static obj_t BGl_z62ucs2zd2stringze3zf3za0zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2substringzd2urz62zz__unicodez00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl__utf8zd2normaliza7ezd2utf16za7zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62stringzd2minimalzd2charsetz62zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_tablezd2ze38bitsze70zd6zz__unicodez00(obj_t, obj_t, obj_t,
		int, obj_t, obj_t, long, long);
	BGL_EXPORTED_DECL obj_t BGl_subucs2zd2stringzd2zz__unicodez00(obj_t, int,
		int);
	BGL_EXPORTED_DECL obj_t BGl_makezd2ucs2zd2stringz00zz__unicodez00(int,
		ucs2_t);
	static obj_t BGl_symbol3786z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3673z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3674z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3675z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00(obj_t, obj_t,
		long, obj_t);
	static obj_t BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00(obj_t, obj_t, int,
		obj_t);
	static obj_t BGl_list3676z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3677z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3678z00zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL bool_t
		BGl_ucs2zd2stringzd2cize3zd3zf3zc3zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_list3679z00zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t
		BGl_utf8zd2ze3isozd2latinzd215z31zz__unicodez00(obj_t);
	extern ucs2_t ucs2_toupper(ucs2_t);
	static obj_t BGl_z62utf8zd2stringzd2minimalzd2charsetzb0zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_z62utf8zd2stringzd2ze3ucs2zd2stringz53zz__unicodez00(obj_t,
		obj_t);
	extern obj_t bstring_to_symbol(obj_t);
	extern obj_t c_substring(obj_t, long, long);
	BGL_EXPORTED_DECL ucs2_t BGl_ucs2zd2stringzd2refz00zz__unicodez00(obj_t, int);
	static obj_t BGl_list3680z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_symbol3795z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3681z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_z62ucs2zd2stringzd2ze3listz81zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_list3682z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3683z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3684z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_z62ucs2zd2stringzd2refz62zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl_list3685z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3686z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3687z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_errorzd2toozd2shortze70ze7zz__unicodez00(obj_t, int, obj_t);
	static obj_t BGl_list3688z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3689z00zz__unicodez00 = BUNSPEC;
	extern obj_t make_ucs2_string(int, ucs2_t);
	static obj_t BGl_vector3712z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_methodzd2initzd2zz__unicodez00(void);
	static obj_t BGl_8bitszd2invzd2zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3690z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3691z00zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2upcasez00zz__unicodez00(obj_t);
	static obj_t BGl_list3692z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3693z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3694z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3695z00zz__unicodez00 = BUNSPEC;
	extern obj_t blit_string(obj_t, long, obj_t, long, long);
	static obj_t BGl_list3696z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3697z00zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringzd2cizc3zf3z30zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_list3698z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_list3699z00zz__unicodez00 = BUNSPEC;
	static obj_t BGl_z62utf8zd2ze3isozd2latinzd215z53zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_8bitszd2ze3utf8z31zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2ze38bitsz31zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z628bitszd2ze3utf8z12z41zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl_z62utf8zd2ze38bitsz12z41zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl_loopze70ze7zz__unicodez00(long, bool_t, long, obj_t, obj_t,
		long, long);
	static obj_t BGl_loopze71ze7zz__unicodez00(long, long, obj_t, long);
	static obj_t BGl_z62ucs2zd2stringzd2downcasez12z70zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_loopze72ze7zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_loopze73ze7zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL bool_t BGl_asciizd2stringzf3z21zz__unicodez00(obj_t);
	extern bool_t ucs2_string_le(obj_t, obj_t);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringzd2cizd3zf3z20zz__unicodez00(obj_t,
		obj_t);
	BGL_EXPORTED_DECL long
		BGl_utf8zd2stringzd2indexzd2ze3stringzd2indexze3zz__unicodez00(obj_t, long);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2setz12z12zz__unicodez00(obj_t,
		int, ucs2_t);
	static obj_t BGl_z62utf8zd2ze3isozd2latinzd215z12z41zz__unicodez00(obj_t,
		obj_t);
	static obj_t
		BGl_z62utf8zd2stringzd2indexzd2ze3stringzd2indexz81zz__unicodez00(obj_t,
		obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2substringzd2urz00zz__unicodez00(obj_t, int,
		int);
	extern bool_t ucs2_string_lt(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2ze3isozd2latinz12zf1zz__unicodez00(obj_t);
	static obj_t BGl_z62subucs2zd2stringzd2urz62zz__unicodez00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzf3z43zz__unicodez00(obj_t, obj_t);
	extern obj_t make_string(long, unsigned char);
	static obj_t BGl_z62listzd2ze3ucs2zd2stringz81zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62cp1252zd2ze3utf8z53zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62utf8zd2ze3cp1252z53zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2upcasez62zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2setzd2urz12za2zz__unicodez00(obj_t, obj_t,
		obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2stringzd2refz00zz__unicodez00(obj_t, long);
	static obj_t BGl_list3798z00zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringzd2cize3zf3z10zz__unicodez00(obj_t,
		obj_t);
	static obj_t BGl_z62utf8zd2stringzd2refz62zz__unicodez00(obj_t, obj_t, obj_t);
	static obj_t BGl_cp1252z00zz__unicodez00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_8bitszd2ze3utf8z12z23zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2ze38bitsz12z23zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzc3zd3zf3z53zz__unicodez00(obj_t, obj_t,
		obj_t);
	extern obj_t string_append(obj_t, obj_t);
	static obj_t BGl_z62ucs2zd2stringzd2downcasez62zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2ze3listze3zz__unicodez00(obj_t);
	extern obj_t make_string_sans_fill(long);
	static obj_t BGl_z62ucs2zd2stringzd2minimalzd2charsetzb0zz__unicodez00(obj_t,
		obj_t);
	BGL_EXPORTED_DECL bool_t
		BGl_utf8zd2stringzd2rightzd2replacementzf3z21zz__unicodez00(obj_t, long,
		long);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2substringzd2zz__unicodez00(obj_t, long,
		long);
	static obj_t BGl_z62ucs2zd2stringzd2fillz12z70zz__unicodez00(obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL bool_t BGl_ucs2zd2stringzf3z21zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_stringzd2minimalzd2charsetz00zz__unicodez00(obj_t);
	static obj_t BGl_z62ucs2zd2stringzb0zz__unicodez00(obj_t, obj_t);
	static obj_t BGl_z62isozd2latinzd2ze3utf8z12z93zz__unicodez00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_ucs2zd2stringzd2copyz00zz__unicodez00(obj_t);
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_cp1252zd2ze3utf8z31zz__unicodez00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_utf8zd2ze3cp1252z31zz__unicodez00(obj_t);
	static obj_t BGl_z62ucs2zd2substringzb0zz__unicodez00(obj_t, obj_t, obj_t,
		obj_t);
	static obj_t *__cnst;


	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_listzd2ze3ucs2zd2stringzd2envz31zz__unicodez00,
		BgL_bgl_za762listza7d2za7e3ucs3842za7,
		BGl_z62listzd2ze3ucs2zd2stringz81zz__unicodez00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2substringzd2envz00zz__unicodez00,
		BgL_bgl_za762ucs2za7d2substr3843z00,
		BGl_z62ucs2zd2substringzb0zz__unicodez00, 0L, BUNSPEC, 3);
	      BGL_DEFINE_STRING(BGl_string3810z00zz__unicodez00,
		BgL_bgl_string3810za700za7za7_3844za7, "utf8-substring", 14);
	      BGL_DEFINE_STRING(BGl_string3811z00zz__unicodez00,
		BgL_bgl_string3811za700za7za7_3845za7, "Illegal start index \"", 21);
	      BGL_DEFINE_STRING(BGl_string3730z00zz__unicodez00,
		BgL_bgl_string3730za700za7za7_3846za7, "“", 3);
	      BGL_DEFINE_STRING(BGl_string3812z00zz__unicodez00,
		BgL_bgl_string3812za700za7za7_3847za7, "\"", 1);
	      BGL_DEFINE_STRING(BGl_string3731z00zz__unicodez00,
		BgL_bgl_string3731za700za7za7_3848za7, "”", 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2setzd2urz12zd2envz12zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3849z00,
		BGl_z62ucs2zd2stringzd2setzd2urz12za2zz__unicodez00, 0L, BUNSPEC, 3);
	      BGL_DEFINE_STRING(BGl_string3813z00zz__unicodez00,
		BgL_bgl_string3813za700za7za7_3850za7, "Illegal end index \"", 19);
	      BGL_DEFINE_STRING(BGl_string3732z00zz__unicodez00,
		BgL_bgl_string3732za700za7za7_3851za7, "•", 3);
	      BGL_DEFINE_STRING(BGl_string3814z00zz__unicodez00,
		BgL_bgl_string3814za700za7za7_3852za7,
		"Illegal character \"~x\" at index ~a", 34);
	      BGL_DEFINE_STRING(BGl_string3733z00zz__unicodez00,
		BgL_bgl_string3733za700za7za7_3853za7, "–", 3);
	      BGL_DEFINE_STRING(BGl_string3815z00zz__unicodez00,
		BgL_bgl_string3815za700za7za7_3854za7, "utf8->8bits", 11);
	      BGL_DEFINE_STRING(BGl_string3734z00zz__unicodez00,
		BgL_bgl_string3734za700za7za7_3855za7, "—", 3);
	      BGL_DEFINE_STRING(BGl_string3816z00zz__unicodez00,
		BgL_bgl_string3816za700za7za7_3856za7, "String too short", 16);
	      BGL_DEFINE_STRING(BGl_string3735z00zz__unicodez00,
		BgL_bgl_string3735za700za7za7_3857za7, "˜", 2);
	      BGL_DEFINE_STRING(BGl_string3817z00zz__unicodez00,
		BgL_bgl_string3817za700za7za7_3858za7, "Cannot encode at index ", 23);
	      BGL_DEFINE_STRING(BGl_string3736z00zz__unicodez00,
		BgL_bgl_string3736za700za7za7_3859za7, "™", 3);
	      BGL_DEFINE_STRING(BGl_string3818z00zz__unicodez00,
		BgL_bgl_string3818za700za7za7_3860za7, "&utf8->8bits", 12);
	      BGL_DEFINE_STRING(BGl_string3737z00zz__unicodez00,
		BgL_bgl_string3737za700za7za7_3861za7, "š", 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2stringzd2refzd2envzd2zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3862z00,
		BGl_z62utf8zd2stringzd2refz62zz__unicodez00, 0L, BUNSPEC, 2);
	      BGL_DEFINE_STRING(BGl_string3819z00zz__unicodez00,
		BgL_bgl_string3819za700za7za7_3863za7, "&utf8->8bits!", 13);
	      BGL_DEFINE_STRING(BGl_string3738z00zz__unicodez00,
		BgL_bgl_string3738za700za7za7_3864za7, "›", 3);
	      BGL_DEFINE_STRING(BGl_string3739z00zz__unicodez00,
		BgL_bgl_string3739za700za7za7_3865za7, "œ", 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_8bitszd2ze3utf8z12zd2envzf1zz__unicodez00,
		BgL_bgl_za7628bitsza7d2za7e3ut3866za7,
		BGl_z628bitszd2ze3utf8z12z41zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2ze38bitsz12zd2envzf1zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e38bi3867za7,
		BGl_z62utf8zd2ze38bitsz12z41zz__unicodez00, 0L, BUNSPEC, 2);
	      BGL_DEFINE_STRING(BGl_string3820z00zz__unicodez00,
		BgL_bgl_string3820za700za7za7_3868za7, "&utf8->iso-latin", 16);
	      BGL_DEFINE_STRING(BGl_string3821z00zz__unicodez00,
		BgL_bgl_string3821za700za7za7_3869za7, "&utf8->iso-latin!", 17);
	      BGL_DEFINE_STRING(BGl_string3740z00zz__unicodez00,
		BgL_bgl_string3740za700za7za7_3870za7, "ž", 2);
	      BGL_DEFINE_STRING(BGl_string3822z00zz__unicodez00,
		BgL_bgl_string3822za700za7za7_3871za7, "&utf8->iso-latin-15", 19);
	      BGL_DEFINE_STRING(BGl_string3741z00zz__unicodez00,
		BgL_bgl_string3741za700za7za7_3872za7, "Ÿ", 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2appendzd2envzd2zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3873z00,
		BGl_z62utf8zd2stringzd2appendz62zz__unicodez00, 0L, BUNSPEC, 2);
	      BGL_DEFINE_STRING(BGl_string3823z00zz__unicodez00,
		BgL_bgl_string3823za700za7za7_3874za7, "&utf8->iso-latin-15!", 20);
	      BGL_DEFINE_STRING(BGl_string3742z00zz__unicodez00,
		BgL_bgl_string3742za700za7za7_3875za7,
		"/tmp/bigloo/runtime/Llib/unicode.scm", 36);
	      BGL_DEFINE_STRING(BGl_string3824z00zz__unicodez00,
		BgL_bgl_string3824za700za7za7_3876za7, "&utf8->cp1252", 13);
	      BGL_DEFINE_STRING(BGl_string3743z00zz__unicodez00,
		BgL_bgl_string3743za700za7za7_3877za7, "_make-ucs2-string", 17);
	      BGL_DEFINE_STRING(BGl_string3825z00zz__unicodez00,
		BgL_bgl_string3825za700za7za7_3878za7, "&utf8->cp1252!", 14);
	      BGL_DEFINE_STRING(BGl_string3744z00zz__unicodez00,
		BgL_bgl_string3744za700za7za7_3879za7, "vector", 6);
	      BGL_DEFINE_STRING(BGl_string3826z00zz__unicodez00,
		BgL_bgl_string3826za700za7za7_3880za7, "&8bits->utf8", 12);
	      BGL_DEFINE_STRING(BGl_string3745z00zz__unicodez00,
		BgL_bgl_string3745za700za7za7_3881za7, "bint", 4);
	      BGL_DEFINE_STRING(BGl_string3827z00zz__unicodez00,
		BgL_bgl_string3827za700za7za7_3882za7, "&8bits->utf8!", 13);
	      BGL_DEFINE_STRING(BGl_string3746z00zz__unicodez00,
		BgL_bgl_string3746za700za7za7_3883za7, "bucs2", 5);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2substringzd2envz00zz__unicodez00,
		BgL_bgl__utf8za7d2substrin3884za7, opt_generic_entry,
		BGl__utf8zd2substringzd2zz__unicodez00, BFALSE, -1);
	      BGL_DEFINE_STRING(BGl_string3828z00zz__unicodez00,
		BgL_bgl_string3828za700za7za7_3885za7, "&iso-latin->utf8", 16);
	      BGL_DEFINE_STRING(BGl_string3747z00zz__unicodez00,
		BgL_bgl_string3747za700za7za7_3886za7, "&ucs2-string-length", 19);
	      BGL_DEFINE_STRING(BGl_string3829z00zz__unicodez00,
		BgL_bgl_string3829za700za7za7_3887za7, "&iso-latin->utf8!", 17);
	      BGL_DEFINE_STRING(BGl_string3748z00zz__unicodez00,
		BgL_bgl_string3748za700za7za7_3888za7, "ucs2string", 10);
	      BGL_DEFINE_STRING(BGl_string3749z00zz__unicodez00,
		BgL_bgl_string3749za700za7za7_3889za7, "index out of range [0..", 23);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2stringzc3zf3zd2envz30zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3890z00,
		BGl_z62ucs2zd2stringzc3zf3z80zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2stringzd2copyzd2envzd2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3891z00,
		BGl_z62ucs2zd2stringzd2copyz62zz__unicodez00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string3830z00zz__unicodez00,
		BgL_bgl_string3830za700za7za7_3892za7, "&cp1252->utf8", 13);
	      BGL_DEFINE_STRING(BGl_string3831z00zz__unicodez00,
		BgL_bgl_string3831za700za7za7_3893za7, "&cp1252->utf8!", 14);
	      BGL_DEFINE_STRING(BGl_string3750z00zz__unicodez00,
		BgL_bgl_string3750za700za7za7_3894za7, "]", 1);
	      BGL_DEFINE_STRING(BGl_string3833z00zz__unicodez00,
		BgL_bgl_string3833za700za7za7_3895za7, "latin1", 6);
	      BGL_DEFINE_STRING(BGl_string3752z00zz__unicodez00,
		BgL_bgl_string3752za700za7za7_3896za7, "ucs2-string-ref", 15);
	      BGL_DEFINE_STRING(BGl_string3834z00zz__unicodez00,
		BgL_bgl_string3834za700za7za7_3897za7, "&string-minimal-charset", 23);
	      BGL_DEFINE_STRING(BGl_string3753z00zz__unicodez00,
		BgL_bgl_string3753za700za7za7_3898za7, "&ucs2-string-ref", 16);
	      BGL_DEFINE_STRING(BGl_string3835z00zz__unicodez00,
		BgL_bgl_string3835za700za7za7_3899za7, "&utf8-string-minimal-charset", 28);
	      BGL_DEFINE_STRING(BGl_string3755z00zz__unicodez00,
		BgL_bgl_string3755za700za7za7_3900za7, "ucs2-string-set!", 16);
	      BGL_DEFINE_STRING(BGl_string3837z00zz__unicodez00,
		BgL_bgl_string3837za700za7za7_3901za7, "ucs2", 4);
	      BGL_DEFINE_STRING(BGl_string3756z00zz__unicodez00,
		BgL_bgl_string3756za700za7za7_3902za7, "&ucs2-string-set!", 17);
	      BGL_DEFINE_STRING(BGl_string3757z00zz__unicodez00,
		BgL_bgl_string3757za700za7za7_3903za7, "&ucs2-string-ref-ur", 19);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_stringzd2indexzd2ze3utf8zd2stringzd2indexzd2envz31zz__unicodez00,
		BgL_bgl_za762stringza7d2inde3904z00,
		BGl_z62stringzd2indexzd2ze3utf8zd2stringzd2indexz81zz__unicodez00, 0L,
		BUNSPEC, 2);
	      BGL_DEFINE_STRING(BGl_string3839z00zz__unicodez00,
		BgL_bgl_string3839za700za7za7_3905za7, "utf16", 5);
	      BGL_DEFINE_STRING(BGl_string3758z00zz__unicodez00,
		BgL_bgl_string3758za700za7za7_3906za7, "&ucs2-string-set-ur!", 20);
	      BGL_DEFINE_STRING(BGl_string3759z00zz__unicodez00,
		BgL_bgl_string3759za700za7za7_3907za7, "&ucs2-string=?", 14);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringze3zd3zf3zd2envzc3zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3908z00,
		BGl_z62ucs2zd2stringze3zd3zf3z73zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2downcasez12zd2envzc0zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3909z00,
		BGl_z62ucs2zd2stringzd2downcasez12z70zz__unicodez00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string3840z00zz__unicodez00,
		BgL_bgl_string3840za700za7za7_3910za7, "&ucs2-string-minimal-charset", 28);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_cp1252zd2ze3utf8z12zd2envzf1zz__unicodez00,
		BgL_bgl_za762cp1252za7d2za7e3u3911za7,
		BGl_z62cp1252zd2ze3utf8z12z41zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2ze3cp1252z12zd2envzf1zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e3cp13912za7,
		BGl_z62utf8zd2ze3cp1252z12z41zz__unicodez00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string3841z00zz__unicodez00,
		BgL_bgl_string3841za700za7za7_3913za7, "__unicode", 9);
	      BGL_DEFINE_STRING(BGl_string3760z00zz__unicodez00,
		BgL_bgl_string3760za700za7za7_3914za7, "&ucs2-string-ci=?", 17);
	      BGL_DEFINE_STRING(BGl_string3761z00zz__unicodez00,
		BgL_bgl_string3761za700za7za7_3915za7, "&ucs2-string<?", 14);
	      BGL_DEFINE_STRING(BGl_string3762z00zz__unicodez00,
		BgL_bgl_string3762za700za7za7_3916za7, "&ucs2-string>?", 14);
	      BGL_DEFINE_STRING(BGl_string3763z00zz__unicodez00,
		BgL_bgl_string3763za700za7za7_3917za7, "&ucs2-string<=?", 15);
	      BGL_DEFINE_STRING(BGl_string3764z00zz__unicodez00,
		BgL_bgl_string3764za700za7za7_3918za7, "&ucs2-string>=?", 15);
	      BGL_DEFINE_STRING(BGl_string3765z00zz__unicodez00,
		BgL_bgl_string3765za700za7za7_3919za7, "&ucs2-string-ci<?", 17);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2cizd3zf3zd2envzf2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3920z00,
		BGl_z62ucs2zd2stringzd2cizd3zf3z42zz__unicodez00, 0L, BUNSPEC, 2);
	      BGL_DEFINE_STRING(BGl_string3766z00zz__unicodez00,
		BgL_bgl_string3766za700za7za7_3921za7, "&ucs2-string-ci>?", 17);
	      BGL_DEFINE_STRING(BGl_string3767z00zz__unicodez00,
		BgL_bgl_string3767za700za7za7_3922za7, "&ucs2-string-ci<=?", 18);
	      BGL_DEFINE_STRING(BGl_string3768z00zz__unicodez00,
		BgL_bgl_string3768za700za7za7_3923za7, "&ucs2-string-ci>=?", 18);
	      BGL_DEFINE_STRING(BGl_string3769z00zz__unicodez00,
		BgL_bgl_string3769za700za7za7_3924za7, "subucs2-string", 14);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_isozd2latinzd2ze3utf8z12zd2envz23zz__unicodez00,
		BgL_bgl_za762isoza7d2latinza7d3925za7,
		BGl_z62isozd2latinzd2ze3utf8z12z93zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2normaliza7ezd2utf16zd2envz75zz__unicodez00,
		BgL_bgl__utf8za7d2normaliza73926z00, opt_generic_entry,
		BGl__utf8zd2normaliza7ezd2utf16za7zz__unicodez00, BFALSE, -1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_subucs2zd2stringzd2envz00zz__unicodez00,
		BgL_bgl_za762subucs2za7d2str3927z00,
		BGl_z62subucs2zd2stringzb0zz__unicodez00, 0L, BUNSPEC, 3);
	      BGL_DEFINE_STRING(BGl_string3770z00zz__unicodez00,
		BgL_bgl_string3770za700za7za7_3928za7, "Illegal index", 13);
	      BGL_DEFINE_STRING(BGl_string3771z00zz__unicodez00,
		BgL_bgl_string3771za700za7za7_3929za7, "&subucs2-string", 15);
	      BGL_DEFINE_STRING(BGl_string3772z00zz__unicodez00,
		BgL_bgl_string3772za700za7za7_3930za7, "&subucs2-string-ur", 18);
	      BGL_DEFINE_STRING(BGl_string3773z00zz__unicodez00,
		BgL_bgl_string3773za700za7za7_3931za7, "&ucs2-substring", 15);
	      BGL_DEFINE_STRING(BGl_string3774z00zz__unicodez00,
		BgL_bgl_string3774za700za7za7_3932za7, "&ucs2-substring-ur", 18);
	      BGL_DEFINE_STRING(BGl_string3775z00zz__unicodez00,
		BgL_bgl_string3775za700za7za7_3933za7, "&ucs2-string->list", 18);
	      BGL_DEFINE_STRING(BGl_string3776z00zz__unicodez00,
		BgL_bgl_string3776za700za7za7_3934za7, "&ucs2-string-copy", 17);
	      BGL_DEFINE_STRING(BGl_string3777z00zz__unicodez00,
		BgL_bgl_string3777za700za7za7_3935za7, "&ucs2-string-fill!", 18);
	      BGL_DEFINE_STRING(BGl_string3778z00zz__unicodez00,
		BgL_bgl_string3778za700za7za7_3936za7, "&ucs2-string-upcase", 19);
	      BGL_DEFINE_STRING(BGl_string3779z00zz__unicodez00,
		BgL_bgl_string3779za700za7za7_3937za7, "&ucs2-string-downcase", 21);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2stringzd2refzd2envzd2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3938z00,
		BGl_z62ucs2zd2stringzd2refz62zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2minimalzd2charsetzd2envz00zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3939z00,
		BGl_z62ucs2zd2stringzd2minimalzd2charsetzb0zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2rightzd2replacementzf3zd2envzf3zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3940z00,
		BGl_z62utf8zd2stringzd2rightzd2replacementzf3z43zz__unicodez00, 0L, BUNSPEC,
		3);
	      BGL_DEFINE_STRING(BGl_string3780z00zz__unicodez00,
		BgL_bgl_string3780za700za7za7_3941za7, "&ucs2-string-upcase!", 20);
	      BGL_DEFINE_STRING(BGl_string3781z00zz__unicodez00,
		BgL_bgl_string3781za700za7za7_3942za7, "&ucs2-string-downcase!", 22);
	      BGL_DEFINE_STRING(BGl_string3782z00zz__unicodez00,
		BgL_bgl_string3782za700za7za7_3943za7, "&ucs2-string->utf8-string", 25);
	      BGL_DEFINE_STRING(BGl_string3783z00zz__unicodez00,
		BgL_bgl_string3783za700za7za7_3944za7, "&inverse-utf8-table", 19);
	      BGL_DEFINE_STRING(BGl_string3784z00zz__unicodez00,
		BgL_bgl_string3784za700za7za7_3945za7, "&utf8-string->ucs2-string", 25);
	      BGL_DEFINE_STRING(BGl_string3785z00zz__unicodez00,
		BgL_bgl_string3785za700za7za7_3946za7, "bstring", 7);
	      BGL_DEFINE_STRING(BGl_string3787z00zz__unicodez00,
		BgL_bgl_string3787za700za7za7_3947za7, "ascii", 5);
	      BGL_DEFINE_STRING(BGl_string3788z00zz__unicodez00,
		BgL_bgl_string3788za700za7za7_3948za7, "&ascii-string?", 14);
	      BGL_DEFINE_STRING(BGl_string3789z00zz__unicodez00,
		BgL_bgl_string3789za700za7za7_3949za7, "_utf8-string?", 13);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_stringzd2minimalzd2charsetzd2envzd2zz__unicodez00,
		BgL_bgl_za762stringza7d2mini3950z00,
		BGl_z62stringzd2minimalzd2charsetz62zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2upcasezd2envzd2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3951z00,
		BGl_z62ucs2zd2stringzd2upcasez62zz__unicodez00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string3790z00zz__unicodez00,
		BgL_bgl_string3790za700za7za7_3952za7, "_utf8-string-encode", 19);
	      BGL_DEFINE_STRING(BGl_string3791z00zz__unicodez00,
		BgL_bgl_string3791za700za7za7_3953za7, "utf8-string-encode", 18);
	      BGL_DEFINE_STRING(BGl_string3792z00zz__unicodez00,
		BgL_bgl_string3792za700za7za7_3954za7, "Illegal indexes", 15);
	      BGL_DEFINE_STRING(BGl_string3793z00zz__unicodez00,
		BgL_bgl_string3793za700za7za7_3955za7, "_utf8-normalize-utf16", 21);
	      BGL_DEFINE_STRING(BGl_string3794z00zz__unicodez00,
		BgL_bgl_string3794za700za7za7_3956za7, "utf8-normalize-utf16", 20);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzc3zd3zf3zd2envze3zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3957z00,
		BGl_z62ucs2zd2stringzc3zd3zf3z53zz__unicodez00, 0L, BUNSPEC, 2);
	      BGL_DEFINE_STRING(BGl_string3796z00zz__unicodez00,
		BgL_bgl_string3796za700za7za7_3958za7, "utf8", 4);
	      BGL_DEFINE_STRING(BGl_string3799z00zz__unicodez00,
		BgL_bgl_string3799za700za7za7_3959za7, "&utf8-char-size", 15);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2stringzd3zf3zd2envz20zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3960z00,
		BGl_z62ucs2zd2stringzd3zf3z90zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2downcasezd2envzd2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3961z00,
		BGl_z62ucs2zd2stringzd2downcasez62zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_inversezd2utf8zd2tablezd2envzd2zz__unicodez00,
		BgL_bgl_za762inverseza7d2utf3962z00,
		BGl_z62inversezd2utf8zd2tablez62zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2indexzd2ze3stringzd2indexzd2envz31zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3963z00,
		BGl_z62utf8zd2stringzd2indexzd2ze3stringzd2indexz81zz__unicodez00, 0L,
		BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2setz12zd2envzc0zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3964z00,
		BGl_z62ucs2zd2stringzd2setz12z70zz__unicodez00, 0L, BUNSPEC, 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2substringzd2urzd2envzd2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2substr3965z00,
		BGl_z62ucs2zd2substringzd2urz62zz__unicodez00, 0L, BUNSPEC, 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_isozd2latinzd2ze3utf8zd2envz31zz__unicodez00,
		BgL_bgl_za762isoza7d2latinza7d3966za7,
		BGl_z62isozd2latinzd2ze3utf8z81zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2ze3isozd2latinz12zd2envz23zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e3iso3967za7,
		BGl_z62utf8zd2ze3isozd2latinz12z93zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2encodezd2envzd2zz__unicodez00,
		BgL_bgl__utf8za7d2stringza7d3968z00, opt_generic_entry,
		BGl__utf8zd2stringzd2encodez00zz__unicodez00, BFALSE, -1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2appendzd2envzd2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3969z00, va_generic_entry,
		BGl_z62ucs2zd2stringzd2appendz62zz__unicodez00, BUNSPEC, -1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_makezd2ucs2zd2stringzd2envzd2zz__unicodez00,
		BgL_bgl__makeza7d2ucs2za7d2s3970z00, opt_generic_entry,
		BGl__makezd2ucs2zd2stringz00zz__unicodez00, BFALSE, -1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2cize3zd3zf3zd2envz11zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3971z00,
		BGl_z62ucs2zd2stringzd2cize3zd3zf3za1zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2minimalzd2charsetzd2envz00zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3972z00,
		BGl_z62utf8zd2stringzd2minimalzd2charsetzb0zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2cize3zf3zd2envzc2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3973z00,
		BGl_z62ucs2zd2stringzd2cize3zf3z72zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2lengthzd2envzd2zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3974z00,
		BGl_z62utf8zd2stringzd2lengthz62zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2fillz12zd2envzc0zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3975z00,
		BGl_z62ucs2zd2stringzd2fillz12z70zz__unicodez00, 0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2stringzd2envz00zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3976z00, va_generic_entry,
		BGl_z62ucs2zd2stringzb0zz__unicodez00, BUNSPEC, -1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_cp1252zd2ze3utf8zd2envze3zz__unicodez00,
		BgL_bgl_za762cp1252za7d2za7e3u3977za7,
		BGl_z62cp1252zd2ze3utf8z53zz__unicodez00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2ze3cp1252zd2envze3zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e3cp13978za7,
		BGl_z62utf8zd2ze3cp1252z53zz__unicodez00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_8bitszd2ze3utf8zd2envze3zz__unicodez00,
		BgL_bgl_za7628bitsza7d2za7e3ut3979za7,
		BGl_z628bitszd2ze3utf8z53zz__unicodez00, 0L, BUNSPEC, 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2ze38bitszd2envze3zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e38bi3980za7,
		BGl_z62utf8zd2ze38bitsz53zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2appendzd2fillz12zd2envz12zz__unicodez00,
		BgL_bgl__utf8za7d2stringza7d3981z00, opt_generic_entry,
		BGl__utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00, BFALSE, -1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2stringzf3zd2envzf3zz__unicodez00,
		BgL_bgl__utf8za7d2stringza7f3982z00, opt_generic_entry,
		BGl__utf8zd2stringzf3z21zz__unicodez00, BFALSE, -1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_asciizd2stringzf3zd2envzf3zz__unicodez00,
		BgL_bgl_za762asciiza7d2strin3983z00,
		BGl_z62asciizd2stringzf3z43zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2ze3isozd2latinzd215z12zd2envzf1zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e3iso3984za7,
		BGl_z62utf8zd2ze3isozd2latinzd215z12z41zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2stringze3zf3zd2envz10zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3985z00,
		BGl_z62ucs2zd2stringze3zf3za0zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_subucs2zd2stringzd2urzd2envzd2zz__unicodez00,
		BgL_bgl_za762subucs2za7d2str3986z00,
		BGl_z62subucs2zd2stringzd2urz62zz__unicodez00, 0L, BUNSPEC, 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2ze3isozd2latinzd2envz31zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e3iso3987za7,
		BGl_z62utf8zd2ze3isozd2latinz81zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2cizc3zd3zf3zd2envz31zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3988z00,
		BGl_z62ucs2zd2stringzd2cizc3zd3zf3z81zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2ze3isozd2latinzd215zd2envze3zz__unicodez00,
		BgL_bgl_za762utf8za7d2za7e3iso3989za7,
		BGl_z62utf8zd2ze3isozd2latinzd215z53zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2ze3utf8zd2stringzd2envze3zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3990z00,
		BGl_z62ucs2zd2stringzd2ze3utf8zd2stringz53zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2leftzd2replacementzf3zd2envzf3zz__unicodez00,
		BgL_bgl_za762utf8za7d2string3991z00,
		BGl_z62utf8zd2stringzd2leftzd2replacementzf3z43zz__unicodez00, 0L, BUNSPEC,
		3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2refzd2urzd2envz00zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3992z00,
		BGl_z62ucs2zd2stringzd2refzd2urzb0zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2ze3listzd2envz31zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3993z00,
		BGl_z62ucs2zd2stringzd2ze3listz81zz__unicodez00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_ucs2zd2stringzf3zd2envzf3zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string3994z00,
		BGl_z62ucs2zd2stringzf3z43zz__unicodez00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string3714z00zz__unicodez00,
		BgL_bgl_string3714za700za7za7_3995za7, "€", 3);
	      BGL_DEFINE_STRING(BGl_string3715z00zz__unicodez00,
		BgL_bgl_string3715za700za7za7_3996za7, "", 0);
	      BGL_DEFINE_STRING(BGl_string3716z00zz__unicodez00,
		BgL_bgl_string3716za700za7za7_3997za7, "‚", 3);
	      BGL_DEFINE_STRING(BGl_string3717z00zz__unicodez00,
		BgL_bgl_string3717za700za7za7_3998za7, "ƒ", 2);
	      BGL_DEFINE_STRING(BGl_string3718z00zz__unicodez00,
		BgL_bgl_string3718za700za7za7_3999za7, "„", 3);
	      BGL_DEFINE_STRING(BGl_string3719z00zz__unicodez00,
		BgL_bgl_string3719za700za7za7_4000za7, "…", 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2cizc3zf3zd2envze2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string4001z00,
		BGl_z62ucs2zd2stringzd2cizc3zf3z52zz__unicodez00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2ze3ucs2zd2stringzd2envze3zz__unicodez00,
		BgL_bgl_za762utf8za7d2string4002z00,
		BGl_z62utf8zd2stringzd2ze3ucs2zd2stringz53zz__unicodez00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string3800z00zz__unicodez00,
		BgL_bgl_string3800za700za7za7_4003za7, "bchar", 5);
	      BGL_DEFINE_STRING(BGl_string3801z00zz__unicodez00,
		BgL_bgl_string3801za700za7za7_4004za7, "&utf8-string-length", 19);
	      BGL_DEFINE_STRING(BGl_string3720z00zz__unicodez00,
		BgL_bgl_string3720za700za7za7_4005za7, "†", 3);
	      BGL_DEFINE_STRING(BGl_string3802z00zz__unicodez00,
		BgL_bgl_string3802za700za7za7_4006za7, "&utf8-string-ref", 16);
	      BGL_DEFINE_STRING(BGl_string3721z00zz__unicodez00,
		BgL_bgl_string3721za700za7za7_4007za7, "‡", 3);
	      BGL_DEFINE_STRING(BGl_string3803z00zz__unicodez00,
		BgL_bgl_string3803za700za7za7_4008za7, "&utf8-string-index->string-index",
		32);
	      BGL_DEFINE_STRING(BGl_string3722z00zz__unicodez00,
		BgL_bgl_string3722za700za7za7_4009za7, "ˆ", 2);
	      BGL_DEFINE_STRING(BGl_string3804z00zz__unicodez00,
		BgL_bgl_string3804za700za7za7_4010za7, "&string-index->utf8-string-index",
		32);
	      BGL_DEFINE_STRING(BGl_string3723z00zz__unicodez00,
		BgL_bgl_string3723za700za7za7_4011za7, "‰", 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2upcasez12zd2envzc0zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string4012z00,
		BGl_z62ucs2zd2stringzd2upcasez12z70zz__unicodez00, 0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_ucs2zd2stringzd2lengthzd2envzd2zz__unicodez00,
		BgL_bgl_za762ucs2za7d2string4013z00,
		BGl_z62ucs2zd2stringzd2lengthz62zz__unicodez00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string3805z00zz__unicodez00,
		BgL_bgl_string3805za700za7za7_4014za7, "&utf8-string-left-replacement?",
		30);
	      BGL_DEFINE_STRING(BGl_string3724z00zz__unicodez00,
		BgL_bgl_string3724za700za7za7_4015za7, "Š", 2);
	      BGL_DEFINE_STRING(BGl_string3806z00zz__unicodez00,
		BgL_bgl_string3806za700za7za7_4016za7, "&utf8-string-right-replacement?",
		31);
	      BGL_DEFINE_STRING(BGl_string3725z00zz__unicodez00,
		BgL_bgl_string3725za700za7za7_4017za7, "‹", 3);
	      BGL_DEFINE_STRING(BGl_string3807z00zz__unicodez00,
		BgL_bgl_string3807za700za7za7_4018za7, "_utf8-string-append-fill!", 25);
	      BGL_DEFINE_STRING(BGl_string3726z00zz__unicodez00,
		BgL_bgl_string3726za700za7za7_4019za7, "Œ", 2);
	      BGL_DEFINE_STRING(BGl_string3808z00zz__unicodez00,
		BgL_bgl_string3808za700za7za7_4020za7, "&utf8-string-append", 19);
	      BGL_DEFINE_STRING(BGl_string3727z00zz__unicodez00,
		BgL_bgl_string3727za700za7za7_4021za7, "Ž", 2);
	      BGL_DEFINE_STRING(BGl_string3809z00zz__unicodez00,
		BgL_bgl_string3809za700za7za7_4022za7, "_utf8-substring", 15);
	      BGL_DEFINE_STRING(BGl_string3728z00zz__unicodez00,
		BgL_bgl_string3728za700za7za7_4023za7, "‘", 3);
	      BGL_DEFINE_STRING(BGl_string3729z00zz__unicodez00,
		BgL_bgl_string3729za700za7za7_4024za7, "’", 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_utf8zd2stringzd2appendza2zd2envz70zz__unicodez00,
		BgL_bgl_za762utf8za7d2string4025z00, va_generic_entry,
		BGl_z62utf8zd2stringzd2appendza2zc0zz__unicodez00, BUNSPEC, -1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_utf8zd2charzd2siza7ezd2envz75zz__unicodez00,
		BgL_bgl_za762utf8za7d2charza7d4026za7,
		BGl_z62utf8zd2charzd2siza7ezc5zz__unicodez00, 0L, BUNSPEC, 1);

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_PROCEDURE(BGl_utf8zd2charzd2siza7ezd2envz75zz__unicodez00,
			BgL_bgl_za762utf8za7d2charza7d4026za7);
		BGL_BIND_PROCEDURE(BGl_utf8zd2stringzd2appendza2zd2envz70zz__unicodez00,
			BgL_bgl_za762utf8za7d2string4025z00);
		BGL_BIND_STRING(BGl_string3729z00zz__unicodez00,
			BgL_bgl_string3729za700za7za7_4024za7);
		BGL_BIND_STRING(BGl_string3728z00zz__unicodez00,
			BgL_bgl_string3728za700za7za7_4023za7);
		BGL_BIND_STRING(BGl_string3809z00zz__unicodez00,
			BgL_bgl_string3809za700za7za7_4022za7);
		BGL_BIND_STRING(BGl_string3727z00zz__unicodez00,
			BgL_bgl_string3727za700za7za7_4021za7);
		BGL_BIND_STRING(BGl_string3808z00zz__unicodez00,
			BgL_bgl_string3808za700za7za7_4020za7);
		BGL_BIND_STRING(BGl_string3726z00zz__unicodez00,
			BgL_bgl_string3726za700za7za7_4019za7);
		BGL_BIND_STRING(BGl_string3807z00zz__unicodez00,
			BgL_bgl_string3807za700za7za7_4018za7);
		BGL_BIND_STRING(BGl_string3725z00zz__unicodez00,
			BgL_bgl_string3725za700za7za7_4017za7);
		BGL_BIND_STRING(BGl_string3806z00zz__unicodez00,
			BgL_bgl_string3806za700za7za7_4016za7);
		BGL_BIND_STRING(BGl_string3724z00zz__unicodez00,
			BgL_bgl_string3724za700za7za7_4015za7);
		BGL_BIND_STRING(BGl_string3805z00zz__unicodez00,
			BgL_bgl_string3805za700za7za7_4014za7);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2lengthzd2envzd2zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string4013z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2upcasez12zd2envzc0zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string4012z00);
		BGL_BIND_STRING(BGl_string3723z00zz__unicodez00,
			BgL_bgl_string3723za700za7za7_4011za7);
		BGL_BIND_STRING(BGl_string3804z00zz__unicodez00,
			BgL_bgl_string3804za700za7za7_4010za7);
		BGL_BIND_STRING(BGl_string3722z00zz__unicodez00,
			BgL_bgl_string3722za700za7za7_4009za7);
		BGL_BIND_STRING(BGl_string3803z00zz__unicodez00,
			BgL_bgl_string3803za700za7za7_4008za7);
		BGL_BIND_STRING(BGl_string3721z00zz__unicodez00,
			BgL_bgl_string3721za700za7za7_4007za7);
		BGL_BIND_STRING(BGl_string3802z00zz__unicodez00,
			BgL_bgl_string3802za700za7za7_4006za7);
		BGL_BIND_STRING(BGl_string3720z00zz__unicodez00,
			BgL_bgl_string3720za700za7za7_4005za7);
		BGL_BIND_STRING(BGl_string3801z00zz__unicodez00,
			BgL_bgl_string3801za700za7za7_4004za7);
		BGL_BIND_STRING(BGl_string3800z00zz__unicodez00,
			BgL_bgl_string3800za700za7za7_4003za7);
		BGL_BIND_PROCEDURE
			(BGl_utf8zd2stringzd2ze3ucs2zd2stringzd2envze3zz__unicodez00,
			BgL_bgl_za762utf8za7d2string4002z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2cizc3zf3zd2envze2zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string4001z00);
		BGL_BIND_STRING(BGl_string3719z00zz__unicodez00,
			BgL_bgl_string3719za700za7za7_4000za7);
		BGL_BIND_STRING(BGl_string3718z00zz__unicodez00,
			BgL_bgl_string3718za700za7za7_3999za7);
		BGL_BIND_STRING(BGl_string3717z00zz__unicodez00,
			BgL_bgl_string3717za700za7za7_3998za7);
		BGL_BIND_STRING(BGl_string3716z00zz__unicodez00,
			BgL_bgl_string3716za700za7za7_3997za7);
		BGL_BIND_STRING(BGl_string3715z00zz__unicodez00,
			BgL_bgl_string3715za700za7za7_3996za7);
		BGL_BIND_STRING(BGl_string3714z00zz__unicodez00,
			BgL_bgl_string3714za700za7za7_3995za7);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzf3zd2envzf3zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3994z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2ze3listzd2envz31zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3993z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2refzd2urzd2envz00zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3992z00);
		BGL_BIND_PROCEDURE
			(BGl_utf8zd2stringzd2leftzd2replacementzf3zd2envzf3zz__unicodez00,
			BgL_bgl_za762utf8za7d2string3991z00);
		BGL_BIND_PROCEDURE
			(BGl_ucs2zd2stringzd2ze3utf8zd2stringzd2envze3zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3990z00);
		BGL_BIND_PROCEDURE(BGl_utf8zd2ze3isozd2latinzd215zd2envze3zz__unicodez00,
			BgL_bgl_za762utf8za7d2za7e3iso3989za7);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2cizc3zd3zf3zd2envz31zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3988z00);
		BGL_BIND_PROCEDURE(BGl_utf8zd2ze3isozd2latinzd2envz31zz__unicodez00,
			BgL_bgl_za762utf8za7d2za7e3iso3987za7);
		BGL_BIND_PROCEDURE(BGl_subucs2zd2stringzd2urzd2envzd2zz__unicodez00,
			BgL_bgl_za762subucs2za7d2str3986z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringze3zf3zd2envz10zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3985z00);
		BGL_BIND_PROCEDURE(BGl_utf8zd2ze3isozd2latinzd215z12zd2envzf1zz__unicodez00,
			BgL_bgl_za762utf8za7d2za7e3iso3984za7);
		BGL_BIND_PROCEDURE(BGl_asciizd2stringzf3zd2envzf3zz__unicodez00,
			BgL_bgl_za762asciiza7d2strin3983z00);
		BGL_BIND_PROCEDURE(BGl_utf8zd2stringzf3zd2envzf3zz__unicodez00,
			BgL_bgl__utf8za7d2stringza7f3982z00);
		BGL_BIND_PROCEDURE
			(BGl_utf8zd2stringzd2appendzd2fillz12zd2envz12zz__unicodez00,
			BgL_bgl__utf8za7d2stringza7d3981z00);
		BGL_BIND_PROCEDURE(BGl_utf8zd2ze38bitszd2envze3zz__unicodez00,
			BgL_bgl_za762utf8za7d2za7e38bi3980za7);
		BGL_BIND_PROCEDURE(BGl_8bitszd2ze3utf8zd2envze3zz__unicodez00,
			BgL_bgl_za7628bitsza7d2za7e3ut3979za7);
		BGL_BIND_PROCEDURE(BGl_utf8zd2ze3cp1252zd2envze3zz__unicodez00,
			BgL_bgl_za762utf8za7d2za7e3cp13978za7);
		BGL_BIND_PROCEDURE(BGl_cp1252zd2ze3utf8zd2envze3zz__unicodez00,
			BgL_bgl_za762cp1252za7d2za7e3u3977za7);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2envz00zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3976z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2fillz12zd2envzc0zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3975z00);
		BGL_BIND_PROCEDURE(BGl_utf8zd2stringzd2lengthzd2envzd2zz__unicodez00,
			BgL_bgl_za762utf8za7d2string3974z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2cize3zf3zd2envzc2zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3973z00);
		BGL_BIND_PROCEDURE
			(BGl_utf8zd2stringzd2minimalzd2charsetzd2envz00zz__unicodez00,
			BgL_bgl_za762utf8za7d2string3972z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2cize3zd3zf3zd2envz11zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3971z00);
		BGL_BIND_PROCEDURE(BGl_makezd2ucs2zd2stringzd2envzd2zz__unicodez00,
			BgL_bgl__makeza7d2ucs2za7d2s3970z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2appendzd2envzd2zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3969z00);
		BGL_BIND_PROCEDURE(BGl_utf8zd2stringzd2encodezd2envzd2zz__unicodez00,
			BgL_bgl__utf8za7d2stringza7d3968z00);
		BGL_BIND_PROCEDURE(BGl_utf8zd2ze3isozd2latinz12zd2envz23zz__unicodez00,
			BgL_bgl_za762utf8za7d2za7e3iso3967za7);
		BGL_BIND_PROCEDURE(BGl_isozd2latinzd2ze3utf8zd2envz31zz__unicodez00,
			BgL_bgl_za762isoza7d2latinza7d3966za7);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2substringzd2urzd2envzd2zz__unicodez00,
			BgL_bgl_za762ucs2za7d2substr3965z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2setz12zd2envzc0zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3964z00);
		BGL_BIND_PROCEDURE
			(BGl_utf8zd2stringzd2indexzd2ze3stringzd2indexzd2envz31zz__unicodez00,
			BgL_bgl_za762utf8za7d2string3963z00);
		BGL_BIND_PROCEDURE(BGl_inversezd2utf8zd2tablezd2envzd2zz__unicodez00,
			BgL_bgl_za762inverseza7d2utf3962z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2downcasezd2envzd2zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3961z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd3zf3zd2envz20zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3960z00);
		BGL_BIND_STRING(BGl_string3799z00zz__unicodez00,
			BgL_bgl_string3799za700za7za7_3959za7);
		BGL_BIND_STRING(BGl_string3796z00zz__unicodez00,
			BgL_bgl_string3796za700za7za7_3958za7);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzc3zd3zf3zd2envze3zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3957z00);
		BGL_BIND_STRING(BGl_string3794z00zz__unicodez00,
			BgL_bgl_string3794za700za7za7_3956za7);
		BGL_BIND_STRING(BGl_string3793z00zz__unicodez00,
			BgL_bgl_string3793za700za7za7_3955za7);
		BGL_BIND_STRING(BGl_string3792z00zz__unicodez00,
			BgL_bgl_string3792za700za7za7_3954za7);
		BGL_BIND_STRING(BGl_string3791z00zz__unicodez00,
			BgL_bgl_string3791za700za7za7_3953za7);
		BGL_BIND_STRING(BGl_string3790z00zz__unicodez00,
			BgL_bgl_string3790za700za7za7_3952za7);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2upcasezd2envzd2zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3951z00);
		BGL_BIND_PROCEDURE(BGl_stringzd2minimalzd2charsetzd2envzd2zz__unicodez00,
			BgL_bgl_za762stringza7d2mini3950z00);
		BGL_BIND_STRING(BGl_string3789z00zz__unicodez00,
			BgL_bgl_string3789za700za7za7_3949za7);
		BGL_BIND_STRING(BGl_string3788z00zz__unicodez00,
			BgL_bgl_string3788za700za7za7_3948za7);
		BGL_BIND_STRING(BGl_string3787z00zz__unicodez00,
			BgL_bgl_string3787za700za7za7_3947za7);
		BGL_BIND_STRING(BGl_string3785z00zz__unicodez00,
			BgL_bgl_string3785za700za7za7_3946za7);
		BGL_BIND_STRING(BGl_string3784z00zz__unicodez00,
			BgL_bgl_string3784za700za7za7_3945za7);
		BGL_BIND_STRING(BGl_string3783z00zz__unicodez00,
			BgL_bgl_string3783za700za7za7_3944za7);
		BGL_BIND_STRING(BGl_string3782z00zz__unicodez00,
			BgL_bgl_string3782za700za7za7_3943za7);
		BGL_BIND_STRING(BGl_string3781z00zz__unicodez00,
			BgL_bgl_string3781za700za7za7_3942za7);
		BGL_BIND_STRING(BGl_string3780z00zz__unicodez00,
			BgL_bgl_string3780za700za7za7_3941za7);
		BGL_BIND_PROCEDURE
			(BGl_utf8zd2stringzd2rightzd2replacementzf3zd2envzf3zz__unicodez00,
			BgL_bgl_za762utf8za7d2string3940z00);
		BGL_BIND_PROCEDURE
			(BGl_ucs2zd2stringzd2minimalzd2charsetzd2envz00zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3939z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2refzd2envzd2zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3938z00);
		BGL_BIND_STRING(BGl_string3779z00zz__unicodez00,
			BgL_bgl_string3779za700za7za7_3937za7);
		BGL_BIND_STRING(BGl_string3778z00zz__unicodez00,
			BgL_bgl_string3778za700za7za7_3936za7);
		BGL_BIND_STRING(BGl_string3777z00zz__unicodez00,
			BgL_bgl_string3777za700za7za7_3935za7);
		BGL_BIND_STRING(BGl_string3776z00zz__unicodez00,
			BgL_bgl_string3776za700za7za7_3934za7);
		BGL_BIND_STRING(BGl_string3775z00zz__unicodez00,
			BgL_bgl_string3775za700za7za7_3933za7);
		BGL_BIND_STRING(BGl_string3774z00zz__unicodez00,
			BgL_bgl_string3774za700za7za7_3932za7);
		BGL_BIND_STRING(BGl_string3773z00zz__unicodez00,
			BgL_bgl_string3773za700za7za7_3931za7);
		BGL_BIND_STRING(BGl_string3772z00zz__unicodez00,
			BgL_bgl_string3772za700za7za7_3930za7);
		BGL_BIND_STRING(BGl_string3771z00zz__unicodez00,
			BgL_bgl_string3771za700za7za7_3929za7);
		BGL_BIND_STRING(BGl_string3770z00zz__unicodez00,
			BgL_bgl_string3770za700za7za7_3928za7);
		BGL_BIND_PROCEDURE(BGl_subucs2zd2stringzd2envz00zz__unicodez00,
			BgL_bgl_za762subucs2za7d2str3927z00);
		BGL_BIND_PROCEDURE(BGl_utf8zd2normaliza7ezd2utf16zd2envz75zz__unicodez00,
			BgL_bgl__utf8za7d2normaliza73926z00);
		BGL_BIND_PROCEDURE(BGl_isozd2latinzd2ze3utf8z12zd2envz23zz__unicodez00,
			BgL_bgl_za762isoza7d2latinza7d3925za7);
		BGL_BIND_STRING(BGl_string3769z00zz__unicodez00,
			BgL_bgl_string3769za700za7za7_3924za7);
		BGL_BIND_STRING(BGl_string3768z00zz__unicodez00,
			BgL_bgl_string3768za700za7za7_3923za7);
		BGL_BIND_STRING(BGl_string3767z00zz__unicodez00,
			BgL_bgl_string3767za700za7za7_3922za7);
		BGL_BIND_STRING(BGl_string3766z00zz__unicodez00,
			BgL_bgl_string3766za700za7za7_3921za7);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2cizd3zf3zd2envzf2zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3920z00);
		BGL_BIND_STRING(BGl_string3765z00zz__unicodez00,
			BgL_bgl_string3765za700za7za7_3919za7);
		BGL_BIND_STRING(BGl_string3764z00zz__unicodez00,
			BgL_bgl_string3764za700za7za7_3918za7);
		BGL_BIND_STRING(BGl_string3763z00zz__unicodez00,
			BgL_bgl_string3763za700za7za7_3917za7);
		BGL_BIND_STRING(BGl_string3762z00zz__unicodez00,
			BgL_bgl_string3762za700za7za7_3916za7);
		BGL_BIND_STRING(BGl_string3761z00zz__unicodez00,
			BgL_bgl_string3761za700za7za7_3915za7);
		BGL_BIND_STRING(BGl_string3760z00zz__unicodez00,
			BgL_bgl_string3760za700za7za7_3914za7);
		BGL_BIND_STRING(BGl_string3841z00zz__unicodez00,
			BgL_bgl_string3841za700za7za7_3913za7);
		BGL_BIND_PROCEDURE(BGl_utf8zd2ze3cp1252z12zd2envzf1zz__unicodez00,
			BgL_bgl_za762utf8za7d2za7e3cp13912za7);
		BGL_BIND_PROCEDURE(BGl_cp1252zd2ze3utf8z12zd2envzf1zz__unicodez00,
			BgL_bgl_za762cp1252za7d2za7e3u3911za7);
		BGL_BIND_STRING(BGl_string3840z00zz__unicodez00,
			BgL_bgl_string3840za700za7za7_3910za7);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2downcasez12zd2envzc0zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3909z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringze3zd3zf3zd2envzc3zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3908z00);
		BGL_BIND_STRING(BGl_string3759z00zz__unicodez00,
			BgL_bgl_string3759za700za7za7_3907za7);
		BGL_BIND_STRING(BGl_string3758z00zz__unicodez00,
			BgL_bgl_string3758za700za7za7_3906za7);
		BGL_BIND_STRING(BGl_string3839z00zz__unicodez00,
			BgL_bgl_string3839za700za7za7_3905za7);
		BGL_BIND_PROCEDURE
			(BGl_stringzd2indexzd2ze3utf8zd2stringzd2indexzd2envz31zz__unicodez00,
			BgL_bgl_za762stringza7d2inde3904z00);
		BGL_BIND_STRING(BGl_string3757z00zz__unicodez00,
			BgL_bgl_string3757za700za7za7_3903za7);
		BGL_BIND_STRING(BGl_string3756z00zz__unicodez00,
			BgL_bgl_string3756za700za7za7_3902za7);
		BGL_BIND_STRING(BGl_string3837z00zz__unicodez00,
			BgL_bgl_string3837za700za7za7_3901za7);
		BGL_BIND_STRING(BGl_string3755z00zz__unicodez00,
			BgL_bgl_string3755za700za7za7_3900za7);
		BGL_BIND_STRING(BGl_string3835z00zz__unicodez00,
			BgL_bgl_string3835za700za7za7_3899za7);
		BGL_BIND_STRING(BGl_string3753z00zz__unicodez00,
			BgL_bgl_string3753za700za7za7_3898za7);
		BGL_BIND_STRING(BGl_string3834z00zz__unicodez00,
			BgL_bgl_string3834za700za7za7_3897za7);
		BGL_BIND_STRING(BGl_string3752z00zz__unicodez00,
			BgL_bgl_string3752za700za7za7_3896za7);
		BGL_BIND_STRING(BGl_string3833z00zz__unicodez00,
			BgL_bgl_string3833za700za7za7_3895za7);
		BGL_BIND_STRING(BGl_string3750z00zz__unicodez00,
			BgL_bgl_string3750za700za7za7_3894za7);
		BGL_BIND_STRING(BGl_string3831z00zz__unicodez00,
			BgL_bgl_string3831za700za7za7_3893za7);
		BGL_BIND_STRING(BGl_string3830z00zz__unicodez00,
			BgL_bgl_string3830za700za7za7_3892za7);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2copyzd2envzd2zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3891z00);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzc3zf3zd2envz30zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3890z00);
		BGL_BIND_STRING(BGl_string3749z00zz__unicodez00,
			BgL_bgl_string3749za700za7za7_3889za7);
		BGL_BIND_STRING(BGl_string3748z00zz__unicodez00,
			BgL_bgl_string3748za700za7za7_3888za7);
		BGL_BIND_STRING(BGl_string3829z00zz__unicodez00,
			BgL_bgl_string3829za700za7za7_3887za7);
		BGL_BIND_STRING(BGl_string3747z00zz__unicodez00,
			BgL_bgl_string3747za700za7za7_3886za7);
		BGL_BIND_STRING(BGl_string3828z00zz__unicodez00,
			BgL_bgl_string3828za700za7za7_3885za7);
		BGL_BIND_PROCEDURE(BGl_utf8zd2substringzd2envz00zz__unicodez00,
			BgL_bgl__utf8za7d2substrin3884za7);
		BGL_BIND_STRING(BGl_string3746z00zz__unicodez00,
			BgL_bgl_string3746za700za7za7_3883za7);
		BGL_BIND_STRING(BGl_string3827z00zz__unicodez00,
			BgL_bgl_string3827za700za7za7_3882za7);
		BGL_BIND_STRING(BGl_string3745z00zz__unicodez00,
			BgL_bgl_string3745za700za7za7_3881za7);
		BGL_BIND_STRING(BGl_string3826z00zz__unicodez00,
			BgL_bgl_string3826za700za7za7_3880za7);
		BGL_BIND_STRING(BGl_string3744z00zz__unicodez00,
			BgL_bgl_string3744za700za7za7_3879za7);
		BGL_BIND_STRING(BGl_string3825z00zz__unicodez00,
			BgL_bgl_string3825za700za7za7_3878za7);
		BGL_BIND_STRING(BGl_string3743z00zz__unicodez00,
			BgL_bgl_string3743za700za7za7_3877za7);
		BGL_BIND_STRING(BGl_string3824z00zz__unicodez00,
			BgL_bgl_string3824za700za7za7_3876za7);
		BGL_BIND_STRING(BGl_string3742z00zz__unicodez00,
			BgL_bgl_string3742za700za7za7_3875za7);
		BGL_BIND_STRING(BGl_string3823z00zz__unicodez00,
			BgL_bgl_string3823za700za7za7_3874za7);
		BGL_BIND_PROCEDURE(BGl_utf8zd2stringzd2appendzd2envzd2zz__unicodez00,
			BgL_bgl_za762utf8za7d2string3873z00);
		BGL_BIND_STRING(BGl_string3741z00zz__unicodez00,
			BgL_bgl_string3741za700za7za7_3872za7);
		BGL_BIND_STRING(BGl_string3822z00zz__unicodez00,
			BgL_bgl_string3822za700za7za7_3871za7);
		BGL_BIND_STRING(BGl_string3740z00zz__unicodez00,
			BgL_bgl_string3740za700za7za7_3870za7);
		BGL_BIND_STRING(BGl_string3821z00zz__unicodez00,
			BgL_bgl_string3821za700za7za7_3869za7);
		BGL_BIND_STRING(BGl_string3820z00zz__unicodez00,
			BgL_bgl_string3820za700za7za7_3868za7);
		BGL_BIND_PROCEDURE(BGl_utf8zd2ze38bitsz12zd2envzf1zz__unicodez00,
			BgL_bgl_za762utf8za7d2za7e38bi3867za7);
		BGL_BIND_PROCEDURE(BGl_8bitszd2ze3utf8z12zd2envzf1zz__unicodez00,
			BgL_bgl_za7628bitsza7d2za7e3ut3866za7);
		BGL_BIND_STRING(BGl_string3739z00zz__unicodez00,
			BgL_bgl_string3739za700za7za7_3865za7);
		BGL_BIND_STRING(BGl_string3738z00zz__unicodez00,
			BgL_bgl_string3738za700za7za7_3864za7);
		BGL_BIND_STRING(BGl_string3819z00zz__unicodez00,
			BgL_bgl_string3819za700za7za7_3863za7);
		BGL_BIND_PROCEDURE(BGl_utf8zd2stringzd2refzd2envzd2zz__unicodez00,
			BgL_bgl_za762utf8za7d2string3862z00);
		BGL_BIND_STRING(BGl_string3737z00zz__unicodez00,
			BgL_bgl_string3737za700za7za7_3861za7);
		BGL_BIND_STRING(BGl_string3818z00zz__unicodez00,
			BgL_bgl_string3818za700za7za7_3860za7);
		BGL_BIND_STRING(BGl_string3736z00zz__unicodez00,
			BgL_bgl_string3736za700za7za7_3859za7);
		BGL_BIND_STRING(BGl_string3817z00zz__unicodez00,
			BgL_bgl_string3817za700za7za7_3858za7);
		BGL_BIND_STRING(BGl_string3735z00zz__unicodez00,
			BgL_bgl_string3735za700za7za7_3857za7);
		BGL_BIND_STRING(BGl_string3816z00zz__unicodez00,
			BgL_bgl_string3816za700za7za7_3856za7);
		BGL_BIND_STRING(BGl_string3734z00zz__unicodez00,
			BgL_bgl_string3734za700za7za7_3855za7);
		BGL_BIND_STRING(BGl_string3815z00zz__unicodez00,
			BgL_bgl_string3815za700za7za7_3854za7);
		BGL_BIND_STRING(BGl_string3733z00zz__unicodez00,
			BgL_bgl_string3733za700za7za7_3853za7);
		BGL_BIND_STRING(BGl_string3814z00zz__unicodez00,
			BgL_bgl_string3814za700za7za7_3852za7);
		BGL_BIND_STRING(BGl_string3732z00zz__unicodez00,
			BgL_bgl_string3732za700za7za7_3851za7);
		BGL_BIND_STRING(BGl_string3813z00zz__unicodez00,
			BgL_bgl_string3813za700za7za7_3850za7);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2stringzd2setzd2urz12zd2envz12zz__unicodez00,
			BgL_bgl_za762ucs2za7d2string3849z00);
		BGL_BIND_STRING(BGl_string3731z00zz__unicodez00,
			BgL_bgl_string3731za700za7za7_3848za7);
		BGL_BIND_STRING(BGl_string3812z00zz__unicodez00,
			BgL_bgl_string3812za700za7za7_3847za7);
		BGL_BIND_STRING(BGl_string3730z00zz__unicodez00,
			BgL_bgl_string3730za700za7za7_3846za7);
		BGL_BIND_STRING(BGl_string3811z00zz__unicodez00,
			BgL_bgl_string3811za700za7za7_3845za7);
		BGL_BIND_STRING(BGl_string3810z00zz__unicodez00,
			BgL_bgl_string3810za700za7za7_3844za7);
		BGL_BIND_PROCEDURE(BGl_ucs2zd2substringzd2envz00zz__unicodez00,
			BgL_bgl_za762ucs2za7d2substr3843z00);
		BGL_BIND_PROCEDURE(BGl_listzd2ze3ucs2zd2stringzd2envz31zz__unicodez00,
			BgL_bgl_za762listza7d2za7e3ucs3842za7);
	}

/* GC roots registration */
	static obj_t bgl_gc_roots_register()
	{
#if defined( BGL_GC_ROOTS )
#define ADD_ROOT( addr ) (addr > roots_max ? roots_max = addr : (addr < roots_min ? roots_min = addr : 0))
		void *roots_min = (void *) ULONG_MAX, *roots_max = 0;

		ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__unicodez00));
		ADD_ROOT((void *) (&BGl_8bitszd2invzd2latinzd215zd2zz__unicodez00));
		ADD_ROOT((void *) (&BGl_vector3797z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3700z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3701z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3702z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3703z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3704z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3705z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3706z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3707z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3708z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3709z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3710z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3711z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3713z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_symbol3832z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_symbol3751z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_symbol3754z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_symbol3836z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_symbol3838z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_cp1252zd2invzd2zz__unicodez00));
		ADD_ROOT((void *) (&BGl_symbol3786z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3673z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3674z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3675z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3676z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3677z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3678z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3679z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3680z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_symbol3795z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3681z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3682z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3683z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3684z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3685z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3686z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3687z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3688z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3689z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_vector3712z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_8bitszd2invzd2zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3690z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3691z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3692z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3693z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3694z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3695z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3696z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3697z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3698z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3699z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_list3798z00zz__unicodez00));
		ADD_ROOT((void *) (&BGl_cp1252z00zz__unicodez00));
#undef ADD_ROOT
		if (roots_max > 0)
			GC_add_roots(roots_min, ((void **) roots_max) + 1);
#endif
		return BUNSPEC;
	}



/* module-initialization */
	BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__unicodez00(long
		BgL_checksumz00_7339, char *BgL_fromz00_7340)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__unicodez00))
				{
					BGl_requirezd2initializa7ationz75zz__unicodez00 = BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__unicodez00();
					BGl_cnstzd2initzd2zz__unicodez00();
					BGl_importedzd2moduleszd2initz00zz__unicodez00();
					return BGl_toplevelzd2initzd2zz__unicodez00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__unicodez00(void)
	{
		{	/* Llib/unicode.scm 14 */
			BGl_list3676z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(144L), BCHAR(((unsigned char) '-')));
			BGl_list3677z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(145L), BCHAR(((unsigned char) '-')));
			BGl_list3678z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(146L), BCHAR(((unsigned char) '-')));
			BGl_list3679z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(147L), BCHAR(((unsigned char) '-')));
			BGl_list3680z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(148L), BCHAR(((unsigned char) '-')));
			BGl_list3681z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(149L), BCHAR(((unsigned char) '-')));
			BGl_list3682z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(152L), BCHAR(((unsigned char) '`')));
			BGl_list3683z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(153L), BCHAR(((unsigned char) '\'')));
			BGl_list3684z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(154L), BCHAR(((unsigned char) ',')));
			BGl_list3685z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(155L), BCHAR(((unsigned char) '`')));
			BGl_list3686z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(164L), BCHAR(((unsigned char) '.')));
			BGl_list3687z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(167L), BCHAR(((unsigned char) '.')));
			BGl_list3688z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(178L), BCHAR(((unsigned char) '\'')));
			BGl_list3689z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(179L), BCHAR(((unsigned char) '"')));
			BGl_list3690z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(181L), BCHAR(((unsigned char) '`')));
			BGl_list3691z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(187L), BCHAR(((unsigned char) '"')));
			BGl_list3692z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(184L), BCHAR(((unsigned char) '^')));
			BGl_list3693z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(185L), BCHAR(((unsigned char) '<')));
			BGl_list3694z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(186L), BCHAR(((unsigned char) '>')));
			BGl_list3675z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(128L),
				MAKE_YOUNG_PAIR(BGl_list3676z00zz__unicodez00,
					MAKE_YOUNG_PAIR(BGl_list3677z00zz__unicodez00,
						MAKE_YOUNG_PAIR(BGl_list3678z00zz__unicodez00,
							MAKE_YOUNG_PAIR(BGl_list3679z00zz__unicodez00,
								MAKE_YOUNG_PAIR(BGl_list3680z00zz__unicodez00,
									MAKE_YOUNG_PAIR(BGl_list3681z00zz__unicodez00,
										MAKE_YOUNG_PAIR(BGl_list3682z00zz__unicodez00,
											MAKE_YOUNG_PAIR(BGl_list3683z00zz__unicodez00,
												MAKE_YOUNG_PAIR(BGl_list3684z00zz__unicodez00,
													MAKE_YOUNG_PAIR(BGl_list3685z00zz__unicodez00,
														MAKE_YOUNG_PAIR(BGl_list3686z00zz__unicodez00,
															MAKE_YOUNG_PAIR(BGl_list3687z00zz__unicodez00,
																MAKE_YOUNG_PAIR(BGl_list3688z00zz__unicodez00,
																	MAKE_YOUNG_PAIR(BGl_list3689z00zz__unicodez00,
																		MAKE_YOUNG_PAIR
																		(BGl_list3690z00zz__unicodez00,
																			MAKE_YOUNG_PAIR
																			(BGl_list3691z00zz__unicodez00,
																				MAKE_YOUNG_PAIR
																				(BGl_list3692z00zz__unicodez00,
																					MAKE_YOUNG_PAIR
																					(BGl_list3693z00zz__unicodez00,
																						MAKE_YOUNG_PAIR
																						(BGl_list3694z00zz__unicodez00,
																							BNIL))))))))))))))))))));
			BGl_list3696z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(131L), BCHAR(((unsigned char) '*')));
			BGl_list3695z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(129L),
				MAKE_YOUNG_PAIR(BGl_list3696z00zz__unicodez00, BNIL));
			BGl_list3698z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(141L), BCHAR(((unsigned char) '(')));
			BGl_list3699z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(142L), BCHAR(((unsigned char) ')')));
			BGl_list3697z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(130L),
				MAKE_YOUNG_PAIR(BGl_list3698z00zz__unicodez00,
					MAKE_YOUNG_PAIR(BGl_list3699z00zz__unicodez00, BNIL)));
			BGl_list3674z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(226L),
				MAKE_YOUNG_PAIR(BGl_list3675z00zz__unicodez00,
					MAKE_YOUNG_PAIR(BGl_list3695z00zz__unicodez00,
						MAKE_YOUNG_PAIR(BGl_list3697z00zz__unicodez00, BNIL))));
			BGl_list3673z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BGl_list3674z00zz__unicodez00, BNIL);
			BGl_list3703z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(172L), BCHAR(((unsigned char) 164)));
			BGl_list3702z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(130L),
				MAKE_YOUNG_PAIR(BGl_list3698z00zz__unicodez00,
					MAKE_YOUNG_PAIR(BGl_list3699z00zz__unicodez00,
						MAKE_YOUNG_PAIR(BGl_list3703z00zz__unicodez00, BNIL))));
			BGl_list3701z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(226L),
				MAKE_YOUNG_PAIR(BGl_list3675z00zz__unicodez00,
					MAKE_YOUNG_PAIR(BGl_list3695z00zz__unicodez00,
						MAKE_YOUNG_PAIR(BGl_list3702z00zz__unicodez00, BNIL))));
			BGl_list3705z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(147L), BCHAR(((unsigned char) 189)));
			BGl_list3706z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(146L), BCHAR(((unsigned char) 188)));
			BGl_list3707z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(184L), BCHAR(((unsigned char) 190)));
			BGl_list3708z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(161L), BCHAR(((unsigned char) 168)));
			BGl_list3709z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(160L), BCHAR(((unsigned char) 166)));
			BGl_list3710z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(190L), BCHAR(((unsigned char) 184)));
			BGl_list3711z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(189L), BCHAR(((unsigned char) 180)));
			BGl_list3704z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(197L),
				MAKE_YOUNG_PAIR(BGl_list3705z00zz__unicodez00,
					MAKE_YOUNG_PAIR(BGl_list3706z00zz__unicodez00,
						MAKE_YOUNG_PAIR(BGl_list3707z00zz__unicodez00,
							MAKE_YOUNG_PAIR(BGl_list3708z00zz__unicodez00,
								MAKE_YOUNG_PAIR(BGl_list3709z00zz__unicodez00,
									MAKE_YOUNG_PAIR(BGl_list3710z00zz__unicodez00,
										MAKE_YOUNG_PAIR(BGl_list3711z00zz__unicodez00, BNIL))))))));
			BGl_list3700z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BGl_list3701z00zz__unicodez00,
				MAKE_YOUNG_PAIR(BGl_list3704z00zz__unicodez00, BNIL));
			BGl_list3713z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BGl_string3714z00zz__unicodez00,
				MAKE_YOUNG_PAIR(BGl_string3715z00zz__unicodez00,
					MAKE_YOUNG_PAIR(BGl_string3716z00zz__unicodez00,
						MAKE_YOUNG_PAIR(BGl_string3717z00zz__unicodez00,
							MAKE_YOUNG_PAIR(BGl_string3718z00zz__unicodez00,
								MAKE_YOUNG_PAIR(BGl_string3719z00zz__unicodez00,
									MAKE_YOUNG_PAIR(BGl_string3720z00zz__unicodez00,
										MAKE_YOUNG_PAIR(BGl_string3721z00zz__unicodez00,
											MAKE_YOUNG_PAIR(BGl_string3722z00zz__unicodez00,
												MAKE_YOUNG_PAIR(BGl_string3723z00zz__unicodez00,
													MAKE_YOUNG_PAIR(BGl_string3724z00zz__unicodez00,
														MAKE_YOUNG_PAIR(BGl_string3725z00zz__unicodez00,
															MAKE_YOUNG_PAIR(BGl_string3726z00zz__unicodez00,
																MAKE_YOUNG_PAIR(BGl_string3715z00zz__unicodez00,
																	MAKE_YOUNG_PAIR
																	(BGl_string3727z00zz__unicodez00,
																		MAKE_YOUNG_PAIR
																		(BGl_string3715z00zz__unicodez00,
																			MAKE_YOUNG_PAIR
																			(BGl_string3715z00zz__unicodez00,
																				MAKE_YOUNG_PAIR
																				(BGl_string3728z00zz__unicodez00,
																					MAKE_YOUNG_PAIR
																					(BGl_string3729z00zz__unicodez00,
																						MAKE_YOUNG_PAIR
																						(BGl_string3730z00zz__unicodez00,
																							MAKE_YOUNG_PAIR
																							(BGl_string3731z00zz__unicodez00,
																								MAKE_YOUNG_PAIR
																								(BGl_string3732z00zz__unicodez00,
																									MAKE_YOUNG_PAIR
																									(BGl_string3733z00zz__unicodez00,
																										MAKE_YOUNG_PAIR
																										(BGl_string3734z00zz__unicodez00,
																											MAKE_YOUNG_PAIR
																											(BGl_string3735z00zz__unicodez00,
																												MAKE_YOUNG_PAIR
																												(BGl_string3736z00zz__unicodez00,
																													MAKE_YOUNG_PAIR
																													(BGl_string3737z00zz__unicodez00,
																														MAKE_YOUNG_PAIR
																														(BGl_string3738z00zz__unicodez00,
																															MAKE_YOUNG_PAIR
																															(BGl_string3739z00zz__unicodez00,
																																MAKE_YOUNG_PAIR
																																(BGl_string3715z00zz__unicodez00,
																																	MAKE_YOUNG_PAIR
																																	(BGl_string3740z00zz__unicodez00,
																																		MAKE_YOUNG_PAIR
																																		(BGl_string3741z00zz__unicodez00,
																																			BNIL))))))))))))))))))))))))))))))));
			BGl_vector3712z00zz__unicodez00 =
				BGl_listzd2ze3vectorz31zz__r4_vectors_6_8z00
				(BGl_list3713z00zz__unicodez00);
			BGl_symbol3751z00zz__unicodez00 =
				bstring_to_symbol(BGl_string3752z00zz__unicodez00);
			BGl_symbol3754z00zz__unicodez00 =
				bstring_to_symbol(BGl_string3755z00zz__unicodez00);
			BGl_symbol3786z00zz__unicodez00 =
				bstring_to_symbol(BGl_string3787z00zz__unicodez00);
			BGl_symbol3795z00zz__unicodez00 =
				bstring_to_symbol(BGl_string3796z00zz__unicodez00);
			BGl_list3798z00zz__unicodez00 =
				MAKE_YOUNG_PAIR(BINT(1L), MAKE_YOUNG_PAIR(BINT(1L),
					MAKE_YOUNG_PAIR(BINT(1L), MAKE_YOUNG_PAIR(BINT(1L),
							MAKE_YOUNG_PAIR(BINT(1L), MAKE_YOUNG_PAIR(BINT(1L),
									MAKE_YOUNG_PAIR(BINT(1L), MAKE_YOUNG_PAIR(BINT(1L),
											MAKE_YOUNG_PAIR(BINT(2L), MAKE_YOUNG_PAIR(BINT(2L),
													MAKE_YOUNG_PAIR(BINT(2L), MAKE_YOUNG_PAIR(BINT(2L),
															MAKE_YOUNG_PAIR(BINT(2L),
																MAKE_YOUNG_PAIR(BINT(2L),
																	MAKE_YOUNG_PAIR(BINT(3L),
																		MAKE_YOUNG_PAIR(BINT(4L),
																			BNIL))))))))))))))));
			BGl_vector3797z00zz__unicodez00 =
				BGl_listzd2ze3vectorz31zz__r4_vectors_6_8z00
				(BGl_list3798z00zz__unicodez00);
			BGl_symbol3832z00zz__unicodez00 =
				bstring_to_symbol(BGl_string3833z00zz__unicodez00);
			BGl_symbol3836z00zz__unicodez00 =
				bstring_to_symbol(BGl_string3837z00zz__unicodez00);
			return (BGl_symbol3838z00zz__unicodez00 =
				bstring_to_symbol(BGl_string3839z00zz__unicodez00), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__unicodez00(void)
	{
		{	/* Llib/unicode.scm 14 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__unicodez00(void)
	{
		{	/* Llib/unicode.scm 14 */
			BGl_8bitszd2invzd2zz__unicodez00 = BGl_list3673z00zz__unicodez00;
			BGl_8bitszd2invzd2latinzd215zd2zz__unicodez00 =
				BGl_list3700z00zz__unicodez00;
			BGl_cp1252z00zz__unicodez00 = BGl_vector3712z00zz__unicodez00;
			return (BGl_cp1252zd2invzd2zz__unicodez00 = BFALSE, BUNSPEC);
		}

	}



/* ucs2-string? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzf3z21zz__unicodez00(obj_t
		BgL_objz00_3)
	{
		{	/* Llib/unicode.scm 225 */
			return UCS2_STRINGP(BgL_objz00_3);
		}

	}



/* &ucs2-string? */
	obj_t BGl_z62ucs2zd2stringzf3z43zz__unicodez00(obj_t BgL_envz00_6864,
		obj_t BgL_objz00_6865)
	{
		{	/* Llib/unicode.scm 225 */
			return BBOOL(BGl_ucs2zd2stringzf3z21zz__unicodez00(BgL_objz00_6865));
		}

	}



/* _make-ucs2-string */
	obj_t BGl__makezd2ucs2zd2stringz00zz__unicodez00(obj_t BgL_env1124z00_7,
		obj_t BgL_opt1123z00_6)
	{
		{	/* Llib/unicode.scm 231 */
			{	/* Llib/unicode.scm 231 */
				obj_t BgL_g1125z00_7324;

				{
					obj_t BgL_auxz00_7571;

					if (VECTORP(BgL_opt1123z00_6))
						{	/* Llib/unicode.scm 231 */
							BgL_auxz00_7571 = BgL_opt1123z00_6;
						}
					else
						{
							obj_t BgL_auxz00_7574;

							BgL_auxz00_7574 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(10346L), BGl_string3743z00zz__unicodez00,
								BGl_string3744z00zz__unicodez00, BgL_opt1123z00_6);
							FAILURE(BgL_auxz00_7574, BFALSE, BFALSE);
						}
					BgL_g1125z00_7324 = VECTOR_REF(BgL_auxz00_7571, 0L);
				}
				{	/* Llib/unicode.scm 231 */
					long BgL_aux1127z00_7325;

					{
						obj_t BgL_auxz00_7579;

						if (VECTORP(BgL_opt1123z00_6))
							{	/* Llib/unicode.scm 231 */
								BgL_auxz00_7579 = BgL_opt1123z00_6;
							}
						else
							{
								obj_t BgL_auxz00_7582;

								BgL_auxz00_7582 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(10346L),
									BGl_string3743z00zz__unicodez00,
									BGl_string3744z00zz__unicodez00, BgL_opt1123z00_6);
								FAILURE(BgL_auxz00_7582, BFALSE, BFALSE);
							}
						BgL_aux1127z00_7325 = VECTOR_LENGTH(BgL_auxz00_7579);
					}
					switch (BgL_aux1127z00_7325)
						{
						case 1L:

							{	/* Llib/unicode.scm 232 */
								ucs2_t BgL_fillerz00_7326;

								{	/* Llib/unicode.scm 232 */
									int BgL_tmpz00_7587;

									BgL_tmpz00_7587 =
										(int) (((unsigned char) ((char) (((unsigned char) ' ')))));
									BgL_fillerz00_7326 = BGL_INT_TO_UCS2(BgL_tmpz00_7587);
								}
								{	/* Llib/unicode.scm 231 */

									{	/* Llib/unicode.scm 231 */
										int BgL_kz00_7327;

										{	/* Llib/unicode.scm 231 */
											obj_t BgL_tmpz00_7593;

											if (INTEGERP(BgL_g1125z00_7324))
												{	/* Llib/unicode.scm 231 */
													BgL_tmpz00_7593 = BgL_g1125z00_7324;
												}
											else
												{
													obj_t BgL_auxz00_7596;

													BgL_auxz00_7596 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(10346L),
														BGl_string3743z00zz__unicodez00,
														BGl_string3745z00zz__unicodez00, BgL_g1125z00_7324);
													FAILURE(BgL_auxz00_7596, BFALSE, BFALSE);
												}
											BgL_kz00_7327 = CINT(BgL_tmpz00_7593);
										}
										return make_ucs2_string(BgL_kz00_7327, BgL_fillerz00_7326);
									}
								}
							}
							break;
						case 2L:

							{	/* Llib/unicode.scm 231 */
								obj_t BgL_fillerz00_7328;

								{
									obj_t BgL_auxz00_7602;

									if (VECTORP(BgL_opt1123z00_6))
										{	/* Llib/unicode.scm 231 */
											BgL_auxz00_7602 = BgL_opt1123z00_6;
										}
									else
										{
											obj_t BgL_auxz00_7605;

											BgL_auxz00_7605 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3742z00zz__unicodez00, BINT(10346L),
												BGl_string3743z00zz__unicodez00,
												BGl_string3744z00zz__unicodez00, BgL_opt1123z00_6);
											FAILURE(BgL_auxz00_7605, BFALSE, BFALSE);
										}
									BgL_fillerz00_7328 = VECTOR_REF(BgL_auxz00_7602, 1L);
								}
								{	/* Llib/unicode.scm 231 */

									{	/* Llib/unicode.scm 231 */
										int BgL_kz00_7329;
										ucs2_t BgL_fillerz00_7330;

										{	/* Llib/unicode.scm 231 */
											obj_t BgL_tmpz00_7610;

											if (INTEGERP(BgL_g1125z00_7324))
												{	/* Llib/unicode.scm 231 */
													BgL_tmpz00_7610 = BgL_g1125z00_7324;
												}
											else
												{
													obj_t BgL_auxz00_7613;

													BgL_auxz00_7613 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(10346L),
														BGl_string3743z00zz__unicodez00,
														BGl_string3745z00zz__unicodez00, BgL_g1125z00_7324);
													FAILURE(BgL_auxz00_7613, BFALSE, BFALSE);
												}
											BgL_kz00_7329 = CINT(BgL_tmpz00_7610);
										}
										{	/* Llib/unicode.scm 231 */
											obj_t BgL_tmpz00_7618;

											if (UCS2P(BgL_fillerz00_7328))
												{	/* Llib/unicode.scm 231 */
													BgL_tmpz00_7618 = BgL_fillerz00_7328;
												}
											else
												{
													obj_t BgL_auxz00_7621;

													BgL_auxz00_7621 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(10346L),
														BGl_string3743z00zz__unicodez00,
														BGl_string3746z00zz__unicodez00,
														BgL_fillerz00_7328);
													FAILURE(BgL_auxz00_7621, BFALSE, BFALSE);
												}
											BgL_fillerz00_7330 = CUCS2(BgL_tmpz00_7618);
										}
										return make_ucs2_string(BgL_kz00_7329, BgL_fillerz00_7330);
									}
								}
							}
							break;
						default:
							return BUNSPEC;
						}
				}
			}
		}

	}



/* make-ucs2-string */
	BGL_EXPORTED_DEF obj_t BGl_makezd2ucs2zd2stringz00zz__unicodez00(int
		BgL_kz00_4, ucs2_t BgL_fillerz00_5)
	{
		{	/* Llib/unicode.scm 231 */
			BGL_TAIL return make_ucs2_string(BgL_kz00_4, BgL_fillerz00_5);
		}

	}



/* ucs2-string */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2zz__unicodez00(obj_t
		BgL_ucs2sz00_8)
	{
		{	/* Llib/unicode.scm 238 */
			BGL_TAIL return
				BGl_listzd2ze3ucs2zd2stringze3zz__unicodez00(BgL_ucs2sz00_8);
		}

	}



/* &ucs2-string */
	obj_t BGl_z62ucs2zd2stringzb0zz__unicodez00(obj_t BgL_envz00_6866,
		obj_t BgL_ucs2sz00_6867)
	{
		{	/* Llib/unicode.scm 238 */
			return BGl_ucs2zd2stringzd2zz__unicodez00(BgL_ucs2sz00_6867);
		}

	}



/* ucs2-string-length */
	BGL_EXPORTED_DEF int BGl_ucs2zd2stringzd2lengthz00zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_9)
	{
		{	/* Llib/unicode.scm 244 */
			return UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_9);
		}

	}



/* &ucs2-string-length */
	obj_t BGl_z62ucs2zd2stringzd2lengthz62zz__unicodez00(obj_t BgL_envz00_6868,
		obj_t BgL_ucs2zd2stringzd2_6869)
	{
		{	/* Llib/unicode.scm 244 */
			{	/* Llib/unicode.scm 245 */
				int BgL_tmpz00_7632;

				{	/* Llib/unicode.scm 245 */
					obj_t BgL_auxz00_7633;

					if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6869))
						{	/* Llib/unicode.scm 245 */
							BgL_auxz00_7633 = BgL_ucs2zd2stringzd2_6869;
						}
					else
						{
							obj_t BgL_auxz00_7636;

							BgL_auxz00_7636 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(11033L), BGl_string3747z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6869);
							FAILURE(BgL_auxz00_7636, BFALSE, BFALSE);
						}
					BgL_tmpz00_7632 =
						BGl_ucs2zd2stringzd2lengthz00zz__unicodez00(BgL_auxz00_7633);
				}
				return BINT(BgL_tmpz00_7632);
			}
		}

	}



/* ucs2-string-ref */
	BGL_EXPORTED_DEF ucs2_t BGl_ucs2zd2stringzd2refz00zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_10, int BgL_kz00_11)
	{
		{	/* Llib/unicode.scm 250 */
			{	/* Llib/unicode.scm 251 */
				bool_t BgL_test4035z00_7642;

				{	/* Llib/unicode.scm 251 */
					long BgL_auxz00_7645;
					long BgL_tmpz00_7643;

					BgL_auxz00_7645 =
						(long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_10));
					BgL_tmpz00_7643 = (long) (BgL_kz00_11);
					BgL_test4035z00_7642 = BOUND_CHECK(BgL_tmpz00_7643, BgL_auxz00_7645);
				}
				if (BgL_test4035z00_7642)
					{	/* Llib/unicode.scm 251 */
						return UCS2_STRING_REF(BgL_ucs2zd2stringzd2_10, BgL_kz00_11);
					}
				else
					{	/* Llib/unicode.scm 256 */
						obj_t BgL_arg1230z00_7331;

						{	/* Llib/unicode.scm 256 */
							obj_t BgL_arg1231z00_7332;

							{	/* Llib/unicode.scm 256 */

								BgL_arg1231z00_7332 =
									BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(
									((long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_10)) - 1L),
									10L);
							}
							BgL_arg1230z00_7331 =
								string_append_3(BGl_string3749z00zz__unicodez00,
								BgL_arg1231z00_7332, BGl_string3750z00zz__unicodez00);
						}
						return
							CUCS2(BGl_errorz00zz__errorz00(BGl_symbol3751z00zz__unicodez00,
								BgL_arg1230z00_7331, BINT(BgL_kz00_11)));
					}
			}
		}

	}



/* &ucs2-string-ref */
	obj_t BGl_z62ucs2zd2stringzd2refz62zz__unicodez00(obj_t BgL_envz00_6870,
		obj_t BgL_ucs2zd2stringzd2_6871, obj_t BgL_kz00_6872)
	{
		{	/* Llib/unicode.scm 250 */
			{	/* Llib/unicode.scm 251 */
				ucs2_t BgL_tmpz00_7658;

				{	/* Llib/unicode.scm 251 */
					int BgL_auxz00_7666;
					obj_t BgL_auxz00_7659;

					{	/* Llib/unicode.scm 251 */
						obj_t BgL_tmpz00_7667;

						if (INTEGERP(BgL_kz00_6872))
							{	/* Llib/unicode.scm 251 */
								BgL_tmpz00_7667 = BgL_kz00_6872;
							}
						else
							{
								obj_t BgL_auxz00_7670;

								BgL_auxz00_7670 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(11342L),
									BGl_string3753z00zz__unicodez00,
									BGl_string3745z00zz__unicodez00, BgL_kz00_6872);
								FAILURE(BgL_auxz00_7670, BFALSE, BFALSE);
							}
						BgL_auxz00_7666 = CINT(BgL_tmpz00_7667);
					}
					if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6871))
						{	/* Llib/unicode.scm 251 */
							BgL_auxz00_7659 = BgL_ucs2zd2stringzd2_6871;
						}
					else
						{
							obj_t BgL_auxz00_7662;

							BgL_auxz00_7662 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(11342L), BGl_string3753z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6871);
							FAILURE(BgL_auxz00_7662, BFALSE, BFALSE);
						}
					BgL_tmpz00_7658 =
						BGl_ucs2zd2stringzd2refz00zz__unicodez00(BgL_auxz00_7659,
						BgL_auxz00_7666);
				}
				return BUCS2(BgL_tmpz00_7658);
			}
		}

	}



/* ucs2-string-set! */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2setz12z12zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_12, int BgL_kz00_13, ucs2_t BgL_ucs2z00_14)
	{
		{	/* Llib/unicode.scm 263 */
			{	/* Llib/unicode.scm 264 */
				bool_t BgL_test4038z00_7677;

				{	/* Llib/unicode.scm 264 */
					long BgL_auxz00_7680;
					long BgL_tmpz00_7678;

					BgL_auxz00_7680 =
						(long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_12));
					BgL_tmpz00_7678 = (long) (BgL_kz00_13);
					BgL_test4038z00_7677 = BOUND_CHECK(BgL_tmpz00_7678, BgL_auxz00_7680);
				}
				if (BgL_test4038z00_7677)
					{	/* Llib/unicode.scm 264 */
						return
							UCS2_STRING_SET(BgL_ucs2zd2stringzd2_12, BgL_kz00_13,
							BgL_ucs2z00_14);
					}
				else
					{	/* Llib/unicode.scm 269 */
						obj_t BgL_arg1239z00_7333;

						{	/* Llib/unicode.scm 269 */
							obj_t BgL_arg1241z00_7334;

							{	/* Llib/unicode.scm 269 */

								BgL_arg1241z00_7334 =
									BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(
									((long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_12)) - 1L),
									10L);
							}
							BgL_arg1239z00_7333 =
								string_append_3(BGl_string3749z00zz__unicodez00,
								BgL_arg1241z00_7334, BGl_string3750z00zz__unicodez00);
						}
						return
							BGl_errorz00zz__errorz00(BGl_symbol3754z00zz__unicodez00,
							BgL_arg1239z00_7333, BINT(BgL_kz00_13));
					}
			}
		}

	}



/* &ucs2-string-set! */
	obj_t BGl_z62ucs2zd2stringzd2setz12z70zz__unicodez00(obj_t BgL_envz00_6873,
		obj_t BgL_ucs2zd2stringzd2_6874, obj_t BgL_kz00_6875,
		obj_t BgL_ucs2z00_6876)
	{
		{	/* Llib/unicode.scm 263 */
			{	/* Llib/unicode.scm 264 */
				ucs2_t BgL_auxz00_7708;
				int BgL_auxz00_7699;
				obj_t BgL_auxz00_7692;

				{	/* Llib/unicode.scm 264 */
					obj_t BgL_tmpz00_7709;

					if (UCS2P(BgL_ucs2z00_6876))
						{	/* Llib/unicode.scm 264 */
							BgL_tmpz00_7709 = BgL_ucs2z00_6876;
						}
					else
						{
							obj_t BgL_auxz00_7712;

							BgL_auxz00_7712 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(11905L), BGl_string3756z00zz__unicodez00,
								BGl_string3746z00zz__unicodez00, BgL_ucs2z00_6876);
							FAILURE(BgL_auxz00_7712, BFALSE, BFALSE);
						}
					BgL_auxz00_7708 = CUCS2(BgL_tmpz00_7709);
				}
				{	/* Llib/unicode.scm 264 */
					obj_t BgL_tmpz00_7700;

					if (INTEGERP(BgL_kz00_6875))
						{	/* Llib/unicode.scm 264 */
							BgL_tmpz00_7700 = BgL_kz00_6875;
						}
					else
						{
							obj_t BgL_auxz00_7703;

							BgL_auxz00_7703 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(11905L), BGl_string3756z00zz__unicodez00,
								BGl_string3745z00zz__unicodez00, BgL_kz00_6875);
							FAILURE(BgL_auxz00_7703, BFALSE, BFALSE);
						}
					BgL_auxz00_7699 = CINT(BgL_tmpz00_7700);
				}
				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6874))
					{	/* Llib/unicode.scm 264 */
						BgL_auxz00_7692 = BgL_ucs2zd2stringzd2_6874;
					}
				else
					{
						obj_t BgL_auxz00_7695;

						BgL_auxz00_7695 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(11905L), BGl_string3756z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6874);
						FAILURE(BgL_auxz00_7695, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2stringzd2setz12z12zz__unicodez00(BgL_auxz00_7692,
					BgL_auxz00_7699, BgL_auxz00_7708);
			}
		}

	}



/* ucs2-string-ref-ur */
	BGL_EXPORTED_DEF ucs2_t BGl_ucs2zd2stringzd2refzd2urzd2zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_15, int BgL_kz00_16)
	{
		{	/* Llib/unicode.scm 276 */
			return UCS2_STRING_REF(BgL_ucs2zd2stringzd2_15, BgL_kz00_16);
		}

	}



/* &ucs2-string-ref-ur */
	obj_t BGl_z62ucs2zd2stringzd2refzd2urzb0zz__unicodez00(obj_t BgL_envz00_6877,
		obj_t BgL_ucs2zd2stringzd2_6878, obj_t BgL_kz00_6879)
	{
		{	/* Llib/unicode.scm 276 */
			{	/* Llib/unicode.scm 277 */
				ucs2_t BgL_tmpz00_7719;

				{	/* Llib/unicode.scm 277 */
					int BgL_auxz00_7727;
					obj_t BgL_auxz00_7720;

					{	/* Llib/unicode.scm 277 */
						obj_t BgL_tmpz00_7728;

						if (INTEGERP(BgL_kz00_6879))
							{	/* Llib/unicode.scm 277 */
								BgL_tmpz00_7728 = BgL_kz00_6879;
							}
						else
							{
								obj_t BgL_auxz00_7731;

								BgL_auxz00_7731 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(12471L),
									BGl_string3757z00zz__unicodez00,
									BGl_string3745z00zz__unicodez00, BgL_kz00_6879);
								FAILURE(BgL_auxz00_7731, BFALSE, BFALSE);
							}
						BgL_auxz00_7727 = CINT(BgL_tmpz00_7728);
					}
					if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6878))
						{	/* Llib/unicode.scm 277 */
							BgL_auxz00_7720 = BgL_ucs2zd2stringzd2_6878;
						}
					else
						{
							obj_t BgL_auxz00_7723;

							BgL_auxz00_7723 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(12471L), BGl_string3757z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6878);
							FAILURE(BgL_auxz00_7723, BFALSE, BFALSE);
						}
					BgL_tmpz00_7719 =
						BGl_ucs2zd2stringzd2refzd2urzd2zz__unicodez00(BgL_auxz00_7720,
						BgL_auxz00_7727);
				}
				return BUCS2(BgL_tmpz00_7719);
			}
		}

	}



/* ucs2-string-set-ur! */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2setzd2urz12zc0zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_17, int BgL_kz00_18, ucs2_t BgL_ucs2z00_19)
	{
		{	/* Llib/unicode.scm 282 */
			return
				UCS2_STRING_SET(BgL_ucs2zd2stringzd2_17, BgL_kz00_18, BgL_ucs2z00_19);
		}

	}



/* &ucs2-string-set-ur! */
	obj_t BGl_z62ucs2zd2stringzd2setzd2urz12za2zz__unicodez00(obj_t
		BgL_envz00_6880, obj_t BgL_ucs2zd2stringzd2_6881, obj_t BgL_kz00_6882,
		obj_t BgL_ucs2z00_6883)
	{
		{	/* Llib/unicode.scm 282 */
			{	/* Llib/unicode.scm 283 */
				ucs2_t BgL_auxz00_7755;
				int BgL_auxz00_7746;
				obj_t BgL_auxz00_7739;

				{	/* Llib/unicode.scm 283 */
					obj_t BgL_tmpz00_7756;

					if (UCS2P(BgL_ucs2z00_6883))
						{	/* Llib/unicode.scm 283 */
							BgL_tmpz00_7756 = BgL_ucs2z00_6883;
						}
					else
						{
							obj_t BgL_auxz00_7759;

							BgL_auxz00_7759 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(12789L), BGl_string3758z00zz__unicodez00,
								BGl_string3746z00zz__unicodez00, BgL_ucs2z00_6883);
							FAILURE(BgL_auxz00_7759, BFALSE, BFALSE);
						}
					BgL_auxz00_7755 = CUCS2(BgL_tmpz00_7756);
				}
				{	/* Llib/unicode.scm 283 */
					obj_t BgL_tmpz00_7747;

					if (INTEGERP(BgL_kz00_6882))
						{	/* Llib/unicode.scm 283 */
							BgL_tmpz00_7747 = BgL_kz00_6882;
						}
					else
						{
							obj_t BgL_auxz00_7750;

							BgL_auxz00_7750 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(12789L), BGl_string3758z00zz__unicodez00,
								BGl_string3745z00zz__unicodez00, BgL_kz00_6882);
							FAILURE(BgL_auxz00_7750, BFALSE, BFALSE);
						}
					BgL_auxz00_7746 = CINT(BgL_tmpz00_7747);
				}
				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6881))
					{	/* Llib/unicode.scm 283 */
						BgL_auxz00_7739 = BgL_ucs2zd2stringzd2_6881;
					}
				else
					{
						obj_t BgL_auxz00_7742;

						BgL_auxz00_7742 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(12789L), BGl_string3758z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6881);
						FAILURE(BgL_auxz00_7742, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2stringzd2setzd2urz12zc0zz__unicodez00(BgL_auxz00_7739,
					BgL_auxz00_7746, BgL_auxz00_7755);
			}
		}

	}



/* ucs2-string=? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzd3zf3zf2zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_20, obj_t BgL_ucs2zd2string2zd2_21)
	{
		{	/* Llib/unicode.scm 288 */
			BGL_TAIL return
				ucs2_strcmp(BgL_ucs2zd2string1zd2_20, BgL_ucs2zd2string2zd2_21);
		}

	}



/* &ucs2-string=? */
	obj_t BGl_z62ucs2zd2stringzd3zf3z90zz__unicodez00(obj_t BgL_envz00_6884,
		obj_t BgL_ucs2zd2string1zd2_6885, obj_t BgL_ucs2zd2string2zd2_6886)
	{
		{	/* Llib/unicode.scm 288 */
			{	/* Llib/unicode.scm 289 */
				bool_t BgL_tmpz00_7766;

				{	/* Llib/unicode.scm 289 */
					obj_t BgL_auxz00_7774;
					obj_t BgL_auxz00_7767;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6886))
						{	/* Llib/unicode.scm 289 */
							BgL_auxz00_7774 = BgL_ucs2zd2string2zd2_6886;
						}
					else
						{
							obj_t BgL_auxz00_7777;

							BgL_auxz00_7777 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(13113L), BGl_string3759z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string2zd2_6886);
							FAILURE(BgL_auxz00_7777, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6885))
						{	/* Llib/unicode.scm 289 */
							BgL_auxz00_7767 = BgL_ucs2zd2string1zd2_6885;
						}
					else
						{
							obj_t BgL_auxz00_7770;

							BgL_auxz00_7770 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(13113L), BGl_string3759z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string1zd2_6885);
							FAILURE(BgL_auxz00_7770, BFALSE, BFALSE);
						}
					BgL_tmpz00_7766 =
						BGl_ucs2zd2stringzd3zf3zf2zz__unicodez00(BgL_auxz00_7767,
						BgL_auxz00_7774);
				}
				return BBOOL(BgL_tmpz00_7766);
			}
		}

	}



/* ucs2-string-ci=? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzd2cizd3zf3z20zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_22, obj_t BgL_ucs2zd2string2zd2_23)
	{
		{	/* Llib/unicode.scm 294 */
			BGL_TAIL return
				ucs2_strcicmp(BgL_ucs2zd2string1zd2_22, BgL_ucs2zd2string2zd2_23);
		}

	}



/* &ucs2-string-ci=? */
	obj_t BGl_z62ucs2zd2stringzd2cizd3zf3z42zz__unicodez00(obj_t BgL_envz00_6887,
		obj_t BgL_ucs2zd2string1zd2_6888, obj_t BgL_ucs2zd2string2zd2_6889)
	{
		{	/* Llib/unicode.scm 294 */
			{	/* Llib/unicode.scm 295 */
				bool_t BgL_tmpz00_7784;

				{	/* Llib/unicode.scm 295 */
					obj_t BgL_auxz00_7792;
					obj_t BgL_auxz00_7785;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6889))
						{	/* Llib/unicode.scm 295 */
							BgL_auxz00_7792 = BgL_ucs2zd2string2zd2_6889;
						}
					else
						{
							obj_t BgL_auxz00_7795;

							BgL_auxz00_7795 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(13444L), BGl_string3760z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string2zd2_6889);
							FAILURE(BgL_auxz00_7795, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6888))
						{	/* Llib/unicode.scm 295 */
							BgL_auxz00_7785 = BgL_ucs2zd2string1zd2_6888;
						}
					else
						{
							obj_t BgL_auxz00_7788;

							BgL_auxz00_7788 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(13444L), BGl_string3760z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string1zd2_6888);
							FAILURE(BgL_auxz00_7788, BFALSE, BFALSE);
						}
					BgL_tmpz00_7784 =
						BGl_ucs2zd2stringzd2cizd3zf3z20zz__unicodez00(BgL_auxz00_7785,
						BgL_auxz00_7792);
				}
				return BBOOL(BgL_tmpz00_7784);
			}
		}

	}



/* ucs2-string<? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzc3zf3ze2zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_24, obj_t BgL_ucs2zd2string2zd2_25)
	{
		{	/* Llib/unicode.scm 300 */
			BGL_TAIL return
				ucs2_string_lt(BgL_ucs2zd2string1zd2_24, BgL_ucs2zd2string2zd2_25);
		}

	}



/* &ucs2-string<? */
	obj_t BGl_z62ucs2zd2stringzc3zf3z80zz__unicodez00(obj_t BgL_envz00_6890,
		obj_t BgL_ucs2zd2string1zd2_6891, obj_t BgL_ucs2zd2string2zd2_6892)
	{
		{	/* Llib/unicode.scm 300 */
			{	/* Llib/unicode.scm 301 */
				bool_t BgL_tmpz00_7802;

				{	/* Llib/unicode.scm 301 */
					obj_t BgL_auxz00_7810;
					obj_t BgL_auxz00_7803;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6892))
						{	/* Llib/unicode.scm 301 */
							BgL_auxz00_7810 = BgL_ucs2zd2string2zd2_6892;
						}
					else
						{
							obj_t BgL_auxz00_7813;

							BgL_auxz00_7813 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(13770L), BGl_string3761z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string2zd2_6892);
							FAILURE(BgL_auxz00_7813, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6891))
						{	/* Llib/unicode.scm 301 */
							BgL_auxz00_7803 = BgL_ucs2zd2string1zd2_6891;
						}
					else
						{
							obj_t BgL_auxz00_7806;

							BgL_auxz00_7806 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(13770L), BGl_string3761z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string1zd2_6891);
							FAILURE(BgL_auxz00_7806, BFALSE, BFALSE);
						}
					BgL_tmpz00_7802 =
						BGl_ucs2zd2stringzc3zf3ze2zz__unicodez00(BgL_auxz00_7803,
						BgL_auxz00_7810);
				}
				return BBOOL(BgL_tmpz00_7802);
			}
		}

	}



/* ucs2-string>? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringze3zf3zc2zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_26, obj_t BgL_ucs2zd2string2zd2_27)
	{
		{	/* Llib/unicode.scm 306 */
			BGL_TAIL return
				ucs2_string_gt(BgL_ucs2zd2string1zd2_26, BgL_ucs2zd2string2zd2_27);
		}

	}



/* &ucs2-string>? */
	obj_t BGl_z62ucs2zd2stringze3zf3za0zz__unicodez00(obj_t BgL_envz00_6893,
		obj_t BgL_ucs2zd2string1zd2_6894, obj_t BgL_ucs2zd2string2zd2_6895)
	{
		{	/* Llib/unicode.scm 306 */
			{	/* Llib/unicode.scm 307 */
				bool_t BgL_tmpz00_7820;

				{	/* Llib/unicode.scm 307 */
					obj_t BgL_auxz00_7828;
					obj_t BgL_auxz00_7821;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6895))
						{	/* Llib/unicode.scm 307 */
							BgL_auxz00_7828 = BgL_ucs2zd2string2zd2_6895;
						}
					else
						{
							obj_t BgL_auxz00_7831;

							BgL_auxz00_7831 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(14097L), BGl_string3762z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string2zd2_6895);
							FAILURE(BgL_auxz00_7831, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6894))
						{	/* Llib/unicode.scm 307 */
							BgL_auxz00_7821 = BgL_ucs2zd2string1zd2_6894;
						}
					else
						{
							obj_t BgL_auxz00_7824;

							BgL_auxz00_7824 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(14097L), BGl_string3762z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string1zd2_6894);
							FAILURE(BgL_auxz00_7824, BFALSE, BFALSE);
						}
					BgL_tmpz00_7820 =
						BGl_ucs2zd2stringze3zf3zc2zz__unicodez00(BgL_auxz00_7821,
						BgL_auxz00_7828);
				}
				return BBOOL(BgL_tmpz00_7820);
			}
		}

	}



/* ucs2-string<=? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzc3zd3zf3z31zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_28, obj_t BgL_ucs2zd2string2zd2_29)
	{
		{	/* Llib/unicode.scm 312 */
			BGL_TAIL return
				ucs2_string_le(BgL_ucs2zd2string1zd2_28, BgL_ucs2zd2string2zd2_29);
		}

	}



/* &ucs2-string<=? */
	obj_t BGl_z62ucs2zd2stringzc3zd3zf3z53zz__unicodez00(obj_t BgL_envz00_6896,
		obj_t BgL_ucs2zd2string1zd2_6897, obj_t BgL_ucs2zd2string2zd2_6898)
	{
		{	/* Llib/unicode.scm 312 */
			{	/* Llib/unicode.scm 313 */
				bool_t BgL_tmpz00_7838;

				{	/* Llib/unicode.scm 313 */
					obj_t BgL_auxz00_7846;
					obj_t BgL_auxz00_7839;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6898))
						{	/* Llib/unicode.scm 313 */
							BgL_auxz00_7846 = BgL_ucs2zd2string2zd2_6898;
						}
					else
						{
							obj_t BgL_auxz00_7849;

							BgL_auxz00_7849 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(14425L), BGl_string3763z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string2zd2_6898);
							FAILURE(BgL_auxz00_7849, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6897))
						{	/* Llib/unicode.scm 313 */
							BgL_auxz00_7839 = BgL_ucs2zd2string1zd2_6897;
						}
					else
						{
							obj_t BgL_auxz00_7842;

							BgL_auxz00_7842 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(14425L), BGl_string3763z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string1zd2_6897);
							FAILURE(BgL_auxz00_7842, BFALSE, BFALSE);
						}
					BgL_tmpz00_7838 =
						BGl_ucs2zd2stringzc3zd3zf3z31zz__unicodez00(BgL_auxz00_7839,
						BgL_auxz00_7846);
				}
				return BBOOL(BgL_tmpz00_7838);
			}
		}

	}



/* ucs2-string>=? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringze3zd3zf3z11zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_30, obj_t BgL_ucs2zd2string2zd2_31)
	{
		{	/* Llib/unicode.scm 318 */
			BGL_TAIL return
				ucs2_string_ge(BgL_ucs2zd2string1zd2_30, BgL_ucs2zd2string2zd2_31);
		}

	}



/* &ucs2-string>=? */
	obj_t BGl_z62ucs2zd2stringze3zd3zf3z73zz__unicodez00(obj_t BgL_envz00_6899,
		obj_t BgL_ucs2zd2string1zd2_6900, obj_t BgL_ucs2zd2string2zd2_6901)
	{
		{	/* Llib/unicode.scm 318 */
			{	/* Llib/unicode.scm 319 */
				bool_t BgL_tmpz00_7856;

				{	/* Llib/unicode.scm 319 */
					obj_t BgL_auxz00_7864;
					obj_t BgL_auxz00_7857;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6901))
						{	/* Llib/unicode.scm 319 */
							BgL_auxz00_7864 = BgL_ucs2zd2string2zd2_6901;
						}
					else
						{
							obj_t BgL_auxz00_7867;

							BgL_auxz00_7867 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(14753L), BGl_string3764z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string2zd2_6901);
							FAILURE(BgL_auxz00_7867, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6900))
						{	/* Llib/unicode.scm 319 */
							BgL_auxz00_7857 = BgL_ucs2zd2string1zd2_6900;
						}
					else
						{
							obj_t BgL_auxz00_7860;

							BgL_auxz00_7860 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(14753L), BGl_string3764z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string1zd2_6900);
							FAILURE(BgL_auxz00_7860, BFALSE, BFALSE);
						}
					BgL_tmpz00_7856 =
						BGl_ucs2zd2stringze3zd3zf3z11zz__unicodez00(BgL_auxz00_7857,
						BgL_auxz00_7864);
				}
				return BBOOL(BgL_tmpz00_7856);
			}
		}

	}



/* ucs2-string-ci<? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzd2cizc3zf3z30zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_32, obj_t BgL_ucs2zd2string2zd2_33)
	{
		{	/* Llib/unicode.scm 324 */
			BGL_TAIL return
				ucs2_string_cilt(BgL_ucs2zd2string1zd2_32, BgL_ucs2zd2string2zd2_33);
		}

	}



/* &ucs2-string-ci<? */
	obj_t BGl_z62ucs2zd2stringzd2cizc3zf3z52zz__unicodez00(obj_t BgL_envz00_6902,
		obj_t BgL_ucs2zd2string1zd2_6903, obj_t BgL_ucs2zd2string2zd2_6904)
	{
		{	/* Llib/unicode.scm 324 */
			{	/* Llib/unicode.scm 325 */
				bool_t BgL_tmpz00_7874;

				{	/* Llib/unicode.scm 325 */
					obj_t BgL_auxz00_7882;
					obj_t BgL_auxz00_7875;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6904))
						{	/* Llib/unicode.scm 325 */
							BgL_auxz00_7882 = BgL_ucs2zd2string2zd2_6904;
						}
					else
						{
							obj_t BgL_auxz00_7885;

							BgL_auxz00_7885 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(15083L), BGl_string3765z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string2zd2_6904);
							FAILURE(BgL_auxz00_7885, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6903))
						{	/* Llib/unicode.scm 325 */
							BgL_auxz00_7875 = BgL_ucs2zd2string1zd2_6903;
						}
					else
						{
							obj_t BgL_auxz00_7878;

							BgL_auxz00_7878 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(15083L), BGl_string3765z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string1zd2_6903);
							FAILURE(BgL_auxz00_7878, BFALSE, BFALSE);
						}
					BgL_tmpz00_7874 =
						BGl_ucs2zd2stringzd2cizc3zf3z30zz__unicodez00(BgL_auxz00_7875,
						BgL_auxz00_7882);
				}
				return BBOOL(BgL_tmpz00_7874);
			}
		}

	}



/* ucs2-string-ci>? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzd2cize3zf3z10zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_34, obj_t BgL_ucs2zd2string2zd2_35)
	{
		{	/* Llib/unicode.scm 330 */
			BGL_TAIL return
				ucs2_string_cigt(BgL_ucs2zd2string1zd2_34, BgL_ucs2zd2string2zd2_35);
		}

	}



/* &ucs2-string-ci>? */
	obj_t BGl_z62ucs2zd2stringzd2cize3zf3z72zz__unicodez00(obj_t BgL_envz00_6905,
		obj_t BgL_ucs2zd2string1zd2_6906, obj_t BgL_ucs2zd2string2zd2_6907)
	{
		{	/* Llib/unicode.scm 330 */
			{	/* Llib/unicode.scm 331 */
				bool_t BgL_tmpz00_7892;

				{	/* Llib/unicode.scm 331 */
					obj_t BgL_auxz00_7900;
					obj_t BgL_auxz00_7893;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6907))
						{	/* Llib/unicode.scm 331 */
							BgL_auxz00_7900 = BgL_ucs2zd2string2zd2_6907;
						}
					else
						{
							obj_t BgL_auxz00_7903;

							BgL_auxz00_7903 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(15415L), BGl_string3766z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string2zd2_6907);
							FAILURE(BgL_auxz00_7903, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6906))
						{	/* Llib/unicode.scm 331 */
							BgL_auxz00_7893 = BgL_ucs2zd2string1zd2_6906;
						}
					else
						{
							obj_t BgL_auxz00_7896;

							BgL_auxz00_7896 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(15415L), BGl_string3766z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string1zd2_6906);
							FAILURE(BgL_auxz00_7896, BFALSE, BFALSE);
						}
					BgL_tmpz00_7892 =
						BGl_ucs2zd2stringzd2cize3zf3z10zz__unicodez00(BgL_auxz00_7893,
						BgL_auxz00_7900);
				}
				return BBOOL(BgL_tmpz00_7892);
			}
		}

	}



/* ucs2-string-ci<=? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzd2cizc3zd3zf3ze3zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_36, obj_t BgL_ucs2zd2string2zd2_37)
	{
		{	/* Llib/unicode.scm 336 */
			BGL_TAIL return
				ucs2_string_cile(BgL_ucs2zd2string1zd2_36, BgL_ucs2zd2string2zd2_37);
		}

	}



/* &ucs2-string-ci<=? */
	obj_t BGl_z62ucs2zd2stringzd2cizc3zd3zf3z81zz__unicodez00(obj_t
		BgL_envz00_6908, obj_t BgL_ucs2zd2string1zd2_6909,
		obj_t BgL_ucs2zd2string2zd2_6910)
	{
		{	/* Llib/unicode.scm 336 */
			{	/* Llib/unicode.scm 337 */
				bool_t BgL_tmpz00_7910;

				{	/* Llib/unicode.scm 337 */
					obj_t BgL_auxz00_7918;
					obj_t BgL_auxz00_7911;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6910))
						{	/* Llib/unicode.scm 337 */
							BgL_auxz00_7918 = BgL_ucs2zd2string2zd2_6910;
						}
					else
						{
							obj_t BgL_auxz00_7921;

							BgL_auxz00_7921 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(15748L), BGl_string3767z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string2zd2_6910);
							FAILURE(BgL_auxz00_7921, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6909))
						{	/* Llib/unicode.scm 337 */
							BgL_auxz00_7911 = BgL_ucs2zd2string1zd2_6909;
						}
					else
						{
							obj_t BgL_auxz00_7914;

							BgL_auxz00_7914 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(15748L), BGl_string3767z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string1zd2_6909);
							FAILURE(BgL_auxz00_7914, BFALSE, BFALSE);
						}
					BgL_tmpz00_7910 =
						BGl_ucs2zd2stringzd2cizc3zd3zf3ze3zz__unicodez00(BgL_auxz00_7911,
						BgL_auxz00_7918);
				}
				return BBOOL(BgL_tmpz00_7910);
			}
		}

	}



/* ucs2-string-ci>=? */
	BGL_EXPORTED_DEF bool_t BGl_ucs2zd2stringzd2cize3zd3zf3zc3zz__unicodez00(obj_t
		BgL_ucs2zd2string1zd2_38, obj_t BgL_ucs2zd2string2zd2_39)
	{
		{	/* Llib/unicode.scm 342 */
			BGL_TAIL return
				ucs2_string_cige(BgL_ucs2zd2string1zd2_38, BgL_ucs2zd2string2zd2_39);
		}

	}



/* &ucs2-string-ci>=? */
	obj_t BGl_z62ucs2zd2stringzd2cize3zd3zf3za1zz__unicodez00(obj_t
		BgL_envz00_6911, obj_t BgL_ucs2zd2string1zd2_6912,
		obj_t BgL_ucs2zd2string2zd2_6913)
	{
		{	/* Llib/unicode.scm 342 */
			{	/* Llib/unicode.scm 343 */
				bool_t BgL_tmpz00_7928;

				{	/* Llib/unicode.scm 343 */
					obj_t BgL_auxz00_7936;
					obj_t BgL_auxz00_7929;

					if (UCS2_STRINGP(BgL_ucs2zd2string2zd2_6913))
						{	/* Llib/unicode.scm 343 */
							BgL_auxz00_7936 = BgL_ucs2zd2string2zd2_6913;
						}
					else
						{
							obj_t BgL_auxz00_7939;

							BgL_auxz00_7939 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(16081L), BGl_string3768z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string2zd2_6913);
							FAILURE(BgL_auxz00_7939, BFALSE, BFALSE);
						}
					if (UCS2_STRINGP(BgL_ucs2zd2string1zd2_6912))
						{	/* Llib/unicode.scm 343 */
							BgL_auxz00_7929 = BgL_ucs2zd2string1zd2_6912;
						}
					else
						{
							obj_t BgL_auxz00_7932;

							BgL_auxz00_7932 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(16081L), BGl_string3768z00zz__unicodez00,
								BGl_string3748z00zz__unicodez00, BgL_ucs2zd2string1zd2_6912);
							FAILURE(BgL_auxz00_7932, BFALSE, BFALSE);
						}
					BgL_tmpz00_7928 =
						BGl_ucs2zd2stringzd2cize3zd3zf3zc3zz__unicodez00(BgL_auxz00_7929,
						BgL_auxz00_7936);
				}
				return BBOOL(BgL_tmpz00_7928);
			}
		}

	}



/* subucs2-string */
	BGL_EXPORTED_DEF obj_t BGl_subucs2zd2stringzd2zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_40, int BgL_startz00_41, int BgL_endz00_42)
	{
		{	/* Llib/unicode.scm 348 */
			{	/* Llib/unicode.scm 350 */
				bool_t BgL_test4067z00_7945;

				if (((long) (BgL_endz00_42) >= (long) (BgL_startz00_41)))
					{	/* Llib/unicode.scm 351 */
						bool_t BgL_test4069z00_7950;

						{	/* Llib/unicode.scm 351 */
							long BgL_auxz00_7953;
							long BgL_tmpz00_7951;

							BgL_auxz00_7953 =
								((long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_40)) + 1L);
							BgL_tmpz00_7951 = (long) (BgL_startz00_41);
							BgL_test4069z00_7950 =
								BOUND_CHECK(BgL_tmpz00_7951, BgL_auxz00_7953);
						}
						if (BgL_test4069z00_7950)
							{	/* Llib/unicode.scm 353 */
								long BgL_auxz00_7960;
								long BgL_tmpz00_7958;

								BgL_auxz00_7960 =
									((long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_40)) + 1L);
								BgL_tmpz00_7958 = (long) (BgL_endz00_42);
								BgL_test4067z00_7945 =
									BOUND_CHECK(BgL_tmpz00_7958, BgL_auxz00_7960);
							}
						else
							{	/* Llib/unicode.scm 351 */
								BgL_test4067z00_7945 = ((bool_t) 0);
							}
					}
				else
					{	/* Llib/unicode.scm 350 */
						BgL_test4067z00_7945 = ((bool_t) 0);
					}
				if (BgL_test4067z00_7945)
					{	/* Llib/unicode.scm 350 */
						BGL_TAIL return
							c_subucs2_string(BgL_ucs2zd2stringzd2_40, BgL_startz00_41,
							BgL_endz00_42);
					}
				else
					{	/* Llib/unicode.scm 358 */
						obj_t BgL_arg1265z00_7335;

						BgL_arg1265z00_7335 =
							MAKE_YOUNG_PAIR(BINT(BgL_startz00_41), BINT(BgL_endz00_42));
						return
							BGl_errorz00zz__errorz00(BGl_string3769z00zz__unicodez00,
							BGl_string3770z00zz__unicodez00, BgL_arg1265z00_7335);
					}
			}
		}

	}



/* &subucs2-string */
	obj_t BGl_z62subucs2zd2stringzb0zz__unicodez00(obj_t BgL_envz00_6914,
		obj_t BgL_ucs2zd2stringzd2_6915, obj_t BgL_startz00_6916,
		obj_t BgL_endz00_6917)
	{
		{	/* Llib/unicode.scm 348 */
			{	/* Llib/unicode.scm 350 */
				int BgL_auxz00_7986;
				int BgL_auxz00_7977;
				obj_t BgL_auxz00_7970;

				{	/* Llib/unicode.scm 350 */
					obj_t BgL_tmpz00_7987;

					if (INTEGERP(BgL_endz00_6917))
						{	/* Llib/unicode.scm 350 */
							BgL_tmpz00_7987 = BgL_endz00_6917;
						}
					else
						{
							obj_t BgL_auxz00_7990;

							BgL_auxz00_7990 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(16454L), BGl_string3771z00zz__unicodez00,
								BGl_string3745z00zz__unicodez00, BgL_endz00_6917);
							FAILURE(BgL_auxz00_7990, BFALSE, BFALSE);
						}
					BgL_auxz00_7986 = CINT(BgL_tmpz00_7987);
				}
				{	/* Llib/unicode.scm 350 */
					obj_t BgL_tmpz00_7978;

					if (INTEGERP(BgL_startz00_6916))
						{	/* Llib/unicode.scm 350 */
							BgL_tmpz00_7978 = BgL_startz00_6916;
						}
					else
						{
							obj_t BgL_auxz00_7981;

							BgL_auxz00_7981 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(16454L), BGl_string3771z00zz__unicodez00,
								BGl_string3745z00zz__unicodez00, BgL_startz00_6916);
							FAILURE(BgL_auxz00_7981, BFALSE, BFALSE);
						}
					BgL_auxz00_7977 = CINT(BgL_tmpz00_7978);
				}
				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6915))
					{	/* Llib/unicode.scm 350 */
						BgL_auxz00_7970 = BgL_ucs2zd2stringzd2_6915;
					}
				else
					{
						obj_t BgL_auxz00_7973;

						BgL_auxz00_7973 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(16454L), BGl_string3771z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6915);
						FAILURE(BgL_auxz00_7973, BFALSE, BFALSE);
					}
				return
					BGl_subucs2zd2stringzd2zz__unicodez00(BgL_auxz00_7970,
					BgL_auxz00_7977, BgL_auxz00_7986);
			}
		}

	}



/* subucs2-string-ur */
	BGL_EXPORTED_DEF obj_t BGl_subucs2zd2stringzd2urz00zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_43, int BgL_startz00_44, int BgL_endz00_45)
	{
		{	/* Llib/unicode.scm 363 */
			BGL_TAIL return
				c_subucs2_string(BgL_ucs2zd2stringzd2_43, BgL_startz00_44,
				BgL_endz00_45);
		}

	}



/* &subucs2-string-ur */
	obj_t BGl_z62subucs2zd2stringzd2urz62zz__unicodez00(obj_t BgL_envz00_6918,
		obj_t BgL_ucs2zd2stringzd2_6919, obj_t BgL_startz00_6920,
		obj_t BgL_endz00_6921)
	{
		{	/* Llib/unicode.scm 363 */
			{	/* Llib/unicode.scm 364 */
				int BgL_auxz00_8013;
				int BgL_auxz00_8004;
				obj_t BgL_auxz00_7997;

				{	/* Llib/unicode.scm 364 */
					obj_t BgL_tmpz00_8014;

					if (INTEGERP(BgL_endz00_6921))
						{	/* Llib/unicode.scm 364 */
							BgL_tmpz00_8014 = BgL_endz00_6921;
						}
					else
						{
							obj_t BgL_auxz00_8017;

							BgL_auxz00_8017 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(17058L), BGl_string3772z00zz__unicodez00,
								BGl_string3745z00zz__unicodez00, BgL_endz00_6921);
							FAILURE(BgL_auxz00_8017, BFALSE, BFALSE);
						}
					BgL_auxz00_8013 = CINT(BgL_tmpz00_8014);
				}
				{	/* Llib/unicode.scm 364 */
					obj_t BgL_tmpz00_8005;

					if (INTEGERP(BgL_startz00_6920))
						{	/* Llib/unicode.scm 364 */
							BgL_tmpz00_8005 = BgL_startz00_6920;
						}
					else
						{
							obj_t BgL_auxz00_8008;

							BgL_auxz00_8008 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(17058L), BGl_string3772z00zz__unicodez00,
								BGl_string3745z00zz__unicodez00, BgL_startz00_6920);
							FAILURE(BgL_auxz00_8008, BFALSE, BFALSE);
						}
					BgL_auxz00_8004 = CINT(BgL_tmpz00_8005);
				}
				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6919))
					{	/* Llib/unicode.scm 364 */
						BgL_auxz00_7997 = BgL_ucs2zd2stringzd2_6919;
					}
				else
					{
						obj_t BgL_auxz00_8000;

						BgL_auxz00_8000 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(17058L), BGl_string3772z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6919);
						FAILURE(BgL_auxz00_8000, BFALSE, BFALSE);
					}
				return
					BGl_subucs2zd2stringzd2urz00zz__unicodez00(BgL_auxz00_7997,
					BgL_auxz00_8004, BgL_auxz00_8013);
			}
		}

	}



/* ucs2-substring */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2substringzd2zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_46, int BgL_startz00_47, int BgL_endz00_48)
	{
		{	/* Llib/unicode.scm 369 */
			{	/* Llib/unicode.scm 371 */
				bool_t BgL_test4076z00_8023;

				if (((long) (BgL_endz00_48) >= (long) (BgL_startz00_47)))
					{	/* Llib/unicode.scm 372 */
						bool_t BgL_test4078z00_8028;

						{	/* Llib/unicode.scm 372 */
							long BgL_auxz00_8031;
							long BgL_tmpz00_8029;

							BgL_auxz00_8031 =
								((long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_46)) + 1L);
							BgL_tmpz00_8029 = (long) (BgL_startz00_47);
							BgL_test4078z00_8028 =
								BOUND_CHECK(BgL_tmpz00_8029, BgL_auxz00_8031);
						}
						if (BgL_test4078z00_8028)
							{	/* Llib/unicode.scm 374 */
								long BgL_auxz00_8038;
								long BgL_tmpz00_8036;

								BgL_auxz00_8038 =
									((long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_46)) + 1L);
								BgL_tmpz00_8036 = (long) (BgL_endz00_48);
								BgL_test4076z00_8023 =
									BOUND_CHECK(BgL_tmpz00_8036, BgL_auxz00_8038);
							}
						else
							{	/* Llib/unicode.scm 372 */
								BgL_test4076z00_8023 = ((bool_t) 0);
							}
					}
				else
					{	/* Llib/unicode.scm 371 */
						BgL_test4076z00_8023 = ((bool_t) 0);
					}
				if (BgL_test4076z00_8023)
					{	/* Llib/unicode.scm 371 */
						BGL_TAIL return
							c_subucs2_string(BgL_ucs2zd2stringzd2_46, BgL_startz00_47,
							BgL_endz00_48);
					}
				else
					{	/* Llib/unicode.scm 379 */
						obj_t BgL_arg1283z00_7336;

						BgL_arg1283z00_7336 =
							MAKE_YOUNG_PAIR(BINT(BgL_startz00_47), BINT(BgL_endz00_48));
						return
							BGl_errorz00zz__errorz00(BGl_string3769z00zz__unicodez00,
							BGl_string3770z00zz__unicodez00, BgL_arg1283z00_7336);
					}
			}
		}

	}



/* &ucs2-substring */
	obj_t BGl_z62ucs2zd2substringzb0zz__unicodez00(obj_t BgL_envz00_6922,
		obj_t BgL_ucs2zd2stringzd2_6923, obj_t BgL_startz00_6924,
		obj_t BgL_endz00_6925)
	{
		{	/* Llib/unicode.scm 369 */
			{	/* Llib/unicode.scm 371 */
				int BgL_auxz00_8064;
				int BgL_auxz00_8055;
				obj_t BgL_auxz00_8048;

				{	/* Llib/unicode.scm 371 */
					obj_t BgL_tmpz00_8065;

					if (INTEGERP(BgL_endz00_6925))
						{	/* Llib/unicode.scm 371 */
							BgL_tmpz00_8065 = BgL_endz00_6925;
						}
					else
						{
							obj_t BgL_auxz00_8068;

							BgL_auxz00_8068 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(17426L), BGl_string3773z00zz__unicodez00,
								BGl_string3745z00zz__unicodez00, BgL_endz00_6925);
							FAILURE(BgL_auxz00_8068, BFALSE, BFALSE);
						}
					BgL_auxz00_8064 = CINT(BgL_tmpz00_8065);
				}
				{	/* Llib/unicode.scm 371 */
					obj_t BgL_tmpz00_8056;

					if (INTEGERP(BgL_startz00_6924))
						{	/* Llib/unicode.scm 371 */
							BgL_tmpz00_8056 = BgL_startz00_6924;
						}
					else
						{
							obj_t BgL_auxz00_8059;

							BgL_auxz00_8059 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(17426L), BGl_string3773z00zz__unicodez00,
								BGl_string3745z00zz__unicodez00, BgL_startz00_6924);
							FAILURE(BgL_auxz00_8059, BFALSE, BFALSE);
						}
					BgL_auxz00_8055 = CINT(BgL_tmpz00_8056);
				}
				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6923))
					{	/* Llib/unicode.scm 371 */
						BgL_auxz00_8048 = BgL_ucs2zd2stringzd2_6923;
					}
				else
					{
						obj_t BgL_auxz00_8051;

						BgL_auxz00_8051 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(17426L), BGl_string3773z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6923);
						FAILURE(BgL_auxz00_8051, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2substringzd2zz__unicodez00(BgL_auxz00_8048,
					BgL_auxz00_8055, BgL_auxz00_8064);
			}
		}

	}



/* ucs2-substring-ur */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2substringzd2urz00zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_49, int BgL_startz00_50, int BgL_endz00_51)
	{
		{	/* Llib/unicode.scm 384 */
			BGL_TAIL return
				c_subucs2_string(BgL_ucs2zd2stringzd2_49, BgL_startz00_50,
				BgL_endz00_51);
		}

	}



/* &ucs2-substring-ur */
	obj_t BGl_z62ucs2zd2substringzd2urz62zz__unicodez00(obj_t BgL_envz00_6926,
		obj_t BgL_ucs2zd2stringzd2_6927, obj_t BgL_startz00_6928,
		obj_t BgL_endz00_6929)
	{
		{	/* Llib/unicode.scm 384 */
			{	/* Llib/unicode.scm 385 */
				int BgL_auxz00_8091;
				int BgL_auxz00_8082;
				obj_t BgL_auxz00_8075;

				{	/* Llib/unicode.scm 385 */
					obj_t BgL_tmpz00_8092;

					if (INTEGERP(BgL_endz00_6929))
						{	/* Llib/unicode.scm 385 */
							BgL_tmpz00_8092 = BgL_endz00_6929;
						}
					else
						{
							obj_t BgL_auxz00_8095;

							BgL_auxz00_8095 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(18030L), BGl_string3774z00zz__unicodez00,
								BGl_string3745z00zz__unicodez00, BgL_endz00_6929);
							FAILURE(BgL_auxz00_8095, BFALSE, BFALSE);
						}
					BgL_auxz00_8091 = CINT(BgL_tmpz00_8092);
				}
				{	/* Llib/unicode.scm 385 */
					obj_t BgL_tmpz00_8083;

					if (INTEGERP(BgL_startz00_6928))
						{	/* Llib/unicode.scm 385 */
							BgL_tmpz00_8083 = BgL_startz00_6928;
						}
					else
						{
							obj_t BgL_auxz00_8086;

							BgL_auxz00_8086 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(18030L), BGl_string3774z00zz__unicodez00,
								BGl_string3745z00zz__unicodez00, BgL_startz00_6928);
							FAILURE(BgL_auxz00_8086, BFALSE, BFALSE);
						}
					BgL_auxz00_8082 = CINT(BgL_tmpz00_8083);
				}
				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6927))
					{	/* Llib/unicode.scm 385 */
						BgL_auxz00_8075 = BgL_ucs2zd2stringzd2_6927;
					}
				else
					{
						obj_t BgL_auxz00_8078;

						BgL_auxz00_8078 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(18030L), BGl_string3774z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6927);
						FAILURE(BgL_auxz00_8078, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2substringzd2urz00zz__unicodez00(BgL_auxz00_8075,
					BgL_auxz00_8082, BgL_auxz00_8091);
			}
		}

	}



/* ucs2-string-append */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2appendz00zz__unicodez00(obj_t
		BgL_listz00_52)
	{
		{	/* Llib/unicode.scm 390 */
			if (NULLP(BgL_listz00_52))
				{	/* Llib/unicode.scm 137 */
					ucs2_t BgL_fillerz00_1319;

					{	/* Llib/unicode.scm 137 */
						int BgL_tmpz00_8103;

						BgL_tmpz00_8103 =
							(int) (((unsigned char) ((char) (((unsigned char) ' ')))));
						BgL_fillerz00_1319 = BGL_INT_TO_UCS2(BgL_tmpz00_8103);
					}
					{	/* Llib/unicode.scm 137 */

						return make_ucs2_string((int) (0L), BgL_fillerz00_1319);
				}}
			else
				{	/* Llib/unicode.scm 391 */
					BGL_TAIL return BGl_loopze73ze7zz__unicodez00(BgL_listz00_52);
				}
		}

	}



/* loop~3 */
	obj_t BGl_loopze73ze7zz__unicodez00(obj_t BgL_listz00_1321)
	{
		{	/* Llib/unicode.scm 393 */
			if (NULLP(CDR(((obj_t) BgL_listz00_1321))))
				{	/* Llib/unicode.scm 394 */
					return CAR(((obj_t) BgL_listz00_1321));
				}
			else
				{	/* Llib/unicode.scm 396 */
					obj_t BgL_arg1298z00_1325;
					obj_t BgL_arg1301z00_1326;

					BgL_arg1298z00_1325 = CAR(((obj_t) BgL_listz00_1321));
					{	/* Llib/unicode.scm 396 */
						obj_t BgL_arg1322z00_1327;

						BgL_arg1322z00_1327 = CDR(((obj_t) BgL_listz00_1321));
						BgL_arg1301z00_1326 =
							BGl_loopze73ze7zz__unicodez00(BgL_arg1322z00_1327);
					}
					return ucs2_string_append(BgL_arg1298z00_1325, BgL_arg1301z00_1326);
				}
		}

	}



/* &ucs2-string-append */
	obj_t BGl_z62ucs2zd2stringzd2appendz62zz__unicodez00(obj_t BgL_envz00_6930,
		obj_t BgL_listz00_6931)
	{
		{	/* Llib/unicode.scm 390 */
			return BGl_ucs2zd2stringzd2appendz00zz__unicodez00(BgL_listz00_6931);
		}

	}



/* list->ucs2-string */
	BGL_EXPORTED_DEF obj_t BGl_listzd2ze3ucs2zd2stringze3zz__unicodez00(obj_t
		BgL_listz00_53)
	{
		{	/* Llib/unicode.scm 401 */
			{	/* Llib/unicode.scm 402 */
				long BgL_lenz00_1330;

				BgL_lenz00_1330 = bgl_list_length(BgL_listz00_53);
				{	/* Llib/unicode.scm 402 */
					obj_t BgL_ucs2zd2stringzd2_1331;

					{	/* Llib/unicode.scm 137 */
						ucs2_t BgL_fillerz00_1342;

						{	/* Llib/unicode.scm 137 */
							int BgL_tmpz00_8126;

							BgL_tmpz00_8126 =
								(int) (((unsigned char) ((char) (((unsigned char) ' ')))));
							BgL_fillerz00_1342 = BGL_INT_TO_UCS2(BgL_tmpz00_8126);
						}
						{	/* Llib/unicode.scm 137 */

							BgL_ucs2zd2stringzd2_1331 =
								make_ucs2_string((int) (BgL_lenz00_1330), BgL_fillerz00_1342);
					}}
					{	/* Llib/unicode.scm 403 */

						{
							long BgL_iz00_3628;
							obj_t BgL_lz00_3629;

							BgL_iz00_3628 = 0L;
							BgL_lz00_3629 = BgL_listz00_53;
						BgL_loopz00_3627:
							if ((BgL_iz00_3628 == BgL_lenz00_1330))
								{	/* Llib/unicode.scm 406 */
									return BgL_ucs2zd2stringzd2_1331;
								}
							else
								{	/* Llib/unicode.scm 406 */
									{	/* Llib/unicode.scm 409 */
										obj_t BgL_arg1332z00_3635;

										BgL_arg1332z00_3635 = CAR(((obj_t) BgL_lz00_3629));
										{	/* Llib/unicode.scm 409 */
											int BgL_kz00_3642;
											ucs2_t BgL_ucs2z00_3643;

											BgL_kz00_3642 = (int) (BgL_iz00_3628);
											BgL_ucs2z00_3643 = CUCS2(BgL_arg1332z00_3635);
											{	/* Llib/unicode.scm 264 */
												bool_t BgL_test4088z00_8140;

												{	/* Llib/unicode.scm 264 */
													long BgL_auxz00_8143;
													long BgL_tmpz00_8141;

													BgL_auxz00_8143 =
														(long) (UCS2_STRING_LENGTH
														(BgL_ucs2zd2stringzd2_1331));
													BgL_tmpz00_8141 = (long) (BgL_kz00_3642);
													BgL_test4088z00_8140 =
														BOUND_CHECK(BgL_tmpz00_8141, BgL_auxz00_8143);
												}
												if (BgL_test4088z00_8140)
													{	/* Llib/unicode.scm 264 */
														UCS2_STRING_SET(BgL_ucs2zd2stringzd2_1331,
															BgL_kz00_3642, BgL_ucs2z00_3643);
													}
												else
													{	/* Llib/unicode.scm 269 */
														obj_t BgL_arg1239z00_3646;

														{	/* Llib/unicode.scm 269 */
															obj_t BgL_arg1241z00_3647;

															{	/* Llib/unicode.scm 269 */

																BgL_arg1241z00_3647 =
																	BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																	(((long) (UCS2_STRING_LENGTH
																			(BgL_ucs2zd2stringzd2_1331)) - 1L), 10L);
															}
															BgL_arg1239z00_3646 =
																string_append_3(BGl_string3749z00zz__unicodez00,
																BgL_arg1241z00_3647,
																BGl_string3750z00zz__unicodez00);
														}
														BGl_errorz00zz__errorz00
															(BGl_symbol3754z00zz__unicodez00,
															BgL_arg1239z00_3646, BINT(BgL_kz00_3642));
									}}}}
									{	/* Llib/unicode.scm 410 */
										long BgL_arg1333z00_3636;
										obj_t BgL_arg1334z00_3637;

										BgL_arg1333z00_3636 = (BgL_iz00_3628 + 1L);
										BgL_arg1334z00_3637 = CDR(((obj_t) BgL_lz00_3629));
										{
											obj_t BgL_lz00_8159;
											long BgL_iz00_8158;

											BgL_iz00_8158 = BgL_arg1333z00_3636;
											BgL_lz00_8159 = BgL_arg1334z00_3637;
											BgL_lz00_3629 = BgL_lz00_8159;
											BgL_iz00_3628 = BgL_iz00_8158;
											goto BgL_loopz00_3627;
										}
									}
								}
						}
					}
				}
			}
		}

	}



/* &list->ucs2-string */
	obj_t BGl_z62listzd2ze3ucs2zd2stringz81zz__unicodez00(obj_t BgL_envz00_6932,
		obj_t BgL_listz00_6933)
	{
		{	/* Llib/unicode.scm 401 */
			return BGl_listzd2ze3ucs2zd2stringze3zz__unicodez00(BgL_listz00_6933);
		}

	}



/* ucs2-string->list */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2ze3listze3zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_54)
	{
		{	/* Llib/unicode.scm 415 */
			{	/* Llib/unicode.scm 416 */
				int BgL_lenz00_1343;

				BgL_lenz00_1343 = UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_54);
				{
					long BgL_iz00_3701;
					obj_t BgL_accz00_3702;

					BgL_iz00_3701 = 0L;
					BgL_accz00_3702 = BNIL;
				BgL_loopz00_3700:
					if ((BgL_iz00_3701 == (long) (BgL_lenz00_1343)))
						{	/* Llib/unicode.scm 419 */
							return bgl_reverse_bang(BgL_accz00_3702);
						}
					else
						{	/* Llib/unicode.scm 421 */
							long BgL_arg1337z00_3708;
							obj_t BgL_arg1338z00_3709;

							BgL_arg1337z00_3708 = (BgL_iz00_3701 + 1L);
							{	/* Llib/unicode.scm 422 */
								ucs2_t BgL_arg1339z00_3710;

								{	/* Llib/unicode.scm 422 */
									ucs2_t BgL_res3370z00_3727;

									{	/* Llib/unicode.scm 422 */
										int BgL_kz00_3715;

										BgL_kz00_3715 = (int) (BgL_iz00_3701);
										{	/* Llib/unicode.scm 251 */
											bool_t BgL_test4090z00_8168;

											{	/* Llib/unicode.scm 251 */
												long BgL_auxz00_8171;
												long BgL_tmpz00_8169;

												BgL_auxz00_8171 =
													(long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_54));
												BgL_tmpz00_8169 = (long) (BgL_kz00_3715);
												BgL_test4090z00_8168 =
													BOUND_CHECK(BgL_tmpz00_8169, BgL_auxz00_8171);
											}
											if (BgL_test4090z00_8168)
												{	/* Llib/unicode.scm 251 */
													BgL_res3370z00_3727 =
														UCS2_STRING_REF(BgL_ucs2zd2stringzd2_54,
														BgL_kz00_3715);
												}
											else
												{	/* Llib/unicode.scm 256 */
													obj_t BgL_arg1230z00_3718;

													{	/* Llib/unicode.scm 256 */
														obj_t BgL_arg1231z00_3719;

														{	/* Llib/unicode.scm 256 */

															BgL_arg1231z00_3719 =
																BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																(((long) (UCS2_STRING_LENGTH
																		(BgL_ucs2zd2stringzd2_54)) - 1L), 10L);
														}
														BgL_arg1230z00_3718 =
															string_append_3(BGl_string3749z00zz__unicodez00,
															BgL_arg1231z00_3719,
															BGl_string3750z00zz__unicodez00);
													}
													BgL_res3370z00_3727 =
														CUCS2(BGl_errorz00zz__errorz00
														(BGl_symbol3751z00zz__unicodez00,
															BgL_arg1230z00_3718, BINT(BgL_kz00_3715)));
									}}}
									BgL_arg1339z00_3710 = BgL_res3370z00_3727;
								}
								BgL_arg1338z00_3709 =
									MAKE_YOUNG_PAIR(BUCS2(BgL_arg1339z00_3710), BgL_accz00_3702);
							}
							{
								obj_t BgL_accz00_8187;
								long BgL_iz00_8186;

								BgL_iz00_8186 = BgL_arg1337z00_3708;
								BgL_accz00_8187 = BgL_arg1338z00_3709;
								BgL_accz00_3702 = BgL_accz00_8187;
								BgL_iz00_3701 = BgL_iz00_8186;
								goto BgL_loopz00_3700;
							}
						}
				}
			}
		}

	}



/* &ucs2-string->list */
	obj_t BGl_z62ucs2zd2stringzd2ze3listz81zz__unicodez00(obj_t BgL_envz00_6934,
		obj_t BgL_ucs2zd2stringzd2_6935)
	{
		{	/* Llib/unicode.scm 415 */
			{	/* Llib/unicode.scm 416 */
				obj_t BgL_auxz00_8188;

				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6935))
					{	/* Llib/unicode.scm 416 */
						BgL_auxz00_8188 = BgL_ucs2zd2stringzd2_6935;
					}
				else
					{
						obj_t BgL_auxz00_8191;

						BgL_auxz00_8191 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(19272L), BGl_string3775z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6935);
						FAILURE(BgL_auxz00_8191, BFALSE, BFALSE);
					}
				return BGl_ucs2zd2stringzd2ze3listze3zz__unicodez00(BgL_auxz00_8188);
			}
		}

	}



/* ucs2-string-copy */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2copyz00zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_55)
	{
		{	/* Llib/unicode.scm 428 */
			BGL_TAIL return c_ucs2_string_copy(BgL_ucs2zd2stringzd2_55);
		}

	}



/* &ucs2-string-copy */
	obj_t BGl_z62ucs2zd2stringzd2copyz62zz__unicodez00(obj_t BgL_envz00_6936,
		obj_t BgL_ucs2zd2stringzd2_6937)
	{
		{	/* Llib/unicode.scm 428 */
			{	/* Llib/unicode.scm 429 */
				obj_t BgL_auxz00_8197;

				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6937))
					{	/* Llib/unicode.scm 429 */
						BgL_auxz00_8197 = BgL_ucs2zd2stringzd2_6937;
					}
				else
					{
						obj_t BgL_auxz00_8200;

						BgL_auxz00_8200 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(19747L), BGl_string3776z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6937);
						FAILURE(BgL_auxz00_8200, BFALSE, BFALSE);
					}
				return BGl_ucs2zd2stringzd2copyz00zz__unicodez00(BgL_auxz00_8197);
			}
		}

	}



/* ucs2-string-fill! */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2fillz12z12zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_56, ucs2_t BgL_ucs2z00_57)
	{
		{	/* Llib/unicode.scm 434 */
			{	/* Llib/unicode.scm 435 */
				int BgL_lenz00_3728;

				BgL_lenz00_3728 = UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_56);
				{
					long BgL_iz00_3773;

					BgL_iz00_3773 = 0L;
				BgL_loopz00_3772:
					if ((BgL_iz00_3773 == (long) (BgL_lenz00_3728)))
						{	/* Llib/unicode.scm 437 */
							return BgL_ucs2zd2stringzd2_56;
						}
					else
						{	/* Llib/unicode.scm 437 */
							{	/* Llib/unicode.scm 440 */
								int BgL_kz00_3781;

								BgL_kz00_3781 = (int) (BgL_iz00_3773);
								{	/* Llib/unicode.scm 264 */
									bool_t BgL_test4094z00_8210;

									{	/* Llib/unicode.scm 264 */
										long BgL_auxz00_8213;
										long BgL_tmpz00_8211;

										BgL_auxz00_8213 =
											(long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_56));
										BgL_tmpz00_8211 = (long) (BgL_kz00_3781);
										BgL_test4094z00_8210 =
											BOUND_CHECK(BgL_tmpz00_8211, BgL_auxz00_8213);
									}
									if (BgL_test4094z00_8210)
										{	/* Llib/unicode.scm 264 */
											UCS2_STRING_SET(BgL_ucs2zd2stringzd2_56, BgL_kz00_3781,
												BgL_ucs2z00_57);
										}
									else
										{	/* Llib/unicode.scm 269 */
											obj_t BgL_arg1239z00_3785;

											{	/* Llib/unicode.scm 269 */
												obj_t BgL_arg1241z00_3786;

												{	/* Llib/unicode.scm 269 */

													BgL_arg1241z00_3786 =
														BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
														(((long) (UCS2_STRING_LENGTH
																(BgL_ucs2zd2stringzd2_56)) - 1L), 10L);
												}
												BgL_arg1239z00_3785 =
													string_append_3(BGl_string3749z00zz__unicodez00,
													BgL_arg1241z00_3786, BGl_string3750z00zz__unicodez00);
											}
											BGl_errorz00zz__errorz00(BGl_symbol3754z00zz__unicodez00,
												BgL_arg1239z00_3785, BINT(BgL_kz00_3781));
							}}}
							{
								long BgL_iz00_8225;

								BgL_iz00_8225 = (BgL_iz00_3773 + 1L);
								BgL_iz00_3773 = BgL_iz00_8225;
								goto BgL_loopz00_3772;
							}
						}
				}
			}
		}

	}



/* &ucs2-string-fill! */
	obj_t BGl_z62ucs2zd2stringzd2fillz12z70zz__unicodez00(obj_t BgL_envz00_6938,
		obj_t BgL_ucs2zd2stringzd2_6939, obj_t BgL_ucs2z00_6940)
	{
		{	/* Llib/unicode.scm 434 */
			{	/* Llib/unicode.scm 435 */
				ucs2_t BgL_auxz00_8234;
				obj_t BgL_auxz00_8227;

				{	/* Llib/unicode.scm 435 */
					obj_t BgL_tmpz00_8235;

					if (UCS2P(BgL_ucs2z00_6940))
						{	/* Llib/unicode.scm 435 */
							BgL_tmpz00_8235 = BgL_ucs2z00_6940;
						}
					else
						{
							obj_t BgL_auxz00_8238;

							BgL_auxz00_8238 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(20052L), BGl_string3777z00zz__unicodez00,
								BGl_string3746z00zz__unicodez00, BgL_ucs2z00_6940);
							FAILURE(BgL_auxz00_8238, BFALSE, BFALSE);
						}
					BgL_auxz00_8234 = CUCS2(BgL_tmpz00_8235);
				}
				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6939))
					{	/* Llib/unicode.scm 435 */
						BgL_auxz00_8227 = BgL_ucs2zd2stringzd2_6939;
					}
				else
					{
						obj_t BgL_auxz00_8230;

						BgL_auxz00_8230 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(20052L), BGl_string3777z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6939);
						FAILURE(BgL_auxz00_8230, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2stringzd2fillz12z12zz__unicodez00(BgL_auxz00_8227,
					BgL_auxz00_8234);
			}
		}

	}



/* ucs2-string-upcase */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2upcasez00zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_58)
	{
		{	/* Llib/unicode.scm 446 */
			{	/* Llib/unicode.scm 447 */
				int BgL_lenz00_1361;

				BgL_lenz00_1361 = UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_58);
				{	/* Llib/unicode.scm 447 */
					obj_t BgL_resz00_1362;

					{	/* Llib/unicode.scm 137 */
						ucs2_t BgL_fillerz00_1372;

						{	/* Llib/unicode.scm 137 */
							int BgL_tmpz00_8245;

							BgL_tmpz00_8245 =
								(int) (((unsigned char) ((char) (((unsigned char) ' ')))));
							BgL_fillerz00_1372 = BGL_INT_TO_UCS2(BgL_tmpz00_8245);
						}
						{	/* Llib/unicode.scm 137 */

							BgL_resz00_1362 =
								make_ucs2_string(BgL_lenz00_1361, BgL_fillerz00_1372);
					}}
					{	/* Llib/unicode.scm 448 */

						{
							long BgL_iz00_3835;

							BgL_iz00_3835 = 0L;
						BgL_loopz00_3834:
							if ((BgL_iz00_3835 == (long) (BgL_lenz00_1361)))
								{	/* Llib/unicode.scm 450 */
									return BgL_resz00_1362;
								}
							else
								{	/* Llib/unicode.scm 450 */
									{	/* Llib/unicode.scm 454 */
										ucs2_t BgL_arg1345z00_3839;

										{	/* Llib/unicode.scm 454 */
											ucs2_t BgL_arg1346z00_3840;

											{	/* Llib/unicode.scm 454 */
												ucs2_t BgL_res3371z00_3841;

												{	/* Llib/unicode.scm 454 */
													int BgL_kz00_3843;

													BgL_kz00_3843 = (int) (BgL_iz00_3835);
													{	/* Llib/unicode.scm 251 */
														bool_t BgL_test4098z00_8256;

														{	/* Llib/unicode.scm 251 */
															long BgL_auxz00_8259;
															long BgL_tmpz00_8257;

															BgL_auxz00_8259 =
																(long) (UCS2_STRING_LENGTH
																(BgL_ucs2zd2stringzd2_58));
															BgL_tmpz00_8257 = (long) (BgL_kz00_3843);
															BgL_test4098z00_8256 =
																BOUND_CHECK(BgL_tmpz00_8257, BgL_auxz00_8259);
														}
														if (BgL_test4098z00_8256)
															{	/* Llib/unicode.scm 251 */
																BgL_res3371z00_3841 =
																	UCS2_STRING_REF(BgL_ucs2zd2stringzd2_58,
																	BgL_kz00_3843);
															}
														else
															{	/* Llib/unicode.scm 256 */
																obj_t BgL_arg1230z00_3847;

																{	/* Llib/unicode.scm 256 */
																	obj_t BgL_arg1231z00_3848;

																	{	/* Llib/unicode.scm 256 */

																		BgL_arg1231z00_3848 =
																			BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																			(((long) (UCS2_STRING_LENGTH
																					(BgL_ucs2zd2stringzd2_58)) - 1L),
																			10L);
																	}
																	BgL_arg1230z00_3847 =
																		string_append_3
																		(BGl_string3749z00zz__unicodez00,
																		BgL_arg1231z00_3848,
																		BGl_string3750z00zz__unicodez00);
																}
																BgL_res3371z00_3841 =
																	CUCS2(BGl_errorz00zz__errorz00
																	(BGl_symbol3751z00zz__unicodez00,
																		BgL_arg1230z00_3847, BINT(BgL_kz00_3843)));
												}}}
												BgL_arg1346z00_3840 = BgL_res3371z00_3841;
											}
											BgL_arg1345z00_3839 = ucs2_toupper(BgL_arg1346z00_3840);
										}
										{	/* Llib/unicode.scm 453 */
											int BgL_kz00_3857;

											BgL_kz00_3857 = (int) (BgL_iz00_3835);
											{	/* Llib/unicode.scm 264 */
												bool_t BgL_test4099z00_8274;

												{	/* Llib/unicode.scm 264 */
													long BgL_auxz00_8277;
													long BgL_tmpz00_8275;

													BgL_auxz00_8277 =
														(long) (UCS2_STRING_LENGTH(BgL_resz00_1362));
													BgL_tmpz00_8275 = (long) (BgL_kz00_3857);
													BgL_test4099z00_8274 =
														BOUND_CHECK(BgL_tmpz00_8275, BgL_auxz00_8277);
												}
												if (BgL_test4099z00_8274)
													{	/* Llib/unicode.scm 264 */
														UCS2_STRING_SET(BgL_resz00_1362, BgL_kz00_3857,
															BgL_arg1345z00_3839);
													}
												else
													{	/* Llib/unicode.scm 269 */
														obj_t BgL_arg1239z00_3862;

														{	/* Llib/unicode.scm 269 */
															obj_t BgL_arg1241z00_3863;

															{	/* Llib/unicode.scm 269 */

																BgL_arg1241z00_3863 =
																	BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																	(((long) (UCS2_STRING_LENGTH(BgL_resz00_1362))
																		- 1L), 10L);
															}
															BgL_arg1239z00_3862 =
																string_append_3(BGl_string3749z00zz__unicodez00,
																BgL_arg1241z00_3863,
																BGl_string3750z00zz__unicodez00);
														}
														BGl_errorz00zz__errorz00
															(BGl_symbol3754z00zz__unicodez00,
															BgL_arg1239z00_3862, BINT(BgL_kz00_3857));
									}}}}
									{
										long BgL_iz00_8289;

										BgL_iz00_8289 = (BgL_iz00_3835 + 1L);
										BgL_iz00_3835 = BgL_iz00_8289;
										goto BgL_loopz00_3834;
									}
								}
						}
					}
				}
			}
		}

	}



/* &ucs2-string-upcase */
	obj_t BGl_z62ucs2zd2stringzd2upcasez62zz__unicodez00(obj_t BgL_envz00_6941,
		obj_t BgL_ucs2zd2stringzd2_6942)
	{
		{	/* Llib/unicode.scm 446 */
			{	/* Llib/unicode.scm 447 */
				obj_t BgL_auxz00_8291;

				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6942))
					{	/* Llib/unicode.scm 447 */
						BgL_auxz00_8291 = BgL_ucs2zd2stringzd2_6942;
					}
				else
					{
						obj_t BgL_auxz00_8294;

						BgL_auxz00_8294 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(20502L), BGl_string3778z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6942);
						FAILURE(BgL_auxz00_8294, BFALSE, BFALSE);
					}
				return BGl_ucs2zd2stringzd2upcasez00zz__unicodez00(BgL_auxz00_8291);
			}
		}

	}



/* ucs2-string-downcase */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2downcasez00zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_59)
	{
		{	/* Llib/unicode.scm 460 */
			{	/* Llib/unicode.scm 461 */
				int BgL_lenz00_1373;

				BgL_lenz00_1373 = UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_59);
				{	/* Llib/unicode.scm 461 */
					obj_t BgL_resz00_1374;

					{	/* Llib/unicode.scm 137 */
						ucs2_t BgL_fillerz00_1384;

						{	/* Llib/unicode.scm 137 */
							int BgL_tmpz00_8300;

							BgL_tmpz00_8300 =
								(int) (((unsigned char) ((char) (((unsigned char) ' ')))));
							BgL_fillerz00_1384 = BGL_INT_TO_UCS2(BgL_tmpz00_8300);
						}
						{	/* Llib/unicode.scm 137 */

							BgL_resz00_1374 =
								make_ucs2_string(BgL_lenz00_1373, BgL_fillerz00_1384);
					}}
					{	/* Llib/unicode.scm 462 */

						{
							long BgL_iz00_3912;

							BgL_iz00_3912 = 0L;
						BgL_loopz00_3911:
							if ((BgL_iz00_3912 == (long) (BgL_lenz00_1373)))
								{	/* Llib/unicode.scm 464 */
									return BgL_resz00_1374;
								}
							else
								{	/* Llib/unicode.scm 464 */
									{	/* Llib/unicode.scm 468 */
										ucs2_t BgL_arg1351z00_3916;

										{	/* Llib/unicode.scm 468 */
											ucs2_t BgL_arg1352z00_3917;

											{	/* Llib/unicode.scm 468 */
												ucs2_t BgL_res3372z00_3918;

												{	/* Llib/unicode.scm 468 */
													int BgL_kz00_3920;

													BgL_kz00_3920 = (int) (BgL_iz00_3912);
													{	/* Llib/unicode.scm 251 */
														bool_t BgL_test4102z00_8311;

														{	/* Llib/unicode.scm 251 */
															long BgL_auxz00_8314;
															long BgL_tmpz00_8312;

															BgL_auxz00_8314 =
																(long) (UCS2_STRING_LENGTH
																(BgL_ucs2zd2stringzd2_59));
															BgL_tmpz00_8312 = (long) (BgL_kz00_3920);
															BgL_test4102z00_8311 =
																BOUND_CHECK(BgL_tmpz00_8312, BgL_auxz00_8314);
														}
														if (BgL_test4102z00_8311)
															{	/* Llib/unicode.scm 251 */
																BgL_res3372z00_3918 =
																	UCS2_STRING_REF(BgL_ucs2zd2stringzd2_59,
																	BgL_kz00_3920);
															}
														else
															{	/* Llib/unicode.scm 256 */
																obj_t BgL_arg1230z00_3924;

																{	/* Llib/unicode.scm 256 */
																	obj_t BgL_arg1231z00_3925;

																	{	/* Llib/unicode.scm 256 */

																		BgL_arg1231z00_3925 =
																			BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																			(((long) (UCS2_STRING_LENGTH
																					(BgL_ucs2zd2stringzd2_59)) - 1L),
																			10L);
																	}
																	BgL_arg1230z00_3924 =
																		string_append_3
																		(BGl_string3749z00zz__unicodez00,
																		BgL_arg1231z00_3925,
																		BGl_string3750z00zz__unicodez00);
																}
																BgL_res3372z00_3918 =
																	CUCS2(BGl_errorz00zz__errorz00
																	(BGl_symbol3751z00zz__unicodez00,
																		BgL_arg1230z00_3924, BINT(BgL_kz00_3920)));
												}}}
												BgL_arg1352z00_3917 = BgL_res3372z00_3918;
											}
											BgL_arg1351z00_3916 = ucs2_tolower(BgL_arg1352z00_3917);
										}
										{	/* Llib/unicode.scm 467 */
											int BgL_kz00_3934;

											BgL_kz00_3934 = (int) (BgL_iz00_3912);
											{	/* Llib/unicode.scm 264 */
												bool_t BgL_test4103z00_8329;

												{	/* Llib/unicode.scm 264 */
													long BgL_auxz00_8332;
													long BgL_tmpz00_8330;

													BgL_auxz00_8332 =
														(long) (UCS2_STRING_LENGTH(BgL_resz00_1374));
													BgL_tmpz00_8330 = (long) (BgL_kz00_3934);
													BgL_test4103z00_8329 =
														BOUND_CHECK(BgL_tmpz00_8330, BgL_auxz00_8332);
												}
												if (BgL_test4103z00_8329)
													{	/* Llib/unicode.scm 264 */
														UCS2_STRING_SET(BgL_resz00_1374, BgL_kz00_3934,
															BgL_arg1351z00_3916);
													}
												else
													{	/* Llib/unicode.scm 269 */
														obj_t BgL_arg1239z00_3939;

														{	/* Llib/unicode.scm 269 */
															obj_t BgL_arg1241z00_3940;

															{	/* Llib/unicode.scm 269 */

																BgL_arg1241z00_3940 =
																	BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																	(((long) (UCS2_STRING_LENGTH(BgL_resz00_1374))
																		- 1L), 10L);
															}
															BgL_arg1239z00_3939 =
																string_append_3(BGl_string3749z00zz__unicodez00,
																BgL_arg1241z00_3940,
																BGl_string3750z00zz__unicodez00);
														}
														BGl_errorz00zz__errorz00
															(BGl_symbol3754z00zz__unicodez00,
															BgL_arg1239z00_3939, BINT(BgL_kz00_3934));
									}}}}
									{
										long BgL_iz00_8344;

										BgL_iz00_8344 = (BgL_iz00_3912 + 1L);
										BgL_iz00_3912 = BgL_iz00_8344;
										goto BgL_loopz00_3911;
									}
								}
						}
					}
				}
			}
		}

	}



/* &ucs2-string-downcase */
	obj_t BGl_z62ucs2zd2stringzd2downcasez62zz__unicodez00(obj_t BgL_envz00_6943,
		obj_t BgL_ucs2zd2stringzd2_6944)
	{
		{	/* Llib/unicode.scm 460 */
			{	/* Llib/unicode.scm 461 */
				obj_t BgL_auxz00_8346;

				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6944))
					{	/* Llib/unicode.scm 461 */
						BgL_auxz00_8346 = BgL_ucs2zd2stringzd2_6944;
					}
				else
					{
						obj_t BgL_auxz00_8349;

						BgL_auxz00_8349 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(21017L), BGl_string3779z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6944);
						FAILURE(BgL_auxz00_8349, BFALSE, BFALSE);
					}
				return BGl_ucs2zd2stringzd2downcasez00zz__unicodez00(BgL_auxz00_8346);
			}
		}

	}



/* ucs2-string-upcase! */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2upcasez12z12zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_60)
	{
		{	/* Llib/unicode.scm 474 */
			{	/* Llib/unicode.scm 475 */
				int BgL_lenz00_1385;

				BgL_lenz00_1385 = UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_60);
				{	/* Llib/unicode.scm 476 */

					{
						long BgL_iz00_3983;

						BgL_iz00_3983 = 0L;
					BgL_loopz00_3982:
						if ((BgL_iz00_3983 == (long) (BgL_lenz00_1385)))
							{	/* Llib/unicode.scm 478 */
								return BgL_ucs2zd2stringzd2_60;
							}
						else
							{	/* Llib/unicode.scm 478 */
								{	/* Llib/unicode.scm 482 */
									ucs2_t BgL_arg1356z00_3987;

									{	/* Llib/unicode.scm 482 */
										ucs2_t BgL_arg1357z00_3988;

										{	/* Llib/unicode.scm 482 */
											ucs2_t BgL_res3373z00_3989;

											{	/* Llib/unicode.scm 482 */
												int BgL_kz00_3991;

												BgL_kz00_3991 = (int) (BgL_iz00_3983);
												{	/* Llib/unicode.scm 251 */
													bool_t BgL_test4106z00_8359;

													{	/* Llib/unicode.scm 251 */
														long BgL_auxz00_8362;
														long BgL_tmpz00_8360;

														BgL_auxz00_8362 =
															(long) (UCS2_STRING_LENGTH
															(BgL_ucs2zd2stringzd2_60));
														BgL_tmpz00_8360 = (long) (BgL_kz00_3991);
														BgL_test4106z00_8359 =
															BOUND_CHECK(BgL_tmpz00_8360, BgL_auxz00_8362);
													}
													if (BgL_test4106z00_8359)
														{	/* Llib/unicode.scm 251 */
															BgL_res3373z00_3989 =
																UCS2_STRING_REF(BgL_ucs2zd2stringzd2_60,
																BgL_kz00_3991);
														}
													else
														{	/* Llib/unicode.scm 256 */
															obj_t BgL_arg1230z00_3995;

															{	/* Llib/unicode.scm 256 */
																obj_t BgL_arg1231z00_3996;

																{	/* Llib/unicode.scm 256 */

																	BgL_arg1231z00_3996 =
																		BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																		(((long) (UCS2_STRING_LENGTH
																				(BgL_ucs2zd2stringzd2_60)) - 1L), 10L);
																}
																BgL_arg1230z00_3995 =
																	string_append_3
																	(BGl_string3749z00zz__unicodez00,
																	BgL_arg1231z00_3996,
																	BGl_string3750z00zz__unicodez00);
															}
															BgL_res3373z00_3989 =
																CUCS2(BGl_errorz00zz__errorz00
																(BGl_symbol3751z00zz__unicodez00,
																	BgL_arg1230z00_3995, BINT(BgL_kz00_3991)));
											}}}
											BgL_arg1357z00_3988 = BgL_res3373z00_3989;
										}
										BgL_arg1356z00_3987 = ucs2_toupper(BgL_arg1357z00_3988);
									}
									{	/* Llib/unicode.scm 481 */
										int BgL_kz00_4005;

										BgL_kz00_4005 = (int) (BgL_iz00_3983);
										{	/* Llib/unicode.scm 264 */
											bool_t BgL_test4107z00_8377;

											{	/* Llib/unicode.scm 264 */
												long BgL_auxz00_8380;
												long BgL_tmpz00_8378;

												BgL_auxz00_8380 =
													(long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_60));
												BgL_tmpz00_8378 = (long) (BgL_kz00_4005);
												BgL_test4107z00_8377 =
													BOUND_CHECK(BgL_tmpz00_8378, BgL_auxz00_8380);
											}
											if (BgL_test4107z00_8377)
												{	/* Llib/unicode.scm 264 */
													UCS2_STRING_SET(BgL_ucs2zd2stringzd2_60,
														BgL_kz00_4005, BgL_arg1356z00_3987);
												}
											else
												{	/* Llib/unicode.scm 269 */
													obj_t BgL_arg1239z00_4010;

													{	/* Llib/unicode.scm 269 */
														obj_t BgL_arg1241z00_4011;

														{	/* Llib/unicode.scm 269 */

															BgL_arg1241z00_4011 =
																BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																(((long) (UCS2_STRING_LENGTH
																		(BgL_ucs2zd2stringzd2_60)) - 1L), 10L);
														}
														BgL_arg1239z00_4010 =
															string_append_3(BGl_string3749z00zz__unicodez00,
															BgL_arg1241z00_4011,
															BGl_string3750z00zz__unicodez00);
													}
													BGl_errorz00zz__errorz00
														(BGl_symbol3754z00zz__unicodez00,
														BgL_arg1239z00_4010, BINT(BgL_kz00_4005));
								}}}}
								{
									long BgL_iz00_8392;

									BgL_iz00_8392 = (BgL_iz00_3983 + 1L);
									BgL_iz00_3983 = BgL_iz00_8392;
									goto BgL_loopz00_3982;
								}
							}
					}
				}
			}
		}

	}



/* &ucs2-string-upcase! */
	obj_t BGl_z62ucs2zd2stringzd2upcasez12z70zz__unicodez00(obj_t BgL_envz00_6945,
		obj_t BgL_ucs2zd2stringzd2_6946)
	{
		{	/* Llib/unicode.scm 474 */
			{	/* Llib/unicode.scm 475 */
				obj_t BgL_auxz00_8394;

				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6946))
					{	/* Llib/unicode.scm 475 */
						BgL_auxz00_8394 = BgL_ucs2zd2stringzd2_6946;
					}
				else
					{
						obj_t BgL_auxz00_8397;

						BgL_auxz00_8397 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(21533L), BGl_string3780z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6946);
						FAILURE(BgL_auxz00_8397, BFALSE, BFALSE);
					}
				return BGl_ucs2zd2stringzd2upcasez12z12zz__unicodez00(BgL_auxz00_8394);
			}
		}

	}



/* ucs2-string-downcase! */
	BGL_EXPORTED_DEF obj_t BGl_ucs2zd2stringzd2downcasez12z12zz__unicodez00(obj_t
		BgL_ucs2zd2stringzd2_61)
	{
		{	/* Llib/unicode.scm 488 */
			{	/* Llib/unicode.scm 489 */
				int BgL_lenz00_1395;

				BgL_lenz00_1395 = UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_61);
				{	/* Llib/unicode.scm 490 */

					{
						long BgL_iz00_4054;

						BgL_iz00_4054 = 0L;
					BgL_loopz00_4053:
						if ((BgL_iz00_4054 == (long) (BgL_lenz00_1395)))
							{	/* Llib/unicode.scm 492 */
								return BgL_ucs2zd2stringzd2_61;
							}
						else
							{	/* Llib/unicode.scm 492 */
								{	/* Llib/unicode.scm 496 */
									ucs2_t BgL_arg1361z00_4058;

									{	/* Llib/unicode.scm 496 */
										ucs2_t BgL_arg1362z00_4059;

										{	/* Llib/unicode.scm 496 */
											ucs2_t BgL_res3374z00_4060;

											{	/* Llib/unicode.scm 496 */
												int BgL_kz00_4062;

												BgL_kz00_4062 = (int) (BgL_iz00_4054);
												{	/* Llib/unicode.scm 251 */
													bool_t BgL_test4110z00_8407;

													{	/* Llib/unicode.scm 251 */
														long BgL_auxz00_8410;
														long BgL_tmpz00_8408;

														BgL_auxz00_8410 =
															(long) (UCS2_STRING_LENGTH
															(BgL_ucs2zd2stringzd2_61));
														BgL_tmpz00_8408 = (long) (BgL_kz00_4062);
														BgL_test4110z00_8407 =
															BOUND_CHECK(BgL_tmpz00_8408, BgL_auxz00_8410);
													}
													if (BgL_test4110z00_8407)
														{	/* Llib/unicode.scm 251 */
															BgL_res3374z00_4060 =
																UCS2_STRING_REF(BgL_ucs2zd2stringzd2_61,
																BgL_kz00_4062);
														}
													else
														{	/* Llib/unicode.scm 256 */
															obj_t BgL_arg1230z00_4066;

															{	/* Llib/unicode.scm 256 */
																obj_t BgL_arg1231z00_4067;

																{	/* Llib/unicode.scm 256 */

																	BgL_arg1231z00_4067 =
																		BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																		(((long) (UCS2_STRING_LENGTH
																				(BgL_ucs2zd2stringzd2_61)) - 1L), 10L);
																}
																BgL_arg1230z00_4066 =
																	string_append_3
																	(BGl_string3749z00zz__unicodez00,
																	BgL_arg1231z00_4067,
																	BGl_string3750z00zz__unicodez00);
															}
															BgL_res3374z00_4060 =
																CUCS2(BGl_errorz00zz__errorz00
																(BGl_symbol3751z00zz__unicodez00,
																	BgL_arg1230z00_4066, BINT(BgL_kz00_4062)));
											}}}
											BgL_arg1362z00_4059 = BgL_res3374z00_4060;
										}
										BgL_arg1361z00_4058 = ucs2_tolower(BgL_arg1362z00_4059);
									}
									{	/* Llib/unicode.scm 495 */
										int BgL_kz00_4076;

										BgL_kz00_4076 = (int) (BgL_iz00_4054);
										{	/* Llib/unicode.scm 264 */
											bool_t BgL_test4111z00_8425;

											{	/* Llib/unicode.scm 264 */
												long BgL_auxz00_8428;
												long BgL_tmpz00_8426;

												BgL_auxz00_8428 =
													(long) (UCS2_STRING_LENGTH(BgL_ucs2zd2stringzd2_61));
												BgL_tmpz00_8426 = (long) (BgL_kz00_4076);
												BgL_test4111z00_8425 =
													BOUND_CHECK(BgL_tmpz00_8426, BgL_auxz00_8428);
											}
											if (BgL_test4111z00_8425)
												{	/* Llib/unicode.scm 264 */
													UCS2_STRING_SET(BgL_ucs2zd2stringzd2_61,
														BgL_kz00_4076, BgL_arg1361z00_4058);
												}
											else
												{	/* Llib/unicode.scm 269 */
													obj_t BgL_arg1239z00_4081;

													{	/* Llib/unicode.scm 269 */
														obj_t BgL_arg1241z00_4082;

														{	/* Llib/unicode.scm 269 */

															BgL_arg1241z00_4082 =
																BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
																(((long) (UCS2_STRING_LENGTH
																		(BgL_ucs2zd2stringzd2_61)) - 1L), 10L);
														}
														BgL_arg1239z00_4081 =
															string_append_3(BGl_string3749z00zz__unicodez00,
															BgL_arg1241z00_4082,
															BGl_string3750z00zz__unicodez00);
													}
													BGl_errorz00zz__errorz00
														(BGl_symbol3754z00zz__unicodez00,
														BgL_arg1239z00_4081, BINT(BgL_kz00_4076));
								}}}}
								{
									long BgL_iz00_8440;

									BgL_iz00_8440 = (BgL_iz00_4054 + 1L);
									BgL_iz00_4054 = BgL_iz00_8440;
									goto BgL_loopz00_4053;
								}
							}
					}
				}
			}
		}

	}



/* &ucs2-string-downcase! */
	obj_t BGl_z62ucs2zd2stringzd2downcasez12z70zz__unicodez00(obj_t
		BgL_envz00_6947, obj_t BgL_ucs2zd2stringzd2_6948)
	{
		{	/* Llib/unicode.scm 488 */
			{	/* Llib/unicode.scm 489 */
				obj_t BgL_auxz00_8442;

				if (UCS2_STRINGP(BgL_ucs2zd2stringzd2_6948))
					{	/* Llib/unicode.scm 489 */
						BgL_auxz00_8442 = BgL_ucs2zd2stringzd2_6948;
					}
				else
					{
						obj_t BgL_auxz00_8445;

						BgL_auxz00_8445 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(22038L), BGl_string3781z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_ucs2zd2stringzd2_6948);
						FAILURE(BgL_auxz00_8445, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2stringzd2downcasez12z12zz__unicodez00(BgL_auxz00_8442);
			}
		}

	}



/* ucs2-string->utf8-string */
	BGL_EXPORTED_DEF obj_t
		BGl_ucs2zd2stringzd2ze3utf8zd2stringz31zz__unicodez00(obj_t BgL_ucs2z00_62)
	{
		{	/* Llib/unicode.scm 502 */
			BGL_TAIL return ucs2_string_to_utf8_string(BgL_ucs2z00_62);
		}

	}



/* &ucs2-string->utf8-string */
	obj_t BGl_z62ucs2zd2stringzd2ze3utf8zd2stringz53zz__unicodez00(obj_t
		BgL_envz00_6949, obj_t BgL_ucs2z00_6950)
	{
		{	/* Llib/unicode.scm 502 */
			{	/* Llib/unicode.scm 503 */
				obj_t BgL_auxz00_8451;

				if (UCS2_STRINGP(BgL_ucs2z00_6950))
					{	/* Llib/unicode.scm 503 */
						BgL_auxz00_8451 = BgL_ucs2z00_6950;
					}
				else
					{
						obj_t BgL_auxz00_8454;

						BgL_auxz00_8454 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(22554L), BGl_string3782z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_ucs2z00_6950);
						FAILURE(BgL_auxz00_8454, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2stringzd2ze3utf8zd2stringz31zz__unicodez00
					(BgL_auxz00_8451);
			}
		}

	}



/* inverse-utf8-table */
	BGL_EXPORTED_DEF obj_t BGl_inversezd2utf8zd2tablez00zz__unicodez00(obj_t
		BgL_tablez00_63)
	{
		{	/* Llib/unicode.scm 611 */
			{
				long BgL_iz00_1410;
				obj_t BgL_resz00_1411;

				BgL_iz00_1410 = 0L;
				BgL_resz00_1411 = BNIL;
			BgL_zc3z04anonymousza31364ze3z87_1412:
				if ((BgL_iz00_1410 == VECTOR_LENGTH(BgL_tablez00_63)))
					{	/* Llib/unicode.scm 636 */
						return BgL_resz00_1411;
					}
				else
					{	/* Llib/unicode.scm 638 */
						obj_t BgL_sz00_1414;

						BgL_sz00_1414 = VECTOR_REF(BgL_tablez00_63, BgL_iz00_1410);
						if ((STRING_LENGTH(((obj_t) BgL_sz00_1414)) > 0L))
							{
								obj_t BgL_resz00_8469;
								long BgL_iz00_8467;

								BgL_iz00_8467 = (BgL_iz00_1410 + 1L);
								BgL_resz00_8469 =
									BGl_addzd2tablezd2entryze70ze7zz__unicodez00(BgL_resz00_1411,
									BgL_sz00_1414, (128L + BgL_iz00_1410));
								BgL_resz00_1411 = BgL_resz00_8469;
								BgL_iz00_1410 = BgL_iz00_8467;
								goto BgL_zc3z04anonymousza31364ze3z87_1412;
							}
						else
							{
								long BgL_iz00_8472;

								BgL_iz00_8472 = (BgL_iz00_1410 + 1L);
								BgL_iz00_1410 = BgL_iz00_8472;
								goto BgL_zc3z04anonymousza31364ze3z87_1412;
							}
					}
			}
		}

	}



/* loop~1 */
	obj_t BGl_loopze71ze7zz__unicodez00(long BgL_lenz00_7034,
		long BgL_charz00_7033, obj_t BgL_sz00_7032, long BgL_iz00_1428)
	{
		{	/* Llib/unicode.scm 615 */
			if ((BgL_lenz00_7034 == BgL_iz00_1428))
				{	/* Llib/unicode.scm 616 */
					return BCHAR((BgL_charz00_7033));
				}
			else
				{	/* Llib/unicode.scm 618 */
					obj_t BgL_arg1376z00_1431;

					{	/* Llib/unicode.scm 618 */
						long BgL_arg1378z00_1433;
						obj_t BgL_arg1379z00_1434;

						BgL_arg1378z00_1433 =
							(STRING_REF(((obj_t) BgL_sz00_7032), BgL_iz00_1428));
						BgL_arg1379z00_1434 =
							BGl_loopze71ze7zz__unicodez00(BgL_lenz00_7034, BgL_charz00_7033,
							BgL_sz00_7032, (BgL_iz00_1428 + 1L));
						BgL_arg1376z00_1431 =
							MAKE_YOUNG_PAIR(BINT(BgL_arg1378z00_1433), BgL_arg1379z00_1434);
					}
					{	/* Llib/unicode.scm 618 */
						obj_t BgL_list1377z00_1432;

						BgL_list1377z00_1432 = MAKE_YOUNG_PAIR(BgL_arg1376z00_1431, BNIL);
						return BgL_list1377z00_1432;
					}
				}
		}

	}



/* make-table-entry~0 */
	obj_t BGl_makezd2tablezd2entryze70ze7zz__unicodez00(obj_t BgL_sz00_1423,
		long BgL_charz00_1424)
	{
		{	/* Llib/unicode.scm 618 */
			{	/* Llib/unicode.scm 614 */
				long BgL_lenz00_1426;

				BgL_lenz00_1426 = STRING_LENGTH(((obj_t) BgL_sz00_1423));
				return
					BGl_loopze71ze7zz__unicodez00(BgL_lenz00_1426, BgL_charz00_1424,
					BgL_sz00_1423, 0L);
			}
		}

	}



/* loop~2 */
	obj_t BGl_loopze72ze7zz__unicodez00(obj_t BgL_ez00_1444,
		obj_t BgL_tablez00_1445)
	{
		{	/* Llib/unicode.scm 621 */
			if (NULLP(BgL_ez00_1444))
				{	/* Llib/unicode.scm 623 */
					return BgL_tablez00_1445;
				}
			else
				{	/* Llib/unicode.scm 625 */
					obj_t BgL_nz00_1448;

					BgL_nz00_1448 = CAR(((obj_t) BgL_ez00_1444));
					{	/* Llib/unicode.scm 625 */
						obj_t BgL_oz00_1449;

						BgL_oz00_1449 =
							BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_nz00_1448,
							BgL_tablez00_1445);
						{	/* Llib/unicode.scm 626 */

							if (CBOOL(BgL_oz00_1449))
								{	/* Llib/unicode.scm 628 */
									obj_t BgL_stz00_1450;

									BgL_stz00_1450 = CDR(((obj_t) BgL_oz00_1449));
									{	/* Llib/unicode.scm 629 */
										obj_t BgL_arg1385z00_1451;

										{	/* Llib/unicode.scm 629 */
											obj_t BgL_arg1386z00_1452;

											{	/* Llib/unicode.scm 629 */
												obj_t BgL_pairz00_4106;

												BgL_pairz00_4106 = CDR(((obj_t) BgL_ez00_1444));
												BgL_arg1386z00_1452 = CAR(BgL_pairz00_4106);
											}
											BgL_arg1385z00_1451 =
												BGl_loopze72ze7zz__unicodez00(BgL_arg1386z00_1452,
												BgL_stz00_1450);
										}
										{	/* Llib/unicode.scm 629 */
											obj_t BgL_tmpz00_8502;

											BgL_tmpz00_8502 = ((obj_t) BgL_oz00_1449);
											SET_CDR(BgL_tmpz00_8502, BgL_arg1385z00_1451);
										}
									}
									return BgL_tablez00_1445;
								}
							else
								{	/* Llib/unicode.scm 627 */
									return MAKE_YOUNG_PAIR(BgL_ez00_1444, BgL_tablez00_1445);
								}
						}
					}
				}
		}

	}



/* add-table-entry~0 */
	obj_t BGl_addzd2tablezd2entryze70ze7zz__unicodez00(obj_t BgL_tablez00_1438,
		obj_t BgL_sz00_1439, long BgL_charz00_1440)
	{
		{	/* Llib/unicode.scm 631 */
			{	/* Llib/unicode.scm 621 */
				obj_t BgL_g1042z00_1442;

				{	/* Llib/unicode.scm 621 */
					obj_t BgL_arg1387z00_1454;

					BgL_arg1387z00_1454 =
						BGl_makezd2tablezd2entryze70ze7zz__unicodez00(BgL_sz00_1439,
						BgL_charz00_1440);
					BgL_g1042z00_1442 = CAR(((obj_t) BgL_arg1387z00_1454));
				}
				return
					BGl_loopze72ze7zz__unicodez00(BgL_g1042z00_1442, BgL_tablez00_1438);
			}
		}

	}



/* &inverse-utf8-table */
	obj_t BGl_z62inversezd2utf8zd2tablez62zz__unicodez00(obj_t BgL_envz00_6951,
		obj_t BgL_tablez00_6952)
	{
		{	/* Llib/unicode.scm 611 */
			{	/* Llib/unicode.scm 614 */
				obj_t BgL_auxz00_8510;

				if (VECTORP(BgL_tablez00_6952))
					{	/* Llib/unicode.scm 614 */
						BgL_auxz00_8510 = BgL_tablez00_6952;
					}
				else
					{
						obj_t BgL_auxz00_8513;

						BgL_auxz00_8513 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(25484L), BGl_string3783z00zz__unicodez00,
							BGl_string3744z00zz__unicodez00, BgL_tablez00_6952);
						FAILURE(BgL_auxz00_8513, BFALSE, BFALSE);
					}
				return BGl_inversezd2utf8zd2tablez00zz__unicodez00(BgL_auxz00_8510);
			}
		}

	}



/* utf8-string->ucs2-string */
	BGL_EXPORTED_DEF obj_t
		BGl_utf8zd2stringzd2ze3ucs2zd2stringz31zz__unicodez00(obj_t BgL_utf8z00_64)
	{
		{	/* Llib/unicode.scm 646 */
			BGL_TAIL return utf8_string_to_ucs2_string(BgL_utf8z00_64);
		}

	}



/* &utf8-string->ucs2-string */
	obj_t BGl_z62utf8zd2stringzd2ze3ucs2zd2stringz53zz__unicodez00(obj_t
		BgL_envz00_6953, obj_t BgL_utf8z00_6954)
	{
		{	/* Llib/unicode.scm 646 */
			{	/* Llib/unicode.scm 647 */
				obj_t BgL_auxz00_8519;

				if (STRINGP(BgL_utf8z00_6954))
					{	/* Llib/unicode.scm 647 */
						BgL_auxz00_8519 = BgL_utf8z00_6954;
					}
				else
					{
						obj_t BgL_auxz00_8522;

						BgL_auxz00_8522 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(26505L), BGl_string3784z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_utf8z00_6954);
						FAILURE(BgL_auxz00_8522, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2stringzd2ze3ucs2zd2stringz31zz__unicodez00
					(BgL_auxz00_8519);
			}
		}

	}



/* utf8->8bits-length */
	long BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(obj_t BgL_strz00_65,
		long BgL_lenz00_66)
	{
		{	/* Llib/unicode.scm 652 */
			{
				long BgL_siza7eza7_1458;
				long BgL_iz00_1459;

				BgL_siza7eza7_1458 = 0L;
				BgL_iz00_1459 = 0L;
			BgL_zc3z04anonymousza31388ze3z87_1460:
				if ((BgL_iz00_1459 >= BgL_lenz00_66))
					{	/* Llib/unicode.scm 655 */
						return BgL_siza7eza7_1458;
					}
				else
					{	/* Llib/unicode.scm 657 */
						long BgL_cz00_1462;

						BgL_cz00_1462 = (STRING_REF(BgL_strz00_65, BgL_iz00_1459));
						if ((BgL_cz00_1462 < 194L))
							{
								long BgL_iz00_8535;
								long BgL_siza7eza7_8533;

								BgL_siza7eza7_8533 = (BgL_siza7eza7_1458 + 1L);
								BgL_iz00_8535 = (BgL_iz00_1459 + 1L);
								BgL_iz00_1459 = BgL_iz00_8535;
								BgL_siza7eza7_1458 = BgL_siza7eza7_8533;
								goto BgL_zc3z04anonymousza31388ze3z87_1460;
							}
						else
							{	/* Llib/unicode.scm 659 */
								if ((BgL_cz00_1462 <= 223L))
									{
										long BgL_iz00_8541;
										long BgL_siza7eza7_8539;

										BgL_siza7eza7_8539 = (BgL_siza7eza7_1458 + 1L);
										BgL_iz00_8541 = (BgL_iz00_1459 + 2L);
										BgL_iz00_1459 = BgL_iz00_8541;
										BgL_siza7eza7_1458 = BgL_siza7eza7_8539;
										goto BgL_zc3z04anonymousza31388ze3z87_1460;
									}
								else
									{	/* Llib/unicode.scm 661 */
										if ((BgL_cz00_1462 <= 239L))
											{
												long BgL_iz00_8547;
												long BgL_siza7eza7_8545;

												BgL_siza7eza7_8545 = (BgL_siza7eza7_1458 + 1L);
												BgL_iz00_8547 = (BgL_iz00_1459 + 3L);
												BgL_iz00_1459 = BgL_iz00_8547;
												BgL_siza7eza7_1458 = BgL_siza7eza7_8545;
												goto BgL_zc3z04anonymousza31388ze3z87_1460;
											}
										else
											{	/* Llib/unicode.scm 663 */
												if ((BgL_cz00_1462 <= 247L))
													{
														long BgL_iz00_8553;
														long BgL_siza7eza7_8551;

														BgL_siza7eza7_8551 = (BgL_siza7eza7_1458 + 1L);
														BgL_iz00_8553 = (BgL_iz00_1459 + 4L);
														BgL_iz00_1459 = BgL_iz00_8553;
														BgL_siza7eza7_1458 = BgL_siza7eza7_8551;
														goto BgL_zc3z04anonymousza31388ze3z87_1460;
													}
												else
													{	/* Llib/unicode.scm 665 */
														if ((BgL_cz00_1462 <= 251L))
															{
																long BgL_iz00_8559;
																long BgL_siza7eza7_8557;

																BgL_siza7eza7_8557 = (BgL_siza7eza7_1458 + 1L);
																BgL_iz00_8559 = (BgL_iz00_1459 + 5L);
																BgL_iz00_1459 = BgL_iz00_8559;
																BgL_siza7eza7_1458 = BgL_siza7eza7_8557;
																goto BgL_zc3z04anonymousza31388ze3z87_1460;
															}
														else
															{
																long BgL_iz00_8563;
																long BgL_siza7eza7_8561;

																BgL_siza7eza7_8561 = (BgL_siza7eza7_1458 + 1L);
																BgL_iz00_8563 = (BgL_iz00_1459 + 6L);
																BgL_iz00_1459 = BgL_iz00_8563;
																BgL_siza7eza7_1458 = BgL_siza7eza7_8561;
																goto BgL_zc3z04anonymousza31388ze3z87_1460;
															}
													}
											}
									}
							}
					}
			}
		}

	}



/* ascii-string? */
	BGL_EXPORTED_DEF bool_t BGl_asciizd2stringzf3z21zz__unicodez00(obj_t
		BgL_strz00_67)
	{
		{	/* Llib/unicode.scm 675 */
			return
				(BGl_stringzd2minimalzd2charsetz00zz__unicodez00(BgL_strz00_67) ==
				BGl_symbol3786z00zz__unicodez00);
		}

	}



/* &ascii-string? */
	obj_t BGl_z62asciizd2stringzf3z43zz__unicodez00(obj_t BgL_envz00_6955,
		obj_t BgL_strz00_6956)
	{
		{	/* Llib/unicode.scm 675 */
			{	/* Llib/unicode.scm 676 */
				bool_t BgL_tmpz00_8567;

				{	/* Llib/unicode.scm 676 */
					obj_t BgL_auxz00_8568;

					if (STRINGP(BgL_strz00_6956))
						{	/* Llib/unicode.scm 676 */
							BgL_auxz00_8568 = BgL_strz00_6956;
						}
					else
						{
							obj_t BgL_auxz00_8571;

							BgL_auxz00_8571 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(27489L), BGl_string3788z00zz__unicodez00,
								BGl_string3785z00zz__unicodez00, BgL_strz00_6956);
							FAILURE(BgL_auxz00_8571, BFALSE, BFALSE);
						}
					BgL_tmpz00_8567 =
						BGl_asciizd2stringzf3z21zz__unicodez00(BgL_auxz00_8568);
				}
				return BBOOL(BgL_tmpz00_8567);
			}
		}

	}



/* _utf8-string? */
	obj_t BGl__utf8zd2stringzf3z21zz__unicodez00(obj_t BgL_env1129z00_71,
		obj_t BgL_opt1128z00_70)
	{
		{	/* Llib/unicode.scm 681 */
			{	/* Llib/unicode.scm 681 */
				obj_t BgL_g1130z00_1483;

				{
					obj_t BgL_auxz00_8577;

					if (VECTORP(BgL_opt1128z00_70))
						{	/* Llib/unicode.scm 681 */
							BgL_auxz00_8577 = BgL_opt1128z00_70;
						}
					else
						{
							obj_t BgL_auxz00_8580;

							BgL_auxz00_8580 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(27750L), BGl_string3789z00zz__unicodez00,
								BGl_string3744z00zz__unicodez00, BgL_opt1128z00_70);
							FAILURE(BgL_auxz00_8580, BFALSE, BFALSE);
						}
					BgL_g1130z00_1483 = VECTOR_REF(BgL_auxz00_8577, 0L);
				}
				{	/* Llib/unicode.scm 681 */
					long BgL_aux1132z00_1485;

					{
						obj_t BgL_auxz00_8585;

						if (VECTORP(BgL_opt1128z00_70))
							{	/* Llib/unicode.scm 681 */
								BgL_auxz00_8585 = BgL_opt1128z00_70;
							}
						else
							{
								obj_t BgL_auxz00_8588;

								BgL_auxz00_8588 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(27750L),
									BGl_string3789z00zz__unicodez00,
									BGl_string3744z00zz__unicodez00, BgL_opt1128z00_70);
								FAILURE(BgL_auxz00_8588, BFALSE, BFALSE);
							}
						BgL_aux1132z00_1485 = VECTOR_LENGTH(BgL_auxz00_8585);
					}
					switch (BgL_aux1132z00_1485)
						{
						case 1L:

							{	/* Llib/unicode.scm 681 */

								{	/* Llib/unicode.scm 681 */
									bool_t BgL_tmpz00_8593;

									{	/* Llib/unicode.scm 681 */
										obj_t BgL_auxz00_8594;

										if (STRINGP(BgL_g1130z00_1483))
											{	/* Llib/unicode.scm 681 */
												BgL_auxz00_8594 = BgL_g1130z00_1483;
											}
										else
											{
												obj_t BgL_auxz00_8597;

												BgL_auxz00_8597 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3742z00zz__unicodez00, BINT(27750L),
													BGl_string3789z00zz__unicodez00,
													BGl_string3785z00zz__unicodez00, BgL_g1130z00_1483);
												FAILURE(BgL_auxz00_8597, BFALSE, BFALSE);
											}
										BgL_tmpz00_8593 =
											BGl_utf8zd2stringzf3z21zz__unicodez00(BgL_auxz00_8594,
											((bool_t) 0));
									}
									return BBOOL(BgL_tmpz00_8593);
								}
							}
							break;
						case 2L:

							{	/* Llib/unicode.scm 681 */
								obj_t BgL_strictz00_1487;

								{
									obj_t BgL_auxz00_8603;

									if (VECTORP(BgL_opt1128z00_70))
										{	/* Llib/unicode.scm 681 */
											BgL_auxz00_8603 = BgL_opt1128z00_70;
										}
									else
										{
											obj_t BgL_auxz00_8606;

											BgL_auxz00_8606 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3742z00zz__unicodez00, BINT(27750L),
												BGl_string3789z00zz__unicodez00,
												BGl_string3744z00zz__unicodez00, BgL_opt1128z00_70);
											FAILURE(BgL_auxz00_8606, BFALSE, BFALSE);
										}
									BgL_strictz00_1487 = VECTOR_REF(BgL_auxz00_8603, 1L);
								}
								{	/* Llib/unicode.scm 681 */

									{	/* Llib/unicode.scm 681 */
										bool_t BgL_tmpz00_8611;

										{	/* Llib/unicode.scm 681 */
											obj_t BgL_auxz00_8612;

											if (STRINGP(BgL_g1130z00_1483))
												{	/* Llib/unicode.scm 681 */
													BgL_auxz00_8612 = BgL_g1130z00_1483;
												}
											else
												{
													obj_t BgL_auxz00_8615;

													BgL_auxz00_8615 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(27750L),
														BGl_string3789z00zz__unicodez00,
														BGl_string3785z00zz__unicodez00, BgL_g1130z00_1483);
													FAILURE(BgL_auxz00_8615, BFALSE, BFALSE);
												}
											BgL_tmpz00_8611 =
												BGl_utf8zd2stringzf3z21zz__unicodez00(BgL_auxz00_8612,
												CBOOL(BgL_strictz00_1487));
										}
										return BBOOL(BgL_tmpz00_8611);
									}
								}
							}
							break;
						default:
							return BUNSPEC;
						}
				}
			}
		}

	}



/* utf8-string? */
	BGL_EXPORTED_DEF bool_t BGl_utf8zd2stringzf3z21zz__unicodez00(obj_t
		BgL_strz00_68, bool_t BgL_strictz00_69)
	{
		{	/* Llib/unicode.scm 681 */
			{	/* Llib/unicode.scm 687 */
				long BgL_lenz00_1489;

				BgL_lenz00_1489 = STRING_LENGTH(BgL_strz00_68);
				{
					long BgL_rz00_1491;

					BgL_rz00_1491 = 0L;
				BgL_zc3z04anonymousza31411ze3z87_1492:
					if ((BgL_rz00_1491 == BgL_lenz00_1489))
						{	/* Llib/unicode.scm 689 */
							return ((bool_t) 1);
						}
					else
						{	/* Llib/unicode.scm 691 */
							long BgL_nz00_1495;

							BgL_nz00_1495 = (STRING_REF(BgL_strz00_68, BgL_rz00_1491));
							{	/* Llib/unicode.scm 692 */

								if ((BgL_nz00_1495 <= 127L))
									{
										long BgL_rz00_8630;

										BgL_rz00_8630 = (BgL_rz00_1491 + 1L);
										BgL_rz00_1491 = BgL_rz00_8630;
										goto BgL_zc3z04anonymousza31411ze3z87_1492;
									}
								else
									{	/* Llib/unicode.scm 694 */
										if ((BgL_nz00_1495 < 194L))
											{	/* Llib/unicode.scm 697 */
												return ((bool_t) 0);
											}
										else
											{	/* Llib/unicode.scm 697 */
												if ((BgL_nz00_1495 < 223L))
													{	/* Llib/unicode.scm 702 */
														bool_t BgL_test4137z00_8636;

														if (((1L + BgL_rz00_1491) < BgL_lenz00_1489))
															{	/* Llib/unicode.scm 684 */
																long BgL_nz00_4164;

																BgL_nz00_4164 =
																	(STRING_REF(BgL_strz00_68,
																		(BgL_rz00_1491 + 1L)));
																if ((BgL_nz00_4164 >= 128L))
																	{	/* Llib/unicode.scm 685 */
																		BgL_test4137z00_8636 =
																			(BgL_nz00_4164 <= 191L);
																	}
																else
																	{	/* Llib/unicode.scm 685 */
																		BgL_test4137z00_8636 = ((bool_t) 0);
																	}
															}
														else
															{	/* Llib/unicode.scm 702 */
																BgL_test4137z00_8636 = ((bool_t) 0);
															}
														if (BgL_test4137z00_8636)
															{
																long BgL_rz00_8646;

																BgL_rz00_8646 = (BgL_rz00_1491 + 2L);
																BgL_rz00_1491 = BgL_rz00_8646;
																goto BgL_zc3z04anonymousza31411ze3z87_1492;
															}
														else
															{	/* Llib/unicode.scm 702 */
																return ((bool_t) 0);
															}
													}
												else
													{	/* Llib/unicode.scm 705 */
														bool_t BgL_test4140z00_8648;

														if ((BgL_nz00_1495 >= 216L))
															{	/* Llib/unicode.scm 705 */
																BgL_test4140z00_8648 = (BgL_nz00_1495 <= 219L);
															}
														else
															{	/* Llib/unicode.scm 705 */
																BgL_test4140z00_8648 = ((bool_t) 0);
															}
														if (BgL_test4140z00_8648)
															{	/* Llib/unicode.scm 707 */
																bool_t BgL_test4142z00_8652;

																if ((BgL_rz00_1491 < (BgL_lenz00_1489 - 3L)))
																	{	/* Llib/unicode.scm 708 */
																		bool_t BgL_test4144z00_8656;

																		{	/* Llib/unicode.scm 684 */
																			long BgL_nz00_4178;

																			BgL_nz00_4178 =
																				(STRING_REF(BgL_strz00_68,
																					(BgL_rz00_1491 + 1L)));
																			if ((BgL_nz00_4178 >= 220L))
																				{	/* Llib/unicode.scm 685 */
																					BgL_test4144z00_8656 =
																						(BgL_nz00_4178 <= 223L);
																				}
																			else
																				{	/* Llib/unicode.scm 685 */
																					BgL_test4144z00_8656 = ((bool_t) 0);
																				}
																		}
																		if (BgL_test4144z00_8656)
																			{	/* Llib/unicode.scm 709 */
																				bool_t BgL_test4146z00_8663;

																				{	/* Llib/unicode.scm 684 */
																					long BgL_nz00_4186;

																					BgL_nz00_4186 =
																						(STRING_REF(BgL_strz00_68,
																							(BgL_rz00_1491 + 2L)));
																					if ((BgL_nz00_4186 >= 220L))
																						{	/* Llib/unicode.scm 685 */
																							BgL_test4146z00_8663 =
																								(BgL_nz00_4186 <= 223L);
																						}
																					else
																						{	/* Llib/unicode.scm 685 */
																							BgL_test4146z00_8663 =
																								((bool_t) 0);
																						}
																				}
																				if (BgL_test4146z00_8663)
																					{	/* Llib/unicode.scm 684 */
																						long BgL_nz00_4194;

																						BgL_nz00_4194 =
																							(STRING_REF(BgL_strz00_68,
																								(BgL_rz00_1491 + 3L)));
																						if ((BgL_nz00_4194 >= 220L))
																							{	/* Llib/unicode.scm 685 */
																								BgL_test4142z00_8652 =
																									(BgL_nz00_4194 <= 223L);
																							}
																						else
																							{	/* Llib/unicode.scm 685 */
																								BgL_test4142z00_8652 =
																									((bool_t) 0);
																							}
																					}
																				else
																					{	/* Llib/unicode.scm 709 */
																						BgL_test4142z00_8652 = ((bool_t) 0);
																					}
																			}
																		else
																			{	/* Llib/unicode.scm 708 */
																				BgL_test4142z00_8652 = ((bool_t) 0);
																			}
																	}
																else
																	{	/* Llib/unicode.scm 707 */
																		BgL_test4142z00_8652 = ((bool_t) 0);
																	}
																if (BgL_test4142z00_8652)
																	{
																		long BgL_rz00_8676;

																		BgL_rz00_8676 = (BgL_rz00_1491 + 4L);
																		BgL_rz00_1491 = BgL_rz00_8676;
																		goto BgL_zc3z04anonymousza31411ze3z87_1492;
																	}
																else
																	{	/* Llib/unicode.scm 707 */
																		return ((bool_t) 0);
																	}
															}
														else
															{	/* Llib/unicode.scm 705 */
																if ((BgL_nz00_1495 <= 223L))
																	{	/* Llib/unicode.scm 714 */
																		bool_t BgL_test4150z00_8680;

																		if (
																			((1L + BgL_rz00_1491) < BgL_lenz00_1489))
																			{	/* Llib/unicode.scm 684 */
																				long BgL_nz00_4207;

																				BgL_nz00_4207 =
																					(STRING_REF(BgL_strz00_68,
																						(BgL_rz00_1491 + 1L)));
																				if ((BgL_nz00_4207 >= 128L))
																					{	/* Llib/unicode.scm 685 */
																						BgL_test4150z00_8680 =
																							(BgL_nz00_4207 <= 191L);
																					}
																				else
																					{	/* Llib/unicode.scm 685 */
																						BgL_test4150z00_8680 = ((bool_t) 0);
																					}
																			}
																		else
																			{	/* Llib/unicode.scm 714 */
																				BgL_test4150z00_8680 = ((bool_t) 0);
																			}
																		if (BgL_test4150z00_8680)
																			{
																				long BgL_rz00_8690;

																				BgL_rz00_8690 = (BgL_rz00_1491 + 2L);
																				BgL_rz00_1491 = BgL_rz00_8690;
																				goto
																					BgL_zc3z04anonymousza31411ze3z87_1492;
																			}
																		else
																			{	/* Llib/unicode.scm 714 */
																				return ((bool_t) 0);
																			}
																	}
																else
																	{	/* Llib/unicode.scm 712 */
																		if ((BgL_nz00_1495 <= 239L))
																			{	/* Llib/unicode.scm 719 */
																				bool_t BgL_test4154z00_8694;

																				if (
																					(BgL_rz00_1491 <
																						(BgL_lenz00_1489 - 2L)))
																					{	/* Llib/unicode.scm 720 */
																						bool_t BgL_test4156z00_8698;

																						{	/* Llib/unicode.scm 684 */
																							long BgL_nz00_4220;

																							BgL_nz00_4220 =
																								(STRING_REF(BgL_strz00_68,
																									(BgL_rz00_1491 + 1L)));
																							if ((BgL_nz00_4220 >= 128L))
																								{	/* Llib/unicode.scm 685 */
																									BgL_test4156z00_8698 =
																										(BgL_nz00_4220 <= 191L);
																								}
																							else
																								{	/* Llib/unicode.scm 685 */
																									BgL_test4156z00_8698 =
																										((bool_t) 0);
																								}
																						}
																						if (BgL_test4156z00_8698)
																							{	/* Llib/unicode.scm 684 */
																								long BgL_nz00_4228;

																								BgL_nz00_4228 =
																									(STRING_REF(BgL_strz00_68,
																										(BgL_rz00_1491 + 2L)));
																								if ((BgL_nz00_4228 >= 128L))
																									{	/* Llib/unicode.scm 685 */
																										BgL_test4154z00_8694 =
																											(BgL_nz00_4228 <= 191L);
																									}
																								else
																									{	/* Llib/unicode.scm 685 */
																										BgL_test4154z00_8694 =
																											((bool_t) 0);
																									}
																							}
																						else
																							{	/* Llib/unicode.scm 720 */
																								BgL_test4154z00_8694 =
																									((bool_t) 0);
																							}
																					}
																				else
																					{	/* Llib/unicode.scm 719 */
																						BgL_test4154z00_8694 = ((bool_t) 0);
																					}
																				if (BgL_test4154z00_8694)
																					{
																						long BgL_rz00_8711;

																						BgL_rz00_8711 =
																							(BgL_rz00_1491 + 3L);
																						BgL_rz00_1491 = BgL_rz00_8711;
																						goto
																							BgL_zc3z04anonymousza31411ze3z87_1492;
																					}
																				else
																					{	/* Llib/unicode.scm 719 */
																						return ((bool_t) 0);
																					}
																			}
																		else
																			{	/* Llib/unicode.scm 717 */
																				if ((BgL_nz00_1495 == 240L))
																					{	/* Llib/unicode.scm 725 */
																						bool_t BgL_test4160z00_8715;

																						if (
																							(BgL_rz00_1491 <
																								(BgL_lenz00_1489 - 3L)))
																							{	/* Llib/unicode.scm 726 */
																								bool_t BgL_test4162z00_8719;

																								{	/* Llib/unicode.scm 684 */
																									long BgL_nz00_4241;

																									BgL_nz00_4241 =
																										(STRING_REF(BgL_strz00_68,
																											(BgL_rz00_1491 + 1L)));
																									if ((BgL_nz00_4241 >= 144L))
																										{	/* Llib/unicode.scm 685 */
																											BgL_test4162z00_8719 =
																												(BgL_nz00_4241 <= 191L);
																										}
																									else
																										{	/* Llib/unicode.scm 685 */
																											BgL_test4162z00_8719 =
																												((bool_t) 0);
																										}
																								}
																								if (BgL_test4162z00_8719)
																									{	/* Llib/unicode.scm 727 */
																										bool_t BgL_test4164z00_8726;

																										{	/* Llib/unicode.scm 684 */
																											long BgL_nz00_4249;

																											BgL_nz00_4249 =
																												(STRING_REF
																												(BgL_strz00_68,
																													(BgL_rz00_1491 +
																														2L)));
																											if ((BgL_nz00_4249 >=
																													128L))
																												{	/* Llib/unicode.scm 685 */
																													BgL_test4164z00_8726 =
																														(BgL_nz00_4249 <=
																														191L);
																												}
																											else
																												{	/* Llib/unicode.scm 685 */
																													BgL_test4164z00_8726 =
																														((bool_t) 0);
																												}
																										}
																										if (BgL_test4164z00_8726)
																											{	/* Llib/unicode.scm 684 */
																												long BgL_nz00_4257;

																												BgL_nz00_4257 =
																													(STRING_REF
																													(BgL_strz00_68,
																														(BgL_rz00_1491 +
																															3L)));
																												if ((BgL_nz00_4257 >=
																														128L))
																													{	/* Llib/unicode.scm 685 */
																														BgL_test4160z00_8715
																															=
																															(BgL_nz00_4257 <=
																															191L);
																													}
																												else
																													{	/* Llib/unicode.scm 685 */
																														BgL_test4160z00_8715
																															= ((bool_t) 0);
																													}
																											}
																										else
																											{	/* Llib/unicode.scm 727 */
																												BgL_test4160z00_8715 =
																													((bool_t) 0);
																											}
																									}
																								else
																									{	/* Llib/unicode.scm 726 */
																										BgL_test4160z00_8715 =
																											((bool_t) 0);
																									}
																							}
																						else
																							{	/* Llib/unicode.scm 725 */
																								BgL_test4160z00_8715 =
																									((bool_t) 0);
																							}
																						if (BgL_test4160z00_8715)
																							{
																								long BgL_rz00_8739;

																								BgL_rz00_8739 =
																									(BgL_rz00_1491 + 4L);
																								BgL_rz00_1491 = BgL_rz00_8739;
																								goto
																									BgL_zc3z04anonymousza31411ze3z87_1492;
																							}
																						else
																							{	/* Llib/unicode.scm 725 */
																								return ((bool_t) 0);
																							}
																					}
																				else
																					{	/* Llib/unicode.scm 730 */
																						bool_t BgL_test4167z00_8741;

																						if ((BgL_nz00_1495 == 244L))
																							{	/* Llib/unicode.scm 730 */
																								BgL_test4167z00_8741 =
																									((bool_t) 1);
																							}
																						else
																							{	/* Llib/unicode.scm 731 */
																								bool_t BgL_test4169z00_8744;

																								{	/* Llib/unicode.scm 731 */
																									bool_t
																										BgL__ortest_1047z00_1741;
																									BgL__ortest_1047z00_1741 =
																										(BgL_nz00_1495 == 248L);
																									if (BgL__ortest_1047z00_1741)
																										{	/* Llib/unicode.scm 731 */
																											BgL_test4169z00_8744 =
																												BgL__ortest_1047z00_1741;
																										}
																									else
																										{	/* Llib/unicode.scm 731 */
																											BgL_test4169z00_8744 =
																												(BgL_nz00_1495 == 252L);
																										}
																								}
																								if (BgL_test4169z00_8744)
																									{	/* Llib/unicode.scm 731 */
																										if (BgL_strictz00_69)
																											{	/* Llib/unicode.scm 731 */
																												BgL_test4167z00_8741 =
																													((bool_t) 0);
																											}
																										else
																											{	/* Llib/unicode.scm 731 */
																												BgL_test4167z00_8741 =
																													((bool_t) 1);
																											}
																									}
																								else
																									{	/* Llib/unicode.scm 731 */
																										BgL_test4167z00_8741 =
																											((bool_t) 0);
																									}
																							}
																						if (BgL_test4167z00_8741)
																							{	/* Llib/unicode.scm 733 */
																								bool_t BgL_test4172z00_8749;

																								if (
																									(BgL_rz00_1491 <
																										(BgL_lenz00_1489 - 3L)))
																									{	/* Llib/unicode.scm 734 */
																										bool_t BgL_test4174z00_8753;

																										{	/* Llib/unicode.scm 684 */
																											long BgL_nz00_4272;

																											BgL_nz00_4272 =
																												(STRING_REF
																												(BgL_strz00_68,
																													(BgL_rz00_1491 +
																														1L)));
																											if ((BgL_nz00_4272 >=
																													128L))
																												{	/* Llib/unicode.scm 685 */
																													BgL_test4174z00_8753 =
																														(BgL_nz00_4272 <=
																														191L);
																												}
																											else
																												{	/* Llib/unicode.scm 685 */
																													BgL_test4174z00_8753 =
																														((bool_t) 0);
																												}
																										}
																										if (BgL_test4174z00_8753)
																											{	/* Llib/unicode.scm 735 */
																												bool_t
																													BgL_test4176z00_8760;
																												{	/* Llib/unicode.scm 684 */
																													long BgL_nz00_4280;

																													BgL_nz00_4280 =
																														(STRING_REF
																														(BgL_strz00_68,
																															(BgL_rz00_1491 +
																																2L)));
																													if ((BgL_nz00_4280 >=
																															128L))
																														{	/* Llib/unicode.scm 685 */
																															BgL_test4176z00_8760
																																=
																																(BgL_nz00_4280
																																<= 191L);
																														}
																													else
																														{	/* Llib/unicode.scm 685 */
																															BgL_test4176z00_8760
																																= ((bool_t) 0);
																														}
																												}
																												if (BgL_test4176z00_8760)
																													{	/* Llib/unicode.scm 684 */
																														long BgL_nz00_4288;

																														BgL_nz00_4288 =
																															(STRING_REF
																															(BgL_strz00_68,
																																(BgL_rz00_1491 +
																																	3L)));
																														if ((BgL_nz00_4288
																																>= 128L))
																															{	/* Llib/unicode.scm 685 */
																																BgL_test4172z00_8749
																																	=
																																	(BgL_nz00_4288
																																	<= 191L);
																															}
																														else
																															{	/* Llib/unicode.scm 685 */
																																BgL_test4172z00_8749
																																	=
																																	((bool_t) 0);
																															}
																													}
																												else
																													{	/* Llib/unicode.scm 735 */
																														BgL_test4172z00_8749
																															= ((bool_t) 0);
																													}
																											}
																										else
																											{	/* Llib/unicode.scm 734 */
																												BgL_test4172z00_8749 =
																													((bool_t) 0);
																											}
																									}
																								else
																									{	/* Llib/unicode.scm 733 */
																										BgL_test4172z00_8749 =
																											((bool_t) 0);
																									}
																								if (BgL_test4172z00_8749)
																									{
																										long BgL_rz00_8773;

																										BgL_rz00_8773 =
																											(BgL_rz00_1491 + 4L);
																										BgL_rz00_1491 =
																											BgL_rz00_8773;
																										goto
																											BgL_zc3z04anonymousza31411ze3z87_1492;
																									}
																								else
																									{	/* Llib/unicode.scm 733 */
																										return ((bool_t) 0);
																									}
																							}
																						else
																							{	/* Llib/unicode.scm 730 */
																								if ((BgL_nz00_1495 <= 247L))
																									{	/* Llib/unicode.scm 740 */
																										bool_t BgL_test4180z00_8777;

																										if (
																											(BgL_rz00_1491 <
																												(BgL_lenz00_1489 - 3L)))
																											{	/* Llib/unicode.scm 741 */
																												bool_t
																													BgL_test4182z00_8781;
																												{	/* Llib/unicode.scm 684 */
																													long BgL_nz00_4301;

																													BgL_nz00_4301 =
																														(STRING_REF
																														(BgL_strz00_68,
																															(BgL_rz00_1491 +
																																1L)));
																													if ((BgL_nz00_4301 >=
																															128L))
																														{	/* Llib/unicode.scm 685 */
																															BgL_test4182z00_8781
																																=
																																(BgL_nz00_4301
																																<= 191L);
																														}
																													else
																														{	/* Llib/unicode.scm 685 */
																															BgL_test4182z00_8781
																																= ((bool_t) 0);
																														}
																												}
																												if (BgL_test4182z00_8781)
																													{	/* Llib/unicode.scm 742 */
																														bool_t
																															BgL_test4184z00_8788;
																														{	/* Llib/unicode.scm 684 */
																															long
																																BgL_nz00_4309;
																															BgL_nz00_4309 =
																																(STRING_REF
																																(BgL_strz00_68,
																																	(BgL_rz00_1491
																																		+ 2L)));
																															if ((BgL_nz00_4309
																																	>= 128L))
																																{	/* Llib/unicode.scm 685 */
																																	BgL_test4184z00_8788
																																		=
																																		(BgL_nz00_4309
																																		<= 191L);
																																}
																															else
																																{	/* Llib/unicode.scm 685 */
																																	BgL_test4184z00_8788
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																														if (BgL_test4184z00_8788)
																															{	/* Llib/unicode.scm 684 */
																																long
																																	BgL_nz00_4317;
																																BgL_nz00_4317 =
																																	(STRING_REF
																																	(BgL_strz00_68,
																																		(BgL_rz00_1491
																																			+ 3L)));
																																if (
																																	(BgL_nz00_4317
																																		>= 128L))
																																	{	/* Llib/unicode.scm 685 */
																																		BgL_test4180z00_8777
																																			=
																																			(BgL_nz00_4317
																																			<= 191L);
																																	}
																																else
																																	{	/* Llib/unicode.scm 685 */
																																		BgL_test4180z00_8777
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																														else
																															{	/* Llib/unicode.scm 742 */
																																BgL_test4180z00_8777
																																	=
																																	((bool_t) 0);
																															}
																													}
																												else
																													{	/* Llib/unicode.scm 741 */
																														BgL_test4180z00_8777
																															= ((bool_t) 0);
																													}
																											}
																										else
																											{	/* Llib/unicode.scm 740 */
																												BgL_test4180z00_8777 =
																													((bool_t) 0);
																											}
																										if (BgL_test4180z00_8777)
																											{
																												long BgL_rz00_8801;

																												BgL_rz00_8801 =
																													(BgL_rz00_1491 + 4L);
																												BgL_rz00_1491 =
																													BgL_rz00_8801;
																												goto
																													BgL_zc3z04anonymousza31411ze3z87_1492;
																											}
																										else
																											{	/* Llib/unicode.scm 740 */
																												return ((bool_t) 0);
																											}
																									}
																								else
																									{	/* Llib/unicode.scm 738 */
																										if ((BgL_nz00_1495 <= 251L))
																											{	/* Llib/unicode.scm 746 */
																												bool_t
																													BgL_test4188z00_8805;
																												if ((BgL_rz00_1491 <
																														(BgL_lenz00_1489 -
																															4L)))
																													{	/* Llib/unicode.scm 747 */
																														bool_t
																															BgL_test4190z00_8809;
																														{	/* Llib/unicode.scm 684 */
																															long
																																BgL_nz00_4330;
																															BgL_nz00_4330 =
																																(STRING_REF
																																(BgL_strz00_68,
																																	(BgL_rz00_1491
																																		+ 1L)));
																															if ((BgL_nz00_4330
																																	>= 128L))
																																{	/* Llib/unicode.scm 685 */
																																	BgL_test4190z00_8809
																																		=
																																		(BgL_nz00_4330
																																		<= 191L);
																																}
																															else
																																{	/* Llib/unicode.scm 685 */
																																	BgL_test4190z00_8809
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																														if (BgL_test4190z00_8809)
																															{	/* Llib/unicode.scm 748 */
																																bool_t
																																	BgL_test4192z00_8816;
																																{	/* Llib/unicode.scm 684 */
																																	long
																																		BgL_nz00_4338;
																																	BgL_nz00_4338
																																		=
																																		(STRING_REF
																																		(BgL_strz00_68,
																																			(BgL_rz00_1491
																																				+ 2L)));
																																	if (
																																		(BgL_nz00_4338
																																			>= 128L))
																																		{	/* Llib/unicode.scm 685 */
																																			BgL_test4192z00_8816
																																				=
																																				(BgL_nz00_4338
																																				<=
																																				191L);
																																		}
																																	else
																																		{	/* Llib/unicode.scm 685 */
																																			BgL_test4192z00_8816
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																																if (BgL_test4192z00_8816)
																																	{	/* Llib/unicode.scm 749 */
																																		bool_t
																																			BgL_test4194z00_8823;
																																		{	/* Llib/unicode.scm 684 */
																																			long
																																				BgL_nz00_4346;
																																			BgL_nz00_4346
																																				=
																																				(STRING_REF
																																				(BgL_strz00_68,
																																					(BgL_rz00_1491
																																						+
																																						3L)));
																																			if (
																																				(BgL_nz00_4346
																																					>=
																																					128L))
																																				{	/* Llib/unicode.scm 685 */
																																					BgL_test4194z00_8823
																																						=
																																						(BgL_nz00_4346
																																						<=
																																						191L);
																																				}
																																			else
																																				{	/* Llib/unicode.scm 685 */
																																					BgL_test4194z00_8823
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																		if (BgL_test4194z00_8823)
																																			{	/* Llib/unicode.scm 684 */
																																				long
																																					BgL_nz00_4354;
																																				BgL_nz00_4354
																																					=
																																					(STRING_REF
																																					(BgL_strz00_68,
																																						(BgL_rz00_1491
																																							+
																																							4L)));
																																				if (
																																					(BgL_nz00_4354
																																						>=
																																						128L))
																																					{	/* Llib/unicode.scm 685 */
																																						BgL_test4188z00_8805
																																							=
																																							(BgL_nz00_4354
																																							<=
																																							191L);
																																					}
																																				else
																																					{	/* Llib/unicode.scm 685 */
																																						BgL_test4188z00_8805
																																							=
																																							(
																																							(bool_t)
																																							0);
																																					}
																																			}
																																		else
																																			{	/* Llib/unicode.scm 749 */
																																				BgL_test4188z00_8805
																																					=
																																					(
																																					(bool_t)
																																					0);
																																			}
																																	}
																																else
																																	{	/* Llib/unicode.scm 748 */
																																		BgL_test4188z00_8805
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																														else
																															{	/* Llib/unicode.scm 747 */
																																BgL_test4188z00_8805
																																	=
																																	((bool_t) 0);
																															}
																													}
																												else
																													{	/* Llib/unicode.scm 746 */
																														BgL_test4188z00_8805
																															= ((bool_t) 0);
																													}
																												if (BgL_test4188z00_8805)
																													{
																														long BgL_rz00_8836;

																														BgL_rz00_8836 =
																															(BgL_rz00_1491 +
																															5L);
																														BgL_rz00_1491 =
																															BgL_rz00_8836;
																														goto
																															BgL_zc3z04anonymousza31411ze3z87_1492;
																													}
																												else
																													{	/* Llib/unicode.scm 746 */
																														return ((bool_t) 0);
																													}
																											}
																										else
																											{	/* Llib/unicode.scm 745 */
																												if (
																													(BgL_nz00_1495 <=
																														253L))
																													{	/* Llib/unicode.scm 753 */
																														bool_t
																															BgL_test4198z00_8840;
																														if ((BgL_rz00_1491 <
																																(BgL_lenz00_1489
																																	- 5L)))
																															{	/* Llib/unicode.scm 754 */
																																bool_t
																																	BgL_test4200z00_8844;
																																{	/* Llib/unicode.scm 684 */
																																	long
																																		BgL_nz00_4367;
																																	BgL_nz00_4367
																																		=
																																		(STRING_REF
																																		(BgL_strz00_68,
																																			(BgL_rz00_1491
																																				+ 1L)));
																																	if (
																																		(BgL_nz00_4367
																																			>= 128L))
																																		{	/* Llib/unicode.scm 685 */
																																			BgL_test4200z00_8844
																																				=
																																				(BgL_nz00_4367
																																				<=
																																				191L);
																																		}
																																	else
																																		{	/* Llib/unicode.scm 685 */
																																			BgL_test4200z00_8844
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																																if (BgL_test4200z00_8844)
																																	{	/* Llib/unicode.scm 755 */
																																		bool_t
																																			BgL_test4202z00_8851;
																																		{	/* Llib/unicode.scm 684 */
																																			long
																																				BgL_nz00_4375;
																																			BgL_nz00_4375
																																				=
																																				(STRING_REF
																																				(BgL_strz00_68,
																																					(BgL_rz00_1491
																																						+
																																						2L)));
																																			if (
																																				(BgL_nz00_4375
																																					>=
																																					128L))
																																				{	/* Llib/unicode.scm 685 */
																																					BgL_test4202z00_8851
																																						=
																																						(BgL_nz00_4375
																																						<=
																																						191L);
																																				}
																																			else
																																				{	/* Llib/unicode.scm 685 */
																																					BgL_test4202z00_8851
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																		if (BgL_test4202z00_8851)
																																			{	/* Llib/unicode.scm 756 */
																																				bool_t
																																					BgL_test4204z00_8858;
																																				{	/* Llib/unicode.scm 684 */
																																					long
																																						BgL_nz00_4383;
																																					BgL_nz00_4383
																																						=
																																						(STRING_REF
																																						(BgL_strz00_68,
																																							(BgL_rz00_1491
																																								+
																																								3L)));
																																					if (
																																						(BgL_nz00_4383
																																							>=
																																							128L))
																																						{	/* Llib/unicode.scm 685 */
																																							BgL_test4204z00_8858
																																								=
																																								(BgL_nz00_4383
																																								<=
																																								191L);
																																						}
																																					else
																																						{	/* Llib/unicode.scm 685 */
																																							BgL_test4204z00_8858
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																				if (BgL_test4204z00_8858)
																																					{	/* Llib/unicode.scm 757 */
																																						bool_t
																																							BgL_test4206z00_8865;
																																						{	/* Llib/unicode.scm 684 */
																																							long
																																								BgL_nz00_4391;
																																							BgL_nz00_4391
																																								=
																																								(STRING_REF
																																								(BgL_strz00_68,
																																									(BgL_rz00_1491
																																										+
																																										4L)));
																																							if ((BgL_nz00_4391 >= 128L))
																																								{	/* Llib/unicode.scm 685 */
																																									BgL_test4206z00_8865
																																										=
																																										(BgL_nz00_4391
																																										<=
																																										191L);
																																								}
																																							else
																																								{	/* Llib/unicode.scm 685 */
																																									BgL_test4206z00_8865
																																										=
																																										(
																																										(bool_t)
																																										0);
																																								}
																																						}
																																						if (BgL_test4206z00_8865)
																																							{	/* Llib/unicode.scm 684 */
																																								long
																																									BgL_nz00_4399;
																																								BgL_nz00_4399
																																									=
																																									(STRING_REF
																																									(BgL_strz00_68,
																																										(BgL_rz00_1491
																																											+
																																											5L)));
																																								if ((BgL_nz00_4399 >= 128L))
																																									{	/* Llib/unicode.scm 685 */
																																										BgL_test4198z00_8840
																																											=
																																											(BgL_nz00_4399
																																											<=
																																											191L);
																																									}
																																								else
																																									{	/* Llib/unicode.scm 685 */
																																										BgL_test4198z00_8840
																																											=
																																											(
																																											(bool_t)
																																											0);
																																									}
																																							}
																																						else
																																							{	/* Llib/unicode.scm 757 */
																																								BgL_test4198z00_8840
																																									=
																																									(
																																									(bool_t)
																																									0);
																																							}
																																					}
																																				else
																																					{	/* Llib/unicode.scm 756 */
																																						BgL_test4198z00_8840
																																							=
																																							(
																																							(bool_t)
																																							0);
																																					}
																																			}
																																		else
																																			{	/* Llib/unicode.scm 755 */
																																				BgL_test4198z00_8840
																																					=
																																					(
																																					(bool_t)
																																					0);
																																			}
																																	}
																																else
																																	{	/* Llib/unicode.scm 754 */
																																		BgL_test4198z00_8840
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																														else
																															{	/* Llib/unicode.scm 753 */
																																BgL_test4198z00_8840
																																	=
																																	((bool_t) 0);
																															}
																														if (BgL_test4198z00_8840)
																															{
																																long
																																	BgL_rz00_8878;
																																BgL_rz00_8878 =
																																	(BgL_rz00_1491
																																	+ 6L);
																																BgL_rz00_1491 =
																																	BgL_rz00_8878;
																																goto
																																	BgL_zc3z04anonymousza31411ze3z87_1492;
																															}
																														else
																															{	/* Llib/unicode.scm 753 */
																																return ((bool_t)
																																	0);
																															}
																													}
																												else
																													{	/* Llib/unicode.scm 752 */
																														return ((bool_t) 0);
																													}
																											}
																									}
																							}
																					}
																			}
																	}
															}
													}
											}
									}
							}
						}
				}
			}
		}

	}



/* _utf8-string-encode */
	obj_t BGl__utf8zd2stringzd2encodez00zz__unicodez00(obj_t BgL_env1134z00_77,
		obj_t BgL_opt1133z00_76)
	{
		{	/* Llib/unicode.scm 774 */
			{	/* Llib/unicode.scm 774 */
				obj_t BgL_strz00_1751;

				{
					obj_t BgL_auxz00_8880;

					if (VECTORP(BgL_opt1133z00_76))
						{	/* Llib/unicode.scm 774 */
							BgL_auxz00_8880 = BgL_opt1133z00_76;
						}
					else
						{
							obj_t BgL_auxz00_8883;

							BgL_auxz00_8883 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(31550L), BGl_string3790z00zz__unicodez00,
								BGl_string3744z00zz__unicodez00, BgL_opt1133z00_76);
							FAILURE(BgL_auxz00_8883, BFALSE, BFALSE);
						}
					BgL_strz00_1751 = VECTOR_REF(BgL_auxz00_8880, 0L);
				}
				{	/* Llib/unicode.scm 774 */
					long BgL_aux1136z00_1753;

					{
						obj_t BgL_auxz00_8888;

						if (VECTORP(BgL_opt1133z00_76))
							{	/* Llib/unicode.scm 774 */
								BgL_auxz00_8888 = BgL_opt1133z00_76;
							}
						else
							{
								obj_t BgL_auxz00_8891;

								BgL_auxz00_8891 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(31550L),
									BGl_string3790z00zz__unicodez00,
									BGl_string3744z00zz__unicodez00, BgL_opt1133z00_76);
								FAILURE(BgL_auxz00_8891, BFALSE, BFALSE);
							}
						BgL_aux1136z00_1753 = VECTOR_LENGTH(BgL_auxz00_8888);
					}
					switch (BgL_aux1136z00_1753)
						{
						case 1L:

							{	/* Llib/unicode.scm 774 */
								long BgL_endz00_1756;

								{	/* Llib/unicode.scm 774 */
									obj_t BgL_stringz00_4405;

									if (STRINGP(BgL_strz00_1751))
										{	/* Llib/unicode.scm 774 */
											BgL_stringz00_4405 = BgL_strz00_1751;
										}
									else
										{
											obj_t BgL_auxz00_8898;

											BgL_auxz00_8898 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3742z00zz__unicodez00, BINT(31642L),
												BGl_string3790z00zz__unicodez00,
												BGl_string3785z00zz__unicodez00, BgL_strz00_1751);
											FAILURE(BgL_auxz00_8898, BFALSE, BFALSE);
										}
									BgL_endz00_1756 = STRING_LENGTH(BgL_stringz00_4405);
								}
								{	/* Llib/unicode.scm 774 */

									{	/* Llib/unicode.scm 774 */
										obj_t BgL_auxz00_8903;

										if (STRINGP(BgL_strz00_1751))
											{	/* Llib/unicode.scm 774 */
												BgL_auxz00_8903 = BgL_strz00_1751;
											}
										else
											{
												obj_t BgL_auxz00_8906;

												BgL_auxz00_8906 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3742z00zz__unicodez00, BINT(31550L),
													BGl_string3790z00zz__unicodez00,
													BGl_string3785z00zz__unicodez00, BgL_strz00_1751);
												FAILURE(BgL_auxz00_8906, BFALSE, BFALSE);
											}
										return
											BGl_utf8zd2stringzd2encodez00zz__unicodez00
											(BgL_auxz00_8903, ((bool_t) 0), 0L, BgL_endz00_1756);
									}
								}
							}
							break;
						case 2L:

							{	/* Llib/unicode.scm 774 */
								obj_t BgL_strictz00_1757;

								{
									obj_t BgL_auxz00_8911;

									if (VECTORP(BgL_opt1133z00_76))
										{	/* Llib/unicode.scm 774 */
											BgL_auxz00_8911 = BgL_opt1133z00_76;
										}
									else
										{
											obj_t BgL_auxz00_8914;

											BgL_auxz00_8914 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3742z00zz__unicodez00, BINT(31550L),
												BGl_string3790z00zz__unicodez00,
												BGl_string3744z00zz__unicodez00, BgL_opt1133z00_76);
											FAILURE(BgL_auxz00_8914, BFALSE, BFALSE);
										}
									BgL_strictz00_1757 = VECTOR_REF(BgL_auxz00_8911, 1L);
								}
								{	/* Llib/unicode.scm 774 */
									long BgL_endz00_1759;

									{	/* Llib/unicode.scm 774 */
										obj_t BgL_stringz00_4406;

										if (STRINGP(BgL_strz00_1751))
											{	/* Llib/unicode.scm 774 */
												BgL_stringz00_4406 = BgL_strz00_1751;
											}
										else
											{
												obj_t BgL_auxz00_8921;

												BgL_auxz00_8921 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3742z00zz__unicodez00, BINT(31642L),
													BGl_string3790z00zz__unicodez00,
													BGl_string3785z00zz__unicodez00, BgL_strz00_1751);
												FAILURE(BgL_auxz00_8921, BFALSE, BFALSE);
											}
										BgL_endz00_1759 = STRING_LENGTH(BgL_stringz00_4406);
									}
									{	/* Llib/unicode.scm 774 */

										{	/* Llib/unicode.scm 774 */
											obj_t BgL_auxz00_8926;

											if (STRINGP(BgL_strz00_1751))
												{	/* Llib/unicode.scm 774 */
													BgL_auxz00_8926 = BgL_strz00_1751;
												}
											else
												{
													obj_t BgL_auxz00_8929;

													BgL_auxz00_8929 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(31550L),
														BGl_string3790z00zz__unicodez00,
														BGl_string3785z00zz__unicodez00, BgL_strz00_1751);
													FAILURE(BgL_auxz00_8929, BFALSE, BFALSE);
												}
											return
												BGl_utf8zd2stringzd2encodez00zz__unicodez00
												(BgL_auxz00_8926, CBOOL(BgL_strictz00_1757), 0L,
												BgL_endz00_1759);
										}
									}
								}
							}
							break;
						case 3L:

							{	/* Llib/unicode.scm 774 */
								obj_t BgL_strictz00_1760;

								{
									obj_t BgL_auxz00_8935;

									if (VECTORP(BgL_opt1133z00_76))
										{	/* Llib/unicode.scm 774 */
											BgL_auxz00_8935 = BgL_opt1133z00_76;
										}
									else
										{
											obj_t BgL_auxz00_8938;

											BgL_auxz00_8938 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3742z00zz__unicodez00, BINT(31550L),
												BGl_string3790z00zz__unicodez00,
												BGl_string3744z00zz__unicodez00, BgL_opt1133z00_76);
											FAILURE(BgL_auxz00_8938, BFALSE, BFALSE);
										}
									BgL_strictz00_1760 = VECTOR_REF(BgL_auxz00_8935, 1L);
								}
								{	/* Llib/unicode.scm 774 */
									obj_t BgL_startz00_1761;

									{
										obj_t BgL_auxz00_8943;

										if (VECTORP(BgL_opt1133z00_76))
											{	/* Llib/unicode.scm 774 */
												BgL_auxz00_8943 = BgL_opt1133z00_76;
											}
										else
											{
												obj_t BgL_auxz00_8946;

												BgL_auxz00_8946 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3742z00zz__unicodez00, BINT(31550L),
													BGl_string3790z00zz__unicodez00,
													BGl_string3744z00zz__unicodez00, BgL_opt1133z00_76);
												FAILURE(BgL_auxz00_8946, BFALSE, BFALSE);
											}
										BgL_startz00_1761 = VECTOR_REF(BgL_auxz00_8943, 2L);
									}
									{	/* Llib/unicode.scm 774 */
										long BgL_endz00_1762;

										{	/* Llib/unicode.scm 774 */
											obj_t BgL_stringz00_4407;

											if (STRINGP(BgL_strz00_1751))
												{	/* Llib/unicode.scm 774 */
													BgL_stringz00_4407 = BgL_strz00_1751;
												}
											else
												{
													obj_t BgL_auxz00_8953;

													BgL_auxz00_8953 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(31642L),
														BGl_string3790z00zz__unicodez00,
														BGl_string3785z00zz__unicodez00, BgL_strz00_1751);
													FAILURE(BgL_auxz00_8953, BFALSE, BFALSE);
												}
											BgL_endz00_1762 = STRING_LENGTH(BgL_stringz00_4407);
										}
										{	/* Llib/unicode.scm 774 */

											{	/* Llib/unicode.scm 774 */
												long BgL_auxz00_8965;
												obj_t BgL_auxz00_8958;

												{	/* Llib/unicode.scm 774 */
													obj_t BgL_tmpz00_8967;

													if (INTEGERP(BgL_startz00_1761))
														{	/* Llib/unicode.scm 774 */
															BgL_tmpz00_8967 = BgL_startz00_1761;
														}
													else
														{
															obj_t BgL_auxz00_8970;

															BgL_auxz00_8970 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string3742z00zz__unicodez00, BINT(31550L),
																BGl_string3790z00zz__unicodez00,
																BGl_string3745z00zz__unicodez00,
																BgL_startz00_1761);
															FAILURE(BgL_auxz00_8970, BFALSE, BFALSE);
														}
													BgL_auxz00_8965 = (long) CINT(BgL_tmpz00_8967);
												}
												if (STRINGP(BgL_strz00_1751))
													{	/* Llib/unicode.scm 774 */
														BgL_auxz00_8958 = BgL_strz00_1751;
													}
												else
													{
														obj_t BgL_auxz00_8961;

														BgL_auxz00_8961 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string3742z00zz__unicodez00, BINT(31550L),
															BGl_string3790z00zz__unicodez00,
															BGl_string3785z00zz__unicodez00, BgL_strz00_1751);
														FAILURE(BgL_auxz00_8961, BFALSE, BFALSE);
													}
												return
													BGl_utf8zd2stringzd2encodez00zz__unicodez00
													(BgL_auxz00_8958, CBOOL(BgL_strictz00_1760),
													BgL_auxz00_8965, BgL_endz00_1762);
											}
										}
									}
								}
							}
							break;
						case 4L:

							{	/* Llib/unicode.scm 774 */
								obj_t BgL_strictz00_1763;

								{
									obj_t BgL_auxz00_8976;

									if (VECTORP(BgL_opt1133z00_76))
										{	/* Llib/unicode.scm 774 */
											BgL_auxz00_8976 = BgL_opt1133z00_76;
										}
									else
										{
											obj_t BgL_auxz00_8979;

											BgL_auxz00_8979 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3742z00zz__unicodez00, BINT(31550L),
												BGl_string3790z00zz__unicodez00,
												BGl_string3744z00zz__unicodez00, BgL_opt1133z00_76);
											FAILURE(BgL_auxz00_8979, BFALSE, BFALSE);
										}
									BgL_strictz00_1763 = VECTOR_REF(BgL_auxz00_8976, 1L);
								}
								{	/* Llib/unicode.scm 774 */
									obj_t BgL_startz00_1764;

									{
										obj_t BgL_auxz00_8984;

										if (VECTORP(BgL_opt1133z00_76))
											{	/* Llib/unicode.scm 774 */
												BgL_auxz00_8984 = BgL_opt1133z00_76;
											}
										else
											{
												obj_t BgL_auxz00_8987;

												BgL_auxz00_8987 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3742z00zz__unicodez00, BINT(31550L),
													BGl_string3790z00zz__unicodez00,
													BGl_string3744z00zz__unicodez00, BgL_opt1133z00_76);
												FAILURE(BgL_auxz00_8987, BFALSE, BFALSE);
											}
										BgL_startz00_1764 = VECTOR_REF(BgL_auxz00_8984, 2L);
									}
									{	/* Llib/unicode.scm 774 */
										obj_t BgL_endz00_1765;

										{
											obj_t BgL_auxz00_8992;

											if (VECTORP(BgL_opt1133z00_76))
												{	/* Llib/unicode.scm 774 */
													BgL_auxz00_8992 = BgL_opt1133z00_76;
												}
											else
												{
													obj_t BgL_auxz00_8995;

													BgL_auxz00_8995 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(31550L),
														BGl_string3790z00zz__unicodez00,
														BGl_string3744z00zz__unicodez00, BgL_opt1133z00_76);
													FAILURE(BgL_auxz00_8995, BFALSE, BFALSE);
												}
											BgL_endz00_1765 = VECTOR_REF(BgL_auxz00_8992, 3L);
										}
										{	/* Llib/unicode.scm 774 */

											{	/* Llib/unicode.scm 774 */
												long BgL_auxz00_9017;
												long BgL_auxz00_9007;
												obj_t BgL_auxz00_9000;

												{	/* Llib/unicode.scm 774 */
													obj_t BgL_tmpz00_9018;

													if (INTEGERP(BgL_endz00_1765))
														{	/* Llib/unicode.scm 774 */
															BgL_tmpz00_9018 = BgL_endz00_1765;
														}
													else
														{
															obj_t BgL_auxz00_9021;

															BgL_auxz00_9021 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string3742z00zz__unicodez00, BINT(31550L),
																BGl_string3790z00zz__unicodez00,
																BGl_string3745z00zz__unicodez00,
																BgL_endz00_1765);
															FAILURE(BgL_auxz00_9021, BFALSE, BFALSE);
														}
													BgL_auxz00_9017 = (long) CINT(BgL_tmpz00_9018);
												}
												{	/* Llib/unicode.scm 774 */
													obj_t BgL_tmpz00_9009;

													if (INTEGERP(BgL_startz00_1764))
														{	/* Llib/unicode.scm 774 */
															BgL_tmpz00_9009 = BgL_startz00_1764;
														}
													else
														{
															obj_t BgL_auxz00_9012;

															BgL_auxz00_9012 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string3742z00zz__unicodez00, BINT(31550L),
																BGl_string3790z00zz__unicodez00,
																BGl_string3745z00zz__unicodez00,
																BgL_startz00_1764);
															FAILURE(BgL_auxz00_9012, BFALSE, BFALSE);
														}
													BgL_auxz00_9007 = (long) CINT(BgL_tmpz00_9009);
												}
												if (STRINGP(BgL_strz00_1751))
													{	/* Llib/unicode.scm 774 */
														BgL_auxz00_9000 = BgL_strz00_1751;
													}
												else
													{
														obj_t BgL_auxz00_9003;

														BgL_auxz00_9003 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string3742z00zz__unicodez00, BINT(31550L),
															BGl_string3790z00zz__unicodez00,
															BGl_string3785z00zz__unicodez00, BgL_strz00_1751);
														FAILURE(BgL_auxz00_9003, BFALSE, BFALSE);
													}
												return
													BGl_utf8zd2stringzd2encodez00zz__unicodez00
													(BgL_auxz00_9000, CBOOL(BgL_strictz00_1763),
													BgL_auxz00_9007, BgL_auxz00_9017);
											}
										}
									}
								}
							}
							break;
						default:
							return BUNSPEC;
						}
				}
			}
		}

	}



/* utf8-string-encode */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2stringzd2encodez00zz__unicodez00(obj_t
		BgL_strz00_72, bool_t BgL_strictz00_73, long BgL_startz00_74,
		long BgL_endz00_75)
	{
		{	/* Llib/unicode.scm 774 */
			{	/* Llib/unicode.scm 786 */
				bool_t BgL_test4227z00_9028;

				if ((BgL_endz00_75 > STRING_LENGTH(BgL_strz00_72)))
					{	/* Llib/unicode.scm 786 */
						BgL_test4227z00_9028 = ((bool_t) 1);
					}
				else
					{	/* Llib/unicode.scm 786 */
						if ((BgL_startz00_74 < 0L))
							{	/* Llib/unicode.scm 787 */
								BgL_test4227z00_9028 = ((bool_t) 1);
							}
						else
							{	/* Llib/unicode.scm 787 */
								BgL_test4227z00_9028 = (BgL_startz00_74 > BgL_endz00_75);
							}
					}
				if (BgL_test4227z00_9028)
					{	/* Llib/unicode.scm 789 */
						obj_t BgL_arg1697z00_1773;

						BgL_arg1697z00_1773 =
							MAKE_YOUNG_PAIR(BINT(BgL_startz00_74), BINT(BgL_endz00_75));
						return
							BGl_errorz00zz__errorz00(BGl_string3791z00zz__unicodez00,
							BGl_string3792z00zz__unicodez00, BgL_arg1697z00_1773);
					}
				else
					{	/* Llib/unicode.scm 790 */
						long BgL_lenz00_1774;

						BgL_lenz00_1774 = (BgL_endz00_75 - BgL_startz00_74);
						{	/* Llib/unicode.scm 790 */
							obj_t BgL_resz00_1775;

							{	/* Llib/unicode.scm 791 */
								long BgL_arg2072z00_2136;

								BgL_arg2072z00_2136 = (3L * BgL_lenz00_1774);
								{	/* Ieee/string.scm 172 */

									BgL_resz00_1775 =
										make_string(BgL_arg2072z00_2136, ((unsigned char) ' '));
							}}
							{	/* Llib/unicode.scm 791 */

								return
									BGl_loopze70ze7zz__unicodez00(BgL_endz00_75, BgL_strictz00_73,
									BgL_lenz00_1774, BgL_resz00_1775, BgL_strz00_72,
									BgL_startz00_74, 0L);
							}
						}
					}
			}
		}

	}



/* loop~0 */
	obj_t BGl_loopze70ze7zz__unicodez00(long BgL_endz00_7031,
		bool_t BgL_strictz00_7030, long BgL_lenz00_7029, obj_t BgL_resz00_7028,
		obj_t BgL_strz00_7027, long BgL_rz00_1777, long BgL_wz00_1778)
	{
		{	/* Llib/unicode.scm 792 */
		BGl_loopze70ze7zz__unicodez00:
			if ((BgL_rz00_1777 == BgL_endz00_7031))
				{	/* Llib/unicode.scm 794 */
					return bgl_string_shrink(BgL_resz00_7028, BgL_wz00_1778);
				}
			else
				{	/* Llib/unicode.scm 796 */
					unsigned char BgL_cz00_1781;

					BgL_cz00_1781 = STRING_REF(BgL_strz00_7027, BgL_rz00_1777);
					{	/* Llib/unicode.scm 796 */
						long BgL_nz00_1782;

						BgL_nz00_1782 = (BgL_cz00_1781);
						{	/* Llib/unicode.scm 797 */

							if ((BgL_nz00_1782 <= 127L))
								{	/* Llib/unicode.scm 799 */
									STRING_SET(BgL_resz00_7028, BgL_wz00_1778, BgL_cz00_1781);
									{
										long BgL_wz00_9053;
										long BgL_rz00_9051;

										BgL_rz00_9051 = (BgL_rz00_1777 + 1L);
										BgL_wz00_9053 = (BgL_wz00_1778 + 1L);
										BgL_wz00_1778 = BgL_wz00_9053;
										BgL_rz00_1777 = BgL_rz00_9051;
										goto BGl_loopze70ze7zz__unicodez00;
									}
								}
							else
								{	/* Llib/unicode.scm 799 */
									if ((BgL_nz00_1782 < 194L))
										{	/* Llib/unicode.scm 803 */
											STRING_SET(BgL_resz00_7028, BgL_wz00_1778,
												((unsigned char) 239));
											{	/* Llib/unicode.scm 783 */
												long BgL_tmpz00_9058;

												BgL_tmpz00_9058 = (BgL_wz00_1778 + 1L);
												STRING_SET(BgL_resz00_7028, BgL_tmpz00_9058,
													((unsigned char) 191));
											}
											{	/* Llib/unicode.scm 784 */
												long BgL_tmpz00_9061;

												BgL_tmpz00_9061 = (BgL_wz00_1778 + 2L);
												STRING_SET(BgL_resz00_7028, BgL_tmpz00_9061,
													((unsigned char) 189));
											}
											{
												long BgL_wz00_9066;
												long BgL_rz00_9064;

												BgL_rz00_9064 = (BgL_rz00_1777 + 1L);
												BgL_wz00_9066 = (BgL_wz00_1778 + 3L);
												BgL_wz00_1778 = BgL_wz00_9066;
												BgL_rz00_1777 = BgL_rz00_9064;
												goto BGl_loopze70ze7zz__unicodez00;
											}
										}
									else
										{	/* Llib/unicode.scm 803 */
											if ((BgL_nz00_1782 < 223L))
												{	/* Llib/unicode.scm 809 */
													bool_t BgL_test4234z00_9070;

													if (((1L + BgL_rz00_1777) < BgL_lenz00_7029))
														{	/* Llib/unicode.scm 777 */
															long BgL_nz00_4474;

															BgL_nz00_4474 =
																(STRING_REF(BgL_strz00_7027,
																	(BgL_rz00_1777 + 1L)));
															if ((BgL_nz00_4474 >= 128L))
																{	/* Llib/unicode.scm 778 */
																	BgL_test4234z00_9070 =
																		(BgL_nz00_4474 <= 191L);
																}
															else
																{	/* Llib/unicode.scm 778 */
																	BgL_test4234z00_9070 = ((bool_t) 0);
																}
														}
													else
														{	/* Llib/unicode.scm 809 */
															BgL_test4234z00_9070 = ((bool_t) 0);
														}
													if (BgL_test4234z00_9070)
														{	/* Llib/unicode.scm 809 */
															STRING_SET(BgL_resz00_7028, BgL_wz00_1778,
																BgL_cz00_1781);
															{	/* Llib/unicode.scm 813 */
																unsigned char BgL_auxz00_9083;
																long BgL_tmpz00_9081;

																BgL_auxz00_9083 =
																	STRING_REF(BgL_strz00_7027,
																	(BgL_rz00_1777 + 1L));
																BgL_tmpz00_9081 = (BgL_wz00_1778 + 1L);
																STRING_SET(BgL_resz00_7028, BgL_tmpz00_9081,
																	BgL_auxz00_9083);
															}
															{
																long BgL_wz00_9089;
																long BgL_rz00_9087;

																BgL_rz00_9087 = (BgL_rz00_1777 + 2L);
																BgL_wz00_9089 = (BgL_wz00_1778 + 2L);
																BgL_wz00_1778 = BgL_wz00_9089;
																BgL_rz00_1777 = BgL_rz00_9087;
																goto BGl_loopze70ze7zz__unicodez00;
															}
														}
													else
														{	/* Llib/unicode.scm 809 */
															STRING_SET(BgL_resz00_7028, BgL_wz00_1778,
																((unsigned char) 239));
															{	/* Llib/unicode.scm 783 */
																long BgL_tmpz00_9092;

																BgL_tmpz00_9092 = (BgL_wz00_1778 + 1L);
																STRING_SET(BgL_resz00_7028, BgL_tmpz00_9092,
																	((unsigned char) 191));
															}
															{	/* Llib/unicode.scm 784 */
																long BgL_tmpz00_9095;

																BgL_tmpz00_9095 = (BgL_wz00_1778 + 2L);
																STRING_SET(BgL_resz00_7028, BgL_tmpz00_9095,
																	((unsigned char) 189));
															}
															{
																long BgL_wz00_9100;
																long BgL_rz00_9098;

																BgL_rz00_9098 = (BgL_rz00_1777 + 1L);
																BgL_wz00_9100 = (BgL_wz00_1778 + 3L);
																BgL_wz00_1778 = BgL_wz00_9100;
																BgL_rz00_1777 = BgL_rz00_9098;
																goto BGl_loopze70ze7zz__unicodez00;
															}
														}
												}
											else
												{	/* Llib/unicode.scm 818 */
													bool_t BgL_test4237z00_9102;

													if ((BgL_nz00_1782 >= 216L))
														{	/* Llib/unicode.scm 818 */
															BgL_test4237z00_9102 = (BgL_nz00_1782 <= 219L);
														}
													else
														{	/* Llib/unicode.scm 818 */
															BgL_test4237z00_9102 = ((bool_t) 0);
														}
													if (BgL_test4237z00_9102)
														{	/* Llib/unicode.scm 820 */
															bool_t BgL_test4239z00_9106;

															if ((BgL_rz00_1777 < (BgL_lenz00_7029 - 3L)))
																{	/* Llib/unicode.scm 821 */
																	bool_t BgL_test4241z00_9110;

																	{	/* Llib/unicode.scm 777 */
																		long BgL_nz00_4514;

																		BgL_nz00_4514 =
																			(STRING_REF(BgL_strz00_7027,
																				(BgL_rz00_1777 + 1L)));
																		if ((BgL_nz00_4514 >= 220L))
																			{	/* Llib/unicode.scm 778 */
																				BgL_test4241z00_9110 =
																					(BgL_nz00_4514 <= 223L);
																			}
																		else
																			{	/* Llib/unicode.scm 778 */
																				BgL_test4241z00_9110 = ((bool_t) 0);
																			}
																	}
																	if (BgL_test4241z00_9110)
																		{	/* Llib/unicode.scm 822 */
																			bool_t BgL_test4243z00_9117;

																			{	/* Llib/unicode.scm 777 */
																				long BgL_nz00_4522;

																				BgL_nz00_4522 =
																					(STRING_REF(BgL_strz00_7027,
																						(BgL_rz00_1777 + 2L)));
																				if ((BgL_nz00_4522 >= 220L))
																					{	/* Llib/unicode.scm 778 */
																						BgL_test4243z00_9117 =
																							(BgL_nz00_4522 <= 223L);
																					}
																				else
																					{	/* Llib/unicode.scm 778 */
																						BgL_test4243z00_9117 = ((bool_t) 0);
																					}
																			}
																			if (BgL_test4243z00_9117)
																				{	/* Llib/unicode.scm 777 */
																					long BgL_nz00_4530;

																					BgL_nz00_4530 =
																						(STRING_REF(BgL_strz00_7027,
																							(BgL_rz00_1777 + 3L)));
																					if ((BgL_nz00_4530 >= 220L))
																						{	/* Llib/unicode.scm 778 */
																							BgL_test4239z00_9106 =
																								(BgL_nz00_4530 <= 223L);
																						}
																					else
																						{	/* Llib/unicode.scm 778 */
																							BgL_test4239z00_9106 =
																								((bool_t) 0);
																						}
																				}
																			else
																				{	/* Llib/unicode.scm 822 */
																					BgL_test4239z00_9106 = ((bool_t) 0);
																				}
																		}
																	else
																		{	/* Llib/unicode.scm 821 */
																			BgL_test4239z00_9106 = ((bool_t) 0);
																		}
																}
															else
																{	/* Llib/unicode.scm 820 */
																	BgL_test4239z00_9106 = ((bool_t) 0);
																}
															if (BgL_test4239z00_9106)
																{	/* Llib/unicode.scm 820 */
																	STRING_SET(BgL_resz00_7028, BgL_wz00_1778,
																		BgL_cz00_1781);
																	{	/* Llib/unicode.scm 826 */
																		unsigned char BgL_auxz00_9133;
																		long BgL_tmpz00_9131;

																		BgL_auxz00_9133 =
																			STRING_REF(BgL_strz00_7027,
																			(BgL_rz00_1777 + 1L));
																		BgL_tmpz00_9131 = (BgL_wz00_1778 + 1L);
																		STRING_SET(BgL_resz00_7028, BgL_tmpz00_9131,
																			BgL_auxz00_9133);
																	}
																	{	/* Llib/unicode.scm 827 */
																		unsigned char BgL_auxz00_9139;
																		long BgL_tmpz00_9137;

																		BgL_auxz00_9139 =
																			STRING_REF(BgL_strz00_7027,
																			(BgL_rz00_1777 + 2L));
																		BgL_tmpz00_9137 = (BgL_wz00_1778 + 2L);
																		STRING_SET(BgL_resz00_7028, BgL_tmpz00_9137,
																			BgL_auxz00_9139);
																	}
																	{	/* Llib/unicode.scm 828 */
																		unsigned char BgL_auxz00_9145;
																		long BgL_tmpz00_9143;

																		BgL_auxz00_9145 =
																			STRING_REF(BgL_strz00_7027,
																			(BgL_rz00_1777 + 3L));
																		BgL_tmpz00_9143 = (BgL_wz00_1778 + 3L);
																		STRING_SET(BgL_resz00_7028, BgL_tmpz00_9143,
																			BgL_auxz00_9145);
																	}
																	BGl_loopze70ze7zz__unicodez00(BgL_endz00_7031,
																		BgL_strictz00_7030, BgL_lenz00_7029,
																		BgL_resz00_7028, BgL_strz00_7027,
																		(BgL_rz00_1777 + 4L), (BgL_wz00_1778 + 4L));
																	STRING_SET(BgL_resz00_7028, BgL_wz00_1778,
																		((unsigned char) 239));
																	{	/* Llib/unicode.scm 783 */
																		long BgL_tmpz00_9153;

																		BgL_tmpz00_9153 = (BgL_wz00_1778 + 1L);
																		STRING_SET(BgL_resz00_7028, BgL_tmpz00_9153,
																			((unsigned char) 191));
																	}
																	{	/* Llib/unicode.scm 784 */
																		long BgL_tmpz00_9156;

																		BgL_tmpz00_9156 = (BgL_wz00_1778 + 2L);
																		STRING_SET(BgL_resz00_7028, BgL_tmpz00_9156,
																			((unsigned char) 189));
																	}
																	{
																		long BgL_wz00_9161;
																		long BgL_rz00_9159;

																		BgL_rz00_9159 = (BgL_rz00_1777 + 1L);
																		BgL_wz00_9161 = (BgL_wz00_1778 + 3L);
																		BgL_wz00_1778 = BgL_wz00_9161;
																		BgL_rz00_1777 = BgL_rz00_9159;
																		goto BGl_loopze70ze7zz__unicodez00;
																	}
																}
															else
																{	/* Llib/unicode.scm 820 */
																	return BFALSE;
																}
														}
													else
														{	/* Llib/unicode.scm 818 */
															if ((BgL_nz00_1782 <= 223L))
																{	/* Llib/unicode.scm 835 */
																	bool_t BgL_test4247z00_9165;

																	if (((1L + BgL_rz00_1777) < BgL_lenz00_7029))
																		{	/* Llib/unicode.scm 777 */
																			long BgL_nz00_4583;

																			BgL_nz00_4583 =
																				(STRING_REF(BgL_strz00_7027,
																					(BgL_rz00_1777 + 1L)));
																			if ((BgL_nz00_4583 >= 128L))
																				{	/* Llib/unicode.scm 778 */
																					BgL_test4247z00_9165 =
																						(BgL_nz00_4583 <= 191L);
																				}
																			else
																				{	/* Llib/unicode.scm 778 */
																					BgL_test4247z00_9165 = ((bool_t) 0);
																				}
																		}
																	else
																		{	/* Llib/unicode.scm 835 */
																			BgL_test4247z00_9165 = ((bool_t) 0);
																		}
																	if (BgL_test4247z00_9165)
																		{	/* Llib/unicode.scm 835 */
																			STRING_SET(BgL_resz00_7028, BgL_wz00_1778,
																				BgL_cz00_1781);
																			{	/* Llib/unicode.scm 839 */
																				unsigned char BgL_auxz00_9178;
																				long BgL_tmpz00_9176;

																				BgL_auxz00_9178 =
																					STRING_REF(BgL_strz00_7027,
																					(BgL_rz00_1777 + 1L));
																				BgL_tmpz00_9176 = (BgL_wz00_1778 + 1L);
																				STRING_SET(BgL_resz00_7028,
																					BgL_tmpz00_9176, BgL_auxz00_9178);
																			}
																			{
																				long BgL_wz00_9184;
																				long BgL_rz00_9182;

																				BgL_rz00_9182 = (BgL_rz00_1777 + 2L);
																				BgL_wz00_9184 = (BgL_wz00_1778 + 2L);
																				BgL_wz00_1778 = BgL_wz00_9184;
																				BgL_rz00_1777 = BgL_rz00_9182;
																				goto BGl_loopze70ze7zz__unicodez00;
																			}
																		}
																	else
																		{	/* Llib/unicode.scm 835 */
																			STRING_SET(BgL_resz00_7028, BgL_wz00_1778,
																				((unsigned char) 239));
																			{	/* Llib/unicode.scm 783 */
																				long BgL_tmpz00_9187;

																				BgL_tmpz00_9187 = (BgL_wz00_1778 + 1L);
																				STRING_SET(BgL_resz00_7028,
																					BgL_tmpz00_9187,
																					((unsigned char) 191));
																			}
																			{	/* Llib/unicode.scm 784 */
																				long BgL_tmpz00_9190;

																				BgL_tmpz00_9190 = (BgL_wz00_1778 + 2L);
																				STRING_SET(BgL_resz00_7028,
																					BgL_tmpz00_9190,
																					((unsigned char) 189));
																			}
																			{
																				long BgL_wz00_9195;
																				long BgL_rz00_9193;

																				BgL_rz00_9193 = (BgL_rz00_1777 + 1L);
																				BgL_wz00_9195 = (BgL_wz00_1778 + 3L);
																				BgL_wz00_1778 = BgL_wz00_9195;
																				BgL_rz00_1777 = BgL_rz00_9193;
																				goto BGl_loopze70ze7zz__unicodez00;
																			}
																		}
																}
															else
																{	/* Llib/unicode.scm 833 */
																	if ((BgL_nz00_1782 <= 239L))
																		{	/* Llib/unicode.scm 846 */
																			bool_t BgL_test4251z00_9199;

																			if (
																				(BgL_rz00_1777 <
																					(BgL_lenz00_7029 - 2L)))
																				{	/* Llib/unicode.scm 847 */
																					bool_t BgL_test4253z00_9203;

																					{	/* Llib/unicode.scm 777 */
																						long BgL_nz00_4622;

																						BgL_nz00_4622 =
																							(STRING_REF(BgL_strz00_7027,
																								(BgL_rz00_1777 + 1L)));
																						if ((BgL_nz00_4622 >= 128L))
																							{	/* Llib/unicode.scm 778 */
																								BgL_test4253z00_9203 =
																									(BgL_nz00_4622 <= 191L);
																							}
																						else
																							{	/* Llib/unicode.scm 778 */
																								BgL_test4253z00_9203 =
																									((bool_t) 0);
																							}
																					}
																					if (BgL_test4253z00_9203)
																						{	/* Llib/unicode.scm 777 */
																							long BgL_nz00_4630;

																							BgL_nz00_4630 =
																								(STRING_REF(BgL_strz00_7027,
																									(BgL_rz00_1777 + 2L)));
																							if ((BgL_nz00_4630 >= 128L))
																								{	/* Llib/unicode.scm 778 */
																									BgL_test4251z00_9199 =
																										(BgL_nz00_4630 <= 191L);
																								}
																							else
																								{	/* Llib/unicode.scm 778 */
																									BgL_test4251z00_9199 =
																										((bool_t) 0);
																								}
																						}
																					else
																						{	/* Llib/unicode.scm 847 */
																							BgL_test4251z00_9199 =
																								((bool_t) 0);
																						}
																				}
																			else
																				{	/* Llib/unicode.scm 846 */
																					BgL_test4251z00_9199 = ((bool_t) 0);
																				}
																			if (BgL_test4251z00_9199)
																				{	/* Llib/unicode.scm 846 */
																					STRING_SET(BgL_resz00_7028,
																						BgL_wz00_1778, BgL_cz00_1781);
																					{	/* Llib/unicode.scm 851 */
																						unsigned char BgL_auxz00_9219;
																						long BgL_tmpz00_9217;

																						BgL_auxz00_9219 =
																							STRING_REF(BgL_strz00_7027,
																							(BgL_rz00_1777 + 1L));
																						BgL_tmpz00_9217 =
																							(BgL_wz00_1778 + 1L);
																						STRING_SET(BgL_resz00_7028,
																							BgL_tmpz00_9217, BgL_auxz00_9219);
																					}
																					{	/* Llib/unicode.scm 852 */
																						unsigned char BgL_auxz00_9225;
																						long BgL_tmpz00_9223;

																						BgL_auxz00_9225 =
																							STRING_REF(BgL_strz00_7027,
																							(BgL_rz00_1777 + 2L));
																						BgL_tmpz00_9223 =
																							(BgL_wz00_1778 + 2L);
																						STRING_SET(BgL_resz00_7028,
																							BgL_tmpz00_9223, BgL_auxz00_9225);
																					}
																					{
																						long BgL_wz00_9231;
																						long BgL_rz00_9229;

																						BgL_rz00_9229 =
																							(BgL_rz00_1777 + 3L);
																						BgL_wz00_9231 =
																							(BgL_wz00_1778 + 3L);
																						BgL_wz00_1778 = BgL_wz00_9231;
																						BgL_rz00_1777 = BgL_rz00_9229;
																						goto BGl_loopze70ze7zz__unicodez00;
																					}
																				}
																			else
																				{	/* Llib/unicode.scm 846 */
																					STRING_SET(BgL_resz00_7028,
																						BgL_wz00_1778,
																						((unsigned char) 239));
																					{	/* Llib/unicode.scm 783 */
																						long BgL_tmpz00_9234;

																						BgL_tmpz00_9234 =
																							(BgL_wz00_1778 + 1L);
																						STRING_SET(BgL_resz00_7028,
																							BgL_tmpz00_9234,
																							((unsigned char) 191));
																					}
																					{	/* Llib/unicode.scm 784 */
																						long BgL_tmpz00_9237;

																						BgL_tmpz00_9237 =
																							(BgL_wz00_1778 + 2L);
																						STRING_SET(BgL_resz00_7028,
																							BgL_tmpz00_9237,
																							((unsigned char) 189));
																					}
																					{
																						long BgL_wz00_9242;
																						long BgL_rz00_9240;

																						BgL_rz00_9240 =
																							(BgL_rz00_1777 + 1L);
																						BgL_wz00_9242 =
																							(BgL_wz00_1778 + 3L);
																						BgL_wz00_1778 = BgL_wz00_9242;
																						BgL_rz00_1777 = BgL_rz00_9240;
																						goto BGl_loopze70ze7zz__unicodez00;
																					}
																				}
																		}
																	else
																		{	/* Llib/unicode.scm 844 */
																			if ((BgL_nz00_1782 == 240L))
																				{	/* Llib/unicode.scm 859 */
																					bool_t BgL_test4257z00_9246;

																					if (
																						(BgL_rz00_1777 <
																							(BgL_lenz00_7029 - 3L)))
																						{	/* Llib/unicode.scm 860 */
																							bool_t BgL_test4259z00_9250;

																							{	/* Llib/unicode.scm 777 */
																								long BgL_nz00_4676;

																								BgL_nz00_4676 =
																									(STRING_REF(BgL_strz00_7027,
																										(BgL_rz00_1777 + 1L)));
																								if ((BgL_nz00_4676 >= 144L))
																									{	/* Llib/unicode.scm 778 */
																										BgL_test4259z00_9250 =
																											(BgL_nz00_4676 <= 191L);
																									}
																								else
																									{	/* Llib/unicode.scm 778 */
																										BgL_test4259z00_9250 =
																											((bool_t) 0);
																									}
																							}
																							if (BgL_test4259z00_9250)
																								{	/* Llib/unicode.scm 861 */
																									bool_t BgL_test4261z00_9257;

																									{	/* Llib/unicode.scm 777 */
																										long BgL_nz00_4684;

																										BgL_nz00_4684 =
																											(STRING_REF
																											(BgL_strz00_7027,
																												(BgL_rz00_1777 + 2L)));
																										if ((BgL_nz00_4684 >= 128L))
																											{	/* Llib/unicode.scm 778 */
																												BgL_test4261z00_9257 =
																													(BgL_nz00_4684 <=
																													191L);
																											}
																										else
																											{	/* Llib/unicode.scm 778 */
																												BgL_test4261z00_9257 =
																													((bool_t) 0);
																											}
																									}
																									if (BgL_test4261z00_9257)
																										{	/* Llib/unicode.scm 777 */
																											long BgL_nz00_4692;

																											BgL_nz00_4692 =
																												(STRING_REF
																												(BgL_strz00_7027,
																													(BgL_rz00_1777 +
																														3L)));
																											if ((BgL_nz00_4692 >=
																													128L))
																												{	/* Llib/unicode.scm 778 */
																													BgL_test4257z00_9246 =
																														(BgL_nz00_4692 <=
																														191L);
																												}
																											else
																												{	/* Llib/unicode.scm 778 */
																													BgL_test4257z00_9246 =
																														((bool_t) 0);
																												}
																										}
																									else
																										{	/* Llib/unicode.scm 861 */
																											BgL_test4257z00_9246 =
																												((bool_t) 0);
																										}
																								}
																							else
																								{	/* Llib/unicode.scm 860 */
																									BgL_test4257z00_9246 =
																										((bool_t) 0);
																								}
																						}
																					else
																						{	/* Llib/unicode.scm 859 */
																							BgL_test4257z00_9246 =
																								((bool_t) 0);
																						}
																					if (BgL_test4257z00_9246)
																						{	/* Llib/unicode.scm 859 */
																							STRING_SET(BgL_resz00_7028,
																								BgL_wz00_1778, BgL_cz00_1781);
																							{	/* Llib/unicode.scm 865 */
																								unsigned char BgL_auxz00_9273;
																								long BgL_tmpz00_9271;

																								BgL_auxz00_9273 =
																									STRING_REF(BgL_strz00_7027,
																									(BgL_rz00_1777 + 1L));
																								BgL_tmpz00_9271 =
																									(BgL_wz00_1778 + 1L);
																								STRING_SET(BgL_resz00_7028,
																									BgL_tmpz00_9271,
																									BgL_auxz00_9273);
																							}
																							{	/* Llib/unicode.scm 866 */
																								unsigned char BgL_auxz00_9279;
																								long BgL_tmpz00_9277;

																								BgL_auxz00_9279 =
																									STRING_REF(BgL_strz00_7027,
																									(BgL_rz00_1777 + 2L));
																								BgL_tmpz00_9277 =
																									(BgL_wz00_1778 + 2L);
																								STRING_SET(BgL_resz00_7028,
																									BgL_tmpz00_9277,
																									BgL_auxz00_9279);
																							}
																							{	/* Llib/unicode.scm 867 */
																								unsigned char BgL_auxz00_9285;
																								long BgL_tmpz00_9283;

																								BgL_auxz00_9285 =
																									STRING_REF(BgL_strz00_7027,
																									(BgL_rz00_1777 + 3L));
																								BgL_tmpz00_9283 =
																									(BgL_wz00_1778 + 3L);
																								STRING_SET(BgL_resz00_7028,
																									BgL_tmpz00_9283,
																									BgL_auxz00_9285);
																							}
																							{
																								long BgL_wz00_9291;
																								long BgL_rz00_9289;

																								BgL_rz00_9289 =
																									(BgL_rz00_1777 + 4L);
																								BgL_wz00_9291 =
																									(BgL_wz00_1778 + 4L);
																								BgL_wz00_1778 = BgL_wz00_9291;
																								BgL_rz00_1777 = BgL_rz00_9289;
																								goto
																									BGl_loopze70ze7zz__unicodez00;
																							}
																						}
																					else
																						{	/* Llib/unicode.scm 859 */
																							STRING_SET(BgL_resz00_7028,
																								BgL_wz00_1778,
																								((unsigned char) 239));
																							{	/* Llib/unicode.scm 783 */
																								long BgL_tmpz00_9294;

																								BgL_tmpz00_9294 =
																									(BgL_wz00_1778 + 1L);
																								STRING_SET(BgL_resz00_7028,
																									BgL_tmpz00_9294,
																									((unsigned char) 191));
																							}
																							{	/* Llib/unicode.scm 784 */
																								long BgL_tmpz00_9297;

																								BgL_tmpz00_9297 =
																									(BgL_wz00_1778 + 2L);
																								STRING_SET(BgL_resz00_7028,
																									BgL_tmpz00_9297,
																									((unsigned char) 189));
																							}
																							{
																								long BgL_wz00_9302;
																								long BgL_rz00_9300;

																								BgL_rz00_9300 =
																									(BgL_rz00_1777 + 1L);
																								BgL_wz00_9302 =
																									(BgL_wz00_1778 + 3L);
																								BgL_wz00_1778 = BgL_wz00_9302;
																								BgL_rz00_1777 = BgL_rz00_9300;
																								goto
																									BGl_loopze70ze7zz__unicodez00;
																							}
																						}
																				}
																			else
																				{	/* Llib/unicode.scm 872 */
																					bool_t BgL_test4264z00_9304;

																					if ((BgL_nz00_1782 == 244L))
																						{	/* Llib/unicode.scm 872 */
																							BgL_test4264z00_9304 =
																								((bool_t) 1);
																						}
																					else
																						{	/* Llib/unicode.scm 873 */
																							bool_t BgL_test4266z00_9307;

																							{	/* Llib/unicode.scm 873 */
																								bool_t BgL__ortest_1051z00_2133;

																								BgL__ortest_1051z00_2133 =
																									(BgL_nz00_1782 == 248L);
																								if (BgL__ortest_1051z00_2133)
																									{	/* Llib/unicode.scm 873 */
																										BgL_test4266z00_9307 =
																											BgL__ortest_1051z00_2133;
																									}
																								else
																									{	/* Llib/unicode.scm 873 */
																										BgL_test4266z00_9307 =
																											(BgL_nz00_1782 == 252L);
																									}
																							}
																							if (BgL_test4266z00_9307)
																								{	/* Llib/unicode.scm 873 */
																									if (BgL_strictz00_7030)
																										{	/* Llib/unicode.scm 873 */
																											BgL_test4264z00_9304 =
																												((bool_t) 0);
																										}
																									else
																										{	/* Llib/unicode.scm 873 */
																											BgL_test4264z00_9304 =
																												((bool_t) 1);
																										}
																								}
																							else
																								{	/* Llib/unicode.scm 873 */
																									BgL_test4264z00_9304 =
																										((bool_t) 0);
																								}
																						}
																					if (BgL_test4264z00_9304)
																						{	/* Llib/unicode.scm 875 */
																							bool_t BgL_test4269z00_9312;

																							if (
																								(BgL_rz00_1777 <
																									(BgL_lenz00_7029 - 3L)))
																								{	/* Llib/unicode.scm 876 */
																									bool_t BgL_test4271z00_9316;

																									{	/* Llib/unicode.scm 777 */
																										long BgL_nz00_4747;

																										BgL_nz00_4747 =
																											(STRING_REF
																											(BgL_strz00_7027,
																												(BgL_rz00_1777 + 1L)));
																										if ((BgL_nz00_4747 >= 128L))
																											{	/* Llib/unicode.scm 778 */
																												BgL_test4271z00_9316 =
																													(BgL_nz00_4747 <=
																													191L);
																											}
																										else
																											{	/* Llib/unicode.scm 778 */
																												BgL_test4271z00_9316 =
																													((bool_t) 0);
																											}
																									}
																									if (BgL_test4271z00_9316)
																										{	/* Llib/unicode.scm 877 */
																											bool_t
																												BgL_test4273z00_9323;
																											{	/* Llib/unicode.scm 777 */
																												long BgL_nz00_4755;

																												BgL_nz00_4755 =
																													(STRING_REF
																													(BgL_strz00_7027,
																														(BgL_rz00_1777 +
																															2L)));
																												if ((BgL_nz00_4755 >=
																														128L))
																													{	/* Llib/unicode.scm 778 */
																														BgL_test4273z00_9323
																															=
																															(BgL_nz00_4755 <=
																															191L);
																													}
																												else
																													{	/* Llib/unicode.scm 778 */
																														BgL_test4273z00_9323
																															= ((bool_t) 0);
																													}
																											}
																											if (BgL_test4273z00_9323)
																												{	/* Llib/unicode.scm 777 */
																													long BgL_nz00_4763;

																													BgL_nz00_4763 =
																														(STRING_REF
																														(BgL_strz00_7027,
																															(BgL_rz00_1777 +
																																3L)));
																													if ((BgL_nz00_4763 >=
																															128L))
																														{	/* Llib/unicode.scm 778 */
																															BgL_test4269z00_9312
																																=
																																(BgL_nz00_4763
																																<= 191L);
																														}
																													else
																														{	/* Llib/unicode.scm 778 */
																															BgL_test4269z00_9312
																																= ((bool_t) 0);
																														}
																												}
																											else
																												{	/* Llib/unicode.scm 877 */
																													BgL_test4269z00_9312 =
																														((bool_t) 0);
																												}
																										}
																									else
																										{	/* Llib/unicode.scm 876 */
																											BgL_test4269z00_9312 =
																												((bool_t) 0);
																										}
																								}
																							else
																								{	/* Llib/unicode.scm 875 */
																									BgL_test4269z00_9312 =
																										((bool_t) 0);
																								}
																							if (BgL_test4269z00_9312)
																								{	/* Llib/unicode.scm 875 */
																									STRING_SET(BgL_resz00_7028,
																										BgL_wz00_1778,
																										BgL_cz00_1781);
																									{	/* Llib/unicode.scm 881 */
																										unsigned char
																											BgL_auxz00_9339;
																										long BgL_tmpz00_9337;

																										BgL_auxz00_9339 =
																											STRING_REF
																											(BgL_strz00_7027,
																											(BgL_rz00_1777 + 1L));
																										BgL_tmpz00_9337 =
																											(BgL_wz00_1778 + 1L);
																										STRING_SET(BgL_resz00_7028,
																											BgL_tmpz00_9337,
																											BgL_auxz00_9339);
																									}
																									{	/* Llib/unicode.scm 882 */
																										unsigned char
																											BgL_auxz00_9345;
																										long BgL_tmpz00_9343;

																										BgL_auxz00_9345 =
																											STRING_REF
																											(BgL_strz00_7027,
																											(BgL_rz00_1777 + 2L));
																										BgL_tmpz00_9343 =
																											(BgL_wz00_1778 + 2L);
																										STRING_SET(BgL_resz00_7028,
																											BgL_tmpz00_9343,
																											BgL_auxz00_9345);
																									}
																									{	/* Llib/unicode.scm 883 */
																										unsigned char
																											BgL_auxz00_9351;
																										long BgL_tmpz00_9349;

																										BgL_auxz00_9351 =
																											STRING_REF
																											(BgL_strz00_7027,
																											(BgL_rz00_1777 + 3L));
																										BgL_tmpz00_9349 =
																											(BgL_wz00_1778 + 3L);
																										STRING_SET(BgL_resz00_7028,
																											BgL_tmpz00_9349,
																											BgL_auxz00_9351);
																									}
																									{
																										long BgL_wz00_9357;
																										long BgL_rz00_9355;

																										BgL_rz00_9355 =
																											(BgL_rz00_1777 + 4L);
																										BgL_wz00_9357 =
																											(BgL_wz00_1778 + 4L);
																										BgL_wz00_1778 =
																											BgL_wz00_9357;
																										BgL_rz00_1777 =
																											BgL_rz00_9355;
																										goto
																											BGl_loopze70ze7zz__unicodez00;
																									}
																								}
																							else
																								{	/* Llib/unicode.scm 875 */
																									STRING_SET(BgL_resz00_7028,
																										BgL_wz00_1778,
																										((unsigned char) 239));
																									{	/* Llib/unicode.scm 783 */
																										long BgL_tmpz00_9360;

																										BgL_tmpz00_9360 =
																											(BgL_wz00_1778 + 1L);
																										STRING_SET(BgL_resz00_7028,
																											BgL_tmpz00_9360,
																											((unsigned char) 191));
																									}
																									{	/* Llib/unicode.scm 784 */
																										long BgL_tmpz00_9363;

																										BgL_tmpz00_9363 =
																											(BgL_wz00_1778 + 2L);
																										STRING_SET(BgL_resz00_7028,
																											BgL_tmpz00_9363,
																											((unsigned char) 189));
																									}
																									{
																										long BgL_wz00_9368;
																										long BgL_rz00_9366;

																										BgL_rz00_9366 =
																											(BgL_rz00_1777 + 1L);
																										BgL_wz00_9368 =
																											(BgL_wz00_1778 + 3L);
																										BgL_wz00_1778 =
																											BgL_wz00_9368;
																										BgL_rz00_1777 =
																											BgL_rz00_9366;
																										goto
																											BGl_loopze70ze7zz__unicodez00;
																									}
																								}
																						}
																					else
																						{	/* Llib/unicode.scm 872 */
																							if ((BgL_nz00_1782 <= 247L))
																								{	/* Llib/unicode.scm 890 */
																									bool_t BgL_test4277z00_9372;

																									if (
																										(BgL_rz00_1777 <
																											(BgL_lenz00_7029 - 3L)))
																										{	/* Llib/unicode.scm 891 */
																											bool_t
																												BgL_test4279z00_9376;
																											{	/* Llib/unicode.scm 777 */
																												long BgL_nz00_4816;

																												BgL_nz00_4816 =
																													(STRING_REF
																													(BgL_strz00_7027,
																														(BgL_rz00_1777 +
																															1L)));
																												if ((BgL_nz00_4816 >=
																														128L))
																													{	/* Llib/unicode.scm 778 */
																														BgL_test4279z00_9376
																															=
																															(BgL_nz00_4816 <=
																															191L);
																													}
																												else
																													{	/* Llib/unicode.scm 778 */
																														BgL_test4279z00_9376
																															= ((bool_t) 0);
																													}
																											}
																											if (BgL_test4279z00_9376)
																												{	/* Llib/unicode.scm 892 */
																													bool_t
																														BgL_test4281z00_9383;
																													{	/* Llib/unicode.scm 777 */
																														long BgL_nz00_4824;

																														BgL_nz00_4824 =
																															(STRING_REF
																															(BgL_strz00_7027,
																																(BgL_rz00_1777 +
																																	2L)));
																														if ((BgL_nz00_4824
																																>= 128L))
																															{	/* Llib/unicode.scm 778 */
																																BgL_test4281z00_9383
																																	=
																																	(BgL_nz00_4824
																																	<= 191L);
																															}
																														else
																															{	/* Llib/unicode.scm 778 */
																																BgL_test4281z00_9383
																																	=
																																	((bool_t) 0);
																															}
																													}
																													if (BgL_test4281z00_9383)
																														{	/* Llib/unicode.scm 777 */
																															long
																																BgL_nz00_4832;
																															BgL_nz00_4832 =
																																(STRING_REF
																																(BgL_strz00_7027,
																																	(BgL_rz00_1777
																																		+ 3L)));
																															if ((BgL_nz00_4832
																																	>= 128L))
																																{	/* Llib/unicode.scm 778 */
																																	BgL_test4277z00_9372
																																		=
																																		(BgL_nz00_4832
																																		<= 191L);
																																}
																															else
																																{	/* Llib/unicode.scm 778 */
																																	BgL_test4277z00_9372
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																													else
																														{	/* Llib/unicode.scm 892 */
																															BgL_test4277z00_9372
																																= ((bool_t) 0);
																														}
																												}
																											else
																												{	/* Llib/unicode.scm 891 */
																													BgL_test4277z00_9372 =
																														((bool_t) 0);
																												}
																										}
																									else
																										{	/* Llib/unicode.scm 890 */
																											BgL_test4277z00_9372 =
																												((bool_t) 0);
																										}
																									if (BgL_test4277z00_9372)
																										{	/* Llib/unicode.scm 890 */
																											STRING_SET
																												(BgL_resz00_7028,
																												BgL_wz00_1778,
																												BgL_cz00_1781);
																											{	/* Llib/unicode.scm 896 */
																												unsigned char
																													BgL_auxz00_9399;
																												long BgL_tmpz00_9397;

																												BgL_auxz00_9399 =
																													STRING_REF
																													(BgL_strz00_7027,
																													(BgL_rz00_1777 + 1L));
																												BgL_tmpz00_9397 =
																													(BgL_wz00_1778 + 1L);
																												STRING_SET
																													(BgL_resz00_7028,
																													BgL_tmpz00_9397,
																													BgL_auxz00_9399);
																											}
																											{	/* Llib/unicode.scm 897 */
																												unsigned char
																													BgL_auxz00_9405;
																												long BgL_tmpz00_9403;

																												BgL_auxz00_9405 =
																													STRING_REF
																													(BgL_strz00_7027,
																													(BgL_rz00_1777 + 2L));
																												BgL_tmpz00_9403 =
																													(BgL_wz00_1778 + 2L);
																												STRING_SET
																													(BgL_resz00_7028,
																													BgL_tmpz00_9403,
																													BgL_auxz00_9405);
																											}
																											{	/* Llib/unicode.scm 898 */
																												unsigned char
																													BgL_auxz00_9411;
																												long BgL_tmpz00_9409;

																												BgL_auxz00_9411 =
																													STRING_REF
																													(BgL_strz00_7027,
																													(BgL_rz00_1777 + 3L));
																												BgL_tmpz00_9409 =
																													(BgL_wz00_1778 + 3L);
																												STRING_SET
																													(BgL_resz00_7028,
																													BgL_tmpz00_9409,
																													BgL_auxz00_9411);
																											}
																											{
																												long BgL_wz00_9417;
																												long BgL_rz00_9415;

																												BgL_rz00_9415 =
																													(BgL_rz00_1777 + 4L);
																												BgL_wz00_9417 =
																													(BgL_wz00_1778 + 4L);
																												BgL_wz00_1778 =
																													BgL_wz00_9417;
																												BgL_rz00_1777 =
																													BgL_rz00_9415;
																												goto
																													BGl_loopze70ze7zz__unicodez00;
																											}
																										}
																									else
																										{	/* Llib/unicode.scm 890 */
																											STRING_SET
																												(BgL_resz00_7028,
																												BgL_wz00_1778,
																												((unsigned char) 239));
																											{	/* Llib/unicode.scm 783 */
																												long BgL_tmpz00_9420;

																												BgL_tmpz00_9420 =
																													(BgL_wz00_1778 + 1L);
																												STRING_SET
																													(BgL_resz00_7028,
																													BgL_tmpz00_9420,
																													((unsigned char)
																														191));
																											}
																											{	/* Llib/unicode.scm 784 */
																												long BgL_tmpz00_9423;

																												BgL_tmpz00_9423 =
																													(BgL_wz00_1778 + 2L);
																												STRING_SET
																													(BgL_resz00_7028,
																													BgL_tmpz00_9423,
																													((unsigned char)
																														189));
																											}
																											{
																												long BgL_wz00_9428;
																												long BgL_rz00_9426;

																												BgL_rz00_9426 =
																													(BgL_rz00_1777 + 1L);
																												BgL_wz00_9428 =
																													(BgL_wz00_1778 + 3L);
																												BgL_wz00_1778 =
																													BgL_wz00_9428;
																												BgL_rz00_1777 =
																													BgL_rz00_9426;
																												goto
																													BGl_loopze70ze7zz__unicodez00;
																											}
																										}
																								}
																							else
																								{	/* Llib/unicode.scm 888 */
																									if ((BgL_nz00_1782 <= 251L))
																										{	/* Llib/unicode.scm 904 */
																											bool_t
																												BgL_test4285z00_9432;
																											if ((BgL_rz00_1777 <
																													(BgL_lenz00_7029 -
																														4L)))
																												{	/* Llib/unicode.scm 905 */
																													bool_t
																														BgL_test4287z00_9436;
																													{	/* Llib/unicode.scm 777 */
																														long BgL_nz00_4885;

																														BgL_nz00_4885 =
																															(STRING_REF
																															(BgL_strz00_7027,
																																(BgL_rz00_1777 +
																																	1L)));
																														if ((BgL_nz00_4885
																																>= 128L))
																															{	/* Llib/unicode.scm 778 */
																																BgL_test4287z00_9436
																																	=
																																	(BgL_nz00_4885
																																	<= 191L);
																															}
																														else
																															{	/* Llib/unicode.scm 778 */
																																BgL_test4287z00_9436
																																	=
																																	((bool_t) 0);
																															}
																													}
																													if (BgL_test4287z00_9436)
																														{	/* Llib/unicode.scm 906 */
																															bool_t
																																BgL_test4289z00_9443;
																															{	/* Llib/unicode.scm 777 */
																																long
																																	BgL_nz00_4893;
																																BgL_nz00_4893 =
																																	(STRING_REF
																																	(BgL_strz00_7027,
																																		(BgL_rz00_1777
																																			+ 2L)));
																																if (
																																	(BgL_nz00_4893
																																		>= 128L))
																																	{	/* Llib/unicode.scm 778 */
																																		BgL_test4289z00_9443
																																			=
																																			(BgL_nz00_4893
																																			<= 191L);
																																	}
																																else
																																	{	/* Llib/unicode.scm 778 */
																																		BgL_test4289z00_9443
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																															if (BgL_test4289z00_9443)
																																{	/* Llib/unicode.scm 907 */
																																	bool_t
																																		BgL_test4291z00_9450;
																																	{	/* Llib/unicode.scm 777 */
																																		long
																																			BgL_nz00_4901;
																																		BgL_nz00_4901
																																			=
																																			(STRING_REF
																																			(BgL_strz00_7027,
																																				(BgL_rz00_1777
																																					+
																																					3L)));
																																		if (
																																			(BgL_nz00_4901
																																				>=
																																				128L))
																																			{	/* Llib/unicode.scm 778 */
																																				BgL_test4291z00_9450
																																					=
																																					(BgL_nz00_4901
																																					<=
																																					191L);
																																			}
																																		else
																																			{	/* Llib/unicode.scm 778 */
																																				BgL_test4291z00_9450
																																					=
																																					(
																																					(bool_t)
																																					0);
																																			}
																																	}
																																	if (BgL_test4291z00_9450)
																																		{	/* Llib/unicode.scm 777 */
																																			long
																																				BgL_nz00_4909;
																																			BgL_nz00_4909
																																				=
																																				(STRING_REF
																																				(BgL_strz00_7027,
																																					(BgL_rz00_1777
																																						+
																																						4L)));
																																			if (
																																				(BgL_nz00_4909
																																					>=
																																					128L))
																																				{	/* Llib/unicode.scm 778 */
																																					BgL_test4285z00_9432
																																						=
																																						(BgL_nz00_4909
																																						<=
																																						191L);
																																				}
																																			else
																																				{	/* Llib/unicode.scm 778 */
																																					BgL_test4285z00_9432
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																	else
																																		{	/* Llib/unicode.scm 907 */
																																			BgL_test4285z00_9432
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																															else
																																{	/* Llib/unicode.scm 906 */
																																	BgL_test4285z00_9432
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																													else
																														{	/* Llib/unicode.scm 905 */
																															BgL_test4285z00_9432
																																= ((bool_t) 0);
																														}
																												}
																											else
																												{	/* Llib/unicode.scm 904 */
																													BgL_test4285z00_9432 =
																														((bool_t) 0);
																												}
																											if (BgL_test4285z00_9432)
																												{	/* Llib/unicode.scm 904 */
																													STRING_SET
																														(BgL_resz00_7028,
																														BgL_wz00_1778,
																														BgL_cz00_1781);
																													{	/* Llib/unicode.scm 911 */
																														unsigned char
																															BgL_auxz00_9466;
																														long
																															BgL_tmpz00_9464;
																														BgL_auxz00_9466 =
																															STRING_REF
																															(BgL_strz00_7027,
																															(BgL_rz00_1777 +
																																1L));
																														BgL_tmpz00_9464 =
																															(BgL_wz00_1778 +
																															1L);
																														STRING_SET
																															(BgL_resz00_7028,
																															BgL_tmpz00_9464,
																															BgL_auxz00_9466);
																													}
																													{	/* Llib/unicode.scm 912 */
																														unsigned char
																															BgL_auxz00_9472;
																														long
																															BgL_tmpz00_9470;
																														BgL_auxz00_9472 =
																															STRING_REF
																															(BgL_strz00_7027,
																															(BgL_rz00_1777 +
																																2L));
																														BgL_tmpz00_9470 =
																															(BgL_wz00_1778 +
																															2L);
																														STRING_SET
																															(BgL_resz00_7028,
																															BgL_tmpz00_9470,
																															BgL_auxz00_9472);
																													}
																													{	/* Llib/unicode.scm 913 */
																														unsigned char
																															BgL_auxz00_9478;
																														long
																															BgL_tmpz00_9476;
																														BgL_auxz00_9478 =
																															STRING_REF
																															(BgL_strz00_7027,
																															(BgL_rz00_1777 +
																																3L));
																														BgL_tmpz00_9476 =
																															(BgL_wz00_1778 +
																															3L);
																														STRING_SET
																															(BgL_resz00_7028,
																															BgL_tmpz00_9476,
																															BgL_auxz00_9478);
																													}
																													{	/* Llib/unicode.scm 914 */
																														unsigned char
																															BgL_auxz00_9484;
																														long
																															BgL_tmpz00_9482;
																														BgL_auxz00_9484 =
																															STRING_REF
																															(BgL_strz00_7027,
																															(BgL_rz00_1777 +
																																4L));
																														BgL_tmpz00_9482 =
																															(BgL_wz00_1778 +
																															4L);
																														STRING_SET
																															(BgL_resz00_7028,
																															BgL_tmpz00_9482,
																															BgL_auxz00_9484);
																													}
																													{
																														long BgL_wz00_9490;
																														long BgL_rz00_9488;

																														BgL_rz00_9488 =
																															(BgL_rz00_1777 +
																															5L);
																														BgL_wz00_9490 =
																															(BgL_wz00_1778 +
																															5L);
																														BgL_wz00_1778 =
																															BgL_wz00_9490;
																														BgL_rz00_1777 =
																															BgL_rz00_9488;
																														goto
																															BGl_loopze70ze7zz__unicodez00;
																													}
																												}
																											else
																												{	/* Llib/unicode.scm 904 */
																													STRING_SET
																														(BgL_resz00_7028,
																														BgL_wz00_1778,
																														((unsigned char)
																															239));
																													{	/* Llib/unicode.scm 783 */
																														long
																															BgL_tmpz00_9493;
																														BgL_tmpz00_9493 =
																															(BgL_wz00_1778 +
																															1L);
																														STRING_SET
																															(BgL_resz00_7028,
																															BgL_tmpz00_9493,
																															((unsigned char)
																																191));
																													}
																													{	/* Llib/unicode.scm 784 */
																														long
																															BgL_tmpz00_9496;
																														BgL_tmpz00_9496 =
																															(BgL_wz00_1778 +
																															2L);
																														STRING_SET
																															(BgL_resz00_7028,
																															BgL_tmpz00_9496,
																															((unsigned char)
																																189));
																													}
																													{
																														long BgL_wz00_9501;
																														long BgL_rz00_9499;

																														BgL_rz00_9499 =
																															(BgL_rz00_1777 +
																															1L);
																														BgL_wz00_9501 =
																															(BgL_wz00_1778 +
																															3L);
																														BgL_wz00_1778 =
																															BgL_wz00_9501;
																														BgL_rz00_1777 =
																															BgL_rz00_9499;
																														goto
																															BGl_loopze70ze7zz__unicodez00;
																													}
																												}
																										}
																									else
																										{	/* Llib/unicode.scm 903 */
																											if (
																												(BgL_nz00_1782 <= 253L))
																												{	/* Llib/unicode.scm 920 */
																													bool_t
																														BgL_test4295z00_9505;
																													if ((BgL_rz00_1777 <
																															(BgL_lenz00_7029 -
																																5L)))
																														{	/* Llib/unicode.scm 921 */
																															bool_t
																																BgL_test4297z00_9509;
																															{	/* Llib/unicode.scm 777 */
																																long
																																	BgL_nz00_4969;
																																BgL_nz00_4969 =
																																	(STRING_REF
																																	(BgL_strz00_7027,
																																		(BgL_rz00_1777
																																			+ 1L)));
																																if (
																																	(BgL_nz00_4969
																																		>= 128L))
																																	{	/* Llib/unicode.scm 778 */
																																		BgL_test4297z00_9509
																																			=
																																			(BgL_nz00_4969
																																			<= 191L);
																																	}
																																else
																																	{	/* Llib/unicode.scm 778 */
																																		BgL_test4297z00_9509
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																															if (BgL_test4297z00_9509)
																																{	/* Llib/unicode.scm 922 */
																																	bool_t
																																		BgL_test4299z00_9516;
																																	{	/* Llib/unicode.scm 777 */
																																		long
																																			BgL_nz00_4977;
																																		BgL_nz00_4977
																																			=
																																			(STRING_REF
																																			(BgL_strz00_7027,
																																				(BgL_rz00_1777
																																					+
																																					2L)));
																																		if (
																																			(BgL_nz00_4977
																																				>=
																																				128L))
																																			{	/* Llib/unicode.scm 778 */
																																				BgL_test4299z00_9516
																																					=
																																					(BgL_nz00_4977
																																					<=
																																					191L);
																																			}
																																		else
																																			{	/* Llib/unicode.scm 778 */
																																				BgL_test4299z00_9516
																																					=
																																					(
																																					(bool_t)
																																					0);
																																			}
																																	}
																																	if (BgL_test4299z00_9516)
																																		{	/* Llib/unicode.scm 923 */
																																			bool_t
																																				BgL_test4301z00_9523;
																																			{	/* Llib/unicode.scm 777 */
																																				long
																																					BgL_nz00_4985;
																																				BgL_nz00_4985
																																					=
																																					(STRING_REF
																																					(BgL_strz00_7027,
																																						(BgL_rz00_1777
																																							+
																																							3L)));
																																				if (
																																					(BgL_nz00_4985
																																						>=
																																						128L))
																																					{	/* Llib/unicode.scm 778 */
																																						BgL_test4301z00_9523
																																							=
																																							(BgL_nz00_4985
																																							<=
																																							191L);
																																					}
																																				else
																																					{	/* Llib/unicode.scm 778 */
																																						BgL_test4301z00_9523
																																							=
																																							(
																																							(bool_t)
																																							0);
																																					}
																																			}
																																			if (BgL_test4301z00_9523)
																																				{	/* Llib/unicode.scm 924 */
																																					bool_t
																																						BgL_test4303z00_9530;
																																					{	/* Llib/unicode.scm 777 */
																																						long
																																							BgL_nz00_4993;
																																						BgL_nz00_4993
																																							=
																																							(STRING_REF
																																							(BgL_strz00_7027,
																																								(BgL_rz00_1777
																																									+
																																									4L)));
																																						if (
																																							(BgL_nz00_4993
																																								>=
																																								128L))
																																							{	/* Llib/unicode.scm 778 */
																																								BgL_test4303z00_9530
																																									=
																																									(BgL_nz00_4993
																																									<=
																																									191L);
																																							}
																																						else
																																							{	/* Llib/unicode.scm 778 */
																																								BgL_test4303z00_9530
																																									=
																																									(
																																									(bool_t)
																																									0);
																																							}
																																					}
																																					if (BgL_test4303z00_9530)
																																						{	/* Llib/unicode.scm 777 */
																																							long
																																								BgL_nz00_5001;
																																							BgL_nz00_5001
																																								=
																																								(STRING_REF
																																								(BgL_strz00_7027,
																																									(BgL_rz00_1777
																																										+
																																										5L)));
																																							if ((BgL_nz00_5001 >= 128L))
																																								{	/* Llib/unicode.scm 778 */
																																									BgL_test4295z00_9505
																																										=
																																										(BgL_nz00_5001
																																										<=
																																										191L);
																																								}
																																							else
																																								{	/* Llib/unicode.scm 778 */
																																									BgL_test4295z00_9505
																																										=
																																										(
																																										(bool_t)
																																										0);
																																								}
																																						}
																																					else
																																						{	/* Llib/unicode.scm 924 */
																																							BgL_test4295z00_9505
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																			else
																																				{	/* Llib/unicode.scm 923 */
																																					BgL_test4295z00_9505
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																	else
																																		{	/* Llib/unicode.scm 922 */
																																			BgL_test4295z00_9505
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																															else
																																{	/* Llib/unicode.scm 921 */
																																	BgL_test4295z00_9505
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																													else
																														{	/* Llib/unicode.scm 920 */
																															BgL_test4295z00_9505
																																= ((bool_t) 0);
																														}
																													if (BgL_test4295z00_9505)
																														{	/* Llib/unicode.scm 920 */
																															STRING_SET
																																(BgL_resz00_7028,
																																BgL_wz00_1778,
																																BgL_cz00_1781);
																															{	/* Llib/unicode.scm 928 */
																																unsigned char
																																	BgL_auxz00_9546;
																																long
																																	BgL_tmpz00_9544;
																																BgL_auxz00_9546
																																	=
																																	STRING_REF
																																	(BgL_strz00_7027,
																																	(BgL_rz00_1777
																																		+ 1L));
																																BgL_tmpz00_9544
																																	=
																																	(BgL_wz00_1778
																																	+ 1L);
																																STRING_SET
																																	(BgL_resz00_7028,
																																	BgL_tmpz00_9544,
																																	BgL_auxz00_9546);
																															}
																															{	/* Llib/unicode.scm 929 */
																																unsigned char
																																	BgL_auxz00_9552;
																																long
																																	BgL_tmpz00_9550;
																																BgL_auxz00_9552
																																	=
																																	STRING_REF
																																	(BgL_strz00_7027,
																																	(BgL_rz00_1777
																																		+ 2L));
																																BgL_tmpz00_9550
																																	=
																																	(BgL_wz00_1778
																																	+ 2L);
																																STRING_SET
																																	(BgL_resz00_7028,
																																	BgL_tmpz00_9550,
																																	BgL_auxz00_9552);
																															}
																															{	/* Llib/unicode.scm 930 */
																																unsigned char
																																	BgL_auxz00_9558;
																																long
																																	BgL_tmpz00_9556;
																																BgL_auxz00_9558
																																	=
																																	STRING_REF
																																	(BgL_strz00_7027,
																																	(BgL_rz00_1777
																																		+ 3L));
																																BgL_tmpz00_9556
																																	=
																																	(BgL_wz00_1778
																																	+ 3L);
																																STRING_SET
																																	(BgL_resz00_7028,
																																	BgL_tmpz00_9556,
																																	BgL_auxz00_9558);
																															}
																															{	/* Llib/unicode.scm 931 */
																																unsigned char
																																	BgL_auxz00_9564;
																																long
																																	BgL_tmpz00_9562;
																																BgL_auxz00_9564
																																	=
																																	STRING_REF
																																	(BgL_strz00_7027,
																																	(BgL_rz00_1777
																																		+ 4L));
																																BgL_tmpz00_9562
																																	=
																																	(BgL_wz00_1778
																																	+ 4L);
																																STRING_SET
																																	(BgL_resz00_7028,
																																	BgL_tmpz00_9562,
																																	BgL_auxz00_9564);
																															}
																															{	/* Llib/unicode.scm 932 */
																																unsigned char
																																	BgL_auxz00_9570;
																																long
																																	BgL_tmpz00_9568;
																																BgL_auxz00_9570
																																	=
																																	STRING_REF
																																	(BgL_strz00_7027,
																																	(BgL_rz00_1777
																																		+ 5L));
																																BgL_tmpz00_9568
																																	=
																																	(BgL_wz00_1778
																																	+ 5L);
																																STRING_SET
																																	(BgL_resz00_7028,
																																	BgL_tmpz00_9568,
																																	BgL_auxz00_9570);
																															}
																															{
																																long
																																	BgL_wz00_9576;
																																long
																																	BgL_rz00_9574;
																																BgL_rz00_9574 =
																																	(BgL_rz00_1777
																																	+ 6L);
																																BgL_wz00_9576 =
																																	(BgL_wz00_1778
																																	+ 6L);
																																BgL_wz00_1778 =
																																	BgL_wz00_9576;
																																BgL_rz00_1777 =
																																	BgL_rz00_9574;
																																goto
																																	BGl_loopze70ze7zz__unicodez00;
																															}
																														}
																													else
																														{	/* Llib/unicode.scm 920 */
																															STRING_SET
																																(BgL_resz00_7028,
																																BgL_wz00_1778,
																																((unsigned char)
																																	239));
																															{	/* Llib/unicode.scm 783 */
																																long
																																	BgL_tmpz00_9579;
																																BgL_tmpz00_9579
																																	=
																																	(BgL_wz00_1778
																																	+ 1L);
																																STRING_SET
																																	(BgL_resz00_7028,
																																	BgL_tmpz00_9579,
																																	((unsigned
																																			char)
																																		191));
																															}
																															{	/* Llib/unicode.scm 784 */
																																long
																																	BgL_tmpz00_9582;
																																BgL_tmpz00_9582
																																	=
																																	(BgL_wz00_1778
																																	+ 2L);
																																STRING_SET
																																	(BgL_resz00_7028,
																																	BgL_tmpz00_9582,
																																	((unsigned
																																			char)
																																		189));
																															}
																															{
																																long
																																	BgL_wz00_9587;
																																long
																																	BgL_rz00_9585;
																																BgL_rz00_9585 =
																																	(BgL_rz00_1777
																																	+ 1L);
																																BgL_wz00_9587 =
																																	(BgL_wz00_1778
																																	+ 3L);
																																BgL_wz00_1778 =
																																	BgL_wz00_9587;
																																BgL_rz00_1777 =
																																	BgL_rz00_9585;
																																goto
																																	BGl_loopze70ze7zz__unicodez00;
																															}
																														}
																												}
																											else
																												{	/* Llib/unicode.scm 919 */
																													return BFALSE;
																												}
																										}
																								}
																						}
																				}
																		}
																}
														}
												}
										}
								}
						}
					}
				}
		}

	}



/* _utf8-normalize-utf16 */
	obj_t BGl__utf8zd2normaliza7ezd2utf16za7zz__unicodez00(obj_t
		BgL_env1138z00_83, obj_t BgL_opt1137z00_82)
	{
		{	/* Llib/unicode.scm 947 */
			{	/* Llib/unicode.scm 947 */
				obj_t BgL_strz00_2155;

				{
					obj_t BgL_auxz00_9589;

					if (VECTORP(BgL_opt1137z00_82))
						{	/* Llib/unicode.scm 947 */
							BgL_auxz00_9589 = BgL_opt1137z00_82;
						}
					else
						{
							obj_t BgL_auxz00_9592;

							BgL_auxz00_9592 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(38433L), BGl_string3793z00zz__unicodez00,
								BGl_string3744z00zz__unicodez00, BgL_opt1137z00_82);
							FAILURE(BgL_auxz00_9592, BFALSE, BFALSE);
						}
					BgL_strz00_2155 = VECTOR_REF(BgL_auxz00_9589, 0L);
				}
				{	/* Llib/unicode.scm 947 */
					long BgL_aux1140z00_2157;

					{
						obj_t BgL_auxz00_9597;

						if (VECTORP(BgL_opt1137z00_82))
							{	/* Llib/unicode.scm 947 */
								BgL_auxz00_9597 = BgL_opt1137z00_82;
							}
						else
							{
								obj_t BgL_auxz00_9600;

								BgL_auxz00_9600 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(38433L),
									BGl_string3793z00zz__unicodez00,
									BGl_string3744z00zz__unicodez00, BgL_opt1137z00_82);
								FAILURE(BgL_auxz00_9600, BFALSE, BFALSE);
							}
						BgL_aux1140z00_2157 = VECTOR_LENGTH(BgL_auxz00_9597);
					}
					switch (BgL_aux1140z00_2157)
						{
						case 1L:

							{	/* Llib/unicode.scm 947 */
								long BgL_endz00_2160;

								{	/* Llib/unicode.scm 947 */
									obj_t BgL_stringz00_5061;

									if (STRINGP(BgL_strz00_2155))
										{	/* Llib/unicode.scm 947 */
											BgL_stringz00_5061 = BgL_strz00_2155;
										}
									else
										{
											obj_t BgL_auxz00_9607;

											BgL_auxz00_9607 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3742z00zz__unicodez00, BINT(38527L),
												BGl_string3793z00zz__unicodez00,
												BGl_string3785z00zz__unicodez00, BgL_strz00_2155);
											FAILURE(BgL_auxz00_9607, BFALSE, BFALSE);
										}
									BgL_endz00_2160 = STRING_LENGTH(BgL_stringz00_5061);
								}
								{	/* Llib/unicode.scm 947 */

									{	/* Llib/unicode.scm 947 */
										obj_t BgL_auxz00_9612;

										if (STRINGP(BgL_strz00_2155))
											{	/* Llib/unicode.scm 947 */
												BgL_auxz00_9612 = BgL_strz00_2155;
											}
										else
											{
												obj_t BgL_auxz00_9615;

												BgL_auxz00_9615 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3742z00zz__unicodez00, BINT(38433L),
													BGl_string3793z00zz__unicodez00,
													BGl_string3785z00zz__unicodez00, BgL_strz00_2155);
												FAILURE(BgL_auxz00_9615, BFALSE, BFALSE);
											}
										return
											BGl_utf8zd2normaliza7ezd2utf16za7zz__unicodez00
											(BgL_auxz00_9612, ((bool_t) 0), 0L, BgL_endz00_2160);
									}
								}
							}
							break;
						case 2L:

							{	/* Llib/unicode.scm 947 */
								obj_t BgL_strictz00_2161;

								{
									obj_t BgL_auxz00_9620;

									if (VECTORP(BgL_opt1137z00_82))
										{	/* Llib/unicode.scm 947 */
											BgL_auxz00_9620 = BgL_opt1137z00_82;
										}
									else
										{
											obj_t BgL_auxz00_9623;

											BgL_auxz00_9623 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3742z00zz__unicodez00, BINT(38433L),
												BGl_string3793z00zz__unicodez00,
												BGl_string3744z00zz__unicodez00, BgL_opt1137z00_82);
											FAILURE(BgL_auxz00_9623, BFALSE, BFALSE);
										}
									BgL_strictz00_2161 = VECTOR_REF(BgL_auxz00_9620, 1L);
								}
								{	/* Llib/unicode.scm 947 */
									long BgL_endz00_2163;

									{	/* Llib/unicode.scm 947 */
										obj_t BgL_stringz00_5062;

										if (STRINGP(BgL_strz00_2155))
											{	/* Llib/unicode.scm 947 */
												BgL_stringz00_5062 = BgL_strz00_2155;
											}
										else
											{
												obj_t BgL_auxz00_9630;

												BgL_auxz00_9630 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3742z00zz__unicodez00, BINT(38527L),
													BGl_string3793z00zz__unicodez00,
													BGl_string3785z00zz__unicodez00, BgL_strz00_2155);
												FAILURE(BgL_auxz00_9630, BFALSE, BFALSE);
											}
										BgL_endz00_2163 = STRING_LENGTH(BgL_stringz00_5062);
									}
									{	/* Llib/unicode.scm 947 */

										{	/* Llib/unicode.scm 947 */
											obj_t BgL_auxz00_9635;

											if (STRINGP(BgL_strz00_2155))
												{	/* Llib/unicode.scm 947 */
													BgL_auxz00_9635 = BgL_strz00_2155;
												}
											else
												{
													obj_t BgL_auxz00_9638;

													BgL_auxz00_9638 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(38433L),
														BGl_string3793z00zz__unicodez00,
														BGl_string3785z00zz__unicodez00, BgL_strz00_2155);
													FAILURE(BgL_auxz00_9638, BFALSE, BFALSE);
												}
											return
												BGl_utf8zd2normaliza7ezd2utf16za7zz__unicodez00
												(BgL_auxz00_9635, CBOOL(BgL_strictz00_2161), 0L,
												BgL_endz00_2163);
										}
									}
								}
							}
							break;
						case 3L:

							{	/* Llib/unicode.scm 947 */
								obj_t BgL_strictz00_2164;

								{
									obj_t BgL_auxz00_9644;

									if (VECTORP(BgL_opt1137z00_82))
										{	/* Llib/unicode.scm 947 */
											BgL_auxz00_9644 = BgL_opt1137z00_82;
										}
									else
										{
											obj_t BgL_auxz00_9647;

											BgL_auxz00_9647 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3742z00zz__unicodez00, BINT(38433L),
												BGl_string3793z00zz__unicodez00,
												BGl_string3744z00zz__unicodez00, BgL_opt1137z00_82);
											FAILURE(BgL_auxz00_9647, BFALSE, BFALSE);
										}
									BgL_strictz00_2164 = VECTOR_REF(BgL_auxz00_9644, 1L);
								}
								{	/* Llib/unicode.scm 947 */
									obj_t BgL_startz00_2165;

									{
										obj_t BgL_auxz00_9652;

										if (VECTORP(BgL_opt1137z00_82))
											{	/* Llib/unicode.scm 947 */
												BgL_auxz00_9652 = BgL_opt1137z00_82;
											}
										else
											{
												obj_t BgL_auxz00_9655;

												BgL_auxz00_9655 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3742z00zz__unicodez00, BINT(38433L),
													BGl_string3793z00zz__unicodez00,
													BGl_string3744z00zz__unicodez00, BgL_opt1137z00_82);
												FAILURE(BgL_auxz00_9655, BFALSE, BFALSE);
											}
										BgL_startz00_2165 = VECTOR_REF(BgL_auxz00_9652, 2L);
									}
									{	/* Llib/unicode.scm 947 */
										long BgL_endz00_2166;

										{	/* Llib/unicode.scm 947 */
											obj_t BgL_stringz00_5063;

											if (STRINGP(BgL_strz00_2155))
												{	/* Llib/unicode.scm 947 */
													BgL_stringz00_5063 = BgL_strz00_2155;
												}
											else
												{
													obj_t BgL_auxz00_9662;

													BgL_auxz00_9662 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(38527L),
														BGl_string3793z00zz__unicodez00,
														BGl_string3785z00zz__unicodez00, BgL_strz00_2155);
													FAILURE(BgL_auxz00_9662, BFALSE, BFALSE);
												}
											BgL_endz00_2166 = STRING_LENGTH(BgL_stringz00_5063);
										}
										{	/* Llib/unicode.scm 947 */

											{	/* Llib/unicode.scm 947 */
												long BgL_auxz00_9674;
												obj_t BgL_auxz00_9667;

												{	/* Llib/unicode.scm 947 */
													obj_t BgL_tmpz00_9676;

													if (INTEGERP(BgL_startz00_2165))
														{	/* Llib/unicode.scm 947 */
															BgL_tmpz00_9676 = BgL_startz00_2165;
														}
													else
														{
															obj_t BgL_auxz00_9679;

															BgL_auxz00_9679 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string3742z00zz__unicodez00, BINT(38433L),
																BGl_string3793z00zz__unicodez00,
																BGl_string3745z00zz__unicodez00,
																BgL_startz00_2165);
															FAILURE(BgL_auxz00_9679, BFALSE, BFALSE);
														}
													BgL_auxz00_9674 = (long) CINT(BgL_tmpz00_9676);
												}
												if (STRINGP(BgL_strz00_2155))
													{	/* Llib/unicode.scm 947 */
														BgL_auxz00_9667 = BgL_strz00_2155;
													}
												else
													{
														obj_t BgL_auxz00_9670;

														BgL_auxz00_9670 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string3742z00zz__unicodez00, BINT(38433L),
															BGl_string3793z00zz__unicodez00,
															BGl_string3785z00zz__unicodez00, BgL_strz00_2155);
														FAILURE(BgL_auxz00_9670, BFALSE, BFALSE);
													}
												return
													BGl_utf8zd2normaliza7ezd2utf16za7zz__unicodez00
													(BgL_auxz00_9667, CBOOL(BgL_strictz00_2164),
													BgL_auxz00_9674, BgL_endz00_2166);
											}
										}
									}
								}
							}
							break;
						case 4L:

							{	/* Llib/unicode.scm 947 */
								obj_t BgL_strictz00_2167;

								{
									obj_t BgL_auxz00_9685;

									if (VECTORP(BgL_opt1137z00_82))
										{	/* Llib/unicode.scm 947 */
											BgL_auxz00_9685 = BgL_opt1137z00_82;
										}
									else
										{
											obj_t BgL_auxz00_9688;

											BgL_auxz00_9688 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3742z00zz__unicodez00, BINT(38433L),
												BGl_string3793z00zz__unicodez00,
												BGl_string3744z00zz__unicodez00, BgL_opt1137z00_82);
											FAILURE(BgL_auxz00_9688, BFALSE, BFALSE);
										}
									BgL_strictz00_2167 = VECTOR_REF(BgL_auxz00_9685, 1L);
								}
								{	/* Llib/unicode.scm 947 */
									obj_t BgL_startz00_2168;

									{
										obj_t BgL_auxz00_9693;

										if (VECTORP(BgL_opt1137z00_82))
											{	/* Llib/unicode.scm 947 */
												BgL_auxz00_9693 = BgL_opt1137z00_82;
											}
										else
											{
												obj_t BgL_auxz00_9696;

												BgL_auxz00_9696 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3742z00zz__unicodez00, BINT(38433L),
													BGl_string3793z00zz__unicodez00,
													BGl_string3744z00zz__unicodez00, BgL_opt1137z00_82);
												FAILURE(BgL_auxz00_9696, BFALSE, BFALSE);
											}
										BgL_startz00_2168 = VECTOR_REF(BgL_auxz00_9693, 2L);
									}
									{	/* Llib/unicode.scm 947 */
										obj_t BgL_endz00_2169;

										{
											obj_t BgL_auxz00_9701;

											if (VECTORP(BgL_opt1137z00_82))
												{	/* Llib/unicode.scm 947 */
													BgL_auxz00_9701 = BgL_opt1137z00_82;
												}
											else
												{
													obj_t BgL_auxz00_9704;

													BgL_auxz00_9704 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(38433L),
														BGl_string3793z00zz__unicodez00,
														BGl_string3744z00zz__unicodez00, BgL_opt1137z00_82);
													FAILURE(BgL_auxz00_9704, BFALSE, BFALSE);
												}
											BgL_endz00_2169 = VECTOR_REF(BgL_auxz00_9701, 3L);
										}
										{	/* Llib/unicode.scm 947 */

											{	/* Llib/unicode.scm 947 */
												long BgL_auxz00_9726;
												long BgL_auxz00_9716;
												obj_t BgL_auxz00_9709;

												{	/* Llib/unicode.scm 947 */
													obj_t BgL_tmpz00_9727;

													if (INTEGERP(BgL_endz00_2169))
														{	/* Llib/unicode.scm 947 */
															BgL_tmpz00_9727 = BgL_endz00_2169;
														}
													else
														{
															obj_t BgL_auxz00_9730;

															BgL_auxz00_9730 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string3742z00zz__unicodez00, BINT(38433L),
																BGl_string3793z00zz__unicodez00,
																BGl_string3745z00zz__unicodez00,
																BgL_endz00_2169);
															FAILURE(BgL_auxz00_9730, BFALSE, BFALSE);
														}
													BgL_auxz00_9726 = (long) CINT(BgL_tmpz00_9727);
												}
												{	/* Llib/unicode.scm 947 */
													obj_t BgL_tmpz00_9718;

													if (INTEGERP(BgL_startz00_2168))
														{	/* Llib/unicode.scm 947 */
															BgL_tmpz00_9718 = BgL_startz00_2168;
														}
													else
														{
															obj_t BgL_auxz00_9721;

															BgL_auxz00_9721 =
																BGl_typezd2errorzd2zz__errorz00
																(BGl_string3742z00zz__unicodez00, BINT(38433L),
																BGl_string3793z00zz__unicodez00,
																BGl_string3745z00zz__unicodez00,
																BgL_startz00_2168);
															FAILURE(BgL_auxz00_9721, BFALSE, BFALSE);
														}
													BgL_auxz00_9716 = (long) CINT(BgL_tmpz00_9718);
												}
												if (STRINGP(BgL_strz00_2155))
													{	/* Llib/unicode.scm 947 */
														BgL_auxz00_9709 = BgL_strz00_2155;
													}
												else
													{
														obj_t BgL_auxz00_9712;

														BgL_auxz00_9712 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string3742z00zz__unicodez00, BINT(38433L),
															BGl_string3793z00zz__unicodez00,
															BGl_string3785z00zz__unicodez00, BgL_strz00_2155);
														FAILURE(BgL_auxz00_9712, BFALSE, BFALSE);
													}
												return
													BGl_utf8zd2normaliza7ezd2utf16za7zz__unicodez00
													(BgL_auxz00_9709, CBOOL(BgL_strictz00_2167),
													BgL_auxz00_9716, BgL_auxz00_9726);
											}
										}
									}
								}
							}
							break;
						default:
							return BUNSPEC;
						}
				}
			}
		}

	}



/* utf8-normalize-utf16 */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2normaliza7ezd2utf16za7zz__unicodez00(obj_t
		BgL_strz00_78, bool_t BgL_strictz00_79, long BgL_startz00_80,
		long BgL_endz00_81)
	{
		{	/* Llib/unicode.scm 947 */
			{	/* Llib/unicode.scm 960 */
				bool_t BgL_test4324z00_9737;

				if ((BgL_endz00_81 > STRING_LENGTH(BgL_strz00_78)))
					{	/* Llib/unicode.scm 960 */
						BgL_test4324z00_9737 = ((bool_t) 1);
					}
				else
					{	/* Llib/unicode.scm 960 */
						if ((BgL_startz00_80 < 0L))
							{	/* Llib/unicode.scm 961 */
								BgL_test4324z00_9737 = ((bool_t) 1);
							}
						else
							{	/* Llib/unicode.scm 961 */
								BgL_test4324z00_9737 = (BgL_startz00_80 > BgL_endz00_81);
							}
					}
				if (BgL_test4324z00_9737)
					{	/* Llib/unicode.scm 963 */
						obj_t BgL_arg2083z00_2177;

						BgL_arg2083z00_2177 =
							MAKE_YOUNG_PAIR(BINT(BgL_startz00_80), BINT(BgL_endz00_81));
						return
							BGl_errorz00zz__errorz00(BGl_string3794z00zz__unicodez00,
							BGl_string3792z00zz__unicodez00, BgL_arg2083z00_2177);
					}
				else
					{	/* Llib/unicode.scm 965 */
						long BgL_lenz00_2178;

						BgL_lenz00_2178 = (BgL_endz00_81 - BgL_startz00_80);
						{	/* Llib/unicode.scm 965 */
							obj_t BgL_resz00_2179;

							{	/* Llib/unicode.scm 966 */
								long BgL_arg2567z00_2646;

								BgL_arg2567z00_2646 = (3L * BgL_lenz00_2178);
								{	/* Ieee/string.scm 172 */

									BgL_resz00_2179 =
										make_string(BgL_arg2567z00_2646, ((unsigned char) ' '));
							}}
							{	/* Llib/unicode.scm 966 */

								{
									long BgL_rz00_2181;
									long BgL_wz00_2182;
									bool_t BgL_asciiz00_2183;

									BgL_rz00_2181 = BgL_startz00_80;
									BgL_wz00_2182 = 0L;
									BgL_asciiz00_2183 = ((bool_t) 1);
								BgL_zc3z04anonymousza32084ze3z87_2184:
									if ((BgL_rz00_2181 == BgL_endz00_81))
										{	/* Llib/unicode.scm 971 */
											obj_t BgL_val0_1102z00_2186;
											obj_t BgL_val1_1103z00_2187;

											BgL_val0_1102z00_2186 =
												bgl_string_shrink(BgL_resz00_2179, BgL_wz00_2182);
											if (BgL_asciiz00_2183)
												{	/* Llib/unicode.scm 971 */
													BgL_val1_1103z00_2187 =
														BGl_symbol3786z00zz__unicodez00;
												}
											else
												{	/* Llib/unicode.scm 971 */
													BgL_val1_1103z00_2187 =
														BGl_symbol3795z00zz__unicodez00;
												}
											{	/* Llib/unicode.scm 971 */
												int BgL_tmpz00_9755;

												BgL_tmpz00_9755 = (int) (2L);
												BGL_MVALUES_NUMBER_SET(BgL_tmpz00_9755);
											}
											{	/* Llib/unicode.scm 971 */
												int BgL_tmpz00_9758;

												BgL_tmpz00_9758 = (int) (1L);
												BGL_MVALUES_VAL_SET(BgL_tmpz00_9758,
													BgL_val1_1103z00_2187);
											}
											return BgL_val0_1102z00_2186;
										}
									else
										{	/* Llib/unicode.scm 972 */
											unsigned char BgL_cz00_2188;

											BgL_cz00_2188 = STRING_REF(BgL_strz00_78, BgL_rz00_2181);
											{	/* Llib/unicode.scm 972 */
												long BgL_nz00_2189;

												BgL_nz00_2189 = (BgL_cz00_2188);
												{	/* Llib/unicode.scm 973 */

													if ((BgL_nz00_2189 <= 127L))
														{	/* Llib/unicode.scm 975 */
															STRING_SET(BgL_resz00_2179, BgL_wz00_2182,
																BgL_cz00_2188);
															{
																long BgL_wz00_9768;
																long BgL_rz00_9766;

																BgL_rz00_9766 = (BgL_rz00_2181 + 1L);
																BgL_wz00_9768 = (BgL_wz00_2182 + 1L);
																BgL_wz00_2182 = BgL_wz00_9768;
																BgL_rz00_2181 = BgL_rz00_9766;
																goto BgL_zc3z04anonymousza32084ze3z87_2184;
															}
														}
													else
														{	/* Llib/unicode.scm 975 */
															if ((BgL_nz00_2189 < 194L))
																{	/* Llib/unicode.scm 979 */
																	STRING_SET(BgL_resz00_2179, BgL_wz00_2182,
																		((unsigned char) 239));
																	{	/* Llib/unicode.scm 956 */
																		long BgL_tmpz00_9773;

																		BgL_tmpz00_9773 = (BgL_wz00_2182 + 1L);
																		STRING_SET(BgL_resz00_2179, BgL_tmpz00_9773,
																			((unsigned char) 191));
																	}
																	{	/* Llib/unicode.scm 957 */
																		long BgL_tmpz00_9776;

																		BgL_tmpz00_9776 = (BgL_wz00_2182 + 2L);
																		STRING_SET(BgL_resz00_2179, BgL_tmpz00_9776,
																			((unsigned char) 189));
																	}
																	{
																		bool_t BgL_asciiz00_9783;
																		long BgL_wz00_9781;
																		long BgL_rz00_9779;

																		BgL_rz00_9779 = (BgL_rz00_2181 + 1L);
																		BgL_wz00_9781 = (BgL_wz00_2182 + 3L);
																		BgL_asciiz00_9783 = ((bool_t) 0);
																		BgL_asciiz00_2183 = BgL_asciiz00_9783;
																		BgL_wz00_2182 = BgL_wz00_9781;
																		BgL_rz00_2181 = BgL_rz00_9779;
																		goto BgL_zc3z04anonymousza32084ze3z87_2184;
																	}
																}
															else
																{	/* Llib/unicode.scm 979 */
																	if ((BgL_nz00_2189 < 216L))
																		{	/* Llib/unicode.scm 985 */
																			bool_t BgL_test4332z00_9786;

																			if (
																				((1L + BgL_rz00_2181) < BgL_endz00_81))
																				{	/* Llib/unicode.scm 950 */
																					long BgL_nz00_5130;

																					BgL_nz00_5130 =
																						(STRING_REF(BgL_strz00_78,
																							(BgL_rz00_2181 + 1L)));
																					if ((BgL_nz00_5130 >= 128L))
																						{	/* Llib/unicode.scm 951 */
																							BgL_test4332z00_9786 =
																								(BgL_nz00_5130 <= 191L);
																						}
																					else
																						{	/* Llib/unicode.scm 951 */
																							BgL_test4332z00_9786 =
																								((bool_t) 0);
																						}
																				}
																			else
																				{	/* Llib/unicode.scm 985 */
																					BgL_test4332z00_9786 = ((bool_t) 0);
																				}
																			if (BgL_test4332z00_9786)
																				{	/* Llib/unicode.scm 985 */
																					STRING_SET(BgL_resz00_2179,
																						BgL_wz00_2182, BgL_cz00_2188);
																					{	/* Llib/unicode.scm 989 */
																						unsigned char BgL_auxz00_9799;
																						long BgL_tmpz00_9797;

																						BgL_auxz00_9799 =
																							STRING_REF(BgL_strz00_78,
																							(BgL_rz00_2181 + 1L));
																						BgL_tmpz00_9797 =
																							(BgL_wz00_2182 + 1L);
																						STRING_SET(BgL_resz00_2179,
																							BgL_tmpz00_9797, BgL_auxz00_9799);
																					}
																					{
																						bool_t BgL_asciiz00_9807;
																						long BgL_wz00_9805;
																						long BgL_rz00_9803;

																						BgL_rz00_9803 =
																							(BgL_rz00_2181 + 2L);
																						BgL_wz00_9805 =
																							(BgL_wz00_2182 + 2L);
																						BgL_asciiz00_9807 = ((bool_t) 0);
																						BgL_asciiz00_2183 =
																							BgL_asciiz00_9807;
																						BgL_wz00_2182 = BgL_wz00_9805;
																						BgL_rz00_2181 = BgL_rz00_9803;
																						goto
																							BgL_zc3z04anonymousza32084ze3z87_2184;
																					}
																				}
																			else
																				{	/* Llib/unicode.scm 985 */
																					STRING_SET(BgL_resz00_2179,
																						BgL_wz00_2182,
																						((unsigned char) 239));
																					{	/* Llib/unicode.scm 956 */
																						long BgL_tmpz00_9809;

																						BgL_tmpz00_9809 =
																							(BgL_wz00_2182 + 1L);
																						STRING_SET(BgL_resz00_2179,
																							BgL_tmpz00_9809,
																							((unsigned char) 191));
																					}
																					{	/* Llib/unicode.scm 957 */
																						long BgL_tmpz00_9812;

																						BgL_tmpz00_9812 =
																							(BgL_wz00_2182 + 2L);
																						STRING_SET(BgL_resz00_2179,
																							BgL_tmpz00_9812,
																							((unsigned char) 189));
																					}
																					{
																						bool_t BgL_asciiz00_9819;
																						long BgL_wz00_9817;
																						long BgL_rz00_9815;

																						BgL_rz00_9815 =
																							(BgL_rz00_2181 + 1L);
																						BgL_wz00_9817 =
																							(BgL_wz00_2182 + 3L);
																						BgL_asciiz00_9819 = ((bool_t) 0);
																						BgL_asciiz00_2183 =
																							BgL_asciiz00_9819;
																						BgL_wz00_2182 = BgL_wz00_9817;
																						BgL_rz00_2181 = BgL_rz00_9815;
																						goto
																							BgL_zc3z04anonymousza32084ze3z87_2184;
																					}
																				}
																		}
																	else
																		{	/* Llib/unicode.scm 983 */
																			if ((BgL_nz00_2189 <= 223L))
																				{	/* Llib/unicode.scm 995 */
																					bool_t BgL_test4336z00_9822;

																					if (
																						((1L + BgL_rz00_2181) <
																							BgL_endz00_81))
																						{	/* Llib/unicode.scm 950 */
																							long BgL_nz00_5169;

																							BgL_nz00_5169 =
																								(STRING_REF(BgL_strz00_78,
																									(BgL_rz00_2181 + 1L)));
																							if ((BgL_nz00_5169 >= 128L))
																								{	/* Llib/unicode.scm 951 */
																									BgL_test4336z00_9822 =
																										(BgL_nz00_5169 <= 191L);
																								}
																							else
																								{	/* Llib/unicode.scm 951 */
																									BgL_test4336z00_9822 =
																										((bool_t) 0);
																								}
																						}
																					else
																						{	/* Llib/unicode.scm 995 */
																							BgL_test4336z00_9822 =
																								((bool_t) 0);
																						}
																					if (BgL_test4336z00_9822)
																						{	/* Llib/unicode.scm 995 */
																							STRING_SET(BgL_resz00_2179,
																								BgL_wz00_2182, BgL_cz00_2188);
																							{	/* Llib/unicode.scm 999 */
																								unsigned char BgL_auxz00_9835;
																								long BgL_tmpz00_9833;

																								BgL_auxz00_9835 =
																									STRING_REF(BgL_strz00_78,
																									(BgL_rz00_2181 + 1L));
																								BgL_tmpz00_9833 =
																									(BgL_wz00_2182 + 1L);
																								STRING_SET(BgL_resz00_2179,
																									BgL_tmpz00_9833,
																									BgL_auxz00_9835);
																							}
																							{
																								bool_t BgL_asciiz00_9843;
																								long BgL_wz00_9841;
																								long BgL_rz00_9839;

																								BgL_rz00_9839 =
																									(BgL_rz00_2181 + 2L);
																								BgL_wz00_9841 =
																									(BgL_wz00_2182 + 2L);
																								BgL_asciiz00_9843 =
																									((bool_t) 0);
																								BgL_asciiz00_2183 =
																									BgL_asciiz00_9843;
																								BgL_wz00_2182 = BgL_wz00_9841;
																								BgL_rz00_2181 = BgL_rz00_9839;
																								goto
																									BgL_zc3z04anonymousza32084ze3z87_2184;
																							}
																						}
																					else
																						{	/* Llib/unicode.scm 995 */
																							STRING_SET(BgL_resz00_2179,
																								BgL_wz00_2182,
																								((unsigned char) 239));
																							{	/* Llib/unicode.scm 956 */
																								long BgL_tmpz00_9845;

																								BgL_tmpz00_9845 =
																									(BgL_wz00_2182 + 1L);
																								STRING_SET(BgL_resz00_2179,
																									BgL_tmpz00_9845,
																									((unsigned char) 191));
																							}
																							{	/* Llib/unicode.scm 957 */
																								long BgL_tmpz00_9848;

																								BgL_tmpz00_9848 =
																									(BgL_wz00_2182 + 2L);
																								STRING_SET(BgL_resz00_2179,
																									BgL_tmpz00_9848,
																									((unsigned char) 189));
																							}
																							{
																								bool_t BgL_asciiz00_9855;
																								long BgL_wz00_9853;
																								long BgL_rz00_9851;

																								BgL_rz00_9851 =
																									(BgL_rz00_2181 + 1L);
																								BgL_wz00_9853 =
																									(BgL_wz00_2182 + 3L);
																								BgL_asciiz00_9855 =
																									((bool_t) 0);
																								BgL_asciiz00_2183 =
																									BgL_asciiz00_9855;
																								BgL_wz00_2182 = BgL_wz00_9853;
																								BgL_rz00_2181 = BgL_rz00_9851;
																								goto
																									BgL_zc3z04anonymousza32084ze3z87_2184;
																							}
																						}
																				}
																			else
																				{	/* Llib/unicode.scm 994 */
																					if ((BgL_nz00_2189 == 237L))
																						{	/* Llib/unicode.scm 1007 */
																							bool_t BgL_test4340z00_9858;

																							if (
																								(BgL_rz00_2181 <
																									(BgL_endz00_81 - 2L)))
																								{	/* Llib/unicode.scm 1008 */
																									bool_t BgL_test4342z00_9862;

																									{	/* Llib/unicode.scm 950 */
																										long BgL_nz00_5208;

																										BgL_nz00_5208 =
																											(STRING_REF(BgL_strz00_78,
																												(BgL_rz00_2181 + 1L)));
																										if ((BgL_nz00_5208 >= 128L))
																											{	/* Llib/unicode.scm 951 */
																												BgL_test4342z00_9862 =
																													(BgL_nz00_5208 <=
																													191L);
																											}
																										else
																											{	/* Llib/unicode.scm 951 */
																												BgL_test4342z00_9862 =
																													((bool_t) 0);
																											}
																									}
																									if (BgL_test4342z00_9862)
																										{	/* Llib/unicode.scm 950 */
																											long BgL_nz00_5216;

																											BgL_nz00_5216 =
																												(STRING_REF
																												(BgL_strz00_78,
																													(BgL_rz00_2181 +
																														2L)));
																											if ((BgL_nz00_5216 >=
																													128L))
																												{	/* Llib/unicode.scm 951 */
																													BgL_test4340z00_9858 =
																														(BgL_nz00_5216 <=
																														191L);
																												}
																											else
																												{	/* Llib/unicode.scm 951 */
																													BgL_test4340z00_9858 =
																														((bool_t) 0);
																												}
																										}
																									else
																										{	/* Llib/unicode.scm 1008 */
																											BgL_test4340z00_9858 =
																												((bool_t) 0);
																										}
																								}
																							else
																								{	/* Llib/unicode.scm 1007 */
																									BgL_test4340z00_9858 =
																										((bool_t) 0);
																								}
																							if (BgL_test4340z00_9858)
																								{	/* Llib/unicode.scm 1015 */
																									long BgL_n1z00_2244;

																									BgL_n1z00_2244 =
																										(STRING_REF(BgL_strz00_78,
																											(BgL_rz00_2181 + 1L)));
																									{	/* Llib/unicode.scm 1015 */
																										long BgL_n2z00_2245;

																										BgL_n2z00_2245 =
																											(STRING_REF(BgL_strz00_78,
																												(BgL_rz00_2181 + 2L)));
																										{	/* Llib/unicode.scm 1016 */
																											long BgL_ucs2z00_2246;

																											BgL_ucs2z00_2246 =
																												(
																												((BgL_nz00_2189 & 15L)
																													<< (int) (12L)) +
																												(((BgL_n1z00_2244 & 63L)
																														<< (int) (6L)) +
																													(BgL_n2z00_2245 &
																														63L)));
																											{	/* Llib/unicode.scm 1017 */

																												if (
																													(BgL_ucs2z00_2246 >
																														57343L))
																													{	/* Llib/unicode.scm 1021 */
																														STRING_SET
																															(BgL_resz00_2179,
																															BgL_wz00_2182,
																															((unsigned char)
																																239));
																														{	/* Llib/unicode.scm 956 */
																															long
																																BgL_tmpz00_9893;
																															BgL_tmpz00_9893 =
																																(BgL_wz00_2182 +
																																1L);
																															STRING_SET
																																(BgL_resz00_2179,
																																BgL_tmpz00_9893,
																																((unsigned char)
																																	191));
																														}
																														{	/* Llib/unicode.scm 957 */
																															long
																																BgL_tmpz00_9896;
																															BgL_tmpz00_9896 =
																																(BgL_wz00_2182 +
																																2L);
																															STRING_SET
																																(BgL_resz00_2179,
																																BgL_tmpz00_9896,
																																((unsigned char)
																																	189));
																														}
																														{
																															bool_t
																																BgL_asciiz00_9903;
																															long
																																BgL_wz00_9901;
																															long
																																BgL_rz00_9899;
																															BgL_rz00_9899 =
																																(BgL_rz00_2181 +
																																1L);
																															BgL_wz00_9901 =
																																(BgL_wz00_2182 +
																																3L);
																															BgL_asciiz00_9903
																																= ((bool_t) 0);
																															BgL_asciiz00_2183
																																=
																																BgL_asciiz00_9903;
																															BgL_wz00_2182 =
																																BgL_wz00_9901;
																															BgL_rz00_2181 =
																																BgL_rz00_9899;
																															goto
																																BgL_zc3z04anonymousza32084ze3z87_2184;
																														}
																													}
																												else
																													{	/* Llib/unicode.scm 1024 */
																														bool_t
																															BgL_test4346z00_9904;
																														if ((BgL_rz00_2181
																																<=
																																(BgL_endz00_81 -
																																	4L)))
																															{	/* Llib/unicode.scm 1024 */
																																BgL_test4346z00_9904
																																	=
																																	((STRING_REF
																																		(BgL_strz00_78,
																																			(BgL_rz00_2181
																																				+
																																				3L))) ==
																																	237L);
																															}
																														else
																															{	/* Llib/unicode.scm 1024 */
																																BgL_test4346z00_9904
																																	=
																																	((bool_t) 0);
																															}
																														if (BgL_test4346z00_9904)
																															{	/* Llib/unicode.scm 1027 */
																																long
																																	BgL_m1z00_2258;
																																BgL_m1z00_2258 =
																																	(STRING_REF
																																	(BgL_strz00_78,
																																		(BgL_rz00_2181
																																			+ 4L)));
																																{	/* Llib/unicode.scm 1028 */
																																	long
																																		BgL_m2z00_2259;
																																	BgL_m2z00_2259
																																		=
																																		(STRING_REF
																																		(BgL_strz00_78,
																																			(BgL_rz00_2181
																																				+ 5L)));
																																	{	/* Llib/unicode.scm 1029 */
																																		long
																																			BgL_nuz00_2260;
																																		BgL_nuz00_2260
																																			=
																																			(((237L &
																																					15L)
																																				<<
																																				(int)
																																				(12L)) +
																																			(((BgL_m1z00_2258 & 63L) << (int) (6L)) + (BgL_m2z00_2259 & 63L)));
																																		{	/* Llib/unicode.scm 1030 */

																																			if (
																																				(BgL_nuz00_2260
																																					>=
																																					56320L))
																																				{	/* Llib/unicode.scm 1034 */
																																					long
																																						BgL_za7za7za7za7za7za7z00_2262;
																																					BgL_za7za7za7za7za7za7z00_2262
																																						=
																																						(BgL_nuz00_2260
																																						&
																																						63L);
																																					{	/* Llib/unicode.scm 1034 */
																																						long
																																							BgL_yyyyz00_2263;
																																						BgL_yyyyz00_2263
																																							=
																																							(
																																							(BgL_nuz00_2260
																																								&
																																								1023L)
																																							>>
																																							(int)
																																							(6L));
																																						{	/* Llib/unicode.scm 1035 */
																																							long
																																								BgL_xxz00_2264;
																																							BgL_xxz00_2264
																																								=
																																								(BgL_ucs2z00_2246
																																								&
																																								3L);
																																							{	/* Llib/unicode.scm 1036 */
																																								long
																																									BgL_wwwwz00_2265;
																																								BgL_wwwwz00_2265
																																									=
																																									(
																																									(BgL_ucs2z00_2246
																																										>>
																																										(int)
																																										(2L))
																																									&
																																									15L);
																																								{	/* Llib/unicode.scm 1037 */
																																									long
																																										BgL_vvvvz00_2266;
																																									BgL_vvvvz00_2266
																																										=
																																										(
																																										(BgL_ucs2z00_2246
																																											>>
																																											(int)
																																											(6L))
																																										&
																																										15L);
																																									{	/* Llib/unicode.scm 1038 */
																																										long
																																											BgL_uuuuuz00_2267;
																																										BgL_uuuuuz00_2267
																																											=
																																											(BgL_vvvvz00_2266
																																											+
																																											1L);
																																										{	/* Llib/unicode.scm 1039 */

																																											{	/* Llib/unicode.scm 1040 */
																																												unsigned
																																													char
																																													BgL_auxz00_9943;
																																												long
																																													BgL_tmpz00_9941;
																																												BgL_auxz00_9943
																																													=
																																													(
																																													(128L
																																														+
																																														BgL_za7za7za7za7za7za7z00_2262));
																																												BgL_tmpz00_9941
																																													=
																																													(BgL_wz00_2182
																																													+
																																													3L);
																																												STRING_SET
																																													(BgL_resz00_2179,
																																													BgL_tmpz00_9941,
																																													BgL_auxz00_9943);
																																											}
																																											{	/* Llib/unicode.scm 1043 */
																																												unsigned
																																													char
																																													BgL_auxz00_9949;
																																												long
																																													BgL_tmpz00_9947;
																																												BgL_auxz00_9949
																																													=
																																													(
																																													(128L
																																														+
																																														((BgL_xxz00_2264 << (int) (4L)) | BgL_yyyyz00_2263)));
																																												BgL_tmpz00_9947
																																													=
																																													(BgL_wz00_2182
																																													+
																																													2L);
																																												STRING_SET
																																													(BgL_resz00_2179,
																																													BgL_tmpz00_9947,
																																													BgL_auxz00_9949);
																																											}
																																											{	/* Llib/unicode.scm 1047 */
																																												unsigned
																																													char
																																													BgL_auxz00_9958;
																																												long
																																													BgL_tmpz00_9956;
																																												BgL_auxz00_9958
																																													=
																																													(
																																													(128L
																																														+
																																														(BgL_wwwwz00_2265
																																															|
																																															((BgL_uuuuuz00_2267 & 3L) << (int) (4L)))));
																																												BgL_tmpz00_9956
																																													=
																																													(BgL_wz00_2182
																																													+
																																													1L);
																																												STRING_SET
																																													(BgL_resz00_2179,
																																													BgL_tmpz00_9956,
																																													BgL_auxz00_9958);
																																											}
																																											{	/* Llib/unicode.scm 1052 */
																																												unsigned
																																													char
																																													BgL_tmpz00_9966;
																																												BgL_tmpz00_9966
																																													=
																																													(
																																													(240L
																																														|
																																														(BgL_uuuuuz00_2267
																																															>>
																																															(int)
																																															(2L))));
																																												STRING_SET
																																													(BgL_resz00_2179,
																																													BgL_wz00_2182,
																																													BgL_tmpz00_9966);
																																											}
																																											{
																																												bool_t
																																													BgL_asciiz00_9976;
																																												long
																																													BgL_wz00_9974;
																																												long
																																													BgL_rz00_9972;
																																												BgL_rz00_9972
																																													=
																																													(BgL_rz00_2181
																																													+
																																													6L);
																																												BgL_wz00_9974
																																													=
																																													(BgL_wz00_2182
																																													+
																																													4L);
																																												BgL_asciiz00_9976
																																													=
																																													(
																																													(bool_t)
																																													0);
																																												BgL_asciiz00_2183
																																													=
																																													BgL_asciiz00_9976;
																																												BgL_wz00_2182
																																													=
																																													BgL_wz00_9974;
																																												BgL_rz00_2181
																																													=
																																													BgL_rz00_9972;
																																												goto
																																													BgL_zc3z04anonymousza32084ze3z87_2184;
																																											}
																																										}
																																									}
																																								}
																																							}
																																						}
																																					}
																																				}
																																			else
																																				{	/* Llib/unicode.scm 1033 */
																																					STRING_SET
																																						(BgL_resz00_2179,
																																						BgL_wz00_2182,
																																						((unsigned char) 239));
																																					{	/* Llib/unicode.scm 956 */
																																						long
																																							BgL_tmpz00_9978;
																																						BgL_tmpz00_9978
																																							=
																																							(BgL_wz00_2182
																																							+
																																							1L);
																																						STRING_SET
																																							(BgL_resz00_2179,
																																							BgL_tmpz00_9978,
																																							((unsigned char) 191));
																																					}
																																					{	/* Llib/unicode.scm 957 */
																																						long
																																							BgL_tmpz00_9981;
																																						BgL_tmpz00_9981
																																							=
																																							(BgL_wz00_2182
																																							+
																																							2L);
																																						STRING_SET
																																							(BgL_resz00_2179,
																																							BgL_tmpz00_9981,
																																							((unsigned char) 189));
																																					}
																																					{
																																						bool_t
																																							BgL_asciiz00_9988;
																																						long
																																							BgL_wz00_9986;
																																						long
																																							BgL_rz00_9984;
																																						BgL_rz00_9984
																																							=
																																							(BgL_rz00_2181
																																							+
																																							1L);
																																						BgL_wz00_9986
																																							=
																																							(BgL_wz00_2182
																																							+
																																							3L);
																																						BgL_asciiz00_9988
																																							=
																																							(
																																							(bool_t)
																																							0);
																																						BgL_asciiz00_2183
																																							=
																																							BgL_asciiz00_9988;
																																						BgL_wz00_2182
																																							=
																																							BgL_wz00_9986;
																																						BgL_rz00_2181
																																							=
																																							BgL_rz00_9984;
																																						goto
																																							BgL_zc3z04anonymousza32084ze3z87_2184;
																																					}
																																				}
																																		}
																																	}
																																}
																															}
																														else
																															{	/* Llib/unicode.scm 1024 */
																																if (
																																	(BgL_ucs2z00_2246
																																		<= 56319L))
																																	{	/* Llib/unicode.scm 1060 */
																																		long
																																			BgL_xxz00_2303;
																																		BgL_xxz00_2303
																																			=
																																			(BgL_ucs2z00_2246
																																			& 3L);
																																		{	/* Llib/unicode.scm 1060 */
																																			long
																																				BgL_wwwwz00_2304;
																																			BgL_wwwwz00_2304
																																				=
																																				(
																																				(BgL_ucs2z00_2246
																																					>>
																																					(int)
																																					(2L))
																																				& 15L);
																																			{	/* Llib/unicode.scm 1061 */
																																				long
																																					BgL_vvvvz00_2305;
																																				BgL_vvvvz00_2305
																																					=
																																					(
																																					(BgL_ucs2z00_2246
																																						>>
																																						(int)
																																						(6L))
																																					&
																																					15L);
																																				{	/* Llib/unicode.scm 1062 */
																																					long
																																						BgL_uuuuuz00_2306;
																																					BgL_uuuuuz00_2306
																																						=
																																						(BgL_vvvvz00_2305
																																						+
																																						1L);
																																					{	/* Llib/unicode.scm 1063 */

																																						{	/* Llib/unicode.scm 1064 */
																																							unsigned
																																								char
																																								BgL_auxz00_10001;
																																							long
																																								BgL_tmpz00_9999;
																																							BgL_auxz00_10001
																																								=
																																								(
																																								(128L
																																									|
																																									(BgL_uuuuuz00_2306
																																										>>
																																										(int)
																																										(2L))));
																																							BgL_tmpz00_9999
																																								=
																																								(BgL_wz00_2182
																																								+
																																								3L);
																																							STRING_SET
																																								(BgL_resz00_2179,
																																								BgL_tmpz00_9999,
																																								BgL_auxz00_10001);
																																						}
																																						{	/* Llib/unicode.scm 1066 */
																																							unsigned
																																								char
																																								BgL_auxz00_10009;
																																							long
																																								BgL_tmpz00_10007;
																																							BgL_auxz00_10009
																																								=
																																								(
																																								((BgL_xxz00_2303 << (int) (4L)) + 128L));
																																							BgL_tmpz00_10007
																																								=
																																								(BgL_wz00_2182
																																								+
																																								2L);
																																							STRING_SET
																																								(BgL_resz00_2179,
																																								BgL_tmpz00_10007,
																																								BgL_auxz00_10009);
																																						}
																																						{	/* Llib/unicode.scm 1068 */
																																							unsigned
																																								char
																																								BgL_auxz00_10017;
																																							long
																																								BgL_tmpz00_10015;
																																							BgL_auxz00_10017
																																								=
																																								(
																																								(128L
																																									+
																																									(BgL_wwwwz00_2304
																																										|
																																										((BgL_uuuuuz00_2306 & 3L) << (int) (4L)))));
																																							BgL_tmpz00_10015
																																								=
																																								(BgL_wz00_2182
																																								+
																																								1L);
																																							STRING_SET
																																								(BgL_resz00_2179,
																																								BgL_tmpz00_10015,
																																								BgL_auxz00_10017);
																																						}
																																						STRING_SET
																																							(BgL_resz00_2179,
																																							BgL_wz00_2182,
																																							((unsigned char) 248));
																																						{
																																							bool_t
																																								BgL_asciiz00_10030;
																																							long
																																								BgL_wz00_10028;
																																							long
																																								BgL_rz00_10026;
																																							BgL_rz00_10026
																																								=
																																								(BgL_rz00_2181
																																								+
																																								3L);
																																							BgL_wz00_10028
																																								=
																																								(BgL_wz00_2182
																																								+
																																								4L);
																																							BgL_asciiz00_10030
																																								=
																																								(
																																								(bool_t)
																																								0);
																																							BgL_asciiz00_2183
																																								=
																																								BgL_asciiz00_10030;
																																							BgL_wz00_2182
																																								=
																																								BgL_wz00_10028;
																																							BgL_rz00_2181
																																								=
																																								BgL_rz00_10026;
																																							goto
																																								BgL_zc3z04anonymousza32084ze3z87_2184;
																																						}
																																					}
																																				}
																																			}
																																		}
																																	}
																																else
																																	{	/* Llib/unicode.scm 1076 */
																																		long
																																			BgL_za7za7za7za7za7za7z00_2325;
																																		long
																																			BgL_yyyyz00_2326;
																																		BgL_za7za7za7za7za7za7z00_2325
																																			=
																																			(BgL_nz00_2189
																																			& 63L);
																																		BgL_yyyyz00_2326
																																			=
																																			(
																																			(BgL_nz00_2189
																																				& 1023L)
																																			>>
																																			(int)
																																			(6L));
																																		{	/* Llib/unicode.scm 1078 */
																																			unsigned
																																				char
																																				BgL_auxz00_10037;
																																			long
																																				BgL_tmpz00_10035;
																																			BgL_auxz00_10037
																																				=
																																				(
																																				(BgL_za7za7za7za7za7za7z00_2325
																																					+
																																					128L));
																																			BgL_tmpz00_10035
																																				=
																																				(BgL_wz00_2182
																																				+ 3L);
																																			STRING_SET
																																				(BgL_resz00_2179,
																																				BgL_tmpz00_10035,
																																				BgL_auxz00_10037);
																																		}
																																		{	/* Llib/unicode.scm 1080 */
																																			unsigned
																																				char
																																				BgL_auxz00_10043;
																																			long
																																				BgL_tmpz00_10041;
																																			BgL_auxz00_10043
																																				=
																																				(
																																				(BgL_yyyyz00_2326
																																					+
																																					128L));
																																			BgL_tmpz00_10041
																																				=
																																				(BgL_wz00_2182
																																				+ 2L);
																																			STRING_SET
																																				(BgL_resz00_2179,
																																				BgL_tmpz00_10041,
																																				BgL_auxz00_10043);
																																		}
																																		{	/* Llib/unicode.scm 1082 */
																																			long
																																				BgL_tmpz00_10047;
																																			BgL_tmpz00_10047
																																				=
																																				(BgL_wz00_2182
																																				+ 1L);
																																			STRING_SET
																																				(BgL_resz00_2179,
																																				BgL_tmpz00_10047,
																																				((unsigned char) 128));
																																		}
																																		STRING_SET
																																			(BgL_resz00_2179,
																																			BgL_wz00_2182,
																																			((unsigned
																																					char)
																																				252));
																																		{	/* Llib/unicode.scm 1088 */
																																			bool_t
																																				BgL_test4350z00_10051;
																																			if (
																																				(BgL_wz00_2182
																																					>=
																																					4L))
																																				{	/* Llib/unicode.scm 1089 */
																																					bool_t
																																						BgL_test4352z00_10054;
																																					{	/* Llib/unicode.scm 1089 */
																																						long
																																							BgL_indexz00_5400;
																																						BgL_indexz00_5400
																																							=
																																							(BgL_wz00_2182
																																							-
																																							4L);
																																						if (
																																							((BgL_wz00_2182 + 4L) >= (BgL_indexz00_5400 + 4L)))
																																							{	/* Llib/unicode.scm 1285 */
																																								BgL_test4352z00_10054
																																									=
																																									(
																																									(STRING_REF
																																										(BgL_resz00_2179,
																																											BgL_indexz00_5400))
																																									==
																																									248L);
																																							}
																																						else
																																							{	/* Llib/unicode.scm 1285 */
																																								BgL_test4352z00_10054
																																									=
																																									(
																																									(bool_t)
																																									0);
																																							}
																																					}
																																					if (BgL_test4352z00_10054)
																																						{	/* Llib/unicode.scm 1089 */
																																							if (((BgL_wz00_2182 + 4L) >= (BgL_wz00_2182 + 4L)))
																																								{	/* Llib/unicode.scm 1295 */
																																									BgL_test4350z00_10051
																																										=
																																										(
																																										(STRING_REF
																																											(BgL_resz00_2179,
																																												BgL_wz00_2182))
																																										==
																																										252L);
																																								}
																																							else
																																								{	/* Llib/unicode.scm 1295 */
																																									BgL_test4350z00_10051
																																										=
																																										(
																																										(bool_t)
																																										0);
																																								}
																																						}
																																					else
																																						{	/* Llib/unicode.scm 1089 */
																																							BgL_test4350z00_10051
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																			else
																																				{	/* Llib/unicode.scm 1088 */
																																					BgL_test4350z00_10051
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																			if (BgL_test4350z00_10051)
																																				{	/* Llib/unicode.scm 1088 */
																																					BGl_utf8zd2collapsez12zc0zz__unicodez00
																																						(BgL_resz00_2179,
																																						BgL_wz00_2182,
																																						BgL_resz00_2179,
																																						BINT
																																						(BgL_wz00_2182));
																																					{
																																						bool_t
																																							BgL_asciiz00_10074;
																																						long
																																							BgL_rz00_10072;
																																						BgL_rz00_10072
																																							=
																																							(BgL_rz00_2181
																																							+
																																							3L);
																																						BgL_asciiz00_10074
																																							=
																																							(
																																							(bool_t)
																																							0);
																																						BgL_asciiz00_2183
																																							=
																																							BgL_asciiz00_10074;
																																						BgL_rz00_2181
																																							=
																																							BgL_rz00_10072;
																																						goto
																																							BgL_zc3z04anonymousza32084ze3z87_2184;
																																					}
																																				}
																																			else
																																				{
																																					bool_t
																																						BgL_asciiz00_10079;
																																					long
																																						BgL_wz00_10077;
																																					long
																																						BgL_rz00_10075;
																																					BgL_rz00_10075
																																						=
																																						(BgL_rz00_2181
																																						+
																																						3L);
																																					BgL_wz00_10077
																																						=
																																						(BgL_wz00_2182
																																						+
																																						4L);
																																					BgL_asciiz00_10079
																																						=
																																						(
																																						(bool_t)
																																						0);
																																					BgL_asciiz00_2183
																																						=
																																						BgL_asciiz00_10079;
																																					BgL_wz00_2182
																																						=
																																						BgL_wz00_10077;
																																					BgL_rz00_2181
																																						=
																																						BgL_rz00_10075;
																																					goto
																																						BgL_zc3z04anonymousza32084ze3z87_2184;
																																				}
																																		}
																																	}
																															}
																													}
																											}
																										}
																									}
																								}
																							else
																								{	/* Llib/unicode.scm 1007 */
																									STRING_SET(BgL_resz00_2179,
																										BgL_wz00_2182,
																										((unsigned char) 239));
																									{	/* Llib/unicode.scm 956 */
																										long BgL_tmpz00_10081;

																										BgL_tmpz00_10081 =
																											(BgL_wz00_2182 + 1L);
																										STRING_SET(BgL_resz00_2179,
																											BgL_tmpz00_10081,
																											((unsigned char) 191));
																									}
																									{	/* Llib/unicode.scm 957 */
																										long BgL_tmpz00_10084;

																										BgL_tmpz00_10084 =
																											(BgL_wz00_2182 + 2L);
																										STRING_SET(BgL_resz00_2179,
																											BgL_tmpz00_10084,
																											((unsigned char) 189));
																									}
																									{
																										bool_t BgL_asciiz00_10091;
																										long BgL_wz00_10089;
																										long BgL_rz00_10087;

																										BgL_rz00_10087 =
																											(BgL_rz00_2181 + 1L);
																										BgL_wz00_10089 =
																											(BgL_wz00_2182 + 3L);
																										BgL_asciiz00_10091 =
																											((bool_t) 0);
																										BgL_asciiz00_2183 =
																											BgL_asciiz00_10091;
																										BgL_wz00_2182 =
																											BgL_wz00_10089;
																										BgL_rz00_2181 =
																											BgL_rz00_10087;
																										goto
																											BgL_zc3z04anonymousza32084ze3z87_2184;
																									}
																								}
																						}
																					else
																						{	/* Llib/unicode.scm 1005 */
																							if ((BgL_nz00_2189 <= 239L))
																								{	/* Llib/unicode.scm 1102 */
																									bool_t BgL_test4356z00_10094;

																									if (
																										(BgL_rz00_2181 <
																											(BgL_endz00_81 - 2L)))
																										{	/* Llib/unicode.scm 1103 */
																											bool_t
																												BgL_test4358z00_10098;
																											{	/* Llib/unicode.scm 950 */
																												long BgL_nz00_5452;

																												BgL_nz00_5452 =
																													(STRING_REF
																													(BgL_strz00_78,
																														(BgL_rz00_2181 +
																															1L)));
																												if ((BgL_nz00_5452 >=
																														128L))
																													{	/* Llib/unicode.scm 951 */
																														BgL_test4358z00_10098
																															=
																															(BgL_nz00_5452 <=
																															191L);
																													}
																												else
																													{	/* Llib/unicode.scm 951 */
																														BgL_test4358z00_10098
																															= ((bool_t) 0);
																													}
																											}
																											if (BgL_test4358z00_10098)
																												{	/* Llib/unicode.scm 950 */
																													long BgL_nz00_5460;

																													BgL_nz00_5460 =
																														(STRING_REF
																														(BgL_strz00_78,
																															(BgL_rz00_2181 +
																																2L)));
																													if ((BgL_nz00_5460 >=
																															128L))
																														{	/* Llib/unicode.scm 951 */
																															BgL_test4356z00_10094
																																=
																																(BgL_nz00_5460
																																<= 191L);
																														}
																													else
																														{	/* Llib/unicode.scm 951 */
																															BgL_test4356z00_10094
																																= ((bool_t) 0);
																														}
																												}
																											else
																												{	/* Llib/unicode.scm 1103 */
																													BgL_test4356z00_10094
																														= ((bool_t) 0);
																												}
																										}
																									else
																										{	/* Llib/unicode.scm 1102 */
																											BgL_test4356z00_10094 =
																												((bool_t) 0);
																										}
																									if (BgL_test4356z00_10094)
																										{	/* Llib/unicode.scm 1102 */
																											STRING_SET
																												(BgL_resz00_2179,
																												BgL_wz00_2182,
																												BgL_cz00_2188);
																											{	/* Llib/unicode.scm 1107 */
																												unsigned char
																													BgL_auxz00_10114;
																												long BgL_tmpz00_10112;

																												BgL_auxz00_10114 =
																													STRING_REF
																													(BgL_strz00_78,
																													(BgL_rz00_2181 + 1L));
																												BgL_tmpz00_10112 =
																													(BgL_wz00_2182 + 1L);
																												STRING_SET
																													(BgL_resz00_2179,
																													BgL_tmpz00_10112,
																													BgL_auxz00_10114);
																											}
																											{	/* Llib/unicode.scm 1108 */
																												unsigned char
																													BgL_auxz00_10120;
																												long BgL_tmpz00_10118;

																												BgL_auxz00_10120 =
																													STRING_REF
																													(BgL_strz00_78,
																													(BgL_rz00_2181 + 2L));
																												BgL_tmpz00_10118 =
																													(BgL_wz00_2182 + 2L);
																												STRING_SET
																													(BgL_resz00_2179,
																													BgL_tmpz00_10118,
																													BgL_auxz00_10120);
																											}
																											{
																												bool_t
																													BgL_asciiz00_10128;
																												long BgL_wz00_10126;
																												long BgL_rz00_10124;

																												BgL_rz00_10124 =
																													(BgL_rz00_2181 + 3L);
																												BgL_wz00_10126 =
																													(BgL_wz00_2182 + 3L);
																												BgL_asciiz00_10128 =
																													((bool_t) 0);
																												BgL_asciiz00_2183 =
																													BgL_asciiz00_10128;
																												BgL_wz00_2182 =
																													BgL_wz00_10126;
																												BgL_rz00_2181 =
																													BgL_rz00_10124;
																												goto
																													BgL_zc3z04anonymousza32084ze3z87_2184;
																											}
																										}
																									else
																										{	/* Llib/unicode.scm 1102 */
																											STRING_SET
																												(BgL_resz00_2179,
																												BgL_wz00_2182,
																												((unsigned char) 239));
																											{	/* Llib/unicode.scm 956 */
																												long BgL_tmpz00_10130;

																												BgL_tmpz00_10130 =
																													(BgL_wz00_2182 + 1L);
																												STRING_SET
																													(BgL_resz00_2179,
																													BgL_tmpz00_10130,
																													((unsigned char)
																														191));
																											}
																											{	/* Llib/unicode.scm 957 */
																												long BgL_tmpz00_10133;

																												BgL_tmpz00_10133 =
																													(BgL_wz00_2182 + 2L);
																												STRING_SET
																													(BgL_resz00_2179,
																													BgL_tmpz00_10133,
																													((unsigned char)
																														189));
																											}
																											{
																												bool_t
																													BgL_asciiz00_10140;
																												long BgL_wz00_10138;
																												long BgL_rz00_10136;

																												BgL_rz00_10136 =
																													(BgL_rz00_2181 + 1L);
																												BgL_wz00_10138 =
																													(BgL_wz00_2182 + 3L);
																												BgL_asciiz00_10140 =
																													((bool_t) 0);
																												BgL_asciiz00_2183 =
																													BgL_asciiz00_10140;
																												BgL_wz00_2182 =
																													BgL_wz00_10138;
																												BgL_rz00_2181 =
																													BgL_rz00_10136;
																												goto
																													BgL_zc3z04anonymousza32084ze3z87_2184;
																											}
																										}
																								}
																							else
																								{	/* Llib/unicode.scm 1100 */
																									if ((BgL_nz00_2189 == 240L))
																										{	/* Llib/unicode.scm 1115 */
																											bool_t
																												BgL_test4362z00_10143;
																											if ((BgL_rz00_2181 <
																													(BgL_endz00_81 - 3L)))
																												{	/* Llib/unicode.scm 1116 */
																													bool_t
																														BgL_test4364z00_10147;
																													{	/* Llib/unicode.scm 950 */
																														long BgL_nz00_5506;

																														BgL_nz00_5506 =
																															(STRING_REF
																															(BgL_strz00_78,
																																(BgL_rz00_2181 +
																																	1L)));
																														if ((BgL_nz00_5506
																																>= 144L))
																															{	/* Llib/unicode.scm 951 */
																																BgL_test4364z00_10147
																																	=
																																	(BgL_nz00_5506
																																	<= 191L);
																															}
																														else
																															{	/* Llib/unicode.scm 951 */
																																BgL_test4364z00_10147
																																	=
																																	((bool_t) 0);
																															}
																													}
																													if (BgL_test4364z00_10147)
																														{	/* Llib/unicode.scm 1117 */
																															bool_t
																																BgL_test4366z00_10154;
																															{	/* Llib/unicode.scm 950 */
																																long
																																	BgL_nz00_5514;
																																BgL_nz00_5514 =
																																	(STRING_REF
																																	(BgL_strz00_78,
																																		(BgL_rz00_2181
																																			+ 2L)));
																																if (
																																	(BgL_nz00_5514
																																		>= 128L))
																																	{	/* Llib/unicode.scm 951 */
																																		BgL_test4366z00_10154
																																			=
																																			(BgL_nz00_5514
																																			<= 191L);
																																	}
																																else
																																	{	/* Llib/unicode.scm 951 */
																																		BgL_test4366z00_10154
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																															if (BgL_test4366z00_10154)
																																{	/* Llib/unicode.scm 950 */
																																	long
																																		BgL_nz00_5522;
																																	BgL_nz00_5522
																																		=
																																		(STRING_REF
																																		(BgL_strz00_78,
																																			(BgL_rz00_2181
																																				+ 3L)));
																																	if (
																																		(BgL_nz00_5522
																																			>= 128L))
																																		{	/* Llib/unicode.scm 951 */
																																			BgL_test4362z00_10143
																																				=
																																				(BgL_nz00_5522
																																				<=
																																				191L);
																																		}
																																	else
																																		{	/* Llib/unicode.scm 951 */
																																			BgL_test4362z00_10143
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																															else
																																{	/* Llib/unicode.scm 1117 */
																																	BgL_test4362z00_10143
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																													else
																														{	/* Llib/unicode.scm 1116 */
																															BgL_test4362z00_10143
																																= ((bool_t) 0);
																														}
																												}
																											else
																												{	/* Llib/unicode.scm 1115 */
																													BgL_test4362z00_10143
																														= ((bool_t) 0);
																												}
																											if (BgL_test4362z00_10143)
																												{	/* Llib/unicode.scm 1115 */
																													STRING_SET
																														(BgL_resz00_2179,
																														BgL_wz00_2182,
																														BgL_cz00_2188);
																													{	/* Llib/unicode.scm 1121 */
																														unsigned char
																															BgL_auxz00_10170;
																														long
																															BgL_tmpz00_10168;
																														BgL_auxz00_10170 =
																															STRING_REF
																															(BgL_strz00_78,
																															(BgL_rz00_2181 +
																																1L));
																														BgL_tmpz00_10168 =
																															(BgL_wz00_2182 +
																															1L);
																														STRING_SET
																															(BgL_resz00_2179,
																															BgL_tmpz00_10168,
																															BgL_auxz00_10170);
																													}
																													{	/* Llib/unicode.scm 1122 */
																														unsigned char
																															BgL_auxz00_10176;
																														long
																															BgL_tmpz00_10174;
																														BgL_auxz00_10176 =
																															STRING_REF
																															(BgL_strz00_78,
																															(BgL_rz00_2181 +
																																2L));
																														BgL_tmpz00_10174 =
																															(BgL_wz00_2182 +
																															2L);
																														STRING_SET
																															(BgL_resz00_2179,
																															BgL_tmpz00_10174,
																															BgL_auxz00_10176);
																													}
																													{	/* Llib/unicode.scm 1123 */
																														unsigned char
																															BgL_auxz00_10182;
																														long
																															BgL_tmpz00_10180;
																														BgL_auxz00_10182 =
																															STRING_REF
																															(BgL_strz00_78,
																															(BgL_rz00_2181 +
																																3L));
																														BgL_tmpz00_10180 =
																															(BgL_wz00_2182 +
																															3L);
																														STRING_SET
																															(BgL_resz00_2179,
																															BgL_tmpz00_10180,
																															BgL_auxz00_10182);
																													}
																													{
																														bool_t
																															BgL_asciiz00_10190;
																														long BgL_wz00_10188;
																														long BgL_rz00_10186;

																														BgL_rz00_10186 =
																															(BgL_rz00_2181 +
																															4L);
																														BgL_wz00_10188 =
																															(BgL_wz00_2182 +
																															4L);
																														BgL_asciiz00_10190 =
																															((bool_t) 0);
																														BgL_asciiz00_2183 =
																															BgL_asciiz00_10190;
																														BgL_wz00_2182 =
																															BgL_wz00_10188;
																														BgL_rz00_2181 =
																															BgL_rz00_10186;
																														goto
																															BgL_zc3z04anonymousza32084ze3z87_2184;
																													}
																												}
																											else
																												{	/* Llib/unicode.scm 1115 */
																													STRING_SET
																														(BgL_resz00_2179,
																														BgL_wz00_2182,
																														((unsigned char)
																															239));
																													{	/* Llib/unicode.scm 956 */
																														long
																															BgL_tmpz00_10192;
																														BgL_tmpz00_10192 =
																															(BgL_wz00_2182 +
																															1L);
																														STRING_SET
																															(BgL_resz00_2179,
																															BgL_tmpz00_10192,
																															((unsigned char)
																																191));
																													}
																													{	/* Llib/unicode.scm 957 */
																														long
																															BgL_tmpz00_10195;
																														BgL_tmpz00_10195 =
																															(BgL_wz00_2182 +
																															2L);
																														STRING_SET
																															(BgL_resz00_2179,
																															BgL_tmpz00_10195,
																															((unsigned char)
																																189));
																													}
																													{
																														bool_t
																															BgL_asciiz00_10202;
																														long BgL_wz00_10200;
																														long BgL_rz00_10198;

																														BgL_rz00_10198 =
																															(BgL_rz00_2181 +
																															1L);
																														BgL_wz00_10200 =
																															(BgL_wz00_2182 +
																															3L);
																														BgL_asciiz00_10202 =
																															((bool_t) 0);
																														BgL_asciiz00_2183 =
																															BgL_asciiz00_10202;
																														BgL_wz00_2182 =
																															BgL_wz00_10200;
																														BgL_rz00_2181 =
																															BgL_rz00_10198;
																														goto
																															BgL_zc3z04anonymousza32084ze3z87_2184;
																													}
																												}
																										}
																									else
																										{	/* Llib/unicode.scm 1128 */
																											bool_t
																												BgL_test4369z00_10203;
																											if ((BgL_nz00_2189 ==
																													244L))
																												{	/* Llib/unicode.scm 1128 */
																													BgL_test4369z00_10203
																														= ((bool_t) 1);
																												}
																											else
																												{	/* Llib/unicode.scm 1129 */
																													bool_t
																														BgL_test4371z00_10206;
																													{	/* Llib/unicode.scm 1129 */
																														bool_t
																															BgL__ortest_1055z00_2644;
																														BgL__ortest_1055z00_2644
																															=
																															(BgL_nz00_2189 ==
																															248L);
																														if (BgL__ortest_1055z00_2644)
																															{	/* Llib/unicode.scm 1129 */
																																BgL_test4371z00_10206
																																	=
																																	BgL__ortest_1055z00_2644;
																															}
																														else
																															{	/* Llib/unicode.scm 1129 */
																																BgL_test4371z00_10206
																																	=
																																	(BgL_nz00_2189
																																	== 252L);
																															}
																													}
																													if (BgL_test4371z00_10206)
																														{	/* Llib/unicode.scm 1129 */
																															if (BgL_strictz00_79)
																																{	/* Llib/unicode.scm 1129 */
																																	BgL_test4369z00_10203
																																		=
																																		((bool_t)
																																		0);
																																}
																															else
																																{	/* Llib/unicode.scm 1129 */
																																	BgL_test4369z00_10203
																																		=
																																		((bool_t)
																																		1);
																																}
																														}
																													else
																														{	/* Llib/unicode.scm 1129 */
																															BgL_test4369z00_10203
																																= ((bool_t) 0);
																														}
																												}
																											if (BgL_test4369z00_10203)
																												{	/* Llib/unicode.scm 1131 */
																													bool_t
																														BgL_test4374z00_10211;
																													if ((BgL_rz00_2181 <
																															(BgL_endz00_81 -
																																3L)))
																														{	/* Llib/unicode.scm 1132 */
																															bool_t
																																BgL_test4376z00_10215;
																															{	/* Llib/unicode.scm 950 */
																																long
																																	BgL_nz00_5577;
																																BgL_nz00_5577 =
																																	(STRING_REF
																																	(BgL_strz00_78,
																																		(BgL_rz00_2181
																																			+ 1L)));
																																if (
																																	(BgL_nz00_5577
																																		>= 128L))
																																	{	/* Llib/unicode.scm 951 */
																																		BgL_test4376z00_10215
																																			=
																																			(BgL_nz00_5577
																																			<= 191L);
																																	}
																																else
																																	{	/* Llib/unicode.scm 951 */
																																		BgL_test4376z00_10215
																																			=
																																			((bool_t)
																																			0);
																																	}
																															}
																															if (BgL_test4376z00_10215)
																																{	/* Llib/unicode.scm 1133 */
																																	bool_t
																																		BgL_test4378z00_10222;
																																	{	/* Llib/unicode.scm 950 */
																																		long
																																			BgL_nz00_5585;
																																		BgL_nz00_5585
																																			=
																																			(STRING_REF
																																			(BgL_strz00_78,
																																				(BgL_rz00_2181
																																					+
																																					2L)));
																																		if (
																																			(BgL_nz00_5585
																																				>=
																																				128L))
																																			{	/* Llib/unicode.scm 951 */
																																				BgL_test4378z00_10222
																																					=
																																					(BgL_nz00_5585
																																					<=
																																					191L);
																																			}
																																		else
																																			{	/* Llib/unicode.scm 951 */
																																				BgL_test4378z00_10222
																																					=
																																					(
																																					(bool_t)
																																					0);
																																			}
																																	}
																																	if (BgL_test4378z00_10222)
																																		{	/* Llib/unicode.scm 950 */
																																			long
																																				BgL_nz00_5593;
																																			BgL_nz00_5593
																																				=
																																				(STRING_REF
																																				(BgL_strz00_78,
																																					(BgL_rz00_2181
																																						+
																																						3L)));
																																			if (
																																				(BgL_nz00_5593
																																					>=
																																					128L))
																																				{	/* Llib/unicode.scm 951 */
																																					BgL_test4374z00_10211
																																						=
																																						(BgL_nz00_5593
																																						<=
																																						191L);
																																				}
																																			else
																																				{	/* Llib/unicode.scm 951 */
																																					BgL_test4374z00_10211
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																	else
																																		{	/* Llib/unicode.scm 1133 */
																																			BgL_test4374z00_10211
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																															else
																																{	/* Llib/unicode.scm 1132 */
																																	BgL_test4374z00_10211
																																		=
																																		((bool_t)
																																		0);
																																}
																														}
																													else
																														{	/* Llib/unicode.scm 1131 */
																															BgL_test4374z00_10211
																																= ((bool_t) 0);
																														}
																													if (BgL_test4374z00_10211)
																														{	/* Llib/unicode.scm 1131 */
																															STRING_SET
																																(BgL_resz00_2179,
																																BgL_wz00_2182,
																																BgL_cz00_2188);
																															{	/* Llib/unicode.scm 1137 */
																																unsigned char
																																	BgL_auxz00_10238;
																																long
																																	BgL_tmpz00_10236;
																																BgL_auxz00_10238
																																	=
																																	STRING_REF
																																	(BgL_strz00_78,
																																	(BgL_rz00_2181
																																		+ 1L));
																																BgL_tmpz00_10236
																																	=
																																	(BgL_wz00_2182
																																	+ 1L);
																																STRING_SET
																																	(BgL_resz00_2179,
																																	BgL_tmpz00_10236,
																																	BgL_auxz00_10238);
																															}
																															{	/* Llib/unicode.scm 1138 */
																																unsigned char
																																	BgL_auxz00_10244;
																																long
																																	BgL_tmpz00_10242;
																																BgL_auxz00_10244
																																	=
																																	STRING_REF
																																	(BgL_strz00_78,
																																	(BgL_rz00_2181
																																		+ 2L));
																																BgL_tmpz00_10242
																																	=
																																	(BgL_wz00_2182
																																	+ 2L);
																																STRING_SET
																																	(BgL_resz00_2179,
																																	BgL_tmpz00_10242,
																																	BgL_auxz00_10244);
																															}
																															{	/* Llib/unicode.scm 1139 */
																																unsigned char
																																	BgL_auxz00_10250;
																																long
																																	BgL_tmpz00_10248;
																																BgL_auxz00_10250
																																	=
																																	STRING_REF
																																	(BgL_strz00_78,
																																	(BgL_rz00_2181
																																		+ 3L));
																																BgL_tmpz00_10248
																																	=
																																	(BgL_wz00_2182
																																	+ 3L);
																																STRING_SET
																																	(BgL_resz00_2179,
																																	BgL_tmpz00_10248,
																																	BgL_auxz00_10250);
																															}
																															{
																																bool_t
																																	BgL_asciiz00_10258;
																																long
																																	BgL_wz00_10256;
																																long
																																	BgL_rz00_10254;
																																BgL_rz00_10254 =
																																	(BgL_rz00_2181
																																	+ 4L);
																																BgL_wz00_10256 =
																																	(BgL_wz00_2182
																																	+ 4L);
																																BgL_asciiz00_10258
																																	=
																																	((bool_t) 0);
																																BgL_asciiz00_2183
																																	=
																																	BgL_asciiz00_10258;
																																BgL_wz00_2182 =
																																	BgL_wz00_10256;
																																BgL_rz00_2181 =
																																	BgL_rz00_10254;
																																goto
																																	BgL_zc3z04anonymousza32084ze3z87_2184;
																															}
																														}
																													else
																														{	/* Llib/unicode.scm 1131 */
																															STRING_SET
																																(BgL_resz00_2179,
																																BgL_wz00_2182,
																																((unsigned char)
																																	239));
																															{	/* Llib/unicode.scm 956 */
																																long
																																	BgL_tmpz00_10260;
																																BgL_tmpz00_10260
																																	=
																																	(BgL_wz00_2182
																																	+ 1L);
																																STRING_SET
																																	(BgL_resz00_2179,
																																	BgL_tmpz00_10260,
																																	((unsigned
																																			char)
																																		191));
																															}
																															{	/* Llib/unicode.scm 957 */
																																long
																																	BgL_tmpz00_10263;
																																BgL_tmpz00_10263
																																	=
																																	(BgL_wz00_2182
																																	+ 2L);
																																STRING_SET
																																	(BgL_resz00_2179,
																																	BgL_tmpz00_10263,
																																	((unsigned
																																			char)
																																		189));
																															}
																															{
																																bool_t
																																	BgL_asciiz00_10270;
																																long
																																	BgL_wz00_10268;
																																long
																																	BgL_rz00_10266;
																																BgL_rz00_10266 =
																																	(BgL_rz00_2181
																																	+ 1L);
																																BgL_wz00_10268 =
																																	(BgL_wz00_2182
																																	+ 3L);
																																BgL_asciiz00_10270
																																	=
																																	((bool_t) 0);
																																BgL_asciiz00_2183
																																	=
																																	BgL_asciiz00_10270;
																																BgL_wz00_2182 =
																																	BgL_wz00_10268;
																																BgL_rz00_2181 =
																																	BgL_rz00_10266;
																																goto
																																	BgL_zc3z04anonymousza32084ze3z87_2184;
																															}
																														}
																												}
																											else
																												{	/* Llib/unicode.scm 1128 */
																													if (
																														(BgL_nz00_2189 <=
																															247L))
																														{	/* Llib/unicode.scm 1146 */
																															bool_t
																																BgL_test4382z00_10273;
																															if ((BgL_rz00_2181
																																	<
																																	(BgL_endz00_81
																																		- 3L)))
																																{	/* Llib/unicode.scm 1147 */
																																	bool_t
																																		BgL_test4384z00_10277;
																																	{	/* Llib/unicode.scm 950 */
																																		long
																																			BgL_nz00_5646;
																																		BgL_nz00_5646
																																			=
																																			(STRING_REF
																																			(BgL_strz00_78,
																																				(BgL_rz00_2181
																																					+
																																					1L)));
																																		if (
																																			(BgL_nz00_5646
																																				>=
																																				128L))
																																			{	/* Llib/unicode.scm 951 */
																																				BgL_test4384z00_10277
																																					=
																																					(BgL_nz00_5646
																																					<=
																																					191L);
																																			}
																																		else
																																			{	/* Llib/unicode.scm 951 */
																																				BgL_test4384z00_10277
																																					=
																																					(
																																					(bool_t)
																																					0);
																																			}
																																	}
																																	if (BgL_test4384z00_10277)
																																		{	/* Llib/unicode.scm 1148 */
																																			bool_t
																																				BgL_test4386z00_10284;
																																			{	/* Llib/unicode.scm 950 */
																																				long
																																					BgL_nz00_5654;
																																				BgL_nz00_5654
																																					=
																																					(STRING_REF
																																					(BgL_strz00_78,
																																						(BgL_rz00_2181
																																							+
																																							2L)));
																																				if (
																																					(BgL_nz00_5654
																																						>=
																																						128L))
																																					{	/* Llib/unicode.scm 951 */
																																						BgL_test4386z00_10284
																																							=
																																							(BgL_nz00_5654
																																							<=
																																							191L);
																																					}
																																				else
																																					{	/* Llib/unicode.scm 951 */
																																						BgL_test4386z00_10284
																																							=
																																							(
																																							(bool_t)
																																							0);
																																					}
																																			}
																																			if (BgL_test4386z00_10284)
																																				{	/* Llib/unicode.scm 950 */
																																					long
																																						BgL_nz00_5662;
																																					BgL_nz00_5662
																																						=
																																						(STRING_REF
																																						(BgL_strz00_78,
																																							(BgL_rz00_2181
																																								+
																																								3L)));
																																					if (
																																						(BgL_nz00_5662
																																							>=
																																							128L))
																																						{	/* Llib/unicode.scm 951 */
																																							BgL_test4382z00_10273
																																								=
																																								(BgL_nz00_5662
																																								<=
																																								191L);
																																						}
																																					else
																																						{	/* Llib/unicode.scm 951 */
																																							BgL_test4382z00_10273
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																			else
																																				{	/* Llib/unicode.scm 1148 */
																																					BgL_test4382z00_10273
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																	else
																																		{	/* Llib/unicode.scm 1147 */
																																			BgL_test4382z00_10273
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																}
																															else
																																{	/* Llib/unicode.scm 1146 */
																																	BgL_test4382z00_10273
																																		=
																																		((bool_t)
																																		0);
																																}
																															if (BgL_test4382z00_10273)
																																{	/* Llib/unicode.scm 1146 */
																																	STRING_SET
																																		(BgL_resz00_2179,
																																		BgL_wz00_2182,
																																		BgL_cz00_2188);
																																	{	/* Llib/unicode.scm 1152 */
																																		unsigned
																																			char
																																			BgL_auxz00_10300;
																																		long
																																			BgL_tmpz00_10298;
																																		BgL_auxz00_10300
																																			=
																																			STRING_REF
																																			(BgL_strz00_78,
																																			(BgL_rz00_2181
																																				+ 1L));
																																		BgL_tmpz00_10298
																																			=
																																			(BgL_wz00_2182
																																			+ 1L);
																																		STRING_SET
																																			(BgL_resz00_2179,
																																			BgL_tmpz00_10298,
																																			BgL_auxz00_10300);
																																	}
																																	{	/* Llib/unicode.scm 1153 */
																																		unsigned
																																			char
																																			BgL_auxz00_10306;
																																		long
																																			BgL_tmpz00_10304;
																																		BgL_auxz00_10306
																																			=
																																			STRING_REF
																																			(BgL_strz00_78,
																																			(BgL_rz00_2181
																																				+ 2L));
																																		BgL_tmpz00_10304
																																			=
																																			(BgL_wz00_2182
																																			+ 2L);
																																		STRING_SET
																																			(BgL_resz00_2179,
																																			BgL_tmpz00_10304,
																																			BgL_auxz00_10306);
																																	}
																																	{	/* Llib/unicode.scm 1154 */
																																		unsigned
																																			char
																																			BgL_auxz00_10312;
																																		long
																																			BgL_tmpz00_10310;
																																		BgL_auxz00_10312
																																			=
																																			STRING_REF
																																			(BgL_strz00_78,
																																			(BgL_rz00_2181
																																				+ 3L));
																																		BgL_tmpz00_10310
																																			=
																																			(BgL_wz00_2182
																																			+ 3L);
																																		STRING_SET
																																			(BgL_resz00_2179,
																																			BgL_tmpz00_10310,
																																			BgL_auxz00_10312);
																																	}
																																	{
																																		bool_t
																																			BgL_asciiz00_10320;
																																		long
																																			BgL_wz00_10318;
																																		long
																																			BgL_rz00_10316;
																																		BgL_rz00_10316
																																			=
																																			(BgL_rz00_2181
																																			+ 4L);
																																		BgL_wz00_10318
																																			=
																																			(BgL_wz00_2182
																																			+ 4L);
																																		BgL_asciiz00_10320
																																			=
																																			((bool_t)
																																			0);
																																		BgL_asciiz00_2183
																																			=
																																			BgL_asciiz00_10320;
																																		BgL_wz00_2182
																																			=
																																			BgL_wz00_10318;
																																		BgL_rz00_2181
																																			=
																																			BgL_rz00_10316;
																																		goto
																																			BgL_zc3z04anonymousza32084ze3z87_2184;
																																	}
																																}
																															else
																																{	/* Llib/unicode.scm 1146 */
																																	STRING_SET
																																		(BgL_resz00_2179,
																																		BgL_wz00_2182,
																																		((unsigned
																																				char)
																																			239));
																																	{	/* Llib/unicode.scm 956 */
																																		long
																																			BgL_tmpz00_10322;
																																		BgL_tmpz00_10322
																																			=
																																			(BgL_wz00_2182
																																			+ 1L);
																																		STRING_SET
																																			(BgL_resz00_2179,
																																			BgL_tmpz00_10322,
																																			((unsigned
																																					char)
																																				191));
																																	}
																																	{	/* Llib/unicode.scm 957 */
																																		long
																																			BgL_tmpz00_10325;
																																		BgL_tmpz00_10325
																																			=
																																			(BgL_wz00_2182
																																			+ 2L);
																																		STRING_SET
																																			(BgL_resz00_2179,
																																			BgL_tmpz00_10325,
																																			((unsigned
																																					char)
																																				189));
																																	}
																																	{
																																		bool_t
																																			BgL_asciiz00_10332;
																																		long
																																			BgL_wz00_10330;
																																		long
																																			BgL_rz00_10328;
																																		BgL_rz00_10328
																																			=
																																			(BgL_rz00_2181
																																			+ 1L);
																																		BgL_wz00_10330
																																			=
																																			(BgL_wz00_2182
																																			+ 3L);
																																		BgL_asciiz00_10332
																																			=
																																			((bool_t)
																																			0);
																																		BgL_asciiz00_2183
																																			=
																																			BgL_asciiz00_10332;
																																		BgL_wz00_2182
																																			=
																																			BgL_wz00_10330;
																																		BgL_rz00_2181
																																			=
																																			BgL_rz00_10328;
																																		goto
																																			BgL_zc3z04anonymousza32084ze3z87_2184;
																																	}
																																}
																														}
																													else
																														{	/* Llib/unicode.scm 1144 */
																															if (
																																(BgL_nz00_2189
																																	<= 251L))
																																{	/* Llib/unicode.scm 1160 */
																																	bool_t
																																		BgL_test4390z00_10335;
																																	if (
																																		(BgL_rz00_2181
																																			<
																																			(BgL_endz00_81
																																				- 4L)))
																																		{	/* Llib/unicode.scm 1161 */
																																			bool_t
																																				BgL_test4392z00_10339;
																																			{	/* Llib/unicode.scm 950 */
																																				long
																																					BgL_nz00_5715;
																																				BgL_nz00_5715
																																					=
																																					(STRING_REF
																																					(BgL_strz00_78,
																																						(BgL_rz00_2181
																																							+
																																							1L)));
																																				if (
																																					(BgL_nz00_5715
																																						>=
																																						128L))
																																					{	/* Llib/unicode.scm 951 */
																																						BgL_test4392z00_10339
																																							=
																																							(BgL_nz00_5715
																																							<=
																																							191L);
																																					}
																																				else
																																					{	/* Llib/unicode.scm 951 */
																																						BgL_test4392z00_10339
																																							=
																																							(
																																							(bool_t)
																																							0);
																																					}
																																			}
																																			if (BgL_test4392z00_10339)
																																				{	/* Llib/unicode.scm 1162 */
																																					bool_t
																																						BgL_test4394z00_10346;
																																					{	/* Llib/unicode.scm 950 */
																																						long
																																							BgL_nz00_5723;
																																						BgL_nz00_5723
																																							=
																																							(STRING_REF
																																							(BgL_strz00_78,
																																								(BgL_rz00_2181
																																									+
																																									2L)));
																																						if (
																																							(BgL_nz00_5723
																																								>=
																																								128L))
																																							{	/* Llib/unicode.scm 951 */
																																								BgL_test4394z00_10346
																																									=
																																									(BgL_nz00_5723
																																									<=
																																									191L);
																																							}
																																						else
																																							{	/* Llib/unicode.scm 951 */
																																								BgL_test4394z00_10346
																																									=
																																									(
																																									(bool_t)
																																									0);
																																							}
																																					}
																																					if (BgL_test4394z00_10346)
																																						{	/* Llib/unicode.scm 1163 */
																																							bool_t
																																								BgL_test4396z00_10353;
																																							{	/* Llib/unicode.scm 950 */
																																								long
																																									BgL_nz00_5731;
																																								BgL_nz00_5731
																																									=
																																									(STRING_REF
																																									(BgL_strz00_78,
																																										(BgL_rz00_2181
																																											+
																																											3L)));
																																								if ((BgL_nz00_5731 >= 128L))
																																									{	/* Llib/unicode.scm 951 */
																																										BgL_test4396z00_10353
																																											=
																																											(BgL_nz00_5731
																																											<=
																																											191L);
																																									}
																																								else
																																									{	/* Llib/unicode.scm 951 */
																																										BgL_test4396z00_10353
																																											=
																																											(
																																											(bool_t)
																																											0);
																																									}
																																							}
																																							if (BgL_test4396z00_10353)
																																								{	/* Llib/unicode.scm 950 */
																																									long
																																										BgL_nz00_5739;
																																									BgL_nz00_5739
																																										=
																																										(STRING_REF
																																										(BgL_strz00_78,
																																											(BgL_rz00_2181
																																												+
																																												4L)));
																																									if ((BgL_nz00_5739 >= 128L))
																																										{	/* Llib/unicode.scm 951 */
																																											BgL_test4390z00_10335
																																												=
																																												(BgL_nz00_5739
																																												<=
																																												191L);
																																										}
																																									else
																																										{	/* Llib/unicode.scm 951 */
																																											BgL_test4390z00_10335
																																												=
																																												(
																																												(bool_t)
																																												0);
																																										}
																																								}
																																							else
																																								{	/* Llib/unicode.scm 1163 */
																																									BgL_test4390z00_10335
																																										=
																																										(
																																										(bool_t)
																																										0);
																																								}
																																						}
																																					else
																																						{	/* Llib/unicode.scm 1162 */
																																							BgL_test4390z00_10335
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																			else
																																				{	/* Llib/unicode.scm 1161 */
																																					BgL_test4390z00_10335
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																		}
																																	else
																																		{	/* Llib/unicode.scm 1160 */
																																			BgL_test4390z00_10335
																																				=
																																				(
																																				(bool_t)
																																				0);
																																		}
																																	if (BgL_test4390z00_10335)
																																		{	/* Llib/unicode.scm 1160 */
																																			STRING_SET
																																				(BgL_resz00_2179,
																																				BgL_wz00_2182,
																																				BgL_cz00_2188);
																																			{	/* Llib/unicode.scm 1167 */
																																				unsigned
																																					char
																																					BgL_auxz00_10369;
																																				long
																																					BgL_tmpz00_10367;
																																				BgL_auxz00_10369
																																					=
																																					STRING_REF
																																					(BgL_strz00_78,
																																					(BgL_rz00_2181
																																						+
																																						1L));
																																				BgL_tmpz00_10367
																																					=
																																					(BgL_wz00_2182
																																					+ 1L);
																																				STRING_SET
																																					(BgL_resz00_2179,
																																					BgL_tmpz00_10367,
																																					BgL_auxz00_10369);
																																			}
																																			{	/* Llib/unicode.scm 1168 */
																																				unsigned
																																					char
																																					BgL_auxz00_10375;
																																				long
																																					BgL_tmpz00_10373;
																																				BgL_auxz00_10375
																																					=
																																					STRING_REF
																																					(BgL_strz00_78,
																																					(BgL_rz00_2181
																																						+
																																						2L));
																																				BgL_tmpz00_10373
																																					=
																																					(BgL_wz00_2182
																																					+ 2L);
																																				STRING_SET
																																					(BgL_resz00_2179,
																																					BgL_tmpz00_10373,
																																					BgL_auxz00_10375);
																																			}
																																			{	/* Llib/unicode.scm 1169 */
																																				unsigned
																																					char
																																					BgL_auxz00_10381;
																																				long
																																					BgL_tmpz00_10379;
																																				BgL_auxz00_10381
																																					=
																																					STRING_REF
																																					(BgL_strz00_78,
																																					(BgL_rz00_2181
																																						+
																																						3L));
																																				BgL_tmpz00_10379
																																					=
																																					(BgL_wz00_2182
																																					+ 3L);
																																				STRING_SET
																																					(BgL_resz00_2179,
																																					BgL_tmpz00_10379,
																																					BgL_auxz00_10381);
																																			}
																																			{	/* Llib/unicode.scm 1170 */
																																				unsigned
																																					char
																																					BgL_auxz00_10387;
																																				long
																																					BgL_tmpz00_10385;
																																				BgL_auxz00_10387
																																					=
																																					STRING_REF
																																					(BgL_strz00_78,
																																					(BgL_rz00_2181
																																						+
																																						4L));
																																				BgL_tmpz00_10385
																																					=
																																					(BgL_wz00_2182
																																					+ 4L);
																																				STRING_SET
																																					(BgL_resz00_2179,
																																					BgL_tmpz00_10385,
																																					BgL_auxz00_10387);
																																			}
																																			{
																																				bool_t
																																					BgL_asciiz00_10395;
																																				long
																																					BgL_wz00_10393;
																																				long
																																					BgL_rz00_10391;
																																				BgL_rz00_10391
																																					=
																																					(BgL_rz00_2181
																																					+ 5L);
																																				BgL_wz00_10393
																																					=
																																					(BgL_wz00_2182
																																					+ 5L);
																																				BgL_asciiz00_10395
																																					=
																																					(
																																					(bool_t)
																																					0);
																																				BgL_asciiz00_2183
																																					=
																																					BgL_asciiz00_10395;
																																				BgL_wz00_2182
																																					=
																																					BgL_wz00_10393;
																																				BgL_rz00_2181
																																					=
																																					BgL_rz00_10391;
																																				goto
																																					BgL_zc3z04anonymousza32084ze3z87_2184;
																																			}
																																		}
																																	else
																																		{	/* Llib/unicode.scm 1160 */
																																			STRING_SET
																																				(BgL_resz00_2179,
																																				BgL_wz00_2182,
																																				((unsigned char) 239));
																																			{	/* Llib/unicode.scm 956 */
																																				long
																																					BgL_tmpz00_10397;
																																				BgL_tmpz00_10397
																																					=
																																					(BgL_wz00_2182
																																					+ 1L);
																																				STRING_SET
																																					(BgL_resz00_2179,
																																					BgL_tmpz00_10397,
																																					((unsigned char) 191));
																																			}
																																			{	/* Llib/unicode.scm 957 */
																																				long
																																					BgL_tmpz00_10400;
																																				BgL_tmpz00_10400
																																					=
																																					(BgL_wz00_2182
																																					+ 2L);
																																				STRING_SET
																																					(BgL_resz00_2179,
																																					BgL_tmpz00_10400,
																																					((unsigned char) 189));
																																			}
																																			{
																																				bool_t
																																					BgL_asciiz00_10407;
																																				long
																																					BgL_wz00_10405;
																																				long
																																					BgL_rz00_10403;
																																				BgL_rz00_10403
																																					=
																																					(BgL_rz00_2181
																																					+ 1L);
																																				BgL_wz00_10405
																																					=
																																					(BgL_wz00_2182
																																					+ 3L);
																																				BgL_asciiz00_10407
																																					=
																																					(
																																					(bool_t)
																																					0);
																																				BgL_asciiz00_2183
																																					=
																																					BgL_asciiz00_10407;
																																				BgL_wz00_2182
																																					=
																																					BgL_wz00_10405;
																																				BgL_rz00_2181
																																					=
																																					BgL_rz00_10403;
																																				goto
																																					BgL_zc3z04anonymousza32084ze3z87_2184;
																																			}
																																		}
																																}
																															else
																																{	/* Llib/unicode.scm 1159 */
																																	if (
																																		(BgL_nz00_2189
																																			<= 253L))
																																		{	/* Llib/unicode.scm 1176 */
																																			bool_t
																																				BgL_test4400z00_10410;
																																			if (
																																				(BgL_rz00_2181
																																					<
																																					(BgL_endz00_81
																																						-
																																						5L)))
																																				{	/* Llib/unicode.scm 1177 */
																																					bool_t
																																						BgL_test4402z00_10414;
																																					{	/* Llib/unicode.scm 950 */
																																						long
																																							BgL_nz00_5799;
																																						BgL_nz00_5799
																																							=
																																							(STRING_REF
																																							(BgL_strz00_78,
																																								(BgL_rz00_2181
																																									+
																																									1L)));
																																						if (
																																							(BgL_nz00_5799
																																								>=
																																								128L))
																																							{	/* Llib/unicode.scm 951 */
																																								BgL_test4402z00_10414
																																									=
																																									(BgL_nz00_5799
																																									<=
																																									191L);
																																							}
																																						else
																																							{	/* Llib/unicode.scm 951 */
																																								BgL_test4402z00_10414
																																									=
																																									(
																																									(bool_t)
																																									0);
																																							}
																																					}
																																					if (BgL_test4402z00_10414)
																																						{	/* Llib/unicode.scm 1178 */
																																							bool_t
																																								BgL_test4404z00_10421;
																																							{	/* Llib/unicode.scm 950 */
																																								long
																																									BgL_nz00_5807;
																																								BgL_nz00_5807
																																									=
																																									(STRING_REF
																																									(BgL_strz00_78,
																																										(BgL_rz00_2181
																																											+
																																											2L)));
																																								if ((BgL_nz00_5807 >= 128L))
																																									{	/* Llib/unicode.scm 951 */
																																										BgL_test4404z00_10421
																																											=
																																											(BgL_nz00_5807
																																											<=
																																											191L);
																																									}
																																								else
																																									{	/* Llib/unicode.scm 951 */
																																										BgL_test4404z00_10421
																																											=
																																											(
																																											(bool_t)
																																											0);
																																									}
																																							}
																																							if (BgL_test4404z00_10421)
																																								{	/* Llib/unicode.scm 1179 */
																																									bool_t
																																										BgL_test4406z00_10428;
																																									{	/* Llib/unicode.scm 950 */
																																										long
																																											BgL_nz00_5815;
																																										BgL_nz00_5815
																																											=
																																											(STRING_REF
																																											(BgL_strz00_78,
																																												(BgL_rz00_2181
																																													+
																																													3L)));
																																										if ((BgL_nz00_5815 >= 128L))
																																											{	/* Llib/unicode.scm 951 */
																																												BgL_test4406z00_10428
																																													=
																																													(BgL_nz00_5815
																																													<=
																																													191L);
																																											}
																																										else
																																											{	/* Llib/unicode.scm 951 */
																																												BgL_test4406z00_10428
																																													=
																																													(
																																													(bool_t)
																																													0);
																																											}
																																									}
																																									if (BgL_test4406z00_10428)
																																										{	/* Llib/unicode.scm 1180 */
																																											bool_t
																																												BgL_test4408z00_10435;
																																											{	/* Llib/unicode.scm 950 */
																																												long
																																													BgL_nz00_5823;
																																												BgL_nz00_5823
																																													=
																																													(STRING_REF
																																													(BgL_strz00_78,
																																														(BgL_rz00_2181
																																															+
																																															4L)));
																																												if ((BgL_nz00_5823 >= 128L))
																																													{	/* Llib/unicode.scm 951 */
																																														BgL_test4408z00_10435
																																															=
																																															(BgL_nz00_5823
																																															<=
																																															191L);
																																													}
																																												else
																																													{	/* Llib/unicode.scm 951 */
																																														BgL_test4408z00_10435
																																															=
																																															(
																																															(bool_t)
																																															0);
																																													}
																																											}
																																											if (BgL_test4408z00_10435)
																																												{	/* Llib/unicode.scm 950 */
																																													long
																																														BgL_nz00_5831;
																																													BgL_nz00_5831
																																														=
																																														(STRING_REF
																																														(BgL_strz00_78,
																																															(BgL_rz00_2181
																																																+
																																																5L)));
																																													if ((BgL_nz00_5831 >= 128L))
																																														{	/* Llib/unicode.scm 951 */
																																															BgL_test4400z00_10410
																																																=
																																																(BgL_nz00_5831
																																																<=
																																																191L);
																																														}
																																													else
																																														{	/* Llib/unicode.scm 951 */
																																															BgL_test4400z00_10410
																																																=
																																																(
																																																(bool_t)
																																																0);
																																														}
																																												}
																																											else
																																												{	/* Llib/unicode.scm 1180 */
																																													BgL_test4400z00_10410
																																														=
																																														(
																																														(bool_t)
																																														0);
																																												}
																																										}
																																									else
																																										{	/* Llib/unicode.scm 1179 */
																																											BgL_test4400z00_10410
																																												=
																																												(
																																												(bool_t)
																																												0);
																																										}
																																								}
																																							else
																																								{	/* Llib/unicode.scm 1178 */
																																									BgL_test4400z00_10410
																																										=
																																										(
																																										(bool_t)
																																										0);
																																								}
																																						}
																																					else
																																						{	/* Llib/unicode.scm 1177 */
																																							BgL_test4400z00_10410
																																								=
																																								(
																																								(bool_t)
																																								0);
																																						}
																																				}
																																			else
																																				{	/* Llib/unicode.scm 1176 */
																																					BgL_test4400z00_10410
																																						=
																																						(
																																						(bool_t)
																																						0);
																																				}
																																			if (BgL_test4400z00_10410)
																																				{	/* Llib/unicode.scm 1176 */
																																					STRING_SET
																																						(BgL_resz00_2179,
																																						BgL_wz00_2182,
																																						BgL_cz00_2188);
																																					{	/* Llib/unicode.scm 1184 */
																																						unsigned
																																							char
																																							BgL_auxz00_10451;
																																						long
																																							BgL_tmpz00_10449;
																																						BgL_auxz00_10451
																																							=
																																							STRING_REF
																																							(BgL_strz00_78,
																																							(BgL_rz00_2181
																																								+
																																								1L));
																																						BgL_tmpz00_10449
																																							=
																																							(BgL_wz00_2182
																																							+
																																							1L);
																																						STRING_SET
																																							(BgL_resz00_2179,
																																							BgL_tmpz00_10449,
																																							BgL_auxz00_10451);
																																					}
																																					{	/* Llib/unicode.scm 1185 */
																																						unsigned
																																							char
																																							BgL_auxz00_10457;
																																						long
																																							BgL_tmpz00_10455;
																																						BgL_auxz00_10457
																																							=
																																							STRING_REF
																																							(BgL_strz00_78,
																																							(BgL_rz00_2181
																																								+
																																								2L));
																																						BgL_tmpz00_10455
																																							=
																																							(BgL_wz00_2182
																																							+
																																							2L);
																																						STRING_SET
																																							(BgL_resz00_2179,
																																							BgL_tmpz00_10455,
																																							BgL_auxz00_10457);
																																					}
																																					{	/* Llib/unicode.scm 1186 */
																																						unsigned
																																							char
																																							BgL_auxz00_10463;
																																						long
																																							BgL_tmpz00_10461;
																																						BgL_auxz00_10463
																																							=
																																							STRING_REF
																																							(BgL_strz00_78,
																																							(BgL_rz00_2181
																																								+
																																								3L));
																																						BgL_tmpz00_10461
																																							=
																																							(BgL_wz00_2182
																																							+
																																							3L);
																																						STRING_SET
																																							(BgL_resz00_2179,
																																							BgL_tmpz00_10461,
																																							BgL_auxz00_10463);
																																					}
																																					{	/* Llib/unicode.scm 1187 */
																																						unsigned
																																							char
																																							BgL_auxz00_10469;
																																						long
																																							BgL_tmpz00_10467;
																																						BgL_auxz00_10469
																																							=
																																							STRING_REF
																																							(BgL_strz00_78,
																																							(BgL_rz00_2181
																																								+
																																								4L));
																																						BgL_tmpz00_10467
																																							=
																																							(BgL_wz00_2182
																																							+
																																							4L);
																																						STRING_SET
																																							(BgL_resz00_2179,
																																							BgL_tmpz00_10467,
																																							BgL_auxz00_10469);
																																					}
																																					{	/* Llib/unicode.scm 1188 */
																																						unsigned
																																							char
																																							BgL_auxz00_10475;
																																						long
																																							BgL_tmpz00_10473;
																																						BgL_auxz00_10475
																																							=
																																							STRING_REF
																																							(BgL_strz00_78,
																																							(BgL_rz00_2181
																																								+
																																								5L));
																																						BgL_tmpz00_10473
																																							=
																																							(BgL_wz00_2182
																																							+
																																							5L);
																																						STRING_SET
																																							(BgL_resz00_2179,
																																							BgL_tmpz00_10473,
																																							BgL_auxz00_10475);
																																					}
																																					{
																																						bool_t
																																							BgL_asciiz00_10483;
																																						long
																																							BgL_wz00_10481;
																																						long
																																							BgL_rz00_10479;
																																						BgL_rz00_10479
																																							=
																																							(BgL_rz00_2181
																																							+
																																							6L);
																																						BgL_wz00_10481
																																							=
																																							(BgL_wz00_2182
																																							+
																																							6L);
																																						BgL_asciiz00_10483
																																							=
																																							(
																																							(bool_t)
																																							0);
																																						BgL_asciiz00_2183
																																							=
																																							BgL_asciiz00_10483;
																																						BgL_wz00_2182
																																							=
																																							BgL_wz00_10481;
																																						BgL_rz00_2181
																																							=
																																							BgL_rz00_10479;
																																						goto
																																							BgL_zc3z04anonymousza32084ze3z87_2184;
																																					}
																																				}
																																			else
																																				{	/* Llib/unicode.scm 1176 */
																																					STRING_SET
																																						(BgL_resz00_2179,
																																						BgL_wz00_2182,
																																						((unsigned char) 239));
																																					{	/* Llib/unicode.scm 956 */
																																						long
																																							BgL_tmpz00_10485;
																																						BgL_tmpz00_10485
																																							=
																																							(BgL_wz00_2182
																																							+
																																							1L);
																																						STRING_SET
																																							(BgL_resz00_2179,
																																							BgL_tmpz00_10485,
																																							((unsigned char) 191));
																																					}
																																					{	/* Llib/unicode.scm 957 */
																																						long
																																							BgL_tmpz00_10488;
																																						BgL_tmpz00_10488
																																							=
																																							(BgL_wz00_2182
																																							+
																																							2L);
																																						STRING_SET
																																							(BgL_resz00_2179,
																																							BgL_tmpz00_10488,
																																							((unsigned char) 189));
																																					}
																																					{
																																						bool_t
																																							BgL_asciiz00_10495;
																																						long
																																							BgL_wz00_10493;
																																						long
																																							BgL_rz00_10491;
																																						BgL_rz00_10491
																																							=
																																							(BgL_rz00_2181
																																							+
																																							1L);
																																						BgL_wz00_10493
																																							=
																																							(BgL_wz00_2182
																																							+
																																							3L);
																																						BgL_asciiz00_10495
																																							=
																																							(
																																							(bool_t)
																																							0);
																																						BgL_asciiz00_2183
																																							=
																																							BgL_asciiz00_10495;
																																						BgL_wz00_2182
																																							=
																																							BgL_wz00_10493;
																																						BgL_rz00_2181
																																							=
																																							BgL_rz00_10491;
																																						goto
																																							BgL_zc3z04anonymousza32084ze3z87_2184;
																																					}
																																				}
																																		}
																																	else
																																		{	/* Llib/unicode.scm 1175 */
																																			STRING_SET
																																				(BgL_resz00_2179,
																																				BgL_wz00_2182,
																																				((unsigned char) 239));
																																			{	/* Llib/unicode.scm 956 */
																																				long
																																					BgL_tmpz00_10497;
																																				BgL_tmpz00_10497
																																					=
																																					(BgL_wz00_2182
																																					+ 1L);
																																				STRING_SET
																																					(BgL_resz00_2179,
																																					BgL_tmpz00_10497,
																																					((unsigned char) 191));
																																			}
																																			{	/* Llib/unicode.scm 957 */
																																				long
																																					BgL_tmpz00_10500;
																																				BgL_tmpz00_10500
																																					=
																																					(BgL_wz00_2182
																																					+ 2L);
																																				STRING_SET
																																					(BgL_resz00_2179,
																																					BgL_tmpz00_10500,
																																					((unsigned char) 189));
																																			}
																																			{
																																				bool_t
																																					BgL_asciiz00_10507;
																																				long
																																					BgL_wz00_10505;
																																				long
																																					BgL_rz00_10503;
																																				BgL_rz00_10503
																																					=
																																					(BgL_rz00_2181
																																					+ 1L);
																																				BgL_wz00_10505
																																					=
																																					(BgL_wz00_2182
																																					+ 3L);
																																				BgL_asciiz00_10507
																																					=
																																					(
																																					(bool_t)
																																					0);
																																				BgL_asciiz00_2183
																																					=
																																					BgL_asciiz00_10507;
																																				BgL_wz00_2182
																																					=
																																					BgL_wz00_10505;
																																				BgL_rz00_2181
																																					=
																																					BgL_rz00_10503;
																																				goto
																																					BgL_zc3z04anonymousza32084ze3z87_2184;
																																			}
																																		}
																																}
																														}
																												}
																										}
																								}
																						}
																				}
																		}
																}
														}
												}
											}
										}
								}
							}
						}
					}
			}
		}

	}



/* utf8-char-size */
	BGL_EXPORTED_DEF long BGl_utf8zd2charzd2siza7eza7zz__unicodez00(unsigned char
		BgL_cz00_84)
	{
		{	/* Llib/unicode.scm 1201 */
			{	/* Llib/unicode.scm 1203 */
				long BgL_arg2574z00_7337;

				BgL_arg2574z00_7337 = (((unsigned char) (BgL_cz00_84)) >> (int) (4L));
				{	/* Llib/unicode.scm 1202 */
					obj_t BgL_vectorz00_7338;

					BgL_vectorz00_7338 = BGl_vector3797z00zz__unicodez00;
					return
						(long) CINT(VECTOR_REF(BgL_vectorz00_7338, BgL_arg2574z00_7337));
		}}}

	}



/* &utf8-char-size */
	obj_t BGl_z62utf8zd2charzd2siza7ezc5zz__unicodez00(obj_t BgL_envz00_6957,
		obj_t BgL_cz00_6958)
	{
		{	/* Llib/unicode.scm 1201 */
			{	/* Llib/unicode.scm 1203 */
				long BgL_tmpz00_10514;

				{	/* Llib/unicode.scm 1203 */
					unsigned char BgL_auxz00_10515;

					{	/* Llib/unicode.scm 1203 */
						obj_t BgL_tmpz00_10516;

						if (CHARP(BgL_cz00_6958))
							{	/* Llib/unicode.scm 1203 */
								BgL_tmpz00_10516 = BgL_cz00_6958;
							}
						else
							{
								obj_t BgL_auxz00_10519;

								BgL_auxz00_10519 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(48323L),
									BGl_string3799z00zz__unicodez00,
									BGl_string3800z00zz__unicodez00, BgL_cz00_6958);
								FAILURE(BgL_auxz00_10519, BFALSE, BFALSE);
							}
						BgL_auxz00_10515 = CCHAR(BgL_tmpz00_10516);
					}
					BgL_tmpz00_10514 =
						BGl_utf8zd2charzd2siza7eza7zz__unicodez00(BgL_auxz00_10515);
				}
				return BINT(BgL_tmpz00_10514);
			}
		}

	}



/* utf8-string-length */
	BGL_EXPORTED_DEF long BGl_utf8zd2stringzd2lengthz00zz__unicodez00(obj_t
		BgL_strz00_86)
	{
		{	/* Llib/unicode.scm 1217 */
			{	/* Llib/unicode.scm 1218 */
				long BgL_lenz00_2669;

				BgL_lenz00_2669 = STRING_LENGTH(BgL_strz00_86);
				{
					long BgL_rz00_5954;
					long BgL_lz00_5955;

					BgL_rz00_5954 = 0L;
					BgL_lz00_5955 = 0L;
				BgL_loopz00_5953:
					if ((BgL_rz00_5954 == BgL_lenz00_2669))
						{	/* Llib/unicode.scm 1221 */
							return BgL_lz00_5955;
						}
					else
						{	/* Llib/unicode.scm 1223 */
							long BgL_arg2580z00_5962;
							long BgL_arg2581z00_5963;

							{	/* Llib/unicode.scm 1223 */
								long BgL_arg2582z00_5964;

								{	/* Llib/unicode.scm 1223 */
									unsigned char BgL_arg2584z00_5965;

									BgL_arg2584z00_5965 =
										STRING_REF(BgL_strz00_86, BgL_rz00_5954);
									{	/* Llib/unicode.scm 1223 */
										long BgL_res3378z00_5977;

										{	/* Llib/unicode.scm 1223 */
											unsigned char BgL_cz00_5970;

											BgL_cz00_5970 = (char) (BgL_arg2584z00_5965);
											{	/* Llib/unicode.scm 1203 */
												long BgL_arg2574z00_5971;

												BgL_arg2574z00_5971 =
													(((unsigned char) (BgL_cz00_5970)) >> (int) (4L));
												{	/* Llib/unicode.scm 1202 */
													obj_t BgL_vectorz00_5975;

													BgL_vectorz00_5975 = BGl_vector3797z00zz__unicodez00;
													BgL_res3378z00_5977 =
														(long) CINT(VECTOR_REF(BgL_vectorz00_5975,
															BgL_arg2574z00_5971));
										}}}
										BgL_arg2582z00_5964 = BgL_res3378z00_5977;
								}}
								BgL_arg2580z00_5962 = (BgL_rz00_5954 + BgL_arg2582z00_5964);
							}
							BgL_arg2581z00_5963 = (BgL_lz00_5955 + 1L);
							{
								long BgL_lz00_10540;
								long BgL_rz00_10539;

								BgL_rz00_10539 = BgL_arg2580z00_5962;
								BgL_lz00_10540 = BgL_arg2581z00_5963;
								BgL_lz00_5955 = BgL_lz00_10540;
								BgL_rz00_5954 = BgL_rz00_10539;
								goto BgL_loopz00_5953;
							}
						}
				}
			}
		}

	}



/* &utf8-string-length */
	obj_t BGl_z62utf8zd2stringzd2lengthz62zz__unicodez00(obj_t BgL_envz00_6959,
		obj_t BgL_strz00_6960)
	{
		{	/* Llib/unicode.scm 1217 */
			{	/* Llib/unicode.scm 1218 */
				long BgL_tmpz00_10541;

				{	/* Llib/unicode.scm 1218 */
					obj_t BgL_auxz00_10542;

					if (STRINGP(BgL_strz00_6960))
						{	/* Llib/unicode.scm 1218 */
							BgL_auxz00_10542 = BgL_strz00_6960;
						}
					else
						{
							obj_t BgL_auxz00_10545;

							BgL_auxz00_10545 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(49101L), BGl_string3801z00zz__unicodez00,
								BGl_string3785z00zz__unicodez00, BgL_strz00_6960);
							FAILURE(BgL_auxz00_10545, BFALSE, BFALSE);
						}
					BgL_tmpz00_10541 =
						BGl_utf8zd2stringzd2lengthz00zz__unicodez00(BgL_auxz00_10542);
				}
				return BINT(BgL_tmpz00_10541);
			}
		}

	}



/* utf8-string-ref */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2stringzd2refz00zz__unicodez00(obj_t
		BgL_strz00_87, long BgL_iz00_88)
	{
		{	/* Llib/unicode.scm 1228 */
			{
				long BgL_rz00_6002;
				long BgL_iz00_6003;

				BgL_rz00_6002 = 0L;
				BgL_iz00_6003 = BgL_iz00_88;
			BgL_loopz00_6001:
				{	/* Llib/unicode.scm 1231 */
					unsigned char BgL_cz00_6004;

					BgL_cz00_6004 = STRING_REF(BgL_strz00_87, BgL_rz00_6002);
					{	/* Llib/unicode.scm 1231 */
						long BgL_sz00_6007;

						{	/* Llib/unicode.scm 1232 */
							long BgL_res3379z00_6008;

							{	/* Llib/unicode.scm 1232 */
								unsigned char BgL_cz00_6009;

								BgL_cz00_6009 = (char) (BgL_cz00_6004);
								{	/* Llib/unicode.scm 1203 */
									long BgL_arg2574z00_6010;

									BgL_arg2574z00_6010 =
										(((unsigned char) (BgL_cz00_6009)) >> (int) (4L));
									{	/* Llib/unicode.scm 1202 */
										obj_t BgL_vectorz00_6014;

										BgL_vectorz00_6014 = BGl_vector3797z00zz__unicodez00;
										BgL_res3379z00_6008 =
											(long) CINT(VECTOR_REF(BgL_vectorz00_6014,
												BgL_arg2574z00_6010));
							}}}
							BgL_sz00_6007 = BgL_res3379z00_6008;
						}
						{	/* Llib/unicode.scm 1232 */

							if ((BgL_iz00_6003 == 0L))
								{	/* Llib/unicode.scm 1233 */
									return
										c_substring(BgL_strz00_87, BgL_rz00_6002,
										(BgL_rz00_6002 + BgL_sz00_6007));
								}
							else
								{
									long BgL_iz00_10565;
									long BgL_rz00_10563;

									BgL_rz00_10563 = (BgL_rz00_6002 + BgL_sz00_6007);
									BgL_iz00_10565 = (BgL_iz00_6003 - 1L);
									BgL_iz00_6003 = BgL_iz00_10565;
									BgL_rz00_6002 = BgL_rz00_10563;
									goto BgL_loopz00_6001;
								}
						}
					}
				}
			}
		}

	}



/* &utf8-string-ref */
	obj_t BGl_z62utf8zd2stringzd2refz62zz__unicodez00(obj_t BgL_envz00_6961,
		obj_t BgL_strz00_6962, obj_t BgL_iz00_6963)
	{
		{	/* Llib/unicode.scm 1228 */
			{	/* Llib/unicode.scm 1230 */
				long BgL_auxz00_10574;
				obj_t BgL_auxz00_10567;

				{	/* Llib/unicode.scm 1230 */
					obj_t BgL_tmpz00_10575;

					if (INTEGERP(BgL_iz00_6963))
						{	/* Llib/unicode.scm 1230 */
							BgL_tmpz00_10575 = BgL_iz00_6963;
						}
					else
						{
							obj_t BgL_auxz00_10578;

							BgL_auxz00_10578 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(49561L), BGl_string3802z00zz__unicodez00,
								BGl_string3745z00zz__unicodez00, BgL_iz00_6963);
							FAILURE(BgL_auxz00_10578, BFALSE, BFALSE);
						}
					BgL_auxz00_10574 = (long) CINT(BgL_tmpz00_10575);
				}
				if (STRINGP(BgL_strz00_6962))
					{	/* Llib/unicode.scm 1230 */
						BgL_auxz00_10567 = BgL_strz00_6962;
					}
				else
					{
						obj_t BgL_auxz00_10570;

						BgL_auxz00_10570 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(49561L), BGl_string3802z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_6962);
						FAILURE(BgL_auxz00_10570, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2stringzd2refz00zz__unicodez00(BgL_auxz00_10567,
					BgL_auxz00_10574);
			}
		}

	}



/* utf8-string-index->string-index */
	BGL_EXPORTED_DEF long
		BGl_utf8zd2stringzd2indexzd2ze3stringzd2indexze3zz__unicodez00(obj_t
		BgL_strz00_89, long BgL_iz00_90)
	{
		{	/* Llib/unicode.scm 1240 */
			if ((BgL_iz00_90 < 0L))
				{	/* Llib/unicode.scm 1242 */
					return (-1L);
				}
			else
				{	/* Llib/unicode.scm 1245 */
					long BgL_lenz00_2693;

					BgL_lenz00_2693 = STRING_LENGTH(BgL_strz00_89);
					{
						long BgL_rz00_6048;
						long BgL_iz00_6049;

						BgL_rz00_6048 = 0L;
						BgL_iz00_6049 = BgL_iz00_90;
					BgL_loopz00_6047:
						if ((BgL_iz00_6049 == 0L))
							{	/* Llib/unicode.scm 1248 */
								return BgL_rz00_6048;
							}
						else
							{	/* Llib/unicode.scm 1248 */
								if ((BgL_rz00_6048 < BgL_lenz00_2693))
									{	/* Llib/unicode.scm 1252 */
										long BgL_arg2595z00_6058;
										long BgL_arg2596z00_6059;

										{	/* Llib/unicode.scm 1252 */
											long BgL_arg2597z00_6060;

											{	/* Llib/unicode.scm 1252 */
												long BgL_res3380z00_6061;

												{	/* Llib/unicode.scm 1252 */
													unsigned char BgL_cz00_6062;

													BgL_cz00_6062 =
														(char) (STRING_REF(BgL_strz00_89, BgL_rz00_6048));
													{	/* Llib/unicode.scm 1203 */
														long BgL_arg2574z00_6063;

														BgL_arg2574z00_6063 =
															(((unsigned char) (BgL_cz00_6062)) >> (int) (4L));
														{	/* Llib/unicode.scm 1202 */
															obj_t BgL_vectorz00_6067;

															BgL_vectorz00_6067 =
																BGl_vector3797z00zz__unicodez00;
															BgL_res3380z00_6061 =
																(long) CINT(VECTOR_REF(BgL_vectorz00_6067,
																	BgL_arg2574z00_6063));
												}}}
												BgL_arg2597z00_6060 = BgL_res3380z00_6061;
											}
											BgL_arg2595z00_6058 =
												(BgL_rz00_6048 + BgL_arg2597z00_6060);
										}
										BgL_arg2596z00_6059 = (BgL_iz00_6049 - 1L);
										{
											long BgL_iz00_10602;
											long BgL_rz00_10601;

											BgL_rz00_10601 = BgL_arg2595z00_6058;
											BgL_iz00_10602 = BgL_arg2596z00_6059;
											BgL_iz00_6049 = BgL_iz00_10602;
											BgL_rz00_6048 = BgL_rz00_10601;
											goto BgL_loopz00_6047;
										}
									}
								else
									{	/* Llib/unicode.scm 1250 */
										return (-1L);
									}
							}
					}
				}
		}

	}



/* &utf8-string-index->string-index */
	obj_t BGl_z62utf8zd2stringzd2indexzd2ze3stringzd2indexz81zz__unicodez00(obj_t
		BgL_envz00_6964, obj_t BgL_strz00_6965, obj_t BgL_iz00_6966)
	{
		{	/* Llib/unicode.scm 1240 */
			{	/* Llib/unicode.scm 1242 */
				long BgL_tmpz00_10603;

				{	/* Llib/unicode.scm 1242 */
					long BgL_auxz00_10611;
					obj_t BgL_auxz00_10604;

					{	/* Llib/unicode.scm 1242 */
						obj_t BgL_tmpz00_10612;

						if (INTEGERP(BgL_iz00_6966))
							{	/* Llib/unicode.scm 1242 */
								BgL_tmpz00_10612 = BgL_iz00_6966;
							}
						else
							{
								obj_t BgL_auxz00_10615;

								BgL_auxz00_10615 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(50012L),
									BGl_string3803z00zz__unicodez00,
									BGl_string3745z00zz__unicodez00, BgL_iz00_6966);
								FAILURE(BgL_auxz00_10615, BFALSE, BFALSE);
							}
						BgL_auxz00_10611 = (long) CINT(BgL_tmpz00_10612);
					}
					if (STRINGP(BgL_strz00_6965))
						{	/* Llib/unicode.scm 1242 */
							BgL_auxz00_10604 = BgL_strz00_6965;
						}
					else
						{
							obj_t BgL_auxz00_10607;

							BgL_auxz00_10607 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(50012L), BGl_string3803z00zz__unicodez00,
								BGl_string3785z00zz__unicodez00, BgL_strz00_6965);
							FAILURE(BgL_auxz00_10607, BFALSE, BFALSE);
						}
					BgL_tmpz00_10603 =
						BGl_utf8zd2stringzd2indexzd2ze3stringzd2indexze3zz__unicodez00
						(BgL_auxz00_10604, BgL_auxz00_10611);
				}
				return BINT(BgL_tmpz00_10603);
			}
		}

	}



/* string-index->utf8-string-index */
	BGL_EXPORTED_DEF long
		BGl_stringzd2indexzd2ze3utf8zd2stringzd2indexze3zz__unicodez00(obj_t
		BgL_strz00_91, long BgL_iz00_92)
	{
		{	/* Llib/unicode.scm 1259 */
			if ((BgL_iz00_92 < 0L))
				{	/* Llib/unicode.scm 1261 */
					return (-1L);
				}
			else
				{	/* Llib/unicode.scm 1264 */
					long BgL_lenz00_2706;

					BgL_lenz00_2706 = STRING_LENGTH(BgL_strz00_91);
					{
						long BgL_mz00_6095;
						long BgL_jz00_6096;
						long BgL_iz00_6097;

						BgL_mz00_6095 = 0L;
						BgL_jz00_6096 = BgL_iz00_92;
						BgL_iz00_6097 = BgL_iz00_92;
					BgL_loopz00_6094:
						if ((BgL_iz00_6097 <= 0L))
							{	/* Llib/unicode.scm 1269 */
								return BgL_jz00_6096;
							}
						else
							{	/* Llib/unicode.scm 1269 */
								if ((BgL_mz00_6095 >= BgL_lenz00_2706))
									{	/* Llib/unicode.scm 1271 */
										return (-1L);
									}
								else
									{	/* Llib/unicode.scm 1274 */
										long BgL_sz00_6106;

										{	/* Llib/unicode.scm 1275 */
											long BgL_res3381z00_6107;

											{	/* Llib/unicode.scm 1275 */
												unsigned char BgL_cz00_6108;

												BgL_cz00_6108 =
													(char) (STRING_REF(BgL_strz00_91, BgL_mz00_6095));
												{	/* Llib/unicode.scm 1203 */
													long BgL_arg2574z00_6109;

													BgL_arg2574z00_6109 =
														(((unsigned char) (BgL_cz00_6108)) >> (int) (4L));
													{	/* Llib/unicode.scm 1202 */
														obj_t BgL_vectorz00_6113;

														BgL_vectorz00_6113 =
															BGl_vector3797z00zz__unicodez00;
														BgL_res3381z00_6107 =
															(long) CINT(VECTOR_REF(BgL_vectorz00_6113,
																BgL_arg2574z00_6109));
											}}}
											BgL_sz00_6106 = BgL_res3381z00_6107;
										}
										{	/* Llib/unicode.scm 1275 */

											{
												long BgL_iz00_10642;
												long BgL_jz00_10639;
												long BgL_mz00_10637;

												BgL_mz00_10637 = (BgL_mz00_6095 + BgL_sz00_6106);
												BgL_jz00_10639 = (BgL_jz00_6096 - (BgL_sz00_6106 - 1L));
												BgL_iz00_10642 = (BgL_iz00_6097 - BgL_sz00_6106);
												BgL_iz00_6097 = BgL_iz00_10642;
												BgL_jz00_6096 = BgL_jz00_10639;
												BgL_mz00_6095 = BgL_mz00_10637;
												goto BgL_loopz00_6094;
											}
										}
									}
							}
					}
				}
		}

	}



/* &string-index->utf8-string-index */
	obj_t BGl_z62stringzd2indexzd2ze3utf8zd2stringzd2indexz81zz__unicodez00(obj_t
		BgL_envz00_6967, obj_t BgL_strz00_6968, obj_t BgL_iz00_6969)
	{
		{	/* Llib/unicode.scm 1259 */
			{	/* Llib/unicode.scm 1261 */
				long BgL_tmpz00_10644;

				{	/* Llib/unicode.scm 1261 */
					long BgL_auxz00_10652;
					obj_t BgL_auxz00_10645;

					{	/* Llib/unicode.scm 1261 */
						obj_t BgL_tmpz00_10653;

						if (INTEGERP(BgL_iz00_6969))
							{	/* Llib/unicode.scm 1261 */
								BgL_tmpz00_10653 = BgL_iz00_6969;
							}
						else
							{
								obj_t BgL_auxz00_10656;

								BgL_auxz00_10656 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(50551L),
									BGl_string3804z00zz__unicodez00,
									BGl_string3745z00zz__unicodez00, BgL_iz00_6969);
								FAILURE(BgL_auxz00_10656, BFALSE, BFALSE);
							}
						BgL_auxz00_10652 = (long) CINT(BgL_tmpz00_10653);
					}
					if (STRINGP(BgL_strz00_6968))
						{	/* Llib/unicode.scm 1261 */
							BgL_auxz00_10645 = BgL_strz00_6968;
						}
					else
						{
							obj_t BgL_auxz00_10648;

							BgL_auxz00_10648 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(50551L), BGl_string3804z00zz__unicodez00,
								BGl_string3785z00zz__unicodez00, BgL_strz00_6968);
							FAILURE(BgL_auxz00_10648, BFALSE, BFALSE);
						}
					BgL_tmpz00_10644 =
						BGl_stringzd2indexzd2ze3utf8zd2stringzd2indexze3zz__unicodez00
						(BgL_auxz00_10645, BgL_auxz00_10652);
				}
				return BINT(BgL_tmpz00_10644);
			}
		}

	}



/* utf8-string-left-replacement? */
	BGL_EXPORTED_DEF bool_t
		BGl_utf8zd2stringzd2leftzd2replacementzf3z21zz__unicodez00(obj_t
		BgL_strz00_93, long BgL_lenz00_94, long BgL_indexz00_95)
	{
		{	/* Llib/unicode.scm 1284 */
			if ((BgL_lenz00_94 >= (BgL_indexz00_95 + 4L)))
				{	/* Llib/unicode.scm 1285 */
					return ((STRING_REF(BgL_strz00_93, BgL_indexz00_95)) == 248L);
				}
			else
				{	/* Llib/unicode.scm 1285 */
					return ((bool_t) 0);
				}
		}

	}



/* &utf8-string-left-replacement? */
	obj_t BGl_z62utf8zd2stringzd2leftzd2replacementzf3z43zz__unicodez00(obj_t
		BgL_envz00_6970, obj_t BgL_strz00_6971, obj_t BgL_lenz00_6972,
		obj_t BgL_indexz00_6973)
	{
		{	/* Llib/unicode.scm 1284 */
			{	/* Llib/unicode.scm 1285 */
				bool_t BgL_tmpz00_10669;

				{	/* Llib/unicode.scm 1285 */
					long BgL_auxz00_10686;
					long BgL_auxz00_10677;
					obj_t BgL_auxz00_10670;

					{	/* Llib/unicode.scm 1285 */
						obj_t BgL_tmpz00_10687;

						if (INTEGERP(BgL_indexz00_6973))
							{	/* Llib/unicode.scm 1285 */
								BgL_tmpz00_10687 = BgL_indexz00_6973;
							}
						else
							{
								obj_t BgL_auxz00_10690;

								BgL_auxz00_10690 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(51368L),
									BGl_string3805z00zz__unicodez00,
									BGl_string3745z00zz__unicodez00, BgL_indexz00_6973);
								FAILURE(BgL_auxz00_10690, BFALSE, BFALSE);
							}
						BgL_auxz00_10686 = (long) CINT(BgL_tmpz00_10687);
					}
					{	/* Llib/unicode.scm 1285 */
						obj_t BgL_tmpz00_10678;

						if (INTEGERP(BgL_lenz00_6972))
							{	/* Llib/unicode.scm 1285 */
								BgL_tmpz00_10678 = BgL_lenz00_6972;
							}
						else
							{
								obj_t BgL_auxz00_10681;

								BgL_auxz00_10681 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(51368L),
									BGl_string3805z00zz__unicodez00,
									BGl_string3745z00zz__unicodez00, BgL_lenz00_6972);
								FAILURE(BgL_auxz00_10681, BFALSE, BFALSE);
							}
						BgL_auxz00_10677 = (long) CINT(BgL_tmpz00_10678);
					}
					if (STRINGP(BgL_strz00_6971))
						{	/* Llib/unicode.scm 1285 */
							BgL_auxz00_10670 = BgL_strz00_6971;
						}
					else
						{
							obj_t BgL_auxz00_10673;

							BgL_auxz00_10673 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(51368L), BGl_string3805z00zz__unicodez00,
								BGl_string3785z00zz__unicodez00, BgL_strz00_6971);
							FAILURE(BgL_auxz00_10673, BFALSE, BFALSE);
						}
					BgL_tmpz00_10669 =
						BGl_utf8zd2stringzd2leftzd2replacementzf3z21zz__unicodez00
						(BgL_auxz00_10670, BgL_auxz00_10677, BgL_auxz00_10686);
				}
				return BBOOL(BgL_tmpz00_10669);
			}
		}

	}



/* utf8-string-right-replacement? */
	BGL_EXPORTED_DEF bool_t
		BGl_utf8zd2stringzd2rightzd2replacementzf3z21zz__unicodez00(obj_t
		BgL_strz00_96, long BgL_lenz00_97, long BgL_indexz00_98)
	{
		{	/* Llib/unicode.scm 1294 */
			if ((BgL_lenz00_97 >= (BgL_indexz00_98 + 4L)))
				{	/* Llib/unicode.scm 1295 */
					return ((STRING_REF(BgL_strz00_96, BgL_indexz00_98)) == 252L);
				}
			else
				{	/* Llib/unicode.scm 1295 */
					return ((bool_t) 0);
				}
		}

	}



/* &utf8-string-right-replacement? */
	obj_t BGl_z62utf8zd2stringzd2rightzd2replacementzf3z43zz__unicodez00(obj_t
		BgL_envz00_6974, obj_t BgL_strz00_6975, obj_t BgL_lenz00_6976,
		obj_t BgL_indexz00_6977)
	{
		{	/* Llib/unicode.scm 1294 */
			{	/* Llib/unicode.scm 1295 */
				bool_t BgL_tmpz00_10703;

				{	/* Llib/unicode.scm 1295 */
					long BgL_auxz00_10720;
					long BgL_auxz00_10711;
					obj_t BgL_auxz00_10704;

					{	/* Llib/unicode.scm 1295 */
						obj_t BgL_tmpz00_10721;

						if (INTEGERP(BgL_indexz00_6977))
							{	/* Llib/unicode.scm 1295 */
								BgL_tmpz00_10721 = BgL_indexz00_6977;
							}
						else
							{
								obj_t BgL_auxz00_10724;

								BgL_auxz00_10724 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(51964L),
									BGl_string3806z00zz__unicodez00,
									BGl_string3745z00zz__unicodez00, BgL_indexz00_6977);
								FAILURE(BgL_auxz00_10724, BFALSE, BFALSE);
							}
						BgL_auxz00_10720 = (long) CINT(BgL_tmpz00_10721);
					}
					{	/* Llib/unicode.scm 1295 */
						obj_t BgL_tmpz00_10712;

						if (INTEGERP(BgL_lenz00_6976))
							{	/* Llib/unicode.scm 1295 */
								BgL_tmpz00_10712 = BgL_lenz00_6976;
							}
						else
							{
								obj_t BgL_auxz00_10715;

								BgL_auxz00_10715 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(51964L),
									BGl_string3806z00zz__unicodez00,
									BGl_string3745z00zz__unicodez00, BgL_lenz00_6976);
								FAILURE(BgL_auxz00_10715, BFALSE, BFALSE);
							}
						BgL_auxz00_10711 = (long) CINT(BgL_tmpz00_10712);
					}
					if (STRINGP(BgL_strz00_6975))
						{	/* Llib/unicode.scm 1295 */
							BgL_auxz00_10704 = BgL_strz00_6975;
						}
					else
						{
							obj_t BgL_auxz00_10707;

							BgL_auxz00_10707 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(51964L), BGl_string3806z00zz__unicodez00,
								BGl_string3785z00zz__unicodez00, BgL_strz00_6975);
							FAILURE(BgL_auxz00_10707, BFALSE, BFALSE);
						}
					BgL_tmpz00_10703 =
						BGl_utf8zd2stringzd2rightzd2replacementzf3z21zz__unicodez00
						(BgL_auxz00_10704, BgL_auxz00_10711, BgL_auxz00_10720);
				}
				return BBOOL(BgL_tmpz00_10703);
			}
		}

	}



/* utf8-collapse! */
	obj_t BGl_utf8zd2collapsez12zc0zz__unicodez00(obj_t BgL_bufferz00_99,
		long BgL_indexbz00_100, obj_t BgL_strz00_101, obj_t BgL_indexsz00_102)
	{
		{	/* Llib/unicode.scm 1301 */
			{	/* Llib/unicode.scm 1303 */
				long BgL_cl1z00_2729;

				BgL_cl1z00_2729 =
					(STRING_REF(BgL_bufferz00_99, (BgL_indexbz00_100 - 4L)));
				{	/* Llib/unicode.scm 1303 */
					long BgL_cl2z00_2730;

					BgL_cl2z00_2730 =
						(STRING_REF(BgL_bufferz00_99, (BgL_indexbz00_100 - 3L)));
					{	/* Llib/unicode.scm 1304 */
						long BgL_cl3z00_2731;

						BgL_cl3z00_2731 =
							(STRING_REF(BgL_bufferz00_99, (BgL_indexbz00_100 - 2L)));
						{	/* Llib/unicode.scm 1305 */
							long BgL_cl4z00_2732;

							BgL_cl4z00_2732 =
								(STRING_REF(BgL_bufferz00_99, (BgL_indexbz00_100 - 1L)));
							{	/* Llib/unicode.scm 1307 */
								long BgL_cr3z00_2734;

								BgL_cr3z00_2734 =
									(STRING_REF(BgL_strz00_101,
										((long) CINT(BgL_indexsz00_102) + 2L)));
								{	/* Llib/unicode.scm 1308 */
									long BgL_cr4z00_2735;

									BgL_cr4z00_2735 =
										(STRING_REF(BgL_strz00_101,
											((long) CINT(BgL_indexsz00_102) + 3L)));
									{	/* Llib/unicode.scm 1310 */
										long BgL_yyyyz00_2737;

										BgL_yyyyz00_2737 = (15L & BgL_cr3z00_2734);
										{	/* Llib/unicode.scm 1311 */
											long BgL_xxz00_2738;

											BgL_xxz00_2738 = ((BgL_cl3z00_2731 >> (int) (4L)) & 3L);
											{	/* Llib/unicode.scm 1313 */
												long BgL_uuuuuz00_2740;

												BgL_uuuuuz00_2740 =
													(
													((BgL_cl4z00_2732 & 7L) <<
														(int) (2L)) |
													((BgL_cl2z00_2730 >> (int) (4L)) & 3L));
												{	/* Llib/unicode.scm 1314 */

													{	/* Llib/unicode.scm 1318 */
														unsigned char BgL_auxz00_10764;
														long BgL_tmpz00_10762;

														BgL_auxz00_10764 =
															(
															((BgL_cl1z00_2729 & 240L) |
																(BgL_uuuuuz00_2740 >> (int) (2L))));
														BgL_tmpz00_10762 = (BgL_indexbz00_100 - 4L);
														STRING_SET(BgL_bufferz00_99, BgL_tmpz00_10762,
															BgL_auxz00_10764);
													}
													{	/* Llib/unicode.scm 1324 */
														unsigned char BgL_auxz00_10773;
														long BgL_tmpz00_10771;

														BgL_auxz00_10773 = (BgL_cl2z00_2730);
														BgL_tmpz00_10771 = (BgL_indexbz00_100 - 3L);
														STRING_SET(BgL_bufferz00_99, BgL_tmpz00_10771,
															BgL_auxz00_10773);
													}
													{	/* Llib/unicode.scm 1327 */
														unsigned char BgL_auxz00_10778;
														long BgL_tmpz00_10776;

														BgL_auxz00_10778 =
															(
															(128L |
																((BgL_xxz00_2738 <<
																		(int) (4L)) | BgL_yyyyz00_2737)));
														BgL_tmpz00_10776 = (BgL_indexbz00_100 - 2L);
														STRING_SET(BgL_bufferz00_99, BgL_tmpz00_10776,
															BgL_auxz00_10778);
													}
													{	/* Llib/unicode.scm 1332 */
														unsigned char BgL_auxz00_10787;
														long BgL_tmpz00_10785;

														BgL_auxz00_10787 = (BgL_cr4z00_2735);
														BgL_tmpz00_10785 = (BgL_indexbz00_100 - 1L);
														return
															STRING_SET(BgL_bufferz00_99, BgL_tmpz00_10785,
															BgL_auxz00_10787);
													}
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}

	}



/* _utf8-string-append-fill! */
	obj_t BGl__utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00(obj_t
		BgL_env1142z00_108, obj_t BgL_opt1141z00_107)
	{
		{	/* Llib/unicode.scm 1344 */
			{	/* Llib/unicode.scm 1344 */
				obj_t BgL_g1143z00_2774;
				obj_t BgL_g1144z00_2775;
				obj_t BgL_g1145z00_2776;

				{
					obj_t BgL_auxz00_10790;

					if (VECTORP(BgL_opt1141z00_107))
						{	/* Llib/unicode.scm 1344 */
							BgL_auxz00_10790 = BgL_opt1141z00_107;
						}
					else
						{
							obj_t BgL_auxz00_10793;

							BgL_auxz00_10793 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(54131L), BGl_string3807z00zz__unicodez00,
								BGl_string3744z00zz__unicodez00, BgL_opt1141z00_107);
							FAILURE(BgL_auxz00_10793, BFALSE, BFALSE);
						}
					BgL_g1143z00_2774 = VECTOR_REF(BgL_auxz00_10790, 0L);
				}
				{
					obj_t BgL_auxz00_10798;

					if (VECTORP(BgL_opt1141z00_107))
						{	/* Llib/unicode.scm 1344 */
							BgL_auxz00_10798 = BgL_opt1141z00_107;
						}
					else
						{
							obj_t BgL_auxz00_10801;

							BgL_auxz00_10801 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(54131L), BGl_string3807z00zz__unicodez00,
								BGl_string3744z00zz__unicodez00, BgL_opt1141z00_107);
							FAILURE(BgL_auxz00_10801, BFALSE, BFALSE);
						}
					BgL_g1144z00_2775 = VECTOR_REF(BgL_auxz00_10798, 1L);
				}
				{
					obj_t BgL_auxz00_10806;

					if (VECTORP(BgL_opt1141z00_107))
						{	/* Llib/unicode.scm 1344 */
							BgL_auxz00_10806 = BgL_opt1141z00_107;
						}
					else
						{
							obj_t BgL_auxz00_10809;

							BgL_auxz00_10809 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(54131L), BGl_string3807z00zz__unicodez00,
								BGl_string3744z00zz__unicodez00, BgL_opt1141z00_107);
							FAILURE(BgL_auxz00_10809, BFALSE, BFALSE);
						}
					BgL_g1145z00_2776 = VECTOR_REF(BgL_auxz00_10806, 2L);
				}
				{	/* Llib/unicode.scm 1344 */
					long BgL_aux1147z00_2778;

					{
						obj_t BgL_auxz00_10814;

						if (VECTORP(BgL_opt1141z00_107))
							{	/* Llib/unicode.scm 1344 */
								BgL_auxz00_10814 = BgL_opt1141z00_107;
							}
						else
							{
								obj_t BgL_auxz00_10817;

								BgL_auxz00_10817 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(54131L),
									BGl_string3807z00zz__unicodez00,
									BGl_string3744z00zz__unicodez00, BgL_opt1141z00_107);
								FAILURE(BgL_auxz00_10817, BFALSE, BFALSE);
							}
						BgL_aux1147z00_2778 = VECTOR_LENGTH(BgL_auxz00_10814);
					}
					switch (BgL_aux1147z00_2778)
						{
						case 3L:

							{	/* Llib/unicode.scm 1344 */

								{	/* Llib/unicode.scm 1344 */
									long BgL_tmpz00_10822;

									{	/* Llib/unicode.scm 1344 */
										obj_t BgL_auxz00_10839;
										long BgL_auxz00_10830;
										obj_t BgL_auxz00_10823;

										if (STRINGP(BgL_g1145z00_2776))
											{	/* Llib/unicode.scm 1344 */
												BgL_auxz00_10839 = BgL_g1145z00_2776;
											}
										else
											{
												obj_t BgL_auxz00_10842;

												BgL_auxz00_10842 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3742z00zz__unicodez00, BINT(54131L),
													BGl_string3807z00zz__unicodez00,
													BGl_string3785z00zz__unicodez00, BgL_g1145z00_2776);
												FAILURE(BgL_auxz00_10842, BFALSE, BFALSE);
											}
										{	/* Llib/unicode.scm 1344 */
											obj_t BgL_tmpz00_10831;

											if (INTEGERP(BgL_g1144z00_2775))
												{	/* Llib/unicode.scm 1344 */
													BgL_tmpz00_10831 = BgL_g1144z00_2775;
												}
											else
												{
													obj_t BgL_auxz00_10834;

													BgL_auxz00_10834 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(54131L),
														BGl_string3807z00zz__unicodez00,
														BGl_string3745z00zz__unicodez00, BgL_g1144z00_2775);
													FAILURE(BgL_auxz00_10834, BFALSE, BFALSE);
												}
											BgL_auxz00_10830 = (long) CINT(BgL_tmpz00_10831);
										}
										if (STRINGP(BgL_g1143z00_2774))
											{	/* Llib/unicode.scm 1344 */
												BgL_auxz00_10823 = BgL_g1143z00_2774;
											}
										else
											{
												obj_t BgL_auxz00_10826;

												BgL_auxz00_10826 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3742z00zz__unicodez00, BINT(54131L),
													BGl_string3807z00zz__unicodez00,
													BGl_string3785z00zz__unicodez00, BgL_g1143z00_2774);
												FAILURE(BgL_auxz00_10826, BFALSE, BFALSE);
											}
										BgL_tmpz00_10822 =
											BGl_utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00
											(BgL_auxz00_10823, BgL_auxz00_10830, BgL_auxz00_10839,
											BINT(0L));
									}
									return BINT(BgL_tmpz00_10822);
								}
							}
							break;
						case 4L:

							{	/* Llib/unicode.scm 1344 */
								obj_t BgL_offsetz00_2780;

								{
									obj_t BgL_auxz00_10849;

									if (VECTORP(BgL_opt1141z00_107))
										{	/* Llib/unicode.scm 1344 */
											BgL_auxz00_10849 = BgL_opt1141z00_107;
										}
									else
										{
											obj_t BgL_auxz00_10852;

											BgL_auxz00_10852 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3742z00zz__unicodez00, BINT(54131L),
												BGl_string3807z00zz__unicodez00,
												BGl_string3744z00zz__unicodez00, BgL_opt1141z00_107);
											FAILURE(BgL_auxz00_10852, BFALSE, BFALSE);
										}
									BgL_offsetz00_2780 = VECTOR_REF(BgL_auxz00_10849, 3L);
								}
								{	/* Llib/unicode.scm 1344 */

									{	/* Llib/unicode.scm 1344 */
										long BgL_tmpz00_10857;

										{	/* Llib/unicode.scm 1344 */
											obj_t BgL_auxz00_10874;
											long BgL_auxz00_10865;
											obj_t BgL_auxz00_10858;

											if (STRINGP(BgL_g1145z00_2776))
												{	/* Llib/unicode.scm 1344 */
													BgL_auxz00_10874 = BgL_g1145z00_2776;
												}
											else
												{
													obj_t BgL_auxz00_10877;

													BgL_auxz00_10877 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(54131L),
														BGl_string3807z00zz__unicodez00,
														BGl_string3785z00zz__unicodez00, BgL_g1145z00_2776);
													FAILURE(BgL_auxz00_10877, BFALSE, BFALSE);
												}
											{	/* Llib/unicode.scm 1344 */
												obj_t BgL_tmpz00_10866;

												if (INTEGERP(BgL_g1144z00_2775))
													{	/* Llib/unicode.scm 1344 */
														BgL_tmpz00_10866 = BgL_g1144z00_2775;
													}
												else
													{
														obj_t BgL_auxz00_10869;

														BgL_auxz00_10869 =
															BGl_typezd2errorzd2zz__errorz00
															(BGl_string3742z00zz__unicodez00, BINT(54131L),
															BGl_string3807z00zz__unicodez00,
															BGl_string3745z00zz__unicodez00,
															BgL_g1144z00_2775);
														FAILURE(BgL_auxz00_10869, BFALSE, BFALSE);
													}
												BgL_auxz00_10865 = (long) CINT(BgL_tmpz00_10866);
											}
											if (STRINGP(BgL_g1143z00_2774))
												{	/* Llib/unicode.scm 1344 */
													BgL_auxz00_10858 = BgL_g1143z00_2774;
												}
											else
												{
													obj_t BgL_auxz00_10861;

													BgL_auxz00_10861 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(54131L),
														BGl_string3807z00zz__unicodez00,
														BGl_string3785z00zz__unicodez00, BgL_g1143z00_2774);
													FAILURE(BgL_auxz00_10861, BFALSE, BFALSE);
												}
											BgL_tmpz00_10857 =
												BGl_utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00
												(BgL_auxz00_10858, BgL_auxz00_10865, BgL_auxz00_10874,
												BgL_offsetz00_2780);
										}
										return BINT(BgL_tmpz00_10857);
									}
								}
							}
							break;
						default:
							return BUNSPEC;
						}
				}
			}
		}

	}



/* utf8-string-append-fill! */
	BGL_EXPORTED_DEF long
		BGl_utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00(obj_t
		BgL_bufferz00_103, long BgL_indexz00_104, obj_t BgL_strz00_105,
		obj_t BgL_offsetz00_106)
	{
		{	/* Llib/unicode.scm 1344 */
			{	/* Llib/unicode.scm 1345 */
				long BgL_lenz00_2781;

				BgL_lenz00_2781 = STRING_LENGTH(BgL_strz00_105);
				{	/* Llib/unicode.scm 1347 */
					bool_t BgL_test4446z00_10885;

					if ((BgL_indexz00_104 >= 4L))
						{	/* Llib/unicode.scm 1348 */
							bool_t BgL_test4448z00_10888;

							{	/* Llib/unicode.scm 1348 */
								long BgL_indexz00_6219;

								BgL_indexz00_6219 = (long) CINT(BgL_offsetz00_106);
								if ((BgL_lenz00_2781 >= (BgL_indexz00_6219 + 4L)))
									{	/* Llib/unicode.scm 1295 */
										BgL_test4448z00_10888 =
											((STRING_REF(BgL_strz00_105, BgL_indexz00_6219)) == 252L);
									}
								else
									{	/* Llib/unicode.scm 1295 */
										BgL_test4448z00_10888 = ((bool_t) 0);
									}
							}
							if (BgL_test4448z00_10888)
								{	/* Llib/unicode.scm 1349 */
									long BgL_indexz00_6234;

									BgL_indexz00_6234 = (BgL_indexz00_104 - 4L);
									if ((BgL_indexz00_104 >= (BgL_indexz00_6234 + 4L)))
										{	/* Llib/unicode.scm 1285 */
											BgL_test4446z00_10885 =
												(
												(STRING_REF(BgL_bufferz00_103,
														BgL_indexz00_6234)) == 248L);
										}
									else
										{	/* Llib/unicode.scm 1285 */
											BgL_test4446z00_10885 = ((bool_t) 0);
										}
								}
							else
								{	/* Llib/unicode.scm 1348 */
									BgL_test4446z00_10885 = ((bool_t) 0);
								}
						}
					else
						{	/* Llib/unicode.scm 1347 */
							BgL_test4446z00_10885 = ((bool_t) 0);
						}
					if (BgL_test4446z00_10885)
						{	/* Llib/unicode.scm 1347 */
							blit_string(BgL_strz00_105, 4L, BgL_bufferz00_103,
								BgL_indexz00_104, (BgL_lenz00_2781 - 4L));
							BGl_utf8zd2collapsez12zc0zz__unicodez00(BgL_bufferz00_103,
								BgL_indexz00_104, BgL_strz00_105, BgL_offsetz00_106);
							return (BgL_indexz00_104 + (BgL_lenz00_2781 - 4L));
						}
					else
						{	/* Llib/unicode.scm 1347 */
							blit_string(BgL_strz00_105,
								(long) CINT(BgL_offsetz00_106), BgL_bufferz00_103,
								BgL_indexz00_104,
								(BgL_lenz00_2781 - (long) CINT(BgL_offsetz00_106)));
							return (BgL_indexz00_104 + (BgL_lenz00_2781 -
									(long) CINT(BgL_offsetz00_106)));
		}}}}

	}



/* utf8-string-append */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2stringzd2appendz00zz__unicodez00(obj_t
		BgL_leftz00_109, obj_t BgL_rightz00_110)
	{
		{	/* Llib/unicode.scm 1366 */
			{	/* Llib/unicode.scm 1367 */
				long BgL_llenz00_2793;

				BgL_llenz00_2793 = STRING_LENGTH(BgL_leftz00_109);
				{	/* Llib/unicode.scm 1367 */
					long BgL_rlenz00_2794;

					BgL_rlenz00_2794 = STRING_LENGTH(BgL_rightz00_110);
					{	/* Llib/unicode.scm 1368 */
						obj_t BgL_bufferz00_2795;

						BgL_bufferz00_2795 =
							make_string_sans_fill((BgL_llenz00_2793 + BgL_rlenz00_2794));
						{	/* Llib/unicode.scm 1369 */

							blit_string(BgL_leftz00_109, 0L, BgL_bufferz00_2795, 0L,
								BgL_llenz00_2793);
							{	/* Llib/unicode.scm 1371 */
								long BgL_nindexz00_2796;

								{	/* Llib/unicode.scm 181 */

									BgL_nindexz00_2796 =
										BGl_utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00
										(BgL_bufferz00_2795, BgL_llenz00_2793, BgL_rightz00_110,
										BINT(0L));
								}
								return
									bgl_string_shrink(BgL_bufferz00_2795, BgL_nindexz00_2796);
							}
						}
					}
				}
			}
		}

	}



/* &utf8-string-append */
	obj_t BGl_z62utf8zd2stringzd2appendz62zz__unicodez00(obj_t BgL_envz00_6978,
		obj_t BgL_leftz00_6979, obj_t BgL_rightz00_6980)
	{
		{	/* Llib/unicode.scm 1366 */
			{	/* Llib/unicode.scm 1367 */
				obj_t BgL_auxz00_10930;
				obj_t BgL_auxz00_10923;

				if (STRINGP(BgL_rightz00_6980))
					{	/* Llib/unicode.scm 1367 */
						BgL_auxz00_10930 = BgL_rightz00_6980;
					}
				else
					{
						obj_t BgL_auxz00_10933;

						BgL_auxz00_10933 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(55284L), BGl_string3808z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_rightz00_6980);
						FAILURE(BgL_auxz00_10933, BFALSE, BFALSE);
					}
				if (STRINGP(BgL_leftz00_6979))
					{	/* Llib/unicode.scm 1367 */
						BgL_auxz00_10923 = BgL_leftz00_6979;
					}
				else
					{
						obj_t BgL_auxz00_10926;

						BgL_auxz00_10926 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(55284L), BGl_string3808z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_leftz00_6979);
						FAILURE(BgL_auxz00_10926, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2stringzd2appendz00zz__unicodez00(BgL_auxz00_10923,
					BgL_auxz00_10930);
			}
		}

	}



/* utf8-string-append* */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2stringzd2appendza2za2zz__unicodez00(obj_t
		BgL_stringsz00_111)
	{
		{	/* Llib/unicode.scm 1379 */
			{	/* Llib/unicode.scm 1380 */
				long BgL_lenz00_2802;

				BgL_lenz00_2802 = 0L;
				{
					obj_t BgL_l1105z00_2804;

					BgL_l1105z00_2804 = BgL_stringsz00_111;
				BgL_zc3z04anonymousza32677ze3z87_2805:
					if (PAIRP(BgL_l1105z00_2804))
						{	/* Llib/unicode.scm 1381 */
							{	/* Llib/unicode.scm 1382 */
								obj_t BgL_strz00_2807;

								BgL_strz00_2807 = CAR(BgL_l1105z00_2804);
								{	/* Llib/unicode.scm 1382 */
									long BgL_za71za7_6276;

									BgL_za71za7_6276 = BgL_lenz00_2802;
									BgL_lenz00_2802 =
										(BgL_za71za7_6276 +
										STRING_LENGTH(((obj_t) BgL_strz00_2807)));
							}}
							{
								obj_t BgL_l1105z00_10944;

								BgL_l1105z00_10944 = CDR(BgL_l1105z00_2804);
								BgL_l1105z00_2804 = BgL_l1105z00_10944;
								goto BgL_zc3z04anonymousza32677ze3z87_2805;
							}
						}
					else
						{	/* Llib/unicode.scm 1381 */
							((bool_t) 1);
						}
				}
				{	/* Llib/unicode.scm 1384 */
					obj_t BgL_bufferz00_2811;
					long BgL_indexz00_2812;

					BgL_bufferz00_2811 = make_string_sans_fill(BgL_lenz00_2802);
					BgL_indexz00_2812 = 0L;
					{
						obj_t BgL_l1107z00_2814;

						BgL_l1107z00_2814 = BgL_stringsz00_111;
					BgL_zc3z04anonymousza32682ze3z87_2815:
						if (PAIRP(BgL_l1107z00_2814))
							{	/* Llib/unicode.scm 1386 */
								{	/* Llib/unicode.scm 1387 */
									obj_t BgL_strz00_2817;

									BgL_strz00_2817 = CAR(BgL_l1107z00_2814);
									{	/* Llib/unicode.scm 1387 */
										long BgL_g1144z00_2819;

										BgL_g1144z00_2819 = BgL_indexz00_2812;
										{	/* Llib/unicode.scm 181 */

											BgL_indexz00_2812 =
												BGl_utf8zd2stringzd2appendzd2fillz12zc0zz__unicodez00
												(BgL_bufferz00_2811, BgL_g1144z00_2819, BgL_strz00_2817,
												BINT(0L));
								}}}
								{
									obj_t BgL_l1107z00_10952;

									BgL_l1107z00_10952 = CDR(BgL_l1107z00_2814);
									BgL_l1107z00_2814 = BgL_l1107z00_10952;
									goto BgL_zc3z04anonymousza32682ze3z87_2815;
								}
							}
						else
							{	/* Llib/unicode.scm 1386 */
								((bool_t) 1);
							}
					}
					return bgl_string_shrink(BgL_bufferz00_2811, BgL_indexz00_2812);
				}
			}
		}

	}



/* &utf8-string-append* */
	obj_t BGl_z62utf8zd2stringzd2appendza2zc0zz__unicodez00(obj_t BgL_envz00_6981,
		obj_t BgL_stringsz00_6982)
	{
		{	/* Llib/unicode.scm 1379 */
			return
				BGl_utf8zd2stringzd2appendza2za2zz__unicodez00(BgL_stringsz00_6982);
		}

	}



/* _utf8-substring */
	obj_t BGl__utf8zd2substringzd2zz__unicodez00(obj_t BgL_env1149z00_116,
		obj_t BgL_opt1148z00_115)
	{
		{	/* Llib/unicode.scm 1394 */
			{	/* Llib/unicode.scm 1394 */
				obj_t BgL_strz00_2824;
				obj_t BgL_g1150z00_2825;

				{
					obj_t BgL_auxz00_10956;

					if (VECTORP(BgL_opt1148z00_115))
						{	/* Llib/unicode.scm 1394 */
							BgL_auxz00_10956 = BgL_opt1148z00_115;
						}
					else
						{
							obj_t BgL_auxz00_10959;

							BgL_auxz00_10959 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(56493L), BGl_string3809z00zz__unicodez00,
								BGl_string3744z00zz__unicodez00, BgL_opt1148z00_115);
							FAILURE(BgL_auxz00_10959, BFALSE, BFALSE);
						}
					BgL_strz00_2824 = VECTOR_REF(BgL_auxz00_10956, 0L);
				}
				{
					obj_t BgL_auxz00_10964;

					if (VECTORP(BgL_opt1148z00_115))
						{	/* Llib/unicode.scm 1394 */
							BgL_auxz00_10964 = BgL_opt1148z00_115;
						}
					else
						{
							obj_t BgL_auxz00_10967;

							BgL_auxz00_10967 =
								BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
								BINT(56493L), BGl_string3809z00zz__unicodez00,
								BGl_string3744z00zz__unicodez00, BgL_opt1148z00_115);
							FAILURE(BgL_auxz00_10967, BFALSE, BFALSE);
						}
					BgL_g1150z00_2825 = VECTOR_REF(BgL_auxz00_10964, 1L);
				}
				{	/* Llib/unicode.scm 1394 */
					long BgL_aux1152z00_2827;

					{
						obj_t BgL_auxz00_10972;

						if (VECTORP(BgL_opt1148z00_115))
							{	/* Llib/unicode.scm 1394 */
								BgL_auxz00_10972 = BgL_opt1148z00_115;
							}
						else
							{
								obj_t BgL_auxz00_10975;

								BgL_auxz00_10975 =
									BGl_typezd2errorzd2zz__errorz00
									(BGl_string3742z00zz__unicodez00, BINT(56493L),
									BGl_string3809z00zz__unicodez00,
									BGl_string3744z00zz__unicodez00, BgL_opt1148z00_115);
								FAILURE(BgL_auxz00_10975, BFALSE, BFALSE);
							}
						BgL_aux1152z00_2827 = VECTOR_LENGTH(BgL_auxz00_10972);
					}
					switch (BgL_aux1152z00_2827)
						{
						case 2L:

							{	/* Llib/unicode.scm 1395 */
								long BgL_endz00_2828;

								{	/* Llib/unicode.scm 1395 */
									obj_t BgL_auxz00_10980;

									if (STRINGP(BgL_strz00_2824))
										{	/* Llib/unicode.scm 1395 */
											BgL_auxz00_10980 = BgL_strz00_2824;
										}
									else
										{
											obj_t BgL_auxz00_10983;

											BgL_auxz00_10983 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3742z00zz__unicodez00, BINT(56588L),
												BGl_string3809z00zz__unicodez00,
												BGl_string3785z00zz__unicodez00, BgL_strz00_2824);
											FAILURE(BgL_auxz00_10983, BFALSE, BFALSE);
										}
									BgL_endz00_2828 =
										BGl_utf8zd2stringzd2lengthz00zz__unicodez00
										(BgL_auxz00_10980);
								}
								{	/* Llib/unicode.scm 1394 */

									{	/* Llib/unicode.scm 1394 */
										long BgL_auxz00_10995;
										obj_t BgL_auxz00_10988;

										{	/* Llib/unicode.scm 1394 */
											obj_t BgL_tmpz00_10996;

											if (INTEGERP(BgL_g1150z00_2825))
												{	/* Llib/unicode.scm 1394 */
													BgL_tmpz00_10996 = BgL_g1150z00_2825;
												}
											else
												{
													obj_t BgL_auxz00_10999;

													BgL_auxz00_10999 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(56493L),
														BGl_string3809z00zz__unicodez00,
														BGl_string3745z00zz__unicodez00, BgL_g1150z00_2825);
													FAILURE(BgL_auxz00_10999, BFALSE, BFALSE);
												}
											BgL_auxz00_10995 = (long) CINT(BgL_tmpz00_10996);
										}
										if (STRINGP(BgL_strz00_2824))
											{	/* Llib/unicode.scm 1394 */
												BgL_auxz00_10988 = BgL_strz00_2824;
											}
										else
											{
												obj_t BgL_auxz00_10991;

												BgL_auxz00_10991 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3742z00zz__unicodez00, BINT(56493L),
													BGl_string3809z00zz__unicodez00,
													BGl_string3785z00zz__unicodez00, BgL_strz00_2824);
												FAILURE(BgL_auxz00_10991, BFALSE, BFALSE);
											}
										return
											BGl_utf8zd2substringzd2zz__unicodez00(BgL_auxz00_10988,
											BgL_auxz00_10995, BgL_endz00_2828);
									}
								}
							}
							break;
						case 3L:

							{	/* Llib/unicode.scm 1394 */
								obj_t BgL_endz00_2829;

								{
									obj_t BgL_auxz00_11005;

									if (VECTORP(BgL_opt1148z00_115))
										{	/* Llib/unicode.scm 1394 */
											BgL_auxz00_11005 = BgL_opt1148z00_115;
										}
									else
										{
											obj_t BgL_auxz00_11008;

											BgL_auxz00_11008 =
												BGl_typezd2errorzd2zz__errorz00
												(BGl_string3742z00zz__unicodez00, BINT(56493L),
												BGl_string3809z00zz__unicodez00,
												BGl_string3744z00zz__unicodez00, BgL_opt1148z00_115);
											FAILURE(BgL_auxz00_11008, BFALSE, BFALSE);
										}
									BgL_endz00_2829 = VECTOR_REF(BgL_auxz00_11005, 2L);
								}
								{	/* Llib/unicode.scm 1394 */

									{	/* Llib/unicode.scm 1394 */
										long BgL_auxz00_11029;
										long BgL_auxz00_11020;
										obj_t BgL_auxz00_11013;

										{	/* Llib/unicode.scm 1394 */
											obj_t BgL_tmpz00_11030;

											if (INTEGERP(BgL_endz00_2829))
												{	/* Llib/unicode.scm 1394 */
													BgL_tmpz00_11030 = BgL_endz00_2829;
												}
											else
												{
													obj_t BgL_auxz00_11033;

													BgL_auxz00_11033 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(56493L),
														BGl_string3809z00zz__unicodez00,
														BGl_string3745z00zz__unicodez00, BgL_endz00_2829);
													FAILURE(BgL_auxz00_11033, BFALSE, BFALSE);
												}
											BgL_auxz00_11029 = (long) CINT(BgL_tmpz00_11030);
										}
										{	/* Llib/unicode.scm 1394 */
											obj_t BgL_tmpz00_11021;

											if (INTEGERP(BgL_g1150z00_2825))
												{	/* Llib/unicode.scm 1394 */
													BgL_tmpz00_11021 = BgL_g1150z00_2825;
												}
											else
												{
													obj_t BgL_auxz00_11024;

													BgL_auxz00_11024 =
														BGl_typezd2errorzd2zz__errorz00
														(BGl_string3742z00zz__unicodez00, BINT(56493L),
														BGl_string3809z00zz__unicodez00,
														BGl_string3745z00zz__unicodez00, BgL_g1150z00_2825);
													FAILURE(BgL_auxz00_11024, BFALSE, BFALSE);
												}
											BgL_auxz00_11020 = (long) CINT(BgL_tmpz00_11021);
										}
										if (STRINGP(BgL_strz00_2824))
											{	/* Llib/unicode.scm 1394 */
												BgL_auxz00_11013 = BgL_strz00_2824;
											}
										else
											{
												obj_t BgL_auxz00_11016;

												BgL_auxz00_11016 =
													BGl_typezd2errorzd2zz__errorz00
													(BGl_string3742z00zz__unicodez00, BINT(56493L),
													BGl_string3809z00zz__unicodez00,
													BGl_string3785z00zz__unicodez00, BgL_strz00_2824);
												FAILURE(BgL_auxz00_11016, BFALSE, BFALSE);
											}
										return
											BGl_utf8zd2substringzd2zz__unicodez00(BgL_auxz00_11013,
											BgL_auxz00_11020, BgL_auxz00_11029);
									}
								}
							}
							break;
						default:
							return BUNSPEC;
						}
				}
			}
		}

	}



/* utf8-substring */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2substringzd2zz__unicodez00(obj_t
		BgL_strz00_112, long BgL_startz00_113, long BgL_endz00_114)
	{
		{	/* Llib/unicode.scm 1394 */
			{	/* Llib/unicode.scm 1396 */
				long BgL_lenz00_2830;

				BgL_lenz00_2830 = STRING_LENGTH(BgL_strz00_112);
				{	/* Llib/unicode.scm 1398 */
					bool_t BgL_test4465z00_11041;

					if ((BgL_startz00_113 < 0L))
						{	/* Llib/unicode.scm 1398 */
							BgL_test4465z00_11041 = ((bool_t) 1);
						}
					else
						{	/* Llib/unicode.scm 1398 */
							BgL_test4465z00_11041 = (BgL_startz00_113 > BgL_lenz00_2830);
						}
					if (BgL_test4465z00_11041)
						{	/* Llib/unicode.scm 1398 */
							return
								BGl_errorz00zz__errorz00(BGl_string3810z00zz__unicodez00,
								string_append_3(BGl_string3811z00zz__unicodez00, BgL_strz00_112,
									BGl_string3812z00zz__unicodez00), BINT(BgL_startz00_113));
						}
					else
						{	/* Llib/unicode.scm 1398 */
							if ((BgL_endz00_114 < 0L))
								{	/* Llib/unicode.scm 1402 */
									return
										BGl_errorz00zz__errorz00(BGl_string3810z00zz__unicodez00,
										string_append_3(BGl_string3813z00zz__unicodez00,
											BgL_strz00_112, BGl_string3812z00zz__unicodez00),
										BINT(BgL_endz00_114));
								}
							else
								{	/* Llib/unicode.scm 1406 */
									bool_t BgL_test4468z00_11053;

									if ((BgL_endz00_114 < BgL_startz00_113))
										{	/* Llib/unicode.scm 1406 */
											BgL_test4468z00_11053 = ((bool_t) 1);
										}
									else
										{	/* Llib/unicode.scm 1406 */
											BgL_test4468z00_11053 =
												(BgL_endz00_114 > BgL_lenz00_2830);
										}
									if (BgL_test4468z00_11053)
										{	/* Llib/unicode.scm 1406 */
											return
												BGl_errorz00zz__errorz00
												(BGl_string3810z00zz__unicodez00,
												string_append_3(BGl_string3813z00zz__unicodez00,
													BgL_strz00_112, BGl_string3812z00zz__unicodez00),
												BINT(BgL_endz00_114));
										}
									else
										{	/* Llib/unicode.scm 1406 */
											if ((BgL_startz00_113 == BgL_endz00_114))
												{	/* Llib/unicode.scm 1410 */
													return BGl_string3715z00zz__unicodez00;
												}
											else
												{
													long BgL_rz00_6323;
													long BgL_nz00_6324;
													long BgL_iz00_6325;

													BgL_rz00_6323 = 0L;
													BgL_nz00_6324 = 0L;
													BgL_iz00_6325 = 0L;
												BgL_loopz00_6322:
													if ((BgL_rz00_6323 == BgL_lenz00_2830))
														{	/* Llib/unicode.scm 1416 */
															BGL_TAIL return
																c_substring(BgL_strz00_112, BgL_iz00_6325,
																BgL_rz00_6323);
														}
													else
														{	/* Llib/unicode.scm 1418 */
															unsigned char BgL_cz00_6332;

															BgL_cz00_6332 =
																STRING_REF(BgL_strz00_112, BgL_rz00_6323);
															{	/* Llib/unicode.scm 1418 */
																long BgL_sz00_6335;

																{	/* Llib/unicode.scm 1419 */
																	long BgL_res3382z00_6336;

																	{	/* Llib/unicode.scm 1419 */
																		unsigned char BgL_cz00_6337;

																		BgL_cz00_6337 = (char) (BgL_cz00_6332);
																		{	/* Llib/unicode.scm 1203 */
																			long BgL_arg2574z00_6338;

																			BgL_arg2574z00_6338 =
																				(
																				((unsigned char) (BgL_cz00_6337)) >>
																				(int) (4L));
																			{	/* Llib/unicode.scm 1202 */
																				obj_t BgL_vectorz00_6342;

																				BgL_vectorz00_6342 =
																					BGl_vector3797z00zz__unicodez00;
																				BgL_res3382z00_6336 =
																					(long)
																					CINT(VECTOR_REF(BgL_vectorz00_6342,
																						BgL_arg2574z00_6338));
																	}}}
																	BgL_sz00_6335 = BgL_res3382z00_6336;
																}
																{	/* Llib/unicode.scm 1419 */

																	if ((BgL_nz00_6324 == BgL_startz00_113))
																		{
																			long BgL_iz00_11079;
																			long BgL_nz00_11077;
																			long BgL_rz00_11075;

																			BgL_rz00_11075 =
																				(BgL_rz00_6323 + BgL_sz00_6335);
																			BgL_nz00_11077 = (BgL_nz00_6324 + 1L);
																			BgL_iz00_11079 = BgL_rz00_6323;
																			BgL_iz00_6325 = BgL_iz00_11079;
																			BgL_nz00_6324 = BgL_nz00_11077;
																			BgL_rz00_6323 = BgL_rz00_11075;
																			goto BgL_loopz00_6322;
																		}
																	else
																		{	/* Llib/unicode.scm 1421 */
																			if ((BgL_nz00_6324 == BgL_endz00_114))
																				{	/* Llib/unicode.scm 1423 */
																					BGL_TAIL return
																						c_substring(BgL_strz00_112,
																						BgL_iz00_6325, BgL_rz00_6323);
																				}
																			else
																				{
																					long BgL_nz00_11085;
																					long BgL_rz00_11083;

																					BgL_rz00_11083 =
																						(BgL_rz00_6323 + BgL_sz00_6335);
																					BgL_nz00_11085 = (BgL_nz00_6324 + 1L);
																					BgL_nz00_6324 = BgL_nz00_11085;
																					BgL_rz00_6323 = BgL_rz00_11083;
																					goto BgL_loopz00_6322;
																				}
																		}
																}
															}
														}
												}
										}
								}
						}
				}
			}
		}

	}



/* utf8->8bits-fill! */
	obj_t BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00(obj_t BgL_nstrz00_117,
		obj_t BgL_strz00_118, int BgL_lenz00_119, obj_t BgL_tablez00_120)
	{
		{	/* Llib/unicode.scm 1431 */
			{
				obj_t BgL_rz00_2904;

				{
					obj_t BgL_rz00_2862;
					long BgL_wz00_2863;

					BgL_rz00_2862 = BINT(0L);
					BgL_wz00_2863 = 0L;
				BgL_zc3z04anonymousza32714ze3z87_2864:
					if (((long) CINT(BgL_rz00_2862) == (long) (BgL_lenz00_119)))
						{	/* Llib/unicode.scm 1467 */
							return BgL_nstrz00_117;
						}
					else
						{	/* Llib/unicode.scm 1469 */
							unsigned char BgL_cz00_2866;

							BgL_cz00_2866 =
								STRING_REF(BgL_strz00_118, (long) CINT(BgL_rz00_2862));
							{	/* Llib/unicode.scm 1469 */
								long BgL_nz00_2867;

								BgL_nz00_2867 = (BgL_cz00_2866);
								{	/* Llib/unicode.scm 1470 */

									if ((BgL_nz00_2867 <= 127L))
										{	/* Llib/unicode.scm 1472 */
											STRING_SET(BgL_nstrz00_117, BgL_wz00_2863, BgL_cz00_2866);
											{	/* Llib/unicode.scm 1474 */
												long BgL_arg2717z00_2869;
												long BgL_arg2720z00_2870;

												BgL_arg2717z00_2869 = ((long) CINT(BgL_rz00_2862) + 1L);
												BgL_arg2720z00_2870 = (BgL_wz00_2863 + 1L);
												{
													long BgL_wz00_11102;
													obj_t BgL_rz00_11100;

													BgL_rz00_11100 = BINT(BgL_arg2717z00_2869);
													BgL_wz00_11102 = BgL_arg2720z00_2870;
													BgL_wz00_2863 = BgL_wz00_11102;
													BgL_rz00_2862 = BgL_rz00_11100;
													goto BgL_zc3z04anonymousza32714ze3z87_2864;
												}
											}
										}
									else
										{	/* Llib/unicode.scm 1472 */
											if ((BgL_nz00_2867 < 194L))
												{	/* Llib/unicode.scm 1475 */
													BgL_rz00_2904 = BgL_rz00_2862;
												BgL_zc3z04anonymousza32743ze3z87_2905:
													{	/* Llib/unicode.scm 1441 */
														obj_t BgL_arg2744z00_2906;
														obj_t BgL_arg2749z00_2907;

														{	/* Llib/unicode.scm 1441 */
															long BgL_arg2750z00_2908;

															BgL_arg2750z00_2908 =
																(STRING_REF(BgL_strz00_118,
																	(long) CINT(BgL_rz00_2904)));
															{	/* Llib/unicode.scm 1440 */
																obj_t BgL_list2751z00_2909;

																{	/* Llib/unicode.scm 1440 */
																	obj_t BgL_arg2752z00_2910;

																	BgL_arg2752z00_2910 =
																		MAKE_YOUNG_PAIR(BgL_rz00_2904, BNIL);
																	BgL_list2751z00_2909 =
																		MAKE_YOUNG_PAIR(BINT(BgL_arg2750z00_2908),
																		BgL_arg2752z00_2910);
																}
																BgL_arg2744z00_2906 =
																	BGl_formatz00zz__r4_output_6_10_3z00
																	(BGl_string3814z00zz__unicodez00,
																	BgL_list2751z00_2909);
														}}
														{	/* Llib/unicode.scm 1443 */
															obj_t BgL_arg2754z00_2912;

															{	/* Llib/unicode.scm 1443 */
																int BgL_arg2755z00_2913;

																{	/* Llib/unicode.scm 1443 */
																	long BgL_bz00_2915;

																	BgL_bz00_2915 =
																		((long) CINT(BgL_rz00_2904) + 10L);
																	if (((long) (BgL_lenz00_119) < BgL_bz00_2915))
																		{	/* Llib/unicode.scm 1443 */
																			BgL_arg2755z00_2913 = BgL_lenz00_119;
																		}
																	else
																		{	/* Llib/unicode.scm 1443 */
																			BgL_arg2755z00_2913 =
																				(int) (BgL_bz00_2915);
																}}
																BgL_arg2754z00_2912 =
																	c_substring(BgL_strz00_118,
																	(long) CINT(BgL_rz00_2904),
																	(long) (BgL_arg2755z00_2913));
															}
															BgL_arg2749z00_2907 =
																string_for_read(BgL_arg2754z00_2912);
														}
														return
															BGl_errorz00zz__errorz00
															(BGl_string3815z00zz__unicodez00,
															BgL_arg2744z00_2906, BgL_arg2749z00_2907);
													}
												}
											else
												{	/* Llib/unicode.scm 1477 */
													obj_t BgL_g1063z00_2872;

													if (CBOOL(BgL_tablez00_120))
														{	/* Llib/unicode.scm 1477 */
															BgL_g1063z00_2872 =
																BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BINT
																(BgL_nz00_2867), BgL_tablez00_120);
														}
													else
														{	/* Llib/unicode.scm 1477 */
															BgL_g1063z00_2872 = BFALSE;
														}
													if (CBOOL(BgL_g1063z00_2872))
														{
															long BgL_wz00_11131;
															obj_t BgL_rz00_11129;

															BgL_rz00_11129 =
																BGl_tablezd2ze38bitsze70zd6zz__unicodez00
																(BgL_nstrz00_117, BgL_tablez00_120,
																BgL_strz00_118, BgL_lenz00_119,
																BgL_g1063z00_2872, BgL_rz00_2862, BgL_wz00_2863,
																BgL_nz00_2867);
															BgL_wz00_11131 = (BgL_wz00_2863 + 1L);
															BgL_wz00_2863 = BgL_wz00_11131;
															BgL_rz00_2862 = BgL_rz00_11129;
															goto BgL_zc3z04anonymousza32714ze3z87_2864;
														}
													else
														{	/* Llib/unicode.scm 1477 */
															if ((BgL_nz00_2867 <= 223L))
																{	/* Llib/unicode.scm 1481 */
																	if (
																		((long) CINT(BgL_rz00_2862) ==
																			((long) (BgL_lenz00_119) - 1L)))
																		{	/* Llib/unicode.scm 1482 */
																			return
																				BGl_errorzd2toozd2shortze70ze7zz__unicodez00
																				(BgL_strz00_118, BgL_lenz00_119,
																				BgL_rz00_2862);
																		}
																	else
																		{	/* Llib/unicode.scm 1484 */
																			unsigned char BgL_ncz00_2880;

																			BgL_ncz00_2880 =
																				STRING_REF(BgL_strz00_118,
																				((long) CINT(BgL_rz00_2862) + 1L));
																			{	/* Llib/unicode.scm 1484 */
																				long BgL_nnz00_2881;

																				BgL_nnz00_2881 = (BgL_ncz00_2880);
																				{	/* Llib/unicode.scm 1485 */

																					{	/* Llib/unicode.scm 1486 */
																						long BgL_mz00_2882;

																						BgL_mz00_2882 =
																							(
																							((BgL_nz00_2867 & 31L) <<
																								(int) (6L)) |
																							(63L & BgL_nnz00_2881));
																						if ((BgL_mz00_2882 > 255L))
																							{	/* Llib/unicode.scm 1488 */
																								STRING_SET(BgL_nstrz00_117,
																									BgL_wz00_2863,
																									((unsigned char) '.'));
																								{	/* Llib/unicode.scm 1494 */
																									long BgL_arg2728z00_2884;
																									long BgL_arg2729z00_2885;

																									BgL_arg2728z00_2884 =
																										(
																										(long) CINT(BgL_rz00_2862) +
																										2L);
																									BgL_arg2729z00_2885 =
																										(BgL_wz00_2863 + 1L);
																									{
																										long BgL_wz00_11158;
																										obj_t BgL_rz00_11156;

																										BgL_rz00_11156 =
																											BINT(BgL_arg2728z00_2884);
																										BgL_wz00_11158 =
																											BgL_arg2729z00_2885;
																										BgL_wz00_2863 =
																											BgL_wz00_11158;
																										BgL_rz00_2862 =
																											BgL_rz00_11156;
																										goto
																											BgL_zc3z04anonymousza32714ze3z87_2864;
																									}
																								}
																							}
																						else
																							{	/* Llib/unicode.scm 1488 */
																								{	/* Llib/unicode.scm 1496 */
																									unsigned char
																										BgL_tmpz00_11159;
																									BgL_tmpz00_11159 =
																										(BgL_mz00_2882);
																									STRING_SET(BgL_nstrz00_117,
																										BgL_wz00_2863,
																										BgL_tmpz00_11159);
																								}
																								{	/* Llib/unicode.scm 1497 */
																									long BgL_arg2731z00_2887;
																									long BgL_arg2732z00_2888;

																									BgL_arg2731z00_2887 =
																										(
																										(long) CINT(BgL_rz00_2862) +
																										2L);
																									BgL_arg2732z00_2888 =
																										(BgL_wz00_2863 + 1L);
																									{
																										long BgL_wz00_11167;
																										obj_t BgL_rz00_11165;

																										BgL_rz00_11165 =
																											BINT(BgL_arg2731z00_2887);
																										BgL_wz00_11167 =
																											BgL_arg2732z00_2888;
																										BgL_wz00_2863 =
																											BgL_wz00_11167;
																										BgL_rz00_2862 =
																											BgL_rz00_11165;
																										goto
																											BgL_zc3z04anonymousza32714ze3z87_2864;
																									}
																								}
																							}
																					}
																				}
																			}
																		}
																}
															else
																{
																	obj_t BgL_rz00_11168;

																	BgL_rz00_11168 = BgL_rz00_2862;
																	BgL_rz00_2904 = BgL_rz00_11168;
																	goto BgL_zc3z04anonymousza32743ze3z87_2905;
																}
														}
												}
										}
								}
							}
						}
				}
			}
		}

	}



/* error-too-short~0 */
	obj_t BGl_errorzd2toozd2shortze70ze7zz__unicodez00(obj_t BgL_strz00_7022,
		int BgL_lenz00_7021, obj_t BgL_rz00_2896)
	{
		{	/* Llib/unicode.scm 1436 */
			{	/* Llib/unicode.scm 1436 */
				obj_t BgL_arg2739z00_2898;

				{	/* Llib/unicode.scm 1436 */
					obj_t BgL_arg2740z00_2899;

					{	/* Llib/unicode.scm 1436 */
						long BgL_arg2741z00_2900;

						{	/* Llib/unicode.scm 1436 */
							long BgL_bz00_2902;

							BgL_bz00_2902 = ((long) CINT(BgL_rz00_2896) - 10L);
							if ((0L > BgL_bz00_2902))
								{	/* Llib/unicode.scm 1436 */
									BgL_arg2741z00_2900 = 0L;
								}
							else
								{	/* Llib/unicode.scm 1436 */
									BgL_arg2741z00_2900 = BgL_bz00_2902;
								}
						}
						BgL_arg2740z00_2899 =
							c_substring(BgL_strz00_7022, BgL_arg2741z00_2900,
							(long) (BgL_lenz00_7021));
					}
					BgL_arg2739z00_2898 = string_for_read(BgL_arg2740z00_2899);
				}
				return
					BGl_errorz00zz__errorz00(BGl_string3815z00zz__unicodez00,
					BGl_string3816z00zz__unicodez00, BgL_arg2739z00_2898);
			}
		}

	}



/* table->8bits~0 */
	obj_t BGl_tablezd2ze38bitsze70zd6zz__unicodez00(obj_t BgL_nstrz00_7026,
		obj_t BgL_tablez00_7025, obj_t BgL_strz00_7024, int BgL_lenz00_7023,
		obj_t BgL_subtablez00_2929, obj_t BgL_rz00_2930, long BgL_wz00_2931,
		long BgL_nz00_2932)
	{
		{	/* Llib/unicode.scm 1463 */
			{
				obj_t BgL_rz00_2917;

				{	/* Llib/unicode.scm 1451 */
					obj_t BgL_g1060z00_2934;
					long BgL_g1061z00_2935;

					BgL_g1060z00_2934 =
						BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BINT(BgL_nz00_2932),
						BgL_tablez00_7025);
					BgL_g1061z00_2935 = ((long) CINT(BgL_rz00_2930) + 1L);
					{
						obj_t BgL_subtablez00_2937;
						long BgL_nrz00_2938;

						BgL_subtablez00_2937 = BgL_g1060z00_2934;
						BgL_nrz00_2938 = BgL_g1061z00_2935;
					BgL_zc3z04anonymousza32767ze3z87_2939:
						if (CBOOL(BgL_subtablez00_2937))
							{	/* Llib/unicode.scm 1456 */
								bool_t BgL_test4485z00_11184;

								{	/* Llib/unicode.scm 1456 */
									obj_t BgL_tmpz00_11185;

									BgL_tmpz00_11185 = CDR(((obj_t) BgL_subtablez00_2937));
									BgL_test4485z00_11184 = CHARP(BgL_tmpz00_11185);
								}
								if (BgL_test4485z00_11184)
									{	/* Llib/unicode.scm 1456 */
										{	/* Llib/unicode.scm 1457 */
											obj_t BgL_arg2772z00_2942;

											BgL_arg2772z00_2942 = CDR(((obj_t) BgL_subtablez00_2937));
											{	/* Llib/unicode.scm 1457 */
												unsigned char BgL_tmpz00_11191;

												BgL_tmpz00_11191 = CCHAR(BgL_arg2772z00_2942);
												STRING_SET(BgL_nstrz00_7026, BgL_wz00_2931,
													BgL_tmpz00_11191);
										}}
										return BINT(BgL_nrz00_2938);
									}
								else
									{	/* Llib/unicode.scm 1456 */
										if ((BgL_nrz00_2938 == (long) (BgL_lenz00_7023)))
											{	/* Llib/unicode.scm 1459 */
												return
													BGl_errorzd2toozd2shortze70ze7zz__unicodez00
													(BgL_strz00_7024, BgL_lenz00_7023, BgL_rz00_2930);
											}
										else
											{	/* Llib/unicode.scm 1462 */
												long BgL_ncz00_2944;

												BgL_ncz00_2944 =
													(STRING_REF(BgL_strz00_7024, BgL_nrz00_2938));
												{	/* Llib/unicode.scm 1463 */
													obj_t BgL_arg2774z00_2945;
													long BgL_arg2775z00_2946;

													BgL_arg2774z00_2945 =
														BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BINT
														(BgL_ncz00_2944),
														CDR(((obj_t) BgL_subtablez00_2937)));
													BgL_arg2775z00_2946 = (BgL_nrz00_2938 + 1L);
													{
														long BgL_nrz00_11207;
														obj_t BgL_subtablez00_11206;

														BgL_subtablez00_11206 = BgL_arg2774z00_2945;
														BgL_nrz00_11207 = BgL_arg2775z00_2946;
														BgL_nrz00_2938 = BgL_nrz00_11207;
														BgL_subtablez00_2937 = BgL_subtablez00_11206;
														goto BgL_zc3z04anonymousza32767ze3z87_2939;
													}
												}
											}
									}
							}
						else
							{	/* Llib/unicode.scm 1454 */
								BgL_rz00_2917 = BgL_rz00_2930;
								{	/* Llib/unicode.scm 1447 */
									obj_t BgL_arg2760z00_2919;
									obj_t BgL_arg2761z00_2920;

									{	/* Llib/unicode.scm 1447 */
										obj_t BgL_arg2762z00_2921;

										{	/* Ieee/fixnum.scm 978 */

											BgL_arg2762z00_2921 =
												BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(
												(long) CINT(BgL_rz00_2917), 10L);
										}
										BgL_arg2760z00_2919 =
											string_append(BGl_string3817z00zz__unicodez00,
											BgL_arg2762z00_2921);
									}
									{	/* Llib/unicode.scm 1448 */
										obj_t BgL_arg2763z00_2924;

										{	/* Llib/unicode.scm 1448 */
											int BgL_arg2764z00_2925;

											{	/* Llib/unicode.scm 1448 */
												long BgL_bz00_2927;

												BgL_bz00_2927 = ((long) CINT(BgL_rz00_2917) + 10L);
												if (((long) (BgL_lenz00_7023) < BgL_bz00_2927))
													{	/* Llib/unicode.scm 1448 */
														BgL_arg2764z00_2925 = BgL_lenz00_7023;
													}
												else
													{	/* Llib/unicode.scm 1448 */
														BgL_arg2764z00_2925 = (int) (BgL_bz00_2927);
											}}
											BgL_arg2763z00_2924 =
												c_substring(BgL_strz00_7024,
												(long) CINT(BgL_rz00_2917),
												(long) (BgL_arg2764z00_2925));
										}
										BgL_arg2761z00_2920 = string_for_read(BgL_arg2763z00_2924);
									}
									return
										BGl_errorz00zz__errorz00(BGl_string3815z00zz__unicodez00,
										BgL_arg2760z00_2919, BgL_arg2761z00_2920);
								}
							}
					}
				}
			}
		}

	}



/* utf8->8bits */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2ze38bitsz31zz__unicodez00(obj_t
		BgL_strz00_121, obj_t BgL_tablez00_122)
	{
		{	/* Llib/unicode.scm 1504 */
			{	/* Llib/unicode.scm 1505 */
				long BgL_lenz00_6438;

				BgL_lenz00_6438 = STRING_LENGTH(BgL_strz00_121);
				{	/* Llib/unicode.scm 1505 */
					long BgL_nlenz00_6439;

					BgL_nlenz00_6439 =
						BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_121,
						BgL_lenz00_6438);
					{	/* Llib/unicode.scm 1506 */

						if ((BgL_lenz00_6438 == BgL_nlenz00_6439))
							{	/* Llib/unicode.scm 1507 */
								return
									BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_strz00_121);
							}
						else
							{	/* Llib/unicode.scm 1507 */
								return
									BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
									(make_string_sans_fill(BgL_nlenz00_6439), BgL_strz00_121,
									(int) (BgL_lenz00_6438), BgL_tablez00_122);
		}}}}}

	}



/* &utf8->8bits */
	obj_t BGl_z62utf8zd2ze38bitsz53zz__unicodez00(obj_t BgL_envz00_6983,
		obj_t BgL_strz00_6984, obj_t BgL_tablez00_6985)
	{
		{	/* Llib/unicode.scm 1504 */
			{	/* Llib/unicode.scm 1505 */
				obj_t BgL_auxz00_11230;

				if (STRINGP(BgL_strz00_6984))
					{	/* Llib/unicode.scm 1505 */
						BgL_auxz00_11230 = BgL_strz00_6984;
					}
				else
					{
						obj_t BgL_auxz00_11233;

						BgL_auxz00_11233 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(59828L), BGl_string3818z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_6984);
						FAILURE(BgL_auxz00_11233, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2ze38bitsz31zz__unicodez00(BgL_auxz00_11230,
					BgL_tablez00_6985);
			}
		}

	}



/* utf8->8bits! */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2ze38bitsz12z23zz__unicodez00(obj_t
		BgL_strz00_123, obj_t BgL_tablez00_124)
	{
		{	/* Llib/unicode.scm 1514 */
			{	/* Llib/unicode.scm 1515 */
				long BgL_lenz00_6445;

				BgL_lenz00_6445 = STRING_LENGTH(BgL_strz00_123);
				{	/* Llib/unicode.scm 1515 */
					long BgL_nlenz00_6446;

					BgL_nlenz00_6446 =
						BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_123,
						BgL_lenz00_6445);
					{	/* Llib/unicode.scm 1516 */

						if ((BgL_lenz00_6445 == BgL_nlenz00_6446))
							{	/* Llib/unicode.scm 1517 */
								return BgL_strz00_123;
							}
						else
							{	/* Llib/unicode.scm 1517 */
								return
									BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
									(make_string_sans_fill(BgL_nlenz00_6446), BgL_strz00_123,
									(int) (BgL_lenz00_6445), BgL_tablez00_124);
		}}}}}

	}



/* &utf8->8bits! */
	obj_t BGl_z62utf8zd2ze38bitsz12z41zz__unicodez00(obj_t BgL_envz00_6986,
		obj_t BgL_strz00_6987, obj_t BgL_tablez00_6988)
	{
		{	/* Llib/unicode.scm 1514 */
			{	/* Llib/unicode.scm 1515 */
				obj_t BgL_auxz00_11245;

				if (STRINGP(BgL_strz00_6987))
					{	/* Llib/unicode.scm 1515 */
						BgL_auxz00_11245 = BgL_strz00_6987;
					}
				else
					{
						obj_t BgL_auxz00_11248;

						BgL_auxz00_11248 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(60274L), BGl_string3819z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_6987);
						FAILURE(BgL_auxz00_11248, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2ze38bitsz12z23zz__unicodez00(BgL_auxz00_11245,
					BgL_tablez00_6988);
			}
		}

	}



/* utf8->iso-latin */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2ze3isozd2latinze3zz__unicodez00(obj_t
		BgL_strz00_125)
	{
		{	/* Llib/unicode.scm 1524 */
			{	/* Llib/unicode.scm 1525 */
				obj_t BgL_res3383z00_6461;

				{	/* Llib/unicode.scm 1525 */
					obj_t BgL_tablez00_6453;

					BgL_tablez00_6453 = BGl_list3673z00zz__unicodez00;
					{	/* Llib/unicode.scm 1505 */
						long BgL_lenz00_6454;

						BgL_lenz00_6454 = STRING_LENGTH(BgL_strz00_125);
						{	/* Llib/unicode.scm 1505 */
							long BgL_nlenz00_6455;

							BgL_nlenz00_6455 =
								BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_125,
								BgL_lenz00_6454);
							{	/* Llib/unicode.scm 1506 */

								if ((BgL_lenz00_6454 == BgL_nlenz00_6455))
									{	/* Llib/unicode.scm 1507 */
										BgL_res3383z00_6461 =
											BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_strz00_125);
									}
								else
									{	/* Llib/unicode.scm 1507 */
										BgL_res3383z00_6461 =
											BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6455), BgL_strz00_125,
											(int) (BgL_lenz00_6454), BgL_tablez00_6453);
				}}}}}
				return BgL_res3383z00_6461;
			}
		}

	}



/* &utf8->iso-latin */
	obj_t BGl_z62utf8zd2ze3isozd2latinz81zz__unicodez00(obj_t BgL_envz00_6989,
		obj_t BgL_strz00_6990)
	{
		{	/* Llib/unicode.scm 1524 */
			{	/* Llib/unicode.scm 1525 */
				obj_t BgL_auxz00_11261;

				if (STRINGP(BgL_strz00_6990))
					{	/* Llib/unicode.scm 1525 */
						BgL_auxz00_11261 = BgL_strz00_6990;
					}
				else
					{
						obj_t BgL_auxz00_11264;

						BgL_auxz00_11264 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(60703L), BGl_string3820z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_6990);
						FAILURE(BgL_auxz00_11264, BFALSE, BFALSE);
					}
				return BGl_utf8zd2ze3isozd2latinze3zz__unicodez00(BgL_auxz00_11261);
			}
		}

	}



/* utf8->iso-latin! */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2ze3isozd2latinz12zf1zz__unicodez00(obj_t
		BgL_strz00_126)
	{
		{	/* Llib/unicode.scm 1530 */
			{	/* Llib/unicode.scm 1531 */
				obj_t BgL_res3384z00_6471;

				{	/* Llib/unicode.scm 1531 */
					obj_t BgL_tablez00_6463;

					BgL_tablez00_6463 = BGl_list3673z00zz__unicodez00;
					{	/* Llib/unicode.scm 1515 */
						long BgL_lenz00_6464;

						BgL_lenz00_6464 = STRING_LENGTH(BgL_strz00_126);
						{	/* Llib/unicode.scm 1515 */
							long BgL_nlenz00_6465;

							BgL_nlenz00_6465 =
								BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_126,
								BgL_lenz00_6464);
							{	/* Llib/unicode.scm 1516 */

								if ((BgL_lenz00_6464 == BgL_nlenz00_6465))
									{	/* Llib/unicode.scm 1517 */
										BgL_res3384z00_6471 = BgL_strz00_126;
									}
								else
									{	/* Llib/unicode.scm 1517 */
										BgL_res3384z00_6471 =
											BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6465), BgL_strz00_126,
											(int) (BgL_lenz00_6464), BgL_tablez00_6463);
				}}}}}
				return BgL_res3384z00_6471;
			}
		}

	}



/* &utf8->iso-latin! */
	obj_t BGl_z62utf8zd2ze3isozd2latinz12z93zz__unicodez00(obj_t BgL_envz00_6991,
		obj_t BgL_strz00_6992)
	{
		{	/* Llib/unicode.scm 1530 */
			{	/* Llib/unicode.scm 1531 */
				obj_t BgL_auxz00_11276;

				if (STRINGP(BgL_strz00_6992))
					{	/* Llib/unicode.scm 1531 */
						BgL_auxz00_11276 = BgL_strz00_6992;
					}
				else
					{
						obj_t BgL_auxz00_11279;

						BgL_auxz00_11279 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(60989L), BGl_string3821z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_6992);
						FAILURE(BgL_auxz00_11279, BFALSE, BFALSE);
					}
				return BGl_utf8zd2ze3isozd2latinz12zf1zz__unicodez00(BgL_auxz00_11276);
			}
		}

	}



/* utf8->iso-latin-15 */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2ze3isozd2latinzd215z31zz__unicodez00(obj_t
		BgL_strz00_127)
	{
		{	/* Llib/unicode.scm 1536 */
			{	/* Llib/unicode.scm 1537 */
				obj_t BgL_res3385z00_6481;

				{	/* Llib/unicode.scm 1537 */
					obj_t BgL_tablez00_6473;

					BgL_tablez00_6473 = BGl_list3700z00zz__unicodez00;
					{	/* Llib/unicode.scm 1505 */
						long BgL_lenz00_6474;

						BgL_lenz00_6474 = STRING_LENGTH(BgL_strz00_127);
						{	/* Llib/unicode.scm 1505 */
							long BgL_nlenz00_6475;

							BgL_nlenz00_6475 =
								BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_127,
								BgL_lenz00_6474);
							{	/* Llib/unicode.scm 1506 */

								if ((BgL_lenz00_6474 == BgL_nlenz00_6475))
									{	/* Llib/unicode.scm 1507 */
										BgL_res3385z00_6481 =
											BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_strz00_127);
									}
								else
									{	/* Llib/unicode.scm 1507 */
										BgL_res3385z00_6481 =
											BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6475), BgL_strz00_127,
											(int) (BgL_lenz00_6474), BgL_tablez00_6473);
				}}}}}
				return BgL_res3385z00_6481;
			}
		}

	}



/* &utf8->iso-latin-15 */
	obj_t BGl_z62utf8zd2ze3isozd2latinzd215z53zz__unicodez00(obj_t
		BgL_envz00_6993, obj_t BgL_strz00_6994)
	{
		{	/* Llib/unicode.scm 1536 */
			{	/* Llib/unicode.scm 1537 */
				obj_t BgL_auxz00_11292;

				if (STRINGP(BgL_strz00_6994))
					{	/* Llib/unicode.scm 1537 */
						BgL_auxz00_11292 = BgL_strz00_6994;
					}
				else
					{
						obj_t BgL_auxz00_11295;

						BgL_auxz00_11295 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(61278L), BGl_string3822z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_6994);
						FAILURE(BgL_auxz00_11295, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2ze3isozd2latinzd215z31zz__unicodez00(BgL_auxz00_11292);
			}
		}

	}



/* utf8->iso-latin-15! */
	BGL_EXPORTED_DEF obj_t
		BGl_utf8zd2ze3isozd2latinzd215z12z23zz__unicodez00(obj_t BgL_strz00_128)
	{
		{	/* Llib/unicode.scm 1542 */
			{	/* Llib/unicode.scm 1543 */
				obj_t BgL_res3386z00_6491;

				{	/* Llib/unicode.scm 1543 */
					obj_t BgL_tablez00_6483;

					BgL_tablez00_6483 = BGl_list3700z00zz__unicodez00;
					{	/* Llib/unicode.scm 1515 */
						long BgL_lenz00_6484;

						BgL_lenz00_6484 = STRING_LENGTH(BgL_strz00_128);
						{	/* Llib/unicode.scm 1515 */
							long BgL_nlenz00_6485;

							BgL_nlenz00_6485 =
								BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_128,
								BgL_lenz00_6484);
							{	/* Llib/unicode.scm 1516 */

								if ((BgL_lenz00_6484 == BgL_nlenz00_6485))
									{	/* Llib/unicode.scm 1517 */
										BgL_res3386z00_6491 = BgL_strz00_128;
									}
								else
									{	/* Llib/unicode.scm 1517 */
										BgL_res3386z00_6491 =
											BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6485), BgL_strz00_128,
											(int) (BgL_lenz00_6484), BgL_tablez00_6483);
				}}}}}
				return BgL_res3386z00_6491;
			}
		}

	}



/* &utf8->iso-latin-15! */
	obj_t BGl_z62utf8zd2ze3isozd2latinzd215z12z41zz__unicodez00(obj_t
		BgL_envz00_6995, obj_t BgL_strz00_6996)
	{
		{	/* Llib/unicode.scm 1542 */
			{	/* Llib/unicode.scm 1543 */
				obj_t BgL_auxz00_11307;

				if (STRINGP(BgL_strz00_6996))
					{	/* Llib/unicode.scm 1543 */
						BgL_auxz00_11307 = BgL_strz00_6996;
					}
				else
					{
						obj_t BgL_auxz00_11310;

						BgL_auxz00_11310 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(61576L), BGl_string3823z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_6996);
						FAILURE(BgL_auxz00_11310, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2ze3isozd2latinzd215z12z23zz__unicodez00(BgL_auxz00_11307);
			}
		}

	}



/* utf8->cp1252 */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2ze3cp1252z31zz__unicodez00(obj_t
		BgL_strz00_129)
	{
		{	/* Llib/unicode.scm 1548 */
			if (CBOOL(BGl_cp1252zd2invzd2zz__unicodez00))
				{	/* Llib/unicode.scm 1549 */
					BFALSE;
				}
			else
				{	/* Llib/unicode.scm 1549 */
					BGl_cp1252zd2invzd2zz__unicodez00 =
						BGl_inversezd2utf8zd2tablez00zz__unicodez00
						(BGl_vector3712z00zz__unicodez00);
				}
			{	/* Llib/unicode.scm 1550 */
				obj_t BgL_res3387z00_6501;

				{	/* Llib/unicode.scm 1550 */
					obj_t BgL_tablez00_6493;

					BgL_tablez00_6493 = BGl_cp1252zd2invzd2zz__unicodez00;
					{	/* Llib/unicode.scm 1505 */
						long BgL_lenz00_6494;

						BgL_lenz00_6494 = STRING_LENGTH(BgL_strz00_129);
						{	/* Llib/unicode.scm 1505 */
							long BgL_nlenz00_6495;

							BgL_nlenz00_6495 =
								BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_129,
								BgL_lenz00_6494);
							{	/* Llib/unicode.scm 1506 */

								if ((BgL_lenz00_6494 == BgL_nlenz00_6495))
									{	/* Llib/unicode.scm 1507 */
										BgL_res3387z00_6501 =
											BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_strz00_129);
									}
								else
									{	/* Llib/unicode.scm 1507 */
										BgL_res3387z00_6501 =
											BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6495), BgL_strz00_129,
											(int) (BgL_lenz00_6494), BgL_tablez00_6493);
				}}}}}
				return BgL_res3387z00_6501;
			}
		}

	}



/* &utf8->cp1252 */
	obj_t BGl_z62utf8zd2ze3cp1252z53zz__unicodez00(obj_t BgL_envz00_6997,
		obj_t BgL_strz00_6998)
	{
		{	/* Llib/unicode.scm 1548 */
			{	/* Llib/unicode.scm 1549 */
				obj_t BgL_auxz00_11326;

				if (STRINGP(BgL_strz00_6998))
					{	/* Llib/unicode.scm 1549 */
						BgL_auxz00_11326 = BgL_strz00_6998;
					}
				else
					{
						obj_t BgL_auxz00_11329;

						BgL_auxz00_11329 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(61932L), BGl_string3824z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_6998);
						FAILURE(BgL_auxz00_11329, BFALSE, BFALSE);
					}
				return BGl_utf8zd2ze3cp1252z31zz__unicodez00(BgL_auxz00_11326);
			}
		}

	}



/* utf8->cp1252! */
	BGL_EXPORTED_DEF obj_t BGl_utf8zd2ze3cp1252z12z23zz__unicodez00(obj_t
		BgL_strz00_130)
	{
		{	/* Llib/unicode.scm 1555 */
			if (CBOOL(BGl_cp1252zd2invzd2zz__unicodez00))
				{	/* Llib/unicode.scm 1556 */
					BFALSE;
				}
			else
				{	/* Llib/unicode.scm 1556 */
					BGl_cp1252zd2invzd2zz__unicodez00 =
						BGl_inversezd2utf8zd2tablez00zz__unicodez00
						(BGl_vector3712z00zz__unicodez00);
				}
			{	/* Llib/unicode.scm 1557 */
				obj_t BgL_res3388z00_6511;

				{	/* Llib/unicode.scm 1557 */
					obj_t BgL_tablez00_6503;

					BgL_tablez00_6503 = BGl_cp1252zd2invzd2zz__unicodez00;
					{	/* Llib/unicode.scm 1515 */
						long BgL_lenz00_6504;

						BgL_lenz00_6504 = STRING_LENGTH(BgL_strz00_130);
						{	/* Llib/unicode.scm 1515 */
							long BgL_nlenz00_6505;

							BgL_nlenz00_6505 =
								BGl_utf8zd2ze38bitszd2lengthze3zz__unicodez00(BgL_strz00_130,
								BgL_lenz00_6504);
							{	/* Llib/unicode.scm 1516 */

								if ((BgL_lenz00_6504 == BgL_nlenz00_6505))
									{	/* Llib/unicode.scm 1517 */
										BgL_res3388z00_6511 = BgL_strz00_130;
									}
								else
									{	/* Llib/unicode.scm 1517 */
										BgL_res3388z00_6511 =
											BGl_utf8zd2ze38bitszd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6505), BgL_strz00_130,
											(int) (BgL_lenz00_6504), BgL_tablez00_6503);
				}}}}}
				return BgL_res3388z00_6511;
			}
		}

	}



/* &utf8->cp1252! */
	obj_t BGl_z62utf8zd2ze3cp1252z12z41zz__unicodez00(obj_t BgL_envz00_6999,
		obj_t BgL_strz00_7000)
	{
		{	/* Llib/unicode.scm 1555 */
			{	/* Llib/unicode.scm 1556 */
				obj_t BgL_auxz00_11344;

				if (STRINGP(BgL_strz00_7000))
					{	/* Llib/unicode.scm 1556 */
						BgL_auxz00_11344 = BgL_strz00_7000;
					}
				else
					{
						obj_t BgL_auxz00_11347;

						BgL_auxz00_11347 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(62285L), BGl_string3825z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_7000);
						FAILURE(BgL_auxz00_11347, BFALSE, BFALSE);
					}
				return BGl_utf8zd2ze3cp1252z12z23zz__unicodez00(BgL_auxz00_11344);
			}
		}

	}



/* 8bits->utf8-length */
	long BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(obj_t BgL_strz00_131,
		long BgL_lenz00_132, obj_t BgL_tablez00_133)
	{
		{	/* Llib/unicode.scm 1562 */
			{
				long BgL_cz00_2980;

				{
					long BgL_siza7eza7_2965;
					long BgL_iz00_2966;

					BgL_siza7eza7_2965 = 0L;
					BgL_iz00_2966 = 0L;
				BgL_zc3z04anonymousza32786ze3z87_2967:
					if ((BgL_iz00_2966 == BgL_lenz00_132))
						{	/* Llib/unicode.scm 1572 */
							return BgL_siza7eza7_2965;
						}
					else
						{	/* Llib/unicode.scm 1574 */
							long BgL_cz00_2969;

							BgL_cz00_2969 = (STRING_REF(BgL_strz00_131, BgL_iz00_2966));
							if ((BgL_cz00_2969 >= 128L))
								{	/* Llib/unicode.scm 1575 */
									if (CBOOL(BgL_tablez00_133))
										{
											long BgL_iz00_11372;
											long BgL_siza7eza7_11360;

											{	/* Llib/unicode.scm 1577 */
												long BgL_tmpz00_11361;

												BgL_cz00_2980 = BgL_cz00_2969;
												{	/* Llib/unicode.scm 1565 */
													long BgL_vz00_2982;

													BgL_vz00_2982 = (BgL_cz00_2980 - 128L);
													if (
														(BgL_vz00_2982 <
															VECTOR_LENGTH(((obj_t) BgL_tablez00_133))))
														{	/* Llib/unicode.scm 1567 */
															obj_t BgL_arg2825z00_2985;

															BgL_arg2825z00_2985 =
																VECTOR_REF(
																((obj_t) BgL_tablez00_133), BgL_vz00_2982);
															BgL_tmpz00_11361 =
																STRING_LENGTH(((obj_t) BgL_arg2825z00_2985));
														}
													else
														{	/* Llib/unicode.scm 1566 */
															BgL_tmpz00_11361 = 2L;
														}
												}
												BgL_siza7eza7_11360 =
													(BgL_siza7eza7_2965 + BgL_tmpz00_11361);
											}
											BgL_iz00_11372 = (BgL_iz00_2966 + 1L);
											BgL_iz00_2966 = BgL_iz00_11372;
											BgL_siza7eza7_2965 = BgL_siza7eza7_11360;
											goto BgL_zc3z04anonymousza32786ze3z87_2967;
										}
									else
										{
											long BgL_iz00_11376;
											long BgL_siza7eza7_11374;

											BgL_siza7eza7_11374 = (BgL_siza7eza7_2965 + 2L);
											BgL_iz00_11376 = (BgL_iz00_2966 + 1L);
											BgL_iz00_2966 = BgL_iz00_11376;
											BgL_siza7eza7_2965 = BgL_siza7eza7_11374;
											goto BgL_zc3z04anonymousza32786ze3z87_2967;
										}
								}
							else
								{
									long BgL_iz00_11380;
									long BgL_siza7eza7_11378;

									BgL_siza7eza7_11378 = (BgL_siza7eza7_2965 + 1L);
									BgL_iz00_11380 = (BgL_iz00_2966 + 1L);
									BgL_iz00_2966 = BgL_iz00_11380;
									BgL_siza7eza7_2965 = BgL_siza7eza7_11378;
									goto BgL_zc3z04anonymousza32786ze3z87_2967;
								}
						}
				}
			}
		}

	}



/* 8bits->utf8-fill! */
	obj_t BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00(obj_t BgL_nstrz00_134,
		obj_t BgL_strz00_135, long BgL_lenz00_136, obj_t BgL_tablez00_137)
	{
		{	/* Llib/unicode.scm 1584 */
			{
				long BgL_rz00_2989;
				long BgL_wz00_2990;

				BgL_rz00_2989 = 0L;
				BgL_wz00_2990 = 0L;
			BgL_zc3z04anonymousza32827ze3z87_2991:
				if ((BgL_rz00_2989 == BgL_lenz00_136))
					{	/* Llib/unicode.scm 1587 */
						return BgL_nstrz00_134;
					}
				else
					{	/* Llib/unicode.scm 1589 */
						long BgL_cz00_2993;

						BgL_cz00_2993 = (STRING_REF(BgL_strz00_135, BgL_rz00_2989));
						if ((BgL_cz00_2993 >= 192L))
							{	/* Llib/unicode.scm 1591 */
								STRING_SET(BgL_nstrz00_134, BgL_wz00_2990,
									((unsigned char) 195));
								{	/* Llib/unicode.scm 1593 */
									unsigned char BgL_auxz00_11391;
									long BgL_tmpz00_11389;

									BgL_auxz00_11391 = ((BgL_cz00_2993 - 64L));
									BgL_tmpz00_11389 = (BgL_wz00_2990 + 1L);
									STRING_SET(BgL_nstrz00_134, BgL_tmpz00_11389,
										BgL_auxz00_11391);
								}
								{
									long BgL_wz00_11397;
									long BgL_rz00_11395;

									BgL_rz00_11395 = (BgL_rz00_2989 + 1L);
									BgL_wz00_11397 = (BgL_wz00_2990 + 2L);
									BgL_wz00_2990 = BgL_wz00_11397;
									BgL_rz00_2989 = BgL_rz00_11395;
									goto BgL_zc3z04anonymousza32827ze3z87_2991;
								}
							}
						else
							{	/* Llib/unicode.scm 1591 */
								if ((BgL_cz00_2993 >= 128L))
									{	/* Llib/unicode.scm 1595 */
										if (CBOOL(BgL_tablez00_137))
											{	/* Llib/unicode.scm 1597 */
												long BgL_vz00_3001;

												BgL_vz00_3001 = (BgL_cz00_2993 - 128L);
												if (
													(BgL_vz00_3001 <
														VECTOR_LENGTH(((obj_t) BgL_tablez00_137))))
													{	/* Llib/unicode.scm 1599 */
														obj_t BgL_encz00_3004;

														BgL_encz00_3004 =
															VECTOR_REF(
															((obj_t) BgL_tablez00_137), BgL_vz00_3001);
														{	/* Llib/unicode.scm 1599 */
															long BgL_lenz00_3005;

															BgL_lenz00_3005 =
																STRING_LENGTH(((obj_t) BgL_encz00_3004));
															{	/* Llib/unicode.scm 1600 */

																blit_string(
																	((obj_t) BgL_encz00_3004), 0L,
																	BgL_nstrz00_134, BgL_wz00_2990,
																	BgL_lenz00_3005);
																{
																	long BgL_wz00_11416;
																	long BgL_rz00_11414;

																	BgL_rz00_11414 = (BgL_rz00_2989 + 1L);
																	BgL_wz00_11416 =
																		(BgL_wz00_2990 + BgL_lenz00_3005);
																	BgL_wz00_2990 = BgL_wz00_11416;
																	BgL_rz00_2989 = BgL_rz00_11414;
																	goto BgL_zc3z04anonymousza32827ze3z87_2991;
																}
															}
														}
													}
												else
													{	/* Llib/unicode.scm 1598 */
														STRING_SET(BgL_nstrz00_134, BgL_wz00_2990,
															((unsigned char) 194));
														{	/* Llib/unicode.scm 1605 */
															unsigned char BgL_auxz00_11421;
															long BgL_tmpz00_11419;

															BgL_auxz00_11421 = (BgL_cz00_2993);
															BgL_tmpz00_11419 = (BgL_wz00_2990 + 1L);
															STRING_SET(BgL_nstrz00_134, BgL_tmpz00_11419,
																BgL_auxz00_11421);
														}
														{
															long BgL_wz00_11426;
															long BgL_rz00_11424;

															BgL_rz00_11424 = (BgL_rz00_2989 + 1L);
															BgL_wz00_11426 = (BgL_wz00_2990 + 2L);
															BgL_wz00_2990 = BgL_wz00_11426;
															BgL_rz00_2989 = BgL_rz00_11424;
															goto BgL_zc3z04anonymousza32827ze3z87_2991;
														}
													}
											}
										else
											{	/* Llib/unicode.scm 1596 */
												STRING_SET(BgL_nstrz00_134, BgL_wz00_2990,
													((unsigned char) 194));
												{	/* Llib/unicode.scm 1609 */
													unsigned char BgL_auxz00_11431;
													long BgL_tmpz00_11429;

													BgL_auxz00_11431 = (BgL_cz00_2993);
													BgL_tmpz00_11429 = (BgL_wz00_2990 + 1L);
													STRING_SET(BgL_nstrz00_134, BgL_tmpz00_11429,
														BgL_auxz00_11431);
												}
												{
													long BgL_wz00_11436;
													long BgL_rz00_11434;

													BgL_rz00_11434 = (BgL_rz00_2989 + 1L);
													BgL_wz00_11436 = (BgL_wz00_2990 + 2L);
													BgL_wz00_2990 = BgL_wz00_11436;
													BgL_rz00_2989 = BgL_rz00_11434;
													goto BgL_zc3z04anonymousza32827ze3z87_2991;
												}
											}
									}
								else
									{	/* Llib/unicode.scm 1595 */
										{	/* Llib/unicode.scm 1612 */
											unsigned char BgL_tmpz00_11438;

											BgL_tmpz00_11438 = (BgL_cz00_2993);
											STRING_SET(BgL_nstrz00_134, BgL_wz00_2990,
												BgL_tmpz00_11438);
										}
										{
											long BgL_wz00_11443;
											long BgL_rz00_11441;

											BgL_rz00_11441 = (BgL_rz00_2989 + 1L);
											BgL_wz00_11443 = (BgL_wz00_2990 + 1L);
											BgL_wz00_2990 = BgL_wz00_11443;
											BgL_rz00_2989 = BgL_rz00_11441;
											goto BgL_zc3z04anonymousza32827ze3z87_2991;
										}
									}
							}
					}
			}
		}

	}



/* 8bits->utf8 */
	BGL_EXPORTED_DEF obj_t BGl_8bitszd2ze3utf8z31zz__unicodez00(obj_t
		BgL_strz00_138, obj_t BgL_tablez00_139)
	{
		{	/* Llib/unicode.scm 1618 */
			{	/* Llib/unicode.scm 1619 */
				long BgL_lenz00_6590;

				BgL_lenz00_6590 = STRING_LENGTH(BgL_strz00_138);
				{	/* Llib/unicode.scm 1619 */
					long BgL_nlenz00_6591;

					BgL_nlenz00_6591 =
						BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(BgL_strz00_138,
						BgL_lenz00_6590, BgL_tablez00_139);
					{	/* Llib/unicode.scm 1620 */

						if ((BgL_lenz00_6590 == BgL_nlenz00_6591))
							{	/* Llib/unicode.scm 1621 */
								return
									BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_strz00_138);
							}
						else
							{	/* Llib/unicode.scm 1621 */
								return
									BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00
									(make_string_sans_fill(BgL_nlenz00_6591), BgL_strz00_138,
									BgL_lenz00_6590, BgL_tablez00_139);
							}
					}
				}
			}
		}

	}



/* &8bits->utf8 */
	obj_t BGl_z628bitszd2ze3utf8z53zz__unicodez00(obj_t BgL_envz00_7001,
		obj_t BgL_strz00_7002, obj_t BgL_tablez00_7003)
	{
		{	/* Llib/unicode.scm 1618 */
			{	/* Llib/unicode.scm 1619 */
				obj_t BgL_auxz00_11452;

				if (STRINGP(BgL_strz00_7002))
					{	/* Llib/unicode.scm 1619 */
						BgL_auxz00_11452 = BgL_strz00_7002;
					}
				else
					{
						obj_t BgL_auxz00_11455;

						BgL_auxz00_11455 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(64506L), BGl_string3826z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_7002);
						FAILURE(BgL_auxz00_11455, BFALSE, BFALSE);
					}
				return
					BGl_8bitszd2ze3utf8z31zz__unicodez00(BgL_auxz00_11452,
					BgL_tablez00_7003);
			}
		}

	}



/* 8bits->utf8! */
	BGL_EXPORTED_DEF obj_t BGl_8bitszd2ze3utf8z12z23zz__unicodez00(obj_t
		BgL_strz00_140, obj_t BgL_tablez00_141)
	{
		{	/* Llib/unicode.scm 1628 */
			{	/* Llib/unicode.scm 1629 */
				long BgL_lenz00_6597;

				BgL_lenz00_6597 = STRING_LENGTH(BgL_strz00_140);
				{	/* Llib/unicode.scm 1629 */
					long BgL_nlenz00_6598;

					BgL_nlenz00_6598 =
						BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(BgL_strz00_140,
						BgL_lenz00_6597, BgL_tablez00_141);
					{	/* Llib/unicode.scm 1630 */

						if ((BgL_lenz00_6597 == BgL_nlenz00_6598))
							{	/* Llib/unicode.scm 1631 */
								return BgL_strz00_140;
							}
						else
							{	/* Llib/unicode.scm 1631 */
								return
									BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00
									(make_string_sans_fill(BgL_nlenz00_6598), BgL_strz00_140,
									BgL_lenz00_6597, BgL_tablez00_141);
							}
					}
				}
			}
		}

	}



/* &8bits->utf8! */
	obj_t BGl_z628bitszd2ze3utf8z12z41zz__unicodez00(obj_t BgL_envz00_7004,
		obj_t BgL_strz00_7005, obj_t BgL_tablez00_7006)
	{
		{	/* Llib/unicode.scm 1628 */
			{	/* Llib/unicode.scm 1629 */
				obj_t BgL_auxz00_11466;

				if (STRINGP(BgL_strz00_7005))
					{	/* Llib/unicode.scm 1629 */
						BgL_auxz00_11466 = BgL_strz00_7005;
					}
				else
					{
						obj_t BgL_auxz00_11469;

						BgL_auxz00_11469 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(64958L), BGl_string3827z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_7005);
						FAILURE(BgL_auxz00_11469, BFALSE, BFALSE);
					}
				return
					BGl_8bitszd2ze3utf8z12z23zz__unicodez00(BgL_auxz00_11466,
					BgL_tablez00_7006);
			}
		}

	}



/* iso-latin->utf8 */
	BGL_EXPORTED_DEF obj_t BGl_isozd2latinzd2ze3utf8ze3zz__unicodez00(obj_t
		BgL_strz00_142)
	{
		{	/* Llib/unicode.scm 1638 */
			{	/* Llib/unicode.scm 1639 */
				obj_t BgL_res3389z00_6612;

				{	/* Llib/unicode.scm 1619 */
					long BgL_lenz00_6605;

					BgL_lenz00_6605 = STRING_LENGTH(BgL_strz00_142);
					{	/* Llib/unicode.scm 1619 */
						long BgL_nlenz00_6606;

						BgL_nlenz00_6606 =
							BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(BgL_strz00_142,
							BgL_lenz00_6605, BFALSE);
						{	/* Llib/unicode.scm 1620 */

							if ((BgL_lenz00_6605 == BgL_nlenz00_6606))
								{	/* Llib/unicode.scm 1621 */
									BgL_res3389z00_6612 =
										BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_strz00_142);
								}
							else
								{	/* Llib/unicode.scm 1621 */
									BgL_res3389z00_6612 =
										BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00
										(make_string_sans_fill(BgL_nlenz00_6606), BgL_strz00_142,
										BgL_lenz00_6605, BFALSE);
								}
						}
					}
				}
				return BgL_res3389z00_6612;
			}
		}

	}



/* &iso-latin->utf8 */
	obj_t BGl_z62isozd2latinzd2ze3utf8z81zz__unicodez00(obj_t BgL_envz00_7007,
		obj_t BgL_strz00_7008)
	{
		{	/* Llib/unicode.scm 1638 */
			{	/* Llib/unicode.scm 1639 */
				obj_t BgL_auxz00_11481;

				if (STRINGP(BgL_strz00_7008))
					{	/* Llib/unicode.scm 1639 */
						BgL_auxz00_11481 = BgL_strz00_7008;
					}
				else
					{
						obj_t BgL_auxz00_11484;

						BgL_auxz00_11484 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(65393L), BGl_string3828z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_7008);
						FAILURE(BgL_auxz00_11484, BFALSE, BFALSE);
					}
				return BGl_isozd2latinzd2ze3utf8ze3zz__unicodez00(BgL_auxz00_11481);
			}
		}

	}



/* iso-latin->utf8! */
	BGL_EXPORTED_DEF obj_t BGl_isozd2latinzd2ze3utf8z12zf1zz__unicodez00(obj_t
		BgL_strz00_143)
	{
		{	/* Llib/unicode.scm 1644 */
			{	/* Llib/unicode.scm 1645 */
				obj_t BgL_res3390z00_6621;

				{	/* Llib/unicode.scm 1629 */
					long BgL_lenz00_6614;

					BgL_lenz00_6614 = STRING_LENGTH(BgL_strz00_143);
					{	/* Llib/unicode.scm 1629 */
						long BgL_nlenz00_6615;

						BgL_nlenz00_6615 =
							BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(BgL_strz00_143,
							BgL_lenz00_6614, BFALSE);
						{	/* Llib/unicode.scm 1630 */

							if ((BgL_lenz00_6614 == BgL_nlenz00_6615))
								{	/* Llib/unicode.scm 1631 */
									BgL_res3390z00_6621 = BgL_strz00_143;
								}
							else
								{	/* Llib/unicode.scm 1631 */
									BgL_res3390z00_6621 =
										BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00
										(make_string_sans_fill(BgL_nlenz00_6615), BgL_strz00_143,
										BgL_lenz00_6614, BFALSE);
								}
						}
					}
				}
				return BgL_res3390z00_6621;
			}
		}

	}



/* &iso-latin->utf8! */
	obj_t BGl_z62isozd2latinzd2ze3utf8z12z93zz__unicodez00(obj_t BgL_envz00_7009,
		obj_t BgL_strz00_7010)
	{
		{	/* Llib/unicode.scm 1644 */
			{	/* Llib/unicode.scm 1645 */
				obj_t BgL_auxz00_11495;

				if (STRINGP(BgL_strz00_7010))
					{	/* Llib/unicode.scm 1645 */
						BgL_auxz00_11495 = BgL_strz00_7010;
					}
				else
					{
						obj_t BgL_auxz00_11498;

						BgL_auxz00_11498 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(65675L), BGl_string3829z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_7010);
						FAILURE(BgL_auxz00_11498, BFALSE, BFALSE);
					}
				return BGl_isozd2latinzd2ze3utf8z12zf1zz__unicodez00(BgL_auxz00_11495);
			}
		}

	}



/* cp1252->utf8 */
	BGL_EXPORTED_DEF obj_t BGl_cp1252zd2ze3utf8z31zz__unicodez00(obj_t
		BgL_strz00_144)
	{
		{	/* Llib/unicode.scm 1650 */
			{	/* Llib/unicode.scm 1651 */
				obj_t BgL_res3391z00_6631;

				{	/* Llib/unicode.scm 1651 */
					obj_t BgL_tablez00_6623;

					BgL_tablez00_6623 = BGl_vector3712z00zz__unicodez00;
					{	/* Llib/unicode.scm 1619 */
						long BgL_lenz00_6624;

						BgL_lenz00_6624 = STRING_LENGTH(BgL_strz00_144);
						{	/* Llib/unicode.scm 1619 */
							long BgL_nlenz00_6625;

							BgL_nlenz00_6625 =
								BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(BgL_strz00_144,
								BgL_lenz00_6624, BgL_tablez00_6623);
							{	/* Llib/unicode.scm 1620 */

								if ((BgL_lenz00_6624 == BgL_nlenz00_6625))
									{	/* Llib/unicode.scm 1621 */
										BgL_res3391z00_6631 =
											BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_strz00_144);
									}
								else
									{	/* Llib/unicode.scm 1621 */
										BgL_res3391z00_6631 =
											BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6625), BgL_strz00_144,
											BgL_lenz00_6624, BgL_tablez00_6623);
									}
							}
						}
					}
				}
				return BgL_res3391z00_6631;
			}
		}

	}



/* &cp1252->utf8 */
	obj_t BGl_z62cp1252zd2ze3utf8z53zz__unicodez00(obj_t BgL_envz00_7011,
		obj_t BgL_strz00_7012)
	{
		{	/* Llib/unicode.scm 1650 */
			{	/* Llib/unicode.scm 1651 */
				obj_t BgL_auxz00_11510;

				if (STRINGP(BgL_strz00_7012))
					{	/* Llib/unicode.scm 1651 */
						BgL_auxz00_11510 = BgL_strz00_7012;
					}
				else
					{
						obj_t BgL_auxz00_11513;

						BgL_auxz00_11513 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(65951L), BGl_string3830z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_7012);
						FAILURE(BgL_auxz00_11513, BFALSE, BFALSE);
					}
				return BGl_cp1252zd2ze3utf8z31zz__unicodez00(BgL_auxz00_11510);
			}
		}

	}



/* cp1252->utf8! */
	BGL_EXPORTED_DEF obj_t BGl_cp1252zd2ze3utf8z12z23zz__unicodez00(obj_t
		BgL_strz00_145)
	{
		{	/* Llib/unicode.scm 1656 */
			{	/* Llib/unicode.scm 1657 */
				obj_t BgL_res3392z00_6641;

				{	/* Llib/unicode.scm 1657 */
					obj_t BgL_tablez00_6633;

					BgL_tablez00_6633 = BGl_vector3712z00zz__unicodez00;
					{	/* Llib/unicode.scm 1629 */
						long BgL_lenz00_6634;

						BgL_lenz00_6634 = STRING_LENGTH(BgL_strz00_145);
						{	/* Llib/unicode.scm 1629 */
							long BgL_nlenz00_6635;

							BgL_nlenz00_6635 =
								BGl_8bitszd2ze3utf8zd2lengthze3zz__unicodez00(BgL_strz00_145,
								BgL_lenz00_6634, BgL_tablez00_6633);
							{	/* Llib/unicode.scm 1630 */

								if ((BgL_lenz00_6634 == BgL_nlenz00_6635))
									{	/* Llib/unicode.scm 1631 */
										BgL_res3392z00_6641 = BgL_strz00_145;
									}
								else
									{	/* Llib/unicode.scm 1631 */
										BgL_res3392z00_6641 =
											BGl_8bitszd2ze3utf8zd2fillz12zf1zz__unicodez00
											(make_string_sans_fill(BgL_nlenz00_6635), BgL_strz00_145,
											BgL_lenz00_6634, BgL_tablez00_6633);
									}
							}
						}
					}
				}
				return BgL_res3392z00_6641;
			}
		}

	}



/* &cp1252->utf8! */
	obj_t BGl_z62cp1252zd2ze3utf8z12z41zz__unicodez00(obj_t BgL_envz00_7013,
		obj_t BgL_strz00_7014)
	{
		{	/* Llib/unicode.scm 1656 */
			{	/* Llib/unicode.scm 1657 */
				obj_t BgL_auxz00_11524;

				if (STRINGP(BgL_strz00_7014))
					{	/* Llib/unicode.scm 1657 */
						BgL_auxz00_11524 = BgL_strz00_7014;
					}
				else
					{
						obj_t BgL_auxz00_11527;

						BgL_auxz00_11527 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(66234L), BGl_string3831z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_7014);
						FAILURE(BgL_auxz00_11527, BFALSE, BFALSE);
					}
				return BGl_cp1252zd2ze3utf8z12z23zz__unicodez00(BgL_auxz00_11524);
			}
		}

	}



/* string-minimal-charset */
	BGL_EXPORTED_DEF obj_t BGl_stringzd2minimalzd2charsetz00zz__unicodez00(obj_t
		BgL_strz00_146)
	{
		{	/* Llib/unicode.scm 1665 */
			{
				long BgL_iz00_3032;

				BgL_iz00_3032 = (STRING_LENGTH(BgL_strz00_146) - 1L);
			BgL_zc3z04anonymousza32863ze3z87_3033:
				if ((BgL_iz00_3032 == (-1L)))
					{	/* Llib/unicode.scm 1668 */
						return BGl_symbol3786z00zz__unicodez00;
					}
				else
					{	/* Llib/unicode.scm 1668 */
						if (
							(STRING_REF(BgL_strz00_146,
									BgL_iz00_3032) <= ((unsigned char) '')))
							{
								long BgL_iz00_11537;

								BgL_iz00_11537 = (BgL_iz00_3032 - 1L);
								BgL_iz00_3032 = BgL_iz00_11537;
								goto BgL_zc3z04anonymousza32863ze3z87_3033;
							}
						else
							{	/* Llib/unicode.scm 1669 */
								return BGl_symbol3832z00zz__unicodez00;
							}
					}
			}
		}

	}



/* &string-minimal-charset */
	obj_t BGl_z62stringzd2minimalzd2charsetz62zz__unicodez00(obj_t
		BgL_envz00_7015, obj_t BgL_strz00_7016)
	{
		{	/* Llib/unicode.scm 1665 */
			{	/* Llib/unicode.scm 1666 */
				obj_t BgL_auxz00_11541;

				if (STRINGP(BgL_strz00_7016))
					{	/* Llib/unicode.scm 1666 */
						BgL_auxz00_11541 = BgL_strz00_7016;
					}
				else
					{
						obj_t BgL_auxz00_11544;

						BgL_auxz00_11544 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(66746L), BGl_string3834z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_7016);
						FAILURE(BgL_auxz00_11544, BFALSE, BFALSE);
					}
				return
					BGl_stringzd2minimalzd2charsetz00zz__unicodez00(BgL_auxz00_11541);
			}
		}

	}



/* utf8-string-minimal-charset */
	BGL_EXPORTED_DEF obj_t
		BGl_utf8zd2stringzd2minimalzd2charsetzd2zz__unicodez00(obj_t BgL_strz00_147)
	{
		{	/* Llib/unicode.scm 1678 */
			{	/* Llib/unicode.scm 1680 */
				long BgL_lenz00_3041;

				BgL_lenz00_3041 = (STRING_LENGTH(BgL_strz00_147) - 1L);
				{
					long BgL_iz00_3044;
					obj_t BgL_charsetz00_3045;

					BgL_iz00_3044 = 0L;
					BgL_charsetz00_3045 = BGl_symbol3786z00zz__unicodez00;
				BgL_zc3z04anonymousza32871ze3z87_3046:
					if ((BgL_iz00_3044 >= BgL_lenz00_3041))
						{	/* Llib/unicode.scm 1683 */
							return BgL_charsetz00_3045;
						}
					else
						{	/* Llib/unicode.scm 1685 */
							long BgL_nz00_3048;

							BgL_nz00_3048 = (STRING_REF(BgL_strz00_147, BgL_iz00_3044));
							if ((BgL_nz00_3048 <= 127L))
								{
									long BgL_iz00_11557;

									BgL_iz00_11557 = (BgL_iz00_3044 + 1L);
									BgL_iz00_3044 = BgL_iz00_11557;
									goto BgL_zc3z04anonymousza32871ze3z87_3046;
								}
							else
								{	/* Llib/unicode.scm 1689 */
									bool_t BgL_test4532z00_11559;

									if ((BgL_nz00_3048 == 194L))
										{	/* Llib/unicode.scm 1689 */
											BgL_test4532z00_11559 = ((bool_t) 1);
										}
									else
										{	/* Llib/unicode.scm 1689 */
											BgL_test4532z00_11559 = (BgL_nz00_3048 == 195L);
										}
									if (BgL_test4532z00_11559)
										{	/* Llib/unicode.scm 1690 */
											long BgL_mz00_3053;

											BgL_mz00_3053 =
												(STRING_REF(BgL_strz00_147, (BgL_iz00_3044 + 1L)));
											{	/* Llib/unicode.scm 1691 */
												bool_t BgL_test4534z00_11566;

												if ((BgL_mz00_3053 >= 128L))
													{	/* Llib/unicode.scm 1691 */
														BgL_test4534z00_11566 = (BgL_mz00_3053 <= 191L);
													}
												else
													{	/* Llib/unicode.scm 1691 */
														BgL_test4534z00_11566 = ((bool_t) 0);
													}
												if (BgL_test4534z00_11566)
													{
														obj_t BgL_charsetz00_11572;
														long BgL_iz00_11570;

														BgL_iz00_11570 = (BgL_iz00_3044 + 2L);
														BgL_charsetz00_11572 =
															BGl_symbol3832z00zz__unicodez00;
														BgL_charsetz00_3045 = BgL_charsetz00_11572;
														BgL_iz00_3044 = BgL_iz00_11570;
														goto BgL_zc3z04anonymousza32871ze3z87_3046;
													}
												else
													{	/* Llib/unicode.scm 1691 */
														return BGl_symbol3795z00zz__unicodez00;
													}
											}
										}
									else
										{	/* Llib/unicode.scm 1689 */
											return BGl_symbol3795z00zz__unicodez00;
										}
								}
						}
				}
			}
		}

	}



/* &utf8-string-minimal-charset */
	obj_t BGl_z62utf8zd2stringzd2minimalzd2charsetzb0zz__unicodez00(obj_t
		BgL_envz00_7017, obj_t BgL_strz00_7018)
	{
		{	/* Llib/unicode.scm 1678 */
			{	/* Llib/unicode.scm 1680 */
				obj_t BgL_auxz00_11573;

				if (STRINGP(BgL_strz00_7018))
					{	/* Llib/unicode.scm 1680 */
						BgL_auxz00_11573 = BgL_strz00_7018;
					}
				else
					{
						obj_t BgL_auxz00_11576;

						BgL_auxz00_11576 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(67447L), BGl_string3835z00zz__unicodez00,
							BGl_string3785z00zz__unicodez00, BgL_strz00_7018);
						FAILURE(BgL_auxz00_11576, BFALSE, BFALSE);
					}
				return
					BGl_utf8zd2stringzd2minimalzd2charsetzd2zz__unicodez00
					(BgL_auxz00_11573);
			}
		}

	}



/* ucs2-string-minimal-charset */
	BGL_EXPORTED_DEF obj_t
		BGl_ucs2zd2stringzd2minimalzd2charsetzd2zz__unicodez00(obj_t BgL_strz00_148)
	{
		{	/* Llib/unicode.scm 1703 */
			{	/* Llib/unicode.scm 1705 */
				long BgL_lenz00_3064;

				BgL_lenz00_3064 = ((long) (UCS2_STRING_LENGTH(BgL_strz00_148)) - 1L);
				{
					long BgL_iz00_3067;
					obj_t BgL_charsetz00_3068;

					BgL_iz00_3067 = 0L;
					BgL_charsetz00_3068 = BGl_symbol3786z00zz__unicodez00;
				BgL_zc3z04anonymousza32910ze3z87_3069:
					if ((BgL_iz00_3067 >= BgL_lenz00_3064))
						{	/* Llib/unicode.scm 1708 */
							return BgL_charsetz00_3068;
						}
					else
						{	/* Llib/unicode.scm 1710 */
							int BgL_nz00_3071;

							{	/* Llib/unicode.scm 1710 */
								ucs2_t BgL_arg2920z00_3081;

								{	/* Llib/unicode.scm 277 */
									int BgL_tmpz00_11586;

									BgL_tmpz00_11586 = (int) (BgL_iz00_3067);
									BgL_arg2920z00_3081 =
										UCS2_STRING_REF(BgL_strz00_148, BgL_tmpz00_11586);
								}
								{	/* Llib/unicode.scm 1710 */
									obj_t BgL_tmpz00_11589;

									BgL_tmpz00_11589 = BUCS2(BgL_arg2920z00_3081);
									BgL_nz00_3071 = CUCS2(BgL_tmpz00_11589);
							}}
							if (((long) (BgL_nz00_3071) <= 127L))
								{
									long BgL_iz00_11595;

									BgL_iz00_11595 = (BgL_iz00_3067 + 1L);
									BgL_iz00_3067 = BgL_iz00_11595;
									goto BgL_zc3z04anonymousza32910ze3z87_3069;
								}
							else
								{	/* Llib/unicode.scm 1712 */
									if (((long) (BgL_nz00_3071) <= 255L))
										{
											obj_t BgL_charsetz00_11602;
											long BgL_iz00_11600;

											BgL_iz00_11600 = (BgL_iz00_3067 + 1L);
											if (
												(BgL_charsetz00_3068 ==
													BGl_symbol3836z00zz__unicodez00))
												{	/* Llib/unicode.scm 1715 */
													BgL_charsetz00_11602 =
														BGl_symbol3836z00zz__unicodez00;
												}
											else
												{	/* Llib/unicode.scm 1715 */
													BgL_charsetz00_11602 =
														BGl_symbol3832z00zz__unicodez00;
												}
											BgL_charsetz00_3068 = BgL_charsetz00_11602;
											BgL_iz00_3067 = BgL_iz00_11600;
											goto BgL_zc3z04anonymousza32910ze3z87_3069;
										}
									else
										{	/* Llib/unicode.scm 1716 */
											bool_t BgL_test4541z00_11605;

											if (((long) (BgL_nz00_3071) < 56320L))
												{	/* Llib/unicode.scm 1716 */
													BgL_test4541z00_11605 = ((bool_t) 1);
												}
											else
												{	/* Llib/unicode.scm 1716 */
													BgL_test4541z00_11605 =
														((long) (BgL_nz00_3071) > 56319L);
												}
											if (BgL_test4541z00_11605)
												{
													obj_t BgL_charsetz00_11613;
													long BgL_iz00_11611;

													BgL_iz00_11611 = (BgL_iz00_3067 + 1L);
													BgL_charsetz00_11613 =
														BGl_symbol3836z00zz__unicodez00;
													BgL_charsetz00_3068 = BgL_charsetz00_11613;
													BgL_iz00_3067 = BgL_iz00_11611;
													goto BgL_zc3z04anonymousza32910ze3z87_3069;
												}
											else
												{	/* Llib/unicode.scm 1716 */
													return BGl_symbol3838z00zz__unicodez00;
												}
										}
								}
						}
				}
			}
		}

	}



/* &ucs2-string-minimal-charset */
	obj_t BGl_z62ucs2zd2stringzd2minimalzd2charsetzb0zz__unicodez00(obj_t
		BgL_envz00_7019, obj_t BgL_strz00_7020)
	{
		{	/* Llib/unicode.scm 1703 */
			{	/* Llib/unicode.scm 1705 */
				obj_t BgL_auxz00_11614;

				if (UCS2_STRINGP(BgL_strz00_7020))
					{	/* Llib/unicode.scm 1705 */
						BgL_auxz00_11614 = BgL_strz00_7020;
					}
				else
					{
						obj_t BgL_auxz00_11617;

						BgL_auxz00_11617 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string3742z00zz__unicodez00,
							BINT(68449L), BGl_string3840z00zz__unicodez00,
							BGl_string3748z00zz__unicodez00, BgL_strz00_7020);
						FAILURE(BgL_auxz00_11617, BFALSE, BFALSE);
					}
				return
					BGl_ucs2zd2stringzd2minimalzd2charsetzd2zz__unicodez00
					(BgL_auxz00_11614);
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__unicodez00(void)
	{
		{	/* Llib/unicode.scm 14 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__unicodez00(void)
	{
		{	/* Llib/unicode.scm 14 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__unicodez00(void)
	{
		{	/* Llib/unicode.scm 14 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__unicodez00(void)
	{
		{	/* Llib/unicode.scm 14 */
			BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string3841z00zz__unicodez00));
			BGl_modulezd2initializa7ationz75zz__paramz00(453939141L,
				BSTRING_TO_STRING(BGl_string3841z00zz__unicodez00));
			BGl_modulezd2initializa7ationz75zz__bexitz00(443005284L,
				BSTRING_TO_STRING(BGl_string3841z00zz__unicodez00));
			BGl_modulezd2initializa7ationz75zz__objectz00(475449627L,
				BSTRING_TO_STRING(BGl_string3841z00zz__unicodez00));
			return
				BGl_modulezd2initializa7ationz75zz__threadz00(149516032L,
				BSTRING_TO_STRING(BGl_string3841z00zz__unicodez00));
		}

	}

#ifdef __cplusplus
}
#endif
