From 17b99ca836e8b4c61804f00014e77a9a0c9a0974 Mon Sep 17 00:00:00 2001 From: Nicole Rappe Date: Thu, 27 Feb 2025 19:38:25 -0700 Subject: [PATCH] Restructured project and implemented virtual python environments to isolate application. Added launch scripts too. --- {Modules => Data/Modules}/data_collector.py | 0 {Modules => Data/Modules}/data_manager.py | 0 .../Nodes}/Experimental/blueprint_node.py | 0 .../Nodes}/Flyff/Resources/bars_template.png | Bin .../Nodes}/Flyff/flyff_EXP_current.py | 0 .../Nodes}/Flyff/flyff_FP_current.py | 0 {Nodes => Data/Nodes}/Flyff/flyff_FP_total.py | 0 .../Nodes}/Flyff/flyff_HP_current.py | 0 {Nodes => Data/Nodes}/Flyff/flyff_HP_total.py | 0 .../Nodes}/Flyff/flyff_MP_current.py | 0 {Nodes => Data/Nodes}/Flyff/flyff_MP_total.py | 0 .../Flyff/flyff_character_status_node.py | 0 .../Flyff/flyff_leveling_predictor_node.py | 0 .../Flyff/flyff_low_health_alert_node.py | 1 + .../Nodes}/General Purpose/array_node.py | 0 .../Nodes}/General Purpose/comparison_node.py | 0 .../Nodes}/General Purpose/data_node.py | 0 .../General Purpose/identification_overlay.py | 0 .../General Purpose/math_operation_node.py | 0 .../Nodes}/Organization/backdrop_node.py | 0 .../Nodes}/Reporting/Export_to_CSV.py | 0 .../Nodes}/Reporting/Export_to_Image.py | 0 {Nodes => Data/Nodes}/__init__.py | 0 .../Flyff/Flyff - Low Health Alert.json | 0 .../Workflows}/Flyff/Flyff EXP Predictor.json | 0 .../Testing/Basic_Data_Node_Connection.json | 0 .../Testing/Identification_Overlay.json | 0 borealis.py => Data/borealis.py | 0 Experiments/flowpipe.py | 80 +++++++++++++ Installation Requirements.txt | 5 - .../data_collector.cpython-312.pyc | Bin 16876 -> 0 bytes .../__pycache__/data_manager.cpython-312.pyc | Bin 3596 -> 0 bytes .../graph_gradient_style.cpython-312.pyc | Bin 1395 -> 0 bytes .../blueprint_node.cpython-312.pyc | Bin 1938 -> 0 bytes .../flyff_EXP_current.cpython-312.pyc | Bin 2984 -> 0 bytes .../flyff_FP_current.cpython-312.pyc | Bin 4696 -> 0 bytes .../flyff_FP_total.cpython-312.pyc | Bin 4658 -> 0 bytes .../flyff_HP_current.cpython-312.pyc | Bin 4982 -> 0 bytes .../flyff_HP_total.cpython-312.pyc | Bin 4658 -> 0 bytes .../flyff_MP_current.cpython-312.pyc | Bin 4696 -> 0 bytes .../flyff_MP_total.cpython-312.pyc | Bin 4658 -> 0 bytes ...lyff_character_status_node.cpython-312.pyc | Bin 5182 -> 0 bytes ...ff_leveling_predictor_node.cpython-312.pyc | Bin 6684 -> 0 bytes ...lyff_low_health_alert_node.cpython-312.pyc | Bin 8937 -> 0 bytes .../identification_overlay.cpython-312.pyc | Bin 154 -> 0 bytes .../__pycache__/array_node.cpython-312.pyc | Bin 2837 -> 0 bytes .../comparison_node.cpython-312.pyc | Bin 5319 -> 0 bytes .../__pycache__/data_node.cpython-312.pyc | Bin 3967 -> 0 bytes .../identification_overlay.cpython-312.pyc | Bin 5078 -> 0 bytes .../math_operation_node.cpython-312.pyc | Bin 4727 -> 0 bytes .../__pycache__/backdrop_node.cpython-312.pyc | Bin 8458 -> 0 bytes Nodes/__pycache__/__init__.cpython-312.pyc | Bin 134 -> 0 bytes Nodes/__pycache__/array_node.cpython-312.pyc | Bin 2821 -> 0 bytes .../__pycache__/backdrop_node.cpython-312.pyc | Bin 8445 -> 0 bytes Nodes/__pycache__/basic_nodes.cpython-312.pyc | Bin 3188 -> 0 bytes .../blueprint_node.cpython-312.pyc | Bin 1925 -> 0 bytes .../comparison_node.cpython-312.pyc | Bin 5303 -> 0 bytes Nodes/__pycache__/data_node.cpython-312.pyc | Bin 3951 -> 0 bytes .../flyff_EXP_current.cpython-312.pyc | Bin 4646 -> 0 bytes .../flyff_FP_current.cpython-312.pyc | Bin 4690 -> 0 bytes .../flyff_FP_total.cpython-312.pyc | Bin 4652 -> 0 bytes .../flyff_HP_current.cpython-312.pyc | Bin 4976 -> 0 bytes .../flyff_HP_total.cpython-312.pyc | Bin 4652 -> 0 bytes .../flyff_MP_current.cpython-312.pyc | Bin 4690 -> 0 bytes .../flyff_MP_total.cpython-312.pyc | Bin 4652 -> 0 bytes ...lyff_character_status_node.cpython-312.pyc | Bin 4999 -> 0 bytes ...lyff_low_health_alert_node.cpython-312.pyc | Bin 8931 -> 0 bytes Nodes/__pycache__/group_node.cpython-312.pyc | Bin 957 -> 0 bytes .../math_operation_node.cpython-312.pyc | Bin 4711 -> 0 bytes Nodes/__pycache__/widget_node.cpython-312.pyc | Bin 5574 -> 0 bytes Start_Linux.sh | 112 ++++++++++++++++++ Start_Windows.ps1 | 50 ++++++++ .../borealis_graph_style.cpython-312.pyc | Bin 1793 -> 0 bytes __pycache__/monkey_patches.cpython-312.pyc | Bin 4089 -> 0 bytes __pycache__/myscene.cpython-312.pyc | Bin 1326 -> 0 bytes requirements.txt | 21 ++++ 76 files changed, 264 insertions(+), 5 deletions(-) rename {Modules => Data/Modules}/data_collector.py (100%) rename {Modules => Data/Modules}/data_manager.py (100%) rename {Nodes => Data/Nodes}/Experimental/blueprint_node.py (100%) rename {Nodes => Data/Nodes}/Flyff/Resources/bars_template.png (100%) rename {Nodes => Data/Nodes}/Flyff/flyff_EXP_current.py (100%) rename {Nodes => Data/Nodes}/Flyff/flyff_FP_current.py (100%) rename {Nodes => Data/Nodes}/Flyff/flyff_FP_total.py (100%) rename {Nodes => Data/Nodes}/Flyff/flyff_HP_current.py (100%) rename {Nodes => Data/Nodes}/Flyff/flyff_HP_total.py (100%) rename {Nodes => Data/Nodes}/Flyff/flyff_MP_current.py (100%) rename {Nodes => Data/Nodes}/Flyff/flyff_MP_total.py (100%) rename {Nodes => Data/Nodes}/Flyff/flyff_character_status_node.py (100%) rename {Nodes => Data/Nodes}/Flyff/flyff_leveling_predictor_node.py (100%) rename {Nodes => Data/Nodes}/Flyff/flyff_low_health_alert_node.py (99%) rename {Nodes => Data/Nodes}/General Purpose/array_node.py (100%) rename {Nodes => Data/Nodes}/General Purpose/comparison_node.py (100%) rename {Nodes => Data/Nodes}/General Purpose/data_node.py (100%) rename {Nodes => Data/Nodes}/General Purpose/identification_overlay.py (100%) rename {Nodes => Data/Nodes}/General Purpose/math_operation_node.py (100%) rename {Nodes => Data/Nodes}/Organization/backdrop_node.py (100%) rename {Nodes => Data/Nodes}/Reporting/Export_to_CSV.py (100%) rename {Nodes => Data/Nodes}/Reporting/Export_to_Image.py (100%) rename {Nodes => Data/Nodes}/__init__.py (100%) rename {Workflows => Data/Workflows}/Flyff/Flyff - Low Health Alert.json (100%) rename {Workflows => Data/Workflows}/Flyff/Flyff EXP Predictor.json (100%) rename {Workflows => Data/Workflows}/Testing/Basic_Data_Node_Connection.json (100%) rename {Workflows => Data/Workflows}/Testing/Identification_Overlay.json (100%) rename borealis.py => Data/borealis.py (100%) create mode 100644 Experiments/flowpipe.py delete mode 100644 Installation Requirements.txt delete mode 100644 Modules/__pycache__/data_collector.cpython-312.pyc delete mode 100644 Modules/__pycache__/data_manager.cpython-312.pyc delete mode 100644 Modules/__pycache__/graph_gradient_style.cpython-312.pyc delete mode 100644 Nodes/Experimental/__pycache__/blueprint_node.cpython-312.pyc delete mode 100644 Nodes/Flyff/__pycache__/flyff_EXP_current.cpython-312.pyc delete mode 100644 Nodes/Flyff/__pycache__/flyff_FP_current.cpython-312.pyc delete mode 100644 Nodes/Flyff/__pycache__/flyff_FP_total.cpython-312.pyc delete mode 100644 Nodes/Flyff/__pycache__/flyff_HP_current.cpython-312.pyc delete mode 100644 Nodes/Flyff/__pycache__/flyff_HP_total.cpython-312.pyc delete mode 100644 Nodes/Flyff/__pycache__/flyff_MP_current.cpython-312.pyc delete mode 100644 Nodes/Flyff/__pycache__/flyff_MP_total.cpython-312.pyc delete mode 100644 Nodes/Flyff/__pycache__/flyff_character_status_node.cpython-312.pyc delete mode 100644 Nodes/Flyff/__pycache__/flyff_leveling_predictor_node.cpython-312.pyc delete mode 100644 Nodes/Flyff/__pycache__/flyff_low_health_alert_node.cpython-312.pyc delete mode 100644 Nodes/Flyff/__pycache__/identification_overlay.cpython-312.pyc delete mode 100644 Nodes/General Purpose/__pycache__/array_node.cpython-312.pyc delete mode 100644 Nodes/General Purpose/__pycache__/comparison_node.cpython-312.pyc delete mode 100644 Nodes/General Purpose/__pycache__/data_node.cpython-312.pyc delete mode 100644 Nodes/General Purpose/__pycache__/identification_overlay.cpython-312.pyc delete mode 100644 Nodes/General Purpose/__pycache__/math_operation_node.cpython-312.pyc delete mode 100644 Nodes/Organization/__pycache__/backdrop_node.cpython-312.pyc delete mode 100644 Nodes/__pycache__/__init__.cpython-312.pyc delete mode 100644 Nodes/__pycache__/array_node.cpython-312.pyc delete mode 100644 Nodes/__pycache__/backdrop_node.cpython-312.pyc delete mode 100644 Nodes/__pycache__/basic_nodes.cpython-312.pyc delete mode 100644 Nodes/__pycache__/blueprint_node.cpython-312.pyc delete mode 100644 Nodes/__pycache__/comparison_node.cpython-312.pyc delete mode 100644 Nodes/__pycache__/data_node.cpython-312.pyc delete mode 100644 Nodes/__pycache__/flyff_EXP_current.cpython-312.pyc delete mode 100644 Nodes/__pycache__/flyff_FP_current.cpython-312.pyc delete mode 100644 Nodes/__pycache__/flyff_FP_total.cpython-312.pyc delete mode 100644 Nodes/__pycache__/flyff_HP_current.cpython-312.pyc delete mode 100644 Nodes/__pycache__/flyff_HP_total.cpython-312.pyc delete mode 100644 Nodes/__pycache__/flyff_MP_current.cpython-312.pyc delete mode 100644 Nodes/__pycache__/flyff_MP_total.cpython-312.pyc delete mode 100644 Nodes/__pycache__/flyff_character_status_node.cpython-312.pyc delete mode 100644 Nodes/__pycache__/flyff_low_health_alert_node.cpython-312.pyc delete mode 100644 Nodes/__pycache__/group_node.cpython-312.pyc delete mode 100644 Nodes/__pycache__/math_operation_node.cpython-312.pyc delete mode 100644 Nodes/__pycache__/widget_node.cpython-312.pyc create mode 100644 Start_Linux.sh create mode 100644 Start_Windows.ps1 delete mode 100644 __pycache__/borealis_graph_style.cpython-312.pyc delete mode 100644 __pycache__/monkey_patches.cpython-312.pyc delete mode 100644 __pycache__/myscene.cpython-312.pyc create mode 100644 requirements.txt diff --git a/Modules/data_collector.py b/Data/Modules/data_collector.py similarity index 100% rename from Modules/data_collector.py rename to Data/Modules/data_collector.py diff --git a/Modules/data_manager.py b/Data/Modules/data_manager.py similarity index 100% rename from Modules/data_manager.py rename to Data/Modules/data_manager.py diff --git a/Nodes/Experimental/blueprint_node.py b/Data/Nodes/Experimental/blueprint_node.py similarity index 100% rename from Nodes/Experimental/blueprint_node.py rename to Data/Nodes/Experimental/blueprint_node.py diff --git a/Nodes/Flyff/Resources/bars_template.png b/Data/Nodes/Flyff/Resources/bars_template.png similarity index 100% rename from Nodes/Flyff/Resources/bars_template.png rename to Data/Nodes/Flyff/Resources/bars_template.png diff --git a/Nodes/Flyff/flyff_EXP_current.py b/Data/Nodes/Flyff/flyff_EXP_current.py similarity index 100% rename from Nodes/Flyff/flyff_EXP_current.py rename to Data/Nodes/Flyff/flyff_EXP_current.py diff --git a/Nodes/Flyff/flyff_FP_current.py b/Data/Nodes/Flyff/flyff_FP_current.py similarity index 100% rename from Nodes/Flyff/flyff_FP_current.py rename to Data/Nodes/Flyff/flyff_FP_current.py diff --git a/Nodes/Flyff/flyff_FP_total.py b/Data/Nodes/Flyff/flyff_FP_total.py similarity index 100% rename from Nodes/Flyff/flyff_FP_total.py rename to Data/Nodes/Flyff/flyff_FP_total.py diff --git a/Nodes/Flyff/flyff_HP_current.py b/Data/Nodes/Flyff/flyff_HP_current.py similarity index 100% rename from Nodes/Flyff/flyff_HP_current.py rename to Data/Nodes/Flyff/flyff_HP_current.py diff --git a/Nodes/Flyff/flyff_HP_total.py b/Data/Nodes/Flyff/flyff_HP_total.py similarity index 100% rename from Nodes/Flyff/flyff_HP_total.py rename to Data/Nodes/Flyff/flyff_HP_total.py diff --git a/Nodes/Flyff/flyff_MP_current.py b/Data/Nodes/Flyff/flyff_MP_current.py similarity index 100% rename from Nodes/Flyff/flyff_MP_current.py rename to Data/Nodes/Flyff/flyff_MP_current.py diff --git a/Nodes/Flyff/flyff_MP_total.py b/Data/Nodes/Flyff/flyff_MP_total.py similarity index 100% rename from Nodes/Flyff/flyff_MP_total.py rename to Data/Nodes/Flyff/flyff_MP_total.py diff --git a/Nodes/Flyff/flyff_character_status_node.py b/Data/Nodes/Flyff/flyff_character_status_node.py similarity index 100% rename from Nodes/Flyff/flyff_character_status_node.py rename to Data/Nodes/Flyff/flyff_character_status_node.py diff --git a/Nodes/Flyff/flyff_leveling_predictor_node.py b/Data/Nodes/Flyff/flyff_leveling_predictor_node.py similarity index 100% rename from Nodes/Flyff/flyff_leveling_predictor_node.py rename to Data/Nodes/Flyff/flyff_leveling_predictor_node.py diff --git a/Nodes/Flyff/flyff_low_health_alert_node.py b/Data/Nodes/Flyff/flyff_low_health_alert_node.py similarity index 99% rename from Nodes/Flyff/flyff_low_health_alert_node.py rename to Data/Nodes/Flyff/flyff_low_health_alert_node.py index 699e1bd..f1006a7 100644 --- a/Nodes/Flyff/flyff_low_health_alert_node.py +++ b/Data/Nodes/Flyff/flyff_low_health_alert_node.py @@ -16,6 +16,7 @@ try: import winsound HAS_WINSOUND = True except ImportError: + winsound = None HAS_WINSOUND = False class OverlayCanvas(QtWidgets.QWidget): diff --git a/Nodes/General Purpose/array_node.py b/Data/Nodes/General Purpose/array_node.py similarity index 100% rename from Nodes/General Purpose/array_node.py rename to Data/Nodes/General Purpose/array_node.py diff --git a/Nodes/General Purpose/comparison_node.py b/Data/Nodes/General Purpose/comparison_node.py similarity index 100% rename from Nodes/General Purpose/comparison_node.py rename to Data/Nodes/General Purpose/comparison_node.py diff --git a/Nodes/General Purpose/data_node.py b/Data/Nodes/General Purpose/data_node.py similarity index 100% rename from Nodes/General Purpose/data_node.py rename to Data/Nodes/General Purpose/data_node.py diff --git a/Nodes/General Purpose/identification_overlay.py b/Data/Nodes/General Purpose/identification_overlay.py similarity index 100% rename from Nodes/General Purpose/identification_overlay.py rename to Data/Nodes/General Purpose/identification_overlay.py diff --git a/Nodes/General Purpose/math_operation_node.py b/Data/Nodes/General Purpose/math_operation_node.py similarity index 100% rename from Nodes/General Purpose/math_operation_node.py rename to Data/Nodes/General Purpose/math_operation_node.py diff --git a/Nodes/Organization/backdrop_node.py b/Data/Nodes/Organization/backdrop_node.py similarity index 100% rename from Nodes/Organization/backdrop_node.py rename to Data/Nodes/Organization/backdrop_node.py diff --git a/Nodes/Reporting/Export_to_CSV.py b/Data/Nodes/Reporting/Export_to_CSV.py similarity index 100% rename from Nodes/Reporting/Export_to_CSV.py rename to Data/Nodes/Reporting/Export_to_CSV.py diff --git a/Nodes/Reporting/Export_to_Image.py b/Data/Nodes/Reporting/Export_to_Image.py similarity index 100% rename from Nodes/Reporting/Export_to_Image.py rename to Data/Nodes/Reporting/Export_to_Image.py diff --git a/Nodes/__init__.py b/Data/Nodes/__init__.py similarity index 100% rename from Nodes/__init__.py rename to Data/Nodes/__init__.py diff --git a/Workflows/Flyff/Flyff - Low Health Alert.json b/Data/Workflows/Flyff/Flyff - Low Health Alert.json similarity index 100% rename from Workflows/Flyff/Flyff - Low Health Alert.json rename to Data/Workflows/Flyff/Flyff - Low Health Alert.json diff --git a/Workflows/Flyff/Flyff EXP Predictor.json b/Data/Workflows/Flyff/Flyff EXP Predictor.json similarity index 100% rename from Workflows/Flyff/Flyff EXP Predictor.json rename to Data/Workflows/Flyff/Flyff EXP Predictor.json diff --git a/Workflows/Testing/Basic_Data_Node_Connection.json b/Data/Workflows/Testing/Basic_Data_Node_Connection.json similarity index 100% rename from Workflows/Testing/Basic_Data_Node_Connection.json rename to Data/Workflows/Testing/Basic_Data_Node_Connection.json diff --git a/Workflows/Testing/Identification_Overlay.json b/Data/Workflows/Testing/Identification_Overlay.json similarity index 100% rename from Workflows/Testing/Identification_Overlay.json rename to Data/Workflows/Testing/Identification_Overlay.json diff --git a/borealis.py b/Data/borealis.py similarity index 100% rename from borealis.py rename to Data/borealis.py diff --git a/Experiments/flowpipe.py b/Experiments/flowpipe.py new file mode 100644 index 0000000..47aedaf --- /dev/null +++ b/Experiments/flowpipe.py @@ -0,0 +1,80 @@ +from flask import Flask, jsonify +from flowpipe.node import Node +from flowpipe.graph import Graph +from flowpipe.plug import InputPlug, OutputPlug + +app = Flask(__name__) + +# =========================== +# Define Custom Nodes +# =========================== + +class MultiplyNode(Node): + """Multiplies an input value by a factor""" + factor = InputPlug() + value = InputPlug() + result = OutputPlug() + + def compute(self): + self.result.value = self.value.value * self.factor.value + + +class AddNode(Node): + """Adds two input values""" + input1 = InputPlug() + input2 = InputPlug() + sum = OutputPlug() + + def compute(self): + self.sum.value = self.input1.value + self.input2.value + + +class OutputNode(Node): + """Outputs the final result""" + input_value = InputPlug() + output_value = OutputPlug() + + def compute(self): + self.output_value.value = self.input_value.value + + +# =========================== +# Define Graph Workflow +# =========================== + +def create_workflow(): + """Creates a sample workflow using nodes""" + graph = Graph(name="Sample Workflow") + + # Create nodes + multiply = MultiplyNode(name="Multiplier", graph=graph) + add = AddNode(name="Adder", graph=graph) + output = OutputNode(name="Output", graph=graph) + + # Connect nodes + multiply.result.connect(add.input1) # Multiply output -> Add input1 + add.sum.connect(output.input_value) # Add output -> Output node + + # Set static input values + multiply.factor.value = 2 + multiply.value.value = 5 # 5 * 2 = 10 + add.input2.value = 3 # 10 + 3 = 13 + + return graph + + +@app.route('/run-workflow', methods=['GET']) +def run_workflow(): + """Runs the defined node-based workflow""" + graph = create_workflow() + graph.evaluate() # Execute the graph + + # Extract the final result from the output node + output_node = graph.nodes["Output"] + result = output_node.output_value.value + + return jsonify({"workflow_result": result}) + + +if __name__ == '__main__': + app.run(debug=True) diff --git a/Installation Requirements.txt b/Installation Requirements.txt deleted file mode 100644 index 94ef1d6..0000000 --- a/Installation Requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -We need to run the following commands to install the prerequisites for the project. - - -This command is used to install pytorch and torchvision for the purposes of GPU-accelerated vision tasks. -pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 diff --git a/Modules/__pycache__/data_collector.cpython-312.pyc b/Modules/__pycache__/data_collector.cpython-312.pyc deleted file mode 100644 index 09dbaf9757998301c21c1da94a6ee0410cab47ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16876 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 diff --git a/Modules/__pycache__/data_manager.cpython-312.pyc b/Modules/__pycache__/data_manager.cpython-312.pyc deleted file mode 100644 index b4a2b38e88d0cfa9a325228bf60b7cba6ae3a022..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3596 zcmc&$&2JM&6rb4-@5auDV>=;yG%Q6(H6KoCOF@WI0p+tI357~vAz6!elh|2%t=Tmq zR;YrSic~$6ib_-}2aZMb)_ebfUJ@mUXq&2)=%tq`!9DfV_h#*7Z4%TW>!f10IG7c8M9X2p_}l_<80 zmRyQtBV5P2|C0>)zLHf0Vn!Y{rp&5FB-;Tkq8WVzvt!A|%vf==uZN|fG%XBumIO0& zZD8FISVu$F-5XfP0_)C@bMiOMoNP+B| zqUpXr5cqIf@Z?jL?o4`0(Xq>gv8gomA{WkAUGv6xlbW>RMJFn`e3db??0PEbuI=iU z7cGTaL2tB#4Qlxbo#}bkWLn8|St0Lex}%-DI5M2!LmmnY*YwnJ)6L;_ z9+EmP^Y@-php&z@yJ+U!+;N+kx>azlp0|yvWja^UFjvyc`nbt5l_^i<4SJ=(k}!5F zd`>Tj8S+<@bSA$(bocOLY;ay0WY}7hh5&vGY#Ew4?6*J(!#3!PzzvGtTA(2UgxdBO z2sn9pRKsogI9Vr*VcjU=C~zYz0m4&YGdbLPAJkrl&%ymSwtna2{X^d#eqb(a-8-M$ zw;0RJOBo-8I5e>VhI24HjA0`L>$D4q%n5K};;1s3S*VvT^e zBGgT23}1aWhz8V^{=vJ&2iq3}UGKmG7LsvR3Wt2rjS4%w$r)^yM-kd0gu0@EznWk^(zSPVZxU)VRMl6oT{1gjSj zO^#M_q#XBQOD^R4?Kq9Zrj0 zhmW>U9`_=bIB-wq>%d{-svdP6WL?wz#1wDe1jCR$4WEPNGvt{{i(Hy%aVNi^sUpMo#mTpp%te`0_&fEfE)$VFYD3z{D@t2BVLM_X4*>A4je1! zDPmBzm8Kmf(}Z7I`$Kt6)3v-^nbPbretV5u_BGw&`8(&haQ*l`l9s)wfA`>>>`8Da zlZ_T`tOrysMnQ4*f`A;T61nI0$gPnjsc$8|ok2%>@+z7V?zYKglO<^ znigsY{g^Xd;LZWBvdqR6kFkbNfDK3-PD^YLEXEKx+lOKZ1O~;VIpxXMb*pN&c%tew z9tZ3lFuVevvlB!sY0LdvXV1+!w?+cS9!r~iu7Xz#3<|jVKV5K|JZh{#!yLZU2|0%+ zIENosz)gU?s^u0c0gcXvJZieD+2wr0DTmW?8=v5Sd`6#F>UB1rUOA(XcSDZobv232 zU8`D?>=5vyBfI$eYh^be^^Ub9?F?#7iqrjU7mV>Fw@@-Yc?@5%45{{Ccb%hC7u*Ax z3+@RBC5GwTKX-HkZ%6P%gizDns*}sxmId!Vo8`}J8*=|Y=}Sp z*5j`x{+{4hE5DC;p7MhX{e{D7OS7JOq{QEnN7?&ef`{k)31U^Gls+Z#pGoXjqWwa) zuc{=OT8{TFCz8))tb46T?G|RDYyG4<^~L3x=xT)Q+C5KptVM{@Id|q$dq(_?O1C%P z+B|n~ktWv!iEgipL`bcow%SPqnRmXsNE6sOgq=z39D3e)V3GE&2?|xPGqH-=YN9#v Xzji)LD6|_z-?K!74%Fiycy#;&*1ffP diff --git a/Modules/__pycache__/graph_gradient_style.cpython-312.pyc b/Modules/__pycache__/graph_gradient_style.cpython-312.pyc deleted file mode 100644 index a04d47a516b459332f85215ea361cce9f560b7fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1395 zcmZux&uQ!4aOZ>+M6@abwWr=t0|Ig4y2Pnh#_VPG+4kG`9@+i%)o3|fyKapd5FzE#Fk*YX8ta) zySDHAMH`=`g@slumLky z7PEdKFk_<+LB2QpZeVZ04Hh^{;M?huc^S6X(8P7o)JwXXhzNm=7UieU!8tT{*$(K@ zl^(_QV0#Ln$97qMNq~F6hrK};9cO=U{^1$G?!aZxWxla7yCk&oLNDql-D-G49=xlvqt?8Ymh|+R@D$0w zyBbD6t;$xX8CMs4Ll!Yp>U7$1s8J%aL|b>5Kv8R+ClAxwV< zppKx~gjbd0Th{IJzFWLA^~=@|?hd!Yvl zzLQqyPbq`GsH^Mscoo%K&D1IBcTbH)Eh(p@amp$@ggiqgME86Spe9e?JvEdSe{C|x WUck36Vdjl>n9Z?!mA63O+0&1i9YD1J diff --git a/Nodes/Experimental/__pycache__/blueprint_node.cpython-312.pyc b/Nodes/Experimental/__pycache__/blueprint_node.cpython-312.pyc deleted file mode 100644 index 346c401a5abd3ea6b2aed7748ec00ed1b22e471f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1938 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 PGt8k?$A1uMshs}-T~Te} diff --git a/Nodes/Flyff/__pycache__/flyff_FP_total.cpython-312.pyc b/Nodes/Flyff/__pycache__/flyff_FP_total.cpython-312.pyc deleted file mode 100644 index 8f157ebd09f967d51fd0bfe5ac2bc672c1a2a641..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4658 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 Q#~J3}s^dS1v{cUj0N*NZrT_o{ diff --git a/Nodes/Flyff/__pycache__/flyff_MP_total.cpython-312.pyc b/Nodes/Flyff/__pycache__/flyff_MP_total.cpython-312.pyc deleted file mode 100644 index 815f1a6382a01804c92afd4a4fb8632197a5667e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4658 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 bs_J`+`<`lr`kCbun%=ik|8EL^iKzbpm@C_= diff --git a/Nodes/Flyff/__pycache__/flyff_low_health_alert_node.cpython-312.pyc b/Nodes/Flyff/__pycache__/flyff_low_health_alert_node.cpython-312.pyc deleted file mode 100644 index 4439490fbdb5fbbe725112ed6450b621bb543eb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8937 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 bN@-52T@fqLBt{@E1~EP|Gcqz3F#}lu*7zpU diff --git a/Nodes/General Purpose/__pycache__/array_node.cpython-312.pyc b/Nodes/General Purpose/__pycache__/array_node.cpython-312.pyc deleted file mode 100644 index daf5a709c1fcd6f763b2ee41b452b1f9db140c0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2837 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 diff --git a/Nodes/General Purpose/__pycache__/data_node.cpython-312.pyc b/Nodes/General Purpose/__pycache__/data_node.cpython-312.pyc deleted file mode 100644 index 2c1057990c33adf7d52e9f8e8a0466538ff61827..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3967 zcma)9T}&HS7QT0W?76PxP4WVPIB>PLf2YI+vldT#}>6^BI0t zND7p2WRmE@ZK8_?_mFqjCB=n6B3S$~^pT}yb&cuiqM<8iHA_>ba=I}ZQj~t>bSh=! zEmHvv#bR34oK3^%mX;|Prjp8K&9rG5Su3+J;HZC`*EI_yzLIiPGhx?UR?(E1Ozx_d zQ3{TZVx?ydHW2zZ8k3;5bOsdhT;Kzjtq*d{NV#^pl=BALNnm~l*EL9z!j(ClCV8Dp z3d`ggT==$>6!D_TfG+FeZJG?~0T@Yo5NMMw0S)O*K*Jypfn3(ZFp4abd75ngh$JGm zgf2i!itSem+3Z4pM!PzY&JDoLG&KwJFPeNOrD%hV7!UOAb`8iM=?bxYp;b4Zl*sSH zggo>l6vj7#zM9YI^r5%2qtWCGd`9PXX~3R)Kb_YFUHm3ckGHc^WUtm9TUuV0>%pCq z7Dz&xvc(Ux`GRE!E*32O6`gdj#VeQ`pKiWA4^^9(y%ibuSoHAsRxxKcOv(0Zb;qRurb*`nHWe`Fijd$4b|b>Ns~od zqQB*u$O8QJkezhvC9Hjsv+7Vmbgslb^pcU1PXRO*xi7f|?{|*Qk$L`8GDj2q6vLb< z_MT%b$FS71;K_7$M#1QOa9zvJKwX>ZnXHx>P4IRIqvHn2ZaO!QsFBWPZ86W%Su4S_ zcG%1gJCXIYs9|EYD2l=kJ3@$srKTWKmQjrQ0ce=*1U2(KkR?)UkFDhH=T>Ld+6R`y zwQ&36aQ7xBL{8JEtI`Q949w%RzGHkWd zG|aEcC;4y1VLs(oDG1Our<$*z*8dLxIJQJoKS&TT-|4V{_kr{Mx?Ug;IM>PGJ{jEy zxek?LEjXUHBXzu0F+b}r6x|AtQw7GL6r5Vw52H^Z^g$TRb>1bTyx2mT3$4 zuCg9jVatf^^|WBUFqIJ8JPJ9RI4kV1yOTF?1#VX&zzV<=FTpVPocF^~DYiFe*UtPe zV2!x~1X8Q5b0v8{xk|tKY&nD|bMyYq)%aIg1evyK_>D^VjrH*HTCBGk8>+;H)?&kt zKCi?^sOV575QlSiw*g$ zTI6sw(pQP}tw-M6kyzDZCo0EIJnC3GHnJg)Zt|r0EjPdS=BHDCc-?Bn zF4VG;eb-P%i7ftg0V^Vwdlfmxb6`ZeuYmk*AXU6YOBP!m)(?@}<+;`~&o~ zxnsc5mknr?kK&FaNE{eybOSaOjvJ{q;*IG3_bzp*t}^m zH#5C=P0#_M?N&2aU@61NNf+wySU(kI=xB}fEyIEHVw->G#_4fbVDr(#?Di3W)it7$6v-;Uxyi9TFf6_?HkpY?%OS8UA~e zpzMA85m`S@4Imi=Vh68lre;B~CSU|&Y(g0N*r^P=*-t?iM;gY6M<%)x!slU$6Y&NF z+4Vf10aY^v1OnFx8vh8lmrqr@hAUme>s{~Gy8El$?^U|r`+N8M_nK?*!D@V{5+7QN z58rEk@_MX1{`L6A>!Y=3cQra#i4HyzzMp>_9o&ds`XNYqCMaOR&qkI{IdOODEYX4; zH8#S~QHNA@Hm4Ud$jhqwc|pr~l4fXPb!ZmS*U|>V-h1le*>mdD=?mwaZkH)wx6?MT zH<24c@-C87NG6bAPTCQ#$xa!WjH-gyJ7Cttr)9!v;hY}dA=p`&V?dtY21M;&nyR&S zEq(Y*2#7sfhl1j1x_yWj6I&r(d~GWviKn)roEX`XfNTSa|3?alm#KSCEb*yCzz(Xa zo=buC;frvWNv7qmU$z)#uFU}>0OOvIDCjPA+Dd86^~yM#0s$IpDnOtIr1Xb?K!qP= WLgW7=ZO?=;dYLZI|48uH+2Mc95OX^K diff --git a/Nodes/General Purpose/__pycache__/identification_overlay.cpython-312.pyc b/Nodes/General Purpose/__pycache__/identification_overlay.cpython-312.pyc deleted file mode 100644 index ec927062a04fa745e6a83af3316b91ea2d437e0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5078 zcma)9O>7&-6`tktXZUMb7AcXkskLNFq@_rT9b1x}#Fl@gIEiVivV)j0u%)>xi7J1T z*=6(t3iZK26_&) zNf}b=JXiL(XvPEqgZB62oJ!gJl1Vu!Opy%8ltg;G+wqW16$x_`ACDQ=ZI-Crd#zJe1x?<`+;uVO?~}au49MPAbFpeceA+o zq(-UfIrRKeKx(ellXm8iXf=FOw;9xAok3OqkP}yxGbm}76qH&dLE0^~-fFw4d&i*~ zTlI!+^}iw0-m2W7q&+wFJp`5-4XH5-e6Dx`UNss0)&FFmN*mPVE`zH6VRW#{8B}#{ z=-+KftAE1}4$Y$Q-UxLna*V_$L{%oKIp?Ux2uCxqVax)`40d%Jq6H5DV{i8QsIDgU{H)HMY_001J65&7LY-?=g; z3;~yw)A3m$lv2W!KiJz#9ho>0(=Ppow_}m3>#F9|ultSIcK?Z=y zkhvWO#A)awgnlu6JUnLuU%K`mJV@>8L?ZsHG(gy#=S?sxoHuyN?WZ0c`ouEy&DEVR zL!r|Bc_!>AhPP9TlAV$X!N5^0iivbW6-DZaNfKmcMg_rCRxR`KOzLt*Ov&jib+LQ^ zK*LaVmfDFt4u~%%B*Kmb-5v*2S7nifwA@9vDQb+URbZx=SxCnKzs+ojMP*P{Usf;3D+C1RhQ?sNKY|XW9#BM$R%v84#J9coD z2&Co76|{!kE1r&}h63(e!2^%1$nGxT<^pcMerD;F<(WKgUcs-eVwWzA6=UK%icSdWslY|tabPc*nhoi$+CjGYaKY7f8qFj zzos`@HSk70JaC8Cq$exV{LZd?_pv*QCVt~v|BDOe4?JtwSHhtJ4lOl&9=s7;K5(b? zK7U`yN9Fvxy~HZvt!VNIdgRI-d~$n==_RFl1{(YUO6wg9t07_<7Ss^g(zU z&F~k|G#55U2-_n>fF`jHKEok(jn|$hJ{6mxd?KwnroFiyDu%@wrT*j#E16&gcJ!D3_o zg6olqx3{gev@Y)dOj&xl*wJ5X8OXbKKEklk%b9H|;HJDk{0-jsWZj190zV+m-nQD( z`ZZ|rKt5HrgXNFCgJyKs>>RA;?{4Ry-H_-?G4w}R&+{aDi>**el$PGjHVbd0a-QG9 zhPk3)-a^At(XfC}yd=3QIrR$^Syb>}#R zn?)+yP1-lPNdX1kH5mQXe~!ypbG97LnR9NV6r1+o*_8;N4k+5oj`08}7y!j)WFBDUCj(Xhcxv^mpoi!2Mf4H(fn^IF22PH7 z2UuDA84dTm3pDQijD~C84H|b1jqtVzVK_GRk)w>VC{xLVN{(r?nw?6@MZcngBsX`c<(FPss^tz>7f>FOjV$)E>)V^ZH%b6Kj32)QzR$CTz>gA}0xz2LY zsntr_GU<+ug`L(zu|8&|Ld|NCp$@GgD-UOjWp$xmHI{`eB-D}4ru0IQ)=RPqg^XOY zD1`+XaK82{WBwuNm<#=1%-4%6cBd$Lh(92`FHrJz6nq^^?xOF|g0sqdioU*D9v6Kt z0`K*gyzK>V`(m!>eQCk58f+~EdkVpxeDASha1cs|Z&{hcF7p-K@yN{E+t+sQ`D}El zv$XF>Vc(JE6UBYUin|93uHeFJA5A>MyuESF+jPCT=-s<81Q!bUQ?~!>qPK6s!EPR5 zt-=3k+o$ox!=<(Zg|-8?PZZnwi-Cb+!{LQfFeDHx`S%t4`<9Lr{e24_HYBjt)O>yL zQ)ThhV$1$w(}9K4Y^LTl|IX_ppYi!UeMOMh{j z+YNsS{yCT*9L>M;%X~8X5B%Pf^z>0ZzIygizm65VZM!Q7u-E1tW_jsU0)(@9Vpw}Kbd-9YR89Z}J zE3UP(P1ug5ZoPz$%gLlDhB-38b|wRcW95C#YBTN4!Z1c*Z`3DO(W>|8mB?yc=*sDJ zbF(G%!(p4H^S|}omT8V0G4#VuY7<2%6NmXtM5fNO;L$LNO-+obgk9Fub#8V zo`9D^`ElYjM8nwxVUR^_XS5|M8qjEt+(6|?SgA$v%jFQfN+e*J-wJy^Kr%S)do$0O hA3G4|cz}clsO13)K0vMO*0(usnp?#GK^mbM`yW}9nb!aS diff --git a/Nodes/General Purpose/__pycache__/math_operation_node.cpython-312.pyc b/Nodes/General Purpose/__pycache__/math_operation_node.cpython-312.pyc deleted file mode 100644 index 7b71fb81bfa83c70e127533760a89a624adfbd30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4727 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 HOV;rpO{%2x diff --git a/Nodes/__pycache__/__init__.cpython-312.pyc b/Nodes/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index a4bdc8d8c13cd6b1d671acecbeae5bed3714101f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmX@j%ge<81kDy}(?RrO5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!QgyS62`I|XN=+__ zcginHP0YzGj`7P+NiB|vkI&4@EQycTE2zB1VUwGmQks)$SHud`#R$a3AjU^#Mn=XW HW*`dyCn+7t diff --git a/Nodes/__pycache__/array_node.cpython-312.pyc b/Nodes/__pycache__/array_node.cpython-312.pyc deleted file mode 100644 index af5df883ae4e4f208bd9810d48ad16f0595ac451..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2821 zcmb_d?Moa-7@ys}z1urq&L(=NHmR%8m@|4wLui62p@vvVLe91(Ex8z$^=8#Ice~fw zz4($73<$k|rAk`7P)aNWYDl2zKT!H55NJPWz2IfBP-wrTpKP@ygnsDEtb3={(thZ0 zH}lLqFZ0aIZ-39XWo15q+k=s>2EOwE@DrIhjo%Q~_G4idKmeIINH9@`0W9bOkevjO zQ<(dlZ5L%nT_OG%nS>ZiI3*iOM2AYu*4jP0FaaeLJtVJEpG=x@+b)_*E0b4MBM0-NY>ivTol{HGg>lb8tr1U zsx^xTuF3I~BAU8rm^xBItzt9v=~2fNtc6Oyswsw;kVn)+Dj~)dZNMB16=HR#OdJfy zqE6Vs98|4( zw9|lM->7{el3lov#Kk0(O&m=|im2(s;-IX-xB|s%s*D2+#PvQoE~coFXsQVX*{);3 zzLchow#DVXu&RgYu9AkY%Hrv1V)zmZjl&Z8ul<6%PncO?7F4G5a3BpnECJyDhK2zu zUXh3wZD}y%b>!j*nfn|2FxYxW3wDbI-eG%#T+w2H?CEwapbO71cI^gvJQJK5-fg!d z7f0wW#u^17PsCzXZ3A26+7XF8#$LYijC>qpHt5>L%U41^i#Jk91tIcnSb`*}nrcdt z<+dN!^2!k6HH;U_M?{@s$KvV5TRgSG8uIuOd38%L6jRdVgc4#cm!ZV_Ew3cS;<8~# zl0hzAoOsdvW_#~jNFP#SrgREpN{*{WFTuOfTYS)Pauk)4YpamMTdgNxXTO70y@kBI?V#c(wKCh%V9AG8P2#F zY5#Bn-mx9$(>y)_|F0)-r`_mI+WlWouq{{MhEi5kCQ0_ z%%G#++266mS^}$W?doX&(8--Whsd*RYjD%|{Xgu?Or11ecDC3#i(>u~fj@27vd)o< zBXr~SJ;k{reF{F?l=Uds2h2hwv%<0JXBz=3VE|>J0w-Mp)67)$Fc{%3fnf$S3?jfo zqY3UDNQ#u0ScNBh#>4l(9KgGcCS9uFIz78Bk2w zG!Y^%Z~5LO1+Ehz9a-KBqe)vtBuC3FCzFZ>Ee@A8i%aTBi^GM=PJ&QlNI;du&P(Ws z?q`)3_op1SX-@L7N|Lw=X_&T19r37|?NwUzB4ny5!;(#k|%y{$1I~IFxM8XF{L=o& zQbYH&>tp|_59|)kw#>9-FD&h9$awNcPb?hmnjT&bh8Kh3T=4MYcQU0~mq51mT z()Q>p)pc_v^Y1-`OVuYbXY&5)1%G3{qH@+Z<6Ew%U#zH~3*{EmwHub2{#OHznIgoq5n{BO|Lr=^p2gy)S{aQA!?{K~p{VYM6t4oyVz6~T!! z>n<<9?~gz=A4Y_!s6!;gStZ>#gDxZ|2j4aki9j{?fNe$LCA@AQ&earfjGVi UhWP=A>#i^po)&%wc%WW?0oLMtlK=n! diff --git a/Nodes/__pycache__/backdrop_node.cpython-312.pyc b/Nodes/__pycache__/backdrop_node.cpython-312.pyc deleted file mode 100644 index 7423d0738b734648c900f557bc68a312758fbe8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8445 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 diff --git a/Nodes/__pycache__/basic_nodes.cpython-312.pyc b/Nodes/__pycache__/basic_nodes.cpython-312.pyc deleted file mode 100644 index 8b10dfad116bd2ccca988aa17e525123974efb4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3188 zcmcgu&2Jk;6rWjp?OA`NX`8fAlx|83btSCkqaY!Kh-sU0zy(o(WK~)%JKJW%#x}F- z(pW{xArh$sYA>ky6A~pzh#NOf^Z=KNR75Kz4xDl`N)S~~yf!ztWlzoX~MNd!ecI7 ziz#e5CVS)1tMBQJ%iaX^CS9$A)#q8>*usfaULt{OXM2m@kLfnERmbEoP3Yu^(X~iJqH(MX zSf=CKL12F3g)`>3=~Zg=Ffi>32cudK(JDyv<20g!!iVUlk&siT9J*(77y|rle*@x6 zdXI#i!LYq=a*KSCCSTa)3ui8CnB^igwdJWQFv@$M0^)94>2k=;$Fp^ zlCs#);rL+4rU(JlgL=&sA^{6T%(A?S7g|koF&l?=|F%MV(E%6;&VzWg zKz?D_&u5oUK47Oe*qLU67}-0y+qt_pHrU7}%XD-#GH`ofIk~}19Fh7%W^RKYvdZvC z6?@KwBc&{BuFC5^>KV)WxNiHck)&nussr6Q*a~+mp?A%51xBHC`TPZ|H1+lcx$7v~ zI=18bzGbaaA-9Zw=^NqzNEt;b;$Q_Ph)0X$cTLk-Gew4(98Mk2VPi zG1#8>)Co~+h*W<%(x~{CsYtg8EL8;U^;fi4DF9x7&hnXe(2SF*Q|Lp zppaZl;I(h@sMy6L42k3sFB*n|f|b_=ZeBcx0tqG{8xfH~kp+1T1z4_#z@_Ks=d%jSY69O~5XFC0xpFu*qFQroJ9p8rWd3v`N`(rysJD>hd4N zT|SFz?_rWW35sJlV1kfLiUE@{-AqdBrusQLE1oGu~f)GJ_2HRECw@$z9Xk=Mitu*6H9 zuE~5-<(QM$k0*$Xzzr>@>Q{wKH_>5yDcFwV)2_)P<)1Pqmgpuker6*N;H@xhZVn&Y z94<7I#5le~;zkP6N599!$|UBmvu)2eRxY4D-fQpXx2^}rii^2!vYqRaEBrf|{ib_* z9d@>=j?zo? L?#LemTj}pFGA5qW diff --git a/Nodes/__pycache__/blueprint_node.cpython-312.pyc b/Nodes/__pycache__/blueprint_node.cpython-312.pyc deleted file mode 100644 index 6a2ea35c9d0ddbd500903fb0efd002359036bf21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1925 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 KCxXB34*vuDD{TV+ diff --git a/Nodes/__pycache__/flyff_EXP_current.cpython-312.pyc b/Nodes/__pycache__/flyff_EXP_current.cpython-312.pyc deleted file mode 100644 index 7e418f8d39a5e8c5b29219d378c9a1d930b46014..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4646 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 J3z1fr^ItjxTigHu diff --git a/Nodes/__pycache__/flyff_HP_current.cpython-312.pyc b/Nodes/__pycache__/flyff_HP_current.cpython-312.pyc deleted file mode 100644 index e1b1f3965adfd53c16d48a831cb058ca685d6735..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4976 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 Iwi=)R0ZX>Ru>b%7 diff --git a/Nodes/__pycache__/flyff_HP_total.cpython-312.pyc b/Nodes/__pycache__/flyff_HP_total.cpython-312.pyc deleted file mode 100644 index f3fd74eda661b1cbc18bf572b0391281af6c30b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4652 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 JL|R?We*r{ATk!w@ diff --git a/Nodes/__pycache__/flyff_MP_current.cpython-312.pyc b/Nodes/__pycache__/flyff_MP_current.cpython-312.pyc deleted file mode 100644 index b7ecc9fb780270bd1ec53761624e1e369208f00b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4690 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 HtIPQxYocsT diff --git a/Nodes/__pycache__/flyff_MP_total.cpython-312.pyc b/Nodes/__pycache__/flyff_MP_total.cpython-312.pyc deleted file mode 100644 index 14fdfb4db284ef644f5b43fa30cc603402c4ca9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4652 zcma)9U2GFq7QW+|iN}teIFN)8=V$DYAFIU#l0ZmmN`gb63nnE%!J!%ro(VWOwtHt% zV%Mp7sCLbYUBY&&q^hb$>ON#erDfmx7^+sPv@bT8wRg%&NV_k*QD9ey?!%rt&e%?% ztG%}F&)jp)z31L@zH{zh>~<@H^2pW$jKZ#Wo{mCi2}vl3BuX+xs34`c zrl3i0=^za)9bsnKAWI<=8b=cI5t3M$y+s#g1gjDzPnGyOg^=}dBr!eBAD`e)#Z)oE z2V#=U_Z$vKp?@egdm$W^CH{98D;_=tExj({HSGh{_KVLK_qit_ug7Ey%=-+5X zSRawo3wS7v8x<9qoK&cIp2ga{x|(68k9gnl7pl_Y;*E*eej1U0(3FX+Io5x6IY*no$A)B&82&XH;nDwtq(13PumkhtEdKlq}f=nv(CyngO!D1 z(Wo3!Wy#~QYOFFBmoX*^X`CR0qhVDLv>H*81hOW40IS!mWLz{R%_4~Lupq^*M7260 zA}Xpr7FAWAjjLL%fWaUWz^BR>RMEB;X<&^Q7UJL>u&~A{vMNNyS=nRK7-Fd)RS1DF zMGzEn)cn;KuN@vbKY?R2uvK9+hGj7lR?ZVEQqC6*=lDd?|Ge=8t^=Or_RaR@H596c zX=NI!=U34K&Yr7jTVb-CH^=opu0j@jo^xh7=koZXoO5;O_3R<{Ke=c0d--fWRS*pgf4>|OeGNE6iPBJNG+NC zjE>l44$>n|@)d0u|AHxHngKN5To!1x*7zndDf%n^L04`ibHzTG8Gwb&MdBojA$NhT z(8HQyH|n7}4c-)MNL_$E%(NQc%dJ$Ms(=ijX)n(iJ)o#?eV}m}Gv!vYk<*mypVMVp zsisoz1nNNQ7K394!VoFR>6}B?zr2Fx>2v4`1r+WIiZ>R_YNs)t=`wod*0_%a0Jm4} zsy1bYT{%)5oDlPKJ39xFeZl;pIkDbep^W`_>H^8;pO3bW$gu#nnbq*D44{+TIprT4 zJw5&|zuCWs_#>xIP4JVdsLm-6vet{4|cuzO=1V$@a1NkQ`Sb)!-q7zr5|F&3X!pA^CzBx;$j{)C0hS zu9(0SCZ>;x&1)Q%-nVglPmR@~RAXk8SX8s>!D5U+tY!@>;V4i> zL$byIWU9D{$fBX6*$C{$aSRY&O=xx%i&1430H5SI0Ops(s1%WPIM?A?vy{}(EI?e` zuV#e=W>!=Mc|PQ^VB&R}Ei{L*990FP2HCd~k3|(36Eo8oUA!eKUlEG2&0gvXWLK1| znbZpkxdh%Qm^hnehrNbm2nu=>O15o2NbiRE9l)YQ!FT}Uw>g&*HxnO!khT@7Yi}I* z^?~Kos+9Nov+!^Cuc`U*sqFaF-S(-1ZOcQ~P94%8Gwl}lgKh0gshg?Hj)UL3a@&rj zj})5S`DSmn*_-~w16y6Deq`;nwbsm*6FJ+&!`kNM(A`?sV-sE1R&aKF;rrD0*_(Hr zy{i`%{m(d5-?l9M!JpgeDL7jf{SRGTi_Gt93Xb|E`%QbM?O@I^^00;f;>f2*R)V)1 z?zQY&v^;P$WSV?mhrgc6G#<@4-ufrsv2ygwnngQsdQIy>tlD;;a>6G zckG5}Ro9SrbY&e~s|~9ktj=bJ-_CTO%sD0tuFgf~lbYwxI#HAR38Kh8TYu+&OhfOd zXFbTV{RyH$>$>KAU1zqg^IlzddbD73Pq`>1g-^sdTa*P7s??x_d8X4{e$R^uioE{zNs4-gu%Dg7E*Ut`v>T6_n1h(pCbJM zn)C-PV?O#jYR}jp{oNo7{ZJ_?fjp8n>G9GJ_qjx38Uck(#lWcgG zc}huJnbeSg$N%@dAHCa$&;p&JUzJK4QXp=XqG^heOh#N$sOvn$zE{Sd6uf!L5tc&N z2N*~M$q!Jw6l($3og1PPlVSjYSv^KoAh3?P?1$|2vw*$OR$y*bK!+~PhUJhPeqYv| z9#Gby#O82F7Rbv%Psx%UQ)4Gjo;dj~uLBBipo9wV8lJc^ug3VKX^8i5ntA~8fjfc?cI%ahAvnJw;|t)tN0m-gpuJ2qte zxCO+)a|)hNfeo3tWV#t&IJ#3vjFe8kRTKfo=CvGP-)dCV4veyj9+?N z#pI}UhCiYrvmT`Ecd4Mt2+KQd;DdAbErwjWUK56JO%#6M$>Q7&-6`m!R&4Ye#lO$C2f~I1(Bwwk%mbSeEJ{PFNL-6=x+;UUHe) zWhD|z!w8I4MI1y)5m-SQL_L*;1H>s>z&#YrF+eY5B}2+WK?~Fu-JIAh(x8XF8FER< zKZ%MSy1>49JM-r4o4;?q_vdgpfZ+N4&we}g?^=ZZ&OV&SQ&#SefN~uX6h%ZJE=`CE zP`Wi&!X0%BtWMO#geU6Zx<~USd{JKlN3noh=nNv>tBCki_f2=nU(}y*MX+*2KqxSz zWhN)3foX**F;k_|1yeE8hBTrRRq7g1XQfwEYQ*(qq%R;nFAXb(l+>koGL<%sgL>Lz zWjAXXpsHf3hNL8=^8-JWs5%9mz)&KJsmL*1)6|%$Q*Jw|(zs6IF-6ld(iBxD42deU zlBv#_(j?Urk~yuIWfupeltK+~95b9p1gV2@NDA82d~-M`Yg&nMXVNq_{mVHYA{QnL-aT2e>qH`|dN7Lxr= zWM-42%``h&wS*XVRKFaJG>}HpM4CTtxmkt^n4zklR>!VdR@VhQwpZ&NjkG$mDxeIC zw2j!FK}vO+?K_`@!>T7$=?RE2;2d#&G^IE|fu`xRD(TKjr_(77j=QNovcEXcbpOb9 zO{Z+v@MzXIJlZGq9PEK3C9=b4yAsfF4jRst8f@1jR187IP`Sdb&ZTTO9Pz9V1oYl( z*FC(;H@<}dZm=V^@jE8o01**wVa^sZwlHf8)08blq{j9b>6A(-+p0E}<#;k~$}(lM zYwv#8YZcaHbuMn024#EC#xWW<8M@j2!MT{4G64zg8if#>h}QuOr_71p+sEhFI%UqYjp)2vq6=A}EzyOx8J%}ibdT@zXmq}9MCaQQ zUDyh5i7vd&=+(WQ6k(mR6>JDkp@D zNODG|#gmMAIh`Xe%JwK1Q_f!8VAz|j?;0o1MaGT&2jS&9x7uJQc7t`w*0S2J{=V^U zX4xOvV8?TVfQVo_V8BIX^54NtVA43;ESj3MT~xKbhN{rmwC#>3P1`d?^>oViOlrDf zM(Su6^tUmvSdQ_wpxK_1m%wyNj-@G8p%Vt()J?b;0*OtvpqFbWH`Rh(s`bPDCUf%1 z9V8SJg22$Jtbt)kG4faMI#NWw)=_T|5*D2;L3OdX7&oY zhtb~WS38dvJCCn)_Ab|*DR%ZQzJ7b`PZ$4i@sF=9)L(CTr{%r2LTB&1r%-ohZPznJ zymLOVF#K4pv1Q(WH&`>DezR|}{>}coEp68`?_>(QkKIb&9{Y4|x#i{g;V)`i)}NM^ zT7T2=>yBH(^6taSPajzbthaY8&V6+G{mXe}c~{SJ`=JF4Sl{~8|F?fz`$zuw{e?Y8 zZ>hIWemcF}+CP8xi`v%p=Jv(2ADw^yeE#I}&hF*rgA4AphUUfkcaJaaUL0U*!@Ipp z1Box2wNf2(a{ ztcmUM`|R2R&R)5^X39VhZIuUDAv;G8Jr$T1puKX9RE;dbu^5NeoC~fixTbP&LFKSn zVYo9q(XIAkn&q9uPX2+Kqm26SaK1!<@x}z3+n^)q3B#!PqYWVZ;9OAvn_ic z!IqcX`?h5dd4h$(KKP-#8cQY=31^iGVhsQnR*3}6vYPl#WO#NtrRfujCYkXBWZ#h7 zX7n_b5(;Qas>GUEBHcAn=5oN)BAbxVM_+LYv$lnU zlx0v^koCA12I&lqIaCFY#n z_hgjXY$5#^vRP6Z05&-?84+qa($mBcIPLAAPlm z56z47Wa0E;=aRTY@`H>fHm%}4MZ9P2sgAYQom*r>>sPh7Gw=XmfAC&2XR>WY+yRkYzg{%L$#N zHKvDT`SrA-m0N0nx)Zp6;*)WeLaTq|{OLh?> zwojIc9)oP^81%D)=OLyuR7p*bnUvv^T|1f?GmmwTnHS>(wp}@!@}1+OGWeF`o09vx zfl9vleTIKf8u|$u14k@gV;_inZb1;f5`BVre+Lo*Un1#C^z2_z&jWE>5RNR){R6R* G`}q$jc){`j diff --git a/Nodes/__pycache__/flyff_low_health_alert_node.cpython-312.pyc b/Nodes/__pycache__/flyff_low_health_alert_node.cpython-312.pyc deleted file mode 100644 index be1aa9af979b6f2d24e5daac3472ecbe5bc4a6e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8931 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 diff --git a/Nodes/__pycache__/widget_node.cpython-312.pyc b/Nodes/__pycache__/widget_node.cpython-312.pyc deleted file mode 100644 index 4f511ec0b68cf5338e944c7697b85f05393eb5bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5574 zcmeI0Uu+b|8Ng@vcJJ1{KhR+O?})PJq{3^034}N#212n7i2`Q`sDG|htM%<-4$ixm z**#*PjN}KTI1*8)(iT5PeX?a9sy?AU^|4Z4e6`(kR>@PI`bK41p+5EdW_Ryy?Sr}s zB2tvGnEQ6VZ)az|Z{|1O@YiIroj}?A{Ew3dQiObi4?z)qVbcNO9?^-;70DEr<2aQ0 zB0m+$ML5EfvqX>FCc0p7%MtILoWNQ|XpJ_timWvTtx{8Kl(n`&YkN~`Y$mQG{(;>o zoGYEyY$I#w2FTHi&WJ^gy!R!q=KY7wqab_?gEdHw(@Bokxm-l&bHY5i%E2I|oTx{2 z;Wn3x>M*!mY@SSWIq4EnVs2u@nwqdqThsWRO4mf$G-nPLwTZ!kHJC@0YN8?;n8|3D z=bDBQ1sNT%xd7E~xqAd1=M^UyA((Y_B^g2XBEI7uLtwdeXE|&~SasIBPss*#)sH)qp>AGrpUrM3ud2z}x%Wg-BT6x2^ z)sG7Lq~WN>O~Z7ScvpZCU3J@3HDA;~tJ>%{dG0^`XWqVYfm+vLwCZVyzE&*QS1ICamTyEIBE@GZ1|Hm!Kp%n2z{}2zn{=pV+Ed_UU2`-gLVpBSuE>1oro5OM zx_VP9mJJ&}Bg-<~1HW_^RFzD~IjsT#Bp|j7)g0OAd9l_rQ0*C59A52tb3VoV&|8&y z7f!BA1GEE-LY_cqFi&iNup>|K^k=htD{lm=mY#XKew6&`2qCv3vytlovf$f633|CD zIQ4xtE9m^PA3vMBBhL!gTkNn|AjW+mu;a*`qXL;>e@kMP;_Ge#IAj!V8Y~bL*B5My z-L_Sxc|$E()KN`s%2*QJsJ{<(4lSJ*K);!X3gX<^d+)}tZ+wyY+?7ljsv5mfiwZ0S8z7v1%d*^OyBXg*hIaN=K|$M=9UmQ2vp+dM#&$Sc$rR`3CVg1sjbc$%mpF>EvT^^N@)kW} ziLpsQ1$y}LZL+ah^0M439`|J>rM4}QULf3_L-+aZU5V~~5+xF3R!X(v=Z)M*dMZUXj!K>-=)i&j7nO}-V- ze+=COK<`S|y85eK{fqlnyN2cy4WJ)im-@HQwZ7WE&p@a9(DArj=qu=|mK+UvImA%~ zUt|@Yhjaj|16aYi6haYO;8>+mQAg2{tte8OQH1u-9z`S9jQout+wBdZD37WMYdT1H zear16swcd^gCRa266xao=rV#F%8t_ASk_~a6wIoUylhQQ77ahob)#dZHc>RrC_Fs| zokB9}XpRve=_E8YAt}M~Sl>TS1yZwr>lrBS@113!Jyoe^Vc-kv!MlGMTakL!qz}F$ zB%MMBY(r9#c@vPtoYjg+q4~FB(sA^K3>73F-TP|YO0`>A99ZpsV?Nnn(us9R`GHAK zW>Uz@Ats#y&+dpxY=vXRU{z<*;jK&>Xl4@HKYJ#frB=Drnn{zWYA`9VdR`#k--;v_wgxkVL5LB_-x%TbR5wp{)(k#ti6NsKL7;eL}Xy zzTpR|4!860f;|q^|H!sJOMQ~M`_YR0+M0Bj?R0kAKDT)Afw}U_36_85za!Yak8|Dz zyEya8lkd|ZZ?r<)W%P^;6}xBEI`>yQ_b(<^JKva(H&8dcF75vTbx%fJ$jc$r{T!pV zlk|(Nc&y%oe~t93fjSXxf+=3?Z$=&3XBEkfkHdZREY(WaE;h*dv0!j|QLiw3k`_ Ki{LN&$bSLshFHM> diff --git a/Start_Linux.sh b/Start_Linux.sh new file mode 100644 index 0000000..e4265b3 --- /dev/null +++ b/Start_Linux.sh @@ -0,0 +1,112 @@ +#!/bin/bash +# +# Start_Linux.sh +# ----------------------------------------------- +# Bootstrap Borealis Virtual Python Environment +# Usage: chmod +x Start_Linux.sh && ./Start_Linux.sh +# + +: ' +--------------------------------------------------- +SECTION 1: Script Initialization & Path Definitions +--------------------------------------------------- +This section defines all necessary paths and variables to be used +throughout the script, ensuring clarity and maintainability. +' + +# Define paths +venvPath="Borealis-Workflow-Automation-Tool" +dataSource="Data" +dataDestination="$venvPath/Borealis" + + +: ' +--------------------------------------------------- +SECTION 2: Virtual Environment Creation +--------------------------------------------------- +In this section, we check if the virtual environment already exists +by verifying the presence of the "activate" script. If it doesn’t +exist, we create it. +' + +if [ ! -f "$venvPath/bin/activate" ]; then + echo "Creating virtual environment '$venvPath'..." + python3 -m venv "$venvPath" +else + echo "Virtual environment '$venvPath' already exists." +fi + + +: ' +--------------------------------------------------- +SECTION 3: Copy Data Folder +--------------------------------------------------- +If the "Data" folder is present, we remove any previously copied data +in the virtual environment’s "Borealis" directory, create a new +"Borealis" folder, and then copy the "Data" folder into it. +' + +if [ -d "$dataSource" ]; then + echo "Copying Data folder into virtual environment..." + + # Remove old data if it exists + if [ -d "$dataDestination" ]; then + rm -rf "$dataDestination" + fi + + # Create the Borealis directory inside the virtual environment + mkdir -p "$dataDestination" + + # Copy Data into the virtual environment under Borealis + cp -r "$dataSource/"* "$dataDestination/" +else + echo "Warning: Data folder not found, skipping copy." +fi + + +: ' +--------------------------------------------------- +SECTION 4: Activate Environment & Install Dependencies +--------------------------------------------------- +This section activates the newly created (or existing) virtual +environment and installs required dependencies based on the +"requirements.txt" file if it exists. +' + +echo "Activating virtual environment..." +source "$venvPath/bin/activate" + +if [ -f "requirements.txt" ]; then + echo "Installing dependencies..." + pip install -r requirements.txt +else + echo "No requirements.txt found, skipping installation." +fi + + +: ' +--------------------------------------------------- +SECTION 5: Run Main Script +--------------------------------------------------- +Run the main Python script from within the copied Data folder +inside the virtual environment. +' + +if [ -f "$dataDestination/borealis.py" ]; then + echo "Starting Borealis Workflow Automation Tool..." + python "$dataDestination/borealis.py" +else + echo "borealis.py not found in $dataDestination. Skipping execution." +fi + + +: ' +--------------------------------------------------- +SECTION 6: Deactivate Environment +--------------------------------------------------- +After the main script completes execution, the virtual environment +is deactivated. +' + +echo "Deactivating virtual environment..." +deactivate diff --git a/Start_Windows.ps1 b/Start_Windows.ps1 new file mode 100644 index 0000000..e55582f --- /dev/null +++ b/Start_Windows.ps1 @@ -0,0 +1,50 @@ +# Bootstrap Borealis Virtual Python Environment +# Run Script: "Set-ExecutionPolicy Unrestricted -Scope Process .\Start_Windows.ps1" + +# Define paths +$venvPath = "Borealis-Workflow-Automation-Tool" +$dataSource = "Data" +$dataDestination = "$venvPath\Borealis" + +# Check if virtual environment exists +if (!(Test-Path "$venvPath\Scripts\Activate")) { + Write-Output "Creating virtual environment '$venvPath'..." + python -m venv $venvPath +} + +# Ensure the Data folder exists before copying +if (Test-Path $dataSource) { + Write-Output "Copying Data folder into virtual environment..." + + # Remove old data if it exists + if (Test-Path $dataDestination) { + Remove-Item -Recurse -Force $dataDestination + } + + # Create the Borealis directory inside the virtual environment + New-Item -Path $dataDestination -ItemType Directory -Force | Out-Null + + # Copy Data into the virtual environment under Borealis + Copy-Item -Path "$dataSource\*" -Destination $dataDestination -Recurse +} else { + Write-Output "Warning: Data folder not found, skipping copy." +} + +# Activate virtual environment +Write-Output "Activating virtual environment..." +. "$venvPath\Scripts\Activate" + +# Install dependencies +if (Test-Path "requirements.txt") { + Write-Output "Installing dependencies..." + pip install -r requirements.txt +} else { + Write-Output "No requirements.txt found, skipping installation." +} + +# Run the main script from inside the copied Data folder +Write-Output "Starting Borealis Workflow Automation Tool..." +python "$dataDestination\borealis.py" + +# Deactivate after execution +deactivate \ No newline at end of file diff --git a/__pycache__/borealis_graph_style.cpython-312.pyc b/__pycache__/borealis_graph_style.cpython-312.pyc deleted file mode 100644 index 19eece1b5c379afcc6a3ab2dc53e478f142485d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1793 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 F{Rgd#CcOXv diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..f0b52a9 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,21 @@ +# PyTorch and related deep learning libraries (GPU Supported Functionality) +torch --index-url https://download.pytorch.org/whl/cu121 +torchvision --index-url https://download.pytorch.org/whl/cu121 +torchaudio --index-url https://download.pytorch.org/whl/cu121 + +# Flask for API handling +Flask +requests + +# GUI-related dependencies (Qt for GUI components) +Qt.py +qtpy +OdenGraphQt +PyQt5 + +# Computer Vision & OCR dependencies +numpy # Numerical operations +opencv-python # Computer vision processing +pytesseract # OCR engine +easyocr # Deep-learning-based OCR +Pillow # Image processing \ No newline at end of file