diff --git a/add_curve_sapling/presets/callistemon.py b/add_curve_sapling/presets/callistemon.py
index 6a70ab49e0bee4e5c2122c258b661fe32b62b686..7b0ea8e321ef3d7ba117b90b4b23992117335359 100644
--- a/add_curve_sapling/presets/callistemon.py
+++ b/add_curve_sapling/presets/callistemon.py
@@ -1 +1 @@
-{'handleType': '0', 'rotate': (99.5, 137.5, 137.5, 137.5), 'baseSize_s': 0.1600000560283661, 'af2': 1.0, 'pruneRatio': 0.75, 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'pruneWidthPeak': 0.5, 'boneStep': (1, 1, 1, 1), 'nrings': 0, 'leafScale': 0.4000000059604645, 'makeMesh': False, 'baseSize': 0.30000001192092896, 'lengthV': (0.0, 0.10000000149011612, 0.0, 0.0), 'shapeS': '10', 'pruneBase': 0.11999999731779099, 'af3': 4.0, 'loopFrames': 0, 'horzLeaves': True, 'curveRes': (8, 5, 3, 1), 'minRadius': 0.001500000013038516, 'leafDist': '6', 'rotateV': (15.0, 0.0, 0.0, 0.0), 'bevel': True, 'curveBack': (0.0, 0.0, 0.0, 0.0), 'leafScaleV': 0.15000000596046448, 'prunePowerHigh': 0.5, 'rootFlare': 1.0, 'prune': False, 'branches': (0, 55, 10, 1), 'taperCrown': 0.5, 'useArm': False, 'splitBias': 0.5499999523162842, 'segSplits': (0.10000000149011612, 0.5, 0.20000000298023224, 0.0), 'resU': 4, 'useParentAngle': True, 'ratio': 0.014999999664723873, 'taper': (1.0, 1.0, 1.0, 1.0), 'length': (0.800000011920929, 0.6000000238418579, 0.5, 0.10000000149011612), 'scale0': 1.0, 'scaleV': 2.0, 'leafRotate': 137.5, 'shape': '7', 'scaleV0': 0.10000000149011612, 'leaves': 150, 'scale': 5.0, 'leafShape': 'hex', 'prunePowerLow': 0.0010000000474974513, 'splitAngle': (18.0, 18.0, 22.0, 0.0), 'seed': 0, 'showLeaves': True, 'downAngle': (0.0, 26.209999084472656, 52.55999755859375, 30.0), 'leafDownAngle': 30.0, 'autoTaper': True, 'rMode': 'rotate', 'leafScaleX': 0.20000000298023224, 'leafScaleT': 0.10000000149011612, 'gust': 1.0, 'armAnim': False, 'wind': 1.0, 'leafRotateV': 15.0, 'baseSplits': 3, 'attractOut': (0.0, 0.800000011920929, 0.0, 0.0), 'armLevels': 2, 'leafAnim': False, 'ratioPower': 1.2000000476837158, 'splitHeight': 0.20000000298023224, 'splitByLen': True, 'af1': 1.0, 'branchDist': 1.5, 'closeTip': False, 'previewArm': False, 'attractUp': (3.5, -1.899843692779541, 0.0, 0.0), 'bevelRes': 1, 'pruneWidth': 0.3400000035762787, 'gustF': 0.07500000298023224, 'leafangle': -12.0, 'curveV': (20.0, 50.0, 75.0, 0.0), 'useOldDownAngle': True, 'leafDownAngleV': -10.0, 'frameRate': 1.0, 'splitAngleV': (5.0, 5.0, 5.0, 0.0), 'levels': 2, 'downAngleV': (0.0, 10.0, 10.0, 10.0), 'customShape': (0.5, 1.0, 0.30000001192092896, 0.5), 'curve': (0.0, -15.0, 0.0, 0.0)}
\ No newline at end of file
+{'handleType': '0', 'rotate': (99.5, 137.5, 137.5, 137.5), 'baseSize_s': 0.1600000560283661, 'af2': 1.0, 'pruneRatio': 0.75, 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'pruneWidthPeak': 0.5, 'boneStep': (1, 1, 1, 1), 'nrings': 0, 'leafScale': 0.4000000059604645, 'makeMesh': False, 'baseSize': 0.30000001192092896, 'lengthV': (0.0, 0.10000000149011612, 0.0, 0.0), 'shapeS': '10', 'pruneBase': 0.11999999731779099, 'af3': 4.0, 'loopFrames': 0, 'horzLeaves': True, 'curveRes': (8, 5, 3, 1), 'minRadius': 0.001500000013038516, 'leafDist': '6', 'rotateV': (15.0, 0.0, 0.0, 0.0), 'bevel': True, 'curveBack': (0.0, 0.0, 0.0, 0.0), 'leafScaleV': 0.15000000596046448, 'prunePowerHigh': 0.5, 'rootFlare': 1.0, 'prune': False, 'branches': (0, 55, 10, 1), 'taperCrown': 0.5, 'useArm': False, 'splitBias': 0.5499999523162842, 'segSplits': (0.10000000149011612, 0.5, 0.20000000298023224, 0.0), 'resU': 4, 'useParentAngle': True, 'ratio': 0.014999999664723873, 'taper': (1.0, 1.0, 1.0, 1.0), 'length': (0.800000011920929, 0.6000000238418579, 0.5, 0.10000000149011612), 'scale0': 1.0, 'scaleV': 2.0, 'leafRotate': 137.5, 'shape': '7', 'scaleV0': 0.10000000149011612, 'leaves': 150, 'scale': 5.0, 'leafShape': 'hex', 'prunePowerLow': 0.0010000000474974513, 'splitAngle': (18.0, 18.0, 22.0, 0.0), 'seed': 0, 'showLeaves': True, 'downAngle': (0.0, 26.209999084472656, 52.55999755859375, 30.0), 'leafDownAngle': 30.0, 'autoTaper': True, 'rMode': 'rotate', 'leafScaleX': 0.20000000298023224, 'leafScaleT': 0.10000000149011612, 'gust': 1.0, 'armAnim': False, 'wind': 1.0, 'leafRotateV': 15.0, 'baseSplits': 3, 'attractOut': (0.0, 0.800000011920929, 0.0, 0.0), 'armLevels': 2, 'leafAnim': False, 'ratioPower': 1.2000000476837158, 'splitHeight': 0.20000000298023224, 'splitByLen': True, 'af1': 1.0, 'branchDist': 1.5, 'closeTip': False, 'previewArm': False, 'attractUp': (3.5, -1.899843692779541, 0.0, 0.0), 'bevelRes': 1, 'pruneWidth': 0.3400000035762787, 'gustF': 0.07500000298023224, 'leafangle': -12.0, 'curveV': (20.0, 50.0, 75.0, 0.0), 'useOldDownAngle': True, 'leafDownAngleV': -10.0, 'frameRate': 1.0, 'splitAngleV': (5.0, 5.0, 5.0, 0.0), 'levels': 2, 'downAngleV': (0.0, 10.0, 10.0, 10.0), 'customShape': (0.5, 1.0, 0.30000001192092896, 0.5), 'curve': (0.0, -15.0, 0.0, 0.0)}
diff --git a/add_curve_sapling/presets/douglas_fir.py b/add_curve_sapling/presets/douglas_fir.py
index 0b61d453d197fb4cbe52852d31ea30477ca7f5af..c9f016326016d7a521ced3f501c6a77a977ec498 100644
--- a/add_curve_sapling/presets/douglas_fir.py
+++ b/add_curve_sapling/presets/douglas_fir.py
@@ -1 +1 @@
-{'pruneRatio': 1.0, 'wind': 1.0, 'prune': False, 'splitByLen': True, 'attractUp': (0.0, 0.3499999940395355, 0.25, 0.15000000596046448), 'segSplits': (0.0, 0.3499999940395355, 0.6000000238418579, 0.0), 'rMode': 'rotate', 'rotate': (99.5, 137.5, -45.0, -60.0), 'curve': (0.0, 20.0, -10.0, 0.0), 'af2': 1.0, 'seed': 0, 'length': (1.0, 0.20000000298023224, 0.550000011920929, 0.44999998807907104), 'attractOut': (0.0, 0.0, 0.0, 0.0), 'leafScaleT': 0.0, 'scaleV': 15.0, 'splitHeight': 0.20000000298023224, 'minRadius': 0.0020000000949949026, 'leafRotate': 137.5, 'curveRes': (12, 4, 3, 2), 'curveV': (40.0, 30.0, 15.0, 10.0), 'nrings': 0, 'levels': 4, 'frameRate': 1.0, 'ratioPower': 1.2000000476837158, 'leafDownAngle': 45.0, 'armLevels': 2, 'branches': (0, 75, 16, 10), 'splitAngleV': (0.0, 0.0, 0.0, 0.0), 'shape': '8', 'rotateV': (15.0, 0.0, 15.0, 45.0), 'loopFrames': 0, 'curveBack': (0.0, 0.0, 0.0, 0.0), 'taperCrown': 0.0, 'prunePowerLow': 0.0010000000474974513, 'handleType': '0', 'af3': 4.0, 'useParentAngle': True, 'customShape': (0.5, 1.0, 0.3499999940395355, 0.10000000149011612), 'scale0': 1.0, 'rootFlare': 1.2999999523162842, 'leafScaleV': 0.0, 'leafScale': 0.17000000178813934, 'leafangle': 0.0, 'scaleV0': 0.10000000149011612, 'downAngleV': (0.0, 30.0, 10.0, 10.0), 'af1': 1.0, 'autoTaper': True, 'scale': 35.0, 'gustF': 0.07500000298023224, 'ratio': 0.014999999664723873, 'leafScaleX': 1.0, 'shapeS': '7', 'bevelRes': 1, 'bevel': True, 'leaves': 25, 'splitAngle': (0.0, 12.0, 18.0, 0.0), 'downAngle': (90.0, 130.0, 45.0, 45.0), 'previewArm': False, 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'showLeaves': False, 'leafAnim': False, 'baseSize': 0.33000001311302185, 'gust': 1.0, 'horzLeaves': True, 'baseSize_s': 0.5, 'leafDownAngleV': 10.0, 'makeMesh': False, 'leafDist': '6', 'armAnim': False, 'baseSplits': 0, 'lengthV': (0.0, 0.10000000149011612, 0.25, 0.25), 'branchDist': 1.850000023841858, 'useArm': False, 'useOldDownAngle': False, 'taper': (1.0, 1.0, 1.0, 1.0), 'pruneBase': 0.30000001192092896, 'splitBias': 0.0, 'boneStep': (1, 1, 1, 1), 'leafShape': 'hex', 'resU': 4, 'prunePowerHigh': 0.5, 'closeTip': True, 'pruneWidth': 0.4000000059604645, 'leafRotateV': 0.0, 'pruneWidthPeak': 0.6000000238418579}
\ No newline at end of file
+{'pruneRatio': 1.0, 'wind': 1.0, 'prune': False, 'splitByLen': True, 'attractUp': (0.0, 0.3499999940395355, 0.25, 0.15000000596046448), 'segSplits': (0.0, 0.3499999940395355, 0.6000000238418579, 0.0), 'rMode': 'rotate', 'rotate': (99.5, 137.5, -45.0, -60.0), 'curve': (0.0, 20.0, -10.0, 0.0), 'af2': 1.0, 'seed': 0, 'length': (1.0, 0.20000000298023224, 0.550000011920929, 0.44999998807907104), 'attractOut': (0.0, 0.0, 0.0, 0.0), 'leafScaleT': 0.0, 'scaleV': 15.0, 'splitHeight': 0.20000000298023224, 'minRadius': 0.0020000000949949026, 'leafRotate': 137.5, 'curveRes': (12, 4, 3, 2), 'curveV': (40.0, 30.0, 15.0, 10.0), 'nrings': 0, 'levels': 4, 'frameRate': 1.0, 'ratioPower': 1.2000000476837158, 'leafDownAngle': 45.0, 'armLevels': 2, 'branches': (0, 75, 16, 10), 'splitAngleV': (0.0, 0.0, 0.0, 0.0), 'shape': '8', 'rotateV': (15.0, 0.0, 15.0, 45.0), 'loopFrames': 0, 'curveBack': (0.0, 0.0, 0.0, 0.0), 'taperCrown': 0.0, 'prunePowerLow': 0.0010000000474974513, 'handleType': '0', 'af3': 4.0, 'useParentAngle': True, 'customShape': (0.5, 1.0, 0.3499999940395355, 0.10000000149011612), 'scale0': 1.0, 'rootFlare': 1.2999999523162842, 'leafScaleV': 0.0, 'leafScale': 0.17000000178813934, 'leafangle': 0.0, 'scaleV0': 0.10000000149011612, 'downAngleV': (0.0, 30.0, 10.0, 10.0), 'af1': 1.0, 'autoTaper': True, 'scale': 35.0, 'gustF': 0.07500000298023224, 'ratio': 0.014999999664723873, 'leafScaleX': 1.0, 'shapeS': '7', 'bevelRes': 1, 'bevel': True, 'leaves': 25, 'splitAngle': (0.0, 12.0, 18.0, 0.0), 'downAngle': (90.0, 130.0, 45.0, 45.0), 'previewArm': False, 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'showLeaves': False, 'leafAnim': False, 'baseSize': 0.33000001311302185, 'gust': 1.0, 'horzLeaves': True, 'baseSize_s': 0.5, 'leafDownAngleV': 10.0, 'makeMesh': False, 'leafDist': '6', 'armAnim': False, 'baseSplits': 0, 'lengthV': (0.0, 0.10000000149011612, 0.25, 0.25), 'branchDist': 1.850000023841858, 'useArm': False, 'useOldDownAngle': False, 'taper': (1.0, 1.0, 1.0, 1.0), 'pruneBase': 0.30000001192092896, 'splitBias': 0.0, 'boneStep': (1, 1, 1, 1), 'leafShape': 'hex', 'resU': 4, 'prunePowerHigh': 0.5, 'closeTip': True, 'pruneWidth': 0.4000000059604645, 'leafRotateV': 0.0, 'pruneWidthPeak': 0.6000000238418579}
diff --git a/add_curve_sapling/presets/japanese_maple.py b/add_curve_sapling/presets/japanese_maple.py
index 4ce720597fdb62dfff722e3c7d80c43be3dfe355..af2c1413daa525e6ade564c342dc8c047d497edb 100644
--- a/add_curve_sapling/presets/japanese_maple.py
+++ b/add_curve_sapling/presets/japanese_maple.py
@@ -1 +1 @@
-{'leafScaleT': -0.5, 'shapeS': '10', 'scaleV': 2.0, 'resU': 4, 'boneStep': (1, 1, 1, 1), 'af3': 4.0, 'baseSize': 0.4000000059604645, 'prunePowerLow': 0.0010000000474974513, 'leafRotateV': 0.0, 'rootFlare': 1.0, 'customShape': (0.699999988079071, 1.0, 0.20000000298023224, 0.800000011920929), 'attractOut': (0.0, 0.75, 0.25, 0.0), 'useArm': False, 'branches': (0, 50, 10, 16), 'leafDownAngle': 45.0, 'length': (1.0, 0.30000001192092896, 0.5, 0.20000000298023224), 'segSplits': (0.25, 0.4000000059604645, 0.5, 0.0), 'makeMesh': False, 'curveV': (400.0, 150.0, 100.0, 0.0), 'curveBack': (0.0, 0.0, 0.0, 0.0), 'af1': 1.0, 'closeTip': False, 'frameRate': 1.0, 'leafangle': -10.0, 'af2': 1.0, 'rMode': 'rotate', 'leafScaleV': 0.0, 'rotateV': (15.0, 0.0, 0.0, 0.0), 'useParentAngle': False, 'taperCrown': 0.0, 'minRadius': 0.001500000013038516, 'splitAngleV': (5.0, 5.0, 0.0, 0.0), 'scaleV0': 0.10000000149011612, 'bevel': True, 'leafDownAngleV': 10.0, 'previewArm': False, 'showLeaves': True, 'ratioPower': 1.25, 'handleType': '0', 'branchDist': 1.0, 'leafScaleX': 0.20000000298023224, 'prune': False, 'splitHeight': 0.30000001192092896, 'baseSplits': 2, 'baseSize_s': 0.25, 'downAngle': (90.0, 90.0, 30.0, 30.0), 'bevelRes': 1, 'leafAnim': False, 'loopFrames': 0, 'lengthV': (0.0, 0.0, 0.0, 0.0), 'gust': 1.0, 'downAngleV': (0.0, 90.0, 15.0, 10.0), 'leafRotate': 137.5, 'wind': 1.0, 'leaves': -5, 'curve': (0.0, -20.0, -20.0, 0.0), 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'pruneRatio': 1.0, 'pruneBase': 0.30000001192092896, 'armAnim': False, 'splitBias': 0.0, 'rotate': (99.5, 137.5, 137.5, 137.5), 'armLevels': 2, 'scale': 6.0, 'prunePowerHigh': 0.5, 'nrings': 0, 'splitByLen': True, 'leafShape': 'hex', 'splitAngle': (15.0, 20.0, 25.0, 0.0), 'ratio': 0.019999999552965164, 'scale0': 1.0, 'autoTaper': True, 'pruneWidth': 0.4000000059604645, 'leafScale': 0.17000000178813934, 'seed': 0, 'curveRes': (16, 5, 3, 1), 'horzLeaves': True, 'useOldDownAngle': False, 'levels': 4, 'pruneWidthPeak': 0.6000000238418579, 'attractUp': (0.0, -0.3499999940395355, -0.20000000298023224, 0.0), 'taper': (1.0, 1.0, 1.0, 1.0), 'leafDist': '6', 'gustF': 0.07500000298023224, 'shape': '8'}
\ No newline at end of file
+{'leafScaleT': -0.5, 'shapeS': '10', 'scaleV': 2.0, 'resU': 4, 'boneStep': (1, 1, 1, 1), 'af3': 4.0, 'baseSize': 0.4000000059604645, 'prunePowerLow': 0.0010000000474974513, 'leafRotateV': 0.0, 'rootFlare': 1.0, 'customShape': (0.699999988079071, 1.0, 0.20000000298023224, 0.800000011920929), 'attractOut': (0.0, 0.75, 0.25, 0.0), 'useArm': False, 'branches': (0, 50, 10, 16), 'leafDownAngle': 45.0, 'length': (1.0, 0.30000001192092896, 0.5, 0.20000000298023224), 'segSplits': (0.25, 0.4000000059604645, 0.5, 0.0), 'makeMesh': False, 'curveV': (400.0, 150.0, 100.0, 0.0), 'curveBack': (0.0, 0.0, 0.0, 0.0), 'af1': 1.0, 'closeTip': False, 'frameRate': 1.0, 'leafangle': -10.0, 'af2': 1.0, 'rMode': 'rotate', 'leafScaleV': 0.0, 'rotateV': (15.0, 0.0, 0.0, 0.0), 'useParentAngle': False, 'taperCrown': 0.0, 'minRadius': 0.001500000013038516, 'splitAngleV': (5.0, 5.0, 0.0, 0.0), 'scaleV0': 0.10000000149011612, 'bevel': True, 'leafDownAngleV': 10.0, 'previewArm': False, 'showLeaves': True, 'ratioPower': 1.25, 'handleType': '0', 'branchDist': 1.0, 'leafScaleX': 0.20000000298023224, 'prune': False, 'splitHeight': 0.30000001192092896, 'baseSplits': 2, 'baseSize_s': 0.25, 'downAngle': (90.0, 90.0, 30.0, 30.0), 'bevelRes': 1, 'leafAnim': False, 'loopFrames': 0, 'lengthV': (0.0, 0.0, 0.0, 0.0), 'gust': 1.0, 'downAngleV': (0.0, 90.0, 15.0, 10.0), 'leafRotate': 137.5, 'wind': 1.0, 'leaves': -5, 'curve': (0.0, -20.0, -20.0, 0.0), 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'pruneRatio': 1.0, 'pruneBase': 0.30000001192092896, 'armAnim': False, 'splitBias': 0.0, 'rotate': (99.5, 137.5, 137.5, 137.5), 'armLevels': 2, 'scale': 6.0, 'prunePowerHigh': 0.5, 'nrings': 0, 'splitByLen': True, 'leafShape': 'hex', 'splitAngle': (15.0, 20.0, 25.0, 0.0), 'ratio': 0.019999999552965164, 'scale0': 1.0, 'autoTaper': True, 'pruneWidth': 0.4000000059604645, 'leafScale': 0.17000000178813934, 'seed': 0, 'curveRes': (16, 5, 3, 1), 'horzLeaves': True, 'useOldDownAngle': False, 'levels': 4, 'pruneWidthPeak': 0.6000000238418579, 'attractUp': (0.0, -0.3499999940395355, -0.20000000298023224, 0.0), 'taper': (1.0, 1.0, 1.0, 1.0), 'leafDist': '6', 'gustF': 0.07500000298023224, 'shape': '8'}
diff --git a/add_curve_sapling/presets/quaking_aspen.py b/add_curve_sapling/presets/quaking_aspen.py
index 7c1c5f6525320e13f554c1004dbdb3df7ca6099b..6cab7386efd7dc9030ba14c2ec971e1c65afc35a 100644
--- a/add_curve_sapling/presets/quaking_aspen.py
+++ b/add_curve_sapling/presets/quaking_aspen.py
@@ -1 +1 @@
-{'leafScale': 0.17000000178813934, 'autoTaper': True, 'customShape': (0.5, 1.0, 0.30000001192092896, 0.5), 'leafShape': 'hex', 'curve': (0.0, -40.0, -40.0, 0.0), 'ratio': 0.014999999664723873, 'splitBias': 0.0, 'pruneWidth': 0.4000000059604645, 'downAngleV': (0.0, 80.0, 10.0, 10.0), 'rotate': (99.5, 137.5, 137.5, 137.5), 'pruneRatio': 1.0, 'leafDownAngle': 45.0, 'makeMesh': False, 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'rMode': 'rotate', 'splitAngleV': (0.0, 0.0, 0.0, 0.0), 'branchDist': 1.0, 'bevel': False, 'minRadius': 0.001500000013038516, 'prune': False, 'leafRotateV': 0.0, 'splitAngle': (0.0, 0.0, 0.0, 0.0), 'armAnim': False, 'boneStep': (1, 1, 1, 1), 'pruneBase': 0.30000001192092896, 'taperCrown': 0.0, 'baseSplits': 0, 'baseSize_s': 0.25, 'handleType': '0', 'baseSize': 0.4000000059604645, 'af1': 1.0, 'levels': 2, 'leafScaleV': 0.0, 'resU': 4, 'seed': 0, 'downAngle': (90.0, 110.0, 45.0, 45.0), 'leafangle': 0.0, 'scaleV0': 0.10000000149011612, 'prunePowerHigh': 0.5, 'splitByLen': True, 'wind': 1.0, 'shape': '7', 'prunePowerLow': 0.0010000000474974513, 'scale': 13.0, 'leafAnim': False, 'curveBack': (0.0, 0.0, 0.0, 0.0), 'leafScaleX': 1.0, 'horzLeaves': True, 'splitHeight': 0.20000000298023224, 'leafScaleT': 0.0, 'scaleV': 3.0, 'leafDist': '6', 'nrings': 0, 'curveRes': (8, 5, 3, 1), 'shapeS': '4', 'bevelRes': 0, 'useOldDownAngle': False, 'useParentAngle': True, 'armLevels': 2, 'scale0': 1.0, 'taper': (1.0, 1.0, 1.0, 1.0), 'pruneWidthPeak': 0.6000000238418579, 'previewArm': False, 'leaves': 25, 'ratioPower': 1.100000023841858, 'gustF': 0.07500000298023224, 'curveV': (20.0, 50.0, 75.0, 0.0), 'showLeaves': False, 'frameRate': 1.0, 'length': (1.0, 0.30000001192092896, 0.6000000238418579, 0.44999998807907104), 'branches': (0, 50, 30, 10), 'useArm': False, 'loopFrames': 0, 'gust': 1.0, 'af3': 4.0, 'closeTip': False, 'leafRotate': 137.5, 'attractUp': (0.0, 0.0, 0.5, 0.5), 'leafDownAngleV': 10.0, 'rootFlare': 1.0, 'af2': 1.0, 'lengthV': (0.0, 0.0, 0.0, 0.0), 'rotateV': (15.0, 0.0, 0.0, 0.0), 'attractOut': (0.0, 0.0, 0.0, 0.0), 'segSplits': (0.0, 0.0, 0.0, 0.0)}
\ No newline at end of file
+{'leafScale': 0.17000000178813934, 'autoTaper': True, 'customShape': (0.5, 1.0, 0.30000001192092896, 0.5), 'leafShape': 'hex', 'curve': (0.0, -40.0, -40.0, 0.0), 'ratio': 0.014999999664723873, 'splitBias': 0.0, 'pruneWidth': 0.4000000059604645, 'downAngleV': (0.0, 80.0, 10.0, 10.0), 'rotate': (99.5, 137.5, 137.5, 137.5), 'pruneRatio': 1.0, 'leafDownAngle': 45.0, 'makeMesh': False, 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'rMode': 'rotate', 'splitAngleV': (0.0, 0.0, 0.0, 0.0), 'branchDist': 1.0, 'bevel': False, 'minRadius': 0.001500000013038516, 'prune': False, 'leafRotateV': 0.0, 'splitAngle': (0.0, 0.0, 0.0, 0.0), 'armAnim': False, 'boneStep': (1, 1, 1, 1), 'pruneBase': 0.30000001192092896, 'taperCrown': 0.0, 'baseSplits': 0, 'baseSize_s': 0.25, 'handleType': '0', 'baseSize': 0.4000000059604645, 'af1': 1.0, 'levels': 2, 'leafScaleV': 0.0, 'resU': 4, 'seed': 0, 'downAngle': (90.0, 110.0, 45.0, 45.0), 'leafangle': 0.0, 'scaleV0': 0.10000000149011612, 'prunePowerHigh': 0.5, 'splitByLen': True, 'wind': 1.0, 'shape': '7', 'prunePowerLow': 0.0010000000474974513, 'scale': 13.0, 'leafAnim': False, 'curveBack': (0.0, 0.0, 0.0, 0.0), 'leafScaleX': 1.0, 'horzLeaves': True, 'splitHeight': 0.20000000298023224, 'leafScaleT': 0.0, 'scaleV': 3.0, 'leafDist': '6', 'nrings': 0, 'curveRes': (8, 5, 3, 1), 'shapeS': '4', 'bevelRes': 0, 'useOldDownAngle': False, 'useParentAngle': True, 'armLevels': 2, 'scale0': 1.0, 'taper': (1.0, 1.0, 1.0, 1.0), 'pruneWidthPeak': 0.6000000238418579, 'previewArm': False, 'leaves': 25, 'ratioPower': 1.100000023841858, 'gustF': 0.07500000298023224, 'curveV': (20.0, 50.0, 75.0, 0.0), 'showLeaves': False, 'frameRate': 1.0, 'length': (1.0, 0.30000001192092896, 0.6000000238418579, 0.44999998807907104), 'branches': (0, 50, 30, 10), 'useArm': False, 'loopFrames': 0, 'gust': 1.0, 'af3': 4.0, 'closeTip': False, 'leafRotate': 137.5, 'attractUp': (0.0, 0.0, 0.5, 0.5), 'leafDownAngleV': 10.0, 'rootFlare': 1.0, 'af2': 1.0, 'lengthV': (0.0, 0.0, 0.0, 0.0), 'rotateV': (15.0, 0.0, 0.0, 0.0), 'attractOut': (0.0, 0.0, 0.0, 0.0), 'segSplits': (0.0, 0.0, 0.0, 0.0)}
diff --git a/add_curve_sapling/presets/small_maple.py b/add_curve_sapling/presets/small_maple.py
index a5e91185c9e0b3b546e56a1e59e3cdb2e576820e..8072d5476084dd461194c1a13314e478917f01d4 100644
--- a/add_curve_sapling/presets/small_maple.py
+++ b/add_curve_sapling/presets/small_maple.py
@@ -1 +1 @@
-{'leafDownAngle': 45.0, 'handleType': '0', 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'useArm': False, 'rootFlare': 1.0, 'segSplits': (0.44999998807907104, 0.5, 0.800000011920929, 0.0), 'leafRotateV': 0.0, 'leaves': 32, 'baseSplits': 1, 'rotate': (99.5, 137.5, 137.5, 137.5), 'scale': 8.0, 'makeMesh': False, 'leafDownAngleV': 10.0, 'curve': (0.0, 30.0, 0.0, 0.0), 'splitBias': 0.0, 'leafScale': 0.18000000715255737, 'levels': 3, 'leafScaleT': 0.3499999940395355, 'seed': 0, 'autoTaper': True, 'pruneWidthPeak': 0.6000000238418579, 'branchDist': 1.25, 'prune': False, 'splitAngle': (8.0, 18.0, 18.0, 0.0), 'shapeS': '7', 'useParentAngle': True, 'af1': 1.0, 'armAnim': False, 'resU': 4, 'ratioPower': 1.2000000476837158, 'scaleV': 2.0, 'splitHeight': 0.20000000298023224, 'leafRotate': 137.5, 'customShape': (0.5, 1.0, 0.30000001192092896, 0.5), 'shape': '7', 'ratio': 0.019999999552965164, 'rMode': 'rotate', 'downAngle': (90.0, 48.0, 45.0, 45.0), 'bevelRes': 2, 'showLeaves': True, 'wind': 1.0, 'loopFrames': 0, 'splitByLen': True, 'lengthV': (0.0, 0.029999999329447746, 0.15000000596046448, 0.0), 'leafShape': 'hex', 'downAngleV': (0.0, 48.0, 10.0, 10.0), 'leafangle': -35.0, 'bevel': True, 'gustF': 0.07500000298023224, 'taper': (1.0, 1.0, 1.0, 1.0), 'previewArm': False, 'frameRate': 1.0, 'curveBack': (0.0, -30.0, -20.0, 0.0), 'taperCrown': 0.20000000298023224, 'rotateV': (15.0, 0.0, 0.0, 0.0), 'scaleV0': 0.20000000298023224, 'gust': 1.0, 'horzLeaves': True, 'attractUp': (-0.5, -0.699999988079071, 0.0, 0.0), 'splitAngleV': (2.0, 5.0, 5.0, 0.0), 'pruneRatio': 1.0, 'curveV': (10.0, 35.0, 35.0, 0.0), 'prunePowerHigh': 0.5, 'closeTip': False, 'leafScaleV': 0.20000000298023224, 'leafAnim': False, 'minRadius': 0.0020000000949949026, 'af3': 4.0, 'attractOut': (0.0, 0.4000000059604645, 0.5, 0.0), 'branches': (0, 110, 18, 10), 'leafScaleX': 0.6499999761581421, 'length': (1.0, 0.46000000834465027, 0.44999998807907104, 0.44999998807907104), 'useOldDownAngle': False, 'armLevels': 2, 'boneStep': (1, 1, 1, 1), 'pruneBase': 0.30000001192092896, 'curveRes': (8, 5, 3, 1), 'prunePowerLow': 0.0010000000474974513, 'af2': 1.0, 'pruneWidth': 0.4000000059604645, 'nrings': 0, 'baseSize_s': 0.25, 'baseSize': 0.2800000011920929, 'leafDist': '6', 'scale0': 1.0}
\ No newline at end of file
+{'leafDownAngle': 45.0, 'handleType': '0', 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'useArm': False, 'rootFlare': 1.0, 'segSplits': (0.44999998807907104, 0.5, 0.800000011920929, 0.0), 'leafRotateV': 0.0, 'leaves': 32, 'baseSplits': 1, 'rotate': (99.5, 137.5, 137.5, 137.5), 'scale': 8.0, 'makeMesh': False, 'leafDownAngleV': 10.0, 'curve': (0.0, 30.0, 0.0, 0.0), 'splitBias': 0.0, 'leafScale': 0.18000000715255737, 'levels': 3, 'leafScaleT': 0.3499999940395355, 'seed': 0, 'autoTaper': True, 'pruneWidthPeak': 0.6000000238418579, 'branchDist': 1.25, 'prune': False, 'splitAngle': (8.0, 18.0, 18.0, 0.0), 'shapeS': '7', 'useParentAngle': True, 'af1': 1.0, 'armAnim': False, 'resU': 4, 'ratioPower': 1.2000000476837158, 'scaleV': 2.0, 'splitHeight': 0.20000000298023224, 'leafRotate': 137.5, 'customShape': (0.5, 1.0, 0.30000001192092896, 0.5), 'shape': '7', 'ratio': 0.019999999552965164, 'rMode': 'rotate', 'downAngle': (90.0, 48.0, 45.0, 45.0), 'bevelRes': 2, 'showLeaves': True, 'wind': 1.0, 'loopFrames': 0, 'splitByLen': True, 'lengthV': (0.0, 0.029999999329447746, 0.15000000596046448, 0.0), 'leafShape': 'hex', 'downAngleV': (0.0, 48.0, 10.0, 10.0), 'leafangle': -35.0, 'bevel': True, 'gustF': 0.07500000298023224, 'taper': (1.0, 1.0, 1.0, 1.0), 'previewArm': False, 'frameRate': 1.0, 'curveBack': (0.0, -30.0, -20.0, 0.0), 'taperCrown': 0.20000000298023224, 'rotateV': (15.0, 0.0, 0.0, 0.0), 'scaleV0': 0.20000000298023224, 'gust': 1.0, 'horzLeaves': True, 'attractUp': (-0.5, -0.699999988079071, 0.0, 0.0), 'splitAngleV': (2.0, 5.0, 5.0, 0.0), 'pruneRatio': 1.0, 'curveV': (10.0, 35.0, 35.0, 0.0), 'prunePowerHigh': 0.5, 'closeTip': False, 'leafScaleV': 0.20000000298023224, 'leafAnim': False, 'minRadius': 0.0020000000949949026, 'af3': 4.0, 'attractOut': (0.0, 0.4000000059604645, 0.5, 0.0), 'branches': (0, 110, 18, 10), 'leafScaleX': 0.6499999761581421, 'length': (1.0, 0.46000000834465027, 0.44999998807907104, 0.44999998807907104), 'useOldDownAngle': False, 'armLevels': 2, 'boneStep': (1, 1, 1, 1), 'pruneBase': 0.30000001192092896, 'curveRes': (8, 5, 3, 1), 'prunePowerLow': 0.0010000000474974513, 'af2': 1.0, 'pruneWidth': 0.4000000059604645, 'nrings': 0, 'baseSize_s': 0.25, 'baseSize': 0.2800000011920929, 'leafDist': '6', 'scale0': 1.0}
diff --git a/add_curve_sapling/presets/small_pine.py b/add_curve_sapling/presets/small_pine.py
index 860d885c73d5c3087588ea60e86ffa3bd1f5c3ee..b0d2dc580a3eb9d110ce92bf1fa7cf229bdee2ed 100644
--- a/add_curve_sapling/presets/small_pine.py
+++ b/add_curve_sapling/presets/small_pine.py
@@ -1 +1 @@
-{'downAngleV': (0.0, 42.0, 10.0, 10.0), 'useOldDownAngle': False, 'splitBias': 0.0, 'branchDist': 1.600000023841858, 'downAngle': (90.0, 110.0, 45.0, 45.0), 'leafScale': 0.20000000298023224, 'baseSize': 0.06799984723329544, 'shapeS': '4', 'leafScaleX': 0.019999999552965164, 'nrings': 7, 'gustF': 0.07500000298023224, 'showLeaves': True, 'taperCrown': 0.0, 'curveBack': (0.0, 0.0, 0.0, 0.0), 'leafShape': 'rect', 'makeMesh': False, 'scale0': 1.0, 'length': (1.0, 0.3199999928474426, 0.75, 0.44999998807907104), 'ratioPower': 1.0, 'taper': (1.0, 1.0, 1.0, 1.0), 'baseSize_s': 0.25, 'splitHeight': 0.20000000298023224, 'handleType': '0', 'pruneBase': 0.30000001192092896, 'attractUp': (2.0, 0.0, 0.5, 0.5), 'boneStep': (1, 1, 1, 1), 'seed': 0, 'leafDownAngle': 65.0, 'attractOut': (0.0, 0.0, 0.0, 0.0), 'leafAnim': False, 'gust': 1.0, 'curveV': (100.0, 100.0, 100.0, 0.0), 'splitAngle': (0.0, 22.0, 25.0, 0.0), 'prunePowerLow': 0.0010000000474974513, 'leafangle': -10.0, 'frameRate': 1.0, 'pruneRatio': 1.0, 'rMode': 'rotate', 'shape': '8', 'segSplits': (0.0, 0.30000001192092896, 0.4000000059604645, 0.0), 'branches': (0, 36, 7, 10), 'prunePowerHigh': 0.5, 'af1': 1.0, 'closeTip': False, 'splitAngleV': (0.0, 5.0, 0.0, 0.0), 'ratio': 0.019999999552965164, 'minRadius': 0.001500000013038516, 'levels': 3, 'leafRotate': 137.5, 'armLevels': 2, 'horzLeaves': False, 'pruneWidth': 0.4000000059604645, 'baseSplits': 0, 'scale': 4.0, 'leafScaleV': 0.10000000149011612, 'splitByLen': True, 'useParentAngle': True, 'previewArm': False, 'wind': 1.0, 'leafDist': '3', 'leafScaleT': 0.25, 'bevel': True, 'resU': 4, 'leafDownAngleV': 55.0, 'pruneWidthPeak': 0.6000000238418579, 'af3': 4.0, 'scaleV': 1.0, 'rootFlare': 1.0, 'loopFrames': 0, 'curve': (0.0, -40.0, -30.0, 0.0), 'leaves': 500, 'scaleV0': 0.10000000149011612, 'rotate': (99.5, 137.5, -90.0, 137.5), 'curveRes': (8, 5, 3, 1), 'useArm': False, 'af2': 1.0, 'bevelRes': 2, 'autoTaper': True, 'lengthV': (0.0, 0.15000000596046448, 0.25, 0.0), 'armAnim': False, 'prune': False, 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'leafRotateV': 30.0, 'customShape': (0.8999999761581421, 1.0, 0.20000000298023224, 0.20000000298023224), 'rotateV': (15.0, 0.0, 0.0, 0.0)}
\ No newline at end of file
+{'downAngleV': (0.0, 42.0, 10.0, 10.0), 'useOldDownAngle': False, 'splitBias': 0.0, 'branchDist': 1.600000023841858, 'downAngle': (90.0, 110.0, 45.0, 45.0), 'leafScale': 0.20000000298023224, 'baseSize': 0.06799984723329544, 'shapeS': '4', 'leafScaleX': 0.019999999552965164, 'nrings': 7, 'gustF': 0.07500000298023224, 'showLeaves': True, 'taperCrown': 0.0, 'curveBack': (0.0, 0.0, 0.0, 0.0), 'leafShape': 'rect', 'makeMesh': False, 'scale0': 1.0, 'length': (1.0, 0.3199999928474426, 0.75, 0.44999998807907104), 'ratioPower': 1.0, 'taper': (1.0, 1.0, 1.0, 1.0), 'baseSize_s': 0.25, 'splitHeight': 0.20000000298023224, 'handleType': '0', 'pruneBase': 0.30000001192092896, 'attractUp': (2.0, 0.0, 0.5, 0.5), 'boneStep': (1, 1, 1, 1), 'seed': 0, 'leafDownAngle': 65.0, 'attractOut': (0.0, 0.0, 0.0, 0.0), 'leafAnim': False, 'gust': 1.0, 'curveV': (100.0, 100.0, 100.0, 0.0), 'splitAngle': (0.0, 22.0, 25.0, 0.0), 'prunePowerLow': 0.0010000000474974513, 'leafangle': -10.0, 'frameRate': 1.0, 'pruneRatio': 1.0, 'rMode': 'rotate', 'shape': '8', 'segSplits': (0.0, 0.30000001192092896, 0.4000000059604645, 0.0), 'branches': (0, 36, 7, 10), 'prunePowerHigh': 0.5, 'af1': 1.0, 'closeTip': False, 'splitAngleV': (0.0, 5.0, 0.0, 0.0), 'ratio': 0.019999999552965164, 'minRadius': 0.001500000013038516, 'levels': 3, 'leafRotate': 137.5, 'armLevels': 2, 'horzLeaves': False, 'pruneWidth': 0.4000000059604645, 'baseSplits': 0, 'scale': 4.0, 'leafScaleV': 0.10000000149011612, 'splitByLen': True, 'useParentAngle': True, 'previewArm': False, 'wind': 1.0, 'leafDist': '3', 'leafScaleT': 0.25, 'bevel': True, 'resU': 4, 'leafDownAngleV': 55.0, 'pruneWidthPeak': 0.6000000238418579, 'af3': 4.0, 'scaleV': 1.0, 'rootFlare': 1.0, 'loopFrames': 0, 'curve': (0.0, -40.0, -30.0, 0.0), 'leaves': 500, 'scaleV0': 0.10000000149011612, 'rotate': (99.5, 137.5, -90.0, 137.5), 'curveRes': (8, 5, 3, 1), 'useArm': False, 'af2': 1.0, 'bevelRes': 2, 'autoTaper': True, 'lengthV': (0.0, 0.15000000596046448, 0.25, 0.0), 'armAnim': False, 'prune': False, 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'leafRotateV': 30.0, 'customShape': (0.8999999761581421, 1.0, 0.20000000298023224, 0.20000000298023224), 'rotateV': (15.0, 0.0, 0.0, 0.0)}
diff --git a/add_curve_sapling/presets/weeping_willow.py b/add_curve_sapling/presets/weeping_willow.py
index 06f27e156f79deb19dfea1d7d6550794786bfe51..a4efed38c0f66db6bf04c27039a7256c5aa1a0db 100644
--- a/add_curve_sapling/presets/weeping_willow.py
+++ b/add_curve_sapling/presets/weeping_willow.py
@@ -1 +1 @@
-{'showLeaves': False, 'leafScaleX': 0.20000000298023224, 'horzLeaves': False, 'useArm': False, 'rMode': 'rotate', 'branchDist': 1.5, 'scale': 15.0, 'armLevels': 2, 'gustF': 0.07500000298023224, 'closeTip': False, 'shape': '4', 'minRadius': 0.001500000013038516, 'leafScaleT': 0.0, 'leafDownAngle': 30.0, 'splitByLen': True, 'prunePowerLow': 0.0010000000474974513, 'splitBias': 0.0, 'autoTaper': True, 'leafRotateV': 30.0, 'scale0': 1.0, 'length': (0.75, 0.5, 1.5, 0.10000000149011612), 'lengthV': (0.0, 0.10000000149011612, 0.0, 0.0), 'bevel': True, 'baseSize': 0.20000000298023224, 'handleType': '1', 'ratioPower': 1.75, 'leafScaleV': 0.0, 'ratio': 0.02500000037252903, 'scaleV': 5.0, 'gust': 1.0, 'baseSplits': 2, 'loopFrames': 0, 'curve': (0.0, 20.0, -40.0, 0.0), 'pruneWidth': 0.5, 'shapeS': '4', 'splitAngleV': (0.0, 10.0, 20.0, 0.0), 'branches': (0, 35, 15, 1), 'frameRate': 1.0, 'splitAngle': (12.0, 30.0, 16.0, 0.0), 'seed': 2789, 'nrings': 0, 'previewArm': False, 'pruneWidthPeak': 0.6000000238418579, 'af1': 1.0, 'splitHeight': 0.20000000298023224, 'rotateV': (15.0, 15.0, 45.0, 0.0), 'attractUp': (0.0, 0.0, -2.75, -3.0), 'curveV': (150.0, 120.0, 0.0, 0.0), 'makeMesh': False, 'leaves': 150, 'curveBack': (0.0, 20.0, 0.0, 0.0), 'taper': (1.0, 1.0, 1.0, 1.0), 'resU': 4, 'useOldDownAngle': False, 'pruneRatio': 0.800000011920929, 'levels': 3, 'taperCrown': 0.0, 'attractOut': (0.0, 0.0, 0.0, 0.0), 'leafRotate': 137.5, 'prunePowerHigh': 0.20000000298023224, 'prune': False, 'leafangle': 0.0, 'bevelRes': 1, 'curveRes': (8, 16, 8, 1), 'rotate': (99.5, 137.5, -60.0, 140.0), 'pruneBase': 0.07000000029802322, 'segSplits': (0.10000000149011612, 0.20000000298023224, 0.20000000298023224, 0.0), 'scaleV0': 0.0, 'boneStep': (1, 1, 1, 1), 'useParentAngle': True, 'armAnim': False, 'wind': 1.0, 'leafDist': '10', 'leafScale': 0.25, 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'leafDownAngleV': 10.0, 'leafAnim': False, 'downAngle': (0.0, 20.0, 30.0, 20.0), 'af2': 1.0, 'af3': 4.0, 'downAngleV': (0.0, 20.0, 10.0, 10.0), 'customShape': (0.5, 1.0, 0.30000001192092896, 0.5), 'leafShape': 'hex', 'rootFlare': 1.0, 'baseSize_s': 0.25}
\ No newline at end of file
+{'showLeaves': False, 'leafScaleX': 0.20000000298023224, 'horzLeaves': False, 'useArm': False, 'rMode': 'rotate', 'branchDist': 1.5, 'scale': 15.0, 'armLevels': 2, 'gustF': 0.07500000298023224, 'closeTip': False, 'shape': '4', 'minRadius': 0.001500000013038516, 'leafScaleT': 0.0, 'leafDownAngle': 30.0, 'splitByLen': True, 'prunePowerLow': 0.0010000000474974513, 'splitBias': 0.0, 'autoTaper': True, 'leafRotateV': 30.0, 'scale0': 1.0, 'length': (0.75, 0.5, 1.5, 0.10000000149011612), 'lengthV': (0.0, 0.10000000149011612, 0.0, 0.0), 'bevel': True, 'baseSize': 0.20000000298023224, 'handleType': '1', 'ratioPower': 1.75, 'leafScaleV': 0.0, 'ratio': 0.02500000037252903, 'scaleV': 5.0, 'gust': 1.0, 'baseSplits': 2, 'loopFrames': 0, 'curve': (0.0, 20.0, -40.0, 0.0), 'pruneWidth': 0.5, 'shapeS': '4', 'splitAngleV': (0.0, 10.0, 20.0, 0.0), 'branches': (0, 35, 15, 1), 'frameRate': 1.0, 'splitAngle': (12.0, 30.0, 16.0, 0.0), 'seed': 2789, 'nrings': 0, 'previewArm': False, 'pruneWidthPeak': 0.6000000238418579, 'af1': 1.0, 'splitHeight': 0.20000000298023224, 'rotateV': (15.0, 15.0, 45.0, 0.0), 'attractUp': (0.0, 0.0, -2.75, -3.0), 'curveV': (150.0, 120.0, 0.0, 0.0), 'makeMesh': False, 'leaves': 150, 'curveBack': (0.0, 20.0, 0.0, 0.0), 'taper': (1.0, 1.0, 1.0, 1.0), 'resU': 4, 'useOldDownAngle': False, 'pruneRatio': 0.800000011920929, 'levels': 3, 'taperCrown': 0.0, 'attractOut': (0.0, 0.0, 0.0, 0.0), 'leafRotate': 137.5, 'prunePowerHigh': 0.20000000298023224, 'prune': False, 'leafangle': 0.0, 'bevelRes': 1, 'curveRes': (8, 16, 8, 1), 'rotate': (99.5, 137.5, -60.0, 140.0), 'pruneBase': 0.07000000029802322, 'segSplits': (0.10000000149011612, 0.20000000298023224, 0.20000000298023224, 0.0), 'scaleV0': 0.0, 'boneStep': (1, 1, 1, 1), 'useParentAngle': True, 'armAnim': False, 'wind': 1.0, 'leafDist': '10', 'leafScale': 0.25, 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'leafDownAngleV': 10.0, 'leafAnim': False, 'downAngle': (0.0, 20.0, 30.0, 20.0), 'af2': 1.0, 'af3': 4.0, 'downAngleV': (0.0, 20.0, 10.0, 10.0), 'customShape': (0.5, 1.0, 0.30000001192092896, 0.5), 'leafShape': 'hex', 'rootFlare': 1.0, 'baseSize_s': 0.25}
diff --git a/add_curve_sapling/presets/white_birch.py b/add_curve_sapling/presets/white_birch.py
index 9016ee18762c228d1565ee5760afbf5283c3c961..6aa5829f1a1ebcc6efc65f25ed90098db1ac8e26 100644
--- a/add_curve_sapling/presets/white_birch.py
+++ b/add_curve_sapling/presets/white_birch.py
@@ -1 +1 @@
-{'seed': 0, 'showLeaves': True, 'armLevels': 0, 'leafDist': '6', 'baseSize': 0.3499999940395355, 'loopFrames': 0, 'af3': 4.0, 'previewArm': False, 'leafangle': -45.0, 'useParentAngle': True, 'handleType': '0', 'branches': (0, 60, 30, 10), 'autoTaper': True, 'splitAngle': (12.0, 18.0, 16.0, 0.0), 'baseSize_s': 0.800000011920929, 'closeTip': False, 'af2': 1.0, 'prune': False, 'scale0': 1.0, 'rMode': 'rotate', 'useOldDownAngle': False, 'scaleV0': 0.10000000149011612, 'splitBias': 0.0, 'resU': 2, 'curveBack': (0.0, -5.0, 0.0, 0.0), 'scale': 12.0, 'shape': '8', 'leafDownAngle': 45.0, 'af1': 1.0, 'ratio': 0.019999999552965164, 'horzLeaves': True, 'leafRotate': 137.5, 'minRadius': 0.0020000000949949026, 'bevelRes': 2, 'splitByLen': True, 'rootFlare': 1.149999976158142, 'makeMesh': False, 'downAngleV': (0.0, 25.0, 30.0, 10.0), 'levels': 3, 'scaleV': 2.0, 'armAnim': False, 'lengthV': (0.05000000074505806, 0.20000000298023224, 0.3499999940395355, 0.0), 'pruneWidth': 0.3100000023841858, 'gustF': 0.07500000298023224, 'taper': (1.0, 1.0, 1.0, 1.0), 'splitAngleV': (2.0, 2.0, 0.0, 0.0), 'prunePowerLow': 0.0010000000474974513, 'leafScaleT': 0.20000000298023224, 'leafScaleX': 0.5, 'leafRotateV': 0.0, 'ratioPower': 1.399999976158142, 'segSplits': (0.3499999940395355, 0.3499999940395355, 0.3499999940395355, 0.0), 'downAngle': (90.0, 60.0, 50.0, 45.0), 'rotateV': (0.0, 0.0, 0.0, 0.0), 'gust': 1.0, 'attractUp': (0.0, -1.0, -0.6499999761581421, 0.0), 'leafScaleV': 0.25, 'frameRate': 1.0, 'curveV': (100.0, 80.0, 80.0, 0.0), 'boneStep': (1, 1, 1, 1), 'customShape': (0.699999988079071, 1.0, 0.30000001192092896, 0.5900000333786011), 'pruneBase': 0.30000001192092896, 'leafAnim': False, 'curveRes': (10, 8, 3, 1), 'nrings': 0, 'bevel': True, 'taperCrown': 0.0, 'baseSplits': 2, 'leafShape': 'hex', 'splitHeight': 0.550000011920929, 'wind': 1.0, 'curve': (0.0, -30.0, -25.0, 0.0), 'rotate': (137.5, 137.5, 137.5, 137.5), 'length': (1.0, 0.33000001311302185, 0.375, 0.44999998807907104), 'leafScale': 0.20000000298023224, 'attractOut': (0.0, 0.20000000298023224, 0.25, 0.0), 'prunePowerHigh': 0.10000000149011612, 'branchDist': 1.5, 'useArm': False, 'pruneRatio': 1.0, 'shapeS': '7', 'leafDownAngleV': 10.0, 'pruneWidthPeak': 0.5, 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'leaves': 16}
\ No newline at end of file
+{'seed': 0, 'showLeaves': True, 'armLevels': 0, 'leafDist': '6', 'baseSize': 0.3499999940395355, 'loopFrames': 0, 'af3': 4.0, 'previewArm': False, 'leafangle': -45.0, 'useParentAngle': True, 'handleType': '0', 'branches': (0, 60, 30, 10), 'autoTaper': True, 'splitAngle': (12.0, 18.0, 16.0, 0.0), 'baseSize_s': 0.800000011920929, 'closeTip': False, 'af2': 1.0, 'prune': False, 'scale0': 1.0, 'rMode': 'rotate', 'useOldDownAngle': False, 'scaleV0': 0.10000000149011612, 'splitBias': 0.0, 'resU': 2, 'curveBack': (0.0, -5.0, 0.0, 0.0), 'scale': 12.0, 'shape': '8', 'leafDownAngle': 45.0, 'af1': 1.0, 'ratio': 0.019999999552965164, 'horzLeaves': True, 'leafRotate': 137.5, 'minRadius': 0.0020000000949949026, 'bevelRes': 2, 'splitByLen': True, 'rootFlare': 1.149999976158142, 'makeMesh': False, 'downAngleV': (0.0, 25.0, 30.0, 10.0), 'levels': 3, 'scaleV': 2.0, 'armAnim': False, 'lengthV': (0.05000000074505806, 0.20000000298023224, 0.3499999940395355, 0.0), 'pruneWidth': 0.3100000023841858, 'gustF': 0.07500000298023224, 'taper': (1.0, 1.0, 1.0, 1.0), 'splitAngleV': (2.0, 2.0, 0.0, 0.0), 'prunePowerLow': 0.0010000000474974513, 'leafScaleT': 0.20000000298023224, 'leafScaleX': 0.5, 'leafRotateV': 0.0, 'ratioPower': 1.399999976158142, 'segSplits': (0.3499999940395355, 0.3499999940395355, 0.3499999940395355, 0.0), 'downAngle': (90.0, 60.0, 50.0, 45.0), 'rotateV': (0.0, 0.0, 0.0, 0.0), 'gust': 1.0, 'attractUp': (0.0, -1.0, -0.6499999761581421, 0.0), 'leafScaleV': 0.25, 'frameRate': 1.0, 'curveV': (100.0, 80.0, 80.0, 0.0), 'boneStep': (1, 1, 1, 1), 'customShape': (0.699999988079071, 1.0, 0.30000001192092896, 0.5900000333786011), 'pruneBase': 0.30000001192092896, 'leafAnim': False, 'curveRes': (10, 8, 3, 1), 'nrings': 0, 'bevel': True, 'taperCrown': 0.0, 'baseSplits': 2, 'leafShape': 'hex', 'splitHeight': 0.550000011920929, 'wind': 1.0, 'curve': (0.0, -30.0, -25.0, 0.0), 'rotate': (137.5, 137.5, 137.5, 137.5), 'length': (1.0, 0.33000001311302185, 0.375, 0.44999998807907104), 'leafScale': 0.20000000298023224, 'attractOut': (0.0, 0.20000000298023224, 0.25, 0.0), 'prunePowerHigh': 0.10000000149011612, 'branchDist': 1.5, 'useArm': False, 'pruneRatio': 1.0, 'shapeS': '7', 'leafDownAngleV': 10.0, 'pruneWidthPeak': 0.5, 'radiusTweak': (1.0, 1.0, 1.0, 1.0), 'leaves': 16}
diff --git a/add_curve_sapling/presets/willow.py b/add_curve_sapling/presets/willow.py
index 786156f1d8ffead41c607fd5e3da584f6bbc6255..5c60b0ff373b7f3a67865e501a55c3fcab7bb897 100644
--- a/add_curve_sapling/presets/willow.py
+++ b/add_curve_sapling/presets/willow.py
@@ -1 +1 @@
-{'curveRes': (8, 16, 12, 1), 'scaleV0': 0.0, 'pruneRatio': 1.0, 'rotate': (0.0, -120.0, -120.0, 140.0), 'resU': 4, 'levels': 2, 'frameRate': 1.0, 'ratioPower': 2.0, 'windGust': 0.0, 'branches': (0, 25, 10, 300), 'attractUp': -3.0, 'bevel': False, 'windSpeed': 2.0, 'rotateV': (0.0, 30.0, 30.0, 0.0), 'segSplits': (0.10000000149011612, 0.20000000298023224, 0.20000000298023224, 0.0), 'handleType': '1', 'shape': '3', 'curveV': (120.0, 90.0, 0.0, 0.0), 'scale': 15.0, 'leafShape': 'hex', 'showLeaves': False, 'ratio': 0.029999999329447746, 'leaves': 15.0, 'armAnim': False, 'leafScale': 0.11999999731779099, 'leafDist': '4', 'useArm': False, 'splitAngle': (3.0, 30.0, 45.0, 0.0), 'lengthV': (0.0, 0.10000000149011612, 0.0, 0.0), 'seed': 0, 'scaleV': 5.0, 'startCurv': 0.0, 'downAngle': (0.0, 20.0, 30.0, 20.0), 'pruneWidth': 0.4000000059604645, 'baseSize': 0.05000000074505806, 'bevelRes': 0, 'length': (0.800000011920929, 0.5, 1.5, 0.10000000149011612), 'downAngleV': (0.0, 10.0, 10.0, 10.0), 'prune': False, 'curve': (0.0, 40.0, 0.0, 0.0), 'taper': (1.0, 1.0, 1.0, 1.0), 'prunePowerHigh': 0.5, 'leafScaleX': 0.20000000298023224, 'curveBack': (20.0, 80.0, 0.0, 0.0), 'bend': 0.0, 'scale0': 1.0, 'prunePowerLow': 0.0010000000474974513, 'splitAngleV': (0.0, 10.0, 20.0, 0.0), 'baseSplits': 2, 'pruneWidthPeak': 0.6000000238418579}
\ No newline at end of file
+{'curveRes': (8, 16, 12, 1), 'scaleV0': 0.0, 'pruneRatio': 1.0, 'rotate': (0.0, -120.0, -120.0, 140.0), 'resU': 4, 'levels': 2, 'frameRate': 1.0, 'ratioPower': 2.0, 'windGust': 0.0, 'branches': (0, 25, 10, 300), 'attractUp': -3.0, 'bevel': False, 'windSpeed': 2.0, 'rotateV': (0.0, 30.0, 30.0, 0.0), 'segSplits': (0.10000000149011612, 0.20000000298023224, 0.20000000298023224, 0.0), 'handleType': '1', 'shape': '3', 'curveV': (120.0, 90.0, 0.0, 0.0), 'scale': 15.0, 'leafShape': 'hex', 'showLeaves': False, 'ratio': 0.029999999329447746, 'leaves': 15.0, 'armAnim': False, 'leafScale': 0.11999999731779099, 'leafDist': '4', 'useArm': False, 'splitAngle': (3.0, 30.0, 45.0, 0.0), 'lengthV': (0.0, 0.10000000149011612, 0.0, 0.0), 'seed': 0, 'scaleV': 5.0, 'startCurv': 0.0, 'downAngle': (0.0, 20.0, 30.0, 20.0), 'pruneWidth': 0.4000000059604645, 'baseSize': 0.05000000074505806, 'bevelRes': 0, 'length': (0.800000011920929, 0.5, 1.5, 0.10000000149011612), 'downAngleV': (0.0, 10.0, 10.0, 10.0), 'prune': False, 'curve': (0.0, 40.0, 0.0, 0.0), 'taper': (1.0, 1.0, 1.0, 1.0), 'prunePowerHigh': 0.5, 'leafScaleX': 0.20000000298023224, 'curveBack': (20.0, 80.0, 0.0, 0.0), 'bend': 0.0, 'scale0': 1.0, 'prunePowerLow': 0.0010000000474974513, 'splitAngleV': (0.0, 10.0, 20.0, 0.0), 'baseSplits': 2, 'pruneWidthPeak': 0.6000000238418579}
diff --git a/add_mesh_BoltFactory/Boltfactory.py b/add_mesh_BoltFactory/Boltfactory.py
index 672633d39bf3ad779371403456e734b1e8361f24..25d90706f2be4afd6c1e7923fc348599bcf3a1d7 100644
--- a/add_mesh_BoltFactory/Boltfactory.py
+++ b/add_mesh_BoltFactory/Boltfactory.py
@@ -236,19 +236,19 @@ class add_mesh_bolt(Operator, AddObjectHelper):
             max=MAX_INPUT_NUMBER,
             description='Flat distance of the Hex Nut'
             )
-    
+
         # generic transform props
     view_align = BoolProperty(
             name="Align to View",
             default=False,
             update=AddObjectHelper.view_align_update_callback,
             )
-    
+
     location = FloatVectorProperty(
             name="Location",
             subtype='TRANSLATION',
             )
-    
+
     rotation = FloatVectorProperty(
             name="Rotation",
             subtype='EULER',
@@ -311,7 +311,7 @@ class add_mesh_bolt(Operator, AddObjectHelper):
         col.prop(self, 'bf_Crest_Percent')
         col.prop(self, 'bf_Root_Percent')
         col.prop(self, 'bf_Div_Count')
-        
+
         # generic transform props
         col.separator()
         col.prop(self, 'view_align')
diff --git a/add_mesh_BoltFactory/createMesh.py b/add_mesh_BoltFactory/createMesh.py
index 31b74179ae1b785ffb93f7f8f0891822a2cf7487..8971ec82d68f320c9df31a2a4fad67e695e9f268 100644
--- a/add_mesh_BoltFactory/createMesh.py
+++ b/add_mesh_BoltFactory/createMesh.py
@@ -2003,7 +2003,5 @@ def Create_New_Mesh(props, context):
     if is_not_mesh_valid:
         print("\n[BoltFactory]\nFunction: create_mesh_object\n"
               "Mesh is not Valid, correcting\n")
-        
-    object_data_add(context, mesh, operator=props)
-
 
+    object_data_add(context, mesh, operator=props)
diff --git a/ant_landscape/ErosionR.txt b/ant_landscape/ErosionR.txt
index 1dae7aa0ec3b70a55a0151364b4de48112a1b782..5b988e0857a9da4abe264d40e3c910c8d3124910 100644
--- a/ant_landscape/ErosionR.txt
+++ b/ant_landscape/ErosionR.txt
@@ -1,2 +1,2 @@
 http://blog.michelanders.nl/search/label/erosion
-https://github.com/nerk987/ErosionR
\ No newline at end of file
+https://github.com/nerk987/ErosionR
diff --git a/ant_landscape/utils.py b/ant_landscape/utils.py
index be8f1f2958d4b9a1a80e5f227e98cf0f66ac7767..6588f75b22b36fcf1ebc259fe6371d8c31e9d6c3 100644
--- a/ant_landscape/utils.py
+++ b/ant_landscape/utils.py
@@ -4,4 +4,3 @@ try:
     numexpr_available=True
 except ImportError:
     pass
-
diff --git a/archipack/presets/archipack_materials/floor.txt b/archipack/presets/archipack_materials/floor.txt
index ad94757cb2277e70bdb74c81cfdc202b7ef180ae..1afa93294139f6839afda776c2d36bf61727311e 100644
--- a/archipack/presets/archipack_materials/floor.txt
+++ b/archipack/presets/archipack_materials/floor.txt
@@ -19,4 +19,4 @@ TILES##|##Floor_tiles_alt6
 TILES##|##Floor_alt7
 TILES##|##Floor_alt8
 TILES##|##Floor_alt9
-TILES##|##Floor_alt10
\ No newline at end of file
+TILES##|##Floor_alt10
diff --git a/archipack/presets/archipack_materials/roof.txt b/archipack/presets/archipack_materials/roof.txt
index 0c15bcf7af09ae29ed8c69c1f4e9351c1552cf1d..4738c5443ad2273106644a2f76d8e397a40526f2 100644
--- a/archipack/presets/archipack_materials/roof.txt
+++ b/archipack/presets/archipack_materials/roof.txt
@@ -45,4 +45,4 @@ METAL##|##Roof_metal
 METAL##|##Roof_metal2
 METAL##|##Roof_metal3
 METAL##|##Roof_metal4
-METAL##|##Roof_metal5
\ No newline at end of file
+METAL##|##Roof_metal5
diff --git a/archipack/presets/archipack_roof/braas_1.py b/archipack/presets/archipack_roof/braas_1.py
index 442eb450ab3116863837cb69a6e7afb06b6205ba..203d44db783b587a37f2a487b252182bb5653ea5 100644
--- a/archipack/presets/archipack_roof/braas_1.py
+++ b/archipack/presets/archipack_roof/braas_1.py
@@ -28,4 +28,4 @@ d.tile_alternate = False
 d.hip_alt = 0.13
 d.tile_bevel_segs = 2
 d.tile_fit_x = False
-d.valley_enable = True
\ No newline at end of file
+d.valley_enable = True
diff --git a/archipack/presets/archipack_roof/braas_2.py b/archipack/presets/archipack_roof/braas_2.py
index f027ca95d8e537263a56d603e6027af808ad5ca0..cdd774937437320dd146773fb9b0f498368612b1 100644
--- a/archipack/presets/archipack_roof/braas_2.py
+++ b/archipack/presets/archipack_roof/braas_2.py
@@ -28,4 +28,4 @@ d.tile_alternate = False
 d.hip_alt = 0.13
 d.tile_bevel_segs = 2
 d.tile_fit_x = False
-d.valley_enable = True
\ No newline at end of file
+d.valley_enable = True
diff --git a/archipack/presets/archipack_roof/eternit.py b/archipack/presets/archipack_roof/eternit.py
index 697df83b46089323511ce75a7072cae03b5086dd..4d9f064b0a39e898a800af41f4f887334cd50846 100644
--- a/archipack/presets/archipack_roof/eternit.py
+++ b/archipack/presets/archipack_roof/eternit.py
@@ -28,4 +28,4 @@ d.tile_alternate = True
 d.hip_alt = 0.12
 d.tile_bevel_segs = 3
 d.tile_fit_x = False
-d.valley_enable = True
\ No newline at end of file
+d.valley_enable = True
diff --git a/archipack/presets/archipack_roof/lauze.py b/archipack/presets/archipack_roof/lauze.py
index 5b71b871e81ebe79135abd84d00090ff2072565b..2eeca130ad888b44e7d8e09bb56573b246881826 100644
--- a/archipack/presets/archipack_roof/lauze.py
+++ b/archipack/presets/archipack_roof/lauze.py
@@ -28,4 +28,4 @@ d.tile_alternate = True
 d.hip_alt = 0.13
 d.tile_bevel_segs = 3
 d.tile_fit_x = False
-d.valley_enable = True
\ No newline at end of file
+d.valley_enable = True
diff --git a/archipack/presets/archipack_roof/round.py b/archipack/presets/archipack_roof/round.py
index 4705348edc2bbe7a15ba2e3e3cebc1e1dc3d5f35..74b7cb099baeb046ab012101e54829258ca68f69 100644
--- a/archipack/presets/archipack_roof/round.py
+++ b/archipack/presets/archipack_roof/round.py
@@ -28,4 +28,4 @@ d.tile_alternate = True
 d.hip_alt = 0.1
 d.tile_bevel_segs = 3
 d.tile_fit_x = False
-d.valley_enable = True
\ No newline at end of file
+d.valley_enable = True
diff --git a/archipack/presets/archipack_roof/square.py b/archipack/presets/archipack_roof/square.py
index edfa384810eea232f18957e22587a71439f5f470..f8d92dd15dbf12b7fb5eee395c4023c324bf8197 100644
--- a/archipack/presets/archipack_roof/square.py
+++ b/archipack/presets/archipack_roof/square.py
@@ -28,4 +28,4 @@ d.tile_alternate = True
 d.hip_alt = 0.12
 d.tile_bevel_segs = 3
 d.tile_fit_x = False
-d.valley_enable = True
\ No newline at end of file
+d.valley_enable = True
diff --git a/io_blend_utils/bl_utils/subprocess_helper.py b/io_blend_utils/bl_utils/subprocess_helper.py
index ef9c602ab2965eac98562c92792f134f0cb990ed..f7750af7a8bf1be04c77a5eecaa0ea35d3b765ec 100644
--- a/io_blend_utils/bl_utils/subprocess_helper.py
+++ b/io_blend_utils/bl_utils/subprocess_helper.py
@@ -186,4 +186,3 @@ class SubprocessHelper:
         self._wm_exit(context)
         self._process.kill()
         self.process_post(-1)
-
diff --git a/io_blend_utils/blender_bam-unpacked.whl/bam/utils/system.py b/io_blend_utils/blender_bam-unpacked.whl/bam/utils/system.py
index 313173ee0cd742f1e02a8f50408c7f132600cfc3..f4d3469b1adcf6808f7722a83d8f11ffad039a67 100644
--- a/io_blend_utils/blender_bam-unpacked.whl/bam/utils/system.py
+++ b/io_blend_utils/blender_bam-unpacked.whl/bam/utils/system.py
@@ -140,4 +140,3 @@ def is_subdir(path, directory):
         if path.startswith(directory.rstrip(sep) + sep):
             return True
     return False
-
diff --git a/io_blend_utils/utils/system.py b/io_blend_utils/utils/system.py
index 313173ee0cd742f1e02a8f50408c7f132600cfc3..f4d3469b1adcf6808f7722a83d8f11ffad039a67 100644
--- a/io_blend_utils/utils/system.py
+++ b/io_blend_utils/utils/system.py
@@ -140,4 +140,3 @@ def is_subdir(path, directory):
         if path.startswith(directory.rstrip(sep) + sep):
             return True
     return False
-
diff --git a/io_export_dxf/export_dxf.py b/io_export_dxf/export_dxf.py
index b6e515312be72b1a4ed0483046fd00b623a31ee9..df0dcddc3eeaf2e985edca68fd3e746a93acaad0 100644
--- a/io_export_dxf/export_dxf.py
+++ b/io_export_dxf/export_dxf.py
@@ -282,5 +282,3 @@ def _exportItem(ctx, o, mw, drawing, settings):
 		e = LampDXFExporter(settings)
 
 	return e.export(ctx, drawing, o, mx, mx_n, color=ecolor, layer=elayer, lineType=eltype)
-
-
diff --git a/io_export_dxf/model/dxfLibrary.py b/io_export_dxf/model/dxfLibrary.py
index 1d917e25e4d17d8011cb8618a33134c058b84f63..caf086a6f55806efbfea13223f56019722d7b854 100644
--- a/io_export_dxf/model/dxfLibrary.py
+++ b/io_export_dxf/model/dxfLibrary.py
@@ -924,4 +924,3 @@ if __name__=='__main__':
 	if not copy:
 		Draw.PupMenu('Error%t|This script requires a full python install')
 	else: test()
-
diff --git a/io_export_dxf/model/migiusModel.py b/io_export_dxf/model/migiusModel.py
index 10344767d4c365ed5f5c4bcef36e98dd3a008270..40f9e42b0c28d31a3a54c5899d14dadab8df67a9 100644
--- a/io_export_dxf/model/migiusModel.py
+++ b/io_export_dxf/model/migiusModel.py
@@ -119,4 +119,3 @@ class MigiusDXFLibDrawing(DxfDrawing):
         elif type=='Face':
             for e in ents:
                 drawing.append(DXF.Face(**e))
-
diff --git a/io_export_dxf/model/model.py b/io_export_dxf/model/model.py
index 53fef13b3a4a4870653b1ac09a73cc2d95b397eb..54e12f3a63d6c386b2c1b8ab4fb36d3087ea034c 100644
--- a/io_export_dxf/model/model.py
+++ b/io_export_dxf/model/model.py
@@ -34,5 +34,3 @@ class DxfDrawing(object):
 	def convert(self, **kwargs):
 		""" Converts this drawing into DXF representation object """
 		raise NotImplementedError()
-
-
diff --git a/io_export_dxf/operator.py b/io_export_dxf/operator.py
index a2d9dcf764c1c3568b4f32a157215013f66468e4..e419608f183a748cdf047e207fc28734997d7ba1 100644
--- a/io_export_dxf/operator.py
+++ b/io_export_dxf/operator.py
@@ -299,5 +299,3 @@ class DXFExporter(bpy.types.Operator):
         WindowManager = context.window_manager
         WindowManager.fileselect_add(self)
         return {'RUNNING_MODAL'}
-
-
diff --git a/io_export_dxf/primitive_exporters/insert_exporter.py b/io_export_dxf/primitive_exporters/insert_exporter.py
index 46382e3d37e39b8cb346f39036ef0ac4abe7c875..c016364f663fcb07cac80a4b2a4dd3d748dacebd 100644
--- a/io_export_dxf/primitive_exporters/insert_exporter.py
+++ b/io_export_dxf/primitive_exporters/insert_exporter.py
@@ -72,4 +72,3 @@ def exportInsert(ob, mx, insert_name, **common):
         entities.append(dxfINSERT)
 
     return entities
-
diff --git a/io_export_dxf/primitive_exporters/lamp_exporter.py b/io_export_dxf/primitive_exporters/lamp_exporter.py
index 01a65abdfd002c4f1637d189ab35b2594b8d37b0..c67eb032d34b163a2dca57ce327ade27f9c1aa45 100644
--- a/io_export_dxf/primitive_exporters/lamp_exporter.py
+++ b/io_export_dxf/primitive_exporters/lamp_exporter.py
@@ -18,4 +18,3 @@ def exportLamp(ob, mx, mw, **common):
         dxfPOINT = DXF.Point(points=[p],**common)
         entities.append(dxfPOINT)
     return entities
-
diff --git a/io_export_dxf/primitive_exporters/text_exporter.py b/io_export_dxf/primitive_exporters/text_exporter.py
index 52d19725558bf5ae6d44407ff5634a010539a638..5cd9e62975c0487babfe43996da48d7f4fd5c5de 100644
--- a/io_export_dxf/primitive_exporters/text_exporter.py
+++ b/io_export_dxf/primitive_exporters/text_exporter.py
@@ -85,5 +85,3 @@ def exportText(ob, mx, mw, **common):
                 flag=textFlag,height=textHeight,justifyhor=Alignment,**common)
             entities.append(dxfTEXT)
     return entities
-
-
diff --git a/io_export_dxf/primitive_exporters/viewborder_exporter.py b/io_export_dxf/primitive_exporters/viewborder_exporter.py
index 680e4a54cc4b9eb4d4204a67082c1a3a1e4effe5..091cf63bdb43411d4b33c97760672f6ed2235609 100644
--- a/io_export_dxf/primitive_exporters/viewborder_exporter.py
+++ b/io_export_dxf/primitive_exporters/viewborder_exporter.py
@@ -21,4 +21,3 @@ class ViewBorderDXFExporter(BasePrimitiveDXFExporter):
             dxfPOLYFACE = DXF.PolyLine([allpoints, faces], flag70=flag70, flag75=flag70, width=0.0, paperspace=espace, color=LAYERCOLOR_DEF)
             #dxfPLINE = DXF.PolyLine(points,points[0],[closed,0,0], paperspace=espace, color=LAYERCOLOR_DEF)
             d.append(dxfPLINE)
-
diff --git a/io_import_dxf/dxfgrabber/drawing.py b/io_import_dxf/dxfgrabber/drawing.py
index f9a01faf6572214b1864e4f5fa0ec69f5f14bbbc..db739b2332ae37fc1b6685abc78833857eca3dfe 100644
--- a/io_import_dxf/dxfgrabber/drawing.py
+++ b/io_import_dxf/dxfgrabber/drawing.py
@@ -62,4 +62,4 @@ class Drawing(object):
 def resolve_text_styles(entities, text_styles):
     for entity in entities:
         if hasattr(entity, 'resolve_text_style'):
-            entity.resolve_text_style(text_styles)
\ No newline at end of file
+            entity.resolve_text_style(text_styles)
diff --git a/io_import_dxf/dxfgrabber/dxfentities.py b/io_import_dxf/dxfgrabber/dxfentities.py
index 4dfcd3c99f7e3b3bc441b9e79470b3db3afebc81..61ff351c3c5aeb134144e2b8ae5d0654d94950c7 100644
--- a/io_import_dxf/dxfgrabber/dxfentities.py
+++ b/io_import_dxf/dxfgrabber/dxfentities.py
@@ -1261,4 +1261,3 @@ def entity_factory(tags):
     entity = cls()  # call constructor
     list(entity.setup_attributes(tags))  # setup dxf attributes - chain of generators
     return entity
-
diff --git a/io_import_dxf/dxfgrabber/juliandate.py b/io_import_dxf/dxfgrabber/juliandate.py
index 68c5c8e117b70905269303a34d4e32dd2c5c1d83..3fbbb5b882a32e9176c41442f18bbfbaaa5da387 100644
--- a/io_import_dxf/dxfgrabber/juliandate.py
+++ b/io_import_dxf/dxfgrabber/juliandate.py
@@ -70,4 +70,4 @@ def julian_date(date):
 
 
 def calendar_date(juliandate):
-    return CalendarDate(juliandate).result
\ No newline at end of file
+    return CalendarDate(juliandate).result
diff --git a/io_import_dxf/dxfgrabber/layers.py b/io_import_dxf/dxfgrabber/layers.py
index 02ef66e8309fa60c6b8c05157049730df8a8fccf..a82e5ec8cc09b53e0652117a2dd074928c47429b 100644
--- a/io_import_dxf/dxfgrabber/layers.py
+++ b/io_import_dxf/dxfgrabber/layers.py
@@ -87,4 +87,3 @@ class LayerTable(Table):
             layer = Layer(entrytags)
             layers._table_entries[layer.name] = layer
         return layers
-
diff --git a/io_import_dxf/dxfgrabber/linetypes.py b/io_import_dxf/dxfgrabber/linetypes.py
index 8e4441bba989e9b91b8094d712bbe248ab085193..4d7caba63b9f25afc6d71834dc8ecab20245e674 100644
--- a/io_import_dxf/dxfgrabber/linetypes.py
+++ b/io_import_dxf/dxfgrabber/linetypes.py
@@ -35,4 +35,3 @@ class LinetypeTable(Table):
             style = Linetype(entry_tags)
             styles._table_entries[style.name] = style
         return styles
-
diff --git a/io_import_dxf/dxfimport/convert.py b/io_import_dxf/dxfimport/convert.py
index 717bd4f27de43d0f1b185bb32644697dbac7ec26..8935480e196230a51efd6e8ca7ead32c2bd1eef3 100644
--- a/io_import_dxf/dxfimport/convert.py
+++ b/io_import_dxf/dxfimport/convert.py
@@ -278,14 +278,14 @@ def split_by_width(entity):
         en_template.bulge = []
         en_template.width = []
         en_template.tangents = []
-        
-        # is_closed is an attrib only on polyline 
+
+        # is_closed is an attrib only on polyline
         if en_template.dxftype == 'POLYLINE':
             en_template.is_closed = False
         else:
             # disable closed flag (0x01) when is_closed is a @property
             en_template.flags ^= 1
-            
+
         i = 0
         for pair, same_width in itertools.groupby(entity.width, key=lambda w: WidthTuple(w)):
             en = deepcopy(en_template)
diff --git a/io_import_dxf/dxfimport/is_.py b/io_import_dxf/dxfimport/is_.py
index c6777530047cc4498f473cd1c398ebfb084a103a..021e69d335635a2efb80ec8de53c59656e8ebc01 100644
--- a/io_import_dxf/dxfimport/is_.py
+++ b/io_import_dxf/dxfimport/is_.py
@@ -143,4 +143,4 @@ def extrusion(entity):
     if entity.extrusion is None:
         return False
     return Vector(entity.extrusion) != Vector((0, 0, 1)) \
-                    or (hasattr(entity, "elevation") and entity.elevation != 0)
\ No newline at end of file
+                    or (hasattr(entity, "elevation") and entity.elevation != 0)
diff --git a/io_mesh_pdb/export_pdb.py b/io_mesh_pdb/export_pdb.py
index d0eb07eb74fd1da959d531094af18119a320b558..ff038868f956562b9bd3af1b4f92df15d8907bc1 100644
--- a/io_mesh_pdb/export_pdb.py
+++ b/io_mesh_pdb/export_pdb.py
@@ -81,4 +81,3 @@ def export_pdb(obj_type, filepath_pdb):
     pdb_file_p.close()
 
     return True
-
diff --git a/io_mesh_pdb/import_pdb.py b/io_mesh_pdb/import_pdb.py
index a7a0be7db28a5a2596920577b5a05d9ee328b508..8b1eec0878bdfa5b64b487e61778c01cf4f18eb7 100644
--- a/io_mesh_pdb/import_pdb.py
+++ b/io_mesh_pdb/import_pdb.py
@@ -1390,4 +1390,3 @@ def import_pdb(Ball_type,
     # activate the last selected object
     if obj:
         bpy.context.scene.objects.active = obj
-
diff --git a/io_online_sketchfab/pack_for_export.py b/io_online_sketchfab/pack_for_export.py
index e9fbde72bef9497f40f1b99ec278cec0e1e38444..587c94c22e83b62cfbfcd01f7f8e7dd1d7854ea9 100644
--- a/io_online_sketchfab/pack_for_export.py
+++ b/io_online_sketchfab/pack_for_export.py
@@ -136,4 +136,3 @@ if __name__ == "__main__":
         traceback.print_exc()
 
         sys.exit(1)
-
diff --git a/materials_library_vx/README.txt b/materials_library_vx/README.txt
index 8a9b6ccc1019f8c7fceebb6e42f1dde1933cf5c2..6928992ccd7974624a39330d89692f282e86e4f3 100644
--- a/materials_library_vx/README.txt
+++ b/materials_library_vx/README.txt
@@ -49,7 +49,7 @@ v 0.5.61
 v 0.5.6
 - Create new libraries.
 	Libraries are read from the matlib folder. If you want to change this behaviour, edit the variable "matlib_path" at line 40. (Untested)
-	
+
 	To delete a library delete the blend file within the matlib folder.
 
 - Apply material to all selected objects.
@@ -66,10 +66,8 @@ v 0.5.6
 - Options Added:
 	- Force Import. False By default.
 		This option helps to avoid material duplicates when the same material its applied several times.
-		When this option is disabled the script will try to find the selected material within the working scene, instead of importing a new one from the library. 
+		When this option is disabled the script will try to find the selected material within the working scene, instead of importing a new one from the library.
 	- Linked.
 		Import the material by making a link to the library.
 	- Hide search.
 		Shows or hides the search box.
-
-
diff --git a/materials_library_vx/categories.txt b/materials_library_vx/categories.txt
index 04186250db95f58ae3da720e86be8bdb4ac71bf6..8bab287ee395306884872174df4c313901cb2c8f 100644
--- a/materials_library_vx/categories.txt
+++ b/materials_library_vx/categories.txt
@@ -111,4 +111,4 @@
             "Flaky Tangelo"
         ]
     ]
-]
\ No newline at end of file
+]
diff --git a/measureit/measureit_geometry.py b/measureit/measureit_geometry.py
index 1617ed5ad8681b16028a91df4606e8c94e5dc5fa..46e930c309e14f8c8d5275bb8110fe9f3cbffafe 100644
--- a/measureit/measureit_geometry.py
+++ b/measureit/measureit_geometry.py
@@ -1094,7 +1094,7 @@ def draw_edges(context, myobj, region, rv3d):
     precision = scene.measureit_debug_precision
     # --------------------
     # edge Loop
-    # 
+    #
     # uses lambda for edge midpoint finder (midf) because edit mode
     # edge vert coordinate is not stored in same places as in obj mode
     # --------------------
diff --git a/measureit/measureit_main.py b/measureit/measureit_main.py
index c85de95d7a6823bc7ea13eb31004aa9dea4bee2b..53e2a91d83dc5379aa618ff3aa103b87bb9e22c9 100644
--- a/measureit/measureit_main.py
+++ b/measureit/measureit_main.py
@@ -538,7 +538,7 @@ def add_item(box, idx, segment):
             row = box.row(True)
             row.prop(segment, 'glarrow_a', text="")
             row.prop(segment, 'glarrow_b', text="")
-            if segment.glarrow_a != '99' or segment.glarrow_b != '99': 
+            if segment.glarrow_a != '99' or segment.glarrow_b != '99':
                 row.prop(segment, 'glarrow_s', text="Size")
 
         if segment.gltype != 2 and segment.gltype != 10:
diff --git a/mesh_tiny_cad/E2F.py b/mesh_tiny_cad/E2F.py
index 25f17e9f24890eec2335cdbd15e9d8d154e27b09..70b51298768819f7dfb66f2614735a703e7b0ec6 100644
--- a/mesh_tiny_cad/E2F.py
+++ b/mesh_tiny_cad/E2F.py
@@ -29,9 +29,9 @@ def failure_message(self):
 
 def failure_message_on_plane(self):
     msg2 = """\
-Edge2Face expects the edge to intersect at one point on the plane of the selected face. You're  
-seeing this warning because mathutils.geometry.intersect_line_plane is being called on an edge/face  
-combination that has no clear intersection point ( both points of the edge either touch the same  
+Edge2Face expects the edge to intersect at one point on the plane of the selected face. You're
+seeing this warning because mathutils.geometry.intersect_line_plane is being called on an edge/face
+combination that has no clear intersection point ( both points of the edge either touch the same
 plane as the face or they lie in a plane that is offset along the face's normal )"""
     lines = msg2.split('\n')
     for line in lines:
diff --git a/modules/snap_context/utils_projection.py b/modules/snap_context/utils_projection.py
index 70c110f4bf68a88f682d9788bbacb7d35e6323de..d3970b462213e5064bebabc8a4d6a7d15786a097 100644
--- a/modules/snap_context/utils_projection.py
+++ b/modules/snap_context/utils_projection.py
@@ -210,4 +210,3 @@ def intersect_ray_segment_fac(v0, v1, ray_direction, ray_origin):
         c = n - t
         cray = c.cross(ray_direction)
         return cray.dot(n) / nlen
-
diff --git a/netrender/master.py b/netrender/master.py
index 81e62dbb713c04d88d70c3d7b2b1fa4382477b52..92c46031c49314371528d948fab7399c947f7987 100644
--- a/netrender/master.py
+++ b/netrender/master.py
@@ -1193,4 +1193,3 @@ def runMaster(address, broadcast, clear, force, path, update_stats, test_break,u
         clearMaster(httpd.path)
     else:
         saveMaster(path, httpd)
-
diff --git a/netrender/master_html.py b/netrender/master_html.py
index 128004d2d1627b86f717b2ba2c5d86ddfb914a8d..375328de709105d560b125db85b347ef3cb226b1 100644
--- a/netrender/master_html.py
+++ b/netrender/master_html.py
@@ -558,4 +558,3 @@ def get(handler):
         output(link("Back to Main Page", "/html"))
 
         output("</body></html>")
-
diff --git a/netrender/versioning.py b/netrender/versioning.py
index 871fe6872c20e5eb78a2f55c845a5e19cee4d40d..cae75bf6e97eafa1f814a5c85700163f085df26c 100644
--- a/netrender/versioning.py
+++ b/netrender/versioning.py
@@ -131,4 +131,3 @@ ITEMS =  (
           (Subversion.name, Subversion.name, Subversion.description),
           (Git.name, Git.name, Git.description),
           )
-
diff --git a/object_print3d_utils/readme.rst b/object_print3d_utils/readme.rst
index 70815d15e668290a4e3c9bbbde35bd91c219639f..6ae3026fff0f2faac89e91b82fc9195652498ca6 100644
--- a/object_print3d_utils/readme.rst
+++ b/object_print3d_utils/readme.rst
@@ -1,4 +1,4 @@
 object_print3d_utils
 ====================
 
-3d Printing Addon for Blender 2.66
\ No newline at end of file
+3d Printing Addon for Blender 2.66
diff --git a/oscurart_tools/__init__.py b/oscurart_tools/__init__.py
index d0f54c24d334a9b864281f39470f4f47ac78a9e7..420a4990c64390d01c90879060d285eda710dc98 100644
--- a/oscurart_tools/__init__.py
+++ b/oscurart_tools/__init__.py
@@ -196,23 +196,23 @@ class OscPanelMesh(Panel):
         colrow = col.row(align=1)
         colrow.operator("mesh.reconst_osc", icon="UV_SYNC_SELECT")
         colrow = col.row(align=1)
-        colrow.operator("mesh.vertex_color_mask", icon="GROUP_VCOL")        
+        colrow.operator("mesh.vertex_color_mask", icon="GROUP_VCOL")
         colrow = col.row(align=1)
         colrow.operator("mesh.overlap_uv_faces", icon="UV_FACESEL")
         colrow = col.row(align=1)
         colrow.operator("mesh.uv_island_copy", icon="COPYDOWN")
-        colrow.operator("mesh.uv_island_paste", icon="PASTEDOWN")        
+        colrow.operator("mesh.uv_island_paste", icon="PASTEDOWN")
         colrow = col.row(align=1)
-        colrow.operator("view3d.modal_operator", icon="STICKY_UVS_DISABLE")       
+        colrow.operator("view3d.modal_operator", icon="STICKY_UVS_DISABLE")
         colrow = col.row(align=1)
         colrow.operator("lattice.mirror_selected", icon="LATTICE_DATA")
         colrow = col.row(align=1)
         colrow.label(text="Edit Multimesh")
-        colrow.prop_search(scene, "multimeshedit", bpy.data, "groups", text="")   
+        colrow.prop_search(scene, "multimeshedit", bpy.data, "groups", text="")
         colrow = col.row(align=1)
         colrow.operator("mesh.create_edit_multimesh", icon="IMPORT", text= "StartEdit")
         colrow.operator("mesh.apply_edit_multimesh", icon="EXPORT", text="FinishEdit")
-        
+
 
 class OscPanelShapes(Panel):
     bl_idname = "Oscurart Shapes Tools"
diff --git a/oscurart_tools/oscurart_files.py b/oscurart_tools/oscurart_files.py
index 3a507c336e6b3b23f4cf3b1b25d151daeb9248c4..57583e550c7f12408dced156a3d75c7bf1f677dc 100644
--- a/oscurart_tools/oscurart_files.py
+++ b/oscurart_tools/oscurart_files.py
@@ -125,7 +125,7 @@ class collectImagesOsc(Operator):
         for image in bpy.data.images:
             try:
                 image.update()
-            
+
                 if image.has_data:
                     if not os.path.exists(os.path.join(imagespath,os.path.basename(image.filepath))):
                         shutil.copy(image.filepath, os.path.join(imagespath,os.path.basename(image.filepath)))
@@ -133,9 +133,9 @@ class collectImagesOsc(Operator):
                     else:
                         print("%s exists." % (image.name))
                 else:
-                    print("%s missing path." % (image.name))   
+                    print("%s missing path." % (image.name))
             except:
-                print("%s missing path." % (image.name))             
+                print("%s missing path." % (image.name))
 
         bpy.ops.file.make_paths_relative()
 
diff --git a/oscurart_tools/oscurart_meshes.py b/oscurart_tools/oscurart_meshes.py
index a31e1a5739a0e442d60d0c1c91d7918aa28fea4d..1dce40f4edd169bf97bceae9984030d3ce575b1a 100644
--- a/oscurart_tools/oscurart_meshes.py
+++ b/oscurart_tools/oscurart_meshes.py
@@ -354,32 +354,32 @@ def DefOscOverlapUv(self,offset,rotate):
     bm.faces.ensure_lookup_table()
     faces = [face for face in bm.faces if face.select]
     uv_layer = bm.loops.layers.uv[bpy.context.object.data.uv_layers.active.name]
-    
+
     faceDict = {}
     faceReverse = []
     bm.select_mode = {'FACE'}
     for face in faces:
-        bpy.ops.mesh.select_all(action="DESELECT") 
+        bpy.ops.mesh.select_all(action="DESELECT")
         face.select = True
         bpy.ops.mesh.select_mirror()
         faceDict[face.index] = [mirrorface for mirrorface in bm.faces if mirrorface.select][0].index
         faceReverse.append([mirrorface for mirrorface in bm.faces if mirrorface.select][0])
-        
-    
-
-    for selFace,mirrorFace in faceDict.items():   
-        for loop,mirrorLoop in zip(bm.faces[selFace].loops,bm.faces[mirrorFace].loops): 
-            mirrorLoop.copy_from(loop)   
-        if offset:      
-            for loop,mirrorLoop in zip(bm.faces[selFace].loops,bm.faces[mirrorFace].loops):    
-                mirrorLoop[uv_layer].uv += Vector((1,0))  
-   
-                       
-    #invierto direcciones        
+
+
+
+    for selFace,mirrorFace in faceDict.items():
+        for loop,mirrorLoop in zip(bm.faces[selFace].loops,bm.faces[mirrorFace].loops):
+            mirrorLoop.copy_from(loop)
+        if offset:
+            for loop,mirrorLoop in zip(bm.faces[selFace].loops,bm.faces[mirrorFace].loops):
+                mirrorLoop[uv_layer].uv += Vector((1,0))
+
+
+    #invierto direcciones
     bmesh.ops.reverse_uvs(bm, faces=[f for f in faceReverse])
-    bmesh.ops.rotate_uvs(bm, faces=[f for f in faceReverse]) 
+    bmesh.ops.rotate_uvs(bm, faces=[f for f in faceReverse])
     if rotate:
-        bmesh.ops.rotate_uvs(bm, faces=[f for f in faceReverse]) 
+        bmesh.ops.rotate_uvs(bm, faces=[f for f in faceReverse])
 
     bmesh.update_edit_mesh(me)
 
@@ -566,41 +566,41 @@ def defCopyUvsIsland(self, context):
             for li in poly.loop_indices:
                 obLoop.append(li)
 
-    bpy.ops.object.mode_set(mode="EDIT")        
-    
+    bpy.ops.object.mode_set(mode="EDIT")
+
 def defPasteUvsIsland(self, uvOffset, rotateUv,context):
     bpy.ops.object.mode_set(mode="OBJECT")
     selPolys = [poly.index for poly in bpy.context.object.data.polygons if poly.select]
-        
+
     for island in selPolys:
-        bpy.ops.object.mode_set(mode="EDIT")      
-        bpy.ops.mesh.select_all(action="DESELECT")        
-        bpy.ops.object.mode_set(mode="OBJECT")  
+        bpy.ops.object.mode_set(mode="EDIT")
+        bpy.ops.mesh.select_all(action="DESELECT")
+        bpy.ops.object.mode_set(mode="OBJECT")
         bpy.context.object.data.polygons[island].select = True
-        bpy.ops.object.mode_set(mode="EDIT")  
+        bpy.ops.object.mode_set(mode="EDIT")
         bpy.ops.mesh.select_linked()
-        bpy.ops.object.mode_set(mode="OBJECT") 
+        bpy.ops.object.mode_set(mode="OBJECT")
         TobLoop = []
         TislandFaces = []
         for poly in bpy.context.object.data.polygons:
             if poly.select:
                 TislandFaces.append(poly.index)
                 for li in poly.loop_indices:
-                    TobLoop.append(li)    
+                    TobLoop.append(li)
 
         for source,target in zip(range(min(obLoop),max(obLoop)+1),range(min(TobLoop),max(TobLoop)+1)):
             bpy.context.object.data.uv_layers.active.data[target].uv = bpy.context.object.data.uv_layers.active.data[source].uv + Vector((uvOffset,0))
-              
-        bpy.ops.object.mode_set(mode="EDIT")   
-        
+
+        bpy.ops.object.mode_set(mode="EDIT")
+
     if rotateUv:
-        bpy.ops.object.mode_set(mode="OBJECT") 
+        bpy.ops.object.mode_set(mode="OBJECT")
         for poly in selPolys:
             bpy.context.object.data.polygons[poly].select = True
         bpy.ops.object.mode_set(mode="EDIT")
         bm = bmesh.from_edit_mesh(bpy.context.object.data)
         bmesh.ops.reverse_uvs(bm, faces=[f for f in bm.faces if f.select])
-        bmesh.ops.rotate_uvs(bm, faces=[f for f in bm.faces if f.select]) 
+        bmesh.ops.rotate_uvs(bm, faces=[f for f in bm.faces if f.select])
         #bmesh.update_edit_mesh(bpy.context.object.data, tessface=False, destructive=False)
 
 
@@ -620,22 +620,22 @@ class CopyUvIsland(Operator):
     def execute(self, context):
         defCopyUvsIsland(self, context)
         return {'FINISHED'}
-    
+
 class PasteUvIsland(Operator):
     """Paste Uv Island"""
     bl_idname = "mesh.uv_island_paste"
     bl_label = "Paste Uv Island"
     bl_options = {"REGISTER", "UNDO"}
-    
+
     uvOffset = BoolProperty(
             name="Uv Offset",
             default=False
-            )    
+            )
 
     rotateUv = BoolProperty(
             name="Rotate Uv Corner",
             default=False
-            )  
+            )
     @classmethod
     def poll(cls, context):
         return (context.active_object is not None and
@@ -644,22 +644,22 @@ class PasteUvIsland(Operator):
 
     def execute(self, context):
         defPasteUvsIsland(self, self.uvOffset, self.rotateUv, context)
-        return {'FINISHED'}    
-    
-    
+        return {'FINISHED'}
+
+
 
 class createEditMultimesh(Operator):
     """Create Edit Multi Mesh"""
     bl_idname = "mesh.create_edit_multimesh"
     bl_label = "Create edit multimesh"
     bl_options = {"REGISTER", "UNDO"}
-    
-    
+
+
     # creo el merge para editar
-    def execute(self,context):    
+    def execute(self,context):
         global relvert
-        global me    
-        global ob 
+        global me
+        global ob
         temp = [[ob , [vert.co for vert in ob.data.vertices]]for ob in bpy.data.groups[bpy.context.scene.multimeshedit].objects]
         vi = 0
         pi = 0
@@ -670,10 +670,10 @@ class createEditMultimesh(Operator):
             objectMatrix = ob[0].matrix_world.copy()
             for vert in ob[0].data.vertices:
                 vertlist.append(objectMatrix*vert.co)
-            for poly in ob[0].data.polygons: 
+            for poly in ob[0].data.polygons:
                 polylist.append(tuple([vert+vi for vert in poly.vertices[:]]))
             relvert[ob[0]] = {vert.index:vert.index+vi for vert in  ob[0].data.vertices}
-            vi += len(ob[0].data.vertices)  
+            vi += len(ob[0].data.vertices)
             ob[0].hide = 1
         me = bpy.data.meshes.new("editMesh")
         ob = bpy.data.objects.new("editMesh", me)
@@ -682,7 +682,7 @@ class createEditMultimesh(Operator):
         bpy.ops.object.select_all(action="DESELECT")
         bpy.context.scene.objects.active = ob
         bpy.ops.object.mode_set(mode='EDIT', toggle=False)
-        return {'FINISHED'}  
+        return {'FINISHED'}
 
 
 class ApplyEditMultimesh(Operator):
@@ -690,17 +690,17 @@ class ApplyEditMultimesh(Operator):
     bl_idname = "mesh.apply_edit_multimesh"
     bl_label = "Apply edit multimesh"
     bl_options = {"REGISTER", "UNDO"}
-   
-    def execute(self,context):    
+
+    def execute(self,context):
         bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
         for object,rv in relvert.items():
             objectMatrix = object.matrix_world.inverted().copy()
             for source, target in rv.items():
                 object.data.vertices[source].co = objectMatrix * me.vertices[target].co
-            object.hide = 0    
-        bpy.context.scene.objects.unlink(ob) 
-        return {'FINISHED'} 
-        
+            object.hide = 0
+        bpy.context.scene.objects.unlink(ob)
+        return {'FINISHED'}
+
 # -------------------------VERTEX COLOR MASK----------------------------------
 
 
@@ -719,10 +719,10 @@ class resymVertexGroups(Operator):
         obj = bpy.context.active_object
         mesh= obj.data
 
-        bpy.ops.object.mode_set(mode='EDIT', toggle=False) 
-        bpy.ops.mesh.select_all(action="DESELECT") 
+        bpy.ops.object.mode_set(mode='EDIT', toggle=False)
+        bpy.ops.mesh.select_all(action="DESELECT")
 
-        bm = bmesh.from_edit_mesh(mesh) 
+        bm = bmesh.from_edit_mesh(mesh)
         bm.faces.ensure_lookup_table()
 
         islands = []
@@ -730,24 +730,24 @@ class resymVertexGroups(Operator):
 
         try:
             color_layer = bm.loops.layers.color["RGBMask"]
-        except:    
+        except:
             color_layer = bm.loops.layers.color.new("RGBMask")
 
         while faces:
-            faces[0].select_set(True) 
-            bpy.ops.mesh.select_linked() 
+            faces[0].select_set(True)
+            bpy.ops.mesh.select_linked()
             islands.append([f for f in faces if f.select])
-            bpy.ops.mesh.hide(unselected=False) 
-            faces = [f for f in bm.faces if not f.hide] 
+            bpy.ops.mesh.hide(unselected=False)
+            faces = [f for f in bm.faces if not f.hide]
 
         bpy.ops.mesh.reveal()
 
         for island in islands:
-            color = (uniform(0,1),uniform(0,1),uniform(0,1),1) 
+            color = (uniform(0,1),uniform(0,1),uniform(0,1),1)
             for face in island:
                 for loop in face.loops:
-                    loop[color_layer] = color    
-            
+                    loop[color_layer] = color
+
         bpy.ops.object.mode_set(mode="VERTEX_PAINT")
 
-        return {'FINISHED'}           
\ No newline at end of file
+        return {'FINISHED'}
diff --git a/oscurart_tools/oscurart_objects.py b/oscurart_tools/oscurart_objects.py
index 2b24938aeede1242dbd0f8a299ba9e203517d18c..cae6c463e8896112dd6e1d09846640e6131d8114 100644
--- a/oscurart_tools/oscurart_objects.py
+++ b/oscurart_tools/oscurart_objects.py
@@ -529,7 +529,7 @@ def DefObjectToGroups():
     try:
         "%s_MSH" % (os.path.basename(bpy.data.filepath).replace(".blend", ""))
         scgr = bpy.data.groups["%s_MSH" % (os.path.basename(bpy.data.filepath).replace(".blend", ""))]
-    except:    
+    except:
         scgr = bpy.data.groups.new(
             "%s_MSH" %
             (os.path.basename(bpy.data.filepath).replace(".blend", "")))
diff --git a/oscurart_tools/oscurart_render.py b/oscurart_tools/oscurart_render.py
index a758fae1e612fea50ea5318b8897f598ad4c8330..12858fa4e903ee8f142026315db7ab120350ab8e 100644
--- a/oscurart_tools/oscurart_render.py
+++ b/oscurart_tools/oscurart_render.py
@@ -70,7 +70,7 @@ def defRenderAll(frametype, scenes):
                 for i in scene.render.layers:
                     i.use = False
                 layer.use = 1
-                
+
                 print("SCENE: %s" % scene.name)
                 print("LAYER: %s" % layer.name)
                 print("OVERRIDE: %s" % str(proptolist))
@@ -84,7 +84,7 @@ def defRenderAll(frametype, scenes):
                     "$Camera":scene.camera.name}
 
                 scene.render.filepath = renpath.replace("$Scene",tokens["$Scene"]).replace("$File",tokens["$File"]).replace("$Layer",tokens["$Layer"]).replace("$Camera",tokens["$Camera"])
-                
+
                 bpy.context.window.screen.scene = scene
                 bpy.ops.render.render(
                     animation=True,
@@ -218,15 +218,15 @@ def defoscBatchMaker(TYPE, BIN):
     SHFILE = os.path.join(
         bpy.data.filepath.rpartition(SYSBAR)[0],
         FILENAME + EXTSYS)
-        
-    renpath = bpy.context.scene.render.filepath    
+
+    renpath = bpy.context.scene.render.filepath
     tokens = {
         "$Scene":bpy.context.scene.name,
         "$File":os.path.basename(bpy.data.filepath).split(".")[0],
         "$Layer":bpy.context.scene.render.layers.active.name,
         "$Camera":bpy.context.scene.camera.name}
 
-    rfp = bpy.context.scene.render.filepath.replace("$Scene",tokens["$Scene"]).replace("$File",tokens["$File"]).replace("$Layer",tokens["$Layer"]).replace("$Camera",tokens["$Camera"])        
+    rfp = bpy.context.scene.render.filepath.replace("$Scene",tokens["$Scene"]).replace("$File",tokens["$File"]).replace("$Layer",tokens["$Layer"]).replace("$Camera",tokens["$Camera"])
     with open(SHFILE, "w") as FILE:
         # assign permission in linux
         if EXTSYS == ".sh":
@@ -509,5 +509,3 @@ class BrokenFramesPanel (Panel):
         colrow.operator("object.clear_broken_file")
         colrow = col.row(align=1)
         colrow.operator("object.delete_broken_file")
-
-
diff --git a/presets/pov/lamp/01_(5400K)_Direct_Sun.py b/presets/pov/lamp/01_(5400K)_Direct_Sun.py
index 7f53ce06d3d189d2324af2efb199f91da5b178f9..6d2818375b05020c02e756a5ec1eea044d4907a1 100644
--- a/presets/pov/lamp/01_(5400K)_Direct_Sun.py
+++ b/presets/pov/lamp/01_(5400K)_Direct_Sun.py
@@ -7,4 +7,4 @@ lampdata = bpy.context.object.data
 lampdata.color = (1.0, 1.0, 0.9843137264251709)
 lampdata.energy = 1.2 #100 000lux
 #lampdata.distance = 0.001
-#lampdata.falloff_type = 'INVERSE_SQUARE'
\ No newline at end of file
+#lampdata.falloff_type = 'INVERSE_SQUARE'
diff --git a/presets/pov/lamp/02_(5400K)_High_Noon_Sun.py b/presets/pov/lamp/02_(5400K)_High_Noon_Sun.py
index 6d3083a6e6a91b1ec99b542d6fb0bb771c374770..47499b5269490c38bd57365307890d49621c62af 100644
--- a/presets/pov/lamp/02_(5400K)_High_Noon_Sun.py
+++ b/presets/pov/lamp/02_(5400K)_High_Noon_Sun.py
@@ -14,4 +14,3 @@ lampdata.shadow_ray_samples_x = 2
 lampdata.color = (1.0, 1.0, 1.0)
 lampdata.energy = 1.094316#91193 #lux
 lampdata.distance =695699968
-
diff --git a/presets/pov/lamp/04_(6000K)_2500W_HMI_(Halogen_Metal_Iodide).py b/presets/pov/lamp/04_(6000K)_2500W_HMI_(Halogen_Metal_Iodide).py
index 0bfa95d84a1560f01d1ee671d11012a52c4fccf5..b48b2ec649e6599b8fe64f055b7e1f16791e3aed 100644
--- a/presets/pov/lamp/04_(6000K)_2500W_HMI_(Halogen_Metal_Iodide).py
+++ b/presets/pov/lamp/04_(6000K)_2500W_HMI_(Halogen_Metal_Iodide).py
@@ -11,4 +11,4 @@ lampdata.spot_blend = 0.9
 lampdata.color = (0.99, 0.9882352948188782, 0.998)
 lampdata.energy = 223.81796 #240000lm/21.446(=lux)*0.004*2.5(distance) *2 for distance is the point of half strength
 lampdata.distance = 0.001
-lampdata.falloff_type = 'INVERSE_SQUARE'
\ No newline at end of file
+lampdata.falloff_type = 'INVERSE_SQUARE'
diff --git a/presets/pov/lamp/05_(4000K)_100W_Metal_Halide.py b/presets/pov/lamp/05_(4000K)_100W_Metal_Halide.py
index e91d3f9a49d8eb4ad30f3b71094d022586a59f31..2a0ba8c12164925c6a8d0a9b11741a6f94a1b5f1 100644
--- a/presets/pov/lamp/05_(4000K)_100W_Metal_Halide.py
+++ b/presets/pov/lamp/05_(4000K)_100W_Metal_Halide.py
@@ -11,4 +11,4 @@ lampdata.spot_blend = 0.9
 lampdata.color = (0.9490196108818054, 0.9882352948188782, 1.0)
 lampdata.energy = 20.98293#9000lm/21.446(=lux)*0.004*6.25(distance) *2 for distance is the point of half strength
 lampdata.distance = 0.025
-lampdata.falloff_type = 'INVERSE_SQUARE'
\ No newline at end of file
+lampdata.falloff_type = 'INVERSE_SQUARE'
diff --git a/presets/pov/lamp/06_(3200K)_100W_Quartz_Halogen.py b/presets/pov/lamp/06_(3200K)_100W_Quartz_Halogen.py
index b58edf17d44f8e78b8ea0df26d1c2eda9c8853a7..366cbed60b8ab9fc7da27112d52233ab11bdcf3e 100644
--- a/presets/pov/lamp/06_(3200K)_100W_Quartz_Halogen.py
+++ b/presets/pov/lamp/06_(3200K)_100W_Quartz_Halogen.py
@@ -1,7 +1,7 @@
 #since 1960, no longer manufactured since 2016
 #8mm projectors
 #used in many automobiles headlamps ; outdoor lighting systems ; watercraft ; desktop lamps (smaller power).
-#theatrical and studio (film and television) fixtures, including Ellipsoidal reflector spotlights, Source Four, and Fresnels; PAR Cans 
+#theatrical and studio (film and television) fixtures, including Ellipsoidal reflector spotlights, Source Four, and Fresnels; PAR Cans
 
 import bpy
 bpy.context.object.data.type = 'SPOT'
diff --git a/presets/pov/lamp/07_(2850K)_100w_Tungsten.py b/presets/pov/lamp/07_(2850K)_100w_Tungsten.py
index 72675de3baec0865f6348e1e862d0cf1d57966a8..a77e3616e37f2e69710fa3a5cdef7c00a2ce7527 100644
--- a/presets/pov/lamp/07_(2850K)_100w_Tungsten.py
+++ b/presets/pov/lamp/07_(2850K)_100w_Tungsten.py
@@ -7,4 +7,4 @@ lampdata = bpy.context.object.data
 lampdata.color = (1.0, 0.8392156958580017, 0.6666666865348816)
 lampdata.energy = 7.46060#3.7303#1000/21.446/(lampdistance/candledistance)  #lumen values/21.446 or lux when available used as a basis
 lampdata.distance = 0.05
-lampdata.falloff_type = 'INVERSE_SQUARE'
\ No newline at end of file
+lampdata.falloff_type = 'INVERSE_SQUARE'
diff --git a/presets/pov/lamp/08_(2600K)_40w_Tungsten.py b/presets/pov/lamp/08_(2600K)_40w_Tungsten.py
index 88ef46a0d42101a5220a2b645b624e7edce7ed28..66a4e383b7c33993dc29440ffa8179ac3ac493a0 100644
--- a/presets/pov/lamp/08_(2600K)_40w_Tungsten.py
+++ b/presets/pov/lamp/08_(2600K)_40w_Tungsten.py
@@ -7,4 +7,4 @@ lampdata = bpy.context.object.data
 lampdata.color = (1.0, 0.8196078431372549, 0.6980392156862745)
 lampdata.energy = 2.98424#400/21.446 #lumen values/21.446 or lux when available used as a basis
 lampdata.distance = 0.05
-lampdata.falloff_type = 'INVERSE_SQUARE'
\ No newline at end of file
+lampdata.falloff_type = 'INVERSE_SQUARE'
diff --git a/presets/pov/lamp/09_(5000K)_75W_Full_Spectrum_Fluorescent_T12.py b/presets/pov/lamp/09_(5000K)_75W_Full_Spectrum_Fluorescent_T12.py
index b0a23eda43c755418b89cf0ebe94d69a40861457..78fa29cbe230c944a51e6254669b44ad9c1a0461 100644
--- a/presets/pov/lamp/09_(5000K)_75W_Full_Spectrum_Fluorescent_T12.py
+++ b/presets/pov/lamp/09_(5000K)_75W_Full_Spectrum_Fluorescent_T12.py
@@ -11,4 +11,4 @@ lampdata.shadow_ray_samples_y = 2
 lampdata.color = (1.0, 0.95686274766922, 0.9490200281143188)
 lampdata.energy = 4.45304#4775lm/21.446(=lux)*0.004(distance) *2 for distance is the point of half strength 6200lm?
 lampdata.distance = 1.0 #dist values multiplied by 10 for area lights for same power as bulb/spot/...
-#lampdata.falloff_type = 'INVERSE_SQUARE'
\ No newline at end of file
+#lampdata.falloff_type = 'INVERSE_SQUARE'
diff --git a/presets/pov/lamp/10_(4300K)_40W_Vintage_Fluorescent_T12.py b/presets/pov/lamp/10_(4300K)_40W_Vintage_Fluorescent_T12.py
index d03ce6fd98044b07ecaa49b2170bd7458541390e..dc78bc5c5e5ffb076f76aa44cf05ded33efd778c 100644
--- a/presets/pov/lamp/10_(4300K)_40W_Vintage_Fluorescent_T12.py
+++ b/presets/pov/lamp/10_(4300K)_40W_Vintage_Fluorescent_T12.py
@@ -11,4 +11,4 @@ lampdata.shadow_ray_samples_y = 2
 lampdata.color = (0.901, 1.0, 0.979)
 lampdata.energy = 2.14492#2300lm/21.446(=lux)*0.004*2.5(distance) *2 for distance is the point of half strength
 lampdata.distance = 1.0 #dist values multiplied by 10 for area lights for same power as bulb/spot/...
-#lampdata.falloff_type = 'INVERSE_SQUARE'
\ No newline at end of file
+#lampdata.falloff_type = 'INVERSE_SQUARE'
diff --git a/presets/pov/lamp/11_(5000K)_18W_Standard_Fluorescent_T8.py b/presets/pov/lamp/11_(5000K)_18W_Standard_Fluorescent_T8.py
index 6fef17639598fdd25ba5c625d7b8e538a4b52715..a70cda3fa6cecd4f5a3553daa888ce239d2143e4 100644
--- a/presets/pov/lamp/11_(5000K)_18W_Standard_Fluorescent_T8.py
+++ b/presets/pov/lamp/11_(5000K)_18W_Standard_Fluorescent_T8.py
@@ -1,4 +1,4 @@
-#since 1973 
+#since 1973
 
 import bpy
 bpy.context.object.data.type = 'AREA'
diff --git a/presets/pov/lamp/12_(4200K)_18W_Cool_White_Fluorescent_T8.py b/presets/pov/lamp/12_(4200K)_18W_Cool_White_Fluorescent_T8.py
index 83f8dd4e6afa2f5332e4554e02ad804056de02d6..c2a0d65d30d2fc582c3a20fc451c5356d7e60734 100644
--- a/presets/pov/lamp/12_(4200K)_18W_Cool_White_Fluorescent_T8.py
+++ b/presets/pov/lamp/12_(4200K)_18W_Cool_White_Fluorescent_T8.py
@@ -12,4 +12,4 @@ lampdata.shadow_ray_samples_y = 2
 lampdata.color = (0.8313725590705872, 0.9215686321258545, 1.0)
 lampdata.energy = 1.25898#1350lm/21.446(=lux)*0.004*2.5(distance) *2 for distance is the point of half strength
 lampdata.distance = 1.0 #dist values multiplied by 10 for area lights for same power as bulb/spot/...
-#lampdata.falloff_type = 'INVERSE_SQUARE'
\ No newline at end of file
+#lampdata.falloff_type = 'INVERSE_SQUARE'
diff --git a/presets/pov/lamp/15_(3200K)_40W_Induction_ Fluorescent.py b/presets/pov/lamp/15_(3200K)_40W_Induction_ Fluorescent.py
index 1d0851e5be950f12ddc083450b32f6a373baec90..66477ab735b7eb0a2dd80bb2f1023735a6f5e39e 100644
--- a/presets/pov/lamp/15_(3200K)_40W_Induction_ Fluorescent.py	
+++ b/presets/pov/lamp/15_(3200K)_40W_Induction_ Fluorescent.py	
@@ -1,4 +1,4 @@
-#since the 1990's, 
+#since the 1990's,
 #Often circular or rectangular closed loop electrodeless fluorescent lamps
 
 import bpy
diff --git a/presets/pov/lamp/19_(5200K)_700W_Carbon_Arc.py b/presets/pov/lamp/19_(5200K)_700W_Carbon_Arc.py
index 139dc8bb38c35efc65f84494642b98544d4edf0b..64a5bcb51598656651da081dcd7d0ca47eb05780 100644
--- a/presets/pov/lamp/19_(5200K)_700W_Carbon_Arc.py
+++ b/presets/pov/lamp/19_(5200K)_700W_Carbon_Arc.py
@@ -1,8 +1,8 @@
 #Starting from 1876 (first type of commercial lamps developed with electricity)
-#Carbon arc lamps were being phased out after the 1910s. 
-#For general lighting the lamp was replaced by the 1920s and 30s in most cities. 
+#Carbon arc lamps were being phased out after the 1910s.
+#For general lighting the lamp was replaced by the 1920s and 30s in most cities.
 #The lamp continued to be used for spot lights, film production lighting and film projector lamps.
-#Most of the remaining carbon arc lamps ceased production by the 1980s 
+#Most of the remaining carbon arc lamps ceased production by the 1980s
 
 import bpy
 bpy.context.object.data.type = 'SPOT'
@@ -15,4 +15,4 @@ lampdata.spot_blend = 0.3
 lampdata.color = (1.0, 0.9803921580314636, 0.95686274766922)
 lampdata.energy = 51.29162#55000lm/21.446(=lux)*0.004*2.5(distance) *2 for distance is the point of half strength
 lampdata.distance = 0.01
-lampdata.falloff_type = 'INVERSE_SQUARE'
\ No newline at end of file
+lampdata.falloff_type = 'INVERSE_SQUARE'
diff --git a/presets/pov/lamp/22_(30000K)_40W_Black_Light_Fluorescent.py b/presets/pov/lamp/22_(30000K)_40W_Black_Light_Fluorescent.py
index ef6b4725403891510a7256417fb5239d27557c5e..d389807c2b4eebd784024a129aed8474a92ccefa 100644
--- a/presets/pov/lamp/22_(30000K)_40W_Black_Light_Fluorescent.py
+++ b/presets/pov/lamp/22_(30000K)_40W_Black_Light_Fluorescent.py
@@ -1,4 +1,4 @@
-#Starting from 1939 (World War II Byler's tubes) 
+#Starting from 1939 (World War II Byler's tubes)
 
 import bpy
 bpy.context.object.data.type = 'AREA'
@@ -9,4 +9,3 @@ lampdata.size_y = 1.2192
 lampdata.color = (0.6549019813537598, 0.0, 1.0)
 lampdata.energy = 1.86515#100/21.446 #lumen values/21.446 or lux when available used as a basis
 lampdata.distance = 0.4 #dist values multiplied by 10 for area lights for same power as bulb/spot/...
-
diff --git a/presets/pov/lamp/23_(30000K)_40W_Black_Light_Bulb.py b/presets/pov/lamp/23_(30000K)_40W_Black_Light_Bulb.py
index baad8234c444c61898407af4daf9abbf1058b0de..2cdf83fe1db6b6956112ccaa66c288f451d1f068 100644
--- a/presets/pov/lamp/23_(30000K)_40W_Black_Light_Bulb.py
+++ b/presets/pov/lamp/23_(30000K)_40W_Black_Light_Bulb.py
@@ -1,4 +1,4 @@
-#Starting from 1918 (World War I Wood's glass) 
+#Starting from 1918 (World War I Wood's glass)
 
 import bpy
 bpy.context.object.data.type = 'POINT'
diff --git a/presets/pov/lamp/24_(1850K)_Candle.py b/presets/pov/lamp/24_(1850K)_Candle.py
index 5d7ac61d75fad2aca11cf148440b06c05dbe29c0..31e960fc6e5b1deee43942acb04628211e50b63d 100644
--- a/presets/pov/lamp/24_(1850K)_Candle.py
+++ b/presets/pov/lamp/24_(1850K)_Candle.py
@@ -1,4 +1,4 @@
-#Starting from 1825 (stearin) 
+#Starting from 1825 (stearin)
 
 import bpy
 bpy.context.object.data.type = 'POINT'
diff --git a/presets/pov/world/1_Clear_Blue_Sky.py b/presets/pov/world/1_Clear_Blue_Sky.py
index 0dcd5e05f92137eb61ce6b9a407e07eb2a4ab0bd..3ec2c33e8872e35cae6cce91054568f906ddae81 100644
--- a/presets/pov/world/1_Clear_Blue_Sky.py
+++ b/presets/pov/world/1_Clear_Blue_Sky.py
@@ -2,14 +2,14 @@ import bpy
 scene = bpy.context.scene
 
 scene.world.use_sky_blend = True
-#below multiplied by two for a better proportion Clear vs Overcast sky 
+#below multiplied by two for a better proportion Clear vs Overcast sky
 #since Clear sky is 19807 lux vs 2000 for overcast (sun is min 32000 max 100000)
 #http://www.pssurvival.com/PS/Lighting/Typical_LUX_Intensities_for_Day_and_Night-2017.pdf
 #https://en.wikipedia.org/wiki/Daylight
 #https://www.engineeringtoolbox.com/light-level-rooms-d_708.html
 #https://www.cactus2000.de/fr/unit/masslux.shtml
 #https://blendergrid.com/news/cycles-physically-correct-brightness
-#researched result blue is      
+#researched result blue is
     #Hue: 0.6
     #Saturation: 0.533
     #Lightness: 0.7
diff --git a/presets/pov/world/2_Partly_Hazy_Sky.py b/presets/pov/world/2_Partly_Hazy_Sky.py
index 2f6b628d8ec42fe567b8a818e6ed4992204c9f42..3102d0abc37c07cbf4bfb749d7bb5b544cbbc4d3 100644
--- a/presets/pov/world/2_Partly_Hazy_Sky.py
+++ b/presets/pov/world/2_Partly_Hazy_Sky.py
@@ -2,14 +2,14 @@ import bpy
 scene = bpy.context.scene
 
 scene.world.use_sky_blend = True
-#below multiplied by two for a better proportion Clear vs Overcast sky 
+#below multiplied by two for a better proportion Clear vs Overcast sky
 #since Clear sky is 19807 lux vs 2000 for overcast (sun is min 32000 max 100000)
 #http://www.pssurvival.com/PS/Lighting/Typical_LUX_Intensities_for_Day_and_Night-2017.pdf
 #https://en.wikipedia.org/wiki/Daylight
 #https://www.engineeringtoolbox.com/light-level-rooms-d_708.html
 #https://www.cactus2000.de/fr/unit/masslux.shtml
 #https://blendergrid.com/news/cycles-physically-correct-brightness
-#researched result blue is      
+#researched result blue is
     #Hue: 0.6
     #Saturation: 0.533
     #Lightness: 0.7
diff --git a/presets/pov/world/3_Overcast_Sky.py b/presets/pov/world/3_Overcast_Sky.py
index 013a5d40ce74d32e92810896643cc231ed69506c..605f879db8a71cba4fc4ba0e0fe1b53332821ceb 100644
--- a/presets/pov/world/3_Overcast_Sky.py
+++ b/presets/pov/world/3_Overcast_Sky.py
@@ -3,7 +3,7 @@ scene = bpy.context.scene
 
 scene.world.use_sky_blend = True
 scene.world.horizon_color = (0.477, 0.536, 0.604)
-#below divided by ten for a better proportion Clear vs Overcast sky 
+#below divided by ten for a better proportion Clear vs Overcast sky
 #since Clear sky is 20000 lux vs 2000 up to 10000 for overcast
 scene.world.zenith_color = (0.034, 0.043, 0.047)
 scene.world.ambient_color = (0.0, 0.0, 0.0)
diff --git a/render_copy_settings/operator.py b/render_copy_settings/operator.py
index ce5c7347f4781b816605cc8937fe1ca074f1d355..a88e7dc1b17730c51a90e0532cec37b9bcb5b119 100644
--- a/render_copy_settings/operator.py
+++ b/render_copy_settings/operator.py
@@ -195,4 +195,3 @@ classes = (
     RenderCopySettingsOPPreset,
     RenderCopySettingsOPCopy,
 )
-
diff --git a/render_povray/__init__.py b/render_povray/__init__.py
index 90d80f13ea2e060ab9e867627f212daf316c1ff6..099d2fcc9a2c5825a06c83d36c3673c5b06f0273 100644
--- a/render_povray/__init__.py
+++ b/render_povray/__init__.py
@@ -43,7 +43,7 @@ else:
     #import addon_utils # To use some other addons
     import nodeitems_utils #for Nodes
     from nodeitems_utils import NodeCategory, NodeItem #for Nodes
-    from bl_operators.presets import AddPresetBase    
+    from bl_operators.presets import AddPresetBase
     from bpy.types import (
             AddonPreferences,
             PropertyGroup,
@@ -137,13 +137,13 @@ class RenderPovSettingsScene(PropertyGroup):
             name="Enable Media",
             description="Enable POV-Rays atmospheric media",
             default=False)
-            
+
     media_samples = IntProperty(
             name="Samples",
             description="Number of samples taken from camera to first object "
                         "encountered along ray path for media calculation",
             min=1, max=100, default=35)
-            
+
     media_scattering_type = EnumProperty(
             name="Scattering Type",
             description="Scattering model",
@@ -181,14 +181,14 @@ class RenderPovSettingsScene(PropertyGroup):
                                               "values of e (or smaller values "
                                               "in the negative case) increase "
                                               "the directional property of the"
-                                              " scattering.")),                   
+                                              " scattering.")),
             default='1')
-           
+
     media_diffusion_scale = FloatProperty(
             name="Scale", description="Scale factor of Media Diffusion Color",
             precision=12, step=0.00000001, min=0.000000001, max=1.0,
             default=(1.0))
-            
+
     media_diffusion_color = FloatVectorProperty(
             name="Media Diffusion Color", description="The atmospheric media color",
             precision=4, step=0.01, min=0, soft_max=1,
@@ -201,13 +201,13 @@ class RenderPovSettingsScene(PropertyGroup):
                                       "use 1/depth of media volume in meters",
             precision=12, step=0.000001, min=0.000000001, max=1.0,
             default=(0.00002))
-            
+
     media_absorption_color = FloatVectorProperty(
             name="Media Absorption Color", description="The atmospheric media absorption color",
             precision=4, step=0.01, min=0, soft_max=1,
             default=(0.0, 0.0, 0.0),
             options={'ANIMATABLE'},
-            subtype='COLOR')            
+            subtype='COLOR')
 
     media_eccentricity = FloatProperty(
             name="Media Eccenticity Factor", description="Positive values lead"
@@ -218,7 +218,7 @@ class RenderPovSettingsScene(PropertyGroup):
             precision=2, step=0.01, min=-1.0, max=1.0,
             default=(0.0),
             options={'ANIMATABLE'})
-                       
+
     baking_enable = BoolProperty(
             name="Enable Baking",
             description="Enable POV-Rays texture baking",
@@ -1699,7 +1699,7 @@ class RenderPovSettingsObject(PropertyGroup):
             default=(0.001, 0.001, 0.5),
             options={'ANIMATABLE'},
             subtype='XYZ')
-            
+
     # Importance sampling
     importance_value = FloatProperty(
             name="Radiosity Importance",
@@ -1746,7 +1746,7 @@ class RenderPovSettingsObject(PropertyGroup):
         default=(0.0, 0.0, 2.0))
 
     unlock_parameters = BoolProperty(name="Lock",default = False)
-    
+
     # not in UI yet but used for sor (lathe) / prism... pov primitives
     curveshape = EnumProperty(
             name="Povray Shape Type",
@@ -2138,7 +2138,7 @@ class RenderPovSettingsObject(PropertyGroup):
                     description = "",
                     default = 1.0)
 
-                    
+
 ###############################################################################
 # Modifiers POV properties.
 ###############################################################################
@@ -2150,7 +2150,7 @@ class RenderPovSettingsObject(PropertyGroup):
                    ("CARVE", "Use the Carve Boolean Solver", ""),
                    ("POV", "Use Pov-Ray Constructive Solid Geometry", "")),
             default="BMESH")
-                    
+
 #################Avogadro
     # filename_ext = ".png"
 
@@ -2279,7 +2279,7 @@ def register():
     bpy.types.TEXT_MT_templates.append(ui.menu_func_templates)
     bpy.types.RENDER_PT_povray_radiosity.prepend(ui.rad_panel_func)
     bpy.types.LAMP_PT_POV_lamp.prepend(ui.lamp_panel_func)
-    bpy.types.WORLD_PT_world.prepend(ui.world_panel_func)    
+    bpy.types.WORLD_PT_world.prepend(ui.world_panel_func)
     # was used for parametric objects but made the other addon unreachable on
     # unregister for other tools to use created a user action call instead
     #addon_utils.enable("add_mesh_extra_objects", default_set=False, persistent=True)
@@ -2301,7 +2301,7 @@ def register():
 def unregister():
     del bpy.types.Scene.pov
     del bpy.types.Material.pov
-    #del bpy.types.Modifier.pov 
+    #del bpy.types.Modifier.pov
     del bpy.types.Texture.pov
     del bpy.types.Object.pov
     del bpy.types.Camera.pov
@@ -2312,7 +2312,7 @@ def unregister():
     #bpy.types.TEXTURE_PT_context_texture.remove(TEXTURE_PT_povray_type)
     #addon_utils.disable("add_mesh_extra_objects", default_set=False)
     bpy.types.WORLD_PT_world.remove(ui.world_panel_func)
-    bpy.types.LAMP_PT_POV_lamp.remove(ui.lamp_panel_func)    
+    bpy.types.LAMP_PT_POV_lamp.remove(ui.lamp_panel_func)
     bpy.types.RENDER_PT_povray_radiosity.remove(ui.rad_panel_func)
     bpy.types.TEXT_MT_templates.remove(ui.menu_func_templates)
     bpy.types.INFO_MT_file_import.remove(ui.menu_func_import)
diff --git a/render_povray/df3.py b/render_povray/df3.py
index 30054504e23f8c2d5f8a3dcc1500878ffe473d53..bc721ae89e3f14243a88e76790ff8cf568a04f7b 100644
--- a/render_povray/df3.py
+++ b/render_povray/df3.py
@@ -386,4 +386,3 @@ class df3:
 #    + Add element access, scalar, and vector functions
 # 07/13/05: 0.10 released
 ###############################################################################
-
diff --git a/render_povray/nodes.py b/render_povray/nodes.py
index ef185473d77dbf24953a19f6bc9468349538256f..a4acd1387f9f58b12c3833f4e12efecbec4882fd 100644
--- a/render_povray/nodes.py
+++ b/render_povray/nodes.py
@@ -1305,4 +1305,3 @@ class UpdatePreviewKey(bpy.types.Operator):
         map = conf.keymaps[mapstr]
         map.keymap_items.new("node.updatepreview",type='RIGHTMOUSE',value="PRESS")
         return {'FINISHED'}
-
diff --git a/render_povray/primitives.py b/render_povray/primitives.py
index 29734ae756f9aec4375877d18f0e04852a035300..d7dfe663645c6143ee2ae93269f391a53c9e7f62 100644
--- a/render_povray/primitives.py
+++ b/render_povray/primitives.py
@@ -1915,4 +1915,3 @@ class ImportPOV(bpy.types.Operator, ImportHelper):
                 # track.up_axis = "UP_Y"
                 # obj.location = (0,0,0)
         return {'FINISHED'}
-
diff --git a/render_povray/render.py b/render_povray/render.py
index 9838f25db509033ccc3333cc5d6f84e3684a40e2..3640bc2b634b4fbd962758312e68e06442bb2c0f 100644
--- a/render_povray/render.py
+++ b/render_povray/render.py
@@ -664,11 +664,11 @@ def write_pov(filename, scene=None, info_callback=None):
                     tabWrite("fade_distance %.6f\n" % (sqrt(lamp.distance/2.0)))
                     tabWrite("fade_power %d\n" % 2)  # Use blenders lamp quad equivalent
                 elif lamp.falloff_type == 'INVERSE_LINEAR':
-                    tabWrite("fade_distance %.6f\n" % (lamp.distance / 2.0))                
+                    tabWrite("fade_distance %.6f\n" % (lamp.distance / 2.0))
                     tabWrite("fade_power %d\n" % 1)  # Use blenders lamp linear
                 elif lamp.falloff_type == 'CONSTANT':
                     tabWrite("fade_distance %.6f\n" % (lamp.distance / 2.0))
-                    tabWrite("fade_power %d\n" % 3)  
+                    tabWrite("fade_power %d\n" % 3)
                     # Use blenders lamp constant equivalent no attenuation.
                 # Using Custom curve for fade power 3 for now.
                 elif lamp.falloff_type == 'CUSTOM_CURVE':
@@ -1452,10 +1452,10 @@ def write_pov(filename, scene=None, info_callback=None):
             file.write('#end\n\n')
         # Empty curves
         if len(ob.data.splines)==0:
-            tabWrite("\n//dummy sphere to represent empty curve location\n")        
+            tabWrite("\n//dummy sphere to represent empty curve location\n")
             tabWrite("#declare %s =\n"%dataname)
-            tabWrite("sphere {<%.6g, %.6g, %.6g>,0 pigment{rgbt 1} no_image no_reflection no_radiosity photons{pass_through collect off} hollow}\n\n" % (ob.location.x, ob.location.y, ob.location.z)) # ob.name > povdataname)    
-        # And non empty curves    
+            tabWrite("sphere {<%.6g, %.6g, %.6g>,0 pigment{rgbt 1} no_image no_reflection no_radiosity photons{pass_through collect off} hollow}\n\n" % (ob.location.x, ob.location.y, ob.location.z)) # ob.name > povdataname)
+        # And non empty curves
         else:
             if bezier_sweep == False:
                 tabWrite("#declare %s =\n"%dataname)
@@ -1634,15 +1634,15 @@ def write_pov(filename, scene=None, info_callback=None):
                 meta_elems[prefix].extend(elems)
             else:
                 meta_elems[prefix] = elems
-                
+
             # empty metaball
             if len(elems)==0:
                 tabWrite("\n//dummy sphere to represent empty meta location\n")
-                tabWrite("sphere {<%.6g, %.6g, %.6g>,0 pigment{rgbt 1} no_image no_reflection no_radiosity photons{pass_through collect off} hollow}\n\n" % (ob.location.x, ob.location.y, ob.location.z)) # ob.name > povdataname)    
-            # other metaballs    
-            else:                
+                tabWrite("sphere {<%.6g, %.6g, %.6g>,0 pigment{rgbt 1} no_image no_reflection no_radiosity photons{pass_through collect off} hollow}\n\n" % (ob.location.x, ob.location.y, ob.location.z)) # ob.name > povdataname)
+            # other metaballs
+            else:
                 for mg, ob in meta_group.items():
-                    if len(meta_elems[mg])!=0:                
+                    if len(meta_elems[mg])!=0:
                         tabWrite("blob{threshold %.4g // %s \n" % (ob.data.threshold, mg))
                         for elems in meta_elems[mg]:
                             elem = elems[0]
@@ -1654,20 +1654,20 @@ def write_pov(filename, scene=None, info_callback=None):
                                 tabWrite("sphere { <%.6g, %.6g, %.6g>, %.4g, %.4g " %
                                          (loc.x, loc.y, loc.z, elem.radius, stiffness))
                                 writeMatrix(global_matrix * elems[1].matrix_world)
-                                tabWrite("}\n")                                         
+                                tabWrite("}\n")
                             elif elem.type == 'ELLIPSOID':
                                 tabWrite("sphere{ <%.6g, %.6g, %.6g>,%.4g,%.4g " %
                                          (loc.x / elem.size_x, loc.y / elem.size_y, loc.z / elem.size_z,
                                           elem.radius, stiffness))
                                 tabWrite("scale <%.6g, %.6g, %.6g>" % (elem.size_x, elem.size_y, elem.size_z))
                                 writeMatrix(global_matrix * elems[1].matrix_world)
-                                tabWrite("}\n")                                
+                                tabWrite("}\n")
                             elif elem.type == 'CAPSULE':
                                 tabWrite("cylinder{ <%.6g, %.6g, %.6g>,<%.6g, %.6g, %.6g>,%.4g,%.4g " %
                                          ((loc.x - elem.size_x), (loc.y), (loc.z),
                                           (loc.x + elem.size_x), (loc.y), (loc.z),
                                           elem.radius, stiffness))
-                                #tabWrite("scale <%.6g, %.6g, %.6g>" % (elem.size_x, elem.size_y, elem.size_z))                                
+                                #tabWrite("scale <%.6g, %.6g, %.6g>" % (elem.size_x, elem.size_y, elem.size_z))
                                 writeMatrix(global_matrix * elems[1].matrix_world)
                                 tabWrite("}\n")
 
@@ -1677,18 +1677,18 @@ def write_pov(filename, scene=None, info_callback=None):
                                 tabWrite("}\n")
                                 tabWrite("cylinder { -y*8, +y*8,%.4g,%.4g translate<%.6g,%.6g,%.6g> scale <1,1/4,1> scale <%.6g, %.6g, %.6g>\n" % (elem.radius*2.0, stiffness/4.0, loc.x, loc.y, loc.z, elem.size_x, elem.size_y, elem.size_z))
                                 writeMatrix(global_matrix * elems[1].matrix_world)
-                                tabWrite("}\n")                                
+                                tabWrite("}\n")
                                 tabWrite("cylinder { -z*8, +z*8,%.4g,%.4g translate<%.6g,%.6g,%.6g> scale <1,1,1/4> scale <%.6g, %.6g, %.6g>\n" % (elem.radius*2.0, stiffness/4.0, loc.x, loc.y, loc.z, elem.size_x, elem.size_y, elem.size_z))
                                 writeMatrix(global_matrix * elems[1].matrix_world)
                                 tabWrite("}\n")
-                                
+
                             elif elem.type == 'PLANE':
                                 tabWrite("cylinder { -x*8, +x*8,%.4g,%.4g translate<%.6g,%.6g,%.6g> scale  <1/4,1,1> scale <%.6g, %.6g, %.6g>\n" % (elem.radius*2.0, stiffness/4.0, loc.x, loc.y, loc.z, elem.size_x, elem.size_y, elem.size_z))
                                 writeMatrix(global_matrix * elems[1].matrix_world)
                                 tabWrite("}\n")
                                 tabWrite("cylinder { -y*8, +y*8,%.4g,%.4g translate<%.6g,%.6g,%.6g> scale <1,1/4,1> scale <%.6g, %.6g, %.6g>\n" % (elem.radius*2.0, stiffness/4.0, loc.x, loc.y, loc.z, elem.size_x, elem.size_y, elem.size_z))
                                 writeMatrix(global_matrix * elems[1].matrix_world)
-                                tabWrite("}\n")            
+                                tabWrite("}\n")
 
                         try:
                             material = elems[1].data.materials[0]  # lame! - blender cant do enything else.
@@ -1709,12 +1709,12 @@ def write_pov(filename, scene=None, info_callback=None):
                             tabWrite("finish{%s} " % safety(material_finish, Level=2))
                         else:
                             tabWrite("pigment{srgb 1} finish{%s} " % (safety(DEF_MAT_NAME, Level=2)))
-                        
+
 
                             writeObjectMaterial(material, ob)
                             #writeObjectMaterial(material, elems[1])
                             tabWrite("radiosity{importance %3g}\n" % ob.pov.importance_value)
-                            tabWrite("}\n\n")  # End of Metaball block                
+                            tabWrite("}\n\n")  # End of Metaball block
 
 
     '''
@@ -2697,7 +2697,7 @@ def write_pov(filename, scene=None, info_callback=None):
 
                     if not me or not me_faces:
                         tabWrite("\n//dummy sphere to represent empty mesh location\n")
-                        tabWrite("#declare %s =sphere {<0, 0, 0>,0 pigment{rgbt 1} no_image no_reflection no_radiosity photons{pass_through collect off} hollow}\n" % povdataname)                    
+                        tabWrite("#declare %s =sphere {<0, 0, 0>,0 pigment{rgbt 1} no_image no_reflection no_radiosity photons{pass_through collect off} hollow}\n" % povdataname)
                         continue
 
                     uv_textures = me.tessface_uv_textures
@@ -2989,7 +2989,7 @@ def write_pov(filename, scene=None, info_callback=None):
 
                             file.write("\n")
                             tabWrite("}\n")
-                            
+
                         #XXX BOOLEAN
                         onceCSG = 0
                         for mod in ob.modifiers:
@@ -3002,7 +3002,7 @@ def write_pov(filename, scene=None, info_callback=None):
                                                         ob.pov.inside_vector[1],
                                                         ob.pov.inside_vector[2]))
                                             onceCSG = 1
- 
+
                         if me.materials:
                             try:
                                 material = me.materials[0]  # dodgy
@@ -3010,9 +3010,9 @@ def write_pov(filename, scene=None, info_callback=None):
                             except IndexError:
                                 print(me)
 
-                        # POV object modifiers such as 
+                        # POV object modifiers such as
                         # hollow / sturm / double_illuminate etc.
-                        write_object_modifiers(scene,ob,file)                        
+                        write_object_modifiers(scene,ob,file)
 
                         #Importance for radiosity sampling added here:
                         tabWrite("radiosity { \n")
@@ -3245,7 +3245,7 @@ def write_pov(filename, scene=None, info_callback=None):
 
                             file.write("\n")
                             tabWrite("}\n")
-                            
+
                         #XXX BOOLEAN
                         onceCSG = 0
                         for mod in ob.modifiers:
@@ -3266,10 +3266,10 @@ def write_pov(filename, scene=None, info_callback=None):
                             except IndexError:
                                 print(me)
 
-                        # POV object modifiers such as 
+                        # POV object modifiers such as
                         # hollow / sturm / double_illuminate etc.
-                        write_object_modifiers(scene,ob,file)                        
-                                
+                        write_object_modifiers(scene,ob,file)
+
                         #Importance for radiosity sampling added here:
                         tabWrite("radiosity { \n")
                         tabWrite("importance %3g \n" % importance)
@@ -3484,7 +3484,7 @@ def write_pov(filename, scene=None, info_callback=None):
             elif mist.falloff=='QUADRATIC':    # n**2 or squrt(n)?
                 tabWrite("distance %.6f\n" % ((mist.start+mist.depth)**2*0.368))
             elif mist.falloff=='INVERSE_QUADRATIC':    # n**2 or squrt(n)?
-                tabWrite("distance %.6f\n" % ((mist.start+mist.depth)**2*0.368))                
+                tabWrite("distance %.6f\n" % ((mist.start+mist.depth)**2*0.368))
             tabWrite("color rgbt<%.3g, %.3g, %.3g, %.3g>\n" % \
                      (*world.horizon_color, 1.0 - mist.intensity))
             #tabWrite("fog_offset %.6f\n" % mist.start) #create a pov property to prepend
@@ -3497,15 +3497,15 @@ def write_pov(filename, scene=None, info_callback=None):
             tabWrite("media {\n")
             tabWrite("scattering { %d, rgb %.12f*<%.4g, %.4g, %.4g>\n" % \
                      (int(scene.pov.media_scattering_type),
-                     (scene.pov.media_diffusion_scale),                     
+                     (scene.pov.media_diffusion_scale),
                      *(scene.pov.media_diffusion_color[:])))
             if scene.pov.media_scattering_type == '5':
-                tabWrite("eccentricity %.3g\n" % scene.pov.media_eccentricity) 
-            tabWrite("}\n") 
+                tabWrite("eccentricity %.3g\n" % scene.pov.media_eccentricity)
+            tabWrite("}\n")
             tabWrite("absorption %.12f*<%.4g, %.4g, %.4g>\n" % \
                      (scene.pov.media_absorption_scale,
-                     *(scene.pov.media_absorption_color[:]))) 
-            tabWrite("\n")             
+                     *(scene.pov.media_absorption_color[:])))
+            tabWrite("\n")
             tabWrite("samples %.d\n" % scene.pov.media_samples)
             tabWrite("}\n")
 
@@ -3591,7 +3591,7 @@ def write_pov(filename, scene=None, info_callback=None):
                     if scene.pov.photon_map_file_save_load in {'load'}:
                         fullFileName = bpy.path.abspath(scene.pov.photon_map_file)
                         if os.path.exists(fullFileName):
-                            tabWrite('load_file "%s"\n'%fullFileName)                        
+                            tabWrite('load_file "%s"\n'%fullFileName)
                     tabWrite("}\n")
                     oncePhotons = 0
 
@@ -3975,7 +3975,7 @@ class PovrayRender(bpy.types.RenderEngine):
         x = int(r.resolution_x * r.resolution_percentage * 0.01)
         y = int(r.resolution_y * r.resolution_percentage * 0.01)
         print("***INITIALIZING***")
-        
+
         # This makes some tests on the render, returning True if all goes good, and False if
         # it was finished one way or the other.
         # It also pauses the script (time.sleep())
@@ -4000,7 +4000,7 @@ class PovrayRender(bpy.types.RenderEngine):
                 return False
 
             return True
-    
+
         if scene.pov.text_block !="":
             if scene.pov.tempfiles_enable:
                 self._temp_file_in = tempfile.NamedTemporaryFile(suffix=".pov", delete=False).name
@@ -4022,28 +4022,28 @@ class PovrayRender(bpy.types.RenderEngine):
                 os.remove(self._temp_file_in)  # so as not to load the old file
             except OSError:
                 pass
-            '''    
+            '''
             print(scene.pov.text_block)
             text = bpy.data.texts[scene.pov.text_block]
             file=open("%s"%self._temp_file_in,"w")
             # Why are the newlines needed?
             file.write("\n")
             file.write(text.as_string())
-            file.write("\n")    
+            file.write("\n")
             file.close()
 
             # has to be called to update the frame on exporting animations
             scene.frame_set(scene.frame_current)
-            
+
             pov_binary = PovrayRender._locate_binary()
 
             if not pov_binary:
                 print("POV-Ray 3.7: could not execute povray, possibly POV-Ray isn't installed")
                 return False
-                
-                
+
+
             # start ini UI options export
-            self.update_stats("", "POV-Ray 3.7: Exporting ini options from Blender")         
+            self.update_stats("", "POV-Ray 3.7: Exporting ini options from Blender")
 
             write_pov_ini(scene, self._temp_file_ini, self._temp_file_log, self._temp_file_in, self._temp_file_out)
 
@@ -4085,21 +4085,21 @@ class PovrayRender(bpy.types.RenderEngine):
                 print("Engine ready!...")
                 print("Command line arguments passed: " + str(extra_args))
                 #return True
-                self.update_stats("", "POV-Ray 3.7: Parsing File")                  
+                self.update_stats("", "POV-Ray 3.7: Parsing File")
 
 
-                
-            # Indented in main function now so repeated here but still not working 
+
+            # Indented in main function now so repeated here but still not working
             # to bring back render result to its buffer
-   
+
             if os.path.exists(self._temp_file_out):
                 xmin = int(r.border_min_x * x)
                 ymin = int(r.border_min_y * y)
                 xmax = int(r.border_max_x * x)
                 ymax = int(r.border_max_y * y)
-                result = self.begin_result(0, 0, x, y) 
+                result = self.begin_result(0, 0, x, y)
                 lay = result.layers[0]
-                
+
                 time.sleep(self.DELAY)
                 try:
                     lay.load_from_file(self._temp_file_out)
@@ -4108,12 +4108,12 @@ class PovrayRender(bpy.types.RenderEngine):
                 self.end_result(result)
             #print(self._temp_file_log) #bring the pov log to blender console with proper path?
             with open(self._temp_file_log) as f: # The with keyword automatically closes the file when you are done
-                print(f.read()) 
-                
+                print(f.read())
+
             self.update_stats("", "")
 
             if scene.pov.tempfiles_enable or scene.pov.deletefiles_enable:
-                self._cleanup()            
+                self._cleanup()
         else:
 
     ##WIP output format
@@ -4458,14 +4458,14 @@ class RunPovTextRender(Operator):
     bl_label = "Run"
     bl_context = "text"
     bl_description = "Run a render with this text only"
-        
+
     def execute(self, context):
         scene = context.scene
         scene.pov.text_block = context.space_data.text.name
 
-            
+
         bpy.ops.render.render()
 
         #empty text name property engain
         scene.pov.text_block = ""
-        return {'FINISHED'}
\ No newline at end of file
+        return {'FINISHED'}
diff --git a/render_povray/ui.py b/render_povray/ui.py
index 58c693983729b45f1c6a66b85ae6554957c057c1..341237948e617e53da673282d7c78ccc82b4530d 100644
--- a/render_povray/ui.py
+++ b/render_povray/ui.py
@@ -57,27 +57,27 @@ class AddPresetWorld(AddPresetBase, bpy.types.Operator):
 
     # variable used for all preset values
     preset_defines = [
-        "scene = bpy.context.scene"    
+        "scene = bpy.context.scene"
         ]
 
     # properties to store in the preset
     preset_values = [
         "scene.world.use_sky_blend",
         "scene.world.horizon_color",
-        "scene.world.zenith_color", 
+        "scene.world.zenith_color",
         "scene.world.ambient_color",
         "scene.world.mist_settings.use_mist",
         "scene.world.mist_settings.intensity",
-        "scene.world.mist_settings.depth",        
+        "scene.world.mist_settings.depth",
         "scene.world.mist_settings.start",
         "scene.pov.media_enable",
-        "scene.pov.media_scattering_type", 
+        "scene.pov.media_scattering_type",
         "scene.pov.media_samples",
         "scene.pov.media_diffusion_scale",
         "scene.pov.media_diffusion_color",
         "scene.pov.media_absorption_scale",
         "scene.pov.media_absorption_color",
-        "scene.pov.media_eccentricity",        
+        "scene.pov.media_eccentricity",
         ]
 
     # where to store the preset
@@ -96,7 +96,7 @@ def world_panel_func(self, context):
 classes = (
     POV_WORLD_MT_presets,
     AddPresetWorld,
-    )  
+    )
 
 # Example of wrapping every class 'as is'
 from bl_ui import properties_texture
@@ -530,7 +530,7 @@ class AddPresetLamp(AddPresetBase, bpy.types.Operator):
     # properties to store in the preset
     preset_values = [
         "lampdata.type",
-        "lampdata.color",      
+        "lampdata.color",
         ]
 
     # where to store the preset
@@ -553,8 +553,8 @@ def lamp_panel_func(self, context):
 classes = (
     POV_LAMP_MT_presets,
     AddPresetLamp,
-    )    
-    
+    )
+
 class LAMP_PT_POV_sunsky(PovLampButtonsPanel, bpy.types.Panel):
     bl_label = properties_data_lamp.DATA_PT_sunsky.bl_label
 
@@ -711,10 +711,10 @@ class RENDER_PT_povray_render_settings(RenderButtonsPanel, bpy.types.Panel):
 
         scene = context.scene
         #layout.active = (scene.pov.max_trace_level != 0)
-        
+
         if sys.platform[:3] != "win":
             layout.prop(scene.pov, "sdl_window_enable", text="POV-Ray SDL Window")
-            
+
         col = layout.column()
 
         col.label(text="Global Settings:")
@@ -892,9 +892,9 @@ class RENDER_PT_povray_radiosity(RenderButtonsPanel, bpy.types.Panel):
             col.prop(scene.pov, "radio_subsurface")
 
 
-            
-            
-            
+
+
+
 class POV_RADIOSITY_MT_presets(bpy.types.Menu):
     bl_label = "Radiosity Presets"
     preset_subdir = "pov/radiosity"
@@ -915,7 +915,7 @@ class AddPresetRadiosity(AddPresetBase, bpy.types.Operator):
 
     # properties to store in the preset
     preset_values = [
-        "scene.pov.radio_display_advanced",    
+        "scene.pov.radio_display_advanced",
         "scene.pov.radio_adc_bailout",
         "scene.pov.radio_always_sample",
         "scene.pov.radio_brightness",
@@ -931,7 +931,7 @@ class AddPresetRadiosity(AddPresetBase, bpy.types.Operator):
         "scene.pov.radio_normal",
         "scene.pov.radio_recursion_limit",
         "scene.pov.radio_pretrace_start",
-        "scene.pov.radio_pretrace_end",     
+        "scene.pov.radio_pretrace_end",
         ]
 
     # where to store the preset
@@ -955,8 +955,8 @@ classes = (
     POV_RADIOSITY_MT_presets,
     AddPresetRadiosity,
     )
-    
-    
+
+
 class RENDER_PT_povray_media(WorldButtonsPanel, bpy.types.Panel):
     bl_label = "Atmosphere Media"
     COMPAT_ENGINES = {'POVRAY_RENDER'}
@@ -977,14 +977,14 @@ class RENDER_PT_povray_media(WorldButtonsPanel, bpy.types.Panel):
         col.prop(scene.pov, "media_scattering_type", text="")
         col = layout.column()
         col.prop(scene.pov, "media_samples", text="Samples")
-        split = layout.split()        
+        split = layout.split()
         col = split.column(align=True)
         col.label(text="Scattering:")
         col.prop(scene.pov, "media_diffusion_scale")
         col.prop(scene.pov, "media_diffusion_color", text="")
         col = split.column(align=True)
         col.label(text="Absorption:")
-        col.prop(scene.pov, "media_absorption_scale")        
+        col.prop(scene.pov, "media_absorption_scale")
         col.prop(scene.pov, "media_absorption_color", text="")
         if scene.pov.media_scattering_type == '5':
             col = layout.column()
@@ -1029,12 +1029,12 @@ class MODIFIERS_PT_povray_modifiers(ModifierButtonsPanel, bpy.types.Panel):
                         col.prop(ob.pov, "boolean_mod")
                         onceCSG = 1
 
-                    if ob.pov.boolean_mod == "POV": 
+                    if ob.pov.boolean_mod == "POV":
                         split = layout.split()
                         col = layout.column()
                         # Inside Vector for CSG
                         col.prop(ob.pov, "inside_vector")
-       
+
 
 class MATERIAL_PT_povray_activate_node(MaterialButtonsPanel, bpy.types.Panel):
     bl_label = "Activate Node Settings"
@@ -1517,7 +1517,7 @@ class TEXTURE_PT_povray_tex_gamma(TextureButtonsPanel, bpy.types.Panel):
 class OBJECT_PT_povray_obj_parameters(ObjectButtonsPanel, bpy.types.Panel):
     bl_label = "POV-Ray"
     COMPAT_ENGINES = {'POVRAY_RENDER'}
-    
+
     @classmethod
     def poll(cls, context):
 
@@ -1539,14 +1539,14 @@ class OBJECT_PT_povray_obj_parameters(ObjectButtonsPanel, bpy.types.Panel):
         col.prop(obj.pov, "collect_photons", text="Receive Photon Caustics")
         if obj.pov.collect_photons:
             col.prop(obj.pov, "spacing_multiplier", text="Photons Spacing Multiplier")
-            
+
         split = layout.split()
 
         col = split.column()
         col.prop(obj.pov,"hollow")
         col.prop(obj.pov,"double_illuminate")
 
-     
+
         if obj.type == 'META' or obj.pov.curveshape == 'lathe':
         #if obj.pov.curveshape == 'sor'
             col.prop(obj.pov,"sturm")
@@ -2117,7 +2117,7 @@ class TEXT_PT_povray_custom_code(TextButtonsPanel, bpy.types.Panel):
         layout = self.layout
 
         text = context.space_data.text
-            
+
         pov_documents = locate_docpath()
         if not pov_documents :
             layout.label(text="Please configure ", icon="INFO")
@@ -2139,7 +2139,7 @@ class TEXT_PT_povray_custom_code(TextButtonsPanel, bpy.types.Panel):
             row = box.row()
             row.prop(text.pov, "custom_code",expand = True)
             if text.pov.custom_code in {'3dview'}:
-                box.operator("render.render", icon='OUTLINER_DATA_POSE')  
+                box.operator("render.render", icon='OUTLINER_DATA_POSE')
             if text.pov.custom_code in {'text'}:
                 rtext = bpy.context.space_data.text
                 box.operator("text.run", icon='POSE_DATA')
@@ -2148,7 +2148,7 @@ class TEXT_PT_povray_custom_code(TextButtonsPanel, bpy.types.Panel):
                 box.operator("render.render", icon='POSE_HLT')
                 layout.label(text="Please specify declared", icon="INFO")
                 layout.label(text="items in properties ")
-                #layout.label(text="")                
+                #layout.label(text="")
                 layout.label(text="replacement fields")
 
 
diff --git a/rigify/legacy/generate.py b/rigify/legacy/generate.py
index 3bc9823b95c97e732f089af8d396ccfa916217b5..ec822b9e5123be29d3b4c9717cb57195f5657eb2 100644
--- a/rigify/legacy/generate.py
+++ b/rigify/legacy/generate.py
@@ -479,4 +479,4 @@ def isPitchipoy(metarig):
         words = pb.rigify_type.partition('.')
         if  words[0] == 'pitchipoy':
             return True
-    return False
\ No newline at end of file
+    return False
diff --git a/rigify/legacy/metarigs/pitchipoy_human.py b/rigify/legacy/metarigs/pitchipoy_human.py
index 567487689ea074aa1d4af78f83883093b7152288..98541c0770934db219be3afb2cc6d2f400ceea26 100644
--- a/rigify/legacy/metarigs/pitchipoy_human.py
+++ b/rigify/legacy/metarigs/pitchipoy_human.py
@@ -2717,4 +2717,4 @@ def create(obj):
     arm.layers = [(x in [0, 3, 5, 7, 10, 13, 16]) for x in range(32)]
 
 if __name__ == "__main__":
-    create(bpy.context.active_object)
\ No newline at end of file
+    create(bpy.context.active_object)
diff --git a/rigify/legacy/rigs/pitchipoy/super_face.py b/rigify/legacy/rigs/pitchipoy/super_face.py
index 341596a1a059ad935eca201c188062fd13e3a2a4..c999ae9af6b36e1a9fdf096448639bcfa7aa0bb0 100644
--- a/rigify/legacy/rigs/pitchipoy/super_face.py
+++ b/rigify/legacy/rigs/pitchipoy/super_face.py
@@ -2397,4 +2397,3 @@ def create_square_widget(rig, bone_name, size=1.0, bone_transform_name=None):
         return obj
     else:
         return None
-
diff --git a/rigify/legacy/rigs/pitchipoy/super_finger.py b/rigify/legacy/rigs/pitchipoy/super_finger.py
index 68b2c7faf611cfa17a5a003dfc2f4bde046c0dbd..32172542aafa7d877a916429005ac44bdd58f6d8 100644
--- a/rigify/legacy/rigs/pitchipoy/super_finger.py
+++ b/rigify/legacy/rigs/pitchipoy/super_finger.py
@@ -407,8 +407,3 @@ def create_sample(obj):
         bone.select_head = True
         bone.select_tail = True
         arm.edit_bones.active = bone
-
-
-
-
-
diff --git a/rigify/legacy/rigs/pitchipoy/super_widgets.py b/rigify/legacy/rigs/pitchipoy/super_widgets.py
index 8930ba91f66f86f957f02f10ace321eeddc31e8c..72384a7c701dd87ace5477a62e0fa7780fa36a1d 100644
--- a/rigify/legacy/rigs/pitchipoy/super_widgets.py
+++ b/rigify/legacy/rigs/pitchipoy/super_widgets.py
@@ -160,5 +160,3 @@ def create_ballsocket_widget(rig, bone_name, size=1.0, bone_transform_name=None)
         return obj
     else:
         return None
-
-
diff --git a/rigify/metarigs/Animals/bird.py b/rigify/metarigs/Animals/bird.py
index 15b75a116f9efc82c5e9eaa7c99c6582db012e00..e31ce7fe1b083e9537f036bcc56e23314d8991b7 100644
--- a/rigify/metarigs/Animals/bird.py
+++ b/rigify/metarigs/Animals/bird.py
@@ -1493,4 +1493,4 @@ def create(obj):
     arm.layers = [(x in [0, 3, 7, 10, 13, 16, 21, 24]) for x in range(32)]
 
 if __name__ == "__main__":
-    create(bpy.context.active_object)
\ No newline at end of file
+    create(bpy.context.active_object)
diff --git a/rigify/metarigs/Animals/cat.py b/rigify/metarigs/Animals/cat.py
index 2f9de8c8e3c331c682b2084f274279355a3619df..836c9794a4c9fb38fd157cf84da2899c8b35f76a 100644
--- a/rigify/metarigs/Animals/cat.py
+++ b/rigify/metarigs/Animals/cat.py
@@ -2976,4 +2976,4 @@ def create(obj):
     arm.layers = [(x in [0, 3, 5, 7, 10, 13, 16, 19]) for x in range(32)]
 
 if __name__ == "__main__":
-    create(bpy.context.active_object)
\ No newline at end of file
+    create(bpy.context.active_object)
diff --git a/rigify/metarigs/Animals/horse.py b/rigify/metarigs/Animals/horse.py
index e85be5fd3915477e93d0615d5749befb0f752907..72ed1de2140859af8332af4737da17a0948127c0 100644
--- a/rigify/metarigs/Animals/horse.py
+++ b/rigify/metarigs/Animals/horse.py
@@ -1369,4 +1369,4 @@ def create(obj):
     arm.layers = [(x in [0, 3, 4, 7, 10, 13, 16, 19, 21]) for x in range(32)]
 
 if __name__ == "__main__":
-    create(bpy.context.active_object)
\ No newline at end of file
+    create(bpy.context.active_object)
diff --git a/rigify/metarigs/Animals/shark.py b/rigify/metarigs/Animals/shark.py
index dc3fb8bf5ca7ab124eb669944f953b242d6ee9e0..bcc53df317e058e499c53c945c2c8f9f60724c16 100644
--- a/rigify/metarigs/Animals/shark.py
+++ b/rigify/metarigs/Animals/shark.py
@@ -791,4 +791,4 @@ def create(obj):
     arm.layers = [(x in [0, 3, 5, 6, 8, 10]) for x in range(32)]
 
 if __name__ == "__main__":
-    create(bpy.context.active_object)
\ No newline at end of file
+    create(bpy.context.active_object)
diff --git a/rigify/metarigs/Animals/wolf.py b/rigify/metarigs/Animals/wolf.py
index e1a8ea5495e6f54141a21ddd0c921bf5677e7575..20aa121c1db9aad485767491f47dce1f58523a5c 100644
--- a/rigify/metarigs/Animals/wolf.py
+++ b/rigify/metarigs/Animals/wolf.py
@@ -3224,4 +3224,4 @@ def create(obj):
     arm.layers = [(x in [0, 3, 4, 5, 7, 10, 13, 16, 19]) for x in range(32)]
 
 if __name__ == "__main__":
-    create(bpy.context.active_object)
\ No newline at end of file
+    create(bpy.context.active_object)
diff --git a/rigify/metarigs/Basic/basic_human.py b/rigify/metarigs/Basic/basic_human.py
index 221809e7a9e86b1ea6f5156df3a4a63147d41920..5b1a401db5cc2a0e8db01c5271904bc85cc406d2 100644
--- a/rigify/metarigs/Basic/basic_human.py
+++ b/rigify/metarigs/Basic/basic_human.py
@@ -681,4 +681,4 @@ def create(obj):
     arm.layers = [(x in [3, 7, 10, 13, 16]) for x in range(32)]
 
 if __name__ == "__main__":
-    create(bpy.context.active_object)
\ No newline at end of file
+    create(bpy.context.active_object)
diff --git a/rigify/metarigs/Basic/basic_quadruped.py b/rigify/metarigs/Basic/basic_quadruped.py
index fe3449e1f34eb55148c6f6d8c514d113204da300..c46743c7c744fd24af7f786c7e1f54e9223c18e0 100644
--- a/rigify/metarigs/Basic/basic_quadruped.py
+++ b/rigify/metarigs/Basic/basic_quadruped.py
@@ -816,4 +816,4 @@ def create(obj):
     arm.layers = [(x in [3, 4, 7, 10, 13, 16, 19]) for x in range(32)]
 
 if __name__ == "__main__":
-    create(bpy.context.active_object)
\ No newline at end of file
+    create(bpy.context.active_object)
diff --git a/rigify/metarigs/human.py b/rigify/metarigs/human.py
index cf301cd26df6ed5a5847704dd20dd511ef9201be..a31a107c61c91597966a12fe9bbf70c0b68ac6eb 100644
--- a/rigify/metarigs/human.py
+++ b/rigify/metarigs/human.py
@@ -2715,4 +2715,4 @@ def create(obj):
     arm.layers = [(x in [0, 3, 5, 7, 10, 13, 16]) for x in range(32)]
 
 if __name__ == "__main__":
-    create(bpy.context.active_object)
\ No newline at end of file
+    create(bpy.context.active_object)
diff --git a/rigify/rigs/experimental/super_chain.py b/rigify/rigs/experimental/super_chain.py
index 3282ec4da54fe9003994fa88eecd0381148d6970..836bc28556a74e169523f500c8404c8d0b9f4915 100644
--- a/rigify/rigs/experimental/super_chain.py
+++ b/rigify/rigs/experimental/super_chain.py
@@ -1425,4 +1425,4 @@ def create_sample(obj):
         bone.select_tail = True
         arm.edit_bones.active = bone
 
-    arm.layers = [(x in [0]) for x in range(32)]
\ No newline at end of file
+    arm.layers = [(x in [0]) for x in range(32)]
diff --git a/rigify/rigs/faces/super_face.py b/rigify/rigs/faces/super_face.py
index ee765ec7fc732754fc6db75fc2c8c5539718ec55..2c4999d57d82cf421bfbaa083e950f2339e3aaef 100644
--- a/rigify/rigs/faces/super_face.py
+++ b/rigify/rigs/faces/super_face.py
@@ -2427,4 +2427,3 @@ def create_square_widget(rig, bone_name, size=1.0, bone_transform_name=None):
         return obj
     else:
         return None
-
diff --git a/rigify/rigs/limbs/arm.py b/rigify/rigs/limbs/arm.py
index 6ec087ac66e5fac2ea5c2fe215dfd55807c60c9d..fd1aa41f4b59e0e5153a86e2589977c21b9abec3 100644
--- a/rigify/rigs/limbs/arm.py
+++ b/rigify/rigs/limbs/arm.py
@@ -1615,4 +1615,4 @@ def create_sample(obj):
 
 
 if __name__ == "__main__":
-    create_sample(bpy.context.active_object)
\ No newline at end of file
+    create_sample(bpy.context.active_object)
diff --git a/rigify/rigs/limbs/leg.py b/rigify/rigs/limbs/leg.py
index c2414748070365abeb7dbbb72c5219cc9743c8bc..ae7057966c1ac3a1fce7c6f104c3c3b001428214 100644
--- a/rigify/rigs/limbs/leg.py
+++ b/rigify/rigs/limbs/leg.py
@@ -1643,4 +1643,4 @@ def create_sample(obj):
 
 
 if __name__ == "__main__":
-    create_sample(bpy.context.active_object)
\ No newline at end of file
+    create_sample(bpy.context.active_object)
diff --git a/rigify/rigs/limbs/paw.py b/rigify/rigs/limbs/paw.py
index f202c709d8c457fa33c3766600502a71686aeb34..1f1d0a82e2fb4f0384e29231600eb1a5fbd036b3 100644
--- a/rigify/rigs/limbs/paw.py
+++ b/rigify/rigs/limbs/paw.py
@@ -1642,4 +1642,4 @@ def create_sample(obj):
 
 
 if __name__ == "__main__":
-    create_sample(bpy.context.active_object)
\ No newline at end of file
+    create_sample(bpy.context.active_object)
diff --git a/rigify/rigs/limbs/simple_tentacle.py b/rigify/rigs/limbs/simple_tentacle.py
index 310ed7aba63e2d5c399f2dbc3fab4e344fe182e6..39c59e12d542e20cd2c8bd7e999659bbc74f20a8 100644
--- a/rigify/rigs/limbs/simple_tentacle.py
+++ b/rigify/rigs/limbs/simple_tentacle.py
@@ -274,7 +274,7 @@ def parameters_ui(layout, params):
         if bone_layers[i]:
             icon = "LAYER_ACTIVE"
         row.prop(params, "tweak_layers", index=i, toggle=True, text="", icon=icon)
-    
+
     col = r.column(align=True)
     row = col.row(align=True)
 
diff --git a/rigify/rigs/limbs/super_finger.py b/rigify/rigs/limbs/super_finger.py
index 6aacc025fbd25aa9ca41b548611267e8a7dee2e7..4dacdf5b951b63c07adecdff5eb4d79d7f985273 100644
--- a/rigify/rigs/limbs/super_finger.py
+++ b/rigify/rigs/limbs/super_finger.py
@@ -407,8 +407,3 @@ def create_sample(obj):
         bone.select_head = True
         bone.select_tail = True
         arm.edit_bones.active = bone
-
-
-
-
-
diff --git a/rigify/rigs/widgets.py b/rigify/rigs/widgets.py
index c8f618c81ce7051c045687ba575fa263dfa05e9e..8461d82ae4af29f57893d3f52ade3f8460646386 100644
--- a/rigify/rigs/widgets.py
+++ b/rigify/rigs/widgets.py
@@ -183,4 +183,3 @@ def create_gear_widget(rig, bone_name, size=1.0, bone_transform_name=None):
         return obj
     else:
         return None
-
diff --git a/rigify/ui.py b/rigify/ui.py
index ce66da963299b13ddb458420ffeb7ea52b95261d..76b1fd23166f1f322cbca279dbb33aa28981ac74 100644
--- a/rigify/ui.py
+++ b/rigify/ui.py
@@ -1383,4 +1383,3 @@ def unregister():
     bpy.utils.unregister_class(OBJECT_OT_Rot2Pole)
 
     rot_mode.unregister()
-
diff --git a/space_view3d_brush_menus/texture_menu.py b/space_view3d_brush_menus/texture_menu.py
index 31125bbb21aa7c647603e26b14a5f723059b0245..14d91c1ff3d7934a10fab6abe8261a1717d09c9f 100644
--- a/space_view3d_brush_menus/texture_menu.py
+++ b/space_view3d_brush_menus/texture_menu.py
@@ -394,4 +394,3 @@ class MaskPressureModeMenu(Menu):
                     disable=True,
                     disable_icon='RADIOBUT_ON'
                     )
-