(
(let $1 (OptionalType (DataType 'Uint32)))
(let $2 (Uint64 '1))
(let $3 (DataType 'Double))
(let $4 (DataType 'Uint64))
(let $5 (OptionalType (TupleType $3 $4)))
(let $6 (OptionalType $4))
(let $7 (DataType 'String))
(let $8 (ListType $7))
(let $9 '('prefix $7))
(let $10 '('"region" $1))
(let $11 (StructType '('_yql_agg_0 $8) '('_yql_agg_1 $5) '('_yql_agg_2 $6) $9 $10))
(let $12 '('('"_logical_id" '15081) '('"_id" '"3cf13aa3-5ac9cff1-a585a3-ceab941e") '('"_wide_channels" $11)))
(let $13 (DqPhyStage '() (lambda '() (block '(
  (let $35 '@@["StructType";[["key";["DataType";"String"]];["subkey";["DataType";"String"]];["value";["DataType";"String"]]]]@@)
  (let $36 (YqlRowSpec '('NativeYtTypeFlags '0) '('StrictSchema '1) '('UniqueKeys '0) '('Type $35)))
  (let $37 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0) '('Attrs '('('"native_strict_schema" 'false)))))
  (let $38 (YtStat '('Id '"Input") '('RecordsCount '"12") '('DataSize '"525") '('ChunkCount '1) '('ModifyTime '0) '('Revision '0)))
  (let $39 (YtTable '"Input" $36 $37 $38 '() (Void) (Void) '"/Root/plato"))
  (let $40 '('"key" '"subkey" '"value"))
  (let $41 (YtReadTable! world (DataSource '"yt" '"/Root/plato") '((YtSection '((YtPath $39 $40 (Void) (Void))) '()))))
  (let $42 (lambda '($50 $51 $52) (block '(
    (let $53 (Substring $52 (Uint32 '0) (Uint32 '1)))
    (return $53 (SafeCast $51 $1))
  ))))
  (let $43 (lambda '($62) (Just '((Convert $62 'Double) $2))))
  (let $44 (Nothing $5))
  (let $45 (lambda '($63) (Just (SafeCast $63 $4))))
  (let $46 (Nothing $6))
  (let $47 (lambda '($54 $55 $56 $57 $58) (block '(
    (let $59 (SafeCast $56 $1))
    (let $60 (IfPresent $59 $43 $44))
    (let $61 (IfPresent $59 $45 $46))
    (return (AsList $58) $60 $61)
  ))))
  (let $48 (lambda '($64 $65 $66 $67 $68 $69 $70 $71) (block '(
    (let $72 (SafeCast $66 $1))
    (let $73 (IfPresent $72 $43 $44))
    (let $74 (IfPresent $70 (lambda '($76) (IfPresent $72 (lambda '($77) (Just '((AggrAdd (Nth $76 '0) (Convert $77 'Double)) (Inc (Nth $76 '1))))) (Just $76))) $73))
    (let $75 (IfPresent $72 $45 $46))
    (return (Insert $69 $68) $74 (AggrAdd $75 $71))
  ))))
  (let $49 (lambda '($78 $79 $80 $81 $82) $80 $81 $82 $78 $79))
  (return (WideFromBlocks (DqPhyHashCombine (WideToBlocks (FromFlow (DqReadWideWrap $41 '()))) '-1073741824 $42 $47 $48 $49)))
))) $12))
(let $14 (DqCnHashShuffle (TDqOutput $13 '0) '('"3" '"4") '0 '"HashV2"))
(let $15 (OptionalType $3))
(let $16 '('AggregateList1 $8))
(let $17 '('Avg0 $15))
(let $18 '('Avg1 $15))
(let $19 '('Sum0 $6))
(let $20 (StructType $16 $17 $18 $19 $9 $10))
(let $21 '('('"_logical_id" '19072) '('"_id" '"281bb9b5-f5b8aab5-8329a6f7-d13009c8") '('"_partition_mode" '"aggregate") '('"_wide_channels" $20)))
(let $22 (DqPhyStage '($14) (lambda '($83) (block '(
  (let $84 (lambda '($90 $91 $92 $93 $94) $93 $94))
  (let $85 (lambda '($95 $96 $97 $98 $99 $100 $101) $97 $98 $99))
  (let $86 (lambda '($102 $103 $104 $105 $106 $107 $108 $109 $110 $111) (block '(
    (let $112 (IfPresent $105 (lambda '($113) (IfPresent $110 (lambda '($114) (Just '((AggrAdd (Nth $113 '0) (Nth $114 '0)) (AggrAdd (Nth $113 '1) (Nth $114 '1))))) $105)) $110))
    (return (Extend $104 $109) $112 (AggrAdd $106 $111))
  ))))
  (let $87 (lambda '($115 $116 $117 $118 $119) (block '(
    (let $120 (IfPresent $118 (lambda '($121) (Just (Div (Nth $121 '0) (Nth $121 '1)))) (Nothing $15)))
    (return $117 $120 $119 $115 $116)
  ))))
  (let $88 (WideCombiner (ToFlow $83) '"" $84 $85 $86 $87))
  (let $89 (lambda '($122 $123 $124 $125 $126) $122 $123 $123 $124 $125 $126))
  (return (FromFlow (WideMap $88 $89)))
))) $21))
(let $23 (DqCnHashShuffle (TDqOutput $22 '0) '('"5") '0 '"HashV2"))
(let $24 (OptionalType $7))
(let $25 (OptionalType $8))
(let $26 (StructType '('"avg_age" $15) '('"column10" $7) $9 '('"prefix_list" $8) '('"prev_prefix_list" $24) '('"prev_region" $1) '('"prev_region_list" $25) $10 '('"region_2" (OptionalType (DataType 'Int32))) '('"sum_age" $6) '('"sum_by_avg_age" $15)))
(let $27 '('('"_logical_id" '20548) '('"_id" '"84560d33-847e00d2-8c39d9d-bb78b2db") '('"_wide_channels" $26)))
(let $28 (DqPhyStage '($23) (lambda '($127) (block '(
  (let $128 (NarrowSqueezeToDict (ToFlow $127) (lambda '($135 $136 $137 $138 $139 $140) $140) (lambda '($141 $142 $143 $144 $145 $146) (AsStruct '('AggregateList1 $141) '('Avg0 $142) '('Avg1 $143) '('Sum0 $144) '('prefix $145) '('"region" $146))) '('Auto 'Many)))
  (let $129 (Bool 'false))
  (let $130 (Chopper (OrderedFlatMap $128 (lambda '($147) (OrderedFlatMap (DictPayloads $147) (lambda '($148) (Sort $148 $129 (lambda '($149) (Member $149 'prefix))))))) (lambda '($150) (Member $150 '"region")) (lambda '($151 $152) (AggrNotEquals $151 (Member $152 '"region"))) (lambda '($153 $154) (block '(
    (let $155 (FromFlow $154))
    (let $156 (Chain1Map $155 (lambda '($170) (block '(
      (let $171 (Member $170 'prefix))
      (let $172 '('AggregateList0 (AsList $171)))
      (let $173 (Member $170 'Avg1))
      (let $174 '('Sum1 $173))
      (let $175 (AsStruct $172 '('AggregateList1 (Member $170 'AggregateList1)) '('Avg0 (Member $170 'Avg0)) '('Avg1 $173) '('Sum0 (Member $170 'Sum0)) $174 '('prefix $171) '('"region" (Member $170 '"region"))))
      (return '($175 (AsStruct $172 $174)))
    ))) (lambda '($176 $177) (block '(
      (let $178 (Nth $177 '1))
      (let $179 (Member $176 'prefix))
      (let $180 '('AggregateList0 (Insert (Member $178 'AggregateList0) $179)))
      (let $181 (Member $176 'Avg1))
      (let $182 '('Sum1 (AggrAdd $181 (Member $178 'Sum1))))
      (let $183 (AsStruct $180 '('AggregateList1 (Member $176 'AggregateList1)) '('Avg0 (Member $176 'Avg0)) '('Avg1 $181) '('Sum0 (Member $176 'Sum0)) $182 '('prefix $179) '('"region" (Member $176 '"region"))))
      (return '($183 (AsStruct $180 $182)))
    )))))
    (let $157 (StructType '('AggregateList0 $8) $16 $17 $18 $19 '('Sum1 $15) $9 $10))
    (let $158 (ListType $157))
    (let $159 (VariantType (StructType '('group $158) '('singleRow $157))))
    (let $160 (Condense1 $156 (lambda '($184) (block '(
      (let $185 (Nth $184 '0))
      (let $186 (Variant $185 'singleRow $159))
      (return '((Member $185 'prefix) $186))
    ))) (lambda '($187 $188) (AggrNotEquals (Member (Nth $187 '0) 'prefix) (Nth $188 '0))) (lambda '($189 $190) (block '(
      (let $191 (Nth $189 '0))
      (let $192 (Visit (Nth $190 '1) 'group (lambda '($193) (Variant (Insert $193 $191) 'group $159)) 'singleRow (lambda '($194) (Variant (AsList $194 $191) 'group $159))))
      (return '((Nth $190 '0) $192))
    )))))
    (let $161 (QueueCreate $157 (Uint64 '"3") $2 (DependsOn $155)))
    (let $162 (Uint64 '0))
    (let $163 (lambda '($208) (Member $208 '"region")))
    (let $164 (Nothing $1))
    (let $165 (lambda '($209) (Just (Member $209 'prefix))))
    (let $166 (Nothing $24))
    (let $167 (lambda '($210) (Just (Member $210 'AggregateList1))))
    (let $168 (Nothing $25))
    (let $169 (Chain1Map (ToFlow (PreserveStream (OrderedFlatMap $160 (lambda '($195) (Visit (Nth $195 '1) 'group (lambda '($196) (IfPresent (Last $196) (lambda '($197) (OrderedMap (Collect (Map $196 (lambda '($198) (AsStruct '('AggregateList1 (Member $198 'AggregateList1)) '('Avg0 (Member $198 'Avg0)) '('Avg1 (Member $198 'Avg1)) '('Sum0 (Member $198 'Sum0)) '('prefix (Member $198 'prefix)) '('"region" (Member $198 '"region")))))) (lambda '($199) (AsStruct '('AggregateList0 (Member $197 'AggregateList0)) '('AggregateList1 (Member $199 'AggregateList1)) '('Avg0 (Member $199 'Avg0)) '('Avg1 (Member $199 'Avg1)) '('Sum0 (Member $199 'Sum0)) '('Sum1 (Member $197 'Sum1)) '('prefix (Member $199 'prefix)) '('"region" (Member $199 '"region")))))) (List $158))) 'singleRow (lambda '($200) (AsList $200))))) $161 $162)) (lambda '($201) (block '(
      (let $202 (QueuePeek $161 $162 (DependsOn $201)))
      (let $203 (IfPresent $202 $163 $164))
      (let $204 (IfPresent $202 $165 $166))
      (let $205 (IfPresent $202 $167 $168))
      (let $206 (AsStruct '('AggregateList0 (Member $201 'AggregateList0)) '('AggregateList1 (Member $201 'AggregateList1)) '('Avg0 (Member $201 'Avg0)) '('Avg1 (Member $201 'Avg1)) '('Sum0 (Member $201 'Sum0)) '('Sum1 (Member $201 'Sum1)) '('_yql_Lag0 $203) '('_yql_Lag1 $204) '('_yql_Lag2 $205) '('prefix (Member $201 'prefix)) '('"region" (Member $201 '"region"))))
      (let $207 (AsStruct '('_yql_Lag0 (Void)) '('_yql_Lag1 (Void)) '('_yql_Lag2 (Void))))
      (return '($206 $207))
    ))) (lambda '($211 $212) (block '(
      (let $213 (QueuePeek $161 $162 (DependsOn $211)))
      (let $214 (IfPresent $213 $163 $164))
      (let $215 (IfPresent $213 $165 $166))
      (let $216 (IfPresent $213 $167 $168))
      (let $217 (AsStruct '('AggregateList0 (Member $211 'AggregateList0)) '('AggregateList1 (Member $211 'AggregateList1)) '('Avg0 (Member $211 'Avg0)) '('Avg1 (Member $211 'Avg1)) '('Sum0 (Member $211 'Sum0)) '('Sum1 (Member $211 'Sum1)) '('_yql_Lag0 $214) '('_yql_Lag1 $215) '('_yql_Lag2 $216) '('prefix (Member $211 'prefix)) '('"region" (Member $211 '"region"))))
      (return '($217 (Nth $212 '1)))
    )))))
    (return (OrderedMap $169 (lambda '($218) (block '(
      (let $219 (Nth $218 '0))
      (return (AsStruct '('AggregateList0 (Member $219 'AggregateList0)) '('Avg0 (Member $219 'Avg0)) '('Sum0 (Member $219 'Sum0)) '('Sum1 (Member $219 'Sum1)) '('_yql_Lag0 (Member $219 '_yql_Lag0)) '('_yql_Lag1 (Member $219 '_yql_Lag1)) '('_yql_Lag2 (Member $219 '_yql_Lag2)) '('prefix (Member $219 'prefix)) '('"region" (Member $219 '"region"))))
    )))))
  )))))
  (let $131 (Bool 'true))
  (let $132 '($129 $131 $131))
  (let $133 (Sort (Map $130 (lambda '($220) (block '(
    (let $221 (Member $220 '"region"))
    (return (AsStruct '('"avg_age" (Member $220 'Avg0)) '('"column10" (String '"test")) '('prefix (Member $220 'prefix)) '('"prefix_list" (Member $220 'AggregateList0)) '('"prev_prefix_list" (Member $220 '_yql_Lag1)) '('"prev_region" (Member $220 '_yql_Lag0)) '('"prev_region_list" (Member $220 '_yql_Lag2)) '('"region" $221) '('"region_2" (+ $221 (Int32 '"2"))) '('"sum_age" (Member $220 'Sum0)) '('"sum_by_avg_age" (Member $220 'Sum1))))
  )))) $132 (lambda '($222) '((Member $222 '"region") (Member $222 'prefix) (Member $222 '"sum_by_avg_age")))))
  (let $134 (lambda '($223) (Member $223 '"avg_age") (Member $223 '"column10") (Member $223 'prefix) (Member $223 '"prefix_list") (Member $223 '"prev_prefix_list") (Member $223 '"prev_region") (Member $223 '"prev_region_list") (Member $223 '"region") (Member $223 '"region_2") (Member $223 '"sum_age") (Member $223 '"sum_by_avg_age")))
  (return (FromFlow (ExpandMap $133 $134)))
))) $27))
(let $29 '('('"7" '"Desc") '('"2" '"Asc") '('"10" '"Asc")))
(let $30 (DqCnMerge (TDqOutput $28 '0) $29))
(let $31 (DqPhyStage '($30) (lambda '($224) (FromFlow (NarrowMap (ToFlow $224) (lambda '($225 $226 $227 $228 $229 $230 $231 $232 $233 $234 $235) (AsStruct '('"avg_age" $225) '('"column10" $226) '('prefix $227) '('"prefix_list" $228) '('"prev_prefix_list" $229) '('"prev_region" $230) '('"prev_region_list" $231) '('"region" $232) '('"region_2" $233) '('"sum_age" $234) '('"sum_by_avg_age" $235)))))) '('('"_logical_id" '20560) '('"_id" '"a6ba20e5-e0a28c38-c6703644-22ec1fae"))))
(let $32 '($13 $22 $28 $31))
(let $33 '('prefix '"region" '"region_2" '"avg_age" '"sum_age" '"sum_by_avg_age" '"prev_region" '"prefix_list" '"prev_prefix_list" '"prev_region_list" '"column10"))
(let $34 (DqCnResult (TDqOutput $31 '0) $33))
(return (KqpPhysicalQuery '((KqpPhysicalTx $32 '($34) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType $26) '0 '0)) '('('"type" '"query"))))
)
