digraph G {
subgraph clusterstage_39705 {
label="Stage 39705";
170030 [labelType="html" label="PythonRDD [170030]<br>RDD at PythonRDD.scala:53"];
170035 [labelType="html" label="PythonRDD [170035]<br>RDD at PythonRDD.scala:53"];
subgraph cluster403988 {
label="Exchange";
169610 [labelType="html" label="ShuffledRowRDD [169610] [Unordered]<br>count at <unknown>:0"];
}
subgraph cluster403989 {
label="mapPartitionsInternal";
169611 [labelType="html" label="MapPartitionsRDD [169611] [Unordered]<br>count at <unknown>:0"];
}
subgraph cluster403990 {
label="mapPartitionsInternal";
169612 [labelType="html" label="AdaptiveSparkPlan isFinalPlan=false\n+- Exchange SinglePartition, REPARTITION_BY_NUM, [plan_id=3316750]\n +- Project [brand_context_id#20322539, staticinvoke(class org.apache.spark.sql.catalyst.util.CharVarcharCodegenUtils, StringType, readSidePadding, NetworkID#20322540, 64, true, false, true) AS NetworkID#20322583, Child_Node#20322541, Parent_id#20322542, supplier_id#20322543, preferrd_supplier_id#20322544, supplier_ref_id#20322545, supplier_uid#20322546, supplier_name#20322547, supplier_country#20322548, direct_indirect#20322549, source_type#20322550, product_name#20322551, tier#20322552, is_latest#20322553, is_latest_submitted#20322554, is_unknown_supplier#20322555, company_id#20322556, config_name#20322557, direct_supplier_name#20322558, launch_request_name#20322559, launch_config_ref#20322560, revision_version#20322561, submission_status#20322562, ... 23 more fields]\n +- Scan JDBCRelation((\nSELECT\n c.brand_context_id,\n c.NetworkID,\n c.Child_Node,\n c.Parent_id,\n ISNULL(c.supplier_i... [169612] [Cached] [Unordered]<br>count at <unknown>:0"];
}
subgraph cluster404195 {
label="InMemoryTableScan";
169686 [labelType="html" label="MapPartitionsRDD [169686] [Unordered]<br>javaToPython at <unknown>:0"];
169687 [labelType="html" label="MapPartitionsRDD [169687] [Unordered]<br>javaToPython at <unknown>:0"];
169688 [labelType="html" label="MapPartitionsRDD [169688] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404180 {
label="WholeStageCodegen (3)";
169689 [labelType="html" label="MapPartitionsRDD [169689] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404179 {
label="MapInPandas";
169690 [labelType="html" label="MapPartitionsRDD [169690] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404171 {
label="WholeStageCodegen (4)";
169691 [labelType="html" label="MapPartitionsRDD [169691] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404123 {
label="AdaptiveSparkPlan";
169692 [labelType="html" label="MapPartitionsRDD [169692] [Unordered]<br>javaToPython at <unknown>:0"];
169693 [labelType="html" label="AdaptiveSparkPlan isFinalPlan=false\n+- Project [supplier_id#20328199, preferrd_supplier_id#20328200, supplier_uid#20328201, name#20328202, brand_context_id#20328203, country#20328204, state#20328205, city#20328206, region#20328207, status#20328208, is_unknown#20328209, source_evidence#20328210, first_created_date#20329238]\n +- SortMergeJoin [supplier_id#20328199], [supplier_id#20322205], LeftOuter\n :- Sort [supplier_id#20328199 ASC NULLS FIRST], false, 0\n : +- Exchange hashpartitioning(supplier_id#20328199, 10), ENSURE_REQUIREMENTS, [plan_id=3317048]\n : +- MapInPandas <lambda>(supplier_id#20328042, preferrd_supplier_id#20328056, supplier_uid#20328057, name#20328072, brand_context_id#20328073, country#20328074, state#20328075, city#20328076, region#20328077, status#20328078, is_unknown#20328079, source_evidence#20328080)#20328198, [supplier_id#20328199, preferrd_supplier_id#20328200, supplier_uid#20328201, name#20328202, brand_context_id#20328203, country#20328204, state#20328205, city... [169693] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404374 {
label="InMemoryTableScan";
169760 [labelType="html" label="MapPartitionsRDD [169760] [Unordered]<br>javaToPython at <unknown>:0"];
169761 [labelType="html" label="MapPartitionsRDD [169761] [Unordered]<br>javaToPython at <unknown>:0"];
169762 [labelType="html" label="MapPartitionsRDD [169762] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404366 {
label="WholeStageCodegen (3)";
169763 [labelType="html" label="MapPartitionsRDD [169763] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404365 {
label="MapInPandas";
169764 [labelType="html" label="MapPartitionsRDD [169764] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404357 {
label="WholeStageCodegen (4)";
169765 [labelType="html" label="MapPartitionsRDD [169765] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404323 {
label="AdaptiveSparkPlan";
169766 [labelType="html" label="MapPartitionsRDD [169766] [Unordered]<br>javaToPython at <unknown>:0"];
169767 [labelType="html" label="AdaptiveSparkPlan isFinalPlan=false\n+- Project [facility_id#20329148, facility_uid#20329149, name#20329150, brand_context_id#20329151, owner_supplier_id#20329152, country#20329153, state#20329154, city#20329155, region#20329156, is_unknown#20329157, value_processes#20329158, materials#20329159, first_created_date#20330899]\n +- SortMergeJoin [facility_id#20329148], [facility_id#20322219], LeftOuter\n :- Sort [facility_id#20329148 ASC NULLS FIRST], false, 0\n : +- Exchange hashpartitioning(facility_id#20329148, 10), ENSURE_REQUIREMENTS, [plan_id=3317112]\n : +- MapInPandas <lambda>(facility_id#20328357, facility_uid#20328358, name#20328360, brand_context_id#20328361, owner_supplier_id#20328364, country#20328365, state#20328366, city#20328367, region#20328368, is_unknown#20328369, value_processes#20328383, materials#20328384)#20329147, [facility_id#20329148, facility_uid#20329149, name#20329150, brand_context_id#20329151, owner_supplier_id#20329152, country#20329153, state#20329154, city#20... [169767] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404563 {
label="InMemoryTableScan";
169829 [labelType="html" label="MapPartitionsRDD [169829] [Unordered]<br>javaToPython at <unknown>:0"];
169830 [labelType="html" label="MapPartitionsRDD [169830] [Unordered]<br>javaToPython at <unknown>:0"];
169831 [labelType="html" label="MapPartitionsRDD [169831] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404551 {
label="WholeStageCodegen (4)";
169832 [labelType="html" label="MapPartitionsRDD [169832] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404550 {
label="MapInPandas";
169833 [labelType="html" label="MapPartitionsRDD [169833] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404542 {
label="WholeStageCodegen (5)";
169834 [labelType="html" label="MapPartitionsRDD [169834] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404501 {
label="AdaptiveSparkPlan";
169835 [labelType="html" label="MapPartitionsRDD [169835] [Unordered]<br>javaToPython at <unknown>:0"];
169836 [labelType="html" label="AdaptiveSparkPlan isFinalPlan=false\n+- Project [supplier_id#20332933, supplier_uid#20332934, name#20332935, brand_context_id#20332936, country#20332937, state#20332938, city#20332939, region#20332940, status#20332941, is_unknown#20332942, source_evidence#20332943, first_created_date#20332955]\n +- SortMergeJoin [supplier_id#20332933], [supplier_id#20332958], LeftOuter\n :- Sort [supplier_id#20332933 ASC NULLS FIRST], false, 0\n : +- Exchange hashpartitioning(supplier_id#20332933, 10), ENSURE_REQUIREMENTS, [plan_id=3317318]\n : +- MapInPandas <lambda>(supplier_id#20332240, supplier_uid#20332241, name#20332242, brand_context_id#20332243, country#20332256, state#20332257, city#20332258, region#20332259, status#20332260, is_unknown#20332272, source_evidence#20332273)#20332932, [supplier_id#20332933, supplier_uid#20332934, name#20332935, brand_context_id#20332936, country#20332937, state#20332938, city#20332939, region#20332940, status#20332941, is_unknown#20332942, source_evidence#20332943], ... [169836] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404788 {
label="InMemoryTableScan";
169927 [labelType="html" label="MapPartitionsRDD [169927] [Unordered]<br>javaToPython at <unknown>:0"];
169928 [labelType="html" label="MapPartitionsRDD [169928] [Unordered]<br>javaToPython at <unknown>:0"];
169929 [labelType="html" label="MapPartitionsRDD [169929] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404784 {
label="WholeStageCodegen (2)";
169930 [labelType="html" label="MapPartitionsRDD [169930] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404793 {
label="InMemoryTableScan";
169931 [labelType="html" label="MapPartitionsRDD [169931] [Unordered]<br>javaToPython at <unknown>:0"];
169932 [labelType="html" label="MapPartitionsRDD [169932] [Unordered]<br>javaToPython at <unknown>:0"];
169933 [labelType="html" label="MapPartitionsRDD [169933] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404789 {
label="WholeStageCodegen (3)";
169934 [labelType="html" label="MapPartitionsRDD [169934] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404783 {
label="Union";
169935 [labelType="html" label="UnionRDD [169935] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404774 {
label="WholeStageCodegen (4)";
169936 [labelType="html" label="MapPartitionsRDD [169936] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404760 {
label="AdaptiveSparkPlan";
169937 [labelType="html" label="MapPartitionsRDD [169937] [Unordered]<br>javaToPython at <unknown>:0"];
169938 [labelType="html" label="AdaptiveSparkPlan isFinalPlan=false\n+- Project [supplier_id#20328199 AS entity_id#20346500, brand_context_id#20328203, dim_id#20346318, raw_level#20346319 AS level#20346501, CASE WHEN (cast(raw_level#20346319 as double) >= 4.2) THEN Extreme WHEN (cast(raw_level#20346319 as double) >= 3.4) THEN High WHEN (cast(raw_level#20346319 as double) >= 2.6) THEN Moderate WHEN (cast(raw_level#20346319 as double) >= 1.8) THEN Medium WHEN (cast(raw_level#20346319 as double) >= 1.0) THEN Low ELSE Unknown END AS level_band#20346502, active AS status#20346588, 2026-10-16T12:48:36.100823+00:00 AS listed_at#20346589, 2026-10-16T12:48:36.100823+00:00 AS assessed_at#20346590, null AS matched_entity#20346591, null AS match_pct#20346592, null AS match_source#20346593, null AS threshold#20346614, null AS kharon_id#20346615]\n +- Filter (isnotnull(raw_level#20346319) AND NOT (raw_level#20346319 = ))\n +- Generate stack(13, risk_child_labor, cast(Child_Labor#11541293 as string), risk_forced_labor, cast(Forced_Labor#11541292 as... [169938] [Cached] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404891 {
label="InMemoryTableScan";
169966 [labelType="html" label="MapPartitionsRDD [169966] [Unordered]<br>javaToPython at <unknown>:0"];
169967 [labelType="html" label="MapPartitionsRDD [169967] [Unordered]<br>javaToPython at <unknown>:0"];
169968 [labelType="html" label="MapPartitionsRDD [169968] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404879 {
label="WholeStageCodegen (2)";
169969 [labelType="html" label="MapPartitionsRDD [169969] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404840 {
label="AdaptiveSparkPlan";
169970 [labelType="html" label="MapPartitionsRDD [169970] [Unordered]<br>javaToPython at <unknown>:0"];
169971 [labelType="html" label="AdaptiveSparkPlan isFinalPlan=false\n+- Project [facility_id#20329148 AS entity_id#20347800, brand_context_id#20329151, dim_id#20347689, raw_level#20347690 AS level#20347801, CASE WHEN (cast(raw_level#20347690 as double) >= 4.2) THEN Extreme WHEN (cast(raw_level#20347690 as double) >= 3.4) THEN High WHEN (cast(raw_level#20347690 as double) >= 2.6) THEN Moderate WHEN (cast(raw_level#20347690 as double) >= 1.8) THEN Medium WHEN (cast(raw_level#20347690 as double) >= 1.0) THEN Low ELSE Unknown END AS level_band#20347802, active AS status#20347803, 2026-10-16T12:48:36.100823+00:00 AS listed_at#20347804, 2026-10-16T12:48:36.100823+00:00 AS assessed_at#20347805, null AS matched_entity#20347806, null AS match_pct#20347807, null AS match_source#20347808, null AS threshold#20347809, null AS kharon_id#20347810]\n +- Filter (isnotnull(raw_level#20347690) AND NOT (raw_level#20347690 = ))\n +- Generate stack(13, risk_child_labor, cast(Child_Labor#11541293 as string), risk_forced_labor, cast(Forced_Labor#11541292 as... [169971] [Cached] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster404999 {
label="parallelize";
170029 [labelType="html" label="ParallelCollectionRDD [170029]<br>readRDDFromFile at PythonRDD.scala:289"];
}
subgraph cluster405000 {
label="mapPartitions";
170031 [labelType="html" label="MapPartitionsRDD [170031]<br>mapPartitions at SerDeUtil.scala:117"];
}
subgraph cluster405001 {
label="map";
170032 [labelType="html" label="MapPartitionsRDD [170032]<br>map at SerDeUtil.scala:69"];
}
subgraph cluster405002 {
label="mapPartitions";
170033 [labelType="html" label="MapPartitionsRDD [170033]<br>applySchemaToPythonRDD at <unknown>:0"];
}
subgraph cluster405003 {
label="parallelize";
170034 [labelType="html" label="ParallelCollectionRDD [170034]<br>readRDDFromFile at PythonRDD.scala:289"];
}
subgraph cluster405004 {
label="mapPartitions";
170036 [labelType="html" label="MapPartitionsRDD [170036]<br>mapPartitions at SerDeUtil.scala:117"];
}
subgraph cluster405005 {
label="map";
170037 [labelType="html" label="MapPartitionsRDD [170037]<br>map at SerDeUtil.scala:69"];
}
subgraph cluster405006 {
label="mapPartitions";
170038 [labelType="html" label="MapPartitionsRDD [170038]<br>applySchemaToPythonRDD at <unknown>:0"];
}
subgraph cluster405135 {
label="InMemoryTableScan";
170062 [labelType="html" label="MapPartitionsRDD [170062] [Unordered]<br>javaToPython at <unknown>:0"];
170063 [labelType="html" label="MapPartitionsRDD [170063] [Unordered]<br>javaToPython at <unknown>:0"];
170064 [labelType="html" label="MapPartitionsRDD [170064] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405130 {
label="WholeStageCodegen (2)";
170065 [labelType="html" label="MapPartitionsRDD [170065] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405136 {
label="WholeStageCodegen (3)";
170066 [labelType="html" label="MapPartitionsRDD [170066]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405129 {
label="Union";
170067 [labelType="html" label="UnionRDD [170067] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405121 {
label="WholeStageCodegen (4)";
170068 [labelType="html" label="MapPartitionsRDD [170068] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405037 {
label="AdaptiveSparkPlan";
170069 [labelType="html" label="MapPartitionsRDD [170069] [Unordered]<br>javaToPython at <unknown>:0"];
170070 [labelType="html" label="AdaptiveSparkPlan isFinalPlan=false\n+- Project [facility_id#20351772, dim_id#20347689, lvl#20351773, sid#20351777]\n +- BroadcastHashJoin [facility_id#20351772], [facility_id#20326996], Inner, BuildRight, false\n :- Union\n : :- Project [entity_id#20347800 AS facility_id#20351772, dim_id#20347689, cast(level#20347801 as double) AS lvl#20351773]\n : : +- Filter ((isnotnull(dim_id#20347689) AND NOT (dim_id#20347689 = risk_overall)) AND isnotnull(entity_id#20347800))\n : : +- InMemoryTableScan [dim_id#20347689, entity_id#20347800, level#20347801], [isnotnull(dim_id#20347689), NOT (dim_id#20347689 = risk_overall), isnotnull(entity_id#20347800)]\n : : +- InMemoryRelation [entity_id#20347800, brand_context_id#20329151, dim_id#20347689, level#20347801, level_band#20347802, status#20347803, listed_at#20347804, assessed_at#20347805, matched_entity#20347806, match_pct#20347807, match_source#20347808, threshold#20347809, kharon_id#20347810], StorageLevel(disk, memory, deseriali... [170070] [Cached] [Unordered]<br>javaToPython at <unknown>:0"];
170083 [labelType="html" label="MapPartitionsRDD [170083] [Unordered]<br>javaToPython at <unknown>:0"];
170084 [labelType="html" label="AdaptiveSparkPlan isFinalPlan=false\n+- Project [sid#20352105, dim_id#20346318, lvl#20352106, _has_fac#20352112]\n +- BroadcastHashJoin [sid#20352105], [sid#20352110], LeftOuter, BuildRight, false\n :- Union\n : :- Project [entity_id#20346500 AS sid#20352105, dim_id#20346318, cast(level#20346501 as double) AS lvl#20352106]\n : : +- Filter (isnotnull(dim_id#20346318) AND NOT (dim_id#20346318 = risk_overall))\n : : +- InMemoryTableScan [dim_id#20346318, entity_id#20346500, level#20346501], [isnotnull(dim_id#20346318), NOT (dim_id#20346318 = risk_overall)]\n : : +- InMemoryRelation [entity_id#20346500, brand_context_id#20328203, dim_id#20346318, level#20346501, level_band#20346502, status#20346588, listed_at#20346589, assessed_at#20346590, matched_entity#20346591, match_pct#20346592, match_source#20346593, threshold#20346614, kharon_id#20346615], StorageLevel(disk, memory, deserialized, 1 replicas)\n : : +- AdaptiveSparkPlan isFinalPlan=false\n :... [170084] [Cached] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405170 {
label="InMemoryTableScan";
170076 [labelType="html" label="MapPartitionsRDD [170076] [Unordered]<br>javaToPython at <unknown>:0"];
170077 [labelType="html" label="MapPartitionsRDD [170077] [Unordered]<br>javaToPython at <unknown>:0"];
170078 [labelType="html" label="MapPartitionsRDD [170078] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405165 {
label="WholeStageCodegen (2)";
170079 [labelType="html" label="MapPartitionsRDD [170079] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405171 {
label="WholeStageCodegen (3)";
170080 [labelType="html" label="MapPartitionsRDD [170080]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405164 {
label="Union";
170081 [labelType="html" label="UnionRDD [170081] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405156 {
label="WholeStageCodegen (4)";
170082 [labelType="html" label="MapPartitionsRDD [170082] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405189 {
label="InMemoryTableScan";
170090 [labelType="html" label="MapPartitionsRDD [170090] [Unordered]<br>javaToPython at <unknown>:0"];
170091 [labelType="html" label="MapPartitionsRDD [170091] [Unordered]<br>javaToPython at <unknown>:0"];
170092 [labelType="html" label="MapPartitionsRDD [170092] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405195 {
label="InMemoryTableScan";
170093 [labelType="html" label="MapPartitionsRDD [170093] [Unordered]<br>javaToPython at <unknown>:0"];
170094 [labelType="html" label="MapPartitionsRDD [170094] [Unordered]<br>javaToPython at <unknown>:0"];
170095 [labelType="html" label="MapPartitionsRDD [170095] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405190 {
label="WholeStageCodegen (2)";
170096 [labelType="html" label="MapPartitionsRDD [170096] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405201 {
label="InMemoryTableScan";
170097 [labelType="html" label="MapPartitionsRDD [170097] [Unordered]<br>javaToPython at <unknown>:0"];
170098 [labelType="html" label="MapPartitionsRDD [170098] [Unordered]<br>javaToPython at <unknown>:0"];
170099 [labelType="html" label="MapPartitionsRDD [170099] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405196 {
label="WholeStageCodegen (3)";
170100 [labelType="html" label="MapPartitionsRDD [170100] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405187 {
label="Union";
170101 [labelType="html" label="UnionRDD [170101] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405184 {
label="WholeStageCodegen (4)";
170102 [labelType="html" label="MapPartitionsRDD [170102] [Unordered]<br>javaToPython at <unknown>:0"];
}
subgraph cluster405183 {
label="Exchange";
170103 [labelType="html" label="MapPartitionsRDD [170103] [Unordered]<br>javaToPython at <unknown>:0"];
}
}
169610->169611;
169611->169612;
169612->169686;
169686->169687;
169687->169688;
169688->169689;
169689->169690;
169690->169691;
169691->169692;
169692->169693;
169612->169760;
169760->169761;
169761->169762;
169762->169763;
169763->169764;
169764->169765;
169765->169766;
169766->169767;
169612->169829;
169829->169830;
169830->169831;
169831->169832;
169832->169833;
169833->169834;
169834->169835;
169835->169836;
169693->169927;
169927->169928;
169928->169929;
169929->169930;
169836->169931;
169931->169932;
169932->169933;
169933->169934;
169930->169935;
169934->169935;
169935->169936;
169936->169937;
169937->169938;
169767->169966;
169966->169967;
169967->169968;
169968->169969;
169969->169970;
169970->169971;
170029->170030;
170030->170031;
170031->170032;
170032->170033;
170034->170035;
170035->170036;
170036->170037;
170037->170038;
169971->170062;
170062->170063;
170063->170064;
170064->170065;
170038->170066;
170065->170067;
170066->170067;
170067->170068;
170068->170069;
170069->170070;
169938->170076;
170076->170077;
170077->170078;
170078->170079;
170033->170080;
170079->170081;
170080->170081;
170081->170082;
170082->170083;
170083->170084;
170070->170090;
170090->170091;
170091->170092;
170084->170093;
170093->170094;
170094->170095;
170095->170096;
170084->170097;
170097->170098;
170098->170099;
170099->170100;
170092->170101;
170096->170101;
170100->170101;
170101->170102;
170102->170103;
}
169601,169610
169612
169938
169971
170070
170084