pcu: Support decoding Egprs Pkt Ul Ass on PDCH

Change-Id: I30fb98aab67303997b803a0359ffc2e0b65ebf01
diff --git a/library/RLCMAC_CSN1_Templates.ttcn b/library/RLCMAC_CSN1_Templates.ttcn
index 2c1bc04..772df13 100644
--- a/library/RLCMAC_CSN1_Templates.ttcn
+++ b/library/RLCMAC_CSN1_Templates.ttcn
@@ -167,27 +167,54 @@
 		return '1'B;
 	}
 
-	template PktUlAssGprs tr_PktUlAssGprsDynamic(template uint5_t tfi := ?) := {
+	template DynamicAllocation tr_DynamicAllocation(template uint5_t tfi:= ?) := {
+		extd_dyn_alloc := ?,
+		p0_present := ?,
+		p0 := *,
+		pr_mode := *,
+		usf_granularity := ?,
+		ul_tfi_ass_present := f_presence_bit_tfi(tfi),
+		ul_tfi_assignment := tfi,
+		reserved := '0'B,
+		tbf_starting_time_present := ?,
+		tbf_starting_time := *,
+		ts_allocation := ?
+	};
+
+	template PktUlAssGprs tr_PktUlAssGprsDynamic(template DynamicAllocation dyn_alloc := ?) := {
 		ch_coding_cmd := ?,
 		tlli_block_chan_coding := ?,
 		pkt_ta := ?,
 		freq_par_present := ?,
 		freq_par := *,
 		alloc_present := '01'B,
-		dyn_block_alloc := {
-			extd_dyn_alloc := ?,
-			p0_present := ?,
-			p0 := *,
-			pr_mode := *,
-			usf_granularity := ?,
-			ul_tfi_ass_present := f_presence_bit_tfi(tfi),
-			ul_tfi_assignment := tfi,
-			reserved := '0'B,
-			tbf_starting_time_present := ?,
-			tbf_starting_time := *,
-			ts_allocation := ?
-			},
+		dyn_block_alloc := dyn_alloc,
 		sgl_block_alloc := omit
 	};
 
+	template PktUlAssEgprs tr_PktUlAssEgprsDynamic(template DynamicAllocation dyn_alloc := ?) := {
+		dual_carrier := '00'B,
+		tlli_present := ?,
+		tlli := *,
+		compact_reduced_ma_present := ?,
+		compact_reduced_ma := *,
+		chan_coding_cmd := ?,
+		resegment := ?,
+		window_size := ?,
+		ats_present := ?,
+		ats := *, /* ? */
+		arac_retrans_req := ?,
+		tlli_block_chan_coding := ?,
+		bep_period2_present := ?,
+		bep_period2 := *,
+		pkt_ta := ?,
+		pkt_ext_ta_present := ?,
+		pkt_ext_ta := *,
+		freq_par_present := ?,
+		freq_par := *,
+		alloc_present := ?,
+		dyn_block_alloc := dyn_alloc,
+		multi_block_alloc := omit
+	};
+
 } with { encode "RAW"; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" };