memory-graph 0.3.40__tar.gz → 0.3.42__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. {memory_graph-0.3.40/memory_graph.egg-info → memory_graph-0.3.42}/PKG-INFO +54 -31
  2. {memory_graph-0.3.40 → memory_graph-0.3.42}/README.md +53 -30
  3. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/add_one.gv +18 -18
  4. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/avltree_key_value.gv +12 -12
  5. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/avltree_leaf.gv +5 -5
  6. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/avltree_linear.gv +12 -12
  7. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/avltree_table.gv +12 -12
  8. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/bin_search.gv +34 -34
  9. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/bin_search_linear.gv +29 -29
  10. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/bin_tree.gv +35 -35
  11. memory_graph-0.3.42/images/binary.gif +0 -0
  12. memory_graph-0.3.42/images/binary.py +13 -0
  13. memory_graph-0.3.42/images/binary0.gv +22 -0
  14. memory_graph-0.3.42/images/binary0.png +0 -0
  15. memory_graph-0.3.42/images/binary1.gv +30 -0
  16. memory_graph-0.3.42/images/binary1.png +0 -0
  17. memory_graph-0.3.42/images/binary10.gv +62 -0
  18. memory_graph-0.3.42/images/binary10.png +0 -0
  19. memory_graph-0.3.42/images/binary11.gv +54 -0
  20. memory_graph-0.3.42/images/binary11.png +0 -0
  21. memory_graph-0.3.42/images/binary12.gv +46 -0
  22. memory_graph-0.3.42/images/binary12.png +0 -0
  23. memory_graph-0.3.42/images/binary13.gv +38 -0
  24. memory_graph-0.3.42/images/binary13.png +0 -0
  25. memory_graph-0.3.42/images/binary14.gv +30 -0
  26. memory_graph-0.3.42/images/binary14.png +0 -0
  27. memory_graph-0.3.42/images/binary2.gv +38 -0
  28. memory_graph-0.3.42/images/binary2.png +0 -0
  29. memory_graph-0.3.42/images/binary3.gv +46 -0
  30. memory_graph-0.3.42/images/binary3.png +0 -0
  31. memory_graph-0.3.42/images/binary4.gv +54 -0
  32. memory_graph-0.3.42/images/binary4.png +0 -0
  33. memory_graph-0.3.42/images/binary5.gv +62 -0
  34. memory_graph-0.3.42/images/binary5.png +0 -0
  35. memory_graph-0.3.42/images/binary6.gv +70 -0
  36. memory_graph-0.3.42/images/binary6.png +0 -0
  37. memory_graph-0.3.42/images/binary7.gv +78 -0
  38. memory_graph-0.3.42/images/binary7.png +0 -0
  39. memory_graph-0.3.42/images/binary8.gv +78 -0
  40. memory_graph-0.3.42/images/binary8.png +0 -0
  41. memory_graph-0.3.42/images/binary9.gv +70 -0
  42. memory_graph-0.3.42/images/binary9.png +0 -0
  43. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/copies.gv +20 -20
  44. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/copy_method.gv +16 -16
  45. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/create_images.sh +6 -5
  46. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging0.gv +8 -8
  47. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging0.png +0 -0
  48. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging1.gv +11 -11
  49. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging1.png +0 -0
  50. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging2.gv +13 -13
  51. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging2.png +0 -0
  52. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging3.gv +15 -15
  53. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging3.png +0 -0
  54. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging4.gv +17 -17
  55. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging4.png +0 -0
  56. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging5.gv +17 -17
  57. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging5.png +0 -0
  58. memory_graph-0.3.42/images/extension_numpy.gv +64 -0
  59. memory_graph-0.3.42/images/extension_numpy.png +0 -0
  60. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/extension_numpy.py +4 -3
  61. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/extension_pandas.gv +8 -8
  62. memory_graph-0.3.42/images/extension_torch.gv +51 -0
  63. memory_graph-0.3.42/images/extension_torch.png +0 -0
  64. memory_graph-0.3.42/images/extension_torch.py +10 -0
  65. memory_graph-0.3.42/images/extension_torch.py~ +10 -0
  66. memory_graph-0.3.42/images/factorial.gif +0 -0
  67. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/factorial.py +2 -2
  68. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/factorial0.gv +3 -3
  69. memory_graph-0.3.42/images/factorial0.png +0 -0
  70. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/factorial1.gv +7 -7
  71. memory_graph-0.3.42/images/factorial1.png +0 -0
  72. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/factorial2.gv +10 -10
  73. memory_graph-0.3.42/images/factorial2.png +0 -0
  74. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/factorial3.gv +13 -13
  75. memory_graph-0.3.42/images/factorial3.png +0 -0
  76. memory_graph-0.3.42/images/factorial4.gv +40 -0
  77. memory_graph-0.3.42/images/factorial4.png +0 -0
  78. memory_graph-0.3.42/images/factorial5.gv +46 -0
  79. memory_graph-0.3.42/images/factorial5.png +0 -0
  80. memory_graph-0.3.42/images/factorial6.gv +41 -0
  81. memory_graph-0.3.42/images/factorial6.png +0 -0
  82. memory_graph-0.3.40/images/factorial4.gv → memory_graph-0.3.42/images/factorial7.gv +14 -14
  83. memory_graph-0.3.42/images/factorial7.png +0 -0
  84. memory_graph-0.3.40/images/factorial5.gv → memory_graph-0.3.42/images/factorial8.gv +11 -11
  85. memory_graph-0.3.42/images/factorial8.png +0 -0
  86. memory_graph-0.3.40/images/factorial6.gv → memory_graph-0.3.42/images/factorial9.gv +8 -8
  87. memory_graph-0.3.42/images/factorial9.png +0 -0
  88. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/hash_set.gv +29 -29
  89. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/immutable1.gv +4 -4
  90. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/immutable2.gv +6 -6
  91. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/introspect_depth.gv +56 -56
  92. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/linked_list.gv +20 -20
  93. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/many_types.gv +12 -12
  94. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/mutable1.gv +4 -4
  95. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/mutable2.gv +4 -4
  96. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/not_node_types1.gv +6 -6
  97. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/not_node_types2.gv +14 -14
  98. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set0.gv +11 -11
  99. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set0.png +0 -0
  100. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set1.gv +17 -17
  101. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set1.png +0 -0
  102. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set10.gv +36 -36
  103. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set10.png +0 -0
  104. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set11.gv +31 -31
  105. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set11.png +0 -0
  106. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set12.gv +31 -31
  107. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set12.png +0 -0
  108. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set13.gv +36 -36
  109. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set13.png +0 -0
  110. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set14.gv +41 -41
  111. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set14.png +0 -0
  112. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set15.gv +43 -43
  113. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set15.png +0 -0
  114. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set16.gv +40 -40
  115. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set16.png +0 -0
  116. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set17.gv +40 -40
  117. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set17.png +0 -0
  118. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set18.gv +45 -45
  119. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set18.png +0 -0
  120. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set19.gv +47 -47
  121. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set19.png +0 -0
  122. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set2.gv +22 -22
  123. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set2.png +0 -0
  124. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set20.gv +44 -44
  125. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set20.png +0 -0
  126. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set21.gv +39 -39
  127. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set21.png +0 -0
  128. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set22.gv +34 -34
  129. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set22.png +0 -0
  130. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set23.gv +28 -28
  131. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set23.png +0 -0
  132. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set3.gv +27 -27
  133. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set3.png +0 -0
  134. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set4.gv +32 -32
  135. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set4.png +0 -0
  136. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set5.gv +34 -34
  137. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set5.png +0 -0
  138. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set6.gv +32 -32
  139. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set6.png +0 -0
  140. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set7.gv +32 -32
  141. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set7.png +0 -0
  142. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set8.gv +37 -37
  143. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set8.png +0 -0
  144. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set9.gv +39 -39
  145. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set9.png +0 -0
  146. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/rebinding1.gv +4 -4
  147. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/rebinding2.gv +6 -6
  148. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/__init__.py +27 -48
  149. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/config.py +1 -1
  150. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/config_helpers.py +4 -23
  151. memory_graph-0.3.42/memory_graph/extension_numpy.py +33 -0
  152. memory_graph-0.3.42/memory_graph/extension_torch.py +6 -0
  153. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/node_key_value.py +1 -1
  154. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/node_linear.py +1 -1
  155. memory_graph-0.3.42/memory_graph/pytorch_test.py +10 -0
  156. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/test_memory_to_nodes.py +1 -3
  157. {memory_graph-0.3.40 → memory_graph-0.3.42/memory_graph.egg-info}/PKG-INFO +54 -31
  158. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph.egg-info/SOURCES.txt +45 -2
  159. {memory_graph-0.3.40 → memory_graph-0.3.42}/pyproject.toml +1 -1
  160. memory_graph-0.3.40/images/extension_numpy.gv +0 -52
  161. memory_graph-0.3.40/images/extension_numpy.png +0 -0
  162. memory_graph-0.3.40/images/factorial.gif +0 -0
  163. memory_graph-0.3.40/images/factorial0.png +0 -0
  164. memory_graph-0.3.40/images/factorial1.png +0 -0
  165. memory_graph-0.3.40/images/factorial2.png +0 -0
  166. memory_graph-0.3.40/images/factorial3.png +0 -0
  167. memory_graph-0.3.40/images/factorial4.png +0 -0
  168. memory_graph-0.3.40/images/factorial5.png +0 -0
  169. memory_graph-0.3.40/images/factorial6.png +0 -0
  170. memory_graph-0.3.40/images/highlight.png +0 -0
  171. memory_graph-0.3.40/images/highlight.py +0 -15
  172. {memory_graph-0.3.40 → memory_graph-0.3.42}/LICENSE.txt +0 -0
  173. {memory_graph-0.3.40 → memory_graph-0.3.42}/MANIFEST.in +0 -0
  174. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/-0 +0 -0
  175. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/.gif +0 -0
  176. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/.idea/.gitignore +0 -0
  177. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/.idea/images.iml +0 -0
  178. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/.idea/inspectionProfiles/profiles_settings.xml +0 -0
  179. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/.idea/misc.xml +0 -0
  180. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/.idea/modules.xml +0 -0
  181. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/.idea/vcs.xml +0 -0
  182. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/.idea/workspace.xml +0 -0
  183. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/add_one.png +0 -0
  184. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/add_one.py +0 -0
  185. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/avltree.py +0 -0
  186. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/avltree.py~ +0 -0
  187. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/avltree_dir.gv +0 -0
  188. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/avltree_dir.png +0 -0
  189. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/avltree_fail.gv +0 -0
  190. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/avltree_fail.png +0 -0
  191. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/avltree_key_value.png +0 -0
  192. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/avltree_leaf.png +0 -0
  193. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/avltree_linear.png +0 -0
  194. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/avltree_table.png +0 -0
  195. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/bin_search.png +0 -0
  196. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/bin_search.py +0 -0
  197. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/bin_search.py~ +0 -0
  198. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/bin_search_linear.png +0 -0
  199. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/bin_search_linear.py~ +0 -0
  200. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/bin_tree.gif +0 -0
  201. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/bin_tree.png +0 -0
  202. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/bin_tree.py +0 -0
  203. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/bin_tree2.py +0 -0
  204. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/bin_tree2.py~ +0 -0
  205. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/call_stack.txt +0 -0
  206. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/colab_example.png +0 -0
  207. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/copies.png +0 -0
  208. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/copies.py +0 -0
  209. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/copy_method.png +0 -0
  210. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/copy_method.py +0 -0
  211. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/create_gif.sh +0 -0
  212. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debug.gv +0 -0
  213. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debug.pdf +0 -0
  214. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debug_vscode.png +0 -0
  215. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging.gif +0 -0
  216. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging.py +0 -0
  217. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging01.gv +0 -0
  218. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging02.gv +0 -0
  219. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging03.gv +0 -0
  220. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging04.gv +0 -0
  221. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging05.gv +0 -0
  222. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/debugging06.gv +0 -0
  223. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/depth.gv +0 -0
  224. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/depth.png +0 -0
  225. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/extension_pandas.png +0 -0
  226. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/extension_pandas.py +0 -0
  227. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/factorial01.gv +0 -0
  228. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/factorial02.gv +0 -0
  229. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/factorial03.gv +0 -0
  230. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/factorial04.gv +0 -0
  231. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/factorial05.gv +0 -0
  232. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/factorial06.gv +0 -0
  233. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/factorial07.gv +0 -0
  234. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/hash_set.gif +0 -0
  235. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/hash_set.png +0 -0
  236. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/hash_set.py +0 -0
  237. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/hidden_edges.gv +0 -0
  238. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/hidden_edges.png +0 -0
  239. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/hidden_edges.py +0 -0
  240. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/hidden_edges.py~ +0 -0
  241. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/highlight.gv +0 -0
  242. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/immutable.py +0 -0
  243. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/immutable1.png +0 -0
  244. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/immutable2.png +0 -0
  245. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/introspect_depth.png +0 -0
  246. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/introspect_depth.py +0 -0
  247. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/introspect_depth.py~ +0 -0
  248. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/ipython.png +0 -0
  249. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/jupyter_example.png +0 -0
  250. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/linked_list.gif +0 -0
  251. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/linked_list.png +0 -0
  252. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/linked_list.py +0 -0
  253. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/log.txt +0 -0
  254. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/many_types.png +0 -0
  255. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/many_types.py +0 -0
  256. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/memory_graph.gv +0 -0
  257. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/memory_graph.gv.pdf +0 -0
  258. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/memory_graph.pdf +0 -0
  259. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/mutable.py +0 -0
  260. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/mutable1.png +0 -0
  261. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/mutable2.png +0 -0
  262. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/my_graph.gv +0 -0
  263. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/my_graph.pdf +0 -0
  264. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/name_rebinding.py +0 -0
  265. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/not_node_types.py +0 -0
  266. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/not_node_types.py~ +0 -0
  267. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/not_node_types1.png +0 -0
  268. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/not_node_types2.png +0 -0
  269. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set.gif +0 -0
  270. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set.py +0 -0
  271. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set19.png~ +0 -0
  272. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/power_set8.png~ +0 -0
  273. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/pyodide.png +0 -0
  274. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/rebinding1.png +0 -0
  275. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/rebinding2.png +0 -0
  276. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/stack.txt +0 -0
  277. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/test.py +0 -0
  278. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/test.py~ +0 -0
  279. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/uva.png +0 -0
  280. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/vsc.py +0 -0
  281. {memory_graph-0.3.40 → memory_graph-0.3.42}/images/vscode_copying.gif +0 -0
  282. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/call_stack.py +0 -0
  283. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/config_default.py +0 -0
  284. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/extension_pandas.py +0 -0
  285. /memory_graph-0.3.40/memory_graph/extension_numpy.py → /memory_graph-0.3.42/memory_graph/extension_pytorch.py +0 -0
  286. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/html_table.py +0 -0
  287. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/list_view.py +0 -0
  288. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/memory_to_nodes.py +0 -0
  289. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/node_base.py +0 -0
  290. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/node_leaf.py +0 -0
  291. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/node_table.py +0 -0
  292. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/sequence.py +0 -0
  293. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/slicer.py +0 -0
  294. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/slices.py +0 -0
  295. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/slices_iterator.py +0 -0
  296. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/slices_table_iterator.py +0 -0
  297. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/test.py +0 -0
  298. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/test_max_graph_depth.py +0 -0
  299. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/test_memory_graph.py +0 -0
  300. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/test_sequence.py +0 -0
  301. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/test_slicer.py +0 -0
  302. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/test_slices.py +0 -0
  303. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/test_slices_iterator.py +0 -0
  304. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph/utils.py +0 -0
  305. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph.egg-info/dependency_links.txt +0 -0
  306. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph.egg-info/requires.txt +0 -0
  307. {memory_graph-0.3.40 → memory_graph-0.3.42}/memory_graph.egg-info/top_level.txt +0 -0
  308. {memory_graph-0.3.40 → memory_graph-0.3.42}/setup.cfg +0 -0
  309. {memory_graph-0.3.40 → memory_graph-0.3.42}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: memory_graph
3
- Version: 0.3.40
3
+ Version: 0.3.42
4
4
  Summary: Teaching tool and debugging aid in context of references, mutable data types, and shallow and deep copy.
5
5
  Author-email: Bas Terwijn <bterwijn@gmail.com>
6
6
  License-Expression: BSD-2-Clause
@@ -302,28 +302,50 @@ This function:
302
302
  * finally returns the value of the `fun()` call
303
303
 
304
304
  ## Recursion ##
305
- The call stack is also helpful to visualize how recursion works. Here we use `mg.block()` to show each step of how recursively ```factorial(3)``` is computed:
305
+ The call stack is also helpful to visualize how recursion works. Here we use `mg.block()` to show each step of how recursively `factorial(4)` is computed:
306
306
 
307
307
  ```python
308
308
  import memory_graph as mg
309
309
 
310
310
  def factorial(n):
311
+ mg.block(mg.show, mg.stack())
311
312
  if n==0:
312
313
  return 1
313
- mg.block(mg.show, mg.stack())
314
314
  result = n * factorial(n-1)
315
315
  mg.block(mg.show, mg.stack())
316
316
  return result
317
317
 
318
- print(factorial(3))
318
+ print( factorial(4) )
319
319
  ```
320
320
 
321
321
  ![factorial.gif](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/factorial.gif)
322
322
 
323
- and the result is: 1 x 2 x 3 = 6
323
+ and the result is: 1 x 2 x 3 x 4 = 24
324
+
325
+ ## Binary ##
326
+ A more interesting recursive example is function `binary()` that converts an integer to binary representation.
327
+ ```python
328
+ import memory_graph as mg
329
+ mg.config.type_to_vertical[list] = False # horizontal lists
330
+
331
+ def binary(value: int) -> list[int]:
332
+ mg.block(mg.show(), mg.stack())
333
+ if value == 0:
334
+ return []
335
+ quotient, remainder = divmod(value, 2)
336
+ result = binary(quotient) + [remainder]
337
+ mg.block(mg.show(), mg.stack())
338
+ return result
339
+
340
+ print( binary(100) )
341
+ ```
342
+ ![factorial.gif](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/binary.gif)
343
+ ```
344
+ 1100100
345
+ ```
324
346
 
325
347
  ## Power Set ##
326
- A more interesting recursive example that shows sharing of data is power_set(). A power set is the set of all subsets of a collection of values.
348
+ A more complex recursive example is function `power_set()` where lists are shared by different function calls. A power set is the set of all subsets of a collection of values.
327
349
 
328
350
  ```python
329
351
  import memory_graph as mg
@@ -566,18 +588,18 @@ Different aspects of memory_graph can be configured. The default configuration c
566
588
  - The maximum length of strings shown in the graph. Longer strings will be truncated.
567
589
 
568
590
  - ***mg.config.not_node_types*** : set[type]
569
- - Holds all types for which no seperate node is drawn but that instead are shown as elements in their parent Node.
591
+ - Holds all types for which no separate node is drawn but that instead are shown as elements in their parent Node.
570
592
 
571
593
  - ***mg.config.no_child_references_types*** : set[type]
572
594
  - The set of key_value types that don't draw references to their direct childeren but have their children shown as elements of their node.
573
595
 
574
596
  - ***mg.config.type_to_node*** : dict[type, fun(data) -> Node]
575
- - Determines how a data types is converted to a Node (sub)class for visualization in the graph.
597
+ - Determines how a data type is converted to a Node subclass for visualization in the graph.
576
598
 
577
599
  - ***mg.config.type_to_color*** : dict[type, color]
578
600
  - Maps a type to the [graphviz color](https://graphviz.org/doc/info/colors.html) it gets in the graph.
579
601
 
580
- - ***mg.config.type_to_vertical_orientation*** : dict[type, bool]
602
+ - ***mg.config.type_to_vertical*** : dict[type, bool]
581
603
  - Maps a type to its orientation. Use 'True' for vertical and 'False' for horizontal. If not specified Node_Linear and Node_Key_Value are vertical unless they have references to children.
582
604
 
583
605
  - ***mg.config.type_to_slicer*** : dict[type, int]
@@ -617,24 +639,6 @@ mg.render(locals(), 'not_node_types2.png')
617
639
 
618
640
  Additionally, the simplification hides away the [reuse of small int values \[-5, 256\]](https://docs.python.org/3/c-api/long.html#c.PyLong_FromLong) in the current CPython implementation, an optimization that might otherwise confuse beginner Python programmers. For instance, after executing `a[1]+=1; b[1]+=1` the `201` value is, maybe surprisingly, still shared between `a` and `b`, whereas executing `a[2]+=1; b[2]+=1` does not result in sharing the `301` value.
619
641
 
620
- ## Temporary Configuration ##
621
- In addition to the global configuration, a temporary configuration can be set for a single `show()` or `render()` call to change the colors, orientation, and slicer. This example highlights a particular list element in red, gives it a horizontal orientation, and overwrites the default slicer for lists:
622
-
623
- ```python
624
- import memory_graph as mg
625
- from memory_graph.slicer import Slicer
626
-
627
- data = [ list(range(20)) for i in range(1,5)]
628
- highlight = data[2]
629
-
630
- mg.show( locals(),
631
- colors = {id(highlight): "red" }, # set color to red
632
- vertical_orientations = {id(highlight): False }, # set horizontal orientation
633
- slicers = {id(highlight): Slicer()} # set no slicing
634
- )
635
- ```
636
- ![highlight.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/highlight.png)
637
-
638
642
  # Introspection #
639
643
  This section is likely to change. Sometimes the introspection fails or is not as desired. For example the `bintrees.avltree.Node` object doesn't show any attributes in the graph below.
640
644
 
@@ -677,7 +681,7 @@ mg.show(locals())
677
681
  ```
678
682
  ![extension_numpy.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/avltree_dir.png)
679
683
 
680
- Next figure out what are the attributes you want to graph and choose a Node type, there are four options:
684
+ Next figure out what the attributes are you want to graph and choose a Node type, there are four options:
681
685
 
682
686
  ## 1) Node_Leaf ##
683
687
  Node_Leaf is a node with no children and shows just a single value.
@@ -903,9 +907,11 @@ import numpy as np
903
907
  import memory_graph.extension_numpy
904
908
  np.random.seed(0) # use same random numbers each run
905
909
 
906
- array = np.array([1.1, 2, 3, 4, 5])
907
- matrix = np.matrix([[i*20+j for j in range(20)] for i in range(20)])
908
- ndarray = np.random.rand(20,20)
910
+ matrix = np.matrix([[i*5+j for j in range(4)] for i in range(5)])
911
+ ndarray_1d = np.array([1.1, 2, 3, 4, 5])
912
+ ndarray_2d = np.random.rand(3,2)
913
+ ndarray_3d = np.random.rand(2,2,2)
914
+
909
915
  mg.show(locals())
910
916
  ```
911
917
  ![extension_numpy.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/extension_numpy.png)
@@ -929,6 +935,23 @@ mg.show(locals())
929
935
  ```
930
936
  ![extension_pandas.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/extension_pandas.png)
931
937
 
938
+ ## PyTorch ##
939
+ Torch type `tensor` can be graphed with "memory_graph.extension_torch":
940
+
941
+ ```python
942
+ import memory_graph as mg
943
+ import torch
944
+ import memory_graph.extension_torch
945
+ torch.manual_seed(0) # same random numbers each run
946
+
947
+ tensor_1d = torch.rand(3)
948
+ tensor_2d = torch.rand(3, 2)
949
+ tensor_3d = torch.rand(2, 2, 2)
950
+
951
+ mg.show(locals())
952
+ ```
953
+ ![extension_torch.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/extension_torch.png)
954
+
932
955
  # Jupyter Notebook #
933
956
  In Jupyter Notebook `locals()` has additional variables that cause problems in the graph, use `mg.locals_jupyter()` to get the local variables with these problematic variables filtered out. Use `mg.stack_jupyter()` to get the whole call stack with these variables filtered out.
934
957
 
@@ -282,28 +282,50 @@ This function:
282
282
  * finally returns the value of the `fun()` call
283
283
 
284
284
  ## Recursion ##
285
- The call stack is also helpful to visualize how recursion works. Here we use `mg.block()` to show each step of how recursively ```factorial(3)``` is computed:
285
+ The call stack is also helpful to visualize how recursion works. Here we use `mg.block()` to show each step of how recursively `factorial(4)` is computed:
286
286
 
287
287
  ```python
288
288
  import memory_graph as mg
289
289
 
290
290
  def factorial(n):
291
+ mg.block(mg.show, mg.stack())
291
292
  if n==0:
292
293
  return 1
293
- mg.block(mg.show, mg.stack())
294
294
  result = n * factorial(n-1)
295
295
  mg.block(mg.show, mg.stack())
296
296
  return result
297
297
 
298
- print(factorial(3))
298
+ print( factorial(4) )
299
299
  ```
300
300
 
301
301
  ![factorial.gif](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/factorial.gif)
302
302
 
303
- and the result is: 1 x 2 x 3 = 6
303
+ and the result is: 1 x 2 x 3 x 4 = 24
304
+
305
+ ## Binary ##
306
+ A more interesting recursive example is function `binary()` that converts an integer to binary representation.
307
+ ```python
308
+ import memory_graph as mg
309
+ mg.config.type_to_vertical[list] = False # horizontal lists
310
+
311
+ def binary(value: int) -> list[int]:
312
+ mg.block(mg.show(), mg.stack())
313
+ if value == 0:
314
+ return []
315
+ quotient, remainder = divmod(value, 2)
316
+ result = binary(quotient) + [remainder]
317
+ mg.block(mg.show(), mg.stack())
318
+ return result
319
+
320
+ print( binary(100) )
321
+ ```
322
+ ![factorial.gif](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/binary.gif)
323
+ ```
324
+ 1100100
325
+ ```
304
326
 
305
327
  ## Power Set ##
306
- A more interesting recursive example that shows sharing of data is power_set(). A power set is the set of all subsets of a collection of values.
328
+ A more complex recursive example is function `power_set()` where lists are shared by different function calls. A power set is the set of all subsets of a collection of values.
307
329
 
308
330
  ```python
309
331
  import memory_graph as mg
@@ -546,18 +568,18 @@ Different aspects of memory_graph can be configured. The default configuration c
546
568
  - The maximum length of strings shown in the graph. Longer strings will be truncated.
547
569
 
548
570
  - ***mg.config.not_node_types*** : set[type]
549
- - Holds all types for which no seperate node is drawn but that instead are shown as elements in their parent Node.
571
+ - Holds all types for which no separate node is drawn but that instead are shown as elements in their parent Node.
550
572
 
551
573
  - ***mg.config.no_child_references_types*** : set[type]
552
574
  - The set of key_value types that don't draw references to their direct childeren but have their children shown as elements of their node.
553
575
 
554
576
  - ***mg.config.type_to_node*** : dict[type, fun(data) -> Node]
555
- - Determines how a data types is converted to a Node (sub)class for visualization in the graph.
577
+ - Determines how a data type is converted to a Node subclass for visualization in the graph.
556
578
 
557
579
  - ***mg.config.type_to_color*** : dict[type, color]
558
580
  - Maps a type to the [graphviz color](https://graphviz.org/doc/info/colors.html) it gets in the graph.
559
581
 
560
- - ***mg.config.type_to_vertical_orientation*** : dict[type, bool]
582
+ - ***mg.config.type_to_vertical*** : dict[type, bool]
561
583
  - Maps a type to its orientation. Use 'True' for vertical and 'False' for horizontal. If not specified Node_Linear and Node_Key_Value are vertical unless they have references to children.
562
584
 
563
585
  - ***mg.config.type_to_slicer*** : dict[type, int]
@@ -597,24 +619,6 @@ mg.render(locals(), 'not_node_types2.png')
597
619
 
598
620
  Additionally, the simplification hides away the [reuse of small int values \[-5, 256\]](https://docs.python.org/3/c-api/long.html#c.PyLong_FromLong) in the current CPython implementation, an optimization that might otherwise confuse beginner Python programmers. For instance, after executing `a[1]+=1; b[1]+=1` the `201` value is, maybe surprisingly, still shared between `a` and `b`, whereas executing `a[2]+=1; b[2]+=1` does not result in sharing the `301` value.
599
621
 
600
- ## Temporary Configuration ##
601
- In addition to the global configuration, a temporary configuration can be set for a single `show()` or `render()` call to change the colors, orientation, and slicer. This example highlights a particular list element in red, gives it a horizontal orientation, and overwrites the default slicer for lists:
602
-
603
- ```python
604
- import memory_graph as mg
605
- from memory_graph.slicer import Slicer
606
-
607
- data = [ list(range(20)) for i in range(1,5)]
608
- highlight = data[2]
609
-
610
- mg.show( locals(),
611
- colors = {id(highlight): "red" }, # set color to red
612
- vertical_orientations = {id(highlight): False }, # set horizontal orientation
613
- slicers = {id(highlight): Slicer()} # set no slicing
614
- )
615
- ```
616
- ![highlight.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/highlight.png)
617
-
618
622
  # Introspection #
619
623
  This section is likely to change. Sometimes the introspection fails or is not as desired. For example the `bintrees.avltree.Node` object doesn't show any attributes in the graph below.
620
624
 
@@ -657,7 +661,7 @@ mg.show(locals())
657
661
  ```
658
662
  ![extension_numpy.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/avltree_dir.png)
659
663
 
660
- Next figure out what are the attributes you want to graph and choose a Node type, there are four options:
664
+ Next figure out what the attributes are you want to graph and choose a Node type, there are four options:
661
665
 
662
666
  ## 1) Node_Leaf ##
663
667
  Node_Leaf is a node with no children and shows just a single value.
@@ -883,9 +887,11 @@ import numpy as np
883
887
  import memory_graph.extension_numpy
884
888
  np.random.seed(0) # use same random numbers each run
885
889
 
886
- array = np.array([1.1, 2, 3, 4, 5])
887
- matrix = np.matrix([[i*20+j for j in range(20)] for i in range(20)])
888
- ndarray = np.random.rand(20,20)
890
+ matrix = np.matrix([[i*5+j for j in range(4)] for i in range(5)])
891
+ ndarray_1d = np.array([1.1, 2, 3, 4, 5])
892
+ ndarray_2d = np.random.rand(3,2)
893
+ ndarray_3d = np.random.rand(2,2,2)
894
+
889
895
  mg.show(locals())
890
896
  ```
891
897
  ![extension_numpy.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/extension_numpy.png)
@@ -909,6 +915,23 @@ mg.show(locals())
909
915
  ```
910
916
  ![extension_pandas.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/extension_pandas.png)
911
917
 
918
+ ## PyTorch ##
919
+ Torch type `tensor` can be graphed with "memory_graph.extension_torch":
920
+
921
+ ```python
922
+ import memory_graph as mg
923
+ import torch
924
+ import memory_graph.extension_torch
925
+ torch.manual_seed(0) # same random numbers each run
926
+
927
+ tensor_1d = torch.rand(3)
928
+ tensor_2d = torch.rand(3, 2)
929
+ tensor_3d = torch.rand(2, 2, 2)
930
+
931
+ mg.show(locals())
932
+ ```
933
+ ![extension_torch.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/extension_torch.png)
934
+
912
935
  # Jupyter Notebook #
913
936
  In Jupyter Notebook `locals()` has additional variables that cause problems in the graph, use `mg.locals_jupyter()` to get the local variables with these problematic variables filtered out. Use `mg.stack_jupyter()` to get the whole call stack with these variables filtered out.
914
937
 
@@ -1,6 +1,6 @@
1
1
  digraph memory_graph {
2
2
  node [shape=plaintext]
3
- node134420842319424 [label=<
3
+ node123501132205632 [label=<
4
4
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="lightcoral" PORT="table">
5
5
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
6
6
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
@@ -8,30 +8,30 @@ digraph memory_graph {
8
8
  <TR><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="1"> 1 </TD></TR>
9
9
  </TABLE>
10
10
  > xlabel=list]
11
- node134420832617152 [label=<
11
+ node123501131031488 [label=<
12
12
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="orange" PORT="table">
13
13
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
14
14
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
15
15
  <TR><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="1"> 2 </TD></TR>
16
16
  </TABLE>
17
17
  > xlabel=tuple]
18
- node134420831954048 [label=<
18
+ node123501130294400 [label=<
19
19
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="lightcoral" PORT="table">
20
20
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
21
21
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
22
22
  <TR><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="1"> 2 </TD></TR>
23
23
  </TABLE>
24
24
  > xlabel=list]
25
- node134420832513664 [label=<
25
+ node123501130853888 [label=<
26
26
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
27
27
  <TR><TD BORDER="1" STYLE="ROUNDED"> a </TD><TD BORDER="1" STYLE="ROUNDED"> b </TD><TD BORDER="1" STYLE="ROUNDED"> c </TD></TR>
28
28
  <TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1" PORT="ref1"> </TD><TD BORDER="1" PORT="ref2"> </TD></TR>
29
29
  </TABLE>
30
30
  > xlabel=dict]
31
- node134420832513664:ref0 -> node134420842319424:table [style=solid]
32
- node134420832513664:ref1 -> node134420832617152:table [style=solid]
33
- node134420832513664:ref2 -> node134420831954048:table [style=solid]
34
- node134420842262384 [label=<
31
+ node123501130853888:ref0 -> node123501132205632:table [style=solid]
32
+ node123501130853888:ref1 -> node123501131031488:table [style=solid]
33
+ node123501130853888:ref2 -> node123501130294400:table [style=solid]
34
+ node123501132148592 [label=<
35
35
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="orange" PORT="table">
36
36
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
37
37
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
@@ -39,7 +39,7 @@ digraph memory_graph {
39
39
  <TR><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="1"> 1 </TD></TR>
40
40
  </TABLE>
41
41
  > xlabel=tuple]
42
- node134420832641984 [label=<
42
+ node123501131031872 [label=<
43
43
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="lightcoral" PORT="table">
44
44
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
45
45
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
@@ -47,23 +47,23 @@ digraph memory_graph {
47
47
  <TR><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="1"> 1 </TD></TR>
48
48
  </TABLE>
49
49
  > xlabel=list]
50
- node134420830922432 [label=<
50
+ node123501126452672 [label=<
51
51
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
52
52
  <TR><TD BORDER="1" STYLE="ROUNDED"> a </TD><TD BORDER="1" STYLE="ROUNDED"> b </TD><TD BORDER="1" STYLE="ROUNDED"> c </TD></TR>
53
53
  <TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1" PORT="ref1"> </TD><TD BORDER="1" PORT="ref2"> </TD></TR>
54
54
  </TABLE>
55
55
  > xlabel=dict]
56
- node134420830922432:ref0 -> node134420842319424:table [style=solid]
57
- node134420830922432:ref1 -> node134420842262384:table [style=solid]
58
- node134420830922432:ref2 -> node134420832641984:table [style=solid]
59
- node134420828004560 [label=<
56
+ node123501126452672:ref0 -> node123501132205632:table [style=solid]
57
+ node123501126452672:ref1 -> node123501132148592:table [style=solid]
58
+ node123501126452672:ref2 -> node123501131031872:table [style=solid]
59
+ node123501126509712 [label=<
60
60
  <TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="khaki" PORT="table">
61
61
  <TR><TD BORDER="1" STYLE="ROUNDED"> 0: &lt;module&gt; </TD><TD BORDER="1" STYLE="ROUNDED"> 1: add_one </TD></TR>
62
62
  <TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1" PORT="ref1"> </TD></TR>
63
63
  </TABLE>
64
64
  > xlabel=call_stack]
65
- node134420828004560:ref0 -> node134420832513664:table [style=solid]
66
- node134420828004560:ref1 -> node134420830922432:table [style=solid]
67
- subgraph { rank=same; node134420832513664 -> node134420830922432[weight=10, style=invis]; }
68
- subgraph { rank=same; node134420842319424 -> node134420832617152 -> node134420831954048 -> node134420842262384 -> node134420832641984[weight=10, style=invis]; }
65
+ node123501126509712:ref0 -> node123501130853888:table [style=solid]
66
+ node123501126509712:ref1 -> node123501126452672:table [style=solid]
67
+ subgraph { rank=same; node123501130853888 -> node123501126452672[weight=10, style=invis]; }
68
+ subgraph { rank=same; node123501132205632 -> node123501131031488 -> node123501130294400 -> node123501132148592 -> node123501131031872[weight=10, style=invis]; }
69
69
  }
@@ -1,6 +1,6 @@
1
1
  digraph memory_graph {
2
2
  node [shape=plaintext]
3
- node128266169186192 [label=<
3
+ node134455640685072 [label=<
4
4
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
5
5
  <TR><TD BORDER="1" STYLE="ROUNDED"> left </TD><TD BORDER="1"> None </TD></TR>
6
6
  <TR><TD BORDER="1" STYLE="ROUNDED"> key </TD><TD BORDER="1"> 5 </TD></TR>
@@ -8,7 +8,7 @@ digraph memory_graph {
8
8
  <TR><TD BORDER="1" STYLE="ROUNDED"> right </TD><TD BORDER="1"> None </TD></TR>
9
9
  </TABLE>
10
10
  > xlabel="Node"]
11
- node128266169431552 [label=<
11
+ node134455640930432 [label=<
12
12
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
13
13
  <TR><TD BORDER="1" STYLE="ROUNDED"> left </TD><TD BORDER="1"> None </TD></TR>
14
14
  <TR><TD BORDER="1" STYLE="ROUNDED"> key </TD><TD BORDER="1"> 15 </TD></TR>
@@ -16,34 +16,34 @@ digraph memory_graph {
16
16
  <TR><TD BORDER="1" STYLE="ROUNDED"> right </TD><TD BORDER="1"> None </TD></TR>
17
17
  </TABLE>
18
18
  > xlabel="Node"]
19
- node128266169431632 [label=<
19
+ node134455640930512 [label=<
20
20
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
21
21
  <TR><TD BORDER="1" STYLE="ROUNDED"> left </TD><TD BORDER="1" STYLE="ROUNDED"> key </TD><TD BORDER="1" STYLE="ROUNDED"> value </TD><TD BORDER="1" STYLE="ROUNDED"> right </TD></TR>
22
22
  <TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 20 </TD><TD BORDER="1"> twenty </TD><TD BORDER="1"> None </TD></TR>
23
23
  </TABLE>
24
24
  > xlabel="Node"]
25
- node128266169431632:ref0 -> node128266169431552:table [style=solid]
26
- node128266183667568 [label=<
25
+ node134455640930512:ref0 -> node134455640930432:table [style=solid]
26
+ node134455655526256 [label=<
27
27
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
28
28
  <TR><TD BORDER="1" STYLE="ROUNDED"> left </TD><TD BORDER="1" STYLE="ROUNDED"> key </TD><TD BORDER="1" STYLE="ROUNDED"> value </TD><TD BORDER="1" STYLE="ROUNDED"> right </TD></TR>
29
29
  <TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 10 </TD><TD BORDER="1"> ten </TD><TD BORDER="1" PORT="ref1"> </TD></TR>
30
30
  </TABLE>
31
31
  > xlabel="Node"]
32
- node128266183667568:ref0 -> node128266169186192:table [style=solid]
33
- node128266183667568:ref1 -> node128266169431632:table [style=solid]
34
- node128266170748608 [label=<
32
+ node134455655526256:ref0 -> node134455640685072:table [style=solid]
33
+ node134455655526256:ref1 -> node134455640930512:table [style=solid]
34
+ node134455642149216 [label=<
35
35
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="seagreen1" PORT="table">
36
36
  <TR><TD BORDER="1" STYLE="ROUNDED"> _root </TD><TD BORDER="1" STYLE="ROUNDED"> _count </TD></TR>
37
37
  <TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 4 </TD></TR>
38
38
  </TABLE>
39
39
  > xlabel=AVLTree]
40
- node128266170748608:ref0 -> node128266183667568:table [style=solid]
41
- node128266173384640 [label=<
40
+ node134455642149216:ref0 -> node134455655526256:table [style=solid]
41
+ node134455644882880 [label=<
42
42
  <TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
43
43
  <TR><TD BORDER="1" STYLE="ROUNDED"> tree </TD></TR>
44
44
  <TR><TD BORDER="1" PORT="ref0"> </TD></TR>
45
45
  </TABLE>
46
46
  > xlabel=dict]
47
- node128266173384640:ref0 -> node128266170748608:table [style=solid]
48
- subgraph { rank=same; node128266169186192 -> node128266169431632[weight=10, style=invis]; }
47
+ node134455644882880:ref0 -> node134455642149216:table [style=solid]
48
+ subgraph { rank=same; node134455640685072 -> node134455640930512[weight=10, style=invis]; }
49
49
  }
@@ -1,22 +1,22 @@
1
1
  digraph memory_graph {
2
2
  node [shape=plaintext]
3
- node128266183667568 [label=<
3
+ node134455655526256 [label=<
4
4
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
5
5
  <TR><TD BORDER="1"> key:10 value:ten </TD></TR>
6
6
  </TABLE>
7
7
  > xlabel="Node"]
8
- node128266170748608 [label=<
8
+ node134455642149216 [label=<
9
9
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="seagreen1" PORT="table">
10
10
  <TR><TD BORDER="1" STYLE="ROUNDED"> _root </TD><TD BORDER="1" STYLE="ROUNDED"> _count </TD></TR>
11
11
  <TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 4 </TD></TR>
12
12
  </TABLE>
13
13
  > xlabel=AVLTree]
14
- node128266170748608:ref0 -> node128266183667568:table [style=solid]
15
- node128266173384640 [label=<
14
+ node134455642149216:ref0 -> node134455655526256:table [style=solid]
15
+ node134455644882880 [label=<
16
16
  <TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
17
17
  <TR><TD BORDER="1" STYLE="ROUNDED"> tree </TD></TR>
18
18
  <TR><TD BORDER="1" PORT="ref0"> </TD></TR>
19
19
  </TABLE>
20
20
  > xlabel=dict]
21
- node128266173384640:ref0 -> node128266170748608:table [style=solid]
21
+ node134455644882880:ref0 -> node134455642149216:table [style=solid]
22
22
  }
@@ -1,6 +1,6 @@
1
1
  digraph memory_graph {
2
2
  node [shape=plaintext]
3
- node128266169186192 [label=<
3
+ node134455640685072 [label=<
4
4
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
5
5
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> left: </TD></TR>
6
6
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> None </TD></TR>
@@ -12,7 +12,7 @@ digraph memory_graph {
12
12
  <TR><TD BORDER="0"><font color="#505050">7</font></TD><TD BORDER="1"> None </TD></TR>
13
13
  </TABLE>
14
14
  > xlabel="Node"]
15
- node128266169431552 [label=<
15
+ node134455640930432 [label=<
16
16
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
17
17
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> left: </TD></TR>
18
18
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> None </TD></TR>
@@ -24,34 +24,34 @@ digraph memory_graph {
24
24
  <TR><TD BORDER="0"><font color="#505050">7</font></TD><TD BORDER="1"> None </TD></TR>
25
25
  </TABLE>
26
26
  > xlabel="Node"]
27
- node128266169431632 [label=<
27
+ node134455640930512 [label=<
28
28
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
29
29
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="0"><font color="#505050">4</font></TD><TD BORDER="0"><font color="#505050">5</font></TD><TD BORDER="0"><font color="#505050">6</font></TD><TD BORDER="0"><font color="#505050">7</font></TD></TR>
30
30
  <TR><TD BORDER="1"> left: </TD><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> key: </TD><TD BORDER="1"> 20 </TD><TD BORDER="1"> value: </TD><TD BORDER="1"> twenty </TD><TD BORDER="1"> right: </TD><TD BORDER="1"> None </TD></TR>
31
31
  </TABLE>
32
32
  > xlabel="Node"]
33
- node128266169431632:ref0 -> node128266169431552:table [style=solid]
34
- node128266183667568 [label=<
33
+ node134455640930512:ref0 -> node134455640930432:table [style=solid]
34
+ node134455655526256 [label=<
35
35
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
36
36
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="0"><font color="#505050">4</font></TD><TD BORDER="0"><font color="#505050">5</font></TD><TD BORDER="0"><font color="#505050">6</font></TD><TD BORDER="0"><font color="#505050">7</font></TD></TR>
37
37
  <TR><TD BORDER="1"> left: </TD><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> key: </TD><TD BORDER="1"> 10 </TD><TD BORDER="1"> value: </TD><TD BORDER="1"> ten </TD><TD BORDER="1"> right: </TD><TD BORDER="1" PORT="ref1"> </TD></TR>
38
38
  </TABLE>
39
39
  > xlabel="Node"]
40
- node128266183667568:ref0 -> node128266169186192:table [style=solid]
41
- node128266183667568:ref1 -> node128266169431632:table [style=solid]
42
- node128266170748608 [label=<
40
+ node134455655526256:ref0 -> node134455640685072:table [style=solid]
41
+ node134455655526256:ref1 -> node134455640930512:table [style=solid]
42
+ node134455642149216 [label=<
43
43
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="seagreen1" PORT="table">
44
44
  <TR><TD BORDER="1" STYLE="ROUNDED"> _root </TD><TD BORDER="1" STYLE="ROUNDED"> _count </TD></TR>
45
45
  <TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 4 </TD></TR>
46
46
  </TABLE>
47
47
  > xlabel=AVLTree]
48
- node128266170748608:ref0 -> node128266183667568:table [style=solid]
49
- node128266173384640 [label=<
48
+ node134455642149216:ref0 -> node134455655526256:table [style=solid]
49
+ node134455644882880 [label=<
50
50
  <TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
51
51
  <TR><TD BORDER="1" STYLE="ROUNDED"> tree </TD></TR>
52
52
  <TR><TD BORDER="1" PORT="ref0"> </TD></TR>
53
53
  </TABLE>
54
54
  > xlabel=dict]
55
- node128266173384640:ref0 -> node128266170748608:table [style=solid]
56
- subgraph { rank=same; node128266169186192 -> node128266169431632[weight=10, style=invis]; }
55
+ node134455644882880:ref0 -> node134455642149216:table [style=solid]
56
+ subgraph { rank=same; node134455640685072 -> node134455640930512[weight=10, style=invis]; }
57
57
  }
@@ -1,49 +1,49 @@
1
1
  digraph memory_graph {
2
2
  node [shape=plaintext]
3
- node128266169186192 [label=<
3
+ node134455640685072 [label=<
4
4
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
5
5
  <TR><TD BORDER="0"> </TD><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="0"><font color="#505050">1</font></TD></TR>
6
6
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 5 </TD><TD BORDER="1"> five </TD></TR>
7
7
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> None </TD><TD BORDER="1"> None </TD></TR>
8
8
  </TABLE>
9
9
  > xlabel="Node 2⨯2"]
10
- node128266169431552 [label=<
10
+ node134455640930432 [label=<
11
11
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
12
12
  <TR><TD BORDER="0"> </TD><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="0"><font color="#505050">1</font></TD></TR>
13
13
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 15 </TD><TD BORDER="1"> fifteen </TD></TR>
14
14
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> None </TD><TD BORDER="1"> None </TD></TR>
15
15
  </TABLE>
16
16
  > xlabel="Node 2⨯2"]
17
- node128266169431632 [label=<
17
+ node134455640930512 [label=<
18
18
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
19
19
  <TR><TD BORDER="0"> </TD><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="0"><font color="#505050">1</font></TD></TR>
20
20
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 20 </TD><TD BORDER="1"> twenty </TD></TR>
21
21
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> None </TD></TR>
22
22
  </TABLE>
23
23
  > xlabel="Node 2⨯2"]
24
- node128266169431632:ref0 -> node128266169431552:table [style=solid]
25
- node128266183667568 [label=<
24
+ node134455640930512:ref0 -> node134455640930432:table [style=solid]
25
+ node134455655526256 [label=<
26
26
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
27
27
  <TR><TD BORDER="0"> </TD><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="0"><font color="#505050">1</font></TD></TR>
28
28
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 10 </TD><TD BORDER="1"> ten </TD></TR>
29
29
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1" PORT="ref1"> </TD></TR>
30
30
  </TABLE>
31
31
  > xlabel="Node 2⨯2"]
32
- node128266183667568:ref0 -> node128266169186192:table [style=solid]
33
- node128266183667568:ref1 -> node128266169431632:table [style=solid]
34
- node128266170748608 [label=<
32
+ node134455655526256:ref0 -> node134455640685072:table [style=solid]
33
+ node134455655526256:ref1 -> node134455640930512:table [style=solid]
34
+ node134455642149216 [label=<
35
35
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="seagreen1" PORT="table">
36
36
  <TR><TD BORDER="1" STYLE="ROUNDED"> _root </TD><TD BORDER="1" STYLE="ROUNDED"> _count </TD></TR>
37
37
  <TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 4 </TD></TR>
38
38
  </TABLE>
39
39
  > xlabel=AVLTree]
40
- node128266170748608:ref0 -> node128266183667568:table [style=solid]
41
- node128266173384640 [label=<
40
+ node134455642149216:ref0 -> node134455655526256:table [style=solid]
41
+ node134455644882880 [label=<
42
42
  <TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
43
43
  <TR><TD BORDER="1" STYLE="ROUNDED"> tree </TD></TR>
44
44
  <TR><TD BORDER="1" PORT="ref0"> </TD></TR>
45
45
  </TABLE>
46
46
  > xlabel=dict]
47
- node128266173384640:ref0 -> node128266170748608:table [style=solid]
48
- subgraph { rank=same; node128266169186192 -> node128266169431632[weight=10, style=invis]; }
47
+ node134455644882880:ref0 -> node134455642149216:table [style=solid]
48
+ subgraph { rank=same; node134455640685072 -> node134455640930512[weight=10, style=invis]; }
49
49
  }