Kodi Community Forum

Full Version: KodiDevKit: SublimeText3 plugin to support kodi skinning / scripting
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Great. If you have further problems let me know.
Thank you, this makes things much easier. Smile
notable new stuff:
- search translated labels from open file (Command palette)
- Check Labels (searches for untranslated strings / unused strings)
- show parsing errors in message box
- SkinChecker is now separate from ST API integration and can now be used from command line with "python script.py PATH_TO_SKIN" (requires python 3.3 interpreter)
phil65,

As you requested in the skin XML converter thread I have installed Sublime and your plugin and tested my issue with include files being incorrectly flagged as missing. Issue still occurs with your sublime plugin (as we both knew it would), so this is a heads up to the problem. In order to save a little bit of memory (saves about 3-400K in my skin) I use include tags of this form

PHP Code:
<include file="View-Video.xml">VideoListView</include> 

This tag is an example from my MyVideoNav.xml file and is a valid Kodi skin tag. At the moment your include check option in your plugin says it can't find VideoListView, so I assume that your plugin does not make use of the

file="View-Video.xml"

part of the tag. Other than that, your plugin is up to your usual standard and has proved to be useful in spotting a number of code irregularities in my skin.

Thanks yet again
Wyrm (AppTV)
(2015-05-17, 15:58)wyrm Wrote: [ -> ]phil65,

As you requested in the skin XML converter thread I have installed Sublime and your plugin and tested my issue with include files being incorrectly flagged as missing. Issue still occurs with your sublime plugin (as we both knew it would), so this is a heads up to the problem. In order to save a little bit of memory (saves about 3-400K in my skin) I use include tags of this form

PHP Code:
<include file="View-Video.xml">VideoListView</include> 

This tag is an example from my MyVideoNav.xml file and is a valid Kodi skin tag. At the moment your include check option in your plugin says it can't find VideoListView, so I assume that your plugin does not make use of the

file="View-Video.xml"

part of the tag. Other than that, your plugin is up to your usual standard and has proved to be useful in spotting a number of code irregularities in my skin.

Thanks yet again
Wyrm (AppTV)

I hope that´s fixed with https://github.com/phil65/SublimeKodi/co...485ceffda3
Hi Phil.

ST3 with SublimeKodi work fine on my personnal laptop (Windows 8.1 64 bits) but I still have issues on my professionnal laptop (Windows 7 32 bits).

On both I use installed mode rather than portable mode.

Here is the console log :

Code:
DPI scale: 1
startup, version: 3083 windows x32 channel: stable
executable: /C/Program Files/Sublime Text 3/sublime_text.exe
working dir: /C/Program Files/Sublime Text 3
packages path: /C/Users/<UserName>/AppData/Roaming/Sublime Text 3/Packages
state path: /C/Users/<UserName>/AppData/Roaming/Sublime Text 3/Local
zip path: /C/Program Files/Sublime Text 3/Packages
zip path: /C/Users/<UserName>/AppData/Roaming/Sublime Text 3/Installed Packages
ignored_packages: ["Vintage"]
pre session restore time: 0.124133
startup time: 0.171133
first paint time: 0.171133
reloading plugin Default.block
reloading plugin Default.comment
reloading plugin Default.copy_path
reloading plugin Default.delete_word
reloading plugin Default.detect_indentation
reloading plugin Default.duplicate_line
reloading plugin Default.echo
reloading plugin Default.exec
reloading plugin Default.fold
reloading plugin Default.font
reloading plugin Default.goto_line
reloading plugin Default.history_list
reloading plugin Default.indentation
reloading plugin Default.kill_ring
reloading plugin Default.mark
reloading plugin Default.new_templates
reloading plugin Default.open_context_url
reloading plugin Default.open_file_settings
reloading plugin Default.open_in_browser
reloading plugin Default.pane
reloading plugin Default.paragraph
reloading plugin Default.paste_from_history
reloading plugin Default.quick_panel
reloading plugin Default.save_on_focus_lost
reloading plugin Default.scroll
reloading plugin Default.set_unsaved_view_name
reloading plugin Default.side_bar
reloading plugin Default.sort
reloading plugin Default.swap_line
reloading plugin Default.switch_file
reloading plugin Default.symbol
reloading plugin Default.transform
reloading plugin Default.transpose
reloading plugin Default.trim_trailing_white_space
reloading plugin CSS.css_completions
reloading plugin Diff.diff
reloading plugin HTML.encode_html_entities
reloading plugin HTML.html_completions
reloading plugin IndentXML.indentxml
reloading plugin SublimeKodi.__init__
reloading plugin SublimeKodi.script
Traceback (most recent call last):
  File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
  File "<frozen importlib._bootstrap>", line 1022, in load_module
  File "<frozen importlib._bootstrap>", line 1003, in load_module
  File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
  File "<frozen importlib._bootstrap>", line 868, in _load_module
  File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed
  File "C:\Users\<UserName>\AppData\Roaming\Sublime Text 3\Packages\SublimeKodi\script.py", line 8, in <module>
    from Utils import *
  File "C:\Users\<UserName>\AppData\Roaming\Sublime Text 3\Packages\SublimeKodi\libs\Utils.py", line 2, in <module>
    from lxml import etree as ET
ImportError: DLL load failed: %1 n’est pas une application Win32 valide.
reloading plugin SublimeKodi.sublimekodi
Traceback (most recent call last):
  File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
  File "<frozen importlib._bootstrap>", line 1022, in load_module
  File "<frozen importlib._bootstrap>", line 1003, in load_module
  File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
  File "<frozen importlib._bootstrap>", line 868, in _load_module
  File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed
  File "C:\Users\<UserName>\AppData\Roaming\Sublime Text 3\Packages\SublimeKodi\sublimekodi.py", line 13, in <module>
    from lxml import etree as ET
ImportError: DLL load failed: %1 n’est pas une application Win32 valide.
plugins loaded

The error could be translate :

Code:
ImportError: DLL load failed: %1 is not a valide Win32 application.
It´s because you´re using a 32 bit system. Please try https://github.com/phil65/SublimeKodi/tree/arch
Downlaoded and installed but same issue and same error in console :

Code:
DPI scale: 1
startup, version: 3083 windows x32 channel: stable
executable: /C/Program Files/Sublime Text 3/sublime_text.exe
working dir: /C/Program Files/Sublime Text 3
packages path: /C/Users/<UserName>/AppData/Roaming/Sublime Text 3/Packages
state path: /C/Users/<UserName>/AppData/Roaming/Sublime Text 3/Local
zip path: /C/Program Files/Sublime Text 3/Packages
zip path: /C/Users/<UserName>/AppData/Roaming/Sublime Text 3/Installed Packages
ignored_packages: ["Vintage"]
pre session restore time: 0.140378
startup time: 0.186378
first paint time: 0.186378
reloading plugin Default.block
reloading plugin Default.comment
reloading plugin Default.copy_path
reloading plugin Default.delete_word
reloading plugin Default.detect_indentation
reloading plugin Default.duplicate_line
reloading plugin Default.echo
reloading plugin Default.exec
reloading plugin Default.fold
reloading plugin Default.font
reloading plugin Default.goto_line
reloading plugin Default.history_list
reloading plugin Default.indentation
reloading plugin Default.kill_ring
reloading plugin Default.mark
reloading plugin Default.new_templates
reloading plugin Default.open_context_url
reloading plugin Default.open_file_settings
reloading plugin Default.open_in_browser
reloading plugin Default.pane
reloading plugin Default.paragraph
reloading plugin Default.paste_from_history
reloading plugin Default.quick_panel
reloading plugin Default.save_on_focus_lost
reloading plugin Default.scroll
reloading plugin Default.set_unsaved_view_name
reloading plugin Default.side_bar
reloading plugin Default.sort
reloading plugin Default.swap_line
reloading plugin Default.switch_file
reloading plugin Default.symbol
reloading plugin Default.transform
reloading plugin Default.transpose
reloading plugin Default.trim_trailing_white_space
reloading plugin CSS.css_completions
reloading plugin Diff.diff
reloading plugin HTML.encode_html_entities
reloading plugin HTML.html_completions
reloading plugin IndentXML.indentxml
reloading plugin SublimeKodi.__init__
reloading plugin SublimeKodi.script
reloading plugin SublimeKodi.sublimekodi
Traceback (most recent call last):
  File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
  File "<frozen importlib._bootstrap>", line 1022, in load_module
  File "<frozen importlib._bootstrap>", line 1003, in load_module
  File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
  File "<frozen importlib._bootstrap>", line 868, in _load_module
  File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed
  File "C:\Users\<UserName>\AppData\Roaming\Sublime Text 3\Packages\SublimeKodi\sublimekodi.py", line 19, in <module>
    from PIL_32 import Image
  File "C:\Users\<UserName>\AppData\Roaming\Sublime Text 3\Packages\SublimeKodi\libs\PIL_32\Image.py", line 63, in <module>
    from PIL import _imaging as core
ImportError: DLL load failed: %1 n’est pas une application Win32 valide.
plugins loaded

I hope the console is cleared each time I run ST3. BTW, no "Check ..." items in Command palette Sad
Get latest commit from arch branch (I have named folder in Packages "SublimeKodi_7b8646687e" to be sure that ST3 use the latest code) but issue still present Sad

Code:
DPI scale: 1
startup, version: 3083 windows x32 channel: stable
executable: /C/Program Files/Sublime Text 3/sublime_text.exe
working dir: /C/Program Files/Sublime Text 3
packages path: /C/Users/<UserName>/AppData/Roaming/Sublime Text 3/Packages
state path: /C/Users/<UserName>/AppData/Roaming/Sublime Text 3/Local
zip path: /C/Program Files/Sublime Text 3/Packages
zip path: /C/Users/<UserName>/AppData/Roaming/Sublime Text 3/Installed Packages
ignored_packages: ["Vintage"]
pre session restore time: 0.155492
startup time: 0.186492
first paint time: 0.186492
reloading plugin Default.block
reloading plugin Default.comment
reloading plugin Default.copy_path
reloading plugin Default.delete_word
reloading plugin Default.detect_indentation
reloading plugin Default.duplicate_line
reloading plugin Default.echo
reloading plugin Default.exec
reloading plugin Default.fold
reloading plugin Default.font
reloading plugin Default.goto_line
reloading plugin Default.history_list
reloading plugin Default.indentation
reloading plugin Default.kill_ring
reloading plugin Default.mark
reloading plugin Default.new_templates
reloading plugin Default.open_context_url
reloading plugin Default.open_file_settings
reloading plugin Default.open_in_browser
reloading plugin Default.pane
reloading plugin Default.paragraph
reloading plugin Default.paste_from_history
reloading plugin Default.quick_panel
reloading plugin Default.save_on_focus_lost
reloading plugin Default.scroll
reloading plugin Default.set_unsaved_view_name
reloading plugin Default.side_bar
reloading plugin Default.sort
reloading plugin Default.swap_line
reloading plugin Default.switch_file
reloading plugin Default.symbol
reloading plugin Default.transform
reloading plugin Default.transpose
reloading plugin Default.trim_trailing_white_space
reloading plugin CSS.css_completions
reloading plugin Diff.diff
reloading plugin HTML.encode_html_entities
reloading plugin HTML.html_completions
reloading plugin IndentXML.indentxml
reloading plugin SublimeKodi_7b8646687e.__init__
reloading plugin SublimeKodi_7b8646687e.script
reloading plugin SublimeKodi_7b8646687e.sublimekodi
Traceback (most recent call last):
  File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
  File "<frozen importlib._bootstrap>", line 1022, in load_module
  File "<frozen importlib._bootstrap>", line 1003, in load_module
  File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
  File "<frozen importlib._bootstrap>", line 868, in _load_module
  File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed
  File "C:\Users\<UserName>\AppData\Roaming\Sublime Text 3\Packages\SublimeKodi_7b8646687e\sublimekodi.py", line 19, in <module>
    from PIL_32 import Image
  File "C:\Users\<UserName>\AppData\Roaming\Sublime Text 3\Packages\SublimeKodi_7b8646687e\libs\PIL_32\Image.py", line 63, in <module>
    from PIL import _imaging as core
ImportError: DLL load failed: %1 n’est pas une application Win32 valide.
plugins loaded
next try:
https://github.com/phil65/SublimeKodi/co...ef5156871b
if that one does not work then I probably wont be able to help unless I get my hands on a 32 bit machine.
Still KO Sad

Code:
DPI scale: 1
startup, version: 3083 windows x32 channel: stable
executable: /C/Program Files/Sublime Text 3/sublime_text.exe
working dir: /C/Program Files/Sublime Text 3
packages path: /C/Users/MIbertho/AppData/Roaming/Sublime Text 3/Packages
state path: /C/Users/MIbertho/AppData/Roaming/Sublime Text 3/Local
zip path: /C/Program Files/Sublime Text 3/Packages
zip path: /C/Users/MIbertho/AppData/Roaming/Sublime Text 3/Installed Packages
ignored_packages: ["Vintage"]
pre session restore time: 0.420584
startup time: 0.483584
first paint time: 0.498584
reloading plugin Default.block
reloading plugin Default.comment
reloading plugin Default.copy_path
reloading plugin Default.delete_word
reloading plugin Default.detect_indentation
reloading plugin Default.duplicate_line
reloading plugin Default.echo
reloading plugin Default.exec
reloading plugin Default.fold
reloading plugin Default.font
reloading plugin Default.goto_line
reloading plugin Default.history_list
reloading plugin Default.indentation
reloading plugin Default.kill_ring
reloading plugin Default.mark
reloading plugin Default.new_templates
reloading plugin Default.open_context_url
reloading plugin Default.open_file_settings
reloading plugin Default.open_in_browser
reloading plugin Default.pane
reloading plugin Default.paragraph
reloading plugin Default.paste_from_history
reloading plugin Default.quick_panel
reloading plugin Default.save_on_focus_lost
reloading plugin Default.scroll
reloading plugin Default.set_unsaved_view_name
reloading plugin Default.side_bar
reloading plugin Default.sort
reloading plugin Default.swap_line
reloading plugin Default.switch_file
reloading plugin Default.symbol
reloading plugin Default.transform
reloading plugin Default.transpose
reloading plugin Default.trim_trailing_white_space
reloading plugin CSS.css_completions
reloading plugin Diff.diff
reloading plugin HTML.encode_html_entities
reloading plugin HTML.html_completions
reloading plugin IndentXML.indentxml
reloading plugin SublimeKodi_8671ab975a.__init__
reloading plugin SublimeKodi_8671ab975a.script
reloading plugin SublimeKodi_8671ab975a.sublimekodi
Traceback (most recent call last):
  File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
  File "<frozen importlib._bootstrap>", line 1022, in load_module
  File "<frozen importlib._bootstrap>", line 1003, in load_module
  File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
  File "<frozen importlib._bootstrap>", line 868, in _load_module
  File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed
  File "C:\Users\MIbertho\AppData\Roaming\Sublime Text 3\Packages\SublimeKodi_8671ab975a\sublimekodi.py", line 19, in <module>
    from PIL_32 import Image
  File "C:\Users\MIbertho\AppData\Roaming\Sublime Text 3\Packages\SublimeKodi_8671ab975a\libs\PIL_32\Image.py", line 63, in <module>
    from PIL import _imaging as core
ImportError: DLL load failed: %1 n’est pas une application Win32 valide.
plugins loaded

Can I help you in any way ?
(2015-05-17, 20:07)phil65 Wrote: [ -> ]
(2015-05-17, 15:58)wyrm Wrote: [ -> ]phil65,

As you requested in the skin XML converter thread I have installed Sublime and your plugin and tested my issue with include files being incorrectly flagged as missing. Issue still occurs with your sublime plugin (as we both knew it would), so this is a heads up to the problem. In order to save a little bit of memory (saves about 3-400K in my skin) I use include tags of this form

PHP Code:
<include file="View-Video.xml">VideoListView</include> 

This tag is an example from my MyVideoNav.xml file and is a valid Kodi skin tag. At the moment your include check option in your plugin says it can't find VideoListView, so I assume that your plugin does not make use of the

file="View-Video.xml"

part of the tag. Other than that, your plugin is up to your usual standard and has proved to be useful in spotting a number of code irregularities in my skin.

Thanks yet again
Wyrm (AppTV)

I hope that´s fixed with https://github.com/phil65/SublimeKodi/co...485ceffda3
phil65,

Sorry took a while to get back to you (broke myself) but yes that commit was the goods. Now do not have any valid includes flagged as missing.

Thanks mate
Wyrm (AppTV)
(2015-05-19, 09:31)mikebzh44 Wrote: [ -> ]Still KO Sad

Code:
DPI scale: 1
startup, version: 3083 windows x32 channel: stable
executable: /C/Program Files/Sublime Text 3/sublime_text.exe
working dir: /C/Program Files/Sublime Text 3
packages path: /C/Users/MIbertho/AppData/Roaming/Sublime Text 3/Packages
state path: /C/Users/MIbertho/AppData/Roaming/Sublime Text 3/Local
zip path: /C/Program Files/Sublime Text 3/Packages
zip path: /C/Users/MIbertho/AppData/Roaming/Sublime Text 3/Installed Packages
ignored_packages: ["Vintage"]
pre session restore time: 0.420584
startup time: 0.483584
first paint time: 0.498584
reloading plugin Default.block
reloading plugin Default.comment
reloading plugin Default.copy_path
reloading plugin Default.delete_word
reloading plugin Default.detect_indentation
reloading plugin Default.duplicate_line
reloading plugin Default.echo
reloading plugin Default.exec
reloading plugin Default.fold
reloading plugin Default.font
reloading plugin Default.goto_line
reloading plugin Default.history_list
reloading plugin Default.indentation
reloading plugin Default.kill_ring
reloading plugin Default.mark
reloading plugin Default.new_templates
reloading plugin Default.open_context_url
reloading plugin Default.open_file_settings
reloading plugin Default.open_in_browser
reloading plugin Default.pane
reloading plugin Default.paragraph
reloading plugin Default.paste_from_history
reloading plugin Default.quick_panel
reloading plugin Default.save_on_focus_lost
reloading plugin Default.scroll
reloading plugin Default.set_unsaved_view_name
reloading plugin Default.side_bar
reloading plugin Default.sort
reloading plugin Default.swap_line
reloading plugin Default.switch_file
reloading plugin Default.symbol
reloading plugin Default.transform
reloading plugin Default.transpose
reloading plugin Default.trim_trailing_white_space
reloading plugin CSS.css_completions
reloading plugin Diff.diff
reloading plugin HTML.encode_html_entities
reloading plugin HTML.html_completions
reloading plugin IndentXML.indentxml
reloading plugin SublimeKodi_8671ab975a.__init__
reloading plugin SublimeKodi_8671ab975a.script
reloading plugin SublimeKodi_8671ab975a.sublimekodi
Traceback (most recent call last):
  File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 74, in reload_plugin
    m = importlib.import_module(modulename)
  File "./importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
  File "<frozen importlib._bootstrap>", line 1022, in load_module
  File "<frozen importlib._bootstrap>", line 1003, in load_module
  File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
  File "<frozen importlib._bootstrap>", line 868, in _load_module
  File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed
  File "C:\Users\MIbertho\AppData\Roaming\Sublime Text 3\Packages\SublimeKodi_8671ab975a\sublimekodi.py", line 19, in <module>
    from PIL_32 import Image
  File "C:\Users\MIbertho\AppData\Roaming\Sublime Text 3\Packages\SublimeKodi_8671ab975a\libs\PIL_32\Image.py", line 63, in <module>
    from PIL import _imaging as core
ImportError: DLL load failed: %1 n’est pas une application Win32 valide.
plugins loaded

Can I help you in any way ?

you could compile pillow for python 3.3 yourself on your local machine and see if those pyd files work on your computer.
(2015-05-19, 17:33)wyrm Wrote: [ -> ]
(2015-05-17, 20:07)phil65 Wrote: [ -> ]
(2015-05-17, 15:58)wyrm Wrote: [ -> ]phil65,

As you requested in the skin XML converter thread I have installed Sublime and your plugin and tested my issue with include files being incorrectly flagged as missing. Issue still occurs with your sublime plugin (as we both knew it would), so this is a heads up to the problem. In order to save a little bit of memory (saves about 3-400K in my skin) I use include tags of this form

PHP Code:
<include file="View-Video.xml">VideoListView</include> 

This tag is an example from my MyVideoNav.xml file and is a valid Kodi skin tag. At the moment your include check option in your plugin says it can't find VideoListView, so I assume that your plugin does not make use of the

file="View-Video.xml"

part of the tag. Other than that, your plugin is up to your usual standard and has proved to be useful in spotting a number of code irregularities in my skin.

Thanks yet again
Wyrm (AppTV)

I hope that´s fixed with https://github.com/phil65/SublimeKodi/co...485ceffda3
phil65,

Sorry took a while to get back to you (broke myself) but yes that commit was the goods. Now do not have any valid includes flagged as missing.

Thanks mate
Wyrm (AppTV)

Great. If you have any more problems let me know.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22