<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/56042>56042</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            LLVM ERROR: Cannot select: 0x7fd5e40700e8: f32 = bitcast 0x7fd5e406fb38 
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          gerddie
      </td>
    </tr>
</table>

<pre>
    Compiling a vertex shader with fp16 support results in a crash with the error message
```
LLVM ERROR: Cannot select: 0x7fd5e40700e8: f32 = bitcast 0x7fd5e406fb38
  0x7fd5e406fb38: f32 = splat_vector 0x7fd5e406d398
    0x7fd5e406d398: f16 = select nsz arcp 0x7fd5e4076030, ConstantFP:f16<APFloat(15360)>, ConstantFP:f16<APFloat(0)>
      0x7fd5e4076030: i1 = setcc nsz arcp 0x7fd5e4133920, ConstantFP:f16<APFloat(15360)>, setoge:ch
        0x7fd5e4133920: f16 = bitcast 0x7fd5e4133578
          0x7fd5e4133578: i16 = truncate 0x7fd5e40769f0
            0x7fd5e40769f0: i32 = bitcast 0x7fd5e406fc08
              0x7fd5e406fc08: v2f16 = CVT_PKRTZ_F16_F32 0x7fd5e4076c60, undef:f32
                0x7fd5e4076c60: f32,ch = CopyFromReg 0x560db4761a28, Register:f32 %7
                  0x7fd5e4076d30: f32 = Register %7
                0x7fd5e4076920: f32 = undef
        0x7fd5e406da80: f16 = ConstantFP<APFloat(15360)>
      0x7fd5e406da80: f16 = ConstantFP<APFloat(15360)>
      0x7fd5e406f790: f16 = ConstantFP<APFloat(0)>
In function: main
```
LLVM version is 14.0.4, mesa was at 51bdac48465186

The shader leading to the crash follows: 

```
radeonsi: Compiling shader 7
Vertex Shader as ESGS LLVM IR:

; ModuleID = 'mesa-shader'
source_filename = "mesa-shader"
target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7"
target triple = "amdgcn--"

@esgs_ring = external addrspace(3) global [0 x i32], align 65536

define amdgpu_gs void @main(float addrspace(6)* inreg noalias align 4 dereferenceable(18446744073709551615) %0, <8 x i32> addrspace(6)* inreg noalias align 4 dereferenceable(18446744073709551615) %1, i32 inreg %2, i32 inreg %3, i32 inreg %4, i32 inreg %5, i32 inreg %6, i32 inreg %7, <4 x i32> addrspace(6)* inreg noalias align 4 dereferenceable(18446744073709551615) %8, <8 x i32> addrspace(6)* inreg noalias align 4 dereferenceable(18446744073709551615) %9, float addrspace(6)* inreg noalias align 4 dereferenceable(18446744073709551615) %10, <8 x i32> addrspace(6)* inreg noalias align 4 dereferenceable(18446744073709551615) %11, i32 inreg %12, i32 inreg %13, i32 inreg %14, i32 inreg %15, <4 x i32> addrspace(6)* inreg noalias align 4 dereferenceable(18446744073709551615) %16, i32 inreg %17, <4 x i32> addrspace(6)* inreg noalias align 4 dereferenceable(18446744073709551615) %18, i32 inreg %19, <4 x i32> inreg %20, <4 x i32> inreg %21, i32 %22, i32 %23, i32 %24, i32 %25, i32 %26, i32 %27, i32 %28, i32 %29, i32 %30, i32 %31, i32 %32) #0 {
main_body:
  %33 = and i32 %3, 251658240
  %34 = icmp eq i32 %33, 0
  br i1 %34, label %if5020, label %endif5020

if5020:                                           ; preds = %main_body
  %35 = lshr i32 %2, 12
  %36 = and i32 %35, 511
  %37 = lshr i32 %2, 10
  %38 = and i32 %37, 2093056
  %39 = or i32 %38, %36
  call void @llvm.amdgcn.s.sendmsg(i32 9, i32 %39) #1
  br label %endif5020

endif5020:                                        ; preds = %if5020, %main_body
  %40 = lshr i32 %3, 8
  %41 = and i32 %40, 255
  %42 = call i32 @llvm.amdgcn.mbcnt.lo(i32 -1, i32 0) #7, !range !0
  %43 = icmp ult i32 %42, %41
  br i1 %43, label %if6001, label %endif6001

if6001:                                           ; preds = %endif5020
  %44 = and i32 %25, 1792
  %45 = mul nuw nsw i32 %44, 525314
  %46 = and i32 %45, 537395712
  %47 = and i32 %22, 65535
  %48 = or i32 %46, %47
  %49 = lshr i32 %22, 6
  %50 = and i32 %49, 67107840
  %51 = or i32 %48, %50
  %52 = shl i32 %23, 20
  %53 = or i32 %51, %52
  %54 = bitcast i32 %53 to float
  call void @llvm.amdgcn.exp.f32(i32 20, i32 1, float %54, float undef, float undef, float undef, i1 true, i1 false) #1
  br label %endif6001

endif6001:                                        ; preds = %if6001, %endif5020
  %55 = and i32 %3, 255
  %56 = icmp ult i32 %42, %55
  br i1 %56, label %if11500, label %endif6002

if11500:                                          ; preds = %endif6001
  %57 = call nsz arcp <4 x float> @llvm.amdgcn.struct.buffer.load.format.v4f32(<4 x i32> %20, i32 %31, i32 0, i32 0, i32 0) #8
  %58 = extractelement <4 x float> %57, i64 0
  %59 = extractelement <4 x float> %57, i64 1
  %60 = extractelement <4 x float> %57, i64 2
  %61 = extractelement <4 x float> %57, i64 3
  %62 = call nsz arcp float @llvm.amdgcn.struct.buffer.load.format.f32(<4 x i32> %21, i32 %32, i32 0, i32 0, i32 0) #8
  %63 = call nsz arcp <2 x half> @llvm.amdgcn.cvt.pkrtz(float %62, float undef) #7
  %64 = extractelement <2 x half> %63, i64 0
  %65 = fcmp nsz arcp oge half %64, 0xH3C00
  %66 = ptrtoint float addrspace(6)* %10 to i32
  %67 = insertelement <4 x i32> <i32 poison, i32 32768, i32 144, i32 822177708>, i32 %66, i64 0
  %68 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 4, i32 0) #7
  %69 = bitcast float %68 to i32
  %.not = icmp eq i32 %69, 0
  br i1 %.not, label %endif1, label %if1

if1:                                              ; preds = %if11500
  %70 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 8, i32 0) #7
  %71 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 12, i32 0) #7
  %72 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 16, i32 0) #7
  %73 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 20, i32 0) #7
  %74 = fmul nsz arcp float %61, %73
  %75 = call nsz arcp float @llvm.fma.f32(float %60, float %72, float %74) #7
  %76 = call nsz arcp float @llvm.fma.f32(float %59, float %71, float %75) #7
  %77 = call nsz arcp float @llvm.fma.f32(float %58, float %70, float %76) #7
  %78 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 24, i32 0) #7
  %79 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 28, i32 0) #7
  %80 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 32, i32 0) #7
  %81 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 36, i32 0) #7
  %82 = fmul nsz arcp float %61, %81
  %83 = call nsz arcp float @llvm.fma.f32(float %60, float %80, float %82) #7
  %84 = call nsz arcp float @llvm.fma.f32(float %59, float %79, float %83) #7
  %85 = call nsz arcp float @llvm.fma.f32(float %58, float %78, float %84) #7
  %86 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 40, i32 0) #7
  %87 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 44, i32 0) #7
  %88 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 48, i32 0) #7
  %89 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 52, i32 0) #7
  %90 = fmul nsz arcp float %61, %89
  %91 = call nsz arcp float @llvm.fma.f32(float %60, float %88, float %90) #7
  %92 = call nsz arcp float @llvm.fma.f32(float %59, float %87, float %91) #7
  %93 = call nsz arcp float @llvm.fma.f32(float %58, float %86, float %92) #7
  %94 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 56, i32 0) #7
  %95 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 60, i32 0) #7
  %96 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 64, i32 0) #7
  %97 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 68, i32 0) #7
  %98 = fmul nsz arcp float %61, %97
  %99 = call nsz arcp float @llvm.fma.f32(float %60, float %96, float %98) #7
  %100 = call nsz arcp float @llvm.fma.f32(float %59, float %95, float %99) #7
  %101 = call nsz arcp float @llvm.fma.f32(float %58, float %94, float %100) #7
  %102 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 72, i32 0) #7
  %103 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 76, i32 0) #7
  %104 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 80, i32 0) #7
  %105 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 84, i32 0) #7
  %106 = fmul nsz arcp float %61, %105
  %107 = call nsz arcp float @llvm.fma.f32(float %60, float %104, float %106) #7
  %108 = call nsz arcp float @llvm.fma.f32(float %59, float %103, float %107) #7
  %109 = call nsz arcp float @llvm.fma.f32(float %58, float %102, float %108) #7
  %110 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 88, i32 0) #7
  %111 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 92, i32 0) #7
  %112 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 96, i32 0) #7
  %113 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 100, i32 0) #7
  %114 = fmul nsz arcp float %61, %113
  %115 = call nsz arcp float @llvm.fma.f32(float %60, float %112, float %114) #7
  %116 = call nsz arcp float @llvm.fma.f32(float %59, float %111, float %115) #7
  %117 = call nsz arcp float @llvm.fma.f32(float %58, float %110, float %116) #7
  %118 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 104, i32 0) #7
  %119 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 108, i32 0) #7
  %120 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 112, i32 0) #7
  %121 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 116, i32 0) #7
  %122 = fmul nsz arcp float %61, %121
  %123 = call nsz arcp float @llvm.fma.f32(float %60, float %120, float %122) #7
  %124 = call nsz arcp float @llvm.fma.f32(float %59, float %119, float %123) #7
  %125 = call nsz arcp float @llvm.fma.f32(float %58, float %118, float %124) #7
  %126 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 120, i32 0) #7
  %127 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 124, i32 0) #7
  %128 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 128, i32 0) #7
  %129 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 132, i32 0) #7
  %130 = fmul nsz arcp float %61, %129
  %131 = call nsz arcp float @llvm.fma.f32(float %60, float %128, float %130) #7
  %132 = call nsz arcp float @llvm.fma.f32(float %59, float %127, float %131) #7
  %133 = call nsz arcp float @llvm.fma.f32(float %58, float %126, float %132) #7
  br label %endif1

endif1:                                           ; preds = %if11500, %if1
  %134 = phi float [ %109, %if1 ], [ 0.000000e+00, %if11500 ]
  %135 = phi float [ %117, %if1 ], [ 0.000000e+00, %if11500 ]
  %136 = phi float [ %125, %if1 ], [ 0.000000e+00, %if11500 ]
  %137 = phi float [ %133, %if1 ], [ 0.000000e+00, %if11500 ]
  %138 = phi float [ %77, %if1 ], [ 0.000000e+00, %if11500 ]
  %139 = phi float [ %85, %if1 ], [ 0.000000e+00, %if11500 ]
  %140 = phi float [ %93, %if1 ], [ 0.000000e+00, %if11500 ]
  %141 = phi float [ %101, %if1 ], [ 0.000000e+00, %if11500 ]
  %142 = call nsz arcp float @llvm.amdgcn.s.buffer.load.f32(<4 x i32> %67, i32 0, i32 0) #7
  %143 = fmul nsz arcp float %59, %142
  %144 = select nsz arcp i1 %65, half 0xH3C00, half 0xH0000
  %145 = insertelement float undef, half %144, i64 0
  %146 = bitcast <2 x half> %145 to float
  %147 = select i1 %65, float 0.000000e+00, float 1.000000e+00
  %148 = call nsz arcp <2 x half> @llvm.amdgcn.cvt.pkrtz(float %147, float undef) #7
  %149 = shufflevector <2 x half> %148, <2 x half> undef, <3 x i32> <i32 0, i32 undef, i32 undef>
  %150 = bitcast <3 x half> %149 to float
  call void @llvm.amdgcn.exp.f32(i32 12, i32 15, float %58, float %143, float %60, float %61, i1 false, i1 false) #1
  call void @llvm.amdgcn.exp.f32(i32 13, i32 15, float %138, float %139, float %140, float %141, i1 false, i1 false) #1
  call void @llvm.amdgcn.exp.f32(i32 14, i32 15, float %134, float %135, float %136, float %137, i1 true, i1 false) #1
  call void @llvm.amdgcn.exp.f32(i32 32, i32 15, float %138, float %139, float %140, float %141, i1 false, i1 false) #1
  call void @llvm.amdgcn.exp.f32(i32 33, i32 15, float %134, float %135, float %136, float %137, i1 false, i1 false) #1
  call void @llvm.amdgcn.exp.f32(i32 34, i32 15, float %146, float %150, float undef, float undef, i1 false, i1 false) #1
  br label %endif6002

endif6002:                                        ; preds = %endif1, %endif6001
  ret void
}

; Function Attrs: nounwind
declare void @llvm.amdgcn.s.sendmsg(i32 immarg, i32) #1

; Function Attrs: nounwind readnone willreturn
declare i32 @llvm.amdgcn.mbcnt.lo(i32, i32) #2

; Function Attrs: inaccessiblememonly nounwind willreturn writeonly
declare void @llvm.amdgcn.exp.f32(i32 immarg, i32 immarg, float, float, float, float, i1 immarg, i1 immarg) #3

; Function Attrs: nounwind readonly willreturn
declare <4 x float> @llvm.amdgcn.struct.buffer.load.format.v4f32(<4 x i32>, i32, i32, i32, i32 immarg) #4

; Function Attrs: nounwind readonly willreturn
declare float @llvm.amdgcn.struct.buffer.load.format.f32(<4 x i32>, i32, i32, i32, i32 immarg) #4

; Function Attrs: nounwind readnone speculatable willreturn
declare <2 x half> @llvm.amdgcn.cvt.pkrtz(float, float) #5

; Function Attrs: nounwind readnone willreturn
declare float @llvm.amdgcn.s.buffer.load.f32(<4 x i32>, i32, i32 immarg) #2

; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare float @llvm.fma.f32(float, float, float) #6

attributes #0 = { "amdgpu-32bit-address-high-bits"="0xffff8000" "amdgpu-flat-work-group-size"="128,128" "denormal-fp-math"="ieee,ieee" "denormal-fp-math-f32"="preserve-sign,preserve-sign" "target-features"="+DumpCode" }
attributes #1 = { nounwind }
attributes #2 = { nounwind readnone willreturn }
attributes #3 = { inaccessiblememonly nounwind willreturn writeonly }
attributes #4 = { nounwind readonly willreturn }
attributes #5 = { nounwind readnone speculatable willreturn }
attributes #6 = { nofree nosync nounwind readnone speculatable willreturn }
attributes #7 = { nounwind readnone }
attributes #8 = { nounwind readonly }

!0 = !{i32 0, i32 32}
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzFXEtz2zgS_jXyBSUVHnwefHDseHZqZ2qnktQc9uKiSFDiDkVqScpO5tcvHhQJgCApy2LWlUgC1Ohu9ONDAwa9LZMf94_l4ZjlWbEDEXilVUO_g3ofJbQCb1mzB-kReaA-HY9l1YCK1qe8qUFWMOK4iuq9JGr2FNCqKitwoHUd7egKPq3gw8qD7T_R_O23P38Hn798-deXFXkAj1FRlA2oaU7jhnfA736auNSBPoQ04D0pwWBFnsA2a-KobnoKL92SQDIFZq8yrj7mUfPyyvgzzXqyhITdYGD28-FsxmK4UA0U9d8gquKjoqAHCVzhR_BYFnUTFc3zH2wcG7Yijw9_POdl1KxwgFzCZo7DFfk8S3um67QCpjSmV4ZatZo4HmqFCAnxu7VizErmLvIQ71XhwGSrmMX0BqNw_UAfDcxvhfpyfFOdijhqqDrDMIUmA2B-z1mMB0QMByro3hUUjMcrPk_k8c9vL3_888u3f788I-_lmfFWJMaesOWpSGjKzUiwjT0wh8joYyPjvZRRHn88V-XhC90xUteDydbxPRThgHNnvVnd0EoKACvs-nYpmpyEQDXKz0wmhquWxNpgOT-r51lCRIHmeTWwRkLKFsA345P64SV8NB6_FiBl8dZkZcGHHqKsGAcnhn81IwRZDZCzgRuHO4lBWgTeohpEDXDRNoliJ3A8FwVey0i8fmMQ2OJmTqOE42lTCmCUOJmWeV6-1VwHdZihRcUYsEllAiA7YG75ts79U4L0V9nJ9Pr89ZevQOj_K0dWjT35BH4vk1NOf30SJlthn89nLVmylqSry1MV05c0y2kRHWhLijXSNgGaqNrRBiRRE-XRj_LUnInp-sike454WR-R2sDsnciX9ZGoDUclc9VvPKWRnUleOZw9IG_9ih351euZ5tUJWppQ0OCAUYf8S-xyetc7f3QR72WvjAAKPvyNkUDBgr-tC8GWcfvKWD-461_QuuBu8U1DNFV2zDuLRYdkFxfrdUfVvjqQ1rv6peLu5KT0O8vYIspBlCRVfYxiygKXsMAFu7zcsv6V-wmC7xzxVu4TD8Moz3YF8FyWJCpnlr5ZQQGXezy97GrwWmYJYPJEpOMg5UmhSfF4emAGpkXFQKkoGWMe3IK9A5iracr-FzGNtjmnR4HjeL7DwIP4MHRd5CGXK8rgRkAky72g1ZR8XkoS4pI4_EterAcPesigxxn0uIMeb9Djt7NyFp9V8NPsF3JJi8YC-onBMIwGNAwHNIwHNAwI5P40b6NhqKGfF2soGEoPh9L7_IJTX3Ye4A2sNojacNSGqzY8teGrjUBthEpD1tznhqoBr7j4JAkEK_-TBEaOfy9btsPplkQgSInA36hIusGcEfeOG2AHqqSOIM3iwxHQ_3bkgr6j21aiLufUvD-PtjTnzSx1oTRh10WLpO1V8LvtIZaSb_SHr-rHiiZ1u-q4_VwV7V3xbV7vq86aXB2EVSJvYA3hJZ5iCpU_wkqzVjBgJdyKYUig66mUoaAsO2ZE4iDuljYA4ijPu6Usz18PG7mybupNzex4qHcs2vlwLUDCNgyQ4p1p8_edl3tgYP7e1yO-cODAgCKKApUGmfZzoIxMV6WSZbswjyDTrXPYxkWzycvWOOsuSWBrGYk3GFVRsaP8g-pCh_QBz_b5nR64nZqDBlHvECPqPQjRMOpFrxb1oudjUW84VE7BMa0oYQf5oRr3jkyOwykHxemNbabfusmKNHY5wDjqgEGiODJRiE9C19eSyvEHOggL8tpN82Vg5IHjnQ3tq2ThMPskP4XIhQP9RGZ4PoJ-oMGai0yx5_RzNbL2DGWf69CumdslBi9ZqInhKpmjbdvPtIRvkURRMpv29PtxIzbWIq5xtxKgvq4Rcvqm3NnONlkYN9WJth_TKK_pLIiY0dx3fghEzqkzEtquO7JyqTHletMp3BN3KSwrYCWFEXKhZeVi6mE9hyXhe5LYnsO9PeUc_B7jumOuthCR0cJKEXNZYE6Mm832lLKCiAFglGzSsjpEzebVkXGjVzJdgTMoJ6DtgwgIFa3d4LyNq6K4oTk90KIZKsknI9h4DtB8Gb57uGohD757uJqOHnr3cKIOxxb_tDl4qVfGfGJWde_xiUfscYOZiH2Up5awiV-bzfGvqvm72ymL-Q1wol07FVnOiAk1YVwnm_s9mcopz9JO05ItyHykZC-KzO__II9QGyjT-9hUTZkxgeM7OrEj4_iaEc31MreyouanSLrnz24gj9zCxzKry-Jsb4J9ryvMkdPV9QHGyPd9frT6WXGd51mnHVwcOHrM2IPF67YNjhkWmqtCbfHp3RwMzbPhv5KwFP1eaC_6Of0QKZEJqAZsvq_usS8WEnt7zX24kG2DKdv6aCGpCE-KvRyB3inWmxRrA5hbiMUDXNPESqxJRbVqiOVg3i7tvorRvjuranqIWs16XlArp3ysNx2bct41gtTzKBFGetO1CbJVBfOCAp2zMUHPJmgplMKTMOWHS4mdzOBgKdwgkxkcLAUcZDKDA3xRKgVqsRXMZ_18KgVGE9uUc26RSnpT_k7BFHQVOJippDcDGzgE8-Bw5YI_CZjBPFRcKXYyg4PFypvpDF4KONzJDA7hZakUqmPms_6CVNIDL7QqN18gzKdS4OuCkE3QVeBgpFLg6YJs4BDOg8OVXp4EzHAeKq4T601mcLgUcHiTGRwuBRzeZAaHwUWpFGpj5rN-PpVCI_ACi3IIzlcI87kUunoztEq6Ch6MZAodrYmgzeIILrWD8CdBE8GlthD-ZBojuBR8BJN5jOBS-BFMJjKC3kUpxfTTRl21xzCSitnaaNt2GQjOVwvzacXiyWj7VllXgYWRWCxnjLYVLtBiBxGTGIrQUjuKcDqj0VJIEk5nNFoKSRCcTml02XEEU1AbdYsDCYSMEES2XQdCtziTQAgZbdupBEK3OJZAyJynFTLQUhuMFrLGXb7UFkNgyIRgvBSYoOkDRoQXO9icPmJE-LITCqagNuoWZxQIm23bRgThWxxTIGS0se2gAuFbnFQgZLSxFTXwUnsONH28i_BSuw40feKI8GJ4Mn3miPBieDJ96ojIZYcWTEFt1C2OLVqb9G1i1_AWJxcI-4Ys29kFIrc4vEDYM2QNUGNwgWJ4e-Kjd4GUWwsr5Vdu7TwlYh332VlN91NbF_cDQHvPmn8HN1D80BX-pDLlIgSdytwdYd7e7fwYc2-EubzV9EHm_ghzecXxg8wDO3P_FlYJ7byDGxilvao34B3ewCbtFT9LHKIbMF9qHzK9eLV3BkcQ1T0nGFNPGyUz0nzCTv5S3RNuFFchzjcglDa3h8bKtdxokAp0l7zO1yrOFxeMewnI0Z9sG17j4FLMu2qi21fnoaovNRg6UPYjvV_laFuTr7jEwlTrxY3dYkHt3cJ6zwIip-2Tkrbpn59UUL_ozMv6yeD-SBc2_VW7rtE_4MWZt3cXFesTU3x47U3BvsxH-gmkuYo5-kGKsXjLyqC_IDh-WfBSvciIXoiYZYKxtDtGWeHcXDVnVDXjYIuY35uVgN-qM3fD8kLNyJgz__9GI-P-vNZoN1Nt1J-OIdpVrDRxX3ZWMduFWTwo-UTnBy7M9letVpZ7pBVthG1asf6TKp_zem6fCgUPTVOJ5zKL8lS8ZUU7JKFxHlX0oocQssMhqnatmXVrXCKQKRslRVlQ8JblOdP8VBW6EtncVX9dNp6XnRVRHNO6zrZ8yTyURf6j16dXA7xVWUP5t_NW0cNOs4nSkig-_YEFljK8b4jJkXcaVkxtzLC3vVbcecHypk_CueUk7FXee-7eLqe4COv6SONTHjX8KbUpV7ynyFECRijm3jLfrqubp-x2QUoWZVpRyt7qH0V8rRUnt--2bBPaaY8UR0yhbHtqaA3kI3Ucb32-U8HyMeM1waxYW_NrxwxB1vtst1-zjpo_9EzY5gXD7yn7CXilzs8zu3Ep0379VlZ_rXdVeTqu6-xv2g2SByTiVYxJaMHjNV-nxzUL231HmFHKlx_5ZiVdizm35GzRYFuDV8qk7fh9ZqMtGMhnudcpjZhFaT8RVp4_nQ7HxzKRos7LiG4i1Jmoc9oIJR5SWmJxbDTpRr8bvcdYOnaFDLgZG-1OTGckWsdYeQqrq9JgjLE_oePIkGDCKGYlgdvfd7IPbIC28WEx2BHrf-bhLrknSUjC6K7Jmpze3_gv44C7U5Xf75vmyHFlhZ_Zv13W7E_bTVweWINjQ_u2Plblf7gc_JzV9YnH_jPb_Tj4bn-_DRxWFDpB4AUkQdvYT10cBkmyTaEDo-32TlR59f3K_cSyo6BvQLDgeeM-3WX3GDIo8FhZ6UEEvY2HqJ_4CfHZbhpGfsr_KMIhyvKNgKqy2t1V90Kl7WlXcwTL6qbuv4xqnrCUCnGMf3Rq9mV1v6NVkmT0Toi-F6r_DxMwlIQ">