diff --git a/blenderkit/__init__.py b/blenderkit/__init__.py
index d3cd5a724bc00256b0c93bec21052b77f2bb8a7d..4a4ae4babf1caa747dec5531dffcce468b8073a7 100644
--- a/blenderkit/__init__.py
+++ b/blenderkit/__init__.py
@@ -91,13 +91,13 @@ else:
     from blenderkit import upload
     from blenderkit import utils
 
-    from blenderkit.bl_ui_widgets import bl_ui_label 
-    from blenderkit.bl_ui_widgets import bl_ui_button 
+    from blenderkit.bl_ui_widgets import bl_ui_label
+    from blenderkit.bl_ui_widgets import bl_ui_button
     # from blenderkit.bl_ui_widgets import bl_ui_checkbox
     # from blenderkit.bl_ui_widgets import bl_ui_slider
     # from blenderkit.bl_ui_widgets import bl_ui_up_down
-    from blenderkit.bl_ui_widgets import bl_ui_drag_panel 
-    from blenderkit.bl_ui_widgets import bl_ui_draw_op 
+    from blenderkit.bl_ui_widgets import bl_ui_drag_panel
+    from blenderkit.bl_ui_widgets import bl_ui_draw_op
     # from blenderkit.bl_ui_widgets import bl_ui_textbox
 
 
diff --git a/blenderkit/asset_pack_bg.py b/blenderkit/asset_pack_bg.py
index adde9515e0c44b1db2b3f07516688355897e8d2e..c59ca08d5d1961d83b5178ef564cb46342fa3686 100644
--- a/blenderkit/asset_pack_bg.py
+++ b/blenderkit/asset_pack_bg.py
@@ -5,4 +5,4 @@ from blenderkit import resolutions
 BLENDERKIT_EXPORT_DATA = sys.argv[-1]
 
 if __name__ == "__main__":
-    resolutions.run_bg(sys.argv[-1])
\ No newline at end of file
+    resolutions.run_bg(sys.argv[-1])
diff --git a/blenderkit/bl_ui_widgets/__init__.py b/blenderkit/bl_ui_widgets/__init__.py
index 745f59c928e0129e4933278f35b467976c9b7ff8..a1db444d83da7db5ea6c4a6766df791efa09574d 100644
--- a/blenderkit/bl_ui_widgets/__init__.py
+++ b/blenderkit/bl_ui_widgets/__init__.py
@@ -16,7 +16,7 @@ from bpy.props import *
 addon_keymaps = []
 
 def register():
-    
+
     bpy.utils.register_class(DP_OT_draw_operator)
     kcfg = bpy.context.window_manager.keyconfigs.addon
     if kcfg:
@@ -29,8 +29,8 @@ def unregister():
     for km, kmi in addon_keymaps:
         km.keymap_items.remove(kmi)
     addon_keymaps.clear()
-   
+
     bpy.utils.unregister_class(DP_OT_draw_operator)
-    
+
 if __name__ == "__main__":
     register()
diff --git a/blenderkit/bl_ui_widgets/bl_ui_button.py b/blenderkit/bl_ui_widgets/bl_ui_button.py
index ce26c54ef9d720f9a276f9e2d62213a0cf2ac828..f3902c4bada18f50bbfe449280ae9678f30082a9 100644
--- a/blenderkit/bl_ui_widgets/bl_ui_button.py
+++ b/blenderkit/bl_ui_widgets/bl_ui_button.py
@@ -4,13 +4,13 @@ import blf
 import bpy
 
 class BL_UI_Button(BL_UI_Widget):
-    
+
     def __init__(self, x, y, width, height):
         super().__init__(x, y, width, height)
         self._text_color        = (1.0, 1.0, 1.0, 1.0)
         self._hover_bg_color    = (0.5, 0.5, 0.5, 1.0)
         self._select_bg_color   = (0.7, 0.7, 0.7, 1.0)
-        
+
         self._text = "Button"
         self._text_size = 16
         self._textpos = (x, y)
@@ -35,7 +35,7 @@ class BL_UI_Button(BL_UI_Widget):
     @text.setter
     def text(self, value):
         self._text = value
-                
+
     @property
     def text_size(self):
         return self._text_size
@@ -58,8 +58,8 @@ class BL_UI_Button(BL_UI_Widget):
 
     @select_bg_color.setter
     def select_bg_color(self, value):
-        self._select_bg_color = value 
-        
+        self._select_bg_color = value
+
     def set_image_size(self, imgage_size):
         self.__image_size = imgage_size
 
@@ -68,30 +68,30 @@ class BL_UI_Button(BL_UI_Widget):
 
     def set_image(self, rel_filepath):
         try:
-            self.__image = bpy.data.images.load(rel_filepath, check_existing=True)   
+            self.__image = bpy.data.images.load(rel_filepath, check_existing=True)
             self.__image.gl_load()
         except:
             pass
 
-    def update(self, x, y):        
+    def update(self, x, y):
         super().update(x, y)
         self._textpos = [x, y]
-        
+
     def draw(self):
         if not self.visible:
             return
-            
+
         area_height = self.get_area_height()
 
         self.shader.bind()
-        
+
         self.set_colors()
-        
+
         bgl.glEnable(bgl.GL_BLEND)
 
-        self.batch_panel.draw(self.shader) 
+        self.batch_panel.draw(self.shader)
 
-        self.draw_image()   
+        self.draw_image()
 
         bgl.glDisable(bgl.GL_BLEND)
 
@@ -128,21 +128,21 @@ class BL_UI_Button(BL_UI_Widget):
         if self.__image is not None:
             try:
                 y_screen_flip = self.get_area_height() - self.y_screen
-        
+
                 off_x, off_y =  self.__image_position
                 sx, sy = self.__image_size
-                
+
                 # bottom left, top left, top right, bottom right
                 vertices = (
-                            (self.x_screen + off_x, y_screen_flip - off_y), 
-                            (self.x_screen + off_x, y_screen_flip - sy - off_y), 
+                            (self.x_screen + off_x, y_screen_flip - off_y),
+                            (self.x_screen + off_x, y_screen_flip - sy - off_y),
                             (self.x_screen + off_x + sx, y_screen_flip - sy - off_y),
                             (self.x_screen + off_x + sx, y_screen_flip - off_y))
-                
+
                 self.shader_img = gpu.shader.from_builtin('2D_IMAGE')
-                self.batch_img = batch_for_shader(self.shader_img, 'TRI_FAN', 
-                { "pos" : vertices, 
-                "texCoord": ((0, 1), (0, 0), (1, 0), (1, 1)) 
+                self.batch_img = batch_for_shader(self.shader_img, 'TRI_FAN',
+                { "pos" : vertices,
+                "texCoord": ((0, 1), (0, 0), (1, 0), (1, 1))
                 },)
 
                 # send image to gpu if it isn't there already
@@ -154,39 +154,39 @@ class BL_UI_Button(BL_UI_Widget):
 
                 self.shader_img.bind()
                 self.shader_img.uniform_int("image", 0)
-                self.batch_img.draw(self.shader_img) 
+                self.batch_img.draw(self.shader_img)
                 return True
             except:
                 pass
 
-        return False     
-        
+        return False
+
     def set_mouse_down(self, mouse_down_func):
-        self.mouse_down_func = mouse_down_func   
-                 
-    def mouse_down(self, x, y):    
+        self.mouse_down_func = mouse_down_func
+
+    def mouse_down(self, x, y):
         if self.is_in_rect(x,y):
             self.__state = 1
             try:
                 self.mouse_down_func(self)
             except Exception as e:
                 print(e)
-                
+
             return True
-        
+
         return False
-    
+
     def mouse_move(self, x, y):
         if self.is_in_rect(x,y):
             if(self.__state != 1):
-                
+
                 # hover state
                 self.__state = 2
         else:
             self.__state = 0
- 
+
     def mouse_up(self, x, y):
         if self.is_in_rect(x,y):
             self.__state = 2
         else:
-            self.__state = 0
\ No newline at end of file
+            self.__state = 0
diff --git a/blenderkit/bl_ui_widgets/bl_ui_drag_panel.py b/blenderkit/bl_ui_widgets/bl_ui_drag_panel.py
index e07aa784b9a6415e98b16a079f53c100467930ed..44a5b1b91a11addbb51574b567ef33ed2c772c1d 100644
--- a/blenderkit/bl_ui_widgets/bl_ui_drag_panel.py
+++ b/blenderkit/bl_ui_widgets/bl_ui_drag_panel.py
@@ -1,7 +1,7 @@
-from . bl_ui_widget import * 
+from . bl_ui_widget import *
 
 class BL_UI_Drag_Panel(BL_UI_Widget):
-    
+
     def __init__(self, x, y, width, height):
         super().__init__(x,y, width, height)
         self.drag_offset_x = 0
@@ -15,35 +15,35 @@ class BL_UI_Drag_Panel(BL_UI_Widget):
 
     def add_widget(self, widget):
         self.widgets.append(widget)
-        
+
     def add_widgets(self, widgets):
         self.widgets = widgets
         self.layout_widgets()
-        
+
     def layout_widgets(self):
         for widget in self.widgets:
-            widget.update(self.x_screen + widget.x, self.y_screen + widget.y)   
-    
+            widget.update(self.x_screen + widget.x, self.y_screen + widget.y)
+
     def update(self, x, y):
         super().update(x - self.drag_offset_x, y + self.drag_offset_y)
-    
+
     def child_widget_focused(self, x, y):
         for widget in self.widgets:
             if widget.is_in_rect(x, y):
-                return True       
+                return True
         return False
-    
+
     def mouse_down(self, x, y):
         if self.child_widget_focused(x, y):
             return False
-        
+
         if self.is_in_rect(x,y):
             height = self.get_area_height()
             self.is_drag = True
             self.drag_offset_x = x - self.x_screen
             self.drag_offset_y = y - (height - self.y_screen)
             return True
-        
+
         return False
 
     def mouse_move(self, x, y):
@@ -55,4 +55,4 @@ class BL_UI_Drag_Panel(BL_UI_Widget):
     def mouse_up(self, x, y):
         self.is_drag = False
         self.drag_offset_x = 0
-        self.drag_offset_y = 0
\ No newline at end of file
+        self.drag_offset_y = 0
diff --git a/blenderkit/bl_ui_widgets/bl_ui_draw_op.py b/blenderkit/bl_ui_widgets/bl_ui_draw_op.py
index 2f53447929d744a12fa9e3065a69ea80465b5ea3..ab407f47e3a8dcadd9f5a32ee09de46519ebb3ae 100644
--- a/blenderkit/bl_ui_widgets/bl_ui_draw_op.py
+++ b/blenderkit/bl_ui_widgets/bl_ui_draw_op.py
@@ -5,14 +5,14 @@ from bpy.types import Operator
 class BL_UI_OT_draw_operator(Operator):
     bl_idname = "object.bl_ui_ot_draw_operator"
     bl_label = "bl ui widgets operator"
-    bl_description = "Operator for bl ui widgets" 
+    bl_description = "Operator for bl ui widgets"
     bl_options = {'REGISTER'}
-    	
+
     def __init__(self):
         self.draw_handle = None
         self.draw_event  = None
         self._finished = False
-                
+
         self.widgets = []
 
     def init_widgets(self, context, widgets):
@@ -31,32 +31,32 @@ class BL_UI_OT_draw_operator(Operator):
         self.on_invoke(context, event)
 
         args = (self, context)
-                   
+
         self.register_handlers(args, context)
-                   
+
         context.window_manager.modal_handler_add(self)
         return {"RUNNING_MODAL"}
-    
+
     def register_handlers(self, args, context):
         self.draw_handle = bpy.types.SpaceView3D.draw_handler_add(self.draw_callback_px, args, "WINDOW", "POST_PIXEL")
         self.draw_event = context.window_manager.event_timer_add(0.1, window=context.window)
-        
+
     def unregister_handlers(self, context):
-        
+
         context.window_manager.event_timer_remove(self.draw_event)
-        
+
         bpy.types.SpaceView3D.draw_handler_remove(self.draw_handle, "WINDOW")
-        
+
         self.draw_handle = None
         self.draw_event  = None
-        
+
     def handle_widget_events(self, event):
         result = False
         for widget in self.widgets:
             if widget.handle_event(event):
                 result = True
         return result
-          
+
     def modal(self, context, event):
 
         if self._finished:
@@ -64,20 +64,20 @@ class BL_UI_OT_draw_operator(Operator):
 
         if context.area:
             context.area.tag_redraw()
-        
+
         if self.handle_widget_events(event):
-            return {'RUNNING_MODAL'}   
-        
+            return {'RUNNING_MODAL'}
+
         if event.type in {"ESC"}:
             self.finish()
-                    
+
         return {"PASS_THROUGH"}
-                                
+
     def finish(self):
         self.unregister_handlers(bpy.context)
         self.on_finish(bpy.context)
-		
+
 	# Draw handler to paint onto the screen
     def draw_callback_px(self, op, context):
         for widget in self.widgets:
-            widget.draw()
\ No newline at end of file
+            widget.draw()
diff --git a/blenderkit/bl_ui_widgets/bl_ui_label.py b/blenderkit/bl_ui_widgets/bl_ui_label.py
index 11743b41ffceea9ad9bb01d99eda9c62aee34c7e..b008a17b85a70c725426199cbba56be5f2015754 100644
--- a/blenderkit/bl_ui_widgets/bl_ui_label.py
+++ b/blenderkit/bl_ui_widgets/bl_ui_label.py
@@ -3,7 +3,7 @@ from . bl_ui_widget import *
 import blf
 
 class BL_UI_Label(BL_UI_Widget):
-    
+
     def __init__(self, x, y, width, height):
         super().__init__(x, y, width, height)
 
@@ -34,24 +34,24 @@ class BL_UI_Label(BL_UI_Widget):
     @text_size.setter
     def text_size(self, value):
         self._text_size = value
-            
+
     def is_in_rect(self, x, y):
         return False
-        
+
     def draw(self):
         if not self.visible:
             return
-            
+
         area_height = self.get_area_height()
 
         blf.size(0, self._text_size, 72)
         size = blf.dimensions(0, self._text)
-    
+
         textpos_y = area_height - self.y_screen - self.height
         blf.position(0, self.x_screen, textpos_y, 0)
 
         r, g, b, a = self._text_color
 
         blf.color(0, r, g, b, a)
-            
-        blf.draw(0, self._text)
\ No newline at end of file
+
+        blf.draw(0, self._text)
diff --git a/blenderkit/bl_ui_widgets/bl_ui_widget.py b/blenderkit/bl_ui_widgets/bl_ui_widget.py
index 2ae529fab4300016bec94d24d77061ceb6e60325..c13bb33dae72237b9480e1157f7b63a3ddd42802 100644
--- a/blenderkit/bl_ui_widgets/bl_ui_widget.py
+++ b/blenderkit/bl_ui_widgets/bl_ui_widget.py
@@ -4,7 +4,7 @@ import bgl
 from gpu_extras.batch import batch_for_shader
 
 class BL_UI_Widget:
-    
+
     def __init__(self, x, y, width, height):
         self.x = x
         self.y = y
@@ -50,40 +50,40 @@ class BL_UI_Widget:
     @tag.setter
     def tag(self, value):
         self._tag = value
-                		    
+
     def draw(self):
         if not self.visible:
             return
-            
+
         self.shader.bind()
         self.shader.uniform_float("color", self._bg_color)
-        
+
         bgl.glEnable(bgl.GL_BLEND)
-        self.batch_panel.draw(self.shader) 
+        self.batch_panel.draw(self.shader)
         bgl.glDisable(bgl.GL_BLEND)
 
     def init(self, context):
         self.context = context
         self.update(self.x, self.y)
-    
+
     def update(self, x, y):
-        
+
         area_height = self.get_area_height()
-        
+
         self.x_screen = x
         self.y_screen = y
-                
+
         indices = ((0, 1, 2), (0, 2, 3))
 
         y_screen_flip = area_height - self.y_screen
 
         # bottom left, top left, top right, bottom right
         vertices = (
-                    (self.x_screen, y_screen_flip), 
-                    (self.x_screen, y_screen_flip - self.height), 
+                    (self.x_screen, y_screen_flip),
+                    (self.x_screen, y_screen_flip - self.height),
                     (self.x_screen + self.width, y_screen_flip - self.height),
                     (self.x_screen + self.width, y_screen_flip))
-                    
+
         self.shader = gpu.shader.from_builtin('2D_UNIFORM_COLOR')
         self.batch_panel = batch_for_shader(self.shader, 'TRIS', {"pos" : vertices}, indices=indices)
 
@@ -140,17 +140,17 @@ class BL_UI_Widget:
 
         widget_y = area_height - self.y_screen
         if (
-            (self.x_screen <= x <= (self.x_screen + self.width)) and 
+            (self.x_screen <= x <= (self.x_screen + self.width)) and
             (widget_y >= y >= (widget_y - self.height))
             ):
             return True
-           
-        return False      
 
-    def text_input(self, event):       
         return False
 
-    def mouse_down(self, x, y):       
+    def text_input(self, event):
+        return False
+
+    def mouse_down(self, x, y):
         return self.is_in_rect(x,y)
 
     def mouse_down_right(self, x, y):
@@ -160,8 +160,8 @@ class BL_UI_Widget:
         pass
 
     def set_mouse_enter(self, mouse_enter_func):
-        self.mouse_enter_func = mouse_enter_func  
- 
+        self.mouse_enter_func = mouse_enter_func
+
     def call_mouse_enter(self):
         try:
             if self.mouse_enter_func:
@@ -173,8 +173,8 @@ class BL_UI_Widget:
         self.call_mouse_enter()
 
     def set_mouse_exit(self, mouse_exit_func):
-        self.mouse_exit_func = mouse_exit_func  
- 
+        self.mouse_exit_func = mouse_exit_func
+
     def call_mouse_exit(self):
         try:
             if self.mouse_exit_func:
@@ -186,4 +186,4 @@ class BL_UI_Widget:
         self.call_mouse_exit()
 
     def mouse_move(self, x, y):
-        pass
\ No newline at end of file
+        pass
diff --git a/blenderkit/image_utils.py b/blenderkit/image_utils.py
index e0b49b10c74ca03d7c49decca250ac5a4d05488b..96bad204dd7fc67619edb82d9c9ed13aa7a73c42 100644
--- a/blenderkit/image_utils.py
+++ b/blenderkit/image_utils.py
@@ -87,5 +87,3 @@ def generate_hdr_thumbnail():
         inew.scale(thumbnailWidth, thumbnailHeight)
 
     img_save_as(inew, filepath=inew.filepath)
-
-
diff --git a/blenderkit/resolutions.py b/blenderkit/resolutions.py
index 03026c683c2a1f71d409b617a44560c312139b14..6d66d55b01bd1821a7ce4e871d171ef80fc69d9d 100644
--- a/blenderkit/resolutions.py
+++ b/blenderkit/resolutions.py
@@ -209,7 +209,7 @@ def make_possible_reductions_on_image(teximage, input_filepath, do_reductions=Fa
     - it finds it's usages and replaces the inputs where the image is used
     with zero/black color.
     currently implemented file type conversions:
-    PNG->JPG    
+    PNG->JPG
     '''
     colorspace = teximage.colorspace_settings.name
     teximage.colorspace_settings.name = 'Non-Color'
diff --git a/blenderkit/resolutions_bg.py b/blenderkit/resolutions_bg.py
index adde9515e0c44b1db2b3f07516688355897e8d2e..c59ca08d5d1961d83b5178ef564cb46342fa3686 100644
--- a/blenderkit/resolutions_bg.py
+++ b/blenderkit/resolutions_bg.py
@@ -5,4 +5,4 @@ from blenderkit import resolutions
 BLENDERKIT_EXPORT_DATA = sys.argv[-1]
 
 if __name__ == "__main__":
-    resolutions.run_bg(sys.argv[-1])
\ No newline at end of file
+    resolutions.run_bg(sys.argv[-1])
diff --git a/bone_selection_sets.py b/bone_selection_sets.py
index 563a4d9dced6005906f60ff778aef08ccc180b42..7a382d755f277a6d02146f6860939aa23f25d45e 100644
--- a/bone_selection_sets.py
+++ b/bone_selection_sets.py
@@ -56,9 +56,9 @@ class SelectionEntry(PropertyGroup):
 class SelectionSet(PropertyGroup):
     name: StringProperty(name="Set Name", override={'LIBRARY_OVERRIDABLE'})
     bone_ids: CollectionProperty(
-        type=SelectionEntry, 
+        type=SelectionEntry,
         override={'LIBRARY_OVERRIDABLE', 'USE_INSERTION'}
-    )  
+    )
     is_selected: BoolProperty(name="Is Selected", override={'LIBRARY_OVERRIDABLE'})
 
 
diff --git a/greasepencil_tools/box_deform.py b/greasepencil_tools/box_deform.py
index 1f6d3abf754711c8a65bea631e5d7ceb9bce3e37..502c18ed284c1bfb84e16324704c5b7c6a3c3808 100644
--- a/greasepencil_tools/box_deform.py
+++ b/greasepencil_tools/box_deform.py
@@ -60,7 +60,7 @@ def view_cage(obj):
                 target_frames = [f for f in l.frames if f.select]
             else:
                 target_frames = [l.active_frame]
-            
+
             for f in target_frames:
                 for s in f.strokes:
                     if not s.select:
@@ -77,7 +77,7 @@ def view_cage(obj):
             for s in l.active_frame.strokes:
                 for p in s.points:
                     coords.append(obj.matrix_world @ p.co)
-    
+
     elif bpy.context.mode == 'PAINT_GPENCIL':
         # get last stroke points coordinated
         if not gpl.active or not gpl.active.active_frame:
@@ -85,12 +85,12 @@ def view_cage(obj):
 
         if not len(gpl.active.active_frame.strokes):
             return 'No stroke found to deform'
-        
+
         paint_id = -1
         if bpy.context.scene.tool_settings.use_gpencil_draw_onback:
             paint_id = 0
         coords = [obj.matrix_world @ p.co for p in gpl.active.active_frame.strokes[paint_id].points]
-    
+
     else:
         return 'Wrong mode!'
 
@@ -106,24 +106,24 @@ def view_cage(obj):
 
     if bpy.context.mode == 'EDIT_GPENCIL':
         vg = assign_vg(obj, vg_name)
-    
+
     if bpy.context.mode == 'PAINT_GPENCIL':
         # points cannot be assign to API yet(ugly and slow workaround but only way)
         # -> https://developer.blender.org/T56280 so, hop'in'ops !
-        
+
         # store selection and deselect all
         plist = []
         for s in gpl.active.active_frame.strokes:
             for p in s.points:
                 plist.append([p, p.select])
                 p.select = False
-        
+
         # select
         ## foreach_set does not update
         # gpl.active.active_frame.strokes[paint_id].points.foreach_set('select', [True]*len(gpl.active.active_frame.strokes[paint_id].points))
         for p in gpl.active.active_frame.strokes[paint_id].points:
             p.select = True
-        
+
         # assign
         bpy.ops.object.mode_set(mode='EDIT_GPENCIL')
         vg = assign_vg(obj, vg_name)
@@ -131,7 +131,7 @@ def view_cage(obj):
         # restore
         for pl in plist:
             pl[0].select = pl[1]
-        
+
 
     ## View axis Mode ---
 
@@ -216,7 +216,7 @@ def view_cage(obj):
 
     if initial_mode == 'PAINT_GPENCIL':
         mod.layer = gpl.active.info
-    
+
     # note : if initial was Paint, changed to Edit
     #        so vertex attribution is valid even for paint
     if bpy.context.mode == 'EDIT_GPENCIL':
@@ -226,7 +226,7 @@ def view_cage(obj):
     if bpy.context.mode != 'OBJECT':
         bpy.ops.object.mode_set(mode='OBJECT')
 
-    # Store name of deformed object in case of 'revive modal' 
+    # Store name of deformed object in case of 'revive modal'
     cage.vertex_groups.new(name=obj.name)
 
     ## select and make cage active
@@ -245,7 +245,7 @@ def view_cage(obj):
 def back_to_obj(obj, gp_mode, org_lattice_toolset, context):
     if context.mode == 'EDIT_LATTICE' and org_lattice_toolset:# Tweaktoolcode - restore the active tool used by lattice edit..
         bpy.ops.wm.tool_set_by_id(name = org_lattice_toolset)# Tweaktoolcode
-    
+
     # gp object active and selected
     bpy.ops.object.mode_set(mode='OBJECT')
     obj.select_set(True)
@@ -273,9 +273,9 @@ def cancel_cage(gp_obj, cage):
         gp_obj.grease_pencil_modifiers.remove(mod)
     else:
         print('tmp_lattice modifier not found to remove...')
-    
+
     delete_cage(cage)
-    
+
 
 class GP_OT_latticeGpDeform(bpy.types.Operator):
     """Create a lattice to use as quad corner transform"""
@@ -302,7 +302,7 @@ valid:Spacebar/Enter, cancel:Del/Backspace/Tab/Ctrl+T"
         if event.type in {'Z'} and event.value == 'PRESS' and event.ctrl:
             ## Disable (capture key)
             return {"RUNNING_MODAL"}
-            ## Not found how possible to find modal start point in undo stack to 
+            ## Not found how possible to find modal start point in undo stack to
             # print('ops list', context.window_manager.operators.keys())
             # if context.window_manager.operators:#can be empty
             #     print('\nlast name', context.window_manager.operators[-1].name)
@@ -320,7 +320,7 @@ valid:Spacebar/Enter, cancel:Del/Backspace/Tab/Ctrl+T"
         if event.type in {'H'} and event.value == 'PRESS':
             # self.report({'INFO'}, "Can't hide")
             return {"RUNNING_MODAL"}
-        
+
         if event.type in {'ONE'} and event.value == 'PRESS':# , 'NUMPAD_1'
             self.lat.points_u = self.lat.points_v = 2
             return {"RUNNING_MODAL"}
@@ -361,25 +361,25 @@ valid:Spacebar/Enter, cancel:Del/Backspace/Tab/Ctrl+T"
             self.lat.points_u = 2
             self.lat.points_v = 1
             return {"RUNNING_MODAL"}
-        
+
         if event.type in {'RIGHT_ARROW'} and event.value == 'PRESS' and event.ctrl:
             if self.lat.points_u < 20:
-                self.lat.points_u += 1 
+                self.lat.points_u += 1
             return {"RUNNING_MODAL"}
 
         if event.type in {'LEFT_ARROW'} and event.value == 'PRESS' and event.ctrl:
             if self.lat.points_u > 1:
-                self.lat.points_u -= 1 
+                self.lat.points_u -= 1
             return {"RUNNING_MODAL"}
 
         if event.type in {'UP_ARROW'} and event.value == 'PRESS' and event.ctrl:
             if self.lat.points_v < 20:
-                self.lat.points_v += 1 
+                self.lat.points_v += 1
             return {"RUNNING_MODAL"}
 
         if event.type in {'DOWN_ARROW'} and event.value == 'PRESS' and event.ctrl:
             if self.lat.points_v > 1:
-                self.lat.points_v -= 1 
+                self.lat.points_v -= 1
             return {"RUNNING_MODAL"}
 
 
@@ -397,15 +397,15 @@ valid:Spacebar/Enter, cancel:Del/Backspace/Tab/Ctrl+T"
                 self.restore_prefs(context)
                 back_to_obj(self.gp_obj, self.gp_mode, self.org_lattice_toolset, context)
                 apply_cage(self.gp_obj, self.cage)#must be in object mode
-                
-                # back to original mode 
+
+                # back to original mode
                 if self.gp_mode != 'OBJECT':
                     bpy.ops.object.mode_set(mode=self.gp_mode)
 
                 context.area.header_text_set(None)#reset header
 
                 return {'FINISHED'}
-        
+
         # Abort ---
         # One Warning for Tab cancellation.
         if event.type == 'TAB' and event.value == 'PRESS':
@@ -432,14 +432,14 @@ valid:Spacebar/Enter, cancel:Del/Backspace/Tab/Ctrl+T"
         self.restore_prefs(context)
         back_to_obj(self.gp_obj, self.gp_mode, self.org_lattice_toolset, context)
         cancel_cage(self.gp_obj, self.cage)
-        context.area.header_text_set(None)     
+        context.area.header_text_set(None)
         if self.gp_mode != 'OBJECT':
             bpy.ops.object.mode_set(mode=self.gp_mode)
 
     def store_prefs(self, context):
         # store_valierables <-< preferences
-        self.use_drag_immediately = context.preferences.inputs.use_drag_immediately 
-        self.drag_threshold_mouse = context.preferences.inputs.drag_threshold_mouse 
+        self.use_drag_immediately = context.preferences.inputs.use_drag_immediately
+        self.drag_threshold_mouse = context.preferences.inputs.drag_threshold_mouse
         self.drag_threshold_tablet = context.preferences.inputs.drag_threshold_tablet
         self.use_overlays = context.space_data.overlay.show_overlays
         # maybe store in windows manager to keep around in case of modal revival ?
@@ -450,7 +450,7 @@ valid:Spacebar/Enter, cancel:Del/Backspace/Tab/Ctrl+T"
         context.preferences.inputs.drag_threshold_mouse = self.drag_threshold_mouse
         context.preferences.inputs.drag_threshold_tablet = self.drag_threshold_tablet
         context.space_data.overlay.show_overlays = self.use_overlays
-    
+
     def set_prefs(self, context):
         context.preferences.inputs.use_drag_immediately = True
         context.preferences.inputs.drag_threshold_mouse = 1
@@ -475,8 +475,8 @@ valid:Spacebar/Enter, cancel:Del/Backspace/Tab/Ctrl+T"
         self.org_lattice_toolset = None
         ## usability toggles
         if self.prefs.use_clic_drag:#Store the active tool since we will change it
-            self.org_lattice_toolset = bpy.context.workspace.tools.from_space_view3d_mode(bpy.context.mode, create=False).idname# Tweaktoolcode    
-        
+            self.org_lattice_toolset = bpy.context.workspace.tools.from_space_view3d_mode(bpy.context.mode, create=False).idname# Tweaktoolcode
+
         #store (scene properties needed in case of ctrlZ revival)
         self.store_prefs(context)
         self.gp_mode = 'EDIT_GPENCIL'
@@ -502,17 +502,17 @@ valid:Spacebar/Enter, cancel:Del/Backspace/Tab/Ctrl+T"
 
         if context.object.type != 'GPENCIL':
             # self.report({'ERROR'}, "Works only on gpencil objects")
-            ## silent return 
+            ## silent return
             return {'CANCELLED'}
 
         #paint need VG workaround. object need good shortcut
         if context.mode not in ('EDIT_GPENCIL', 'OBJECT', 'PAINT_GPENCIL'):
             # self.report({'WARNING'}, "Works only in following GPencil modes: edit")# ERROR
-            ## silent return 
+            ## silent return
             return {'CANCELLED'}
 
         # bpy.ops.ed.undo_push(message="Box deform step")#don't work as expected (+ might be obsolete)
-        # https://developer.blender.org/D6147 <- undo forget 
+        # https://developer.blender.org/D6147 <- undo forget
 
         self.gp_obj = context.object
         # Clean potential failed previous job (delete tmp lattice)
@@ -529,10 +529,10 @@ valid:Spacebar/Enter, cancel:Del/Backspace/Tab/Ctrl+T"
         if [m for m in self.gp_obj.grease_pencil_modifiers if m.type == 'GP_LATTICE']:
             self.report({'ERROR'}, "Grease pencil object already has a lattice modifier (can only have one)")
             return {'CANCELLED'}
-        
+
 
         self.gp_mode = context.mode#store mode for restore
-        
+
         # All good, create lattice and start modal
 
         # Create lattice (and switch to lattice edit) ----
@@ -540,7 +540,7 @@ valid:Spacebar/Enter, cancel:Del/Backspace/Tab/Ctrl+T"
         if isinstance(self.cage, str):#error, cage not created, display error
             self.report({'ERROR'}, self.cage)
             return {'CANCELLED'}
-        
+
         self.lat = self.cage.data
 
         self.set_prefs(context)
@@ -581,4 +581,4 @@ def unregister():
     wm = bpy.context.window_manager
     p = 'boxdeform_running'
     if p in wm:
-        del wm[p]
\ No newline at end of file
+        del wm[p]
diff --git a/greasepencil_tools/import_brush_pack.py b/greasepencil_tools/import_brush_pack.py
index 90d186c3811474e2df1259c0bd83e6f8d1951135..b1306bed338e6d1b400a5b2e93becfd07b898622 100644
--- a/greasepencil_tools/import_brush_pack.py
+++ b/greasepencil_tools/import_brush_pack.py
@@ -30,7 +30,7 @@ def download_url(url, dest):
     import time
     ssl._create_default_https_context = ssl._create_unverified_context
     start_time = time.time()
-    
+
     try:
         with urllib.request.urlopen(url) as response, open(dest, 'wb') as out_file:
             shutil.copyfileobj(response, out_file)
@@ -53,7 +53,7 @@ def get_brushes(blend_fp):
     ## force fake user for the brushes
     for b in data_to.brushes:
         b.use_fake_user = True
-    
+
     return len(data_to.brushes)
 
 class GP_OT_install_brush_pack(bpy.types.Operator):
@@ -101,12 +101,12 @@ class GP_OT_install_brush_pack(bpy.types.Operator):
         if not temp:
             self.report({'ERROR'}, 'no os temporary directory found to download brush pack (using python tempfile.gettempdir())')
             return {"CANCELLED"}
-        
+
         self.temp = Path(temp)
 
         ## download link from gitlab
-        # brush pack project https://gitlab.com/pepe-school-land/gp-brush-pack 
-        repo_url = r'https://gitlab.com/api/v4/projects/21994857' 
+        # brush pack project https://gitlab.com/pepe-school-land/gp-brush-pack
+        repo_url = r'https://gitlab.com/api/v4/projects/21994857'
         tree_url = f'{repo_url}/repository/tree'
 
         ## need to create an SSl context or linux fail and raise unverified ssl
@@ -127,7 +127,7 @@ class GP_OT_install_brush_pack(bpy.types.Operator):
 
             self.report({'ERROR'}, f'Check your internet connexion, Impossible to connect to url: {tree_url}')
             return {"CANCELLED"}
-        
+
         if not html:
             self.report({'ERROR'}, f'No response read from: {tree_url}')
             return {"CANCELLED"}
@@ -154,7 +154,7 @@ class GP_OT_install_brush_pack(bpy.types.Operator):
         dl_url = f"{repo_url}/repository/blobs/{id_num}/raw"
 
         self.brushzip = self.temp / zipname
-        
+
 
         ### Load existing files instead of redownloading if exists and up to date (same hash)
         if self.brushzip.exists():
@@ -167,20 +167,20 @@ class GP_OT_install_brush_pack(bpy.types.Operator):
                 while len(fb) > 0:
                     file_hash.update(fb)
                     fb = f.read(BLOCK_SIZE)
-            
+
             if file_hash.hexdigest() == id_num: # same git SHA1
-                ## is up to date, install 
+                ## is up to date, install
                 print(f'{self.brushzip} is up do date, appending brushes')
                 self._install_from_zip()
                 return {"FINISHED"}
-        
+
         ## Download, unzip, use blend
         print(f'Downloading brushpack in {self.brushzip}')
         ## https://cloud.blender.org/p/gallery/5f235cc297f8815e74ffb90b
 
         fallback_url='https://gitlab.com/pepe-school-land/gp-brush-pack/-/blob/master/Official_GP_brush_pack_v01.zip'
         err = simple_dl_url(dl_url, str(self.brushzip), fallback_url)
-        # err = download_url(dl_url, str(self.brushzip), fallback_url) 
+        # err = download_url(dl_url, str(self.brushzip), fallback_url)
 
         if err:
             self.report({'ERROR'}, 'Could not download brush pack. Check your internet connection. (see console for detail)')
@@ -195,4 +195,4 @@ def register():
     bpy.utils.register_class(GP_OT_install_brush_pack)
 
 def unregister():
-    bpy.utils.unregister_class(GP_OT_install_brush_pack)
\ No newline at end of file
+    bpy.utils.unregister_class(GP_OT_install_brush_pack)
diff --git a/greasepencil_tools/line_reshape.py b/greasepencil_tools/line_reshape.py
index 608b95b267ec2daf1668671e798086e5078f80d1..b994b8d6a76fe285b8627676f46c159edd5101cb 100644
--- a/greasepencil_tools/line_reshape.py
+++ b/greasepencil_tools/line_reshape.py
@@ -15,7 +15,7 @@
 #  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 # ##### END GPL LICENSE BLOCK #####
- 
+
 '''Based on GP_refine_stroke 0.2.4 - Author: Samuel Bernou'''
 
 import bpy
@@ -36,10 +36,10 @@ def vector_len_from_coord(a, b):
     Get two points (that has coordinate 'co' attribute) or Vectors (2D or 3D)
     Return length as float
     '''
-    from mathutils import Vector    
+    from mathutils import Vector
     if type(a) is Vector:
         return (a - b).length
-    else:   
+    else:
         return (a.co - b.co).length
 
 def point_from_dist_in_segment_3d(a, b, ratio):
@@ -53,7 +53,7 @@ def get_stroke_length(s):
     all_len = 0.0
     for i in range(0, len(s.points)-1):
         #print(vector_len_from_coord(s.points[i],s.points[i+1]))
-        all_len += vector_len_from_coord(s.points[i],s.points[i+1])   
+        all_len += vector_len_from_coord(s.points[i],s.points[i+1])
     return (all_len)
 
 ### --- Functions
@@ -63,7 +63,7 @@ def to_straight_line(s, keep_points=True, influence=100, straight_pressure=True)
     keep points : if false only start and end point stay
     straight_pressure : (not available with keep point) take the mean pressure of all points and apply to stroke.
     '''
-    
+
     p_len = len(s.points)
     if p_len <= 2: # 1 or 2 points only, cancel
         return
@@ -83,21 +83,21 @@ def to_straight_line(s, keep_points=True, influence=100, straight_pressure=True)
         full_dist = get_stroke_length(s)
         dist_from_start = 0.0
         coord_list = []
-        
+
         for i in range(1, p_len-1):#all but first and last
             dist_from_start += vector_len_from_coord(s.points[i-1],s.points[i])
             ratio = dist_from_start / full_dist
             # dont apply directly (change line as we measure it in loop)
             coord_list.append( point_from_dist_in_segment_3d(A, B, ratio) )
-        
+
         # apply change
         for i in range(1, p_len-1):
             ## Direct super straight 100%
             #s.points[i].co = coord_list[i-1]
-            
+
             ## With influence
             s.points[i].co = point_from_dist_in_segment_3d(s.points[i].co, coord_list[i-1], influence / 100)
-    
+
     return
 
 def get_last_index(context=None):
@@ -119,9 +119,9 @@ class GP_OT_straightStroke(bpy.types.Operator):
         return context.active_object is not None and context.object.type == 'GPENCIL'
         #and context.mode in ('PAINT_GPENCIL', 'EDIT_GPENCIL')
 
-    influence_val : bpy.props.FloatProperty(name="Straight force", description="Straight interpolation percentage", 
+    influence_val : bpy.props.FloatProperty(name="Straight force", description="Straight interpolation percentage",
     default=100, min=0, max=100, step=2, precision=1, subtype='PERCENTAGE', unit='NONE')
-    
+
     def execute(self, context):
         gp = context.object.data
         gpl = gp.layers
@@ -130,16 +130,16 @@ class GP_OT_straightStroke(bpy.types.Operator):
 
         if context.mode == 'PAINT_GPENCIL':
             if not gpl.active or not gpl.active.active_frame:
-                self.report({'ERROR'}, 'No Grease pencil frame found') 
+                self.report({'ERROR'}, 'No Grease pencil frame found')
                 return {"CANCELLED"}
 
             if not len(gpl.active.active_frame.strokes):
-                self.report({'ERROR'}, 'No strokes found.') 
+                self.report({'ERROR'}, 'No strokes found.')
                 return {"CANCELLED"}
 
             s = gpl.active.active_frame.strokes[get_last_index(context)]
             to_straight_line(s, keep_points=True, influence=self.influence_val)
-        
+
         elif context.mode == 'EDIT_GPENCIL':
             ct = 0
             for l in gpl:
@@ -150,15 +150,15 @@ class GP_OT_straightStroke(bpy.types.Operator):
                     target_frames = [f for f in l.frames if f.select]
                 else:
                     target_frames = [l.active_frame]
-                
+
                 for f in target_frames:
                     for s in f.strokes:
                         if s.select:
                             ct += 1
                             to_straight_line(s, keep_points=True, influence=self.influence_val)
-            
+
             if not ct:
-                self.report({'ERROR'}, 'No selected stroke found.') 
+                self.report({'ERROR'}, 'No selected stroke found.')
                 return {"CANCELLED"}
 
         ## filter method
@@ -172,7 +172,7 @@ class GP_OT_straightStroke(bpy.types.Operator):
         #     to_straight_line(s, keep_points=True, influence = self.influence_val)#, straight_pressure=True
 
         return {"FINISHED"}
-    
+
     def draw(self, context):
         layout = self.layout
         layout.prop(self, "influence_val")
diff --git a/greasepencil_tools/prefs.py b/greasepencil_tools/prefs.py
index 69b927805534da9fc5ec1aa1e65d2272f2a98b66..b8b9894d7ea28ffaab3da0bb7219d2aa05a7fa6c 100644
--- a/greasepencil_tools/prefs.py
+++ b/greasepencil_tools/prefs.py
@@ -74,13 +74,13 @@ class GreasePencilAddonPrefs(bpy.types.AddonPreferences):
         name='Use click drag directly on points',
         description="Change the active tool to 'tweak' during modal, Allow to direct clic-drag points of the box",
         default=True)
-    
+
     default_deform_type : EnumProperty(
         items=(('KEY_LINEAR', "Linear (perspective mode)", "Linear interpolation, like corner deform / perspective tools of classic 2D", 'IPO_LINEAR',0),
                ('KEY_BSPLINE', "Spline (smooth deform)", "Spline interpolation transformation\nBest when lattice is subdivided", 'IPO_CIRC',1),
                ),
         name='Starting Interpolation', default='KEY_LINEAR', description='Choose default interpolation when entering mode')
-    
+
     # About interpolation : https://docs.blender.org/manual/en/2.83/animation/shape_keys/shape_keys_panel.html#fig-interpolation-type
 
     auto_swap_deform_type : BoolProperty(
@@ -112,7 +112,7 @@ class GreasePencilAddonPrefs(bpy.types.AddonPreferences):
             ('MIDDLEMOUSE', 'Mid click', 'Use click on Mid mouse button', 'MOUSE_MMB', 2),
             ),
         update=auto_rebind)
-    
+
     use_shift: BoolProperty(
             name = "combine with shift",
             description = "add shift",
@@ -139,8 +139,8 @@ class GreasePencilAddonPrefs(bpy.types.AddonPreferences):
             row.prop(self, "pref_tabs", expand=True)
 
             if self.pref_tabs == 'PREF':
-                
-                ## TAB CATEGORY 
+
+                ## TAB CATEGORY
                 box = layout.box()
                 row = box.row(align=True)
                 row.label(text="Panel Category:")
@@ -153,7 +153,7 @@ class GreasePencilAddonPrefs(bpy.types.AddonPreferences):
                 # box.separator()
                 box.prop(self, "default_deform_type")
                 box.label(text="Deformer type can be changed during modal with 'M' key, this is for default behavior", icon='INFO')
-                
+
                 box.prop(self, "auto_swap_deform_type")
                 box.label(text="Once 'M' is hit, auto swap is desactivated to stay in your chosen mode", icon='INFO')
 
@@ -164,7 +164,7 @@ class GreasePencilAddonPrefs(bpy.types.AddonPreferences):
                 box.prop(self, "canvas_use_shortcut", text='Bind Shortcuts')
 
                 if self.canvas_use_shortcut:
-                    
+
                     row = box.row()
                     row.label(text="(Auto rebind when changing shortcut)")#icon=""
                     # row.operator("prefs.rebind_shortcut", text='Bind/Rebind shortcuts', icon='FILE_REFRESH')#EVENT_SPACEKEY
@@ -255,4 +255,4 @@ def register():
 def unregister():
     unregister_keymaps()
     bpy.utils.unregister_class(GreasePencilAddonPrefs)
-    bpy.utils.unregister_class(GPTS_timeline_settings)
\ No newline at end of file
+    bpy.utils.unregister_class(GPTS_timeline_settings)
diff --git a/greasepencil_tools/rotate_canvas.py b/greasepencil_tools/rotate_canvas.py
index 2ba5ed345b1d545004bd87ce11665e9680acafdb..aec6e9003973421ee98add76401c716bb5cedce6 100644
--- a/greasepencil_tools/rotate_canvas.py
+++ b/greasepencil_tools/rotate_canvas.py
@@ -83,14 +83,14 @@ class RC_OT_RotateCanvas(bpy.types.Operator):
             if self.in_cam:
                 self.cam.matrix_world = self.cam_matrix
                 self.cam.rotation_euler.rotate_axis("Z", self.angle)
-            
+
             else:#free view
                 context.space_data.region_3d.view_rotation = self._rotation
                 rot = context.space_data.region_3d.view_rotation
                 rot = rot.to_euler()
                 rot.rotate_axis("Z", self.angle)
                 context.space_data.region_3d.view_rotation = rot.to_quaternion()
-        
+
         if event.type in {'RIGHTMOUSE', 'LEFTMOUSE', 'MIDDLEMOUSE'} and event.value == 'RELEASE':
             if not self.angle:
                 # self.report({'INFO'}, 'Reset')
@@ -98,7 +98,7 @@ class RC_OT_RotateCanvas(bpy.types.Operator):
                 context.space_data.region_3d.view_rotation = aim.to_track_quat('Z','Y')#track Z, up Y
             self.execute(context)
             return {'FINISHED'}
-        
+
         if event.type == 'ESC':#Cancel
             self.execute(context)
             if self.in_cam:
@@ -118,10 +118,10 @@ class RC_OT_RotateCanvas(bpy.types.Operator):
         if self.in_cam:
             # Get camera from scene
             self.cam = bpy.context.scene.camera
-            
+
             #return if one element is locked (else bypass location)
             if self.cam.lock_rotation[:] != (False, False, False):
-                self.report({'WARNING'}, 'Camera rotation is locked') 
+                self.report({'WARNING'}, 'Camera rotation is locked')
                 return {'CANCELLED'}
 
             self.center = self.get_center_view(context, self.cam)
@@ -135,21 +135,21 @@ class RC_OT_RotateCanvas(bpy.types.Operator):
 
         else:
             self.center = mathutils.Vector((context.area.width/2, context.area.height/2))
-            
+
             # store current rotation
             self._rotation = context.space_data.region_3d.view_rotation.copy()
 
         # Get current mouse coordination
         self.pos_current = mathutils.Vector((event.mouse_region_x, event.mouse_region_y))
-        
+
         self.initial_pos = self.pos_current# for draw debug, else no need
         # Calculate inital vector
         self.vector_initial = self.pos_current - self.center
         self.vector_initial.normalize()
-        
+
         # Initializes the current vector with the same initial vector.
         self.vector_current = self.vector_initial.copy()
-        
+
         args = (self, context)
         if self.hud:
             self._handle = bpy.types.SpaceView3D.draw_handler_add(draw_callback_px, args, 'WINDOW', 'POST_PIXEL')
@@ -167,4 +167,4 @@ def unregister():
     bpy.utils.unregister_class(RC_OT_RotateCanvas)
 
 # if __name__ == "__main__":
-#     register()
\ No newline at end of file
+#     register()
diff --git a/greasepencil_tools/timeline_scrub.py b/greasepencil_tools/timeline_scrub.py
index bd7edebe1c5816a3d116b91efb01760b63b42f96..1f89f4d1c1c60659da2198bfbfdfcf089949dea6 100644
--- a/greasepencil_tools/timeline_scrub.py
+++ b/greasepencil_tools/timeline_scrub.py
@@ -227,7 +227,7 @@ class GPTS_OT_time_scrub(bpy.types.Operator):
         self.my = my = event.mouse_region_y
 
         self.hud_lines = []
-        
+
         # frame marks
         for x in hud_pos_x:
             self.hud_lines.append((x, my - (frame_height/2)))
diff --git a/greasepencil_tools/ui_panels.py b/greasepencil_tools/ui_panels.py
index 715c4db5ec24deff89f509b05ca30ab60e641f34..292d0e5ab3e4dae24ded5ff6a671661f2b5512e5 100644
--- a/greasepencil_tools/ui_panels.py
+++ b/greasepencil_tools/ui_panels.py
@@ -27,7 +27,7 @@ class GP_PT_sidebarPanel(bpy.types.Panel):
     def draw(self, context):
         layout = self.layout
         layout.use_property_split = True
-        
+
         # Box deform ops
         self.layout.operator_context = 'INVOKE_DEFAULT'
         layout.operator('gp.latticedeform', icon ="MOD_MESHDEFORM")# MOD_LATTICE, LATTICE_DATA
diff --git a/io_coat3D/__init__.py b/io_coat3D/__init__.py
index 28e8f711b702d21d6c377b853c7849a8136cc8f7..0a40a6d0d5da2844160c1c3443787d59aa206387 100644
--- a/io_coat3D/__init__.py
+++ b/io_coat3D/__init__.py
@@ -78,7 +78,7 @@ def every_3_seconds():
     if(only_one_time):
         only_one_time = False
         folders.loadExchangeFolder()
-    
+
 
     try:
         coat3D = bpy.context.scene.coat3D
@@ -96,7 +96,7 @@ def every_3_seconds():
 
     except:
         pass
-    
+
     return 3.0
 
 @persistent
@@ -207,10 +207,10 @@ def updatemesh(objekti, proxy, texturelist):
                     if(udim_textures):
                         udim = proxy.data.uv_layers[index].name
                         udim_index = int(udim[2:]) - 1
-    
+
                     objekti.data.uv_layers[0].data[indi].uv[0] = proxy.data.uv_layers[index].data[indi].uv[0]
                     objekti.data.uv_layers[0].data[indi].uv[1] = proxy.data.uv_layers[index].data[indi].uv[1]
-            
+
         index = index + 1
 
     # Mesh Copy
@@ -225,9 +225,9 @@ class SCENE_OT_getback(bpy.types.Operator):
     bl_label = "Export your custom property"
     bl_description = "Export your custom property"
     bl_options = {'UNDO'}
-    
+
     def invoke(self, context, event):
-        
+
         global global_exchange_folder
         path_ex = ''
 
@@ -236,23 +236,23 @@ class SCENE_OT_getback(bpy.types.Operator):
 
         BlenderFolder = Blender_folder
         ExportFolder = Export_folder
-        
+
         Blender_folder += ('%sexport.txt' % (os.sep))
         Export_folder += ('%sexport.txt' % (os.sep))
-        
+
         if (bpy.app.background == False):
             if os.path.isfile(Export_folder):
-                
+
                 print('BLENDER -> 3DC -> BLENDER WORKFLLOW')
-                DeleteExtra3DC() 
+                DeleteExtra3DC()
                 workflow1(ExportFolder)
                 removeFile(Export_folder)
-                removeFile(Blender_folder)    
-            
+                removeFile(Blender_folder)
+
             elif os.path.isfile(Blender_folder):
 
                 print('3DC -> BLENDER WORKFLLOW')
-                DeleteExtra3DC() 
+                DeleteExtra3DC()
                 workflow2(BlenderFolder)
                 removeFile(Blender_folder)
 
@@ -263,23 +263,23 @@ class SCENE_OT_savenew(bpy.types.Operator):
     bl_label = "Export your custom property"
     bl_description = "Export your custom property"
     bl_options = {'UNDO'}
-    
+
     def invoke(self, context, event):
-        
+
         coat3D = bpy.context.scene.coat3D
         platform = os.sys.platform
-    
+
         if(platform == 'win32' or platform == 'darwin'):
             exchangeFile = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender' + os.sep + 'Exchange_folder.txt'
         else:
             exchangeFile = os.path.expanduser("~") + os.sep + '3DC2Blender' + os.sep + 'Exchange_folder.txt'
         if(os.path.isfile(exchangeFile)):
             folderPath = ''
-        
+
         if(os.path.isfile(exchangeFile)):
             file = open(exchangeFile, "w")
             file.write("%s"%(coat3D.exchangeFolder))
-            file.close()        
+            file.close()
 
         return {'FINISHED'}
 
@@ -331,7 +331,7 @@ class SCENE_OT_opencoat(bpy.types.Operator):
 def scaleParents():
     save = []
     names =[]
-    
+
     for objekti in bpy.context.selected_objects:
         temp = objekti
         while (temp.parent is not None and temp.parent.name not in names):
@@ -527,7 +527,7 @@ class SCENE_OT_export(bpy.types.Operator):
 
     def invoke(self, context, event):
         bpy.ops.export_applink.pilgway_3d_coat()
-      
+
         return {'FINISHED'}
 
     def execute(self, context):
@@ -548,7 +548,7 @@ class SCENE_OT_export(bpy.types.Operator):
 
         export_ok = False
         coat3D = bpy.context.scene.coat3D
-      
+
         if (bpy.context.selected_objects == []):
             return {'FINISHED'}
         else:
@@ -574,11 +574,11 @@ class SCENE_OT_export(bpy.types.Operator):
 
         if (os.path.isfile(Blender_folder2)):
             os.remove(Blender_folder2)
-    
+
         if (not os.path.isdir(coat3D.exchangeFolder)):
             coat3D.exchange_found = False
             return {'FINISHED'}
-       
+
         folder_objects = folders.set_working_folders()
         folder_size(folder_objects)
 
@@ -735,7 +735,7 @@ class SCENE_OT_export(bpy.types.Operator):
                                     bpy.data.images.remove(image)
 
                             index_bake_tex += 1
-        
+
         #BAKING ENDS
 
         #bpy.ops.object.origin_set(type='ORIGIN_GEOMETRY')
@@ -789,7 +789,7 @@ class SCENE_OT_export(bpy.types.Operator):
                                     if(node.name.startswith('3DC_') == True):
                                         material.material.node_tree.nodes.remove(node)
 
-        
+
                 for ind, mat_list in enumerate(mod_mat_list):
                     if(mat_list == '__' + objekti.name):
                         for ind, mat in enumerate(mod_mat_list[mat_list]):
@@ -822,7 +822,7 @@ def DeleteExtra3DC():
                     bpy.data.images.remove(del_img)
 
             bpy.data.materials.remove(material)
-    
+
     image_del_list = []
     for image in bpy.data.images:
         if (image.name.startswith('3DC')):
@@ -901,7 +901,7 @@ def new_ref_function(new_applink_address, nimi):
 
 
 def blender_3DC_blender(texturelist, file_applink_address):
-    
+
     coat3D = bpy.context.scene.coat3D
 
     old_materials = bpy.data.materials.keys()
@@ -915,7 +915,7 @@ def blender_3DC_blender(texturelist, file_applink_address):
     for objekti in bpy.data.objects:
         if objekti.type == 'MESH' and objekti.coat3D.applink_address == file_applink_address:
             obj_coat = objekti.coat3D
-            
+
             object_list.append(objekti.name)
             if(os.path.isfile(obj_coat.applink_address)):
                 if (obj_coat.objecttime != str(os.path.getmtime(obj_coat.applink_address))):
@@ -1050,7 +1050,7 @@ def blender_3DC_blender(texturelist, file_applink_address):
 
                         #delete_materials_from_end(keep_materials_count, obj_proxy)
 
-               
+
                         updatemesh(objekti,obj_proxy, texturelist)
                         bpy.context.view_layer.objects.active = objekti
 
@@ -1178,7 +1178,7 @@ def blender_3DC(texturelist, new_applink_address):
 
     old_materials = bpy.data.materials.keys()
     old_objects = bpy.data.objects.keys()
-  
+
     bpy.ops.import_scene.fbx(filepath=new_applink_address, global_scale = 1, axis_forward='-Z', axis_up='Y')
 
     new_materials = bpy.data.materials.keys()
@@ -1253,7 +1253,7 @@ def blender_3DC(texturelist, new_applink_address):
         os.remove(Blender_export)
     if (os.path.isfile(Blender_folder2)):
         os.remove(Blender_folder2)
-        
+
     for material in bpy.data.materials:
         if material.use_nodes == True:
             for node in material.node_tree.nodes:
@@ -1271,9 +1271,9 @@ def workflow1(ExportFolder):
         for image in bpy.data.images:
             if(image.filepath == texturepath[3] and image.users == 0):
                 bpy.data.images.remove(image)
-    
+
     path3b_now = coat3D.exchangeFolder
-    
+
     path3b_now += ('last_saved_3b_file.txt')
     new_applink_address = 'False'
     new_object = False
@@ -1297,7 +1297,7 @@ def workflow1(ExportFolder):
                     new_ref_object = True
                     nimi = scene_objects.name
 
-    
+
 
 
     exportfile = coat3D.exchangeFolder
@@ -1327,9 +1327,9 @@ def workflow2(BlenderFolder):
     kokeilu = coat3D.exchangeFolder
 
     Blender_export = os.path.join(kokeilu, 'Blender')
-    
+
     path3b_now = coat3D.exchangeFolder
-    
+
     path3b_now += ('last_saved_3b_file.txt')
     Blender_export += ('%sexport.txt'%(os.sep))
     new_applink_address = 'False'
@@ -2007,7 +2007,7 @@ def register():
         default=True
     )
 
-    
+
 
 
     from bpy.utils import register_class
@@ -2017,7 +2017,7 @@ def register():
     bpy.types.Object.coat3D = PointerProperty(type=ObjectCoat3D)
     bpy.types.Scene.coat3D = PointerProperty(type=SceneCoat3D)
     bpy.types.Mesh.coat3D = PointerProperty(type=MeshCoat3D)
-    bpy.types.Material.coat3D = PointerProperty(type=MaterialCoat3D)  
+    bpy.types.Material.coat3D = PointerProperty(type=MaterialCoat3D)
     bpy.app.handlers.load_post.append(load_handler)
 
     kc = bpy.context.window_manager.keyconfigs.addon
diff --git a/io_coat3D/folders.py b/io_coat3D/folders.py
index ad54bf71d5b832ac2827bb8c8053881fcbc4635a..ed348cfa3c78fec3ddcccf687dea1e99b2a0f63c 100644
--- a/io_coat3D/folders.py
+++ b/io_coat3D/folders.py
@@ -9,33 +9,33 @@ def InitFolders():
     #    Global variable foundExchangeFolder (True / False) guides these steps
     # 1. Read Exchange_folder.txt, if not success ->
     # 2. Try to find exchange folder from system hard drive, if not success -->
-    # 3. Leave foundExchangeFolder = False 
+    # 3. Leave foundExchangeFolder = False
 
     # 1. #################################################################
 
     if(platform == 'win32' or platform == 'darwin'):
-        DC2Folder = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender' 
+        DC2Folder = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender'
     else:
-        DC2Folder = os.path.expanduser("~") + os.sep + '3DC2Blender' 
-    
+        DC2Folder = os.path.expanduser("~") + os.sep + '3DC2Blender'
+
     exchangeFile = DC2Folder + os.sep + 'Exchange_folder.txt'
 
     if(not os.path.isdir(DC2Folder)):
         os.mkdir(DC2Folder)
-    
+
     if(not os.path.isfile(exchangeFile)):
         file = open(exchangeFile, 'w')
         file.close()
     else:
         savedExchangePath = ''
         folderPath = open(exchangeFile)
-        
+
         for line in folderPath:
             savedExchangePath = line
             break
         folderPath.close()
 
-        
+
         coat3D.exchangeFolder = savedExchangePath
         return True, coat3D.exchangeFolder
 
@@ -50,7 +50,7 @@ def InitFolders():
             exchangeFolder = os.path.expanduser("~") + os.sep + '3D-CoatV3' + os.sep + 'Exchange'
     if(os.path.isdir(exchangeFolder)):
         coat3D.exchangeFolder = exchangeFolder
-        
+
         Blender_folder = ("%s%sBlender"%(exchangeFolder,os.sep))
 
         if(not(os.path.isdir(Blender_folder))):
@@ -68,7 +68,7 @@ def InitFolders():
             file = open(Blender_folder3, "w")
             file.write("Blender Cycles")
             file.close()
-        
+
         file = open(exchangeFile, "w")
         file.write("%s"%(os.path.abspath(coat3D.exchangeFolder)))
         file.close()
@@ -81,14 +81,14 @@ def InitFolders():
 def updateExchangeFile(newPath):
 
     platform = os.sys.platform
-    
+
     if(platform == 'win32' or platform == 'darwin'):
         exchangeFile = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender' + os.sep + 'Exchange_folder.txt'
     else:
         exchangeFile = os.path.expanduser("~") + os.sep + '3DC2Blender' + os.sep + 'Exchange_folder.txt'
     if(os.path.isfile(exchangeFile)):
         folderPath = ''
-    
+
     if(os.path.isfile(exchangeFile)):
         file = open(exchangeFile, "w")
         file.write("%s"%(newPath))
@@ -100,22 +100,22 @@ def loadExchangeFolder():
     coat3D = bpy.context.scene.coat3D
 
     if(platform == 'win32' or platform == 'darwin'):
-        DC2Folder = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender' 
+        DC2Folder = os.path.expanduser("~") + os.sep + 'Documents' + os.sep + '3DC2Blender'
     else:
-        DC2Folder = os.path.expanduser("~") + os.sep + '3DC2Blender' 
-    
+        DC2Folder = os.path.expanduser("~") + os.sep + '3DC2Blender'
+
     exchangeFile = DC2Folder + os.sep + 'Exchange_folder.txt'
 
     if(not os.path.isdir(DC2Folder)):
         os.mkdir(DC2Folder)
-    
+
     if(not os.path.isfile(exchangeFile)):
         file = open(exchangeFile, 'w')
         file.close()
     else:
         savedExchangePath = ''
         folderPath = open(exchangeFile)
-        
+
         for line in folderPath:
             savedExchangePath = line
             break
diff --git a/io_coat3D/tex.py b/io_coat3D/tex.py
index c46275be2d746d57d64dd74c07334d9a46c9be9c..9901e3b2b215b60873019a41f95d77fcdd5d8a0e 100644
--- a/io_coat3D/tex.py
+++ b/io_coat3D/tex.py
@@ -73,22 +73,22 @@ def updatetextures(objekti): # Update 3DC textures
 
 def testi(objekti, texture_info, index_mat_name, uv_MODE_mat, mat_index):
     if uv_MODE_mat == 'UV':
-        
+
         uv_set_founded = False
         for uvset in objekti.data.uv_layers:
-          
+
             if(uvset.name == texture_info):
                 uv_set_founded = True
-               
+
                 break
-            
+
         if(uv_set_founded):
             for uv_poly in objekti.data.uv_layers[texture_info].id_data.polygons:
                 if(mat_index == uv_poly.material_index):
                     return True
         else:
             return False
-            
+
     elif uv_MODE_mat == 'MAT':
         return (texture_info == index_mat_name)
 
@@ -113,18 +113,18 @@ def readtexturefolder(objekti, mat_list, texturelist, is_new, udim_textures, udi
         if(udim_textures == False):
             for slot_index, texture_info in enumerate(texturelist):
 
-                uv_MODE_mat = 'MAT' 
+                uv_MODE_mat = 'MAT'
                 for index, layer in enumerate(objekti.data.uv_layers):
                     if(layer.name == texturelist[slot_index][0]):
                         uv_MODE_mat = 'UV'
                         break
 
-                
+
                 if(testi(objekti, texturelist[slot_index][0], index_mat.name, uv_MODE_mat, ind)) :
                     if (os.path.isfile(texture_info[3])):
                         if texture_info[2] == 'color' or texture_info[2] == 'diffuse':
                             if(index_mat.material.coat3D_diffuse):
-                                
+
                                 texcoat['color'].append(texture_info[3])
                                 create_nodes = True
                             else:
@@ -187,7 +187,7 @@ def readtexturefolder(objekti, mat_list, texturelist, is_new, udim_textures, udi
                                 os.remove(texture_info[3])
 
                         create_group_node = True
-              
+
 
         else:
             for texture_info in texturelist:
@@ -281,8 +281,8 @@ def createnodes(active_mat,texcoat, create_group_node, objekti, ind, is_new, udi
             act_material = node.node_tree
             applink_tree = node
             break
-    
-    
+
+
     for node in act_material.nodes:
         if (node.type != 'GROUP'):
             if (node.type != 'GROUP_OUTPUT'):
@@ -312,7 +312,7 @@ def createnodes(active_mat,texcoat, create_group_node, objekti, ind, is_new, udi
                         bring_alpha = False
                         updateimage.update(texcoat, 'alpha', node, udim_textures, udim_len)
 
-                    
+
         elif (node.type == 'GROUP' and node.name.startswith('3DC_')):
             if (node.name == '3DC_color'):
                 bring_color = False
@@ -481,12 +481,12 @@ def CreateTextureLine(type, act_material, main_mat, texcoat, coat3D, notegroup,
     load_image = True
 
     for image in bpy.data.images:
-        
+
         if(os.path.normpath(texcoat[type['name']][0]) == os.path.normpath(image.filepath)):
 
             load_image = False
             node.image = image
-            
+
             if(udim_textures):
                 node.image.source = 'TILED'
                 for udim_index in udim_len:
@@ -494,7 +494,7 @@ def CreateTextureLine(type, act_material, main_mat, texcoat, coat3D, notegroup,
                         node.image.tiles.new(udim_index)
 
             node.image.reload()
-         
+
             break
 
     if (load_image):
@@ -508,7 +508,7 @@ def CreateTextureLine(type, act_material, main_mat, texcoat, coat3D, notegroup,
             if (udim_index != 1001):
                 node.image.tiles.new(udim_index)
 
-    
+
     if node.image and type['colorspace'] == 'noncolor':
         node.image.colorspace_settings.is_data = True
 
@@ -567,7 +567,7 @@ def CreateTextureLine(type, act_material, main_mat, texcoat, coat3D, notegroup,
                     if(material.name == '3DC_Emission'):
                         main_material.links.new(applink_tree.outputs[type['input']], material.inputs[0])
                         break
-      
+
         uv_node.location = node.location
         uv_node.location[0] -= 300
         uv_node.location[1] -= 200
@@ -660,19 +660,19 @@ def matlab(objekti,mat_list,texturelist,is_new):
     if(is_new):
         RemoveFbxNodes(objekti)
 
-    updatetextures(objekti) 
+    updatetextures(objekti)
 
-    # Count udim tiles 
+    # Count udim tiles
 
     if(texturelist != []):
-    
+
         udim_textures = False
         udim_count = 0
         udim_indexs = []
 
         if texturelist[0][0].startswith('10') and  len(texturelist[0][0]) == 4:
             udim_textures = True
-        
+
             udim_target = ''
             udim_target  = texturelist[0][2]
             for texture in texturelist:
@@ -680,7 +680,7 @@ def matlab(objekti,mat_list,texturelist,is_new):
                     udim_indexs.append(int(texture[0]))
 
             udim_indexs.sort() # sort tiles list -> 1001, 1002, 1003...
-        
+
         # Main loop for creating nodes
 
         readtexturefolder(objekti, mat_list, texturelist, is_new, udim_textures, udim_indexs)
diff --git a/io_coat3D/updateimage.py b/io_coat3D/updateimage.py
index c811d7705e02e26a3c3f35a9beee0d45e068e21c..2b967fd72ec950459a4cdc4cc402a7087b283586 100644
--- a/io_coat3D/updateimage.py
+++ b/io_coat3D/updateimage.py
@@ -2,7 +2,7 @@ import bpy
 import os
 
 def update(texcoat,tex_type,node, udim_textures, udim_len):
-    
+
     if (os.path.normpath(texcoat[tex_type][0]) != os.path.normpath(node.image.filepath)):
         tex_found = False
 
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gltf2_exporter.py b/io_scene_gltf2/blender/exp/gltf2_blender_gltf2_exporter.py
index d2a2cf3ab1a94c9cdb25bc50ac067145a3aba0ff..bd4f6a964fcdfaca7b73011162ff6aa789bb963a 100755
--- a/io_scene_gltf2/blender/exp/gltf2_blender_gltf2_exporter.py
+++ b/io_scene_gltf2/blender/exp/gltf2_blender_gltf2_exporter.py
@@ -45,7 +45,7 @@ class GlTF2Exporter:
             generator='Khronos glTF Blender I/O v' + get_version_string(),
             min_version=None,
             version='2.0')
-        
+
         export_user_extensions('gather_asset_hook', export_settings, asset)
 
         self.__gltf = gltf2_io.Gltf(
@@ -106,7 +106,7 @@ class GlTF2Exporter:
             gltf2_io.MaterialNormalTextureInfoClass,
             gltf2_io.MaterialOcclusionTextureInfoClass
         ]
-        
+
         self.__traverse(asset)
 
     @property
diff --git a/io_scene_gltf2/blender/imp/gltf2_io_draco_compression_extension.py b/io_scene_gltf2/blender/imp/gltf2_io_draco_compression_extension.py
index 5a93673f973a69aa8542c1b7b79d774d0165fc1b..42c1af6b7a4c53944a35df5f364324cd760073dd 100644
--- a/io_scene_gltf2/blender/imp/gltf2_io_draco_compression_extension.py
+++ b/io_scene_gltf2/blender/imp/gltf2_io_draco_compression_extension.py
@@ -64,7 +64,7 @@ def decode_primitive(gltf, prim):
 
     dll.decoderCopyIndices.restype = None
     dll.decoderCopyIndices.argtypes = [c_void_p, c_void_p]
-    
+
     decoder = dll.decoderCreate()
     extension = prim.extensions['KHR_draco_mesh_compression']
 
@@ -82,7 +82,7 @@ def decode_primitive(gltf, prim):
     for existing_buffer_idx in gltf.buffers:
         if base_buffer_idx <= existing_buffer_idx:
             base_buffer_idx = existing_buffer_idx + 1
-    
+
     # Read indices.
     index_accessor = gltf.data.accessors[prim.indices]
     if dll.decoderGetIndexCount(decoder) != index_accessor.count:
@@ -91,7 +91,7 @@ def decode_primitive(gltf, prim):
     if not dll.decoderReadIndices(decoder, index_accessor.component_type):
         print_console('ERROR', 'Draco Decoder: Unable to decode indices. Skipping primitive {}.'.format(name))
         return
-    
+
     indices_byte_length = dll.decoderGetIndicesByteLength(decoder)
     decoded_data = bytes(indices_byte_length)
     dll.decoderCopyIndices(decoder, decoded_data)
@@ -107,14 +107,14 @@ def decode_primitive(gltf, prim):
 
     # Update accessor to point to the new buffer view.
     index_accessor.buffer_view = len(gltf.data.buffer_views) - 1
-    
+
     # Read each attribute.
     for attr_idx, attr in enumerate(extension['attributes']):
         dracoId = extension['attributes'][attr]
         if attr not in prim.attributes:
             print_console('ERROR', 'Draco Decoder: Draco attribute {} not in primitive attributes. Skipping primitive {}.'.format(attr, name))
             return
-        
+
         accessor = gltf.data.accessors[prim.attributes[attr]]
         if dll.decoderGetVertexCount(decoder) != accessor.count:
             print_console('WARNING', 'Draco Decoder: Vertex count of accessor and decoded vertex count does not match for attribute {}. Updating accessor.'.format(attr, name))
@@ -122,7 +122,7 @@ def decode_primitive(gltf, prim):
         if not dll.decoderReadAttribute(decoder, dracoId, accessor.component_type, accessor.type.encode()):
             print_console('ERROR', 'Draco Decoder: Could not decode attribute {}. Skipping primitive {}.'.format(attr, name))
             return
-        
+
         byte_length = dll.decoderGetAttributeByteLength(decoder, dracoId)
         decoded_data = bytes(byte_length)
         dll.decoderCopyAttribute(decoder, dracoId, decoded_data)
@@ -130,7 +130,7 @@ def decode_primitive(gltf, prim):
         # Generate a new buffer holding the decoded vertex data.
         buffer_idx = base_buffer_idx + 1 + attr_idx
         gltf.buffers[buffer_idx] = decoded_data
-        
+
         # Create a buffer view referencing the new buffer.
         gltf.data.buffer_views.append(BufferView.from_dict({
             'buffer': buffer_idx,
diff --git a/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py b/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py
index 51359f8267cb2db2d2816f70fa232378cbcced6f..fc57a1e506c5a2d21357a0e02e88fab089ccf3ea 100644
--- a/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py
+++ b/io_scene_gltf2/io/com/gltf2_io_draco_compression_extension.py
@@ -39,7 +39,7 @@ def dll_path() -> Path:
         }.get(sys.platform)
     else:
         path = Path(path)
-    
+
     library_name = {
         'win32': '{}.dll'.format(lib_name),
         'linux': 'lib{}.so'.format(lib_name),
diff --git a/io_scene_gltf2/io/exp/gltf2_io_draco_compression_extension.py b/io_scene_gltf2/io/exp/gltf2_io_draco_compression_extension.py
index 613bd2313fb0d26493312189a1ab5ff45bcc9d21..0c6bfaf4a4bc25e5c98b83eb19cfb64c262462f9 100644
--- a/io_scene_gltf2/io/exp/gltf2_io_draco_compression_extension.py
+++ b/io_scene_gltf2/io/exp/gltf2_io_draco_compression_extension.py
@@ -40,7 +40,7 @@ def encode_scene_primitives(scenes, export_settings):
 
     dll.encoderSetQuantizationBits.restype = None
     dll.encoderSetQuantizationBits.argtypes = [c_void_p, c_uint32, c_uint32, c_uint32, c_uint32, c_uint32]
-    
+
     dll.encoderSetIndices.restype = None
     dll.encoderSetIndices.argtypes = [c_void_p, c_size_t, c_uint32, c_void_p]
 
@@ -114,7 +114,7 @@ def __encode_primitive(primitive, dll, export_settings):
         export_settings['gltf_draco_texcoord_quantization'],
         export_settings['gltf_draco_color_quantization'],
         export_settings['gltf_draco_generic_quantization'])
-    
+
     if not dll.encoderEncode(encoder, primitive.targets is not None and len(primitive.targets) > 0):
         print_console('ERROR', 'Could not encode primitive. Skipping primitive.')
 
@@ -124,7 +124,7 @@ def __encode_primitive(primitive, dll, export_settings):
 
     if primitive.extensions is None:
         primitive.extensions = {}
-    
+
     primitive.extensions['KHR_draco_mesh_compression'] = {
         'bufferView': BinaryData(encoded_data),
         'attributes': draco_ids
diff --git a/power_sequencer/operators/utils/functions.py b/power_sequencer/operators/utils/functions.py
index 5b33067caafaef59519f710e7f794a61f685a2c3..021dfd54649bfe11914e385fdea56fb0fcf1043f 100644
--- a/power_sequencer/operators/utils/functions.py
+++ b/power_sequencer/operators/utils/functions.py
@@ -275,11 +275,11 @@ def trim_strips(context, frame_start, frame_end, to_trim, to_delete=[]):
             bpy.ops.sequencer.split(frame=trim_start, type="SOFT", side="RIGHT")
             bpy.ops.sequencer.split(frame=trim_end, type="SOFT", side="LEFT")
             to_delete.append(context.selected_sequences[0])
-            
+
             for c in context.sequences:
                 if c.channel == s.channel:
                     strips_in_target_channel.append(c)
-            
+
             if s in initial_selection:
                 initial_selection.append(strips_in_target_channel[0])
             continue
diff --git a/rigify/rot_mode.py b/rigify/rot_mode.py
index 855857b8a2af5efe6dabbef4a2aac776d6bfd436..59a233cb6880a2543c6be1fe458269b024d4d922 100644
--- a/rigify/rot_mode.py
+++ b/rigify/rot_mode.py
@@ -249,7 +249,7 @@ def register():
     # Classes.
     for cls in classes:
         register_class(cls)
-    
+
     bpy.types.VIEW3D_MT_pose.append(draw_convert_rotation)
 
 def unregister():