Skip to content

Commit

Permalink
WIP: compilationg works but component is C#, why?
Browse files Browse the repository at this point in the history
  • Loading branch information
9and3 committed Jan 19, 2024
1 parent 7d7a1f9 commit dd0d630
Show file tree
Hide file tree
Showing 6 changed files with 87 additions and 29 deletions.
71 changes: 47 additions & 24 deletions .github/actions/ghpython-components/componentize.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import System.IO

GHPYTHON_SCRIPT_GUID = System.Guid("c9b2d725-6f87-4b07-af90-bd9aefef68eb") # <<<<<<<<<<<< changed
# GHPYTHON_SCRIPT_LIB = System.Guid("066d0a87-236f-4eae-a0f4-9e42f5327962") # ?? test unsure # <<<<<<<<<<<< changed TODO: to verify if it changes anything in py anc c#
TEMPLATE_VER = re.compile("{{version}}")
TEMPLATE_NAME = re.compile("{{name}}")
TEMPLATE_GHUSER_NAME = re.compile("{{ghuser_name}}")
Expand Down Expand Up @@ -245,13 +246,15 @@ def create_ghuser_component(source, target, version=None, prefix=None):
# ?? :: cannot find it in the serialized xml or ghx
# !! :: is in ipy but not in cpy

root.SetGuid("BaseID", GHPYTHON_SCRIPT_GUID) # ?? TODO: where this comes from? where it goes?
# this is the ghuser domain
root.SetGuid("BaseID", GHPYTHON_SCRIPT_GUID) # ok
# root.SetGuid("LibID", GHPYTHON_SCRIPT_LIB) # ?? test unsure
root.SetString("Name", prefix + data["name"]) # ok
root.SetString("NickName", data["nickname"]) # ok
root.SetString("Description", data.get("description", "")) # ok
root.SetInt32("Exposure", data.get("exposure", EXPOSURE["default"])) # ??
root.SetString("Category", data["category"]) # ??
root.SetString("SubCategory", data["subcategory"]) # ??
root.SetInt32("Exposure", data.get("exposure", EXPOSURE["default"])) # ok
root.SetString("Category", data["category"]) # ok
root.SetString("SubCategory", data["subcategory"]) # ok
root.SetGuid("InstanceGuid", instance_guid) # ok
root.SetByteArray("Icon", icon) # ??

Expand All @@ -262,24 +265,28 @@ def create_ghuser_component(source, target, version=None, prefix=None):
ghpython_root = GH_LooseChunk("UserObject")

ghpython_root.SetString("Description", data.get("description", "")) # ok : this is still in container's items
ghpython_root.SetBoolean("HideOutput", ghpython_data.get("hideOutput", True)) # !! this is still in container's items
ghpython_root.SetBoolean("HideInput", ghpython_data.get("hideInput", True)) # !! this is still in container's items
ghpython_root.SetBoolean(
"IsAdvancedMode", ghpython_data.get("isAdvancedMode", False) # !! this is still in container's items
)
ghpython_root.SetInt32("IconDisplay", ghpython_data.get("iconDisplay", 0)) # !! this is still in container's items

# ghpython_root.SetString("ToolTip", "this is an example of tooltip") # <<<<<<<<<<<< added FIXME: might not working
ghpython_root.SetBoolean("UsingLibraryInputParam", False) # <<<<<<<<<<<< added (default might stay)
ghpython_root.SetBoolean("UsingScriptInputParam", False) # <<<<<<<<<<<< added (default might stay)
ghpython_root.SetBoolean("UsingStandardOutputParam", False) # <<<<<<<<<<<< added (default might stay)

# ghpython_root.SetBoolean("HideOutput", ghpython_data.get("hideOutput", True)) # !! this is still in container's items
# ghpython_root.SetBoolean("HideInput", ghpython_data.get("hideInput", True)) # !! this is still in container's items
# ghpython_root.SetBoolean(
# "IsAdvancedMode", ghpython_data.get("isAdvancedMode", False) # !! this is still in container's items
# )
# ghpython_root.SetInt32("IconDisplay", ghpython_data.get("iconDisplay", 0)) # !! this is still in container's items

ghpython_root.SetString("Name", data["name"]) # ok
ghpython_root.SetString("NickName", data["nickname"]) # ok
ghpython_root.SetBoolean(
"MarshalOutGuids", ghpython_data.get("marshalOutGuids", True) # **!! it changed to "MarshalGuids" in cpy
)

# ------------------------------
# code
# ghpython_root.SetBoolean(
# "MarshalOutGuids", ghpython_data.get("marshalOutGuids", True) # **!! it changed to "MarshalGuids" in cpy
# )
ghpython_root.SetBoolean("MarshalGuids", True) # <<<<<<<<<<<< added (TODO: default value to replace)

# FIXME: does not exist anymore, need a new chunk
ghpython_root.SetString("CodeInput", code)
print("CodeInput", code)


# ------------------------------
# ------------------------------
Expand Down Expand Up @@ -323,7 +330,7 @@ def create_ghuser_component(source, target, version=None, prefix=None):
)
pi_chunk.SetInt32("SourceCount", 0) # ok
pi_chunk.SetGuid("InstanceGuid", input_instance_guid) # ok
pi_chunk.SetGuid("TypeHintID", parse_param_type_hint(pi.get("typeHintID"))) # ok
# pi_chunk.SetGuid("TypeHintID", parse_param_type_hint(pi.get("typeHintID"))) # ok
pi_chunk.SetInt32(
"WireDisplay",
parse_wire_display(pi.get("wireDisplay", WIRE_DISPLAY["default"])), # !! TODO: not sure if not shown by default, for test get out
Expand All @@ -332,9 +339,9 @@ def create_ghuser_component(source, target, version=None, prefix=None):
pi_chunk.SetBoolean("SimplifyData", pi.get("simplify", False)) # !! TODO: not sure if not shown by default, for test get out
# Mutually exclusive options
if pi.get("flatten", False):
pi_chunk.SetInt32("Mapping", 1) # !!
pi_chunk.SetInt32("Mapping", 1) # !! TODO: not sure if not shown by default, for test get out
elif pi.get("graft", False):
pi_chunk.SetInt32("Mapping", 2) # !!
pi_chunk.SetInt32("Mapping", 2) # !! TODO: not sure if not shown by default, for test get out

# ------------------------------
# output parameters
Expand All @@ -347,13 +354,29 @@ def create_ghuser_component(source, target, version=None, prefix=None):
po_chunk.SetBoolean("Optional", po.get("optional", False)) # ok
po_chunk.SetInt32("SourceCount", 0) # ok
po_chunk.SetGuid("InstanceGuid", output_instance_guid) # ok

po_chunk.SetBoolean("ReverseData", po.get("reverse", False)) # !! TODO: see above
po_chunk.SetBoolean("SimplifyData", po.get("simplify", False)) # !!
po_chunk.SetBoolean("SimplifyData", po.get("simplify", False)) # !! TODO: see above
# Mutually exclusive options
if po.get("flatten", False):
po_chunk.SetInt32("Mapping", 1) # !!
po_chunk.SetInt32("Mapping", 1) # !! TODO: see above
elif po.get("graft", False):
po_chunk.SetInt32("Mapping", 2) # !!
po_chunk.SetInt32("Mapping", 2) # !! TODO: see above

# ------------------------------
# code

# FIXME: does not exist anymore, need a new chunk
script = ghpython_root.CreateChunk("Script")
# TODO: here the code from the component needs to go in base64
script.SetString("Text", "IiIiVGhpcyBpcyBhIG5ldyBzY3JpcHQgaW5zdGFuY2UiIiINCmltcG9ydCBTeXN0ZW0NCmltcG9ydCBSaGlubw0KaW1wb3J0IEdyYXNzaG9wcGVyDQoNCmltcG9ydCByaGlub3NjcmlwdHN5bnRheCBhcyBycw0KDQoNCmNsYXNzIE15Q29tcG9uZW50KEdyYXNzaG9wcGVyLktlcm5lbC5HSF9TY3JpcHRJbnN0YW5jZSk6DQogICAgZGVmIFJ1blNjcmlwdChzZWxmLCBjb21wYXNuZXdfeCwgeSk6DQogICAgICAgICIiIkdyYXNzaG9wcGVyIFNjcmlwdCBjb21wYXMgYWN0aW9uIiIiDQogICAgICAgIGEgPSAiSGVsbG8gUHl0aG9uIDMgaW4gR3Jhc3Nob3BwZXIhIg0KICAgICAgICBwcmludChhKQ0KICAgICAgICANCiAgICAgICAgcmV0dXJuDQo=")
script.SetString("Title", "S")

language_spec = ghpython_root.CreateChunk("LanguageSpec")
language_spec.SetString("Taxon", "mcneel.pythonnet.python")
language_spec.SetString("Version", "3.9.10") # TODO: the version might be a parameter

# print("CodeInput", code)

# ------------------------------
# ------------------------------
Expand Down
Binary file added assets/deserialized_exo/TestUserObjectCpy.ghuser
Binary file not shown.
Binary file added assets/deserialized_exo/Test_KitchenSink.ghuser
Binary file not shown.
18 changes: 18 additions & 0 deletions assets/deserialized_exo/deserialized_TestUserObjectCpy.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<Fragment name="UserObject">
<items count="10">
<item name="BaseID" type_name="gh_guid" type_code="9">c9b2d725-6f87-4b07-af90-bd9aefef68eb</item>
<item name="Category" type_name="gh_string" type_code="10">Componentizer</item>
<item name="Description" type_name="gh_string" type_code="10">Scripting component test for deserialization</item>
<item name="Exposure" type_name="gh_int32" type_code="3">2</item>
<item name="Icon" type_name="gh_bytearray" type_code="20">
<stream length="721">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAJmSURBVEhL3ZW/ixNBFMe/m2Szu9Gzsctp4h+hiL0oaGEhihx4KhzcH2CloGBnpaCdjYKdxjIgcj/wONFT2/RiTOPFzU04TEQz63u7M7mZya6VjT54kMx+9/OdffPeLv6rGFIKlUWhrxdp0mtexpoJMXyGBNUwweKt3kxeu9NFqSTFc0wKNX4gd/g6sJsh7RDwqwnKFYm3chtrky7W5ec0N+Qn3HgSI4gSRPtlrmaTNH5AG4wSz8NYMZ3gXbR3tnHsdHcK0HBO/s1rrobhV27HePgmRqs3nK/ivCI6wQYmYEt+teB6t6bmI2k0fJ00rd5u3cclRXSCDTTg5fc+DtY7uP7Ihpsmr0Z9VIIO7q1kcF4ng0M+FhTRCW2QluVxjJtPBzhxdq8UpoEuy932AMfP7GnYIMCSIjrBBm7N3Xqb8LQsE1tDBvMhFhXRCW5Ft+YMNQEWPEfTFrLoCQT3edqKbs01gNuzSq0Y7kumcFPDLVwqS2KNMqQdIh2iaE5OS2Em77ziS8HDWCvQ0Lp4gR/EyjdIB6VMO1j9ZR+qLktY+wuDxvCjp7pTE7fmvOYevKmhQasHuKqITuhB0yabsj9zoJymSc6gFXeROWiv6cay38GDjYEFN00KBo0MLiuiE9pAP/L9tdgql2mgNTmD9mcDt+bumZjwVJMzaAGWFdEK7iKZdoJZc4ZqE+4gbtE8jZ6TaK6wi9Qc0BB9oJveyy9WvpPfGJDOQZ5mi7J2IBEt/CRWwRx43pg+d+MjEZYbES4cDnGxGWKB/p9rZm9IvnHEmkYNS40AJ5vUkqzh5HWlyf2i/YsB/AY4TfDJsUowIAAAAABJRU5ErkJggg==</stream>
</item>
<item name="InstanceGuid" type_name="gh_guid" type_code="9">befa656d-a0b2-4a86-ac96-df3b07485a12</item>
<item name="Name" type_name="gh_string" type_code="10">TestUserObjectCpy</item>
<item name="NickName" type_name="gh_string" type_code="10">CTS</item>
<item name="Object" type_name="gh_bytearray" type_code="20">
<stream length="3409">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</stream>
</item>
<item name="SubCategory" type_name="gh_string" type_code="10">ALL</item>
</items>
</Fragment>
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<Fragment name="UserObject">
<items count="10">
<item name="BaseID" type_name="gh_guid" type_code="9">c9b2d725-6f87-4b07-af90-bd9aefef68eb</item>
<item name="Category" type_name="gh_string" type_code="10">Componentizer</item>
<item name="Description" type_name="gh_string" type_code="10">This is an example with the everything and the kitchen sink in it, just to show all available options.</item>
<item name="Exposure" type_name="gh_int32" type_code="3">4</item>
<item name="Icon" type_name="gh_bytearray" type_code="20">
<stream length="2759">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAC4jAAAuIwF4pT92AAAGtmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMDEtMjBUMTI6NTM6MzIrMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIxLTAxLTA4VDE0OjQ3KzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIxLTAxLTA4VDE0OjQ3KzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc5NWY1YjQ4LTM1ZTktMTI0My05NGNiLTFjNmRkYWViYzQ4YyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjUwYmMyZmNiLTkwM2YtMzY0ZC04MWQxLWJiMWE5NzFmOGU5NiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjEzNmZlZjU3LTNhY2QtNDM0Ny1hY2FkLWUzYmFlZWViMGE4ZiI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MTM2ZmVmNTctM2FjZC00MzQ3LWFjYWQtZTNiYWVlZWIwYThmIiBzdEV2dDp3aGVuPSIyMDIwLTAxLTIwVDEyOjUzOjMyKzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMSAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YTVhZGJhYzItMjYyNS1hZTQ4LWI0NmQtZjhmYWUxNTZmYjY5IiBzdEV2dDp3aGVuPSIyMDIxLTAxLTA4VDE0OjQ3KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjc5NWY1YjQ4LTM1ZTktMTI0My05NGNiLTFjNmRkYWViYzQ4YyIgc3RFdnQ6d2hlbj0iMjAyMS0wMS0wOFQxNDo0NyswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgWtIBMAAAO3SURBVEjHtVZpT5NZFDZRY2QSAddR1PhBx4xxjWtcEsdx++AfYDIzhriOEuNMolETo9EoZZ/ACBU3VDLfjKMF1EkG6MLSFhB1pLTE0qKAIIotBbrRx+e+SuUtraIJJznNfe899zz3nvOcczsKwKiRVOlnZoYuon6bph0Xq1Bvjlaoj01O0VwTKsYxCvXWaWnaqEj7hgVA51HRSer4KamaO8svGqzbCh66hS7PM1inpmpV0Ullv9Jm/FcB8JS/LMypakwtt6O61QmPvx8D4vUHUNvmRGZlMxbl6ht5m93DBojL0I3mhqwDRQ1od3mCTnu8fhy+b4GYd3n8wfnOXi9+5zz3KOOGAzAxWZ11VtOEUHna4ULUuTKMP1eKJ+2uIespvClzpfwkQGyyJn6fqgHhRP/CgblZFfguuxKGFkdYG7E3NlmdEAkgaka6zjb/r0qc19rg8vplm7fdfIiCxy9RZOnEVo4DgY9rbuYnrcKOedkVmJ6ubaWvaBmAYAJjGC8SevNRG/iNBReqoDK/gvBz29SBjfk1QYcbrtbgel2rNBaAS5UGkLLI55zwQV+JMgDGbhOpeLeurTuYuD8eWLAizwiHx4dldCBCNCA1ZNUSpR6ve31YkqtHYrGZhPBKa01dfZiVqSuWAZDrx8ntJo8/IAtLn6+fybNh110TLJ09eO5wo63bA9vbPh6gESf+e4ZujzyU/XSx9kq1WQYgqnN7QZ07NGktTjfmMbEvSde9KhPm/FkuJXoPAV/1eDGfCReAocJitMsAJqVo8gkwxHLn7XqcLHkmjUXSd/z9CD9erw3WgUjsT7f+HwKwPRSAITqxIs9g8w4KUWnTG6y/Wg3/ILqkVzRDQYYNllWXjChkogckEC5ETPIW9pbix+3vk5xEJwwbTpVaIeZE8oWKAhM68C3WTpdZMemDrRA78zM7s/xeKE2/mZBUtjNL/1wyWkxmjDlTQhYZ8EN+bVAZW3F92dxK3mDs2RKwb0l7c40vQF+HhxSaqIVFOVV2h9sHY4sTCp0Nb/p8snA0kEn1HfI24aS9aBMae5fEutWXjR2siZiwrYIFkiAaVyTZdceEn289jbh+9N9GsAv/9slmR5CL4kThZH9hAxL+qQ+7lsPQ0HnBcNq1YJXy0D0znCFFFA5A0PfI+5PfiPvCB2fP6kvG5gw+KpbXvazQAN8CsxQmMbZ29SKbpFhz2dhC24Nf9WROS9VOICMS2VtU665Um9gAbd9fqLSJMalYKNhCm5jPPpkj/q9iJPUdVMp7CLMr2e0AAAAASUVORK5CYII=</stream>
</item>
<item name="InstanceGuid" type_name="gh_guid" type_code="9">cdd47086-f902-4b77-825b-6b79c3aaecc1</item>
<item name="Name" type_name="gh_string" type_code="10">Kitchen sink component example</item>
<item name="NickName" type_name="gh_string" type_code="10">Everything</item>
<item name="Object" type_name="gh_bytearray" type_code="20">
<stream length="932">vVVRaBxFGN5NSprbSyxiQUQtPxFMSo+g4IsHgkcumrPuXcmd2MSnye5cdpK5mWVn9nJ7sS/imxC10AdRDArFBykIPgiC9aEoPvooIkjfRcGXgi3Umd3bvb27SI1WhxvY++bfmf/7vv+ftV4ROGhs7WBH3lWjYBiGqWZhhbu4xvwwRi2F/Di9sLBgVTkI3sHSI2wbBKE0WraslkcEOLzjc4aZBJdjAYwnMaHA7ZCWgMhFAZzRCBDsEul4mKn32S7gHur4FIPw+J5+ocOFBNRFhKItBXNfEs6EOgXUqATbohw/6dErw0XoIhriDIrKsDEG9cuwmYPWsQwDltslwCKksgwtTyURdoC3AVEK0gswTt5Tp2vu7YB3YNvzI+kpImRrOaO8hQQGov4EUvHBTigVk6EgKKeOZVkORULA+USEptJgJV1cysLOJvm5uA3rIWs6AfHlksC0XYJeCaIS9M8OGWh82cZCoG0Mz8HiSsO+0Kiv1lvQ3d/v4kAoBS9dWswx1hJAD85BpGbfKlaxiI9Qganf7dhV9UMs82iPSE8JgwGrXaPEYMTcGBoxlTBleAl2QuWl5LG3saiTvhbWSK7QdOmZloYaocxjxZrDWZUIn6JIg9MKnFLzgZqouF3EHOzaqmKz+FM2CoSHqNrmxZC4Ils4UUcdnHI8cz6f9NCwAd/ZOnF28/HWasZ7/gIK1IrEQRVJpANmVMAJHRSzWeEhk2mmep6M4Zpr6O5S8/V3/3jzhzOf22/d3P/pJffKx+m6eY/1qb9YLyaKjZyr95pN8OHBG+53B+bXheqXvz5sz5976Psk35iODpk3knGqQinfa6kmqDiOqq2hFUcUy+O6eQa9qBtIF0Qm5/JcjQmpPdJWpLfM4vPGlfefOKxca33SPLw8Uxsxxrw4ob3Zm23EZyI6TGVdF6LAqQUx+GDSLTGhYerTA1rzTVWLrcjHa4TJIam5pmpfStpRfiuj2ORh4OARTfWw0g1q1ZTOk9/eftbsf/rCRwe/PDZX8V4rvkoCPFawZlYdcXLmv1J741hqV05/8dWdJfvl99DsZ+/Ur98ZVXtjUu3o76lt3D+1zfustjGqdnxb/GO1N4+l9je1m298eGN17frVp8hB/dEPTtrI99WlkS+EUQc2Jx3o/+8O/Bf1PriWsuulMNjyKKUfWY8/xXmRQ4l0xJEq3zq89cxvP+/Yb994+nL12tXfx1WeGld5JvnUT0id4uN6G0fqfTzp/gQ=</stream>
</item>
<item name="SubCategory" type_name="gh_string" type_code="10">ALL</item>
</items>
</Fragment>
Loading

0 comments on commit dd0d630

Please sign in to comment.