/*
 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
 * From ASN.1 module "X2AP-Containers"
 * 	found in "Spec/e2_and_x2-combined-and-minimized.asn1"
 * 	`asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
 */

#ifndef	_ProtocolExtensionContainer_H_
#define	_ProtocolExtensionContainer_H_


#include "asn_application.h"

/* Including external dependencies */
#include "asn_SEQUENCE_OF.h"
#include "constr_SEQUENCE_OF.h"

#ifdef __cplusplus
extern "C" {
#endif

/* Forward declarations */
struct CellInformation_Item_ExtIEs;
struct ServedCellsToModify_Item_ExtIEs;
struct CellToReport_Item_ExtIEs;
struct MeasurementInitiationResult_Item_ExtIEs;
struct MeasurementFailureCause_Item_ExtIEs;
struct CompleteFailureCauseInformation_Item_ExtIEs;
struct CellMeasurementResult_Item_ExtIEs;
struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs;
struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs;
struct ServedEUTRAcellsENDCX2Management_ExtIEs;
struct En_gNBServedCells_ExtIEs;
struct ServedNRCell_Information_ExtIEs;
struct FDD_InfoServedNRCell_Information_ExtIEs;
struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs;
struct TDD_InfoServedNRCell_Information_ExtIEs;
struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs;
struct NRNeighbour_Information_ExtIEs;
struct Limited_list_ExtIEs;
struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs;
struct ServedNRCellsToModify_Item_ExtIEs;
struct ABSInformationFDD_ExtIEs;
struct ABSInformationTDD_ExtIEs;
struct ABS_Status_ExtIEs;
struct AdditionalSpecialSubframe_Info_ExtIEs;
struct AdditionalSpecialSubframeExtension_Info_ExtIEs;
struct CellBasedQMC_ExtIEs;
struct CellReplacingInfo_ExtIEs;
struct CoMPHypothesisSetItem_ExtIEs;
struct CoMPInformation_ExtIEs;
struct CoMPInformationItem_ExtIEs;
struct CoMPInformationStartTime_ExtIEs;
struct CompositeAvailableCapacity_ExtIEs;
struct CompositeAvailableCapacityGroup_ExtIEs;
struct CriticalityDiagnostics_ExtIEs;
struct CriticalityDiagnostics_IE_List_ExtIEs;
struct CSIReportList_ExtIEs;
struct CSIReportPerCSIProcess_ExtIEs;
struct CSIReportPerCSIProcessItem_ExtIEs;
struct DynamicNAICSInformation_ExtIEs;
struct ECGI_ExtIEs;
struct EnhancedRNTP_ExtIEs;
struct EnhancedRNTPStartTime_ExtIEs;
struct ExtendedULInterferenceOverloadInfo_ExtIEs;
struct FDD_Info_ExtIEs;
struct FreqBandNrItem_ExtIEs;
struct GlobalENB_ID_ExtIEs;
struct GlobalGNB_ID_ExtIEs;
struct GU_Group_ID_ExtIEs;
struct HWLoadIndicator_ExtIEs;
struct MBSFN_Subframe_Info_ExtIEs;
struct BandInfo_ExtIEs;
struct Neighbour_Information_ExtIEs;
struct NRFreqInfo_ExtIEs;
struct NRCGI_ExtIEs;
struct NR_TxBW_ExtIEs;
struct PRACH_Configuration_ExtIEs;
struct ProtectedEUTRAResourceIndication_ExtIEs;
struct ProtectedFootprintTimePattern_ExtIEs;
struct ProtectedResourceList_Item_ExtIEs;
struct RadioResourceStatus_ExtIEs;
struct RelativeNarrowbandTxPower_ExtIEs;
struct RSRPMeasurementResult_ExtIEs;
struct RSRPMRList_ExtIEs;
struct S1TNLLoadIndicator_ExtIEs;
struct ServedCell_ExtIEs;
struct ServedCell_Information_ExtIEs;
struct SpecialSubframe_Info_ExtIEs;
struct SubbandCQI_ExtIEs;
struct SubbandCQIItem_ExtIEs;
struct SULInformation_ExtIEs;
struct SupportedSULFreqBandItem_ExtIEs;
struct TDD_Info_ExtIEs;
struct UL_HighInterferenceIndicationInfo_Item_ExtIEs;
struct UsableABSInformationFDD_ExtIEs;
struct UsableABSInformationTDD_ExtIEs;
struct WidebandCQI_ExtIEs;

/* ProtocolExtensionContainer */
typedef struct ProtocolExtensionContainer_8858P0 {
	A_SEQUENCE_OF(struct CellInformation_Item_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P0_t;
typedef struct ProtocolExtensionContainer_8858P1 {
	A_SEQUENCE_OF(struct ServedCellsToModify_Item_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P1_t;
typedef struct ProtocolExtensionContainer_8858P2 {
	A_SEQUENCE_OF(struct CellToReport_Item_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P2_t;
typedef struct ProtocolExtensionContainer_8858P3 {
	A_SEQUENCE_OF(struct MeasurementInitiationResult_Item_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P3_t;
typedef struct ProtocolExtensionContainer_8858P4 {
	A_SEQUENCE_OF(struct MeasurementFailureCause_Item_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P4_t;
typedef struct ProtocolExtensionContainer_8858P5 {
	A_SEQUENCE_OF(struct CompleteFailureCauseInformation_Item_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P5_t;
typedef struct ProtocolExtensionContainer_8858P6 {
	A_SEQUENCE_OF(struct CellMeasurementResult_Item_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P6_t;
typedef struct ProtocolExtensionContainer_8858P7 {
	A_SEQUENCE_OF(struct ResponseInformationSeNBReconfComp_SuccessItemExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P7_t;
typedef struct ProtocolExtensionContainer_8858P8 {
	A_SEQUENCE_OF(struct ResponseInformationSeNBReconfComp_RejectByMeNBItemExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P8_t;
typedef struct ProtocolExtensionContainer_8858P9 {
	A_SEQUENCE_OF(struct ServedEUTRAcellsENDCX2Management_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P9_t;
typedef struct ProtocolExtensionContainer_8858P10 {
	A_SEQUENCE_OF(struct En_gNBServedCells_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P10_t;
typedef struct ProtocolExtensionContainer_8858P11 {
	A_SEQUENCE_OF(struct ServedNRCell_Information_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P11_t;
typedef struct ProtocolExtensionContainer_8858P12 {
	A_SEQUENCE_OF(struct FDD_InfoServedNRCell_Information_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P12_t;
typedef struct ProtocolExtensionContainer_8858P13 {
	A_SEQUENCE_OF(struct FDD_InfoNeighbourServedNRCell_Information_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P13_t;
typedef struct ProtocolExtensionContainer_8858P14 {
	A_SEQUENCE_OF(struct TDD_InfoServedNRCell_Information_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P14_t;
typedef struct ProtocolExtensionContainer_8858P15 {
	A_SEQUENCE_OF(struct TDD_InfoNeighbourServedNRCell_Information_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P15_t;
typedef struct ProtocolExtensionContainer_8858P16 {
	A_SEQUENCE_OF(struct NRNeighbour_Information_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P16_t;
typedef struct ProtocolExtensionContainer_8858P17 {
	A_SEQUENCE_OF(struct Limited_list_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P17_t;
typedef struct ProtocolExtensionContainer_8858P18 {
	A_SEQUENCE_OF(struct ServedEUTRAcellsToModifyListENDCConfUpd_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P18_t;
typedef struct ProtocolExtensionContainer_8858P19 {
	A_SEQUENCE_OF(struct ServedNRCellsToModify_Item_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P19_t;
typedef struct ProtocolExtensionContainer_8858P20 {
	A_SEQUENCE_OF(struct ABSInformationFDD_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P20_t;
typedef struct ProtocolExtensionContainer_8858P21 {
	A_SEQUENCE_OF(struct ABSInformationTDD_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P21_t;
typedef struct ProtocolExtensionContainer_8858P22 {
	A_SEQUENCE_OF(struct ABS_Status_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P22_t;
typedef struct ProtocolExtensionContainer_8858P23 {
	A_SEQUENCE_OF(struct AdditionalSpecialSubframe_Info_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P23_t;
typedef struct ProtocolExtensionContainer_8858P24 {
	A_SEQUENCE_OF(struct AdditionalSpecialSubframeExtension_Info_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P24_t;
typedef struct ProtocolExtensionContainer_8858P25 {
	A_SEQUENCE_OF(struct CellBasedQMC_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P25_t;
typedef struct ProtocolExtensionContainer_8858P26 {
	A_SEQUENCE_OF(struct CellReplacingInfo_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P26_t;
typedef struct ProtocolExtensionContainer_8858P27 {
	A_SEQUENCE_OF(struct CoMPHypothesisSetItem_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P27_t;
typedef struct ProtocolExtensionContainer_8858P28 {
	A_SEQUENCE_OF(struct CoMPInformation_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P28_t;
typedef struct ProtocolExtensionContainer_8858P29 {
	A_SEQUENCE_OF(struct CoMPInformationItem_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P29_t;
typedef struct ProtocolExtensionContainer_8858P30 {
	A_SEQUENCE_OF(struct CoMPInformationStartTime_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P30_t;
typedef struct ProtocolExtensionContainer_8858P31 {
	A_SEQUENCE_OF(struct CompositeAvailableCapacity_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P31_t;
typedef struct ProtocolExtensionContainer_8858P32 {
	A_SEQUENCE_OF(struct CompositeAvailableCapacityGroup_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P32_t;
typedef struct ProtocolExtensionContainer_8858P33 {
	A_SEQUENCE_OF(struct CriticalityDiagnostics_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P33_t;
typedef struct ProtocolExtensionContainer_8858P34 {
	A_SEQUENCE_OF(struct CriticalityDiagnostics_IE_List_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P34_t;
typedef struct ProtocolExtensionContainer_8858P35 {
	A_SEQUENCE_OF(struct CSIReportList_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P35_t;
typedef struct ProtocolExtensionContainer_8858P36 {
	A_SEQUENCE_OF(struct CSIReportPerCSIProcess_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P36_t;
typedef struct ProtocolExtensionContainer_8858P37 {
	A_SEQUENCE_OF(struct CSIReportPerCSIProcessItem_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P37_t;
typedef struct ProtocolExtensionContainer_8858P38 {
	A_SEQUENCE_OF(struct DynamicNAICSInformation_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P38_t;
typedef struct ProtocolExtensionContainer_8858P39 {
	A_SEQUENCE_OF(struct ECGI_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P39_t;
typedef struct ProtocolExtensionContainer_8858P40 {
	A_SEQUENCE_OF(struct EnhancedRNTP_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P40_t;
typedef struct ProtocolExtensionContainer_8858P41 {
	A_SEQUENCE_OF(struct EnhancedRNTPStartTime_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P41_t;
typedef struct ProtocolExtensionContainer_8858P42 {
	A_SEQUENCE_OF(struct ExtendedULInterferenceOverloadInfo_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P42_t;
typedef struct ProtocolExtensionContainer_8858P43 {
	A_SEQUENCE_OF(struct FDD_Info_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P43_t;
typedef struct ProtocolExtensionContainer_8858P44 {
	A_SEQUENCE_OF(struct FreqBandNrItem_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P44_t;
typedef struct ProtocolExtensionContainer_8858P45 {
	A_SEQUENCE_OF(struct GlobalENB_ID_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P45_t;
typedef struct ProtocolExtensionContainer_8858P46 {
	A_SEQUENCE_OF(struct GlobalGNB_ID_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P46_t;
typedef struct ProtocolExtensionContainer_8858P47 {
	A_SEQUENCE_OF(struct GU_Group_ID_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P47_t;
typedef struct ProtocolExtensionContainer_8858P48 {
	A_SEQUENCE_OF(struct HWLoadIndicator_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P48_t;
typedef struct ProtocolExtensionContainer_8858P49 {
	A_SEQUENCE_OF(struct MBSFN_Subframe_Info_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P49_t;
typedef struct ProtocolExtensionContainer_8858P50 {
	A_SEQUENCE_OF(struct BandInfo_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P50_t;
typedef struct ProtocolExtensionContainer_8858P51 {
	A_SEQUENCE_OF(struct Neighbour_Information_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P51_t;
typedef struct ProtocolExtensionContainer_8858P52 {
	A_SEQUENCE_OF(struct NRFreqInfo_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P52_t;
typedef struct ProtocolExtensionContainer_8858P53 {
	A_SEQUENCE_OF(struct NRCGI_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P53_t;
typedef struct ProtocolExtensionContainer_8858P54 {
	A_SEQUENCE_OF(struct NR_TxBW_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P54_t;
typedef struct ProtocolExtensionContainer_8858P55 {
	A_SEQUENCE_OF(struct PRACH_Configuration_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P55_t;
typedef struct ProtocolExtensionContainer_8858P56 {
	A_SEQUENCE_OF(struct ProtectedEUTRAResourceIndication_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P56_t;
typedef struct ProtocolExtensionContainer_8858P57 {
	A_SEQUENCE_OF(struct ProtectedFootprintTimePattern_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P57_t;
typedef struct ProtocolExtensionContainer_8858P58 {
	A_SEQUENCE_OF(struct ProtectedResourceList_Item_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P58_t;
typedef struct ProtocolExtensionContainer_8858P59 {
	A_SEQUENCE_OF(struct RadioResourceStatus_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P59_t;
typedef struct ProtocolExtensionContainer_8858P60 {
	A_SEQUENCE_OF(struct RelativeNarrowbandTxPower_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P60_t;
typedef struct ProtocolExtensionContainer_8858P61 {
	A_SEQUENCE_OF(struct RSRPMeasurementResult_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P61_t;
typedef struct ProtocolExtensionContainer_8858P62 {
	A_SEQUENCE_OF(struct RSRPMRList_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P62_t;
typedef struct ProtocolExtensionContainer_8858P63 {
	A_SEQUENCE_OF(struct S1TNLLoadIndicator_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P63_t;
typedef struct ProtocolExtensionContainer_8858P64 {
	A_SEQUENCE_OF(struct ServedCell_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P64_t;
typedef struct ProtocolExtensionContainer_8858P65 {
	A_SEQUENCE_OF(struct ServedCell_Information_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P65_t;
typedef struct ProtocolExtensionContainer_8858P66 {
	A_SEQUENCE_OF(struct SpecialSubframe_Info_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P66_t;
typedef struct ProtocolExtensionContainer_8858P67 {
	A_SEQUENCE_OF(struct SubbandCQI_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P67_t;
typedef struct ProtocolExtensionContainer_8858P68 {
	A_SEQUENCE_OF(struct SubbandCQIItem_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P68_t;
typedef struct ProtocolExtensionContainer_8858P69 {
	A_SEQUENCE_OF(struct SULInformation_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P69_t;
typedef struct ProtocolExtensionContainer_8858P70 {
	A_SEQUENCE_OF(struct SupportedSULFreqBandItem_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P70_t;
typedef struct ProtocolExtensionContainer_8858P71 {
	A_SEQUENCE_OF(struct TDD_Info_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P71_t;
typedef struct ProtocolExtensionContainer_8858P72 {
	A_SEQUENCE_OF(struct UL_HighInterferenceIndicationInfo_Item_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P72_t;
typedef struct ProtocolExtensionContainer_8858P73 {
	A_SEQUENCE_OF(struct UsableABSInformationFDD_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P73_t;
typedef struct ProtocolExtensionContainer_8858P74 {
	A_SEQUENCE_OF(struct UsableABSInformationTDD_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P74_t;
typedef struct ProtocolExtensionContainer_8858P75 {
	A_SEQUENCE_OF(struct WidebandCQI_ExtIEs) list;
	
	/* Context for parsing across buffer boundaries */
	asn_struct_ctx_t _asn_ctx;
} ProtocolExtensionContainer_8858P75_t;

/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P0;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P0_specs_1;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P0_1[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P0_constr_1;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P1;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P1_specs_3;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P1_3[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P1_constr_3;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P2;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P2_specs_5;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P2_5[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P2_constr_5;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P3;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P3_specs_7;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P3_7[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P3_constr_7;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P4;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P4_specs_9;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P4_9[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P4_constr_9;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P5;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P5_specs_11;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P5_11[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P5_constr_11;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P6;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P6_specs_13;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P6_13[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P6_constr_13;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P7;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P7_specs_15;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P7_15[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P7_constr_15;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P8;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P8_specs_17;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P8_17[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P8_constr_17;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P9;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P9_specs_19;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P9_19[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P9_constr_19;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P10;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P10_specs_21;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P10_21[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P10_constr_21;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P11;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P11_specs_23;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P11_23[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P11_constr_23;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P12;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P12_specs_25;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P12_25[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P12_constr_25;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P13;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P13_specs_27;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P13_27[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P13_constr_27;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P14;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P14_specs_29;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P14_29[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P14_constr_29;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P15;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P15_specs_31;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P15_31[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P15_constr_31;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P16;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P16_specs_33;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P16_33[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P16_constr_33;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P17;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P17_specs_35;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P17_35[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P17_constr_35;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P18;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P18_specs_37;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P18_37[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P18_constr_37;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P19;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P19_specs_39;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P19_39[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P19_constr_39;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P20;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P20_specs_41;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P20_41[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P20_constr_41;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P21;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P21_specs_43;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P21_43[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P21_constr_43;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P22;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P22_specs_45;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P22_45[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P22_constr_45;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P23;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P23_specs_47;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P23_47[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P23_constr_47;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P24;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P24_specs_49;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P24_49[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P24_constr_49;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P25;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P25_specs_51;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P25_51[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P25_constr_51;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P26;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P26_specs_53;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P26_53[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P26_constr_53;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P27;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P27_specs_55;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P27_55[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P27_constr_55;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P28;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P28_specs_57;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P28_57[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P28_constr_57;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P29;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P29_specs_59;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P29_59[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P29_constr_59;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P30;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P30_specs_61;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P30_61[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P30_constr_61;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P31;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P31_specs_63;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P31_63[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P31_constr_63;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P32;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P32_specs_65;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P32_65[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P32_constr_65;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P33;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P33_specs_67;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P33_67[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P33_constr_67;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P34;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P34_specs_69;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P34_69[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P34_constr_69;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P35;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P35_specs_71;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P35_71[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P35_constr_71;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P36;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P36_specs_73;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P36_73[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P36_constr_73;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P37;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P37_specs_75;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P37_75[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P37_constr_75;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P38;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P38_specs_77;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P38_77[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P38_constr_77;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P39;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P39_specs_79;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P39_79[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P39_constr_79;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P40;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P40_specs_81;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P40_81[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P40_constr_81;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P41;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P41_specs_83;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P41_83[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P41_constr_83;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P42;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P42_specs_85;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P42_85[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P42_constr_85;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P43;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P43_specs_87;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P43_87[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P43_constr_87;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P44;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P44_specs_89;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P44_89[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P44_constr_89;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P45;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P45_specs_91;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P45_91[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P45_constr_91;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P46;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P46_specs_93;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P46_93[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P46_constr_93;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P47;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P47_specs_95;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P47_95[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P47_constr_95;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P48;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P48_specs_97;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P48_97[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P48_constr_97;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P49;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P49_specs_99;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P49_99[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P49_constr_99;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P50;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P50_specs_101;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P50_101[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P50_constr_101;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P51;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P51_specs_103;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P51_103[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P51_constr_103;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P52;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P52_specs_105;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P52_105[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P52_constr_105;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P53;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P53_specs_107;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P53_107[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P53_constr_107;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P54;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P54_specs_109;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P54_109[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P54_constr_109;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P55;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P55_specs_111;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P55_111[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P55_constr_111;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P56;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P56_specs_113;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P56_113[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P56_constr_113;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P57;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P57_specs_115;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P57_115[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P57_constr_115;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P58;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P58_specs_117;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P58_117[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P58_constr_117;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P59;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P59_specs_119;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P59_119[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P59_constr_119;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P60;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P60_specs_121;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P60_121[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P60_constr_121;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P61;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P61_specs_123;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P61_123[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P61_constr_123;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P62;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P62_specs_125;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P62_125[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P62_constr_125;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P63;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P63_specs_127;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P63_127[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P63_constr_127;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P64;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P64_specs_129;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P64_129[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P64_constr_129;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P65;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P65_specs_131;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P65_131[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P65_constr_131;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P66;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P66_specs_133;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P66_133[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P66_constr_133;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P67;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P67_specs_135;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P67_135[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P67_constr_135;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P68;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P68_specs_137;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P68_137[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P68_constr_137;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P69;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P69_specs_139;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P69_139[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P69_constr_139;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P70;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P70_specs_141;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P70_141[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P70_constr_141;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P71;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P71_specs_143;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P71_143[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P71_constr_143;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P72;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P72_specs_145;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P72_145[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P72_constr_145;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P73;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P73_specs_147;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P73_147[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P73_constr_147;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P74;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P74_specs_149;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P74_149[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P74_constr_149;
extern asn_TYPE_descriptor_t asn_DEF_ProtocolExtensionContainer_8858P75;
extern asn_SET_OF_specifics_t asn_SPC_ProtocolExtensionContainer_8858P75_specs_151;
extern asn_TYPE_member_t asn_MBR_ProtocolExtensionContainer_8858P75_151[1];
extern asn_per_constraints_t asn_PER_type_ProtocolExtensionContainer_8858P75_constr_151;

#ifdef __cplusplus
}
#endif

#endif	/* _ProtocolExtensionContainer_H_ */
#include "asn_internal.h"
