(
(let $1 (DataSource '"yt" '"/Root/plato"))
(let $2 '('NativeYtTypeFlags '0))
(let $3 '('StrictSchema '1))
(let $4 '('UniqueKeys '1))
(let $5 '@@["StructType";[["key";["DataType";"String"]];["subkey";["DataType";"String"]];["value";["DataType";"String"]]]]@@)
(let $6 '('Type $5))
(let $7 (Bool 'true))
(let $8 '('"key"))
(let $9 (DataType 'String))
(let $10 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0) '('Attrs '('('"native_strict_schema" '"false")))))
(let $11 '('ChunkCount '1))
(let $12 '('ModifyTime '0))
(let $13 '('Revision '0))
(let $14 '('"key" '"subkey" '"value"))
(let $15 (StructType '('"key" $9) '('"subkey" $9) '('"value" $9)))
(let $16 '('"_wide_channels" $15))
(let $17 '('('"_logical_id" '1636) '('"_id" '"62305536-1bc5a732-e6fc7ad8-a39bd8ef") $16))
(let $18 (DqPhyStage '() (lambda '() (block '(
  (let $45 (YqlRowSpec $2 $3 $4 $6 '('SortDirections '($7)) '('SortMembers $8) '('SortedBy $8) '('SortedByTypes '($9))))
  (let $46 (YtStat '('Id '"Dict1") '('RecordsCount '"8") '('DataSize '"336") $11 $12 $13))
  (let $47 (YtTable '"Dict1" $45 $10 $46 '() (Void) (Void) '"/Root/plato"))
  (let $48 (YtReadTable! world $1 '((YtSection '((YtPath $47 $14 (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $48 '())))
))) $17))
(let $19 (DqCnBroadcast (TDqOutput $18 '0)))
(let $20 (lambda '($54 $55 $56) (AsStruct '('"key" $54) '('"subkey" $55) '('"value" $56))))
(let $21 '('Many 'Hashed 'Compact))
(let $22 '('SortDirections '($7 $7)))
(let $23 '('SortedByTypes '($9 $9)))
(let $24 (OptionalType $9))
(let $25 '"a.subkey_plus_one")
(let $26 '('"a.key" $9))
(let $27 '($25 $24))
(let $28 '('"d1.key" $9))
(let $29 '('"d1.subkey" $9))
(let $30 '('"d1.value" $9))
(let $31 (StructType $26 $27 $28 $29 $30))
(let $32 '('('"_logical_id" '1783) '('"_id" '"65a26c11-73aa9716-aa649e5c-d12d0815") '('"_wide_channels" $31)))
(let $33 (DqPhyStage '($19) (lambda '($49) (block '(
  (let $50 (NarrowSqueezeToDict (ToFlow $49) (lambda '($51 $52 $53) $52) $20 $21))
  (return (FromFlow (FlatMap $50 (lambda '($57) (block '(
    (let $58 '('"key" '"subkey"))
    (let $59 (YqlRowSpec $2 $3 $4 $6 $22 '('SortMembers $58) '('SortedBy $58) $23))
    (let $60 (YtStat '('Id '"Input") '('RecordsCount '"10") '('DataSize '"420") $11 $12 $13))
    (let $61 (YtTable '"Input" $59 $10 $60 '() (Void) (Void) '"/Root/plato"))
    (let $62 (YtReadTable! world $1 '((YtSection '((YtPath $61 $58 (Void) (Void))) '('('"unordered"))))))
    (let $63 (lambda '($67 $68) $67 (+ (SafeCast $68 (OptionalType (DataType 'Int32))) (Int32 '1))))
    (let $64 (lambda '($71 $72) (block '(
      (let $73 (IfPresent $72 (lambda '($74) (Just (SafeCast $74 $9))) (Nothing $24)))
      (return $71 $73)
    ))))
    (let $65 '('0 '0 '1 '1))
    (let $66 '('"key" '2 '"subkey" '3 '"value" '4))
    (return (MapJoinCore (WideMap (WideFilter (WideMap (DqReadWideWrap $62 '()) $63) (lambda '($69 $70) (Exists $70))) $64) $57 'Inner '('1) '('"subkey") $65 $66 '($25) '('"d1.subkey")))
  ))))))
))) $32))
(let $34 '('('"_logical_id" '1663) '('"_id" '"4d5052cd-122cdc17-1bf96cdb-1d568292") $16))
(let $35 (DqPhyStage '() (lambda '() (block '(
  (let $75 '('"subkey" '"value"))
  (let $76 (YqlRowSpec $2 $3 $4 $6 $22 '('SortMembers $75) '('SortedBy $75) $23))
  (let $77 (YtStat '('Id '"Dict2") '('RecordsCount '"14") '('DataSize '"608") $11 $12 $13))
  (let $78 (YtTable '"Dict2" $76 $10 $77 '() (Void) (Void) '"/Root/plato"))
  (let $79 (YtReadTable! world $1 '((YtSection '((YtPath $78 $14 (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $79 '())))
))) $34))
(let $36 (DqCnMap (TDqOutput $33 '0)))
(let $37 (DqCnBroadcast (TDqOutput $35 '0)))
(let $38 (StructType $26 $27 $28 $29 $30 '('"d2.key" $9) '('"d2.subkey" $9) '('"d2.value" $9)))
(let $39 '('('"_logical_id" '1862) '('"_id" '"fb216067-effbd137-5883812d-f09f3a45") '('"_wide_channels" $38)))
(let $40 (DqPhyStage '($36 $37) (lambda '($80 $81) (block '(
  (let $82 (NarrowSqueezeToDict (ToFlow $81) (lambda '($83 $84 $85) $83) $20 $21))
  (return (FromFlow (WideSort (FlatMap $82 (lambda '($86) (block '(
    (let $87 '('0 '0 '1 '1 '2 '2 '3 '3 '4 '4))
    (let $88 '('"key" '5 '"subkey" '6 '"value" '7))
    (return (MapJoinCore (ToFlow $80) $86 'Inner '('0) $8 $87 $88 '('"a.key") '('"d2.key")))
  )))) '('('0 $7) '('1 $7)))))
))) $39))
(let $41 (DqCnMerge (TDqOutput $40 '0) '('('0 '"Asc") '('1 '"Asc"))))
(let $42 (DqPhyStage '($41) (lambda '($89) (FromFlow (NarrowMap (ToFlow $89) (lambda '($90 $91 $92 $93 $94 $95 $96 $97) (AsStruct '('"a.key" $90) '($25 $91) '('"d1.key" $92) '('"d1.subkey" $93) '('"d1.value" $94) '('"d2.key" $95) '('"d2.subkey" $96) '('"d2.value" $97)))))) '('('"_logical_id" '1874) '('"_id" '"b85b4312-53a93293-60224f2c-ad6e10f5"))))
(let $43 '($18 $33 $35 $40 $42))
(let $44 (DqCnResult (TDqOutput $42 '0) '()))
(return (KqpPhysicalQuery '((KqpPhysicalTx $43 '($44) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType $38) '0 '0)) '('('"type" '"query"))))
)
