#include "opendylan/run-time.h"

/* Generated by Open Dylan 2014.1 for x86_64-linux */

/* Typedefs for referenced classes */

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value debug_name_;
  dylan_value class_implementation_class_;
  dylan_value class_subtype_bit_;
  dylan_value class_module_;
} _KLclassGVKd;

#define  define__KLmm_wrapperGVKi(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value mm_wrapper_implementation_class_; \
    dylan_value mm_wrapper_subtype_mask_; \
    DWORD mm_wrapper_fixed_part_; \
    DWORD mm_wrapper_variable_part_; \
    dylan_value mm_wrapper_number_patterns_; \
    DWORD mm_wrapper_pattern_element_[nrepeated+1]; \
  } _KLmm_wrapperGVKi_##nrepeated;
define__KLmm_wrapperGVKi(1);
define__KLmm_wrapperGVKi(0);

typedef struct {
  dylan_value wrapper;
} _KLobjectGVKd;

typedef struct {
  dylan_value wrapper;
} _KLunboundGVKe;

typedef struct {
  dylan_value wrapper;
} _KLbooleanGVKd;

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    dylan_value vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(4);
define__KLsimple_object_vectorGVKd(0);

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value Pgf_cache_;
  dylan_value debug_name_;
  dylan_value generic_function_methods_;
  dylan_value discriminator_;
  dylan_value incremental_gf_module_;
  dylan_value incremental_gf_domain_info_;
  dylan_value incremental_gf_method_libraries_;
  dylan_value incremental_gf_properties_;
} _KLincremental_generic_functionGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value debug_name_;
  dylan_value class_implementation_class_;
  dylan_value class_subtype_bit_;
  dylan_value class_module_;
} _KLfunction_classGVKi;

typedef struct {
  dylan_value wrapper;
} _KLstringGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value registry_location_;
  dylan_value registry_root_;
  dylan_value registry_personalQ_;
} _KLregistryGYregistry_projects_internalVregistry_projects;

typedef struct {
  dylan_value wrapper;
  dylan_value symbol_name_;
} _KLsymbolGVKd;

typedef struct {
  dylan_value wrapper;
} _KLfile_locatorGYlocatorsVsystem;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value Pgf_cache_;
  dylan_value debug_name_;
  dylan_value generic_function_methods_;
  dylan_value discriminator_;
} _KLsealed_generic_functionGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value outer_stream_;
  dylan_value private_stream_element_type_value_;
  dylan_value private_stream_direction_value_;
  dylan_value private_stream_lock_value_;
  dylan_value actual_stream_input_buffer_;
  dylan_value actual_stream_output_buffer_;
  dylan_value stream_shared_buffer_;
  dylan_value initial_position_;
  dylan_value current_position_;
  dylan_value final_position_;
  dylan_value stream_locator_;
  dylan_value accessor_;
} _KLfile_streamGYstreams_internalsVio;

typedef struct {
  dylan_value wrapper;
} _KLdirectory_locatorGYlocatorsVsystem;

typedef struct {
  dylan_value wrapper;
  dylan_value locator_directory_;
  dylan_value locator_base_;
  dylan_value locator_extension_;
} _KLposix_file_locatorGYfile_systemVsystem;

typedef struct {
  dylan_value wrapper;
  dylan_value head_;
  dylan_value tail_;
} _KLempty_listGVKd;

typedef struct {
  dylan_value wrapper;
  dylan_value xep_;
  dylan_value function_signature_;
  dylan_value mep_;
} _KLsimple_methodGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value union_type1_;
  dylan_value union_type2_;
} _KLunionGVKe;

typedef struct {
  dylan_value wrapper;
  dylan_value instanceQ_iep_;
  dylan_value singleton_object_;
} _KLsingletonGVKd;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(31);
define__KLbyte_stringGVKd(17);
define__KLbyte_stringGVKd(9);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(4);
define__KLbyte_stringGVKd(15);

#define  define__KLsimple_closure_methodGVKi(nrepeated) \
  typedef struct { \
    dylan_value wrapper; \
    dylan_value xep_; \
    dylan_value function_signature_; \
    dylan_value mep_; \
    dylan_value environment_size_; \
    dylan_value environment_element_[nrepeated+1]; \
  } _KLsimple_closure_methodGVKi_##nrepeated;
define__KLsimple_closure_methodGVKi(0);

typedef struct {
  dylan_value wrapper;
  dylan_value signature_properties_;
  dylan_value signature_required_;
} _KLsignatureGVKe;


/* Typedefs for defined classes */


/* Referenced object declarations */

extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLclassGVKd KLobjectGVKd;
extern _KLmm_wrapperGVKi_0 KLobjectGVKdW;
extern _KLunboundGVKe KPunboundVKi;
extern _KLclassGVKd KLunboundGVKe;
extern _KLmm_wrapperGVKi_0 KLunboundGVKeW;
extern _KLbooleanGVKd KPtrueVKi;
extern _KLclassGVKd KLbooleanGVKd;
extern _KLmm_wrapperGVKi_0 KLbooleanGVKdW;
extern _KLbooleanGVKd KPfalseVKi;
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLincremental_generic_functionGVKe KasVKd;
extern _KLfunction_classGVKi KLincremental_generic_functionGVKe;
extern _KLclassGVKd KLfunction_classGVKi;
extern _KLmm_wrapperGVKi_0 KLfunction_classGVKiW;
extern _KLmm_wrapperGVKi_0 KLincremental_generic_functionGVKeW;
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
extern _KLincremental_generic_functionGVKe Kas_lowercaseVKd;
extern _KLincremental_generic_functionGVKe Kforward_iteration_protocolVKd;
extern _KLclassGVKd KLregistryGYregistry_projects_internalVregistry_projects;
extern _KLmm_wrapperGVKi_0 KLregistryGYregistry_projects_internalVregistry_projectsW;
extern _KLsymbolGVKd KJname_;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
extern _KLincremental_generic_functionGVKe KmakeVKd;
extern _KLclassGVKd KLfile_locatorGYlocatorsVsystem;
extern _KLmm_wrapperGVKi_0 KLfile_locatorGYlocatorsVsystemW;
extern _KLsealed_generic_functionGVKe Kfile_existsQYfile_systemVsystem;
extern _KLclassGVKd KLsealed_generic_functionGVKe;
extern _KLmm_wrapperGVKi_0 KLsealed_generic_functionGVKeW;
extern _KLincremental_generic_functionGVKe Kopen_file_streamYstreams_protocolVcommon_dylan;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLfile_streamGYstreams_internalsVio;
extern _KLmm_wrapperGVKi_0 KLfile_streamGYstreams_internalsVioW;
extern _KLincremental_generic_functionGVKe Kread_lineYstreamsVio;
extern _KLincremental_generic_functionGVKe Kstream_openQYstreams_protocolVcommon_dylan;
extern _KLincremental_generic_functionGVKe KcloseYcommon_extensionsVcommon_dylan;
extern _KLincremental_generic_functionGVKe KsizeVKd;
extern _KLincremental_generic_functionGVKe KLVKd;
extern _KLincremental_generic_functionGVKe Kcopy_sequenceVKd;
extern _KLsymbolGVKd KJend_;
extern _KLincremental_generic_functionGVKe KEVKd;
extern _KLclassGVKd KLdirectory_locatorGYlocatorsVsystem;
extern _KLmm_wrapperGVKi_0 KLdirectory_locatorGYlocatorsVsystemW;
extern _KLsymbolGVKd KJstart_;
extern _KLclassGVKd KLposix_file_locatorGYfile_systemVsystem;
extern _KLmm_wrapperGVKi_0 KLposix_file_locatorGYfile_systemVsystemW;
extern _KLincremental_generic_functionGVKe Klocator_directoryYlocatorsVsystem;
extern _KLincremental_generic_functionGVKe Klocator_pathYlocatorsVsystem;
extern _KLincremental_generic_functionGVKe Klocator_serverYlocatorsVsystem;
extern _KLincremental_generic_functionGVKe Ktype_for_copyVKd;
extern _KLsealed_generic_functionGVKe Kconcatenate_asVKd;
extern _KLsealed_generic_functionGVKe Klocator_nameYlocatorsVsystem;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
dylan_value KmemberQVKdMM4I (dylan_value, dylan_value, dylan_value, dylan_value);
extern _KLsimple_methodGVKe KEEVKd;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
dylan_value Kunion_instanceQVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
dylan_value Ksingleton_pointer_idQ_instanceQVKiI (dylan_value, dylan_value);
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLfunction_classGVKi KLsimple_closure_methodGVKi;
extern _KLmm_wrapperGVKi_0 KLsimple_closure_methodGVKiW;
extern _KLclassGVKd KLsignatureGVKe;
extern _KLmm_wrapperGVKi_0 KLsignatureGVKeW;
extern dylan_value TdebuggingQTVKi;
extern dylan_value Tdebug_partsTVKi;
extern dylan_value Tdebug_out_functionTVKi;

/* Defined object declarations */

dylan_value Kfind_library_locatorYregistry_projects_internalVregistry_projectsI (dylan_value, dylan_value);
static _KLsimple_closure_methodGVKi_0 Kanonymous_of_find_library_locatorF15;
static dylan_value Kanonymous_of_find_library_locatorF15I ();
static _KLsymbolGVKd KJdirectory_;
static _KLsymbolGVKd KJserver_;
static _KLsymbolGVKd KJpath_;
static _KLsymbolGVKd KJproject_manager_;
static _KLunionGVKe K7;
static _KLunionGVKe K8;
static _KLsingletonGVKd K9;
static _KLbyte_stringGVKd_15 K10;
static _KLbyte_stringGVKd_4 K11;
static _KLbyte_stringGVKd_6 K12;
static _KLbyte_stringGVKd_9 K13;
static _KLbyte_stringGVKd_17 K14;
static _KLbyte_stringGVKd_31 K16;
static _KLsignatureGVKe K17;

/* Indirection variables */

static dylan_value IKJdirectory_ = &KJdirectory_;
static dylan_value IKJserver_ = &KJserver_;
static dylan_value IKJpath_ = &KJpath_;
static dylan_value IKJproject_manager_ = &KJproject_manager_;

/* Variables */

dylan_value Dabstract_host_prefixYregistry_projects_internalVregistry_projects = &K14;

/* Objects */

static _KLsimple_closure_methodGVKi_0 Kanonymous_of_find_library_locatorF15 = {
  &KLsimple_closure_methodGVKiW /* wrapper */,
  &xep_0,
  &K17,
  &Kanonymous_of_find_library_locatorF15I,
  (dylan_value) 1
};

static _KLsymbolGVKd KJdirectory_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K13
};

static _KLsymbolGVKd KJserver_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K12
};

static _KLsymbolGVKd KJpath_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K11
};

static _KLsymbolGVKd KJproject_manager_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K10
};

static _KLunionGVKe K7 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K9,
  &KLfile_locatorGYlocatorsVsystem
};

static _KLunionGVKe K8 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K9,
  &KLregistryGYregistry_projects_internalVregistry_projects
};

static _KLsingletonGVKd K9 = {
  &KLsingletonGVKdW /* wrapper */,
  &Ksingleton_pointer_idQ_instanceQVKiI,
  &KPfalseVKi
};

static _KLbyte_stringGVKd_15 K10 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 61,
  "project-manager"
};

static _KLbyte_stringGVKd_4 K11 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 17,
  "path"
};

static _KLbyte_stringGVKd_6 K12 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 25,
  "server"
};

static _KLbyte_stringGVKd_9 K13 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 37,
  "directory"
};

static _KLbyte_stringGVKd_17 K14 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 69,
  "abstract://dylan/"
};

static _KLbyte_stringGVKd_31 K16 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (dylan_value) 125,
  "Failed to find %s [%s under %s]"
};

static _KLsignatureGVKe K17 = {
  &KLsignatureGVKeW /* wrapper */,
  (dylan_value) 44040193,
  &KPempty_vectorVKi
};

/* Code */

dylan_value Kfind_library_locatorYregistry_projects_internalVregistry_projectsI (dylan_value library_name_, dylan_value registries_) {
  volatile dylan_value T2;
  volatile dylan_value name_;
  volatile dylan_value returnPexit_0_;
  volatile dylan_value T5;
  volatile dylan_value T6;
  volatile dylan_value T7;
  volatile dylan_value T8;
  volatile dylan_value T9;
  volatile dylan_value T10;
  volatile dylan_value T11;
  volatile dylan_value T12T, T12;
  volatile dylan_value T13;
  volatile dylan_value registry_;
  volatile dylan_value T15;
  volatile dylan_value locator_;
  volatile dylan_value T17;
  volatile dylan_value T18;
  volatile dylan_value T19;
  volatile dylan_value stream_;
  volatile dylan_value T21;
  volatile dylan_value T22;
  volatile dylan_value T23;
  volatile dylan_value T24;
  volatile dylan_value T25;
  volatile dylan_value T26;
  volatile dylan_value T27;
  volatile dylan_value root_;
  volatile dylan_value T29;
  volatile dylan_value file_;
  volatile dylan_value file_parent_;
  volatile dylan_value T32;
  volatile dylan_value file_parent_path_;
  volatile dylan_value T34;
  volatile dylan_value Utmp_;
  volatile dylan_value T36;
  volatile dylan_value T37;
  volatile dylan_value T38;
  volatile dylan_value T39;
  volatile dylan_value T40;
  volatile dylan_value filename_;
  volatile dylan_value T42;
  volatile dylan_value T43;
  volatile dylan_value T44_0;
  volatile dylan_value T44_1;
  volatile dylan_value T45_0;
  volatile dylan_value T45_1;
  volatile dylan_value Ustream_;
  volatile dylan_value T47;
  volatile dylan_value T48;
  volatile dylan_value T49;
  volatile dylan_value T50;
  volatile dylan_value T51;
  volatile dylan_value T52;
  volatile dylan_value T53;
  volatile _KLsimple_object_vectorGVKd_4 T54 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  volatile dylan_value T55_0;
  volatile dylan_value T56;
  volatile dylan_value T57;
  volatile _KLsimple_object_vectorGVKd_1 T58 = {&KLsimple_object_vectorGVKdW, (dylan_value) 5};
  volatile dylan_value T59;
  volatile dylan_value T60_0;
  volatile dylan_value T61;
  volatile _KLsimple_object_vectorGVKd_4 T62 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  volatile _KLsimple_object_vectorGVKd_4 T63 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  volatile _KLsimple_object_vectorGVKd_2 T64 = {&KLsimple_object_vectorGVKdW, (dylan_value) 9};
  volatile dylan_value T65;
  volatile dylan_value T66;
  volatile dylan_value T67;
  volatile dylan_value T68;
  volatile dylan_value T69;
  volatile dylan_value T70;
  volatile dylan_value T71;
  volatile dylan_value T72_0;
  volatile dylan_value T73;
  volatile dylan_value T74;
  volatile dylan_value T75;
  volatile dylan_value T76;

  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:9
  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:13
  CONGRUENT_CALL_PROLOG(&KasVKd, 2);
  T2 = CONGRUENT_CALL2(&KLstringGVKd, library_name_);
  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:13
  CONGRUENT_CALL_PROLOG(&Kas_lowercaseVKd, 1);
  name_ = CONGRUENT_CALL1(T2);
  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:15
  T52 = SLOT_VALUE_INITD(Dabstract_host_prefixYregistry_projects_internalVregistry_projects, 0);
  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
  ENTER_EXIT_FRAME(returnPexit_0_);
  if (nlx_setjmp(FRAME_DEST(returnPexit_0_))) {
    T44_0 = FRAME_RETVAL(returnPexit_0_);
    T44_1 = MV_GET_ELT(1);
  } else {
    // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
    T6 = CALL1(&Kforward_iteration_protocolVKd, registries_);
    // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
    T7 = T6;
    // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
    T8 = MV_GET_ELT(1);
;
    // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
    T9 = MV_GET_ELT(2);
;
    // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
    T10 = MV_GET_ELT(3);
;
    // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
    T11 = MV_GET_ELT(5);
;
    // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
    T12T = T7;
  L0: ;
      // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
      T12 = T12T;
      // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
      T13 = CALL3(T10, registries_, T12, T8);
      // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
      if (T13 == &KPfalseVKi) {
        // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
        T15 = CALL2(T11, registries_, T12);
        // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
        primitive_type_check(T15, &KLregistryGYregistry_projects_internalVregistry_projects);
        registry_ = T15;
        // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:20
        T53 = SLOT_VALUE_INITD(registry_, 0);
        // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:19
        T54.vector_element_[0] = IKJdirectory_;
        T54.vector_element_[1] = T53;
        T54.vector_element_[2] = &KJname_;
        T54.vector_element_[3] = name_;
        // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:19
        CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
        locator_ = CONGRUENT_CALL2(&KLfile_locatorGYlocatorsVsystem, &T54);
        // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:22
        T17 = CALL1(&Kfile_existsQYfile_systemVsystem, locator_);
        // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:22
        if (T17 != &KPfalseVKi) {
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
          Ustream_ = &KPfalseVKi;
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
          ENTER_UNWIND_FRAME(T18);
          if (!nlx_setjmp(FRAME_DEST(T18))) {
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
            CONGRUENT_CALL_PROLOG(&Kopen_file_streamYstreams_protocolVcommon_dylan, 2);
            T19 = CONGRUENT_CALL2(locator_, &KPempty_vectorVKi);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
            Ustream_ = T19;
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
            T50 = Ustream_;
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
            primitive_type_check(T50, &KLfile_streamGYstreams_internalsVio);
            stream_ = T50;
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:25
            CONGRUENT_CALL_PROLOG(&Kread_lineYstreamsVio, 2);
            T21 = CONGRUENT_CALL2(stream_, &KPempty_vectorVKi);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
            FALL_THROUGH_UNWIND(T21);
          }
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
          T48 = Ustream_;
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
          if (T48 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
            T49 = Ustream_;
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
            T22 = CALL1(&Kstream_openQYstreams_protocolVcommon_dylan, T49);
            T23 = T22;
          } else {
            T23 = &KPfalseVKi;
          }
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
          if (T23 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
            T47 = Ustream_;
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
            CALL1(&KcloseYcommon_extensionsVcommon_dylan, T47);
          }
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:24
          CONTINUE_UNWIND();
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:28
          CONGRUENT_CALL_PROLOG(&KsizeVKd, 1);
          T24 = CONGRUENT_CALL1(T21);
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:28
          CONGRUENT_CALL_PROLOG(&KLVKd, 2);
          T55_0 = CONGRUENT_CALL2(T52, T24);
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:28
          T56 = T55_0;
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:28
          if (T56 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:29
            T25 = CALL3(&Kcopy_sequenceVKd, T21, &KJend_, T52);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:29
            CONGRUENT_CALL_PROLOG(&KEVKd, 2);
            T26 = CONGRUENT_CALL2(T25, Dabstract_host_prefixYregistry_projects_internalVregistry_projects);
            T27 = T26;
          } else {
            T27 = &KPfalseVKi;
          }
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:28
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:28
          if (T27 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:30
            T57 = SLOT_VALUE_INITD(registry_, 1);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:30
            CONGRUENT_CALL_PROLOG(&KasVKd, 2);
            root_ = CONGRUENT_CALL2(&KLdirectory_locatorGYlocatorsVsystem, T57);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:32
            T29 = CALL3(&Kcopy_sequenceVKd, T21, &KJstart_, T52);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:31
            CONGRUENT_CALL_PROLOG(&KasVKd, 2);
            file_ = CONGRUENT_CALL2(&KLposix_file_locatorGYfile_systemVsystem, T29);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:34
            file_parent_ = CALL1(&Klocator_directoryYlocatorsVsystem, file_);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:35
            if (file_parent_ != &KPfalseVKi) {
              // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/defaults.dylan:97
              T51 = file_parent_;
              // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:35
              CONGRUENT_CALL_PROLOG(&Klocator_pathYlocatorsVsystem, 1);
              T32 = CONGRUENT_CALL1(T51);
              file_parent_path_ = T32;
            } else {
              file_parent_path_ = &KPfalseVKi;
            }
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:35
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:38
            T34 = CALL1(&Klocator_serverYlocatorsVsystem, root_);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:39
            Utmp_ = CALL1(&Klocator_pathYlocatorsVsystem, root_);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:40
            if (file_parent_path_ != &KPfalseVKi) {
              T36 = file_parent_path_;
            } else {
              T36 = &KPempty_vectorVKi;
            }
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:40
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:39
            T58.vector_element_[0] = T36;
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:39
            CONGRUENT_CALL_PROLOG(&Ktype_for_copyVKd, 1);
            T59 = CONGRUENT_CALL1(Utmp_);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:39
            T60_0 = APPLY3(&Kconcatenate_asVKd, T59, Utmp_, &T58);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:39
            T61 = T60_0;
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:37
            T62.vector_element_[0] = IKJserver_;
            T62.vector_element_[1] = T34;
            T62.vector_element_[2] = IKJpath_;
            T62.vector_element_[3] = T61;
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:37
            CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
            T37 = CONGRUENT_CALL2(&KLdirectory_locatorGYlocatorsVsystem, &T62);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:41
            CONGRUENT_CALL_PROLOG(&Klocator_nameYlocatorsVsystem, 1);
            T38 = CONGRUENT_CALL1(file_);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:36
            T63.vector_element_[0] = IKJdirectory_;
            T63.vector_element_[1] = T37;
            T63.vector_element_[2] = &KJname_;
            T63.vector_element_[3] = T38;
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:36
            CONGRUENT_CALL_PROLOG(&KmakeVKd, 2);
            T39 = CONGRUENT_CALL2(&KLfile_locatorGYlocatorsVsystem, &T63);
            filename_ = T39;
          } else {
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:43
            CONGRUENT_CALL_PROLOG(&KasVKd, 2);
            T40 = CONGRUENT_CALL2(&KLfile_locatorGYlocatorsVsystem, T21);
            filename_ = T40;
          }
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:28
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:45
          T64.vector_element_[0] = filename_;
          T64.vector_element_[1] = registry_;
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
          T65 = MV_SET_REST_AT(&T64, 0);
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
          NLX(returnPexit_0_, T65);
        } else {
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
          T66 = TdebuggingQTVKi;
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
          if (T66 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
            T67 = Tdebug_partsTVKi;
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
            T68 = primitive_idQ(T67,&KPempty_listVKi);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
            T69 = primitive_not(T68);
            T70 = T69;
          } else {
            T70 = &KPfalseVKi;
          }
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
          if (T70 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
            T71 = Tdebug_partsTVKi;
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
            T72_0 = KmemberQVKdMM4I(IKJproject_manager_, T71, &KPempty_vectorVKi, &KEEVKd);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
            T73 = T72_0;
            T74 = T73;
          } else {
            T74 = &KPfalseVKi;
          }
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
          if (T74 != &KPfalseVKi) {
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
            T75 = Tdebug_out_functionTVKi;
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
            T42 = MAKE_CLOSURE_INITD(&Kanonymous_of_find_library_locatorF15, 3, locator_, registry_, name_);
            // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
            CALL1(T75, T42);
          }
          // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
        }
        // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:22
        // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
        T43 = CALL2(T9, registries_, T12);
        // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
        T12T = T43;
        goto L0;
      }
      // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
      // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:17
    // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:54
    T76 = &KPfalseVKi;
    MV_SET_ELT(0, &KPfalseVKi);
    MV_SET_ELT(1, &KPfalseVKi);
    MV_SET_COUNT(2);
    // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
  T44_0 = T76;
  T44_1 = MV_GET_ELT(1);
    /* invalidate returnPexit_0_ */
  }
  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:16
  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:9
  T45_0 = T44_0;
  T45_1 = T44_1;
  {
    MV_CHECK_TYPE_PROLOGUE(T44_0);
    primitive_type_check(T45_0, &K7);
    primitive_type_check(T45_1, &K8);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:9
  MV_SET_ELT(1, T45_1);
  MV_SET_COUNT(2);
  return(T45_0);
}

static dylan_value Kanonymous_of_find_library_locatorF15I () {
  dylan_value T0;
  dylan_value T1;
  dylan_value T2;
  _KLsimple_object_vectorGVKd_4 T3 = {&KLsimple_object_vectorGVKdW, (dylan_value) 17};
  dylan_value T4;
  dylan_value T5_0;
  CAPTURE_ENVIRONMENT

  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:49
  CONGRUENT_CALL_PROLOG(&KasVKd, 2);
  T0 = CONGRUENT_CALL2(&KLstringGVKd, CREF(0));
  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:51
  T2 = SLOT_VALUE_INITD(CREF(1), 0);
  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:51
  CONGRUENT_CALL_PROLOG(&KasVKd, 2);
  T1 = CONGRUENT_CALL2(&KLstringGVKd, T2);
  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
  T3.vector_element_[0] = &K16;
  T3.vector_element_[1] = T0;
  T3.vector_element_[2] = CREF(2);
  T3.vector_element_[3] = T1;
  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
  T4 = primitive_copy_vector(&T3);
  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
  T5_0 = T4;
  // /home/bruce/Development/dylan/opendylan/sources/project-manager/registry-projects/registry.dylan:47
  MV_SET_COUNT(1);
  return(T5_0);
}


/* SYSTEM INIT CODE */

void _Init_registry_projects__X_registry_for_system () {
  extern dylan_value KPresolve_symbolVKiI(dylan_value);
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJdirectory_);
    if (T0 != &KJdirectory_) {
      IKJdirectory_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJserver_);
    if (T0 != &KJserver_) {
      IKJserver_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJpath_);
    if (T0 != &KJpath_) {
      IKJpath_ = T0;
    }
  }
  {
    dylan_value T0;

    T0 = KPresolve_symbolVKiI(&KJproject_manager_);
    if (T0 != &KJproject_manager_) {
      IKJproject_manager_ = T0;
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_registry_projects__X_registry_for_user () {
  return;
}


/* eof */
