/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "NR-RRC-Definitions"
 * 	found in "asn/nr-rrc-15.6.0.asn1"
 * 	`asn1c -fcompound-names -pdu=all -findirect-choice -fno-include-deps -gen-PER -no-gen-OER -no-gen-example -D rrc`
 */

#include "ASN_RRC_MIMO-ParametersPerBand.h"

#include "ASN_RRC_DummyG.h"
#include "ASN_RRC_SRS-Resources.h"
#include "ASN_RRC_DummyH.h"
#include "ASN_RRC_PTRS-DensityRecommendationDL.h"
#include "ASN_RRC_PTRS-DensityRecommendationUL.h"
#include "ASN_RRC_BeamManagementSSB-CSI-RS.h"
#include "ASN_RRC_CodebookParameters.h"
#include "ASN_RRC_CSI-RS-IM-ReceptionForFeedback.h"
#include "ASN_RRC_CSI-RS-ProcFrameworkForSRS.h"
#include "ASN_RRC_CSI-ReportFramework.h"
#include "ASN_RRC_CSI-RS-ForTracking.h"
#include "ASN_RRC_SpatialRelations.h"
#include "ASN_RRC_SupportedCSI-RS-Resource.h"
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
static int
memb_ASN_RRC_maxNumberSRS_ResourceSet_constraint_60(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	long value;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	value = *(const long *)sptr;
	
	if((value >= 1 && value <= 8)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
/*
 * This type is implemented using NativeEnumerated,
 * so here we adjust the DEF accordingly.
 */
static int
memb_ASN_RRC_srs_AssocCSI_RS_constraint_108(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	size_t size;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	/* Determine the number of elements */
	size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
	
	if((size >= 1 && size <= 7)) {
		/* Perform validation of the inner elements */
		return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static int
memb_ASN_RRC_maxNumberRxBeam_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	long value;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	value = *(const long *)sptr;
	
	if((value >= 2 && value <= 8)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static int
memb_ASN_RRC_maxNumberCSI_RS_BFD_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	long value;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	value = *(const long *)sptr;
	
	if((value >= 1 && value <= 64)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static int
memb_ASN_RRC_maxNumberSSB_BFD_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	long value;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	value = *(const long *)sptr;
	
	if((value >= 1 && value <= 64)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static int
memb_ASN_RRC_maxNumberCSI_RS_SSB_CBD_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	long value;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	value = *(const long *)sptr;
	
	if((value >= 1 && value <= 256)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static int
memb_ASN_RRC_dummy3_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
	long value;
	
	if(!sptr) {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: value not given (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
	
	value = *(const long *)sptr;
	
	if((value >= 1 && value <= 4)) {
		/* Constraint check succeeded */
		return 0;
	} else {
		ASN__CTFAIL(app_key, td, sptr,
			"%s: constraint failed (%s:%d)",
			td->name, __FILE__, __LINE__);
		return -1;
	}
}

static asn_per_constraints_t asn_PER_type_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_constr_3 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 3,  3,  0,  5 }	/* (0..5) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_maxNumberActiveTCI_PerBWP_constr_10 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  0,  3 }	/* (0..3) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_additionalActiveTCI_StatePDCCH_constr_15 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_pusch_TransCoherence_constr_17 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  0,  2 }	/* (0..2) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_constr_21 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_periodicBeamReport_constr_23 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_aperiodicBeamReport_constr_25 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_sp_BeamReportPUCCH_constr_27 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_sp_BeamReportPUSCH_constr_29 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_scs_15kHz_constr_34 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  0,  2 }	/* (0..2) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_scs_30kHz_constr_38 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  0,  2 }	/* (0..2) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_scs_60kHz_constr_42 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  0,  2 }	/* (0..2) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_scs_120kHz_constr_46 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  0,  2 }	/* (0..2) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_scs_240kHz_constr_50 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  0,  2 }	/* (0..2) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_maxNumberNonGroupBeamReporting_constr_54 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  0,  2 }	/* (0..2) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_groupBeamReporting_constr_58 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_constr_61 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  0,  3 }	/* (0..3) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_maxNumberSRS_ResourceSet_constr_66 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 3,  3,  1,  8 }	/* (1..8) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_dummy2_constr_70 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_twoPortsPTRS_UL_constr_72 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_scs_15kHz_constr_77 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  0,  2 }	/* (0..2) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_scs_30kHz_constr_81 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  0,  3 }	/* (0..3) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_scs_60kHz_constr_86 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  0,  2 }	/* (0..2) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_scs_120kHz_constr_90 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  0,  2 }	/* (0..2) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_aperiodicTRS_constr_105 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_dummy6_constr_109 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 0,  0,  0,  0 }	/* (0..0) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_scs_60kHz_constr_113 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 3,  3,  0,  4 }	/* (0..4) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_scs_120kHz_constr_119 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 3,  3,  0,  4 }	/* (0..4) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_type_ASN_RRC_srs_AssocCSI_RS_constr_130 CC_NOTUSED = {
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	{ APC_CONSTRAINED,	 3,  3,  1,  7 }	/* (SIZE(1..7)) */,
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_srs_AssocCSI_RS_constr_130 CC_NOTUSED = {
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	{ APC_CONSTRAINED,	 3,  3,  1,  7 }	/* (SIZE(1..7)) */,
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_maxNumberRxBeam_constr_32 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 3,  3,  2,  8 }	/* (2..8) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_maxNumberCSI_RS_BFD_constr_67 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 6,  6,  1,  64 }	/* (1..64) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_maxNumberSSB_BFD_constr_68 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 6,  6,  1,  64 }	/* (1..64) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_maxNumberCSI_RS_SSB_CBD_constr_69 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 8,  8,  1,  256 }	/* (1..256) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_per_constraints_t asn_PER_memb_ASN_RRC_dummy3_constr_75 CC_NOTUSED = {
	{ APC_CONSTRAINED,	 2,  2,  1,  4 }	/* (1..4) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_value2enum_3[] = {
	{ 0,	2,	"n4" },
	{ 1,	2,	"n8" },
	{ 2,	3,	"n16" },
	{ 3,	3,	"n32" },
	{ 4,	3,	"n64" },
	{ 5,	4,	"n128" }
};
static const unsigned int asn_MAP_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_enum2value_3[] = {
	5,	/* n128(5) */
	2,	/* n16(2) */
	3,	/* n32(3) */
	0,	/* n4(0) */
	4,	/* n64(4) */
	1	/* n8(1) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_specs_3 = {
	asn_MAP_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_value2enum_3,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_enum2value_3,	/* N => "tag"; sorted by N */
	6,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_tags_3[] = {
	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_3 = {
	"maxNumberConfiguredTCIstatesPerCC",
	"maxNumberConfiguredTCIstatesPerCC",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_tags_3,
	sizeof(asn_DEF_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_tags_3)
		/sizeof(asn_DEF_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_tags_3[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_tags_3,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_tags_3)
		/sizeof(asn_DEF_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_tags_3[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_constr_3, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_specs_3	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_maxNumberActiveTCI_PerBWP_value2enum_10[] = {
	{ 0,	2,	"n1" },
	{ 1,	2,	"n2" },
	{ 2,	2,	"n4" },
	{ 3,	2,	"n8" }
};
static const unsigned int asn_MAP_ASN_RRC_maxNumberActiveTCI_PerBWP_enum2value_10[] = {
	0,	/* n1(0) */
	1,	/* n2(1) */
	2,	/* n4(2) */
	3	/* n8(3) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_maxNumberActiveTCI_PerBWP_specs_10 = {
	asn_MAP_ASN_RRC_maxNumberActiveTCI_PerBWP_value2enum_10,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_maxNumberActiveTCI_PerBWP_enum2value_10,	/* N => "tag"; sorted by N */
	4,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_maxNumberActiveTCI_PerBWP_tags_10[] = {
	(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_maxNumberActiveTCI_PerBWP_10 = {
	"maxNumberActiveTCI-PerBWP",
	"maxNumberActiveTCI-PerBWP",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_maxNumberActiveTCI_PerBWP_tags_10,
	sizeof(asn_DEF_ASN_RRC_maxNumberActiveTCI_PerBWP_tags_10)
		/sizeof(asn_DEF_ASN_RRC_maxNumberActiveTCI_PerBWP_tags_10[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_maxNumberActiveTCI_PerBWP_tags_10,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_maxNumberActiveTCI_PerBWP_tags_10)
		/sizeof(asn_DEF_ASN_RRC_maxNumberActiveTCI_PerBWP_tags_10[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_maxNumberActiveTCI_PerBWP_constr_10, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_maxNumberActiveTCI_PerBWP_specs_10	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_tci_StatePDSCH_2[] = {
	{ ATF_POINTER, 2, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__tci_StatePDSCH, maxNumberConfiguredTCIstatesPerCC),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_maxNumberConfiguredTCIstatesPerCC_3,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"maxNumberConfiguredTCIstatesPerCC"
		},
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__tci_StatePDSCH, maxNumberActiveTCI_PerBWP),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_maxNumberActiveTCI_PerBWP_10,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"maxNumberActiveTCI-PerBWP"
		},
};
static const int asn_MAP_ASN_RRC_tci_StatePDSCH_oms_2[] = { 0, 1 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_tci_StatePDSCH_tags_2[] = {
	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_tci_StatePDSCH_tag2el_2[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* maxNumberConfiguredTCIstatesPerCC */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* maxNumberActiveTCI-PerBWP */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_tci_StatePDSCH_specs_2 = {
	sizeof(struct ASN_RRC_MIMO_ParametersPerBand__tci_StatePDSCH),
	offsetof(struct ASN_RRC_MIMO_ParametersPerBand__tci_StatePDSCH, _asn_ctx),
	asn_MAP_ASN_RRC_tci_StatePDSCH_tag2el_2,
	2,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_tci_StatePDSCH_oms_2,	/* Optional members */
	2, 0,	/* Root/Additions */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_tci_StatePDSCH_2 = {
	"tci-StatePDSCH",
	"tci-StatePDSCH",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_tci_StatePDSCH_tags_2,
	sizeof(asn_DEF_ASN_RRC_tci_StatePDSCH_tags_2)
		/sizeof(asn_DEF_ASN_RRC_tci_StatePDSCH_tags_2[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_tci_StatePDSCH_tags_2,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_tci_StatePDSCH_tags_2)
		/sizeof(asn_DEF_ASN_RRC_tci_StatePDSCH_tags_2[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_tci_StatePDSCH_2,
	2,	/* Elements count */
	&asn_SPC_ASN_RRC_tci_StatePDSCH_specs_2	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_additionalActiveTCI_StatePDCCH_value2enum_15[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_additionalActiveTCI_StatePDCCH_enum2value_15[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_additionalActiveTCI_StatePDCCH_specs_15 = {
	asn_MAP_ASN_RRC_additionalActiveTCI_StatePDCCH_value2enum_15,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_additionalActiveTCI_StatePDCCH_enum2value_15,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_additionalActiveTCI_StatePDCCH_tags_15[] = {
	(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_additionalActiveTCI_StatePDCCH_15 = {
	"additionalActiveTCI-StatePDCCH",
	"additionalActiveTCI-StatePDCCH",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_additionalActiveTCI_StatePDCCH_tags_15,
	sizeof(asn_DEF_ASN_RRC_additionalActiveTCI_StatePDCCH_tags_15)
		/sizeof(asn_DEF_ASN_RRC_additionalActiveTCI_StatePDCCH_tags_15[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_additionalActiveTCI_StatePDCCH_tags_15,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_additionalActiveTCI_StatePDCCH_tags_15)
		/sizeof(asn_DEF_ASN_RRC_additionalActiveTCI_StatePDCCH_tags_15[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_additionalActiveTCI_StatePDCCH_constr_15, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_additionalActiveTCI_StatePDCCH_specs_15	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_pusch_TransCoherence_value2enum_17[] = {
	{ 0,	11,	"nonCoherent" },
	{ 1,	15,	"partialCoherent" },
	{ 2,	12,	"fullCoherent" }
};
static const unsigned int asn_MAP_ASN_RRC_pusch_TransCoherence_enum2value_17[] = {
	2,	/* fullCoherent(2) */
	0,	/* nonCoherent(0) */
	1	/* partialCoherent(1) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_pusch_TransCoherence_specs_17 = {
	asn_MAP_ASN_RRC_pusch_TransCoherence_value2enum_17,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_pusch_TransCoherence_enum2value_17,	/* N => "tag"; sorted by N */
	3,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_pusch_TransCoherence_tags_17[] = {
	(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_pusch_TransCoherence_17 = {
	"pusch-TransCoherence",
	"pusch-TransCoherence",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_pusch_TransCoherence_tags_17,
	sizeof(asn_DEF_ASN_RRC_pusch_TransCoherence_tags_17)
		/sizeof(asn_DEF_ASN_RRC_pusch_TransCoherence_tags_17[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_pusch_TransCoherence_tags_17,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_pusch_TransCoherence_tags_17)
		/sizeof(asn_DEF_ASN_RRC_pusch_TransCoherence_tags_17[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_pusch_TransCoherence_constr_17, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_pusch_TransCoherence_specs_17	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_value2enum_21[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_enum2value_21[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_specs_21 = {
	asn_MAP_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_value2enum_21,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_enum2value_21,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_tags_21[] = {
	(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_21 = {
	"beamCorrespondenceWithoutUL-BeamSweeping",
	"beamCorrespondenceWithoutUL-BeamSweeping",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_tags_21,
	sizeof(asn_DEF_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_tags_21)
		/sizeof(asn_DEF_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_tags_21[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_tags_21,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_tags_21)
		/sizeof(asn_DEF_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_tags_21[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_constr_21, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_specs_21	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_periodicBeamReport_value2enum_23[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_periodicBeamReport_enum2value_23[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_periodicBeamReport_specs_23 = {
	asn_MAP_ASN_RRC_periodicBeamReport_value2enum_23,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_periodicBeamReport_enum2value_23,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_periodicBeamReport_tags_23[] = {
	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_periodicBeamReport_23 = {
	"periodicBeamReport",
	"periodicBeamReport",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_periodicBeamReport_tags_23,
	sizeof(asn_DEF_ASN_RRC_periodicBeamReport_tags_23)
		/sizeof(asn_DEF_ASN_RRC_periodicBeamReport_tags_23[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_periodicBeamReport_tags_23,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_periodicBeamReport_tags_23)
		/sizeof(asn_DEF_ASN_RRC_periodicBeamReport_tags_23[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_periodicBeamReport_constr_23, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_periodicBeamReport_specs_23	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_aperiodicBeamReport_value2enum_25[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_aperiodicBeamReport_enum2value_25[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_aperiodicBeamReport_specs_25 = {
	asn_MAP_ASN_RRC_aperiodicBeamReport_value2enum_25,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_aperiodicBeamReport_enum2value_25,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_aperiodicBeamReport_tags_25[] = {
	(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_aperiodicBeamReport_25 = {
	"aperiodicBeamReport",
	"aperiodicBeamReport",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_aperiodicBeamReport_tags_25,
	sizeof(asn_DEF_ASN_RRC_aperiodicBeamReport_tags_25)
		/sizeof(asn_DEF_ASN_RRC_aperiodicBeamReport_tags_25[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_aperiodicBeamReport_tags_25,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_aperiodicBeamReport_tags_25)
		/sizeof(asn_DEF_ASN_RRC_aperiodicBeamReport_tags_25[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_aperiodicBeamReport_constr_25, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_aperiodicBeamReport_specs_25	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_sp_BeamReportPUCCH_value2enum_27[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_sp_BeamReportPUCCH_enum2value_27[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_sp_BeamReportPUCCH_specs_27 = {
	asn_MAP_ASN_RRC_sp_BeamReportPUCCH_value2enum_27,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_sp_BeamReportPUCCH_enum2value_27,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_sp_BeamReportPUCCH_tags_27[] = {
	(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_sp_BeamReportPUCCH_27 = {
	"sp-BeamReportPUCCH",
	"sp-BeamReportPUCCH",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_sp_BeamReportPUCCH_tags_27,
	sizeof(asn_DEF_ASN_RRC_sp_BeamReportPUCCH_tags_27)
		/sizeof(asn_DEF_ASN_RRC_sp_BeamReportPUCCH_tags_27[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_sp_BeamReportPUCCH_tags_27,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_sp_BeamReportPUCCH_tags_27)
		/sizeof(asn_DEF_ASN_RRC_sp_BeamReportPUCCH_tags_27[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_sp_BeamReportPUCCH_constr_27, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_sp_BeamReportPUCCH_specs_27	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_sp_BeamReportPUSCH_value2enum_29[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_sp_BeamReportPUSCH_enum2value_29[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_sp_BeamReportPUSCH_specs_29 = {
	asn_MAP_ASN_RRC_sp_BeamReportPUSCH_value2enum_29,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_sp_BeamReportPUSCH_enum2value_29,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_sp_BeamReportPUSCH_tags_29[] = {
	(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_sp_BeamReportPUSCH_29 = {
	"sp-BeamReportPUSCH",
	"sp-BeamReportPUSCH",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_sp_BeamReportPUSCH_tags_29,
	sizeof(asn_DEF_ASN_RRC_sp_BeamReportPUSCH_tags_29)
		/sizeof(asn_DEF_ASN_RRC_sp_BeamReportPUSCH_tags_29[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_sp_BeamReportPUSCH_tags_29,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_sp_BeamReportPUSCH_tags_29)
		/sizeof(asn_DEF_ASN_RRC_sp_BeamReportPUSCH_tags_29[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_sp_BeamReportPUSCH_constr_29, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_sp_BeamReportPUSCH_specs_29	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_scs_15kHz_value2enum_34[] = {
	{ 0,	2,	"n4" },
	{ 1,	2,	"n7" },
	{ 2,	3,	"n14" }
};
static const unsigned int asn_MAP_ASN_RRC_scs_15kHz_enum2value_34[] = {
	2,	/* n14(2) */
	0,	/* n4(0) */
	1	/* n7(1) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_scs_15kHz_specs_34 = {
	asn_MAP_ASN_RRC_scs_15kHz_value2enum_34,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_scs_15kHz_enum2value_34,	/* N => "tag"; sorted by N */
	3,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_scs_15kHz_tags_34[] = {
	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_scs_15kHz_34 = {
	"scs-15kHz",
	"scs-15kHz",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_scs_15kHz_tags_34,
	sizeof(asn_DEF_ASN_RRC_scs_15kHz_tags_34)
		/sizeof(asn_DEF_ASN_RRC_scs_15kHz_tags_34[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_scs_15kHz_tags_34,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_scs_15kHz_tags_34)
		/sizeof(asn_DEF_ASN_RRC_scs_15kHz_tags_34[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_scs_15kHz_constr_34, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_scs_15kHz_specs_34	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_scs_30kHz_value2enum_38[] = {
	{ 0,	2,	"n4" },
	{ 1,	2,	"n7" },
	{ 2,	3,	"n14" }
};
static const unsigned int asn_MAP_ASN_RRC_scs_30kHz_enum2value_38[] = {
	2,	/* n14(2) */
	0,	/* n4(0) */
	1	/* n7(1) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_scs_30kHz_specs_38 = {
	asn_MAP_ASN_RRC_scs_30kHz_value2enum_38,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_scs_30kHz_enum2value_38,	/* N => "tag"; sorted by N */
	3,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_scs_30kHz_tags_38[] = {
	(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_scs_30kHz_38 = {
	"scs-30kHz",
	"scs-30kHz",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_scs_30kHz_tags_38,
	sizeof(asn_DEF_ASN_RRC_scs_30kHz_tags_38)
		/sizeof(asn_DEF_ASN_RRC_scs_30kHz_tags_38[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_scs_30kHz_tags_38,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_scs_30kHz_tags_38)
		/sizeof(asn_DEF_ASN_RRC_scs_30kHz_tags_38[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_scs_30kHz_constr_38, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_scs_30kHz_specs_38	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_scs_60kHz_value2enum_42[] = {
	{ 0,	2,	"n4" },
	{ 1,	2,	"n7" },
	{ 2,	3,	"n14" }
};
static const unsigned int asn_MAP_ASN_RRC_scs_60kHz_enum2value_42[] = {
	2,	/* n14(2) */
	0,	/* n4(0) */
	1	/* n7(1) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_scs_60kHz_specs_42 = {
	asn_MAP_ASN_RRC_scs_60kHz_value2enum_42,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_scs_60kHz_enum2value_42,	/* N => "tag"; sorted by N */
	3,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_scs_60kHz_tags_42[] = {
	(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_scs_60kHz_42 = {
	"scs-60kHz",
	"scs-60kHz",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_scs_60kHz_tags_42,
	sizeof(asn_DEF_ASN_RRC_scs_60kHz_tags_42)
		/sizeof(asn_DEF_ASN_RRC_scs_60kHz_tags_42[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_scs_60kHz_tags_42,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_scs_60kHz_tags_42)
		/sizeof(asn_DEF_ASN_RRC_scs_60kHz_tags_42[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_scs_60kHz_constr_42, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_scs_60kHz_specs_42	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_scs_120kHz_value2enum_46[] = {
	{ 0,	2,	"n4" },
	{ 1,	2,	"n7" },
	{ 2,	3,	"n14" }
};
static const unsigned int asn_MAP_ASN_RRC_scs_120kHz_enum2value_46[] = {
	2,	/* n14(2) */
	0,	/* n4(0) */
	1	/* n7(1) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_scs_120kHz_specs_46 = {
	asn_MAP_ASN_RRC_scs_120kHz_value2enum_46,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_scs_120kHz_enum2value_46,	/* N => "tag"; sorted by N */
	3,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_scs_120kHz_tags_46[] = {
	(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_scs_120kHz_46 = {
	"scs-120kHz",
	"scs-120kHz",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_scs_120kHz_tags_46,
	sizeof(asn_DEF_ASN_RRC_scs_120kHz_tags_46)
		/sizeof(asn_DEF_ASN_RRC_scs_120kHz_tags_46[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_scs_120kHz_tags_46,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_scs_120kHz_tags_46)
		/sizeof(asn_DEF_ASN_RRC_scs_120kHz_tags_46[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_scs_120kHz_constr_46, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_scs_120kHz_specs_46	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_scs_240kHz_value2enum_50[] = {
	{ 0,	2,	"n4" },
	{ 1,	2,	"n7" },
	{ 2,	3,	"n14" }
};
static const unsigned int asn_MAP_ASN_RRC_scs_240kHz_enum2value_50[] = {
	2,	/* n14(2) */
	0,	/* n4(0) */
	1	/* n7(1) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_scs_240kHz_specs_50 = {
	asn_MAP_ASN_RRC_scs_240kHz_value2enum_50,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_scs_240kHz_enum2value_50,	/* N => "tag"; sorted by N */
	3,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_scs_240kHz_tags_50[] = {
	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_scs_240kHz_50 = {
	"scs-240kHz",
	"scs-240kHz",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_scs_240kHz_tags_50,
	sizeof(asn_DEF_ASN_RRC_scs_240kHz_tags_50)
		/sizeof(asn_DEF_ASN_RRC_scs_240kHz_tags_50[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_scs_240kHz_tags_50,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_scs_240kHz_tags_50)
		/sizeof(asn_DEF_ASN_RRC_scs_240kHz_tags_50[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_scs_240kHz_constr_50, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_scs_240kHz_specs_50	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_maxNumberRxTxBeamSwitchDL_33[] = {
	{ ATF_POINTER, 5, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__maxNumberRxTxBeamSwitchDL, scs_15kHz),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_scs_15kHz_34,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-15kHz"
		},
	{ ATF_POINTER, 4, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__maxNumberRxTxBeamSwitchDL, scs_30kHz),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_scs_30kHz_38,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-30kHz"
		},
	{ ATF_POINTER, 3, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__maxNumberRxTxBeamSwitchDL, scs_60kHz),
		(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_scs_60kHz_42,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-60kHz"
		},
	{ ATF_POINTER, 2, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__maxNumberRxTxBeamSwitchDL, scs_120kHz),
		(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_scs_120kHz_46,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-120kHz"
		},
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__maxNumberRxTxBeamSwitchDL, scs_240kHz),
		(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_scs_240kHz_50,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-240kHz"
		},
};
static const int asn_MAP_ASN_RRC_maxNumberRxTxBeamSwitchDL_oms_33[] = { 0, 1, 2, 3, 4 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_maxNumberRxTxBeamSwitchDL_tags_33[] = {
	(ASN_TAG_CLASS_CONTEXT | (10 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_maxNumberRxTxBeamSwitchDL_tag2el_33[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-15kHz */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scs-30kHz */
    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scs-60kHz */
    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* scs-120kHz */
    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* scs-240kHz */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_maxNumberRxTxBeamSwitchDL_specs_33 = {
	sizeof(struct ASN_RRC_MIMO_ParametersPerBand__maxNumberRxTxBeamSwitchDL),
	offsetof(struct ASN_RRC_MIMO_ParametersPerBand__maxNumberRxTxBeamSwitchDL, _asn_ctx),
	asn_MAP_ASN_RRC_maxNumberRxTxBeamSwitchDL_tag2el_33,
	5,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_maxNumberRxTxBeamSwitchDL_oms_33,	/* Optional members */
	5, 0,	/* Root/Additions */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_maxNumberRxTxBeamSwitchDL_33 = {
	"maxNumberRxTxBeamSwitchDL",
	"maxNumberRxTxBeamSwitchDL",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_maxNumberRxTxBeamSwitchDL_tags_33,
	sizeof(asn_DEF_ASN_RRC_maxNumberRxTxBeamSwitchDL_tags_33)
		/sizeof(asn_DEF_ASN_RRC_maxNumberRxTxBeamSwitchDL_tags_33[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_maxNumberRxTxBeamSwitchDL_tags_33,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_maxNumberRxTxBeamSwitchDL_tags_33)
		/sizeof(asn_DEF_ASN_RRC_maxNumberRxTxBeamSwitchDL_tags_33[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_maxNumberRxTxBeamSwitchDL_33,
	5,	/* Elements count */
	&asn_SPC_ASN_RRC_maxNumberRxTxBeamSwitchDL_specs_33	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_maxNumberNonGroupBeamReporting_value2enum_54[] = {
	{ 0,	2,	"n1" },
	{ 1,	2,	"n2" },
	{ 2,	2,	"n4" }
};
static const unsigned int asn_MAP_ASN_RRC_maxNumberNonGroupBeamReporting_enum2value_54[] = {
	0,	/* n1(0) */
	1,	/* n2(1) */
	2	/* n4(2) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_maxNumberNonGroupBeamReporting_specs_54 = {
	asn_MAP_ASN_RRC_maxNumberNonGroupBeamReporting_value2enum_54,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_maxNumberNonGroupBeamReporting_enum2value_54,	/* N => "tag"; sorted by N */
	3,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_maxNumberNonGroupBeamReporting_tags_54[] = {
	(ASN_TAG_CLASS_CONTEXT | (11 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_maxNumberNonGroupBeamReporting_54 = {
	"maxNumberNonGroupBeamReporting",
	"maxNumberNonGroupBeamReporting",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_maxNumberNonGroupBeamReporting_tags_54,
	sizeof(asn_DEF_ASN_RRC_maxNumberNonGroupBeamReporting_tags_54)
		/sizeof(asn_DEF_ASN_RRC_maxNumberNonGroupBeamReporting_tags_54[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_maxNumberNonGroupBeamReporting_tags_54,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_maxNumberNonGroupBeamReporting_tags_54)
		/sizeof(asn_DEF_ASN_RRC_maxNumberNonGroupBeamReporting_tags_54[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_maxNumberNonGroupBeamReporting_constr_54, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_maxNumberNonGroupBeamReporting_specs_54	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_groupBeamReporting_value2enum_58[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_groupBeamReporting_enum2value_58[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_groupBeamReporting_specs_58 = {
	asn_MAP_ASN_RRC_groupBeamReporting_value2enum_58,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_groupBeamReporting_enum2value_58,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_groupBeamReporting_tags_58[] = {
	(ASN_TAG_CLASS_CONTEXT | (12 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_groupBeamReporting_58 = {
	"groupBeamReporting",
	"groupBeamReporting",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_groupBeamReporting_tags_58,
	sizeof(asn_DEF_ASN_RRC_groupBeamReporting_tags_58)
		/sizeof(asn_DEF_ASN_RRC_groupBeamReporting_tags_58[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_groupBeamReporting_tags_58,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_groupBeamReporting_tags_58)
		/sizeof(asn_DEF_ASN_RRC_groupBeamReporting_tags_58[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_groupBeamReporting_constr_58, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_groupBeamReporting_specs_58	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_value2enum_61[] = {
	{ 0,	2,	"n2" },
	{ 1,	2,	"n4" },
	{ 2,	2,	"n8" },
	{ 3,	3,	"n16" }
};
static const unsigned int asn_MAP_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_enum2value_61[] = {
	3,	/* n16(3) */
	0,	/* n2(0) */
	1,	/* n4(1) */
	2	/* n8(2) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_specs_61 = {
	asn_MAP_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_value2enum_61,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_enum2value_61,	/* N => "tag"; sorted by N */
	4,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_tags_61[] = {
	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_61 = {
	"maxNumberSRS-ResourcePerSet-BM",
	"maxNumberSRS-ResourcePerSet-BM",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_tags_61,
	sizeof(asn_DEF_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_tags_61)
		/sizeof(asn_DEF_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_tags_61[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_tags_61,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_tags_61)
		/sizeof(asn_DEF_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_tags_61[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_constr_61, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_specs_61	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_uplinkBeamManagement_60[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__uplinkBeamManagement, maxNumberSRS_ResourcePerSet_BM),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_maxNumberSRS_ResourcePerSet_BM_61,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"maxNumberSRS-ResourcePerSet-BM"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__uplinkBeamManagement, maxNumberSRS_ResourceSet),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_NativeInteger,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_maxNumberSRS_ResourceSet_constr_66,  memb_ASN_RRC_maxNumberSRS_ResourceSet_constraint_60 },
		0, 0, /* No default value */
		"maxNumberSRS-ResourceSet"
		},
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_uplinkBeamManagement_tags_60[] = {
	(ASN_TAG_CLASS_CONTEXT | (13 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_uplinkBeamManagement_tag2el_60[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* maxNumberSRS-ResourcePerSet-BM */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* maxNumberSRS-ResourceSet */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_uplinkBeamManagement_specs_60 = {
	sizeof(struct ASN_RRC_MIMO_ParametersPerBand__uplinkBeamManagement),
	offsetof(struct ASN_RRC_MIMO_ParametersPerBand__uplinkBeamManagement, _asn_ctx),
	asn_MAP_ASN_RRC_uplinkBeamManagement_tag2el_60,
	2,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_uplinkBeamManagement_60 = {
	"uplinkBeamManagement",
	"uplinkBeamManagement",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_uplinkBeamManagement_tags_60,
	sizeof(asn_DEF_ASN_RRC_uplinkBeamManagement_tags_60)
		/sizeof(asn_DEF_ASN_RRC_uplinkBeamManagement_tags_60[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_uplinkBeamManagement_tags_60,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_uplinkBeamManagement_tags_60)
		/sizeof(asn_DEF_ASN_RRC_uplinkBeamManagement_tags_60[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_uplinkBeamManagement_60,
	2,	/* Elements count */
	&asn_SPC_ASN_RRC_uplinkBeamManagement_specs_60	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_dummy2_value2enum_70[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_dummy2_enum2value_70[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_dummy2_specs_70 = {
	asn_MAP_ASN_RRC_dummy2_value2enum_70,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_dummy2_enum2value_70,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_dummy2_tags_70[] = {
	(ASN_TAG_CLASS_CONTEXT | (17 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_dummy2_70 = {
	"dummy2",
	"dummy2",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_dummy2_tags_70,
	sizeof(asn_DEF_ASN_RRC_dummy2_tags_70)
		/sizeof(asn_DEF_ASN_RRC_dummy2_tags_70[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_dummy2_tags_70,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_dummy2_tags_70)
		/sizeof(asn_DEF_ASN_RRC_dummy2_tags_70[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_dummy2_constr_70, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_dummy2_specs_70	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_twoPortsPTRS_UL_value2enum_72[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_twoPortsPTRS_UL_enum2value_72[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_twoPortsPTRS_UL_specs_72 = {
	asn_MAP_ASN_RRC_twoPortsPTRS_UL_value2enum_72,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_twoPortsPTRS_UL_enum2value_72,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_twoPortsPTRS_UL_tags_72[] = {
	(ASN_TAG_CLASS_CONTEXT | (18 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_twoPortsPTRS_UL_72 = {
	"twoPortsPTRS-UL",
	"twoPortsPTRS-UL",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_twoPortsPTRS_UL_tags_72,
	sizeof(asn_DEF_ASN_RRC_twoPortsPTRS_UL_tags_72)
		/sizeof(asn_DEF_ASN_RRC_twoPortsPTRS_UL_tags_72[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_twoPortsPTRS_UL_tags_72,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_twoPortsPTRS_UL_tags_72)
		/sizeof(asn_DEF_ASN_RRC_twoPortsPTRS_UL_tags_72[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_twoPortsPTRS_UL_constr_72, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_twoPortsPTRS_UL_specs_72	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_scs_15kHz_value2enum_77[] = {
	{ 0,	4,	"sym2" },
	{ 1,	4,	"sym4" },
	{ 2,	4,	"sym8" }
};
static const unsigned int asn_MAP_ASN_RRC_scs_15kHz_enum2value_77[] = {
	0,	/* sym2(0) */
	1,	/* sym4(1) */
	2	/* sym8(2) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_scs_15kHz_specs_77 = {
	asn_MAP_ASN_RRC_scs_15kHz_value2enum_77,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_scs_15kHz_enum2value_77,	/* N => "tag"; sorted by N */
	3,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_scs_15kHz_tags_77[] = {
	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_scs_15kHz_77 = {
	"scs-15kHz",
	"scs-15kHz",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_scs_15kHz_tags_77,
	sizeof(asn_DEF_ASN_RRC_scs_15kHz_tags_77)
		/sizeof(asn_DEF_ASN_RRC_scs_15kHz_tags_77[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_scs_15kHz_tags_77,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_scs_15kHz_tags_77)
		/sizeof(asn_DEF_ASN_RRC_scs_15kHz_tags_77[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_scs_15kHz_constr_77, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_scs_15kHz_specs_77	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_scs_30kHz_value2enum_81[] = {
	{ 0,	4,	"sym4" },
	{ 1,	4,	"sym8" },
	{ 2,	5,	"sym14" },
	{ 3,	5,	"sym28" }
};
static const unsigned int asn_MAP_ASN_RRC_scs_30kHz_enum2value_81[] = {
	2,	/* sym14(2) */
	3,	/* sym28(3) */
	0,	/* sym4(0) */
	1	/* sym8(1) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_scs_30kHz_specs_81 = {
	asn_MAP_ASN_RRC_scs_30kHz_value2enum_81,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_scs_30kHz_enum2value_81,	/* N => "tag"; sorted by N */
	4,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_scs_30kHz_tags_81[] = {
	(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_scs_30kHz_81 = {
	"scs-30kHz",
	"scs-30kHz",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_scs_30kHz_tags_81,
	sizeof(asn_DEF_ASN_RRC_scs_30kHz_tags_81)
		/sizeof(asn_DEF_ASN_RRC_scs_30kHz_tags_81[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_scs_30kHz_tags_81,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_scs_30kHz_tags_81)
		/sizeof(asn_DEF_ASN_RRC_scs_30kHz_tags_81[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_scs_30kHz_constr_81, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_scs_30kHz_specs_81	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_scs_60kHz_value2enum_86[] = {
	{ 0,	4,	"sym8" },
	{ 1,	5,	"sym14" },
	{ 2,	5,	"sym28" }
};
static const unsigned int asn_MAP_ASN_RRC_scs_60kHz_enum2value_86[] = {
	1,	/* sym14(1) */
	2,	/* sym28(2) */
	0	/* sym8(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_scs_60kHz_specs_86 = {
	asn_MAP_ASN_RRC_scs_60kHz_value2enum_86,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_scs_60kHz_enum2value_86,	/* N => "tag"; sorted by N */
	3,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_scs_60kHz_tags_86[] = {
	(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_scs_60kHz_86 = {
	"scs-60kHz",
	"scs-60kHz",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_scs_60kHz_tags_86,
	sizeof(asn_DEF_ASN_RRC_scs_60kHz_tags_86)
		/sizeof(asn_DEF_ASN_RRC_scs_60kHz_tags_86[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_scs_60kHz_tags_86,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_scs_60kHz_tags_86)
		/sizeof(asn_DEF_ASN_RRC_scs_60kHz_tags_86[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_scs_60kHz_constr_86, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_scs_60kHz_specs_86	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_scs_120kHz_value2enum_90[] = {
	{ 0,	5,	"sym14" },
	{ 1,	5,	"sym28" },
	{ 2,	5,	"sym56" }
};
static const unsigned int asn_MAP_ASN_RRC_scs_120kHz_enum2value_90[] = {
	0,	/* sym14(0) */
	1,	/* sym28(1) */
	2	/* sym56(2) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_scs_120kHz_specs_90 = {
	asn_MAP_ASN_RRC_scs_120kHz_value2enum_90,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_scs_120kHz_enum2value_90,	/* N => "tag"; sorted by N */
	3,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_scs_120kHz_tags_90[] = {
	(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_scs_120kHz_90 = {
	"scs-120kHz",
	"scs-120kHz",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_scs_120kHz_tags_90,
	sizeof(asn_DEF_ASN_RRC_scs_120kHz_tags_90)
		/sizeof(asn_DEF_ASN_RRC_scs_120kHz_tags_90[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_scs_120kHz_tags_90,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_scs_120kHz_tags_90)
		/sizeof(asn_DEF_ASN_RRC_scs_120kHz_tags_90[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_scs_120kHz_constr_90, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_scs_120kHz_specs_90	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_beamReportTiming_76[] = {
	{ ATF_POINTER, 4, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__beamReportTiming, scs_15kHz),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_scs_15kHz_77,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-15kHz"
		},
	{ ATF_POINTER, 3, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__beamReportTiming, scs_30kHz),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_scs_30kHz_81,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-30kHz"
		},
	{ ATF_POINTER, 2, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__beamReportTiming, scs_60kHz),
		(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_scs_60kHz_86,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-60kHz"
		},
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__beamReportTiming, scs_120kHz),
		(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_scs_120kHz_90,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-120kHz"
		},
};
static const int asn_MAP_ASN_RRC_beamReportTiming_oms_76[] = { 0, 1, 2, 3 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_beamReportTiming_tags_76[] = {
	(ASN_TAG_CLASS_CONTEXT | (21 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_beamReportTiming_tag2el_76[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-15kHz */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scs-30kHz */
    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scs-60kHz */
    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* scs-120kHz */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_beamReportTiming_specs_76 = {
	sizeof(struct ASN_RRC_MIMO_ParametersPerBand__beamReportTiming),
	offsetof(struct ASN_RRC_MIMO_ParametersPerBand__beamReportTiming, _asn_ctx),
	asn_MAP_ASN_RRC_beamReportTiming_tag2el_76,
	4,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_beamReportTiming_oms_76,	/* Optional members */
	4, 0,	/* Root/Additions */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_beamReportTiming_76 = {
	"beamReportTiming",
	"beamReportTiming",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_beamReportTiming_tags_76,
	sizeof(asn_DEF_ASN_RRC_beamReportTiming_tags_76)
		/sizeof(asn_DEF_ASN_RRC_beamReportTiming_tags_76[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_beamReportTiming_tags_76,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_beamReportTiming_tags_76)
		/sizeof(asn_DEF_ASN_RRC_beamReportTiming_tags_76[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_beamReportTiming_76,
	4,	/* Elements count */
	&asn_SPC_ASN_RRC_beamReportTiming_specs_76	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_ptrs_DensityRecommendationSetDL_94[] = {
	{ ATF_POINTER, 4, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ptrs_DensityRecommendationSetDL, scs_15kHz),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_PTRS_DensityRecommendationDL,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-15kHz"
		},
	{ ATF_POINTER, 3, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ptrs_DensityRecommendationSetDL, scs_30kHz),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_PTRS_DensityRecommendationDL,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-30kHz"
		},
	{ ATF_POINTER, 2, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ptrs_DensityRecommendationSetDL, scs_60kHz),
		(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_PTRS_DensityRecommendationDL,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-60kHz"
		},
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ptrs_DensityRecommendationSetDL, scs_120kHz),
		(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_PTRS_DensityRecommendationDL,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-120kHz"
		},
};
static const int asn_MAP_ASN_RRC_ptrs_DensityRecommendationSetDL_oms_94[] = { 0, 1, 2, 3 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetDL_tags_94[] = {
	(ASN_TAG_CLASS_CONTEXT | (22 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_ptrs_DensityRecommendationSetDL_tag2el_94[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-15kHz */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scs-30kHz */
    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scs-60kHz */
    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* scs-120kHz */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_ptrs_DensityRecommendationSetDL_specs_94 = {
	sizeof(struct ASN_RRC_MIMO_ParametersPerBand__ptrs_DensityRecommendationSetDL),
	offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ptrs_DensityRecommendationSetDL, _asn_ctx),
	asn_MAP_ASN_RRC_ptrs_DensityRecommendationSetDL_tag2el_94,
	4,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_ptrs_DensityRecommendationSetDL_oms_94,	/* Optional members */
	4, 0,	/* Root/Additions */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetDL_94 = {
	"ptrs-DensityRecommendationSetDL",
	"ptrs-DensityRecommendationSetDL",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetDL_tags_94,
	sizeof(asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetDL_tags_94)
		/sizeof(asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetDL_tags_94[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetDL_tags_94,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetDL_tags_94)
		/sizeof(asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetDL_tags_94[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_ptrs_DensityRecommendationSetDL_94,
	4,	/* Elements count */
	&asn_SPC_ASN_RRC_ptrs_DensityRecommendationSetDL_specs_94	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_ptrs_DensityRecommendationSetUL_99[] = {
	{ ATF_POINTER, 4, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ptrs_DensityRecommendationSetUL, scs_15kHz),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_PTRS_DensityRecommendationUL,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-15kHz"
		},
	{ ATF_POINTER, 3, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ptrs_DensityRecommendationSetUL, scs_30kHz),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_PTRS_DensityRecommendationUL,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-30kHz"
		},
	{ ATF_POINTER, 2, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ptrs_DensityRecommendationSetUL, scs_60kHz),
		(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_PTRS_DensityRecommendationUL,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-60kHz"
		},
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ptrs_DensityRecommendationSetUL, scs_120kHz),
		(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_PTRS_DensityRecommendationUL,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-120kHz"
		},
};
static const int asn_MAP_ASN_RRC_ptrs_DensityRecommendationSetUL_oms_99[] = { 0, 1, 2, 3 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetUL_tags_99[] = {
	(ASN_TAG_CLASS_CONTEXT | (23 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_ptrs_DensityRecommendationSetUL_tag2el_99[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-15kHz */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scs-30kHz */
    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scs-60kHz */
    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* scs-120kHz */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_ptrs_DensityRecommendationSetUL_specs_99 = {
	sizeof(struct ASN_RRC_MIMO_ParametersPerBand__ptrs_DensityRecommendationSetUL),
	offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ptrs_DensityRecommendationSetUL, _asn_ctx),
	asn_MAP_ASN_RRC_ptrs_DensityRecommendationSetUL_tag2el_99,
	4,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_ptrs_DensityRecommendationSetUL_oms_99,	/* Optional members */
	4, 0,	/* Root/Additions */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetUL_99 = {
	"ptrs-DensityRecommendationSetUL",
	"ptrs-DensityRecommendationSetUL",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetUL_tags_99,
	sizeof(asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetUL_tags_99)
		/sizeof(asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetUL_tags_99[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetUL_tags_99,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetUL_tags_99)
		/sizeof(asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetUL_tags_99[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_ptrs_DensityRecommendationSetUL_99,
	4,	/* Elements count */
	&asn_SPC_ASN_RRC_ptrs_DensityRecommendationSetUL_specs_99	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_aperiodicTRS_value2enum_105[] = {
	{ 0,	9,	"supported" }
};
static const unsigned int asn_MAP_ASN_RRC_aperiodicTRS_enum2value_105[] = {
	0	/* supported(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_aperiodicTRS_specs_105 = {
	asn_MAP_ASN_RRC_aperiodicTRS_value2enum_105,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_aperiodicTRS_enum2value_105,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_aperiodicTRS_tags_105[] = {
	(ASN_TAG_CLASS_CONTEXT | (25 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_aperiodicTRS_105 = {
	"aperiodicTRS",
	"aperiodicTRS",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_aperiodicTRS_tags_105,
	sizeof(asn_DEF_ASN_RRC_aperiodicTRS_tags_105)
		/sizeof(asn_DEF_ASN_RRC_aperiodicTRS_tags_105[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_aperiodicTRS_tags_105,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_aperiodicTRS_tags_105)
		/sizeof(asn_DEF_ASN_RRC_aperiodicTRS_tags_105[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_aperiodicTRS_constr_105, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_aperiodicTRS_specs_105	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_dummy6_value2enum_109[] = {
	{ 0,	4,	"true" }
};
static const unsigned int asn_MAP_ASN_RRC_dummy6_enum2value_109[] = {
	0	/* true(0) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_dummy6_specs_109 = {
	asn_MAP_ASN_RRC_dummy6_value2enum_109,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_dummy6_enum2value_109,	/* N => "tag"; sorted by N */
	1,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_dummy6_tags_109[] = {
	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_dummy6_109 = {
	"dummy6",
	"dummy6",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_dummy6_tags_109,
	sizeof(asn_DEF_ASN_RRC_dummy6_tags_109)
		/sizeof(asn_DEF_ASN_RRC_dummy6_tags_109[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_dummy6_tags_109,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_dummy6_tags_109)
		/sizeof(asn_DEF_ASN_RRC_dummy6_tags_109[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_dummy6_constr_109, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_dummy6_specs_109	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_scs_60kHz_value2enum_113[] = {
	{ 0,	5,	"sym14" },
	{ 1,	5,	"sym28" },
	{ 2,	5,	"sym48" },
	{ 3,	6,	"sym224" },
	{ 4,	6,	"sym336" }
};
static const unsigned int asn_MAP_ASN_RRC_scs_60kHz_enum2value_113[] = {
	0,	/* sym14(0) */
	3,	/* sym224(3) */
	1,	/* sym28(1) */
	4,	/* sym336(4) */
	2	/* sym48(2) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_scs_60kHz_specs_113 = {
	asn_MAP_ASN_RRC_scs_60kHz_value2enum_113,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_scs_60kHz_enum2value_113,	/* N => "tag"; sorted by N */
	5,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_scs_60kHz_tags_113[] = {
	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_scs_60kHz_113 = {
	"scs-60kHz",
	"scs-60kHz",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_scs_60kHz_tags_113,
	sizeof(asn_DEF_ASN_RRC_scs_60kHz_tags_113)
		/sizeof(asn_DEF_ASN_RRC_scs_60kHz_tags_113[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_scs_60kHz_tags_113,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_scs_60kHz_tags_113)
		/sizeof(asn_DEF_ASN_RRC_scs_60kHz_tags_113[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_scs_60kHz_constr_113, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_scs_60kHz_specs_113	/* Additional specs */
};

static const asn_INTEGER_enum_map_t asn_MAP_ASN_RRC_scs_120kHz_value2enum_119[] = {
	{ 0,	5,	"sym14" },
	{ 1,	5,	"sym28" },
	{ 2,	5,	"sym48" },
	{ 3,	6,	"sym224" },
	{ 4,	6,	"sym336" }
};
static const unsigned int asn_MAP_ASN_RRC_scs_120kHz_enum2value_119[] = {
	0,	/* sym14(0) */
	3,	/* sym224(3) */
	1,	/* sym28(1) */
	4,	/* sym336(4) */
	2	/* sym48(2) */
};
static const asn_INTEGER_specifics_t asn_SPC_ASN_RRC_scs_120kHz_specs_119 = {
	asn_MAP_ASN_RRC_scs_120kHz_value2enum_119,	/* "tag" => N; sorted by tag */
	asn_MAP_ASN_RRC_scs_120kHz_enum2value_119,	/* N => "tag"; sorted by N */
	5,	/* Number of elements in the maps */
	0,	/* Enumeration is not extensible */
	1,	/* Strict enumeration */
	0,	/* Native long size */
	0
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_scs_120kHz_tags_119[] = {
	(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_scs_120kHz_119 = {
	"scs-120kHz",
	"scs-120kHz",
	&asn_OP_NativeEnumerated,
	asn_DEF_ASN_RRC_scs_120kHz_tags_119,
	sizeof(asn_DEF_ASN_RRC_scs_120kHz_tags_119)
		/sizeof(asn_DEF_ASN_RRC_scs_120kHz_tags_119[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_scs_120kHz_tags_119,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_scs_120kHz_tags_119)
		/sizeof(asn_DEF_ASN_RRC_scs_120kHz_tags_119[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_scs_120kHz_constr_119, NativeEnumerated_constraint },
	0, 0,	/* Defined elsewhere */
	&asn_SPC_ASN_RRC_scs_120kHz_specs_119	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_beamSwitchTiming_112[] = {
	{ ATF_POINTER, 2, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1__beamSwitchTiming, scs_60kHz),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_scs_60kHz_113,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-60kHz"
		},
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1__beamSwitchTiming, scs_120kHz),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_scs_120kHz_119,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"scs-120kHz"
		},
};
static const int asn_MAP_ASN_RRC_beamSwitchTiming_oms_112[] = { 0, 1 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_beamSwitchTiming_tags_112[] = {
	(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_beamSwitchTiming_tag2el_112[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scs-60kHz */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* scs-120kHz */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_beamSwitchTiming_specs_112 = {
	sizeof(struct ASN_RRC_MIMO_ParametersPerBand__ext1__beamSwitchTiming),
	offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1__beamSwitchTiming, _asn_ctx),
	asn_MAP_ASN_RRC_beamSwitchTiming_tag2el_112,
	2,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_beamSwitchTiming_oms_112,	/* Optional members */
	2, 0,	/* Root/Additions */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_beamSwitchTiming_112 = {
	"beamSwitchTiming",
	"beamSwitchTiming",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_beamSwitchTiming_tags_112,
	sizeof(asn_DEF_ASN_RRC_beamSwitchTiming_tags_112)
		/sizeof(asn_DEF_ASN_RRC_beamSwitchTiming_tags_112[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_beamSwitchTiming_tags_112,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_beamSwitchTiming_tags_112)
		/sizeof(asn_DEF_ASN_RRC_beamSwitchTiming_tags_112[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_beamSwitchTiming_112,
	2,	/* Elements count */
	&asn_SPC_ASN_RRC_beamSwitchTiming_specs_112	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_srs_AssocCSI_RS_130[] = {
	{ ATF_POINTER, 0, 0,
		(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
		0,
		&asn_DEF_ASN_RRC_SupportedCSI_RS_Resource,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		""
		},
};
static const ber_tlv_tag_t asn_DEF_ASN_RRC_srs_AssocCSI_RS_tags_130[] = {
	(ASN_TAG_CLASS_CONTEXT | (8 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static asn_SET_OF_specifics_t asn_SPC_ASN_RRC_srs_AssocCSI_RS_specs_130 = {
	sizeof(struct ASN_RRC_MIMO_ParametersPerBand__ext1__srs_AssocCSI_RS),
	offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1__srs_AssocCSI_RS, _asn_ctx),
	0,	/* XER encoding is XMLDelimitedItemList */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_srs_AssocCSI_RS_130 = {
	"srs-AssocCSI-RS",
	"srs-AssocCSI-RS",
	&asn_OP_SEQUENCE_OF,
	asn_DEF_ASN_RRC_srs_AssocCSI_RS_tags_130,
	sizeof(asn_DEF_ASN_RRC_srs_AssocCSI_RS_tags_130)
		/sizeof(asn_DEF_ASN_RRC_srs_AssocCSI_RS_tags_130[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_srs_AssocCSI_RS_tags_130,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_srs_AssocCSI_RS_tags_130)
		/sizeof(asn_DEF_ASN_RRC_srs_AssocCSI_RS_tags_130[0]), /* 2 */
	{ 0, &asn_PER_type_ASN_RRC_srs_AssocCSI_RS_constr_130, SEQUENCE_OF_constraint },
	asn_MBR_ASN_RRC_srs_AssocCSI_RS_130,
	1,	/* Single element */
	&asn_SPC_ASN_RRC_srs_AssocCSI_RS_specs_130	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_ASN_RRC_ext1_108[] = {
	{ ATF_POINTER, 10, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1, dummy6),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_dummy6_109,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"dummy6"
		},
	{ ATF_POINTER, 9, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1, beamManagementSSB_CSI_RS),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_BeamManagementSSB_CSI_RS,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"beamManagementSSB-CSI-RS"
		},
	{ ATF_POINTER, 8, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1, beamSwitchTiming),
		(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
		0,
		&asn_DEF_ASN_RRC_beamSwitchTiming_112,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"beamSwitchTiming"
		},
	{ ATF_POINTER, 7, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1, codebookParameters),
		(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_CodebookParameters,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"codebookParameters"
		},
	{ ATF_POINTER, 6, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1, csi_RS_IM_ReceptionForFeedback),
		(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_CSI_RS_IM_ReceptionForFeedback,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"csi-RS-IM-ReceptionForFeedback"
		},
	{ ATF_POINTER, 5, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1, csi_RS_ProcFrameworkForSRS),
		(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_CSI_RS_ProcFrameworkForSRS,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"csi-RS-ProcFrameworkForSRS"
		},
	{ ATF_POINTER, 4, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1, csi_ReportFramework),
		(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_CSI_ReportFramework,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"csi-ReportFramework"
		},
	{ ATF_POINTER, 3, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1, csi_RS_ForTracking),
		(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_CSI_RS_ForTracking,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"csi-RS-ForTracking"
		},
	{ ATF_POINTER, 2, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1, srs_AssocCSI_RS),
		(ASN_TAG_CLASS_CONTEXT | (8 << 2)),
		0,
		&asn_DEF_ASN_RRC_srs_AssocCSI_RS_130,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_srs_AssocCSI_RS_constr_130,  memb_ASN_RRC_srs_AssocCSI_RS_constraint_108 },
		0, 0, /* No default value */
		"srs-AssocCSI-RS"
		},
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1, spatialRelations),
		(ASN_TAG_CLASS_CONTEXT | (9 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_SpatialRelations,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"spatialRelations"
		},
};
static const int asn_MAP_ASN_RRC_ext1_oms_108[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_ext1_tags_108[] = {
	(ASN_TAG_CLASS_CONTEXT | (26 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_ext1_tag2el_108[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* dummy6 */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* beamManagementSSB-CSI-RS */
    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* beamSwitchTiming */
    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* codebookParameters */
    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* csi-RS-IM-ReceptionForFeedback */
    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* csi-RS-ProcFrameworkForSRS */
    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* csi-ReportFramework */
    { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* csi-RS-ForTracking */
    { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* srs-AssocCSI-RS */
    { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* spatialRelations */
};
static asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_ext1_specs_108 = {
	sizeof(struct ASN_RRC_MIMO_ParametersPerBand__ext1),
	offsetof(struct ASN_RRC_MIMO_ParametersPerBand__ext1, _asn_ctx),
	asn_MAP_ASN_RRC_ext1_tag2el_108,
	10,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_ext1_oms_108,	/* Optional members */
	10, 0,	/* Root/Additions */
	-1,	/* First extension addition */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_ext1_108 = {
	"ext1",
	"ext1",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_ext1_tags_108,
	sizeof(asn_DEF_ASN_RRC_ext1_tags_108)
		/sizeof(asn_DEF_ASN_RRC_ext1_tags_108[0]) - 1, /* 1 */
	asn_DEF_ASN_RRC_ext1_tags_108,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_ext1_tags_108)
		/sizeof(asn_DEF_ASN_RRC_ext1_tags_108[0]), /* 2 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_ext1_108,
	10,	/* Elements count */
	&asn_SPC_ASN_RRC_ext1_specs_108	/* Additional specs */
};

asn_TYPE_member_t asn_MBR_ASN_RRC_MIMO_ParametersPerBand_1[] = {
	{ ATF_POINTER, 27, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, tci_StatePDSCH),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		0,
		&asn_DEF_ASN_RRC_tci_StatePDSCH_2,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"tci-StatePDSCH"
		},
	{ ATF_POINTER, 26, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, additionalActiveTCI_StatePDCCH),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_additionalActiveTCI_StatePDCCH_15,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"additionalActiveTCI-StatePDCCH"
		},
	{ ATF_POINTER, 25, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, pusch_TransCoherence),
		(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_pusch_TransCoherence_17,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"pusch-TransCoherence"
		},
	{ ATF_POINTER, 24, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, beamCorrespondenceWithoutUL_BeamSweeping),
		(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_beamCorrespondenceWithoutUL_BeamSweeping_21,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"beamCorrespondenceWithoutUL-BeamSweeping"
		},
	{ ATF_POINTER, 23, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, periodicBeamReport),
		(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_periodicBeamReport_23,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"periodicBeamReport"
		},
	{ ATF_POINTER, 22, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, aperiodicBeamReport),
		(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_aperiodicBeamReport_25,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"aperiodicBeamReport"
		},
	{ ATF_POINTER, 21, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, sp_BeamReportPUCCH),
		(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_sp_BeamReportPUCCH_27,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"sp-BeamReportPUCCH"
		},
	{ ATF_POINTER, 20, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, sp_BeamReportPUSCH),
		(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_sp_BeamReportPUSCH_29,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"sp-BeamReportPUSCH"
		},
	{ ATF_POINTER, 19, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, dummy1),
		(ASN_TAG_CLASS_CONTEXT | (8 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_DummyG,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"dummy1"
		},
	{ ATF_POINTER, 18, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, maxNumberRxBeam),
		(ASN_TAG_CLASS_CONTEXT | (9 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_NativeInteger,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_maxNumberRxBeam_constr_32,  memb_ASN_RRC_maxNumberRxBeam_constraint_1 },
		0, 0, /* No default value */
		"maxNumberRxBeam"
		},
	{ ATF_POINTER, 17, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, maxNumberRxTxBeamSwitchDL),
		(ASN_TAG_CLASS_CONTEXT | (10 << 2)),
		0,
		&asn_DEF_ASN_RRC_maxNumberRxTxBeamSwitchDL_33,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"maxNumberRxTxBeamSwitchDL"
		},
	{ ATF_POINTER, 16, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, maxNumberNonGroupBeamReporting),
		(ASN_TAG_CLASS_CONTEXT | (11 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_maxNumberNonGroupBeamReporting_54,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"maxNumberNonGroupBeamReporting"
		},
	{ ATF_POINTER, 15, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, groupBeamReporting),
		(ASN_TAG_CLASS_CONTEXT | (12 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_groupBeamReporting_58,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"groupBeamReporting"
		},
	{ ATF_POINTER, 14, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, uplinkBeamManagement),
		(ASN_TAG_CLASS_CONTEXT | (13 << 2)),
		0,
		&asn_DEF_ASN_RRC_uplinkBeamManagement_60,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"uplinkBeamManagement"
		},
	{ ATF_POINTER, 13, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, maxNumberCSI_RS_BFD),
		(ASN_TAG_CLASS_CONTEXT | (14 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_NativeInteger,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_maxNumberCSI_RS_BFD_constr_67,  memb_ASN_RRC_maxNumberCSI_RS_BFD_constraint_1 },
		0, 0, /* No default value */
		"maxNumberCSI-RS-BFD"
		},
	{ ATF_POINTER, 12, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, maxNumberSSB_BFD),
		(ASN_TAG_CLASS_CONTEXT | (15 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_NativeInteger,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_maxNumberSSB_BFD_constr_68,  memb_ASN_RRC_maxNumberSSB_BFD_constraint_1 },
		0, 0, /* No default value */
		"maxNumberSSB-BFD"
		},
	{ ATF_POINTER, 11, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, maxNumberCSI_RS_SSB_CBD),
		(ASN_TAG_CLASS_CONTEXT | (16 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_NativeInteger,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_maxNumberCSI_RS_SSB_CBD_constr_69,  memb_ASN_RRC_maxNumberCSI_RS_SSB_CBD_constraint_1 },
		0, 0, /* No default value */
		"maxNumberCSI-RS-SSB-CBD"
		},
	{ ATF_POINTER, 10, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, dummy2),
		(ASN_TAG_CLASS_CONTEXT | (17 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_dummy2_70,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"dummy2"
		},
	{ ATF_POINTER, 9, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, twoPortsPTRS_UL),
		(ASN_TAG_CLASS_CONTEXT | (18 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_twoPortsPTRS_UL_72,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"twoPortsPTRS-UL"
		},
	{ ATF_POINTER, 8, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, dummy5),
		(ASN_TAG_CLASS_CONTEXT | (19 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_SRS_Resources,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"dummy5"
		},
	{ ATF_POINTER, 7, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, dummy3),
		(ASN_TAG_CLASS_CONTEXT | (20 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_NativeInteger,
		0,
		{ 0, &asn_PER_memb_ASN_RRC_dummy3_constr_75,  memb_ASN_RRC_dummy3_constraint_1 },
		0, 0, /* No default value */
		"dummy3"
		},
	{ ATF_POINTER, 6, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, beamReportTiming),
		(ASN_TAG_CLASS_CONTEXT | (21 << 2)),
		0,
		&asn_DEF_ASN_RRC_beamReportTiming_76,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"beamReportTiming"
		},
	{ ATF_POINTER, 5, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, ptrs_DensityRecommendationSetDL),
		(ASN_TAG_CLASS_CONTEXT | (22 << 2)),
		0,
		&asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetDL_94,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"ptrs-DensityRecommendationSetDL"
		},
	{ ATF_POINTER, 4, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, ptrs_DensityRecommendationSetUL),
		(ASN_TAG_CLASS_CONTEXT | (23 << 2)),
		0,
		&asn_DEF_ASN_RRC_ptrs_DensityRecommendationSetUL_99,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"ptrs-DensityRecommendationSetUL"
		},
	{ ATF_POINTER, 3, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, dummy4),
		(ASN_TAG_CLASS_CONTEXT | (24 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_DummyH,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"dummy4"
		},
	{ ATF_POINTER, 2, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, aperiodicTRS),
		(ASN_TAG_CLASS_CONTEXT | (25 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_ASN_RRC_aperiodicTRS_105,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"aperiodicTRS"
		},
	{ ATF_POINTER, 1, offsetof(struct ASN_RRC_MIMO_ParametersPerBand, ext1),
		(ASN_TAG_CLASS_CONTEXT | (26 << 2)),
		0,
		&asn_DEF_ASN_RRC_ext1_108,
		0,
		{ 0, 0, 0 },
		0, 0, /* No default value */
		"ext1"
		},
};
static const int asn_MAP_ASN_RRC_MIMO_ParametersPerBand_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 };
static const ber_tlv_tag_t asn_DEF_ASN_RRC_MIMO_ParametersPerBand_tags_1[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_ASN_RRC_MIMO_ParametersPerBand_tag2el_1[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tci-StatePDSCH */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* additionalActiveTCI-StatePDCCH */
    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pusch-TransCoherence */
    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* beamCorrespondenceWithoutUL-BeamSweeping */
    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* periodicBeamReport */
    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* aperiodicBeamReport */
    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* sp-BeamReportPUCCH */
    { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* sp-BeamReportPUSCH */
    { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* dummy1 */
    { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* maxNumberRxBeam */
    { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* maxNumberRxTxBeamSwitchDL */
    { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* maxNumberNonGroupBeamReporting */
    { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* groupBeamReporting */
    { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* uplinkBeamManagement */
    { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* maxNumberCSI-RS-BFD */
    { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* maxNumberSSB-BFD */
    { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* maxNumberCSI-RS-SSB-CBD */
    { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 }, /* dummy2 */
    { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 18, 0, 0 }, /* twoPortsPTRS-UL */
    { (ASN_TAG_CLASS_CONTEXT | (19 << 2)), 19, 0, 0 }, /* dummy5 */
    { (ASN_TAG_CLASS_CONTEXT | (20 << 2)), 20, 0, 0 }, /* dummy3 */
    { (ASN_TAG_CLASS_CONTEXT | (21 << 2)), 21, 0, 0 }, /* beamReportTiming */
    { (ASN_TAG_CLASS_CONTEXT | (22 << 2)), 22, 0, 0 }, /* ptrs-DensityRecommendationSetDL */
    { (ASN_TAG_CLASS_CONTEXT | (23 << 2)), 23, 0, 0 }, /* ptrs-DensityRecommendationSetUL */
    { (ASN_TAG_CLASS_CONTEXT | (24 << 2)), 24, 0, 0 }, /* dummy4 */
    { (ASN_TAG_CLASS_CONTEXT | (25 << 2)), 25, 0, 0 }, /* aperiodicTRS */
    { (ASN_TAG_CLASS_CONTEXT | (26 << 2)), 26, 0, 0 } /* ext1 */
};
asn_SEQUENCE_specifics_t asn_SPC_ASN_RRC_MIMO_ParametersPerBand_specs_1 = {
	sizeof(struct ASN_RRC_MIMO_ParametersPerBand),
	offsetof(struct ASN_RRC_MIMO_ParametersPerBand, _asn_ctx),
	asn_MAP_ASN_RRC_MIMO_ParametersPerBand_tag2el_1,
	27,	/* Count of tags in the map */
	asn_MAP_ASN_RRC_MIMO_ParametersPerBand_oms_1,	/* Optional members */
	26, 1,	/* Root/Additions */
	26,	/* First extension addition */
};
asn_TYPE_descriptor_t asn_DEF_ASN_RRC_MIMO_ParametersPerBand = {
	"MIMO-ParametersPerBand",
	"MIMO-ParametersPerBand",
	&asn_OP_SEQUENCE,
	asn_DEF_ASN_RRC_MIMO_ParametersPerBand_tags_1,
	sizeof(asn_DEF_ASN_RRC_MIMO_ParametersPerBand_tags_1)
		/sizeof(asn_DEF_ASN_RRC_MIMO_ParametersPerBand_tags_1[0]), /* 1 */
	asn_DEF_ASN_RRC_MIMO_ParametersPerBand_tags_1,	/* Same as above */
	sizeof(asn_DEF_ASN_RRC_MIMO_ParametersPerBand_tags_1)
		/sizeof(asn_DEF_ASN_RRC_MIMO_ParametersPerBand_tags_1[0]), /* 1 */
	{ 0, 0, SEQUENCE_constraint },
	asn_MBR_ASN_RRC_MIMO_ParametersPerBand_1,
	27,	/* Elements count */
	&asn_SPC_ASN_RRC_MIMO_ParametersPerBand_specs_1	/* Additional specs */
};

