#include "run-time.h"

/* Typedefs for referenced classes */

#define  define__KLsimple_object_vectorGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    D vector_element_[nrepeated+1]; \
  } _KLsimple_object_vectorGVKd_##nrepeated;
define__KLsimple_object_vectorGVKd(7);
define__KLsimple_object_vectorGVKd(6);
define__KLsimple_object_vectorGVKd(8);
define__KLsimple_object_vectorGVKd(3);
define__KLsimple_object_vectorGVKd(256);
define__KLsimple_object_vectorGVKd(1);
define__KLsimple_object_vectorGVKd(0);
define__KLsimple_object_vectorGVKd(2);
define__KLsimple_object_vectorGVKd(4);

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

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

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

typedef struct {
  D wrapper;
  D id_name_;
  D id_module_;
} _KLdefinition_idGVenvironment_protocols;

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

typedef struct {
  D wrapper;
} _KLobjectGVKd;

typedef struct {
  D wrapper;
} _KLunboundGVKe;

typedef struct {
  D wrapper;
} _KLbooleanGVKd;

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

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

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

typedef struct {
  D wrapper;
  D Pprimitive_name_;
  D application_object_proxy_;
} _KLcollection_objectGVenvironment_protocols;

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

typedef struct {
  D wrapper;
  D Pprimitive_name_;
  D application_object_proxy_;
} _KLstring_objectGVenvironment_protocols;

#define  define__KLbyte_stringGVKd(nrepeated) \
  typedef struct { \
    D wrapper; \
    D size_; \
    char string_element_[nrepeated+1]; \
  } _KLbyte_stringGVKd_##nrepeated;
define__KLbyte_stringGVKd(18);
define__KLbyte_stringGVKd(32);
define__KLbyte_stringGVKd(24);
define__KLbyte_stringGVKd(2);
define__KLbyte_stringGVKd(6);
define__KLbyte_stringGVKd(9);
define__KLbyte_stringGVKd(26);
define__KLbyte_stringGVKd(23);
define__KLbyte_stringGVKd(16);
define__KLbyte_stringGVKd(25);
define__KLbyte_stringGVKd(5);
define__KLbyte_stringGVKd(11);

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

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
  D signature_values_;
} _KLsignatureAvaluesGVKi;

typedef struct {
  D wrapper;
  D head_;
  D tail_;
} _KLpairGVKd;

typedef struct {
  D wrapper;
  D xep_;
  D function_signature_;
  D mep_;
  D iep_;
  D keyword_specifiers_;
} _KLkeyword_methodGVKe;

typedef struct {
  D wrapper;
  D class_properties_;
  D iclass_class_;
  D class_mm_wrapper_;
  D repeated_slot_descriptor_;
  D instance_slot_descriptors_;
  D iclass_dispatch_key_;
  D class_constructor_;
  D direct_superclasses_;
  D class_rcpl_vector_;
  D class_rcpl_position_;
  D class_rcpl_other_positions_;
  D class_known_joint_;
  D iclass_dependent_generics_;
  D iclass_subclass_dependent_generics_;
  D direct_subclasses_;
  D direct_methods_;
  D direct_slot_descriptors_;
  D slot_descriptors_;
  D direct_inherited_slot_descriptors_;
  D direct_initialization_argument_descriptors_;
  D class_slot_descriptors_;
  D defaulted_initialization_arguments_slot_;
  D class_slot_storage_;
} _KLimplementation_classGVKe;

typedef struct {
  D wrapper;
  D Pprimitive_name_;
} _KLenvironment_objectGVenvironment_protocols;

typedef struct {
  D wrapper;
  D Pprimitive_name_;
  D Pid_;
} _KLenvironment_object_with_idGVenvironment_protocols;

typedef struct {
  D wrapper;
  D Pprimitive_name_;
  D application_object_proxy_;
} _KLapplication_objectGVenvironment_protocols;

typedef struct {
  D wrapper;
  D Pprimitive_name_;
  D application_object_proxy_;
} _KLcomposite_objectGVenvironment_protocols;

typedef struct {
  D wrapper;
  D Pprimitive_name_;
  D Pid_;
  D application_object_proxy_;
} _KLuser_objectGVenvironment_protocols;

typedef struct {
  D wrapper;
} _KLstringGVKd;

typedef struct {
  D wrapper;
  D signature_properties_;
  D signature_required_;
  D signature_keys_;
  D signature_key_types_;
  D signature_values_;
} _KLkeyword_signatureAvaluesGVKi;

typedef struct {
  D wrapper;
  D slot_descriptor_properties_;
  D init_data_slot_;
  D slot_owner_;
  D init_keyword_;
  D slot_getter_;
  D slot_setter_;
  D slot_type_;
} _KLinstance_slot_descriptorGVKe;

typedef struct {
  D wrapper;
  D namespace_name_;
  D home_library_;
} _KLmoduleGVKe;


/* Typedefs for defined classes */

typedef struct {
  D wrapper;
  D Pprimitive_name_;
  D Pid_;
  D application_object_proxy_;
} _KLcondition_objectGVenvironment_protocols;

typedef struct {
  D wrapper;
  D Pprimitive_name_;
  D Pid_;
  D application_object_proxy_;
} _KLformat_string_condition_objectGVenvironment_protocols;


/* Referenced object declarations */

D Kregister_user_object_classVenvironment_protocolsI (D, D, D, D);
extern _KLclassGVKd KLsimple_object_vectorGVKd;
extern _KLclassGVKd KLclassGVKd;
extern _KLmm_wrapperGVKi_0 KLclassGVKdW;
extern _KLclassGVKd KLmm_wrapperGVKi;
extern _KLmm_wrapperGVKi_1 KLmm_wrapperGVKiW;
extern _KLmm_wrapperGVKi_0 KLsimple_object_vectorGVKdW;
extern _KLsymbolGVKd KJname_;
extern _KLclassGVKd KLsymbolGVKd;
extern _KLmm_wrapperGVKi_0 KLsymbolGVKdW;
D KmakeVKdMenvironment_protocolsM0I (D, D);
extern _KLclassGVKd KLdefinition_idGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLdefinition_idGVenvironment_protocolsW;
extern _KLempty_listGVKd KPempty_listVKi;
extern _KLclassGVKd KLempty_listGVKd;
extern _KLmm_wrapperGVKi_0 KLempty_listGVKdW;
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 _KLincremental_generic_functionGVKe Kuser_object_slot_valueVenvironment_protocols;
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 KLunionGVKe;
extern _KLmm_wrapperGVKi_0 KLunionGVKeW;
D Kunion_instanceQVKiI (D, D);
extern _KLclassGVKd KLcollection_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLcollection_objectGVenvironment_protocolsW;
extern _KLclassGVKd KLsingletonGVKd;
extern _KLmm_wrapperGVKi_0 KLsingletonGVKdW;
D Ksingleton_pointer_idQ_instanceQVKiI (D, D);
extern _KLclassGVKd KLstring_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLstring_objectGVenvironment_protocolsW;
extern _KLclassGVKd KLbyte_stringGVKd;
extern _KLmm_wrapperGVKi_0 KLbyte_stringGVKdW;
extern _KLfunction_classGVKi KLsimple_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLsimple_methodGVKeW;
extern _KLclassGVKd KLsignatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLsignatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LstringG_typesVKi;
extern _KLclassGVKd KLpairGVKd;
extern _KLmm_wrapperGVKi_0 KLpairGVKdW;
extern _KLkeyword_methodGVKe KmakeVKdMM48;
extern _KLfunction_classGVKi KLkeyword_methodGVKe;
extern _KLmm_wrapperGVKi_0 KLkeyword_methodGVKeW;
extern _KLclassGVKd KLimplementation_classGVKe;
extern _KLmm_wrapperGVKi_0 KLimplementation_classGVKeW;
extern _KLsimple_object_vectorGVKd_0 KPempty_vectorVKi;
extern _KLclassGVKd KLenvironment_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLenvironment_objectGVenvironment_protocolsW;
extern _KLclassGVKd KLenvironment_object_with_idGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLenvironment_object_with_idGVenvironment_protocolsW;
extern _KLclassGVKd KLapplication_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLapplication_objectGVenvironment_protocolsW;
extern _KLclassGVKd KLcomposite_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLcomposite_objectGVenvironment_protocolsW;
extern _KLclassGVKd KLuser_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLuser_objectGVenvironment_protocolsW;
D KerrorVKdMM1I (D, D);
extern _KLkeyword_methodGVKe KinitializeVKdMenvironment_protocolsM0;
extern _KLkeyword_methodGVKe KinitializeVKdMM1;
extern _KLunionGVKe KLid_or_integerGVenvironment_protocols;
extern _KLclassGVKd KLstringGVKd;
extern _KLmm_wrapperGVKi_0 KLstringGVKdW;
extern _KLclassGVKd KLkeyword_signatureAvaluesGVKi;
extern _KLmm_wrapperGVKi_0 KLkeyword_signatureAvaluesGVKiW;
extern _KLsimple_object_vectorGVKd_2 KDsignature_LclassG_typesVKi;
extern _KLsimple_object_vectorGVKd_256 KDsignature_LobjectG_typesVKi;
extern _KLinstance_slot_descriptorGVKe KPprimitive_nameVenvironment_protocolsHLenvironment_objectG;
extern _KLclassGVKd KLinstance_slot_descriptorGVKe;
extern _KLmm_wrapperGVKi_0 KLinstance_slot_descriptorGVKeW;
extern _KLinstance_slot_descriptorGVKe KPidVenvironment_protocolsHLenvironment_object_with_idG;
extern _KLinstance_slot_descriptorGVKe Kapplication_object_proxyVenvironment_protocolsHLapplication_objectG;
D Kclass_instanceQ_initialVKiI (D, D);
extern _KLmoduleGVKe Kenvironment_protocols_moduleYdylan_userVenvironment_protocols;
extern _KLclassGVKd KLmoduleGVKe;
extern _KLmm_wrapperGVKi_0 KLmoduleGVKeW;
D Kclass_instanceQ_rcpl_single_largeVKiI (D, D);
extern D Ddylan_extensions_module_idVenvironment_protocols;

/* Defined object declarations */

extern _KLclassGVKd KLcondition_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLcondition_objectGVenvironment_protocolsW;
static _KLbyte_stringGVKd_11 K3;
static _KLbyte_stringGVKd_5 K4;
extern _KLclassGVKd KLformat_string_condition_objectGVenvironment_protocols;
extern _KLmm_wrapperGVKi_0 KLformat_string_condition_objectGVenvironment_protocolsW;
static _KLbyte_stringGVKd_25 K8;
static _KLbyte_stringGVKd_16 K9;
static _KLbyte_stringGVKd_23 K11;
static _KLsymbolGVKd KJmodule_;
static _KLpairGVKd K13;
static _KLbyte_stringGVKd_26 K15;
extern _KLsimple_methodGVKe Kenvironment_object_type_nameVenvironment_protocolsMM40;
D Kenvironment_object_type_nameVenvironment_protocolsMM40I (D);
D Kcondition_format_optionsVenvironment_protocolsMM0I (D, D);
static _KLunionGVKe K19;
static _KLunionGVKe K20;
static _KLsingletonGVKd K21;
static _KLbyte_stringGVKd_9 K22;
static _KLsignatureAvaluesGVKi K23;
static _KLsimple_object_vectorGVKd_1 K24;
static _KLbyte_stringGVKd_6 K25;
static _KLimplementation_classGVKe K26;
static _KLsimple_object_vectorGVKd_3 K27;
extern _KLkeyword_methodGVKe KLformat_string_condition_objectGZ32ZconstructorVenvironment_protocolsMM0;
D KLformat_string_condition_objectGZ32ZconstructorVenvironment_protocolsMM0I (D, D, D, D, D);
static _KLsimple_object_vectorGVKd_8 K30;
static _KLsymbolGVKd KJid_;
static _KLbyte_stringGVKd_23 K32;
static _KLunionGVKe K33;
static _KLunionGVKe K34;
static _KLpairGVKd K35;
static _KLbyte_stringGVKd_2 K36;
static _KLkeyword_signatureAvaluesGVKi K37;
static _KLsimple_object_vectorGVKd_6 K38;
static _KLsymbolGVKd KJapplication_object_proxy_;
static _KLbyte_stringGVKd_24 K40;
static _KLsimple_object_vectorGVKd_3 K41;
static _KLsimple_object_vectorGVKd_1 K42;
static _KLbyte_stringGVKd_32 K43;
static _KLimplementation_classGVKe K44;
extern _KLkeyword_methodGVKe KLcondition_objectGZ32ZconstructorVenvironment_protocolsMM0;
D KLcondition_objectGZ32ZconstructorVenvironment_protocolsMM0I (D, D, D, D, D);
static _KLsimple_object_vectorGVKd_1 K47;
static _KLsimple_object_vectorGVKd_7 K48;
static _KLkeyword_signatureAvaluesGVKi K49;
static _KLbyte_stringGVKd_18 K50;
static _KLpairGVKd K51;

/* Indirection variables */

static D IKJmodule_ = &KJmodule_;
static D IKJid_ = &KJid_;
static D IKJapplication_object_proxy_ = &KJapplication_object_proxy_;

/* Variables */

D Lcondition_objectGVenvironment_protocols = &KLcondition_objectGVenvironment_protocols;
D Lformat_string_condition_objectGVenvironment_protocols = &KLformat_string_condition_objectGVenvironment_protocols;
D Dformat_condition_string_idVenvironment_protocols = &KPunboundVKi;
D Dformat_condition_arguments_idVenvironment_protocols = &KPunboundVKi;

/* Objects */

_KLclassGVKd KLcondition_objectGVenvironment_protocols = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_rcpl_single_largeVKiI,
  &K50,
  &K44,
  (D) 1,
  &Kenvironment_protocols_moduleYdylan_userVenvironment_protocols
};

_KLmm_wrapperGVKi_0 KLcondition_objectGVenvironment_protocolsW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K44,
  (D) 1,
  13,
  33554439,
  (D) 1
};

static _KLbyte_stringGVKd_11 K3 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 45,
  "<condition>"
};

static _KLbyte_stringGVKd_5 K4 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 21,
  "dylan"
};

_KLclassGVKd KLformat_string_condition_objectGVenvironment_protocols = {
  &KLclassGVKdW /* wrapper */,
  &Kclass_instanceQ_initialVKiI,
  &K43,
  &K26,
  (D) 1,
  &Kenvironment_protocols_moduleYdylan_userVenvironment_protocols
};

_KLmm_wrapperGVKi_0 KLformat_string_condition_objectGVenvironment_protocolsW = {
  &KLmm_wrapperGVKiW /* wrapper */,
  &K26,
  (D) 1,
  13,
  33554439,
  (D) 1
};

static _KLbyte_stringGVKd_25 K8 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 101,
  "<format-string-condition>"
};

static _KLbyte_stringGVKd_16 K9 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 65,
  "dylan-extensions"
};

static _KLbyte_stringGVKd_23 K11 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 93,
  "format-condition-string"
};

static _KLsymbolGVKd KJmodule_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K25
};

static _KLpairGVKd K13 = {
  &KLpairGVKdW /* wrapper */,
  &KmakeVKdMM48,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_26 K15 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 105,
  "format-condition-arguments"
};

_KLsimple_methodGVKe Kenvironment_object_type_nameVenvironment_protocolsMM40 = {
  &KLsimple_methodGVKeW /* wrapper */,
  &xep_1,
  &K23,
  &Kenvironment_object_type_nameVenvironment_protocolsMM40I
};

static _KLunionGVKe K19 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K21,
  &KLstring_objectGVenvironment_protocols
};

static _KLunionGVKe K20 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K21,
  &KLcollection_objectGVenvironment_protocols
};

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

static _KLbyte_stringGVKd_9 K22 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 37,
  "Condition"
};

static _KLsignatureAvaluesGVKi K23 = {
  &KLsignatureAvaluesGVKiW /* wrapper */,
  (D) 33555461,
  &K24,
  &KDsignature_LstringG_typesVKi
};

static _KLsimple_object_vectorGVKd_1 K24 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLcondition_objectGVenvironment_protocols
};

static _KLbyte_stringGVKd_6 K25 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 25,
  "module"
};

static _KLimplementation_classGVKe K26 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 477102093,
  &KLformat_string_condition_objectGVenvironment_protocols,
  &KLformat_string_condition_objectGVenvironment_protocolsW,
  &KPfalseVKi,
  &K27,
  (D) -3,
  &KLformat_string_condition_objectGZ32ZconstructorVenvironment_protocolsMM0,
  &K24,
  &K30,
  (D) 29,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K27,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

static _KLsimple_object_vectorGVKd_3 K27 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KPprimitive_nameVenvironment_protocolsHLenvironment_objectG,
  &KPidVenvironment_protocolsHLenvironment_object_with_idG,
  &Kapplication_object_proxyVenvironment_protocolsHLapplication_objectG
};

_KLkeyword_methodGVKe KLformat_string_condition_objectGZ32ZconstructorVenvironment_protocolsMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K37,
  &key_mep_2,
  &KLformat_string_condition_objectGZ32ZconstructorVenvironment_protocolsMM0I,
  &K38
};

static _KLsimple_object_vectorGVKd_8 K30 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 33,
  &KLobjectGVKd,
  &KLenvironment_objectGVenvironment_protocols,
  &KLenvironment_object_with_idGVenvironment_protocols,
  &KLapplication_objectGVenvironment_protocols,
  &KLcomposite_objectGVenvironment_protocols,
  &KLuser_objectGVenvironment_protocols,
  &KLcondition_objectGVenvironment_protocols,
  &KLformat_string_condition_objectGVenvironment_protocols
};

static _KLsymbolGVKd KJid_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K36
};

static _KLbyte_stringGVKd_23 K32 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 93,
  "Missing init keyword %="
};

static _KLunionGVKe K33 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K21,
  &KLstringGVKd
};

static _KLunionGVKe K34 = {
  &KLunionGVKeW /* wrapper */,
  &Kunion_instanceQVKiI,
  &K21,
  &KLid_or_integerGVenvironment_protocols
};

static _KLpairGVKd K35 = {
  &KLpairGVKdW /* wrapper */,
  &KinitializeVKdMM1,
  &KPempty_listVKi
};

static _KLbyte_stringGVKd_2 K36 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 9,
  "id"
};

static _KLkeyword_signatureAvaluesGVKi K37 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K41,
  &KDsignature_LobjectG_typesVKi,
  &K42
};

static _KLsimple_object_vectorGVKd_6 K38 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 25,
  &KJname_,
  &KPfalseVKi,
  &KJid_,
  &KPunboundVKi,
  &KJapplication_object_proxy_,
  &KPfalseVKi
};

static _KLsymbolGVKd KJapplication_object_proxy_ = {
  &KLsymbolGVKdW /* wrapper */,
  &K40
};

static _KLbyte_stringGVKd_24 K40 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 97,
  "application-object-proxy"
};

static _KLsimple_object_vectorGVKd_3 K41 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 13,
  &KJname_,
  &KJid_,
  &KJapplication_object_proxy_
};

static _KLsimple_object_vectorGVKd_1 K42 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLformat_string_condition_objectGVenvironment_protocols
};

static _KLbyte_stringGVKd_32 K43 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 129,
  "<format-string-condition-object>"
};

static _KLimplementation_classGVKe K44 = {
  &KLimplementation_classGVKeW /* wrapper */,
  (D) 477102093,
  &KLcondition_objectGVenvironment_protocols,
  &KLcondition_objectGVenvironment_protocolsW,
  &KPfalseVKi,
  &K27,
  (D) -3,
  &KLcondition_objectGZ32ZconstructorVenvironment_protocolsMM0,
  &K47,
  &K48,
  (D) 25,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_listVKi,
  &KPempty_listVKi,
  &K51,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &K27,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi,
  &KPempty_vectorVKi
};

_KLkeyword_methodGVKe KLcondition_objectGZ32ZconstructorVenvironment_protocolsMM0 = {
  &KLkeyword_methodGVKeW /* wrapper */,
  &rest_key_xep_5,
  &K49,
  &key_mep_2,
  &KLcondition_objectGZ32ZconstructorVenvironment_protocolsMM0I,
  &K38
};

static _KLsimple_object_vectorGVKd_1 K47 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 5,
  &KLuser_objectGVenvironment_protocols
};

static _KLsimple_object_vectorGVKd_7 K48 = {
  &KLsimple_object_vectorGVKdW /* wrapper */,
  (D) 29,
  &KLobjectGVKd,
  &KLenvironment_objectGVenvironment_protocols,
  &KLenvironment_object_with_idGVenvironment_protocols,
  &KLapplication_objectGVenvironment_protocols,
  &KLcomposite_objectGVenvironment_protocols,
  &KLuser_objectGVenvironment_protocols,
  &KLcondition_objectGVenvironment_protocols
};

static _KLkeyword_signatureAvaluesGVKi K49 = {
  &KLkeyword_signatureAvaluesGVKiW /* wrapper */,
  (D) 35390469,
  &KDsignature_LclassG_typesVKi,
  &K41,
  &KDsignature_LobjectG_typesVKi,
  &K24
};

static _KLbyte_stringGVKd_18 K50 = {
  &KLbyte_stringGVKdW /* wrapper */,
  (D) 73,
  "<condition-object>"
};

static _KLpairGVKd K51 = {
  &KLpairGVKdW /* wrapper */,
  &KLformat_string_condition_objectGVenvironment_protocols,
  &KPempty_listVKi
};

/* Code */

D Kenvironment_object_type_nameVenvironment_protocolsMM40I (D condition_) {
  D T2_0;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:32
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:34
  T2_0 = &K22;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:32
  MV_SET_COUNT(1);
  return(T2_0);
}

D Kcondition_format_optionsVenvironment_protocolsMM0I (D server_, D condition_) {
  D T3;
  D T4;
  D T5_0;
  D T5_1;
  D T6_0;
  D T6_1;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:37
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:41
  T3 = CALL3(&Kuser_object_slot_valueVenvironment_protocols, server_, condition_, Dformat_condition_string_idVenvironment_protocols);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:43
  T4 = CALL3(&Kuser_object_slot_valueVenvironment_protocols, server_, condition_, Dformat_condition_arguments_idVenvironment_protocols);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:41
  T6_0 = T3;
  T6_1 = T4;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:37
  T5_0 = T6_0;
  T5_1 = T6_1;
  {
    MV_CHECK_TYPE_PROLOGUE(T6_0);
    primitive_type_check(T5_0, &K19);
    primitive_type_check(T5_1, &K20);
    MV_CHECK_TYPE_EPILOGUE();
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:37
  MV_SET_ELT(1, T5_1);
  MV_SET_COUNT(2);
  return(T5_0);
}

D KLformat_string_condition_objectGZ32ZconstructorVenvironment_protocolsMM0I (D class_, D init_args_, D Uunique_Pprimitive_name_, D Uunique_Pid_, D Uunique_application_object_proxy_) {
  D T6;
  D Uunique_PidF7;
  D T8;
  D Uunique_Pprimitive_nameF9;
  D Uunique_PidF10;
  D T11_0;
  D T12;
  _KLsimple_object_vectorGVKd_1 T13 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T14;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:15
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:15
  T12 = primitive_idQ(Uunique_Pid_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:15
  if (T12 != &KPfalseVKi) {
    T13.vector_element_[0] = IKJid_;
    T14 = KerrorVKdMM1I(&K32, &T13);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:15
    T6 = T14;
    Uunique_PidF7 = T6;
  } else {
    Uunique_PidF7 = Uunique_Pid_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:15
  T8 = primitive_object_allocate_filled(4,&KLformat_string_condition_objectGVenvironment_protocolsW,3,&KPunboundVKi,0,0,&KPunboundVKi);
  primitive_type_check(Uunique_Pprimitive_name_, &K33);
  Uunique_Pprimitive_nameF9 = Uunique_Pprimitive_name_;
  SLOT_VALUE_SETTER(Uunique_Pprimitive_nameF9, T8, 0);
  primitive_type_check(Uunique_PidF7, &K34);
  Uunique_PidF10 = Uunique_PidF7;
  SLOT_VALUE_SETTER(Uunique_PidF10, T8, 1);
  SLOT_VALUE_SETTER(Uunique_application_object_proxy_, T8, 2);
  MEP_APPLY2(&KinitializeVKdMenvironment_protocolsM0, &K35, T8, init_args_);
  T11_0 = T8;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:15
  MV_SET_COUNT(1);
  return(T11_0);
}

D KLcondition_objectGZ32ZconstructorVenvironment_protocolsMM0I (D class_, D init_args_, D Uunique_Pprimitive_name_, D Uunique_Pid_, D Uunique_application_object_proxy_) {
  D T6;
  D Uunique_PidF7;
  D T8;
  D Uunique_Pprimitive_nameF9;
  D Uunique_PidF10;
  D T11_0;
  D T12;
  _KLsimple_object_vectorGVKd_1 T13 = {&KLsimple_object_vectorGVKdW, (D) 5};
  D T14;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:11
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:11
  T12 = primitive_idQ(Uunique_Pid_,&KPunboundVKi);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:11
  if (T12 != &KPfalseVKi) {
    T13.vector_element_[0] = IKJid_;
    T14 = KerrorVKdMM1I(&K32, &T13);
    // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:11
    T6 = T14;
    Uunique_PidF7 = T6;
  } else {
    Uunique_PidF7 = Uunique_Pid_;
  }
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:11
  T8 = primitive_object_allocate_filled(4,&KLcondition_objectGVenvironment_protocolsW,3,&KPunboundVKi,0,0,&KPunboundVKi);
  primitive_type_check(Uunique_Pprimitive_name_, &K33);
  Uunique_Pprimitive_nameF9 = Uunique_Pprimitive_name_;
  SLOT_VALUE_SETTER(Uunique_Pprimitive_nameF9, T8, 0);
  primitive_type_check(Uunique_PidF7, &K34);
  Uunique_PidF10 = Uunique_PidF7;
  SLOT_VALUE_SETTER(Uunique_PidF10, T8, 1);
  SLOT_VALUE_SETTER(Uunique_application_object_proxy_, T8, 2);
  MEP_APPLY2(&KinitializeVKdMenvironment_protocolsM0, &K35, T8, init_args_);
  T11_0 = T8;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:11
  MV_SET_COUNT(1);
  return(T11_0);
}


/* SYSTEM INIT CODE */

void _Init_environment_protocols__X_condition_objects_for_system () {
  extern D KPresolve_symbolVKiI(D);
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJmodule_);
    if (T0 != &KJmodule_) {
      IKJmodule_ = T0;
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJid_);
    if (T0 != &KJid_) {
      IKJid_ = T0;
      primitive_repeated_slot_value_setter(T0, &K41, 1, 1);
      primitive_repeated_slot_value_setter(T0, &K38, 1, 2);
    }
  }
  {
    D T0;

    T0 = KPresolve_symbolVKiI(&KJapplication_object_proxy_);
    if (T0 != &KJapplication_object_proxy_) {
      primitive_repeated_slot_value_setter(T0, &K41, 1, 2);
      primitive_repeated_slot_value_setter(T0, &K38, 1, 4);
    }
  }
  return;
}

/* USER INIT CODE */

void _Init_environment_protocols__X_condition_objects_for_user () {
{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:11
  T0 = Kregister_user_object_classVenvironment_protocolsI(&KLcondition_objectGVenvironment_protocols, &K3, &K4, &K4);
  goto I0;
}
I0:

{
  D T0;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:15
  T0 = Kregister_user_object_classVenvironment_protocolsI(&KLformat_string_condition_objectGVenvironment_protocols, &K8, &K9, &K4);
  goto I5;
}
I5:

{
  D T0;
  _KLsimple_object_vectorGVKd_4 T1 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T2;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:20
  T1.vector_element_[0] = &KJname_;
  T1.vector_element_[1] = &K11;
  T1.vector_element_[2] = IKJmodule_;
  T1.vector_element_[3] = Ddylan_extensions_module_idVenvironment_protocols;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:20
  MIEP_CALL_PROLOG(&K13);
  T2 = KmakeVKdMenvironment_protocolsM0I(&KLdefinition_idGVenvironment_protocols, &T1);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:19
  Dformat_condition_string_idVenvironment_protocols = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:19
  T0 = &KPfalseVKi;
  goto I10;
}
I10:

{
  D T0;
  _KLsimple_object_vectorGVKd_4 T1 = {&KLsimple_object_vectorGVKdW, (D) 17};
  D T2;

  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:25
  T1.vector_element_[0] = &KJname_;
  T1.vector_element_[1] = &K15;
  T1.vector_element_[2] = IKJmodule_;
  T1.vector_element_[3] = Ddylan_extensions_module_idVenvironment_protocols;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:25
  MIEP_CALL_PROLOG(&K13);
  T2 = KmakeVKdMenvironment_protocolsM0I(&KLdefinition_idGVenvironment_protocols, &T1);
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:24
  Dformat_condition_arguments_idVenvironment_protocols = T2;
  // /Users/bruce/Development/dylan/opendylan/sources/environment/protocols/condition-objects.dylan:24
  T0 = &KPfalseVKi;
  goto I14;
}
I14:

  return;
}


/* eof */
