diff --git a/LDDC.py b/LDDC.py
index 0849475..7824f66 100644
--- a/LDDC.py
+++ b/LDDC.py
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: Copyright (c) 2024 沉默の金
-__version__ = "v0.6.1"
+__version__ = "v0.6.2"
import logging
import os
import resource.resource_rc
@@ -61,6 +61,7 @@ def __init__(self) -> None:
self.setWindowTitle("LDDC")
self.resize(1050, 600)
self.setWindowIcon(QIcon(":/LDDC/img/icon/logo.png"))
+ self.set_sidebar_width(95)
self.search_widget = SearchWidget(self, threadpool)
self.local_match_widget = LocalMatchWidget(threadpool)
diff --git a/README.md b/README.md
index b2e6b11..fdfbd18 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,7 @@
# LDDC
+中文 | [English](./README_en.md)
+
> 精准歌词(逐字歌词)下载解密转换
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/015f636391584ffc82790ff7038da5ca)](https://app.codacy.com/gh/chenmozhijin/LDDC/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
@@ -22,8 +24,8 @@
## 预览
-![image](img/1.jpg)
-![image](img/2.jpg)
+![image](img/zh_1.jpg)
+![image](img/zh_2.jpg)
## 使用方法
diff --git a/README_en.md b/README_en.md
new file mode 100644
index 0000000..30192fc
--- /dev/null
+++ b/README_en.md
@@ -0,0 +1,46 @@
+# LDDC
+
+[中文](.\README.md) | English
+
+> Accurate Lyrics (verbatim lyrics) Download, Decryption, and Conversion
+
+[![Codacy Badge](https://app.codacy.com/project/badge/Grade/015f636391584ffc82790ff7038da5ca)](https://app.codacy.com/gh/chenmozhijin/LDDC/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
+[![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/chenmozhijin/LDDC/total)](https://github.com/chenmozhijin/LDDC/releases/latest)
+[![Static Badge](https://img.shields.io/badge/Python-3.10%2B-brightgreen)](https://www.python.org/downloads/)
+[![Static Badge](https://img.shields.io/badge/License-GPLv3-blue)](https://github.com/chenmozhijin/LDDC/blob/main/LICENSE)
+[![release](https://img.shields.io/github/v/release/chenmozhijin/LDDC?color=blue)](https://github.com/chenmozhijin/LDDC/releases/latest)
+
+## Features
+
+- [x] Search for singles, albums, and playlists on QQ Music, Kugou Music, and NetEase Cloud Music
+- [x] One-click download of lyrics for entire albums and playlists
+- [x] One-click match lyrics for local song files
+- [x] Support for saving in multiple formats (lrc, srt, ass)
+- [x] Double-click to preview lyrics and save directly
+- [x] Merge lyrics of various types (original, translated, romanized) at will
+- [x] Save path with various placeholders for arbitrary combinations
+- [x] Support for opening locally encrypted lyrics
+- [x] Multi-platform support
+
+## Preview
+
+![image](img/en_1.jpg)
+![image](img/en_2.jpg)
+
+## Usage
+
+See [LDDC User Guide](https://github.com/chenmozhijin/LDDC/wiki)
+
+## Acknowledgments
+
+Some functionalities are implemented with reference to the following projects:
+
+### Lyrics Decryption
+
+[![Readme Card](https://github-readme-stats.vercel.app/api/pin/?username=WXRIW&repo=Lyricify-Lyrics-Helper)](https://github.com/WXRIW/Lyricify-Lyrics-Helper)
+[![Readme Card](https://github-readme-stats.vercel.app/api/pin/?username=jixunmoe&repo=qmc-decode)](https://github.com/jixunmoe/qmc-decode)
+[![Readme Card](https://github-readme-stats.vercel.app/api/pin/?username=parakeet-rs&repo=libparakeet)](https://github.com/parakeet-rs/libparakeet)
+
+### Music Platform APIs
+
+[![Readme Card](https://github-readme-stats.vercel.app/api/pin/?username=MCQTSS&repo=MCQTSS_QQMusic)](https://github.com/MCQTSS/MCQTSS_QQMusic)
diff --git a/img/en_1.jpg b/img/en_1.jpg
new file mode 100644
index 0000000..7d568c1
Binary files /dev/null and b/img/en_1.jpg differ
diff --git a/img/en_2.jpg b/img/en_2.jpg
new file mode 100644
index 0000000..cad1810
Binary files /dev/null and b/img/en_2.jpg differ
diff --git a/img/zh_1.jpg b/img/zh_1.jpg
new file mode 100644
index 0000000..821ed86
Binary files /dev/null and b/img/zh_1.jpg differ
diff --git a/img/zh_2.jpg b/img/zh_2.jpg
new file mode 100644
index 0000000..3df780d
Binary files /dev/null and b/img/zh_2.jpg differ
diff --git a/resource/i18n/LDDC_en.qm b/resource/i18n/LDDC_en.qm
index be92563..af02bf1 100644
Binary files a/resource/i18n/LDDC_en.qm and b/resource/i18n/LDDC_en.qm differ
diff --git a/resource/i18n/LDDC_en.ts b/resource/i18n/LDDC_en.ts
index d9e9e28..f962a87 100644
--- a/resource/i18n/LDDC_en.ts
+++ b/resource/i18n/LDDC_en.ts
@@ -4,24 +4,24 @@
CheckUpdate
-
-
-
+
+
+
check updates
-
+
Found a new version {0}, would you like to download it from GitHub?
-
+
Already the latest version
-
+
Checking for updates failed with error: {0}
@@ -29,87 +29,87 @@
EncryptedLyricsWidget
-
+
Select encrypted lyrics
-
+
encrypted lyrics(*.qrc *.krc)
-
-
-
-
+
+
+
+
Warning
-
+
file does not exist!
-
+
Failed to read file:
-
+
The file format is incorrect!
-
+
Decryption failed
-
+
Decryption failed:
-
-
-
+
+
+
Error
-
+
- Tip
+ Info
-
+
The current lyrics have been converted!
-
+
Lyric content cannot be empty!
-
+
Conversion failed:
-
+
save file
-
-
- Lyrics files (*.lrc *.srt *.ass)
+
+
+ Lyrics files
-
+
Save failed:
@@ -119,7 +119,7 @@
- Tip
+ Info
@@ -130,83 +130,90 @@
LocalMatch
-
-
-
-
-
-
+
+
+
+
+
+
search results
-
-
-
-
+
+
+
+
skip pure music
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Local
-
-
+
+
Failed to obtain lyrics
-
+
Process cue files and loop through song files...
-
+
+
+ No song resolved in cue file {0}
+
+
+
Found {0} songs in total
-
+
, of which {0} was found in {1} cue files
-
+
Reading song file information...
-
+
Searching and getting lyrics...
-
+
Error when searching and retrieving lyrics: {0}
-
-
+
+
Match
-
-
+
+
Successfully saved to
-
+
Matching completed, it took {0} seconds
@@ -214,78 +221,79 @@
LocalMatchWidget
-
-
-
+
+
+
Select folder
-
+
Select the mirror folder
-
-
-
+
+
+
Warning
-
+
The song folder does not exist!
-
+
Please select at least one lyric type!
-
-
-
+
+
+
Error
-
+
Wrong save mode selection!
-
+
Wrong save mode selection!
-
+
QQ Music
-
+
kugou
-
+
NetEase Cloud Music
-
+
Please select at least one source!
-
+
+
Cancel matching
-
+
Start matching
@@ -293,32 +301,41 @@
LyricProcess
-
+
There was an error {0} while searching for lyrics
-
- There are no results for searching lyrics, source: {source}, song title: {title}, : {hash}
+ There are no results for searching lyrics, source: {source}, song title: {title}, : {hash}
-
+
+
+ There are no results for searching lyrics, source: {0}, song title: {1}, : {2}
+
+
+
+
+ Failed to obtain encrypted lyrics of {0}, error: {1}
+
+
+
Failed to merge lyrics: {0}
-
+
Failed to obtain song list, list data is empty
-
+
Failed to get song list: {0}
-
+
Failed to get song list, unknown error
@@ -326,39 +343,40 @@
MainWindow
-
+
Search
-
+
local match
-
+
Open
-encrypted lyrics
+encrypted
+lyrics
-
+
About
-
+
Settings
-
+
new version found
-
+
Found a new version, do you want to download it from GitHub?
@@ -366,77 +384,141 @@ encrypted lyrics
SearchWidget
-
-
+
+
+
+
+
+ Warning
+
+
+
+
+ Please select an album or playlist first
+
+
+
+
+ Obtaining the lyrics of {0} successfully
+
+
+
+
+ but the song is pure music and has been skipped
+
+
+
+
+ but saving the lyrics failed, reason:
+
+
+
+
+ ,Save to
+
+
+
+
close
-
-
-
+
+
+
+
- Tip
+ Info
-
+
Get lyrics completed
-
+
Cancel
-
-
+
+
+ Please download, preview lyrics and select the save path first
+
+
+
+
+ Lyrics content is empty
+
+
+
+
+ Lyrics saved successfully
+
+
+
+
+ Failed to save lyrics:
+
+
+
+
+ Select save path
+
+
+
+
Search
-
-
+
+
Search error
-
+
Please enter your search keywords
-
+
+
+ searching...
+
+
+
Getting preview lyrics error
-
+
Plain Text
-
+
verbatim
-
+
line by line
-
+
original
-
+
, translation
-
+
, romanized
@@ -506,28 +588,28 @@ encrypted lyrics
-
-
+
+
error
-
+
Lyrics not found
-
+
Search lyrics for pure music
-
+
no more results
-
+
loading...
@@ -621,42 +703,47 @@ encrypted lyrics
romanized
-
+
+
+ Offset:
+
+
+
Converted format:
-
+
LRC (verbatim)
-
+
LRC (line by line)
-
+
SRT
-
+
ASS
-
+
Open encrypted lyrics
-
+
Convert format
-
+
save lyrics
@@ -702,125 +789,125 @@ encrypted lyrics
save
-
+
Lyrics saving mode:
-
+
Save to mirror folder of songs folder
-
+
Save to song folder
-
+
Save to specified folder
-
+
Select folder path
-
+
Lyrics file name:
-
+
Same format as in settings
-
+
Same as song file name
-
+
lyrics
-
+
Lyric type:
-
+
original
-
+
translation
-
+
romanized
-
+
Source of lyrics:
-
-
+
+
QQ Music
-
-
+
+
NetEase Cloud Music
-
-
+
+
kugou
-
+
Priority:
-
+
Lyrics format:
-
+
LRC (verbatim)
-
+
LRC (line by line)
-
+
SRT
-
+
ASS
-
+
Start matching
@@ -967,37 +1054,42 @@ encrypted lyrics
romanized
-
+
+
+ Offset:
+
+
+
Lyrics format:
-
+
LRC (verbatim)
-
+
LRC (line by line)
-
+
SRT
-
+
ASS
-
+
Save album/songlist lyrics
-
+
Save previewed lyrics
@@ -1162,6 +1254,12 @@ li.checked::marker { content: "\2612"; }
File not found:
+
+
+
+
+ Unable to get song title, skip
+
diff --git a/resource/resource_rc.py b/resource/resource_rc.py
index a078682..cb83c03 100644
--- a/resource/resource_rc.py
+++ b/resource/resource_rc.py
@@ -2374,1343 +2374,1443 @@
1\x00 \x22\x22\xba\x80\x18\x00\x10\x11\x11]@\x0c\x00\
\x88\x88\x88.\xa0\xff?\x18D:_\xdfPR\x15\x00\
\x00\x00\x00IEND\xaeB`\x82\
-\x00\x00\x5c\x5c\
+\x00\x00c\xec\
<\
\xb8d\x18\xca\xef\x9c\x95\xcd!\x1c\xbf`\xa1\xbd\xdd\xa7\
-\x00\x00\x00\x05en_USB\x00\x00\x06\x90\x00\x00\
-F\x83\x00\x00(o\x00\x00F\x83\x00\x00,\xa9\x00\x00\
-F\x83\x00\x009%\x00\x00Xt\x00\x00)f\x00\x00\
-Xt\x00\x00-\xc4\x00\x00Xt\x00\x00:'\x00\x04\
-\xd6\x8d\x00\x00'>\x00\x04\xd6\x8d\x00\x00(\x9d\x00\x04\
-\xd6\x8d\x00\x00,\xd2\x00\x04\xd6\x8d\x00\x009I\x00\x04\
-\xd6\x8d\x00\x00N\xd6\x00\x04\xe2\xaf\x00\x00N\xf7\x00\x1a\
-\xfe\xbc\x00\x00-\xed\x00\x1b\xb0\x90\x00\x00\x0d\xf5\x00)\
-\xeb\x99\x00\x005\x98\x008\x14w\x00\x00\x1a\x04\x009\
-\xf3p\x00\x00\x10\xcc\x009\xf3p\x00\x003\x80\x009\
-\xf3p\x00\x00>\x00\x00;\x1bP\x00\x00\x0e\x90\x00;\
-\x1bP\x00\x00-\x8c\x00;\x1bP\x00\x009\xf4\x00D\
- \xdf\x00\x00+^\x00H\x97\x97\x00\x00N\x92\x00J\
-wB\x00\x00N\xb4\x00s\xa9\xb0\x00\x00\x0d\xa9\x00y\
-\xea\xfa\x00\x00;l\x00\xdb\xf7\xa9\x00\x00\x05^\x00\xe0\
-\xecj\x00\x001\xfa\x00\xe9B}\x00\x00\x07\x9f\x01\x11\
-\x1aa\x00\x00\x03.\x01\x19^\x8f\x00\x00 :\x01l\
-\x10\x9a\x00\x00*w\x01\x99\xdd\x1f\x00\x00\x16s\x01\xcf\
-,\xf5\x00\x00\x0cO\x01\xcf\xa0\xe9\x00\x00(\xc6\x01\xcf\
-\xa0\xe9\x00\x00,\xf6\x01\xcf\xa0\xe9\x00\x009h\x01\xd0\
-O\x99\x00\x00)\x12\x01\xd0O\x99\x00\x00-=\x01\xd0\
-O\x99\x00\x009\xaa\x01\xe1\xee\xad\x00\x00\x19K\x01\xe1\
-\xee\xad\x00\x001\x86\x01\xe2Mz\x00\x002\xf4\x01\xe2\
-Mz\x00\x00=>\x01\xe5\xf8}\x00\x00,:\x01\xe9\
-1\xec\x00\x00\x1f\x1a\x02\x11\xc1y\x00\x00\x12x\x02\x11\
-\xc1y\x00\x00T\x13\x02\x18\xf3m\x00\x006\xad\x02$\
-\x12~\x00\x00S\xc8\x022\xaf\x5c\x00\x00\x00\xd4\x03\x1b\
-\xd9n\x00\x00\x0a?\x03\x1cr\xed\x00\x00:v\x03\xb2\
-\xee\xba\x00\x003=\x03\xbf\xed\x8a\x00\x00/A\x04\x0f\
-\xda\xca\x00\x00\x06\xdb\x04\x1d\xf1\xa2\x00\x00\x09\xb9\x04%\
-\xb0\xf3\x00\x00'\x5c\x04)>\xff\x00\x00\x1c\x0c\x04:\
-\xb6:\x00\x00\x02\x18\x04;\xe9\xe1\x00\x00\x0e\xcd\x04G\
-\x9d\xa0\x00\x008\xc7\x04\x8cO\xde\x00\x00?d\x04\xa2\
-L\x9d\x00\x00\x14\xb0\x04\xb89\x9d\x00\x00\x13\xa0\x05\x04\
-o\xed\x00\x00\x18\xbe\x05#]\x90\x00\x00\x0a\xe2\x05&\
-\x15\x9e\x00\x00\x1b\x94\x05-\xa1x\x00\x00=\xbd\x054\
-\x97\xa4\x00\x00O\x18\x05;.\xeb\x00\x00=\x82\x05C\
-~=\x00\x00*\x16\x05D\xcc\x0d\x00\x00\x14\x0f\x05P\
-\x82\xfe\x00\x00R\x81\x05\xe3\x99W\x00\x00 \xab\x06\x0c\
-\x02\x0d\x00\x00\x01\x83\x06\x0e\x1f`\x00\x005J\x06!\
-\xf4T\x00\x00\x1b\x15\x061\x22\xe4\x00\x004L\x06D\
-b\xd3\x00\x00\x22\x05\x06Db\xd3\x00\x00*\xdd\x06D\
-b\xd3\x00\x003\xd5\x06Db\xd3\x00\x00>P\x06D\
-b\xd3\x00\x00R\xc8\x06w0.\x00\x00\x0c\xae\x06\xc7\
-\xd2*\x00\x00\x07B\x06\xd4\x91\xdd\x00\x00\x0f\x90\x06\xd4\
-\x91\xdd\x00\x001>\x06\xd5\xb1o\x00\x00R!\x06\xe8\
-\xd3\xdc\x00\x00Nm\x06\xecq\x19\x00\x000\x16\x07\x06\
-\x17\xc0\x00\x00(\x02\x07\x0f\xb9\x11\x00\x00\x11_\x07H\
-\x9fI\x00\x00\x02\xb1\x07\xd8\xa4\xe0\x00\x00\x1f\xdf\x08\x0e\
-\xc9\x01\x00\x00\x04a\x08 }\x1d\x00\x00\x1e\xc7\x08<\
-\xc6q\x00\x00\x10[\x08O0-\x00\x00\x0fA\x08`\
-]\xad\x00\x00.\xc0\x08|\x04^\x00\x00\x22\xea\x08\xaa\
-\xb7>\x00\x00\x0d)\x08\xe9\x03\x89\x00\x00\x12\xc6\x09\x06\
- \x95\x00\x00\x1aH\x09\x07/\xc6\x00\x00\x1f\xa9\x09\x19\
-X\xc1\x00\x00\x11\xe3\x09\x98\xf4j\x00\x00\x15\xca\x09\xdb\
-\x11\x8d\x00\x008<\x09\xdb\x1fm\x00\x007\xb1\x09\xe6\
-\xfb_\x00\x00\x00\x00\x09\xe9\xefI\x00\x00/\xae\x09\xee\
-$?\x00\x00\x17\xfc\x09\xf6p(\x00\x00(9\x09\xf8\
-\xa0\x16\x00\x00\x02i\x0a\x17~\xa5\x00\x00\x1b\x5c\x0a\x1d\
-s\x0d\x00\x00)\x94\x0a\x1f\xd1\x9e\x00\x00\x1c\x84\x0a1\
-\x13\x0e\x00\x00Pg\x0a\xb9LM\x00\x00\x17\x06\x0a\xe5\
-\xdb\xbc\x00\x00.Q\x0b\x06O)\x00\x004\xa5\x0b\x1c\
-\x80p\x00\x00\x130\x0b\x1c\x80p\x00\x005\x14\x0b\x1c\
-\x80p\x00\x00?3\x0b(D\xd7\x00\x00P\xdd\x0b<\
-\x94\xee\x00\x00Q\x18\x0bg.w\x00\x00O;\x0bp\
-Vj\x00\x00+\xab\x0b\xa3\xd8\x90\x00\x0078\x0b\xcd\
-\xe3e\x00\x00\x05\xe8\x0c\x05zi\x00\x00QY\x0c8\
-\x09\xb9\x00\x0066\x0cb/\xc0\x00\x00T\xd7\x0c\x9b\
-\xb2\xd3\x00\x00\x19\xc1\x0c\xa0/d\x00\x00T\x86\x0c\xd7\
-\x9ba\x00\x00\x03\xfd\x0d\x0e\xe0\xb0\x00\x00\x01=\x0d\x0e\
-\xe0\xb0\x00\x00'\xc2\x0d'\x09\xb2\x00\x00\x09&\x0d1\
-\xe2\xaa\x00\x00U&\x0d\xd4S\xad\x00\x00\x1d\xa7\x0d\xda\
-\x17\xe1\x00\x00\x04\xdd\x0d\xe4\xf3\xb9\x00\x000t\x0d\xf0\
-\x02\xea\x00\x002S\x0d\xf9Z\x8d\x00\x00;\x01\x0d\xff\
-\xad<\x00\x00\x1fk\x0e7\x97\x8a\x00\x00\x06@\x0e=\
-\x87\x0d\x00\x00;\xa1\x0e\xa7S\xc4\x00\x00\x22\x80\x0e\xb2\
-\xa9\xff\x00\x00\x08q\x0e\xe1 .\x00\x00\x17}\x0e\xe1\
- .\x00\x00'\x98\x0e\xe1#\x1d\x00\x00\x1a\xb3\x0e\xe1\
-P\x00\x00\x00\x1a\xe4\x0e\xe7@b\x00\x00;\xfb\x0e\xe8\
-\x81\xdd\x00\x00\x09\x8a\x0e\xe8\xdf\xe7\x00\x00\x1b\xd5\x0e\xe8\
-\xdf\xe7\x00\x00!\xcd\x0e\xe8\xdf\xe7\x00\x00)\xdb\x0e\xe8\
-\xdf\xe7\x00\x001\x08\x0e\xe8\xdf\xe7\x00\x00<$\x0e\xe8\
-\xdf\xe7\x00\x00P\xaa\x0e\xe9Q\xe8\x00\x00\x1cQ\x0e\xe9\
-Q\xe8\x00\x00,\x04\x0e\xf8\xf1\xfa\x00\x00\x03\xc7\x0e\xf8\
-\xf1\xfa\x00\x00\x08C\x0e\xf8\xf1\xfa\x00\x00\x1c\xcb\x0e\xfa\
-\xb2\xe2\x00\x00\x19\x1a\x0e\xfa\xb2\xe2\x00\x00\x1c\xf8\x0e\xfa\
-\xb2\xe2\x00\x00\x86\x0f8\
-\xff\xe7\x00\x00S\x8f\x0f:\xd3~\x00\x00\x19\x8c\x0f:\
-\xd3~\x00\x00S\x5c\x0f=\x91/\x00\x00TY\x0fI\
-/N\x00\x00>\xbd\x0f\xb5\xce\x84\x00\x00<\xf8\x0f\xbc\
-U\xb0\x00\x00O\x90\x0f\xcb4]\x00\x00\x0b:\x0f\xd4\
-\x22t\x00\x00>\xe6\x0f\xd8\xd1o\x00\x00\x1d+\x0f\xef\
-\xae\x8c\x00\x00\x0b\xd9\x0f\xef\xae\x8c\x00\x00<\x82\x0f\xf6\
-a\x8f\x00\x00\x1e\x86\x0f\xf6va\x00\x00\x0f\xddi\x00\
-\x00U\xa1\x03\x00\x00\x00\x86\x00F\x00o\x00u\x00n\
-\x00d\x00 \x00a\x00 \x00n\x00e\x00w\x00 \
-\x00v\x00e\x00r\x00s\x00i\x00o\x00n\x00 \
-\x00{\x000\x00}\x00,\x00 \x00w\x00o\x00u\
-\x00l\x00d\x00 \x00y\x00o\x00u\x00 \x00l\
-\x00i\x00k\x00e\x00 \x00t\x00o\x00 \x00d\
-\x00o\x00w\x00n\x00l\x00o\x00a\x00d\x00 \
-\x00i\x00t\x00 \x00f\x00r\x00o\x00m\x00 \
-\x00G\x00i\x00t\x00H\x00u\x00b\x00?\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00.\xe5\x8f\x91\xe7\x8e\xb0\xe6\x96\
-\xb0\xe7\x89\x88\xe6\x9c\xac{0},\xe6\x98\xaf\xe5\x90\
-\xa6\xe5\x89\x8d\xe5\xbe\x80GitHub\xe4\xb8\x8b\
-\xe8\xbd\xbd\xef\xbc\x9f\x07\x00\x00\x00\x0bCheck\
-Update\x01\x03\x00\x00\x004\x00A\x00l\
-\x00r\x00e\x00a\x00d\x00y\x00 \x00t\x00h\
-\x00e\x00 \x00l\x00a\x00t\x00e\x00s\x00t\
-\x00 \x00v\x00e\x00r\x00s\x00i\x00o\x00n\
-\x08\x00\x00\x00\x00\x06\x00\x00\x00\x15\xe5\xb7\xb2\xe7\xbb\x8f\
-\xe6\x98\xaf\xe6\x9c\x80\xe6\x96\xb0\xe7\x89\x88\xe6\x9c\xac\x07\
-\x00\x00\x00\x0bCheckUpdate\x01\
-\x03\x00\x00\x00\x1a\x00c\x00h\x00e\x00c\x00k\x00\
- \x00u\x00p\x00d\x00a\x00t\x00e\x00s\x08\
-\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe6\xa3\x80\xe6\x9f\xa5\xe6\
-\x9b\xb4\xe6\x96\xb0\x07\x00\x00\x00\x0bCheckU\
-pdate\x01\x03\x00\x00\x00V\x00C\x00h\x00\
-e\x00c\x00k\x00i\x00n\x00g\x00 \x00f\x00\
-o\x00r\x00 \x00u\x00p\x00d\x00a\x00t\x00\
-e\x00s\x00 \x00f\x00a\x00i\x00l\x00e\x00\
-d\x00 \x00w\x00i\x00t\x00h\x00 \x00e\x00\
-r\x00r\x00o\x00r\x00:\x00 \x00{\x000\x00\
-}\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1f\xe6\xa3\x80\xe6\x9f\
-\xa5\xe6\x9b\xb4\xe6\x96\xb0\xe5\xa4\xb1\xe8\xb4\xa5\xef\xbc\x8c\
-\xe9\x94\x99\xe8\xaf\xaf:{0}\x07\x00\x00\x00\x0bC\
-heckUpdate\x01\x03\x00\x00\x00\x18\
-\x00S\x00a\x00v\x00e\x00 \x00f\x00a\x00i\
-\x00l\x00e\x00d\x00:\x08\x00\x00\x00\x00\x06\x00\x00\
-\x00\x0f\xe4\xbf\x9d\xe5\xad\x98\xe5\xa4\xb1\xe8\xb4\xa5\xef\xbc\
-\x9a\x07\x00\x00\x00\x15EncryptedL\
-yricsWidget\x01\x03\x00\x00\x00\
-\x12\x00s\x00a\x00v\x00e\x00 \x00f\x00i\x00\
-l\x00e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe4\xbf\x9d\
-\xe5\xad\x98\xe6\x96\x87\xe4\xbb\xb6\x07\x00\x00\x00\x15En\
+\x00\x00\x00\x05en_USB\x00\x00\x07\x18\x00\x00\
+F\x83\x00\x00.\x8b\x00\x00F\x83\x00\x003\x02\x00\x00\
+F\x83\x00\x00?~\x00\x00Xt\x00\x00/\x82\x00\x00\
+Xt\x00\x004\x1d\x00\x00Xt\x00\x00@\x80\x00\x04\
+\xd6\x8d\x00\x00-Z\x00\x04\xd6\x8d\x00\x00.\xb9\x00\x04\
+\xd6\x8d\x00\x003+\x00\x04\xd6\x8d\x00\x00?\xa2\x00\x04\
+\xd6\x8d\x00\x00Ub\x00\x04\xe2\xaf\x00\x00U\x83\x00\x1a\
+\xfe\xbc\x00\x004F\x00\x1b\xb0\x90\x00\x00\x0eE\x00#\
+\x80\xb4\x00\x00%\x15\x00)\xeb\x99\x00\x00;\xf1\x008\
+\x14w\x00\x00\x1b\x15\x009\xf3p\x00\x00\x11\x1c\x009\
+\xf3p\x00\x009\xd9\x009\xf3p\x00\x00D\x8c\x00;\
+\x1bP\x00\x00\x0e\xe0\x00;\x1bP\x00\x003\xe5\x00;\
+\x1bP\x00\x00@M\x00D \xdf\x00\x001\xb7\x00H\
+\x97\x97\x00\x00U\x1e\x00JwB\x00\x00U@\x00s\
+\xa9\xb0\x00\x00\x0d\xf9\x00y\xea\xfa\x00\x00A\xc5\x00\x8d\
+\x8cj\x00\x00\x1b\xc4\x00\xe0\xecj\x00\x008S\x00\xe2\
++J\x00\x00!\x04\x00\xe9B}\x00\x00\x07h\x01\x11\
+\x1aa\x00\x00\x03.\x01\x19^\x8f\x00\x00$o\x01l\
+\x10\x9a\x00\x000\xd0\x01\x99\xdd\x1f\x00\x00\x17I\x01\xcf\
+,\xf5\x00\x00\x0c\x1a\x01\xcf\xa0\xe9\x00\x00.\xe2\x01\xcf\
+\xa0\xe9\x00\x003O\x01\xcf\xa0\xe9\x00\x00?\xc1\x01\xd0\
+O\x99\x00\x00/.\x01\xd0O\x99\x00\x003\x96\x01\xd0\
+O\x99\x00\x00@\x03\x01\xe1\xee\xad\x00\x00\x1a!\x01\xe1\
+\xee\xad\x00\x007\xdf\x01\xe2Mz\x00\x009M\x01\xe2\
+Mz\x00\x00C\xca\x01\xe5\xf8}\x00\x002\x93\x01\xe9\
+1\xec\x00\x00\x22\xc7\x02\x11\xc1y\x00\x00\x12\xc8\x02\x11\
+\xc1y\x00\x00Z\x9f\x02\x18\xf3m\x00\x00=\x06\x02$\
+\x12~\x00\x00ZT\x02.\xe1\xcf\x00\x00!f\x022\
+\xaf\x5c\x00\x00\x00\xd4\x028\xc6\xca\x00\x00/\xf7\x028\
+\xc6\xca\x00\x00BT\x03\x1b\xd9n\x00\x00\x0a\x0a\x03\x1c\
+r\xed\x00\x00@\xcf\x03K\x1dj\x00\x00!\xcb\x03\xb2\
+\xee\xba\x00\x009\x96\x03\xbf\xed\x8a\x00\x005\x9a\x04\x0f\
+\xda\xca\x00\x00\x06\xa4\x04\x1d\xf1\xa2\x00\x00\x09\x84\x04%\
+\xb0\xf3\x00\x00-x\x04)>\xff\x00\x00\x1eG\x04:\
+\xb6:\x00\x00\x02\x18\x04;\xe9\xe1\x00\x00\x0f\x1d\x04G\
+\x9d\xa0\x00\x00? \x04\x8cO\xde\x00\x00E\xf0\x04\xb8\
+9\x9d\x00\x00\x13\xf0\x05\x04o\xed\x00\x00\x19\x94\x05#\
+]\x90\x00\x00\x0a\xad\x05&\x15\x9e\x00\x00\x1d\xcf\x05-\
+\xa1x\x00\x00DI\x054\x97\xa4\x00\x00U\xa4\x05;\
+.\xeb\x00\x00D\x0e\x05C~=\x00\x000o\x05D\
+\xcc\x0d\x00\x00\x14_\x05P\x82\xfe\x00\x00Y\x0d\x05\xe3\
+\x99W\x00\x00&t\x06\x0c\x02\x0d\x00\x00\x01\x83\x06\x0e\
+\x1f`\x00\x00;\xa3\x06!\xf4T\x00\x00\x1dP\x061\
+\x22\xe4\x00\x00:\xa5\x06Db\xd3\x00\x00(!\x06D\
+b\xd3\x00\x0016\x06Db\xd3\x00\x00:.\x06D\
+b\xd3\x00\x00D\xdc\x06Db\xd3\x00\x00YT\x06w\
+0.\x00\x00\x0cy\x06\xc7\xd2*\x00\x00\x07\x0b\x06\xd4\
+\x91\xdd\x00\x00\x0f\xe0\x06\xd4\x91\xdd\x00\x007\x97\x06\xd5\
+\xb1o\x00\x00X\xad\x06\xe8\xd3\xdc\x00\x00T\xf9\x06\xec\
+q\x19\x00\x006o\x07\x06\x17\xc0\x00\x00.\x1e\x07\x0f\
+\xb9\x11\x00\x00\x11\xaf\x07H\x9fI\x00\x00\x02\xb1\x07\xd8\
+\xa4\xe0\x00\x00$\x14\x08\x0e\xc9\x01\x00\x00\x04c\x08 \
+}\x1d\x00\x00\x22t\x08<\xc6q\x00\x00\x10\xab\x08O\
+0-\x00\x00\x0f\x91\x08\x5c\xc3\xf2\x00\x00\x0dt\x08`\
+]\xad\x00\x005\x19\x08|\x04^\x00\x00)\x06\x08\xaa\
+\xb7>\x00\x00\x0c\xf4\x08\xe9\x03\x89\x00\x00\x13\x16\x09\x06\
+ \x95\x00\x00\x1bY\x09\x07/\xc6\x00\x00#V\x09\x19\
+X\xc1\x00\x00\x123\x09e(W\x00\x00[c\x09\x98\
+\xf4j\x00\x00\x16\xa0\x09\xdb\x11\x8d\x00\x00>\x95\x09\xdb\
+\x1fm\x00\x00>\x0a\x09\xe6\xfb_\x00\x00\x00\x00\x09\xe9\
+\xefI\x00\x006\x07\x09\xee$?\x00\x00\x18\xd2\x09\xf6\
+p(\x00\x00.U\x09\xf8\xa0\x16\x00\x00\x02i\x0a\x17\
+~\xa5\x00\x00\x1d\x97\x0a\x1ds\x0d\x00\x00/\xb0\x0a\x1f\
+\xd1\x9e\x00\x00\x1e\xbf\x0a1\x13\x0e\x00\x00V\xf3\x0a\xb9\
+LM\x00\x00\x17\xdc\x0a\xe5\xdb\xbc\x00\x004\xaa\x0b\x06\
+O)\x00\x00:\xfe\x0b\x1c\x80p\x00\x00\x13\x80\x0b\x1c\
+\x80p\x00\x00;m\x0b\x1c\x80p\x00\x00E\xbf\x0b(\
+D\xd7\x00\x00Wi\x0b<\x94\xee\x00\x00W\xa4\x0bg\
+.w\x00\x00U\xc7\x0bpVj\x00\x002\x04\x0b\xa3\
+\xd8\x90\x00\x00=\x91\x0b\xcd\xe3e\x00\x00\x05\xb1\x0c\x05\
+zi\x00\x00W\xe5\x0c\x06\xde\xa0\x00\x00\x1a\x97\x0c\x1e\
+\x01\xe5\x00\x00%\xe2\x0c8\x09\xb9\x00\x00<\x8f\x0cb\
+/\xc0\x00\x00[\xdf\x0cu\x1dO\x00\x00#\x8c\x0c\x9b\
+\xb2\xd3\x00\x00\x1a\xd2\x0c\xa0/d\x00\x00[\x12\x0c\xd7\
+\x9ba\x00\x00\x03\xff\x0c\xd9\xef.\x00\x00\x22,\x0d\x0e\
+\xe0\xb0\x00\x00\x01=\x0d\x0e\xe0\xb0\x00\x00-\xde\x0d'\
+\x09\xb2\x00\x00\x08\xf1\x0d1\xe2\xaa\x00\x00\x5c.\x0d\xd4\
+S\xad\x00\x00\x1f\xe4\x0d\xda\x17\xe1\x00\x00\x04\xdf\x0d\xe4\
+\xf3\xb9\x00\x006\xcd\x0d\xf0\x02\xea\x00\x008\xac\x0d\xf9\
+Z\x8d\x00\x00AZ\x0d\xff\xad<\x00\x00#\x18\x0e7\
+\x97\x8a\x00\x00\x06\x09\x0e=\x87\x0d\x00\x00A\xfa\x0e\x8f\
+^\xa7\x00\x00\x1cN\x0e\x9e\xde\xc0\x00\x00\x05`\x0e\xa7\
+S\xc4\x00\x00(\x9c\x0e\xb2\xa9\xff\x00\x00\x08<\x0e\xe1\
+ .\x00\x00\x18S\x0e\xe1 .\x00\x00-\xb4\x0e\xe1\
+#\x1d\x00\x00\x1c\xee\x0e\xe1P\x00\x00\x00\x1d\x1f\x0e\xe7\
+@b\x00\x00B\x87\x0e\xe8\x81\xdd\x00\x00\x09U\x0e\xe8\
+\xdf\xe7\x00\x00\x1e\x10\x0e\xe8\xdf\xe7\x00\x00'\xe9\x0e\xe8\
+\xdf\xe7\x00\x0004\x0e\xe8\xdf\xe7\x00\x007a\x0e\xe8\
+\xdf\xe7\x00\x00B\xb0\x0e\xe8\xdf\xe7\x00\x00W6\x0e\xe9\
+Q\xe8\x00\x00\x1e\x8c\x0e\xe9Q\xe8\x00\x002]\x0e\xf1\
+)}\x00\x00\x15\xf6\x0e\xf8\xf1\xfa\x00\x00\x03\xc7\x0e\xf8\
+\xf1\xfa\x00\x00\x08\x0c\x0e\xf8\xf1\xfa\x00\x00\x1f\x06\x0e\xfa\
+\xb2\xe2\x00\x00\x19\xf0\x0e\xfa\xb2\xe2\x00\x00\x1f5\x0e\xfa\
+\xb2\xe2\x00\x00B\xe1\x0f\x02$q\x00\x00\x1b\x93\x0f\x02\
+$q\x00\x00@\xa4\x0f\x03S\x0f\x00\x00\x1f\xad\x0f\x03\
+\xbf\xe7\x00\x00U\xeb\x0f\x07\xafp\x00\x00\x0b\xeb\x0f\x09\
+n\xec\x00\x00\x18\x82\x0f\x09\xc0h\x00\x005\xd9\x0f\x11\
+\xc4]\x00\x00\x15\x00\x0f\x12\x8eH\x00\x00Y\x8c\x0f\x16\
+\xaee\x00\x00 [\x0f\x16\xaee\x00\x00CQ\x0f\x16\
+\xb0b\x00\x00 \x94\x0f\x16\xb3}\x00\x008!\x0f\x16\
+\xff\xe7\x00\x00Y\xb7\x0f\x19\xf0g\x00\x00'B\x0f\x19\
+\xf2\x9c\x00\x00'y\x0f);z\x00\x008\xfe\x0f.\
+\x83\x9f\x00\x00\x07\xd2\x0f.\x83\x9f\x00\x00\x13\xbb\x0f.\
+\x83\x9f\x00\x00'\xb8\x0f8N\x9a\x00\x00\x06f\x0f8\
+N\x9a\x00\x00\x11v\x0f8N\x9a\x00\x00$\xe0\x0f8\
+\xff\xe7\x00\x00(^\x0f8\xff\xe7\x00\x001v\x0f8\
+\xff\xe7\x00\x00:i\x0f8\xff\xe7\x00\x00E\x12\x0f8\
+\xff\xe7\x00\x00Z\x1b\x0f:\xd3~\x00\x00\x1ab\x0f:\
+\xd3~\x00\x00Y\xe8\x0f=\x91/\x00\x00Z\xe5\x0fI\
+/N\x00\x00EI\x0f\xb5\xce\x84\x00\x00C\x84\x0f\xbc\
+U\xb0\x00\x00V\x1c\x0f\xcb4]\x00\x00\x0b\x05\x0f\xd4\
+\x22t\x00\x00&\xef\x0f\xd4\x22t\x00\x00Er\x0f\xd8\
+\xd1o\x00\x00\x1fh\x0f\xef\xae\x8c\x00\x00\x0b\xa4\x0f\xef\
+\xae\x8c\x00\x00C\x0e\x0f\xf6a\x8f\x00\x00 \xc3\x0f\xf6\
+va\x00\x00\x10-i\x00\x00\x5c\xa9\x03\x00\x00\x00\x86\
+\x00F\x00o\x00u\x00n\x00d\x00 \x00a\x00 \
+\x00n\x00e\x00w\x00 \x00v\x00e\x00r\x00s\
+\x00i\x00o\x00n\x00 \x00{\x000\x00}\x00,\
+\x00 \x00w\x00o\x00u\x00l\x00d\x00 \x00y\
+\x00o\x00u\x00 \x00l\x00i\x00k\x00e\x00 \
+\x00t\x00o\x00 \x00d\x00o\x00w\x00n\x00l\
+\x00o\x00a\x00d\x00 \x00i\x00t\x00 \x00f\
+\x00r\x00o\x00m\x00 \x00G\x00i\x00t\x00H\
+\x00u\x00b\x00?\x08\x00\x00\x00\x00\x06\x00\x00\x00.\
+\xe5\x8f\x91\xe7\x8e\xb0\xe6\x96\xb0\xe7\x89\x88\xe6\x9c\xac{\
+0},\xe6\x98\xaf\xe5\x90\xa6\xe5\x89\x8d\xe5\xbe\x80G\
+itHub\xe4\xb8\x8b\xe8\xbd\xbd\xef\xbc\x9f\x07\x00\
+\x00\x00\x0bCheckUpdate\x01\x03\
+\x00\x00\x004\x00A\x00l\x00r\x00e\x00a\x00d\
+\x00y\x00 \x00t\x00h\x00e\x00 \x00l\x00a\
+\x00t\x00e\x00s\x00t\x00 \x00v\x00e\x00r\
+\x00s\x00i\x00o\x00n\x08\x00\x00\x00\x00\x06\x00\x00\
+\x00\x15\xe5\xb7\xb2\xe7\xbb\x8f\xe6\x98\xaf\xe6\x9c\x80\xe6\x96\
+\xb0\xe7\x89\x88\xe6\x9c\xac\x07\x00\x00\x00\x0bChec\
+kUpdate\x01\x03\x00\x00\x00\x1a\x00c\x00\
+h\x00e\x00c\x00k\x00 \x00u\x00p\x00d\x00\
+a\x00t\x00e\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+\x0c\xe6\xa3\x80\xe6\x9f\xa5\xe6\x9b\xb4\xe6\x96\xb0\x07\x00\x00\
+\x00\x0bCheckUpdate\x01\x03\x00\
+\x00\x00V\x00C\x00h\x00e\x00c\x00k\x00i\x00\
+n\x00g\x00 \x00f\x00o\x00r\x00 \x00u\x00\
+p\x00d\x00a\x00t\x00e\x00s\x00 \x00f\x00\
+a\x00i\x00l\x00e\x00d\x00 \x00w\x00i\x00\
+t\x00h\x00 \x00e\x00r\x00r\x00o\x00r\x00\
+:\x00 \x00{\x000\x00}\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x1f\xe6\xa3\x80\xe6\x9f\xa5\xe6\x9b\xb4\xe6\x96\xb0\xe5\
+\xa4\xb1\xe8\xb4\xa5\xef\xbc\x8c\xe9\x94\x99\xe8\xaf\xaf:{\
+0}\x07\x00\x00\x00\x0bCheckUpda\
+te\x01\x03\x00\x00\x00\x18\x00S\x00a\x00v\x00e\
+\x00 \x00f\x00a\x00i\x00l\x00e\x00d\x00:\
+\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0f\xe4\xbf\x9d\xe5\xad\x98\
+\xe5\xa4\xb1\xe8\xb4\xa5\xef\xbc\x9a\x07\x00\x00\x00\x15En\
cryptedLyricsWid\
-get\x01\x03\x00\x00\x00:\x00e\x00n\x00c\x00\
-r\x00y\x00p\x00t\x00e\x00d\x00 \x00l\x00\
-y\x00r\x00i\x00c\x00s\x00(\x00*\x00.\x00\
-q\x00r\x00c\x00 \x00*\x00.\x00k\x00r\x00\
-c\x00)\x08\x00\x00\x00\x00\x06\x00\x00\x00\x19\xe5\x8a\xa0\
-\xe5\xaf\x86\xe6\xad\x8c\xe8\xaf\x8d(*.qrc \
-*.krc)\x07\x00\x00\x00\x15Encry\
-ptedLyricsWidget\
-\x01\x03\x00\x00\x00N\x00T\x00h\x00e\x00 \x00c\
-\x00u\x00r\x00r\x00e\x00n\x00t\x00 \x00l\
-\x00y\x00r\x00i\x00c\x00s\x00 \x00h\x00a\
-\x00v\x00e\x00 \x00b\x00e\x00e\x00n\x00 \
-\x00c\x00o\x00n\x00v\x00e\x00r\x00t\x00e\
-\x00d\x00!\x08\x00\x00\x00\x00\x06\x00\x00\x00!\xe5\xbd\
-\x93\xe5\x89\x8d\xe6\xad\x8c\xe8\xaf\x8d\xe5\xb7\xb2\xe7\xbb\x8f\
-\xe8\xbd\xac\xe6\x8d\xa2\xe8\xbf\x87\xe4\xba\x86\xef\xbc\x81\x07\
+get\x01\x03\x00\x00\x00\x12\x00s\x00a\x00v\x00\
+e\x00 \x00f\x00i\x00l\x00e\x08\x00\x00\x00\x00\
+\x06\x00\x00\x00\x0c\xe4\xbf\x9d\xe5\xad\x98\xe6\x96\x87\xe4\xbb\
+\xb6\x07\x00\x00\x00\x15EncryptedL\
+yricsWidget\x01\x03\x00\x00\x00\
+:\x00e\x00n\x00c\x00r\x00y\x00p\x00t\x00\
+e\x00d\x00 \x00l\x00y\x00r\x00i\x00c\x00\
+s\x00(\x00*\x00.\x00q\x00r\x00c\x00 \x00\
+*\x00.\x00k\x00r\x00c\x00)\x08\x00\x00\x00\x00\
+\x06\x00\x00\x00\x19\xe5\x8a\xa0\xe5\xaf\x86\xe6\xad\x8c\xe8\xaf\
+\x8d(*.qrc *.krc)\x07\x00\
+\x00\x00\x15EncryptedLyri\
+csWidget\x01\x03\x00\x00\x00N\x00T\
+\x00h\x00e\x00 \x00c\x00u\x00r\x00r\x00e\
+\x00n\x00t\x00 \x00l\x00y\x00r\x00i\x00c\
+\x00s\x00 \x00h\x00a\x00v\x00e\x00 \x00b\
+\x00e\x00e\x00n\x00 \x00c\x00o\x00n\x00v\
+\x00e\x00r\x00t\x00e\x00d\x00!\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00!\xe5\xbd\x93\xe5\x89\x8d\xe6\xad\x8c\xe8\
+\xaf\x8d\xe5\xb7\xb2\xe7\xbb\x8f\xe8\xbd\xac\xe6\x8d\xa2\xe8\xbf\
+\x87\xe4\xba\x86\xef\xbc\x81\x07\x00\x00\x00\x15Encr\
+yptedLyricsWidge\
+t\x01\x03\x00\x00\x00\x08\x00I\x00n\x00f\x00o\x08\
+\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe6\x8f\x90\xe7\xa4\xba\x07\
\x00\x00\x00\x15EncryptedLyr\
-icsWidget\x01\x03\x00\x00\x00\x06\x00\
-T\x00i\x00p\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe6\
-\x8f\x90\xe7\xa4\xba\x07\x00\x00\x00\x15Encryp\
-tedLyricsWidget\x01\
-\x03\x00\x00\x00(\x00f\x00i\x00l\x00e\x00 \x00\
-d\x00o\x00e\x00s\x00 \x00n\x00o\x00t\x00\
- \x00e\x00x\x00i\x00s\x00t\x00!\x08\x00\x00\
-\x00\x00\x06\x00\x00\x00\x12\xe6\x96\x87\xe4\xbb\xb6\xe4\xb8\x8d\
-\xe5\xad\x98\xe5\x9c\xa8\xef\xbc\x81\x07\x00\x00\x00\x15En\
-cryptedLyricsWid\
-get\x01\x03\x00\x00\x00:\x00T\x00h\x00e\x00\
- \x00f\x00i\x00l\x00e\x00 \x00f\x00o\x00\
-r\x00m\x00a\x00t\x00 \x00i\x00s\x00 \x00\
-i\x00n\x00c\x00o\x00r\x00r\x00e\x00c\x00\
-t\x00!\x08\x00\x00\x00\x00\x06\x00\x00\x00\x18\xe6\x96\x87\
-\xe4\xbb\xb6\xe6\xa0\xbc\xe5\xbc\x8f\xe4\xb8\x8d\xe6\xad\xa3\xe7\
-\xa1\xae\xef\xbc\x81\x07\x00\x00\x00\x15Encryp\
-tedLyricsWidget\x01\
-\x03\x00\x00\x00<\x00L\x00y\x00r\x00i\x00c\x00\
- \x00c\x00o\x00n\x00t\x00e\x00n\x00t\x00\
- \x00c\x00a\x00n\x00n\x00o\x00t\x00 \x00\
-b\x00e\x00 \x00e\x00m\x00p\x00t\x00y\x00\
-!\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1b\xe6\xad\x8c\xe8\xaf\
-\x8d\xe5\x86\x85\xe5\xae\xb9\xe4\xb8\x8d\xe8\x83\xbd\xe4\xb8\xba\
-\xe7\xa9\xba\xef\xbc\x81\x07\x00\x00\x00\x15Encry\
-ptedLyricsWidget\
-\x01\x03\x00\x00\x00@\x00L\x00y\x00r\x00i\x00c\
-\x00s\x00 \x00f\x00i\x00l\x00e\x00s\x00 \
-\x00(\x00*\x00.\x00l\x00r\x00c\x00 \x00*\
-\x00.\x00s\x00r\x00t\x00 \x00*\x00.\x00a\
-\x00s\x00s\x00)\x08\x00\x00\x00\x00\x06\x00\x00\x00 \
-\xe6\xad\x8c\xe8\xaf\x8d\xe6\x96\x87\xe4\xbb\xb6 (*.\
-lrc *.srt *.ass)\
-\x07\x00\x00\x00\x15EncryptedLy\
-ricsWidget\x01\x03\x00\x00\x00\x22\
-\x00D\x00e\x00c\x00r\x00y\x00p\x00t\x00i\
-\x00o\x00n\x00 \x00f\x00a\x00i\x00l\x00e\
-\x00d\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe8\xa7\xa3\xe5\
-\xaf\x86\xe5\xa4\xb1\xe8\xb4\xa5\x07\x00\x00\x00\x15Enc\
-ryptedLyricsWidg\
-et\x01\x03\x00\x00\x00$\x00D\x00e\x00c\x00r\
-\x00y\x00p\x00t\x00i\x00o\x00n\x00 \x00f\
-\x00a\x00i\x00l\x00e\x00d\x00:\x08\x00\x00\x00\
-\x00\x06\x00\x00\x00\x0f\xe8\xa7\xa3\xe5\xaf\x86\xe5\xa4\xb1\xe8\
-\xb4\xa5\xef\xbc\x9a\x07\x00\x00\x00\x15Encryp\
-tedLyricsWidget\x01\
-\x03\x00\x00\x00\x0e\x00W\x00a\x00r\x00n\x00i\x00\
-n\x00g\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\xad\xa6\
-\xe5\x91\x8a\x07\x00\x00\x00\x15Encrypte\
+icsWidget\x01\x03\x00\x00\x00(\x00\
+f\x00i\x00l\x00e\x00 \x00d\x00o\x00e\x00\
+s\x00 \x00n\x00o\x00t\x00 \x00e\x00x\x00\
+i\x00s\x00t\x00!\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+\x12\xe6\x96\x87\xe4\xbb\xb6\xe4\xb8\x8d\xe5\xad\x98\xe5\x9c\xa8\
+\xef\xbc\x81\x07\x00\x00\x00\x15Encrypte\
dLyricsWidget\x01\x03\x00\
-\x00\x00(\x00F\x00a\x00i\x00l\x00e\x00d\x00\
- \x00t\x00o\x00 \x00r\x00e\x00a\x00d\x00\
- \x00f\x00i\x00l\x00e\x00:\x08\x00\x00\x00\x00\
-\x06\x00\x00\x00\x15\xe8\xaf\xbb\xe5\x8f\x96\xe6\x96\x87\xe4\xbb\
-\xb6\xe5\xa4\xb1\xe8\xb4\xa5\xef\xbc\x9a\x07\x00\x00\x00\x15E\
-ncryptedLyricsWi\
-dget\x01\x03\x00\x00\x00$\x00C\x00o\x00n\
-\x00v\x00e\x00r\x00s\x00i\x00o\x00n\x00 \
-\x00f\x00a\x00i\x00l\x00e\x00d\x00:\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x0f\xe8\xbd\xac\xe6\x8d\xa2\xe5\xa4\
-\xb1\xe8\xb4\xa5\xef\xbc\x9a\x07\x00\x00\x00\x15Encr\
-yptedLyricsWidge\
-t\x01\x03\x00\x00\x00.\x00S\x00e\x00l\x00e\x00\
-c\x00t\x00 \x00e\x00n\x00c\x00r\x00y\x00\
-p\x00t\x00e\x00d\x00 \x00l\x00y\x00r\x00\
-i\x00c\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x12\xe9\
-\x80\x89\xe5\x8f\x96\xe5\x8a\xa0\xe5\xaf\x86\xe6\xad\x8c\xe8\xaf\
-\x8d\x07\x00\x00\x00\x15EncryptedL\
+\x00\x00:\x00T\x00h\x00e\x00 \x00f\x00i\x00\
+l\x00e\x00 \x00f\x00o\x00r\x00m\x00a\x00\
+t\x00 \x00i\x00s\x00 \x00i\x00n\x00c\x00\
+o\x00r\x00r\x00e\x00c\x00t\x00!\x08\x00\x00\
+\x00\x00\x06\x00\x00\x00\x18\xe6\x96\x87\xe4\xbb\xb6\xe6\xa0\xbc\
+\xe5\xbc\x8f\xe4\xb8\x8d\xe6\xad\xa3\xe7\xa1\xae\xef\xbc\x81\x07\
+\x00\x00\x00\x15EncryptedLyr\
+icsWidget\x01\x03\x00\x00\x00<\x00\
+L\x00y\x00r\x00i\x00c\x00 \x00c\x00o\x00\
+n\x00t\x00e\x00n\x00t\x00 \x00c\x00a\x00\
+n\x00n\x00o\x00t\x00 \x00b\x00e\x00 \x00\
+e\x00m\x00p\x00t\x00y\x00!\x08\x00\x00\x00\x00\
+\x06\x00\x00\x00\x1b\xe6\xad\x8c\xe8\xaf\x8d\xe5\x86\x85\xe5\xae\
+\xb9\xe4\xb8\x8d\xe8\x83\xbd\xe4\xb8\xba\xe7\xa9\xba\xef\xbc\x81\
+\x07\x00\x00\x00\x15EncryptedLy\
+ricsWidget\x01\x03\x00\x00\x00\x1a\
+\x00L\x00y\x00r\x00i\x00c\x00s\x00 \x00f\
+\x00i\x00l\x00e\x00s\x00 \x08\x00\x00\x00\x00\x06\
+\x00\x00\x00\x0d\xe6\xad\x8c\xe8\xaf\x8d\xe6\x96\x87\xe4\xbb\xb6\
+ \x07\x00\x00\x00\x15EncryptedL\
yricsWidget\x01\x03\x00\x00\x00\
-\x0a\x00E\x00r\x00r\x00o\x00r\x08\x00\x00\x00\x00\
-\x06\x00\x00\x00\x06\xe9\x94\x99\xe8\xaf\xaf\x07\x00\x00\x00\x15\
+\x22\x00D\x00e\x00c\x00r\x00y\x00p\x00t\x00\
+i\x00o\x00n\x00 \x00f\x00a\x00i\x00l\x00\
+e\x00d\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe8\xa7\xa3\
+\xe5\xaf\x86\xe5\xa4\xb1\xe8\xb4\xa5\x07\x00\x00\x00\x15En\
+cryptedLyricsWid\
+get\x01\x03\x00\x00\x00$\x00D\x00e\x00c\x00\
+r\x00y\x00p\x00t\x00i\x00o\x00n\x00 \x00\
+f\x00a\x00i\x00l\x00e\x00d\x00:\x08\x00\x00\
+\x00\x00\x06\x00\x00\x00\x0f\xe8\xa7\xa3\xe5\xaf\x86\xe5\xa4\xb1\
+\xe8\xb4\xa5\xef\xbc\x9a\x07\x00\x00\x00\x15Encry\
+ptedLyricsWidget\
+\x01\x03\x00\x00\x00\x0e\x00W\x00a\x00r\x00n\x00i\
+\x00n\x00g\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\xad\
+\xa6\xe5\x91\x8a\x07\x00\x00\x00\x15Encrypt\
+edLyricsWidget\x01\x03\
+\x00\x00\x00(\x00F\x00a\x00i\x00l\x00e\x00d\
+\x00 \x00t\x00o\x00 \x00r\x00e\x00a\x00d\
+\x00 \x00f\x00i\x00l\x00e\x00:\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00\x15\xe8\xaf\xbb\xe5\x8f\x96\xe6\x96\x87\xe4\
+\xbb\xb6\xe5\xa4\xb1\xe8\xb4\xa5\xef\xbc\x9a\x07\x00\x00\x00\x15\
EncryptedLyricsW\
-idget\x01\x03\x00\x00\x00\x06\x00T\x00i\x00\
-p\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe6\x8f\x90\xe7\xa4\
-\xba\x07\x00\x00\x00\x0dGetListLyr\
-ics\x01\x03\x00\x00\x00h\x00D\x00o\x00 \x00\
-y\x00o\x00u\x00 \x00w\x00a\x00n\x00t\x00\
- \x00t\x00o\x00 \x00c\x00a\x00n\x00c\x00\
-e\x00l\x00 \x00g\x00e\x00t\x00t\x00i\x00\
-n\x00g\x00 \x00a\x00l\x00b\x00u\x00m\x00\
-/\x00s\x00o\x00n\x00g\x00l\x00i\x00s\x00\
-t\x00 \x00l\x00y\x00r\x00i\x00c\x00s\x00\
-?\x08\x00\x00\x00\x00\x06\x00\x00\x00+\xe6\x98\xaf\xe5\x90\
-\xa6\xe8\xa6\x81\xe5\x8f\x96\xe6\xb6\x88\xe8\x8e\xb7\xe5\x8f\x96\
-\xe4\xb8\x93\xe8\xbe\x91/\xe6\xad\x8c\xe5\x8d\x95\xe6\xad\x8c\
-\xe8\xaf\x8d\xef\xbc\x9f\x07\x00\x00\x00\x0dGetLi\
-stLyrics\x01\x03\x00\x00\x000\x00F\
-\x00o\x00u\x00n\x00d\x00 \x00{\x000\x00}\
-\x00 \x00s\x00o\x00n\x00g\x00s\x00 \x00i\
-\x00n\x00 \x00t\x00o\x00t\x00a\x00l\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x15\xe5\x85\xb1\xe6\x89\xbe\xe5\x88\
-\xb0{0}\xe9\xa6\x96\xe6\xad\x8c\xe6\x9b\xb2\x07\x00\x00\
-\x00\x0aLocalMatch\x01\x03\x00\x00\
-\x00\x0a\x00M\x00a\x00t\x00c\x00h\x08\x00\x00\x00\
-\x00\x06\x00\x00\x00\x06\xe5\x8c\xb9\xe9\x85\x8d\x07\x00\x00\x00\
-\x0aLocalMatch\x01\x03\x00\x00\x00\
-N\x00M\x00a\x00t\x00c\x00h\x00i\x00n\x00\
-g\x00 \x00c\x00o\x00m\x00p\x00l\x00e\x00\
-t\x00e\x00d\x00,\x00 \x00i\x00t\x00 \x00\
-t\x00o\x00o\x00k\x00 \x00{\x000\x00}\x00\
- \x00s\x00e\x00c\x00o\x00n\x00d\x00s\x08\
-\x00\x00\x00\x00\x06\x00\x00\x00\x19\xe5\x8c\xb9\xe9\x85\x8d\xe5\
-\xae\x8c\xe6\x88\x90,\xe8\x80\x97\xe6\x97\xb6{0}\xe7\
-\xa7\x92\x07\x00\x00\x00\x0aLocalMatc\
-h\x01\x03\x00\x00\x00`\x00P\x00r\x00o\x00c\x00\
-e\x00s\x00s\x00 \x00c\x00u\x00e\x00 \x00\
-f\x00i\x00l\x00e\x00s\x00 \x00a\x00n\x00\
-d\x00 \x00l\x00o\x00o\x00p\x00 \x00t\x00\
-h\x00r\x00o\x00u\x00g\x00h\x00 \x00s\x00\
-o\x00n\x00g\x00 \x00f\x00i\x00l\x00e\x00\
+idget\x01\x03\x00\x00\x00$\x00C\x00o\x00\
+n\x00v\x00e\x00r\x00s\x00i\x00o\x00n\x00\
+ \x00f\x00a\x00i\x00l\x00e\x00d\x00:\x08\
+\x00\x00\x00\x00\x06\x00\x00\x00\x0f\xe8\xbd\xac\xe6\x8d\xa2\xe5\
+\xa4\xb1\xe8\xb4\xa5\xef\xbc\x9a\x07\x00\x00\x00\x15Enc\
+ryptedLyricsWidg\
+et\x01\x03\x00\x00\x00.\x00S\x00e\x00l\x00e\
+\x00c\x00t\x00 \x00e\x00n\x00c\x00r\x00y\
+\x00p\x00t\x00e\x00d\x00 \x00l\x00y\x00r\
+\x00i\x00c\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x12\
+\xe9\x80\x89\xe5\x8f\x96\xe5\x8a\xa0\xe5\xaf\x86\xe6\xad\x8c\xe8\
+\xaf\x8d\x07\x00\x00\x00\x15Encrypted\
+LyricsWidget\x01\x03\x00\x00\
+\x00\x0a\x00E\x00r\x00r\x00o\x00r\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00\x06\xe9\x94\x99\xe8\xaf\xaf\x07\x00\x00\x00\
+\x15EncryptedLyrics\
+Widget\x01\x03\x00\x00\x00\x08\x00I\x00n\
+\x00f\x00o\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe6\x8f\
+\x90\xe7\xa4\xba\x07\x00\x00\x00\x0dGetList\
+Lyrics\x01\x03\x00\x00\x00h\x00D\x00o\
+\x00 \x00y\x00o\x00u\x00 \x00w\x00a\x00n\
+\x00t\x00 \x00t\x00o\x00 \x00c\x00a\x00n\
+\x00c\x00e\x00l\x00 \x00g\x00e\x00t\x00t\
+\x00i\x00n\x00g\x00 \x00a\x00l\x00b\x00u\
+\x00m\x00/\x00s\x00o\x00n\x00g\x00l\x00i\
+\x00s\x00t\x00 \x00l\x00y\x00r\x00i\x00c\
+\x00s\x00?\x08\x00\x00\x00\x00\x06\x00\x00\x00+\xe6\x98\
+\xaf\xe5\x90\xa6\xe8\xa6\x81\xe5\x8f\x96\xe6\xb6\x88\xe8\x8e\xb7\
+\xe5\x8f\x96\xe4\xb8\x93\xe8\xbe\x91/\xe6\xad\x8c\xe5\x8d\x95\
+\xe6\xad\x8c\xe8\xaf\x8d\xef\xbc\x9f\x07\x00\x00\x00\x0dGe\
+tListLyrics\x01\x03\x00\x00\x00\
+0\x00F\x00o\x00u\x00n\x00d\x00 \x00{\x00\
+0\x00}\x00 \x00s\x00o\x00n\x00g\x00s\x00\
+ \x00i\x00n\x00 \x00t\x00o\x00t\x00a\x00\
+l\x08\x00\x00\x00\x00\x06\x00\x00\x00\x15\xe5\x85\xb1\xe6\x89\
+\xbe\xe5\x88\xb0{0}\xe9\xa6\x96\xe6\xad\x8c\xe6\x9b\xb2\
+\x07\x00\x00\x00\x0aLocalMatch\x01\
+\x03\x00\x00\x00\x0a\x00M\x00a\x00t\x00c\x00h\x08\
+\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe5\x8c\xb9\xe9\x85\x8d\x07\
+\x00\x00\x00\x0aLocalMatch\x01\x03\
+\x00\x00\x00N\x00M\x00a\x00t\x00c\x00h\x00i\
+\x00n\x00g\x00 \x00c\x00o\x00m\x00p\x00l\
+\x00e\x00t\x00e\x00d\x00,\x00 \x00i\x00t\
+\x00 \x00t\x00o\x00o\x00k\x00 \x00{\x000\
+\x00}\x00 \x00s\x00e\x00c\x00o\x00n\x00d\
+\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x19\xe5\x8c\xb9\xe9\
+\x85\x8d\xe5\xae\x8c\xe6\x88\x90,\xe8\x80\x97\xe6\x97\xb6{\
+0}\xe7\xa7\x92\x07\x00\x00\x00\x0aLocalM\
+atch\x01\x03\x00\x00\x00`\x00P\x00r\x00o\
+\x00c\x00e\x00s\x00s\x00 \x00c\x00u\x00e\
+\x00 \x00f\x00i\x00l\x00e\x00s\x00 \x00a\
+\x00n\x00d\x00 \x00l\x00o\x00o\x00p\x00 \
+\x00t\x00h\x00r\x00o\x00u\x00g\x00h\x00 \
+\x00s\x00o\x00n\x00g\x00 \x00f\x00i\x00l\
+\x00e\x00s\x00.\x00.\x00.\x08\x00\x00\x00\x00\x06\
+\x00\x00\x00$\xe5\xa4\x84\xe7\x90\x86 cue \xe5\
+\xb9\xb6 \xe9\x81\x8d\xe5\x8e\x86\xe6\xad\x8c\xe6\x9b\xb2\xe6\
+\x96\x87\xe4\xbb\xb6...\x07\x00\x00\x00\x0aLoc\
+alMatch\x01\x03\x00\x00\x00*\x00S\x00\
+u\x00c\x00c\x00e\x00s\x00s\x00f\x00u\x00\
+l\x00l\x00y\x00 \x00s\x00a\x00v\x00e\x00\
+d\x00 \x00t\x00o\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+\x0f\xe6\x88\x90\xe5\x8a\x9f\xe4\xbf\x9d\xe5\xad\x98\xe5\x88\xb0\
+\x07\x00\x00\x00\x0aLocalMatch\x01\
+\x03\x00\x00\x00^\x00E\x00r\x00r\x00o\x00r\x00\
+ \x00w\x00h\x00e\x00n\x00 \x00s\x00e\x00\
+a\x00r\x00c\x00h\x00i\x00n\x00g\x00 \x00\
+a\x00n\x00d\x00 \x00r\x00e\x00t\x00r\x00\
+i\x00e\x00v\x00i\x00n\x00g\x00 \x00l\x00\
+y\x00r\x00i\x00c\x00s\x00:\x00 \x00{\x00\
+0\x00}\x08\x00\x00\x00\x00\x06\x00\x00\x00\x22\xe6\x90\x9c\
+\xe7\xb4\xa2\xe4\xb8\x8e\xe8\x8e\xb7\xe5\x8f\x96\xe6\xad\x8c\xe8\
+\xaf\x8d\xe6\x97\xb6\xe9\x94\x99\xe8\xaf\xaf:{0}\x07\
+\x00\x00\x00\x0aLocalMatch\x01\x03\
+\x00\x00\x00\x1c\x00s\x00e\x00a\x00r\x00c\x00h\
+\x00 \x00r\x00e\x00s\x00u\x00l\x00t\x00s\
+\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe6\x90\x9c\xe7\xb4\xa2\
+\xe7\xbb\x93\xe6\x9e\x9c\x07\x00\x00\x00\x0aLocal\
+Match\x01\x03\x00\x00\x00\x0a\x00L\x00o\x00\
+c\x00a\x00l\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe6\
+\x9c\xac\xe5\x9c\xb0\x07\x00\x00\x00\x0aLocalM\
+atch\x01\x03\x00\x00\x00.\x00F\x00a\x00i\
+\x00l\x00e\x00d\x00 \x00t\x00o\x00 \x00o\
+\x00b\x00t\x00a\x00i\x00n\x00 \x00l\x00y\
+\x00r\x00i\x00c\x00s\x08\x00\x00\x00\x00\x06\x00\x00\
+\x00\x12\xe6\xad\x8c\xe8\xaf\x8d\xe8\x8e\xb7\xe5\x8f\x96\xe5\xa4\
+\xb1\xe8\xb4\xa5\x07\x00\x00\x00\x0aLocalMa\
+tch\x01\x03\x00\x00\x00>\x00S\x00e\x00a\x00\
+r\x00c\x00h\x00i\x00n\x00g\x00 \x00a\x00\
+n\x00d\x00 \x00g\x00e\x00t\x00t\x00i\x00\
+n\x00g\x00 \x00l\x00y\x00r\x00i\x00c\x00\
s\x00.\x00.\x00.\x08\x00\x00\x00\x00\x06\x00\x00\x00\
-$\xe5\xa4\x84\xe7\x90\x86 cue \xe5\xb9\xb6 \
-\xe9\x81\x8d\xe5\x8e\x86\xe6\xad\x8c\xe6\x9b\xb2\xe6\x96\x87\xe4\
-\xbb\xb6...\x07\x00\x00\x00\x0aLocalM\
-atch\x01\x03\x00\x00\x00*\x00S\x00u\x00c\
-\x00c\x00e\x00s\x00s\x00f\x00u\x00l\x00l\
-\x00y\x00 \x00s\x00a\x00v\x00e\x00d\x00 \
-\x00t\x00o\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0f\xe6\x88\
-\x90\xe5\x8a\x9f\xe4\xbf\x9d\xe5\xad\x98\xe5\x88\xb0\x07\x00\x00\
-\x00\x0aLocalMatch\x01\x03\x00\x00\
-\x00^\x00E\x00r\x00r\x00o\x00r\x00 \x00w\
-\x00h\x00e\x00n\x00 \x00s\x00e\x00a\x00r\
-\x00c\x00h\x00i\x00n\x00g\x00 \x00a\x00n\
-\x00d\x00 \x00r\x00e\x00t\x00r\x00i\x00e\
-\x00v\x00i\x00n\x00g\x00 \x00l\x00y\x00r\
-\x00i\x00c\x00s\x00:\x00 \x00{\x000\x00}\
-\x08\x00\x00\x00\x00\x06\x00\x00\x00\x22\xe6\x90\x9c\xe7\xb4\xa2\
-\xe4\xb8\x8e\xe8\x8e\xb7\xe5\x8f\x96\xe6\xad\x8c\xe8\xaf\x8d\xe6\
-\x97\xb6\xe9\x94\x99\xe8\xaf\xaf:{0}\x07\x00\x00\x00\
-\x0aLocalMatch\x01\x03\x00\x00\x00\
-\x1c\x00s\x00e\x00a\x00r\x00c\x00h\x00 \x00\
-r\x00e\x00s\x00u\x00l\x00t\x00s\x08\x00\x00\
-\x00\x00\x06\x00\x00\x00\x0c\xe6\x90\x9c\xe7\xb4\xa2\xe7\xbb\x93\
-\xe6\x9e\x9c\x07\x00\x00\x00\x0aLocalMat\
-ch\x01\x03\x00\x00\x00\x0a\x00L\x00o\x00c\x00a\
-\x00l\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe6\x9c\xac\xe5\
-\x9c\xb0\x07\x00\x00\x00\x0aLocalMatc\
-h\x01\x03\x00\x00\x00.\x00F\x00a\x00i\x00l\x00\
-e\x00d\x00 \x00t\x00o\x00 \x00o\x00b\x00\
-t\x00a\x00i\x00n\x00 \x00l\x00y\x00r\x00\
-i\x00c\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x12\xe6\
-\xad\x8c\xe8\xaf\x8d\xe8\x8e\xb7\xe5\x8f\x96\xe5\xa4\xb1\xe8\xb4\
-\xa5\x07\x00\x00\x00\x0aLocalMatch\
-\x01\x03\x00\x00\x00>\x00S\x00e\x00a\x00r\x00c\
-\x00h\x00i\x00n\x00g\x00 \x00a\x00n\x00d\
-\x00 \x00g\x00e\x00t\x00t\x00i\x00n\x00g\
-\x00 \x00l\x00y\x00r\x00i\x00c\x00s\x00.\
-\x00.\x00.\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1e\xe6\xad\
-\xa3\xe5\x9c\xa8\xe6\x90\x9c\xe7\xb4\xa2\xe5\xb9\xb6\xe8\x8e\xb7\
-\xe5\x8f\x96\xe6\xad\x8c\xe8\xaf\x8d...\x07\x00\x00\x00\
-\x0aLocalMatch\x01\x03\x00\x00\x00\
-@\x00R\x00e\x00a\x00d\x00i\x00n\x00g\x00\
- \x00s\x00o\x00n\x00g\x00 \x00f\x00i\x00\
-l\x00e\x00 \x00i\x00n\x00f\x00o\x00r\x00\
-m\x00a\x00t\x00i\x00o\x00n\x00.\x00.\x00\
-.\x08\x00\x00\x00\x00\x06\x00\x00\x00!\xe6\xad\xa3\xe5\x9c\
-\xa8\xe8\xaf\xbb\xe5\x8f\x96\xe6\xad\x8c\xe6\x9b\xb2\xe6\x96\x87\
-\xe4\xbb\xb6\xe4\xbf\xa1\xe6\x81\xaf...\x07\x00\x00\x00\
-\x0aLocalMatch\x01\x03\x00\x00\x00\
-\x1e\x00s\x00k\x00i\x00p\x00 \x00p\x00u\x00\
-r\x00e\x00 \x00m\x00u\x00s\x00i\x00c\x08\
-\x00\x00\x00\x00\x06\x00\x00\x00\x0f\xe8\xb7\xb3\xe8\xbf\x87\xe7\
-\xba\xaf\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\x00\x00\x0aLoc\
-alMatch\x01\x03\x00\x00\x00R\x00,\x00\
- \x00o\x00f\x00 \x00w\x00h\x00i\x00c\x00\
-h\x00 \x00{\x000\x00}\x00 \x00w\x00a\x00\
-s\x00 \x00f\x00o\x00u\x00n\x00d\x00 \x00\
-i\x00n\x00 \x00{\x001\x00}\x00 \x00c\x00\
-u\x00e\x00 \x00f\x00i\x00l\x00e\x00s\x08\
-\x00\x00\x00\x00\x06\x00\x00\x00*\xef\xbc\x8c\xe5\x85\xb6\xe4\
-\xb8\xad{0}\xe9\xa6\x96\xe5\x9c\xa8{1}\xe4\xb8\
-\xaacue\xe6\x96\x87\xe4\xbb\xb6\xe4\xb8\xad\xe6\x89\xbe\
-\xe5\x88\xb0\x07\x00\x00\x00\x0aLocalMat\
-ch\x01\x03\x00\x00\x00\x10\x00Q\x00Q\x00 \x00M\
-\x00u\x00s\x00i\x00c\x08\x00\x00\x00\x00\x06\x00\x00\
-\x00\x08QQ\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\x00\x00\x10L\
-ocalMatchWidget\x01\
-\x03\x00\x00\x004\x00W\x00r\x00o\x00n\x00g\x00\
- \x00s\x00a\x00v\x00e\x00 \x00m\x00o\x00\
-d\x00e\x00 \x00s\x00e\x00l\x00e\x00c\x00\
-t\x00i\x00o\x00n\x00!\x08\x00\x00\x00\x00\x06\x00\
-\x00\x00\x1b\xe4\xbf\x9d\xe5\xad\x98\xe6\xa8\xa1\xe5\xbc\x8f\xe9\
-\x80\x89\xe6\x8b\xa9\xe9\x94\x99\xe8\xaf\xaf\xef\xbc\x81\x07\x00\
-\x00\x00\x10LocalMatchWid\
-get\x01\x03\x00\x00\x00\x1e\x00C\x00a\x00n\x00\
-c\x00e\x00l\x00 \x00m\x00a\x00t\x00c\x00\
-h\x00i\x00n\x00g\x08\x00\x00\x00\x00\x06\x00\x00\x00\
-\x0c\xe5\x8f\x96\xe6\xb6\x88\xe5\x8c\xb9\xe9\x85\x8d\x07\x00\x00\
-\x00\x10LocalMatchWidg\
-et\x01\x03\x00\x00\x00\x1c\x00S\x00t\x00a\x00r\
-\x00t\x00 \x00m\x00a\x00t\x00c\x00h\x00i\
-\x00n\x00g\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe5\xbc\
-\x80\xe5\xa7\x8b\xe5\x8c\xb9\xe9\x85\x8d\x07\x00\x00\x00\x10L\
-ocalMatchWidget\x01\
-\x03\x00\x00\x00>\x00T\x00h\x00e\x00 \x00s\x00\
-o\x00n\x00g\x00 \x00f\x00o\x00l\x00d\x00\
-e\x00r\x00 \x00d\x00o\x00e\x00s\x00 \x00\
-n\x00o\x00t\x00 \x00e\x00x\x00i\x00s\x00\
-t\x00!\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1b\xe6\xad\x8c\
-\xe6\x9b\xb2\xe6\x96\x87\xe4\xbb\xb6\xe5\xa4\xb9\xe4\xb8\x8d\xe5\
-\xad\x98\xe5\x9c\xa8\xef\xbc\x81\x07\x00\x00\x00\x10Loc\
-alMatchWidget\x01\x03\x00\
-\x00\x004\x00W\x00r\x00o\x00n\x00g\x00 \x00\
-s\x00a\x00v\x00e\x00 \x00m\x00o\x00d\x00\
-e\x00 \x00s\x00e\x00l\x00e\x00c\x00t\x00\
-i\x00o\x00n\x00!\x08\x00\x00\x00\x00\x06\x00\x00\x00\
-\x18\xe6\xad\x8c\xe8\xaf\x8d\xe6\x96\x87\xe4\xbb\xb6\xe5\x90\x8d\
-\xe9\x94\x99\xe8\xaf\xaf\xef\xbc\x81\x07\x00\x00\x00\x10Lo\
-calMatchWidget\x01\x03\
-\x00\x00\x00&\x00N\x00e\x00t\x00E\x00a\x00s\
-\x00e\x00 \x00C\x00l\x00o\x00u\x00d\x00 \
-\x00M\x00u\x00s\x00i\x00c\x08\x00\x00\x00\x00\x06\
-\x00\x00\x00\x0f\xe7\xbd\x91\xe6\x98\x93\xe4\xba\x91\xe9\x9f\xb3\
-\xe4\xb9\x90\x07\x00\x00\x00\x10LocalMat\
-chWidget\x01\x03\x00\x00\x00\x0e\x00W\
-\x00a\x00r\x00n\x00i\x00n\x00g\x08\x00\x00\x00\
-\x00\x06\x00\x00\x00\x06\xe8\xad\xa6\xe5\x91\x8a\x07\x00\x00\x00\
-\x10LocalMatchWidge\
-t\x01\x03\x00\x00\x00D\x00P\x00l\x00e\x00a\x00\
-s\x00e\x00 \x00s\x00e\x00l\x00e\x00c\x00\
-t\x00 \x00a\x00t\x00 \x00l\x00e\x00a\x00\
-s\x00t\x00 \x00o\x00n\x00e\x00 \x00s\x00\
-o\x00u\x00r\x00c\x00e\x00!\x08\x00\x00\x00\x00\
-\x06\x00\x00\x00\x1b\xe8\xaf\xb7\xe9\x80\x89\xe6\x8b\xa9\xe8\x87\
-\xb3\xe5\xb0\x91\xe4\xb8\x80\xe4\xb8\xaa\xe6\xba\x90\xef\xbc\x81\
+\x1e\xe6\xad\xa3\xe5\x9c\xa8\xe6\x90\x9c\xe7\xb4\xa2\xe5\xb9\xb6\
+\xe8\x8e\xb7\xe5\x8f\x96\xe6\xad\x8c\xe8\xaf\x8d...\x07\
+\x00\x00\x00\x0aLocalMatch\x01\x03\
+\x00\x00\x00@\x00R\x00e\x00a\x00d\x00i\x00n\
+\x00g\x00 \x00s\x00o\x00n\x00g\x00 \x00f\
+\x00i\x00l\x00e\x00 \x00i\x00n\x00f\x00o\
+\x00r\x00m\x00a\x00t\x00i\x00o\x00n\x00.\
+\x00.\x00.\x08\x00\x00\x00\x00\x06\x00\x00\x00!\xe6\xad\
+\xa3\xe5\x9c\xa8\xe8\xaf\xbb\xe5\x8f\x96\xe6\xad\x8c\xe6\x9b\xb2\
+\xe6\x96\x87\xe4\xbb\xb6\xe4\xbf\xa1\xe6\x81\xaf...\x07\
+\x00\x00\x00\x0aLocalMatch\x01\x03\
+\x00\x00\x00@\x00N\x00o\x00 \x00s\x00o\x00n\
+\x00g\x00 \x00r\x00e\x00s\x00o\x00l\x00v\
+\x00e\x00d\x00 \x00i\x00n\x00 \x00c\x00u\
+\x00e\x00 \x00f\x00i\x00l\x00e\x00 \x00{\
+\x000\x00}\x08\x00\x00\x00\x00\x06\x00\x00\x00&\xe6\xb2\
+\xa1\xe6\x9c\x89\xe5\x9c\xa8cue\xe6\x96\x87\xe4\xbb\xb6\
+ {0} \xe8\xa7\xa3\xe6\x9e\x90\xe5\x88\xb0\xe6\xad\
+\x8c\xe6\x9b\xb2\x07\x00\x00\x00\x0aLocalMa\
+tch\x01\x03\x00\x00\x00\x1e\x00s\x00k\x00i\x00\
+p\x00 \x00p\x00u\x00r\x00e\x00 \x00m\x00\
+u\x00s\x00i\x00c\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+\x0f\xe8\xb7\xb3\xe8\xbf\x87\xe7\xba\xaf\xe9\x9f\xb3\xe4\xb9\x90\
+\x07\x00\x00\x00\x0aLocalMatch\x01\
+\x03\x00\x00\x00R\x00,\x00 \x00o\x00f\x00 \x00\
+w\x00h\x00i\x00c\x00h\x00 \x00{\x000\x00\
+}\x00 \x00w\x00a\x00s\x00 \x00f\x00o\x00\
+u\x00n\x00d\x00 \x00i\x00n\x00 \x00{\x00\
+1\x00}\x00 \x00c\x00u\x00e\x00 \x00f\x00\
+i\x00l\x00e\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+*\xef\xbc\x8c\xe5\x85\xb6\xe4\xb8\xad{0}\xe9\xa6\x96\
+\xe5\x9c\xa8{1}\xe4\xb8\xaacue\xe6\x96\x87\xe4\
+\xbb\xb6\xe4\xb8\xad\xe6\x89\xbe\xe5\x88\xb0\x07\x00\x00\x00\x0a\
+LocalMatch\x01\x03\x00\x00\x00\x10\
+\x00Q\x00Q\x00 \x00M\x00u\x00s\x00i\x00c\
+\x08\x00\x00\x00\x00\x06\x00\x00\x00\x08QQ\xe9\x9f\xb3\xe4\
+\xb9\x90\x07\x00\x00\x00\x10LocalMatc\
+hWidget\x01\x03\x00\x00\x004\x00W\x00\
+r\x00o\x00n\x00g\x00 \x00s\x00a\x00v\x00\
+e\x00 \x00m\x00o\x00d\x00e\x00 \x00s\x00\
+e\x00l\x00e\x00c\x00t\x00i\x00o\x00n\x00\
+!\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1b\xe4\xbf\x9d\xe5\xad\
+\x98\xe6\xa8\xa1\xe5\xbc\x8f\xe9\x80\x89\xe6\x8b\xa9\xe9\x94\x99\
+\xe8\xaf\xaf\xef\xbc\x81\x07\x00\x00\x00\x10Local\
+MatchWidget\x01\x03\x00\x00\x00\
+\x1e\x00C\x00a\x00n\x00c\x00e\x00l\x00 \x00\
+m\x00a\x00t\x00c\x00h\x00i\x00n\x00g\x08\
+\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe5\x8f\x96\xe6\xb6\x88\xe5\
+\x8c\xb9\xe9\x85\x8d\x07\x00\x00\x00\x10LocalM\
+atchWidget\x01\x03\x00\x00\x00\x1c\
+\x00S\x00t\x00a\x00r\x00t\x00 \x00m\x00a\
+\x00t\x00c\x00h\x00i\x00n\x00g\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00\x0c\xe5\xbc\x80\xe5\xa7\x8b\xe5\x8c\xb9\xe9\
+\x85\x8d\x07\x00\x00\x00\x10LocalMatc\
+hWidget\x01\x03\x00\x00\x00>\x00T\x00\
+h\x00e\x00 \x00s\x00o\x00n\x00g\x00 \x00\
+f\x00o\x00l\x00d\x00e\x00r\x00 \x00d\x00\
+o\x00e\x00s\x00 \x00n\x00o\x00t\x00 \x00\
+e\x00x\x00i\x00s\x00t\x00!\x08\x00\x00\x00\x00\
+\x06\x00\x00\x00\x1b\xe6\xad\x8c\xe6\x9b\xb2\xe6\x96\x87\xe4\xbb\
+\xb6\xe5\xa4\xb9\xe4\xb8\x8d\xe5\xad\x98\xe5\x9c\xa8\xef\xbc\x81\
\x07\x00\x00\x00\x10LocalMatchW\
-idget\x01\x03\x00\x00\x00L\x00P\x00l\x00\
-e\x00a\x00s\x00e\x00 \x00s\x00e\x00l\x00\
-e\x00c\x00t\x00 \x00a\x00t\x00 \x00l\x00\
-e\x00a\x00s\x00t\x00 \x00o\x00n\x00e\x00\
- \x00l\x00y\x00r\x00i\x00c\x00 \x00t\x00\
-y\x00p\x00e\x00!\x08\x00\x00\x00\x00\x06\x00\x00\x00\
-$\xe8\xaf\xb7\xe9\x80\x89\xe6\x8b\xa9\xe8\x87\xb3\xe5\xb0\x91\
-\xe4\xb8\x80\xe7\xa7\x8d\xe6\xad\x8c\xe8\xaf\x8d\xe7\xb1\xbb\xe5\
-\x9e\x8b\xef\xbc\x81\x07\x00\x00\x00\x10LocalM\
-atchWidget\x01\x03\x00\x00\x00\x1a\
-\x00S\x00e\x00l\x00e\x00c\x00t\x00 \x00f\
-\x00o\x00l\x00d\x00e\x00r\x08\x00\x00\x00\x00\x06\
-\x00\x00\x00\x0f\xe9\x80\x89\xe6\x8b\xa9\xe6\x96\x87\xe4\xbb\xb6\
-\xe5\xa4\xb9\x07\x00\x00\x00\x10LocalMat\
-chWidget\x01\x03\x00\x00\x000\x00S\
-\x00e\x00l\x00e\x00c\x00t\x00 \x00t\x00h\
-\x00e\x00 \x00m\x00i\x00r\x00r\x00o\x00r\
-\x00 \x00f\x00o\x00l\x00d\x00e\x00r\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x15\xe9\x80\x89\xe6\x8b\xa9\xe9\x95\
-\x9c\xe5\x83\x8f\xe6\x96\x87\xe4\xbb\xb6\xe5\xa4\xb9\x07\x00\x00\
-\x00\x10LocalMatchWidg\
-et\x01\x03\x00\x00\x00\x0a\x00k\x00u\x00g\x00o\
-\x00u\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe9\x85\xb7\xe7\
-\x8b\x97\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\x00\x00\x10Loc\
+idget\x01\x03\x00\x00\x004\x00W\x00r\x00\
+o\x00n\x00g\x00 \x00s\x00a\x00v\x00e\x00\
+ \x00m\x00o\x00d\x00e\x00 \x00s\x00e\x00\
+l\x00e\x00c\x00t\x00i\x00o\x00n\x00!\x08\
+\x00\x00\x00\x00\x06\x00\x00\x00\x18\xe6\xad\x8c\xe8\xaf\x8d\xe6\
+\x96\x87\xe4\xbb\xb6\xe5\x90\x8d\xe9\x94\x99\xe8\xaf\xaf\xef\xbc\
+\x81\x07\x00\x00\x00\x10LocalMatch\
+Widget\x01\x03\x00\x00\x00&\x00N\x00e\
+\x00t\x00E\x00a\x00s\x00e\x00 \x00C\x00l\
+\x00o\x00u\x00d\x00 \x00M\x00u\x00s\x00i\
+\x00c\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0f\xe7\xbd\x91\xe6\
+\x98\x93\xe4\xba\x91\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\x00\x00\x10\
+LocalMatchWidget\
+\x01\x03\x00\x00\x00\x0e\x00W\x00a\x00r\x00n\x00i\
+\x00n\x00g\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\xad\
+\xa6\xe5\x91\x8a\x07\x00\x00\x00\x10LocalMa\
+tchWidget\x01\x03\x00\x00\x00D\x00\
+P\x00l\x00e\x00a\x00s\x00e\x00 \x00s\x00\
+e\x00l\x00e\x00c\x00t\x00 \x00a\x00t\x00\
+ \x00l\x00e\x00a\x00s\x00t\x00 \x00o\x00\
+n\x00e\x00 \x00s\x00o\x00u\x00r\x00c\x00\
+e\x00!\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1b\xe8\xaf\xb7\
+\xe9\x80\x89\xe6\x8b\xa9\xe8\x87\xb3\xe5\xb0\x91\xe4\xb8\x80\xe4\
+\xb8\xaa\xe6\xba\x90\xef\xbc\x81\x07\x00\x00\x00\x10Loc\
alMatchWidget\x01\x03\x00\
-\x00\x00\x0a\x00E\x00r\x00r\x00o\x00r\x08\x00\x00\
-\x00\x00\x06\x00\x00\x00\x06\xe9\x94\x99\xe8\xaf\xaf\x07\x00\x00\
+\x00\x00L\x00P\x00l\x00e\x00a\x00s\x00e\x00\
+ \x00s\x00e\x00l\x00e\x00c\x00t\x00 \x00\
+a\x00t\x00 \x00l\x00e\x00a\x00s\x00t\x00\
+ \x00o\x00n\x00e\x00 \x00l\x00y\x00r\x00\
+i\x00c\x00 \x00t\x00y\x00p\x00e\x00!\x08\
+\x00\x00\x00\x00\x06\x00\x00\x00$\xe8\xaf\xb7\xe9\x80\x89\xe6\
+\x8b\xa9\xe8\x87\xb3\xe5\xb0\x91\xe4\xb8\x80\xe7\xa7\x8d\xe6\xad\
+\x8c\xe8\xaf\x8d\xe7\xb1\xbb\xe5\x9e\x8b\xef\xbc\x81\x07\x00\x00\
\x00\x10LocalMatchWidg\
-et\x01\x03\x00\x00\x006\x00F\x00a\x00i\x00l\
-\x00e\x00d\x00 \x00t\x00o\x00 \x00m\x00e\
-\x00r\x00g\x00e\x00 \x00l\x00y\x00r\x00i\
-\x00c\x00s\x00:\x00 \x00{\x000\x00}\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x18\xe5\x90\x88\xe5\xb9\xb6\xe6\xad\
-\x8c\xe8\xaf\x8d\xe5\xa4\xb1\xe8\xb4\xa5\xef\xbc\x9a{0}\
-\x07\x00\x00\x00\x0cLyricProces\
-s\x01\x03\x00\x00\x00b\x00T\x00h\x00e\x00r\x00\
-e\x00 \x00w\x00a\x00s\x00 \x00a\x00n\x00\
- \x00e\x00r\x00r\x00o\x00r\x00 \x00{\x00\
-0\x00}\x00 \x00w\x00h\x00i\x00l\x00e\x00\
- \x00s\x00e\x00a\x00r\x00c\x00h\x00i\x00\
-n\x00g\x00 \x00f\x00o\x00r\x00 \x00l\x00\
-y\x00r\x00i\x00c\x00s\x08\x00\x00\x00\x00\x06\x00\
-\x00\x00\x1e\xe6\x90\x9c\xe7\xb4\xa2\xe6\xad\x8c\xe8\xaf\x8d\xe6\
-\x97\xb6\xe5\x87\xba\xe7\x8e\xb0\xe9\x94\x99\xe8\xaf\xaf{0\
-}\x07\x00\x00\x00\x0cLyricProce\
-ss\x01\x03\x00\x00\x00\xb4\x00T\x00h\x00e\x00r\
-\x00e\x00 \x00a\x00r\x00e\x00 \x00n\x00o\
-\x00 \x00r\x00e\x00s\x00u\x00l\x00t\x00s\
-\x00 \x00f\x00o\x00r\x00 \x00s\x00e\x00a\
-\x00r\x00c\x00h\x00i\x00n\x00g\x00 \x00l\
-\x00y\x00r\x00i\x00c\x00s\x00,\x00 \x00s\
-\x00o\x00u\x00r\x00c\x00e\x00:\x00 \x00{\
-\x00s\x00o\x00u\x00r\x00c\x00e\x00}\x00,\
-\x00 \x00s\x00o\x00n\x00g\x00 \x00t\x00i\
-\x00t\x00l\x00e\x00:\x00 \x00{\x00t\x00i\
-\x00t\x00l\x00e\x00}\x00,\x00 \x00:\x00 \
-\x00{\x00h\x00a\x00s\x00h\x00}\x08\x00\x00\x00\
-\x00\x06\x00\x00\x00E\xe6\x90\x9c\xe7\xb4\xa2\xe6\xad\x8c\xe8\
+et\x01\x03\x00\x00\x00\x1a\x00S\x00e\x00l\x00e\
+\x00c\x00t\x00 \x00f\x00o\x00l\x00d\x00e\
+\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0f\xe9\x80\x89\xe6\
+\x8b\xa9\xe6\x96\x87\xe4\xbb\xb6\xe5\xa4\xb9\x07\x00\x00\x00\x10\
+LocalMatchWidget\
+\x01\x03\x00\x00\x000\x00S\x00e\x00l\x00e\x00c\
+\x00t\x00 \x00t\x00h\x00e\x00 \x00m\x00i\
+\x00r\x00r\x00o\x00r\x00 \x00f\x00o\x00l\
+\x00d\x00e\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00\x15\
+\xe9\x80\x89\xe6\x8b\xa9\xe9\x95\x9c\xe5\x83\x8f\xe6\x96\x87\xe4\
+\xbb\xb6\xe5\xa4\xb9\x07\x00\x00\x00\x10LocalM\
+atchWidget\x01\x03\x00\x00\x00\x0a\
+\x00k\x00u\x00g\x00o\x00u\x08\x00\x00\x00\x00\x06\
+\x00\x00\x00\x0c\xe9\x85\xb7\xe7\x8b\x97\xe9\x9f\xb3\xe4\xb9\x90\
+\x07\x00\x00\x00\x10LocalMatchW\
+idget\x01\x03\x00\x00\x00\x0a\x00E\x00r\x00\
+r\x00o\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe9\
+\x94\x99\xe8\xaf\xaf\x07\x00\x00\x00\x10LocalM\
+atchWidget\x01\x03\x00\x00\x006\
+\x00F\x00a\x00i\x00l\x00e\x00d\x00 \x00t\
+\x00o\x00 \x00m\x00e\x00r\x00g\x00e\x00 \
+\x00l\x00y\x00r\x00i\x00c\x00s\x00:\x00 \
+\x00{\x000\x00}\x08\x00\x00\x00\x00\x06\x00\x00\x00\x18\
+\xe5\x90\x88\xe5\xb9\xb6\xe6\xad\x8c\xe8\xaf\x8d\xe5\xa4\xb1\xe8\
+\xb4\xa5\xef\xbc\x9a{0}\x07\x00\x00\x00\x0cLyr\
+icProcess\x01\x03\x00\x00\x00b\x00\
+T\x00h\x00e\x00r\x00e\x00 \x00w\x00a\x00\
+s\x00 \x00a\x00n\x00 \x00e\x00r\x00r\x00\
+o\x00r\x00 \x00{\x000\x00}\x00 \x00w\x00\
+h\x00i\x00l\x00e\x00 \x00s\x00e\x00a\x00\
+r\x00c\x00h\x00i\x00n\x00g\x00 \x00f\x00\
+o\x00r\x00 \x00l\x00y\x00r\x00i\x00c\x00\
+s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1e\xe6\x90\x9c\xe7\xb4\
+\xa2\xe6\xad\x8c\xe8\xaf\x8d\xe6\x97\xb6\xe5\x87\xba\xe7\x8e\xb0\
+\xe9\x94\x99\xe8\xaf\xaf{0}\x07\x00\x00\x00\x0cLy\
+ricProcess\x01\x03\x00\x00\x00\x9c\
+\x00T\x00h\x00e\x00r\x00e\x00 \x00a\x00r\
+\x00e\x00 \x00n\x00o\x00 \x00r\x00e\x00s\
+\x00u\x00l\x00t\x00s\x00 \x00f\x00o\x00r\
+\x00 \x00s\x00e\x00a\x00r\x00c\x00h\x00i\
+\x00n\x00g\x00 \x00l\x00y\x00r\x00i\x00c\
+\x00s\x00,\x00 \x00s\x00o\x00u\x00r\x00c\
+\x00e\x00:\x00 \x00{\x000\x00}\x00,\x00 \
+\x00s\x00o\x00n\x00g\x00 \x00t\x00i\x00t\
+\x00l\x00e\x00:\x00 \x00{\x001\x00}\x00,\
+\x00 \x00:\x00 \x00{\x002\x00}\x08\x00\x00\x00\
+\x00\x06\x00\x00\x009\xe6\x90\x9c\xe7\xb4\xa2\xe6\xad\x8c\xe8\
\xaf\x8d\xe6\xb2\xa1\xe6\x9c\x89\xe4\xbb\xbb\xe4\xbd\x95\xe7\xbb\
-\x93\xe6\x9e\x9c,\xe6\xba\x90:{source\
-}, \xe6\xad\x8c\xe5\x90\x8d:{title\
-}, : {hash}\x07\x00\x00\x00\x0c\
-LyricProcess\x01\x03\x00\x00\
-\x00\x5c\x00F\x00a\x00i\x00l\x00e\x00d\x00 \
-\x00t\x00o\x00 \x00o\x00b\x00t\x00a\x00i\
-\x00n\x00 \x00s\x00o\x00n\x00g\x00 \x00l\
-\x00i\x00s\x00t\x00,\x00 \x00l\x00i\x00s\
-\x00t\x00 \x00d\x00a\x00t\x00a\x00 \x00i\
-\x00s\x00 \x00e\x00m\x00p\x00t\x00y\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00,\xe8\x8e\xb7\xe5\x8f\x96\xe6\xad\
-\x8c\xe6\x9b\xb2\xe5\x88\x97\xe8\xa1\xa8\xe5\xa4\xb1\xe8\xb4\xa5\
-, \xe5\x88\x97\xe8\xa1\xa8\xe6\x95\xb0\xe6\x8d\xae\xe4\xb8\
-\xba\xe7\xa9\xba\x07\x00\x00\x00\x0cLyricPr\
-ocess\x01\x03\x00\x00\x00L\x00F\x00a\x00\
-i\x00l\x00e\x00d\x00 \x00t\x00o\x00 \x00\
-g\x00e\x00t\x00 \x00s\x00o\x00n\x00g\x00\
- \x00l\x00i\x00s\x00t\x00,\x00 \x00u\x00\
-n\x00k\x00n\x00o\x00w\x00n\x00 \x00e\x00\
-r\x00r\x00o\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00\
-&\xe8\x8e\xb7\xe5\x8f\x96\xe6\xad\x8c\xe6\x9b\xb2\xe5\x88\x97\
-\xe8\xa1\xa8\xe5\xa4\xb1\xe8\xb4\xa5, \xe6\x9c\xaa\xe7\x9f\
-\xa5\xe9\x94\x99\xe8\xaf\xaf\x07\x00\x00\x00\x0cLyri\
-cProcess\x01\x03\x00\x00\x008\x00F\
-\x00a\x00i\x00l\x00e\x00d\x00 \x00t\x00o\
-\x00 \x00g\x00e\x00t\x00 \x00s\x00o\x00n\
-\x00g\x00 \x00l\x00i\x00s\x00t\x00:\x00 \
-\x00{\x000\x00}\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1e\
-\xe8\x8e\xb7\xe5\x8f\x96\xe6\xad\x8c\xe6\x9b\xb2\xe5\x88\x97\xe8\
-\xa1\xa8\xe5\xa4\xb1\xe8\xb4\xa5\xef\xbc\x9a{0}\x07\x00\
-\x00\x00\x0cLyricProcess\x01\
-\x03\x00\x00\x00\x0a\x00A\x00b\x00o\x00u\x00t\x08\
-\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe5\x85\xb3\xe4\xba\x8e\x07\
-\x00\x00\x00\x0aMainWindow\x01\x03\
-\x00\x00\x00\x22\x00n\x00e\x00w\x00 \x00v\x00e\
-\x00r\x00s\x00i\x00o\x00n\x00 \x00f\x00o\
-\x00u\x00n\x00d\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0f\
-\xe5\x8f\x91\xe7\x8e\xb0\xe6\x96\xb0\xe7\x89\x88\xe6\x9c\xac\x07\
-\x00\x00\x00\x0aMainWindow\x01\x03\
-\x00\x00\x00x\x00F\x00o\x00u\x00n\x00d\x00 \
-\x00a\x00 \x00n\x00e\x00w\x00 \x00v\x00e\
-\x00r\x00s\x00i\x00o\x00n\x00,\x00 \x00d\
-\x00o\x00 \x00y\x00o\x00u\x00 \x00w\x00a\
-\x00n\x00t\x00 \x00t\x00o\x00 \x00d\x00o\
-\x00w\x00n\x00l\x00o\x00a\x00d\x00 \x00i\
-\x00t\x00 \x00f\x00r\x00o\x00m\x00 \x00G\
-\x00i\x00t\x00H\x00u\x00b\x00?\x08\x00\x00\x00\
-\x00\x06\x00\x00\x00+\xe5\x8f\x91\xe7\x8e\xb0\xe6\x96\xb0\xe7\
-\x89\x88\xe6\x9c\xac,\xe6\x98\xaf\xe5\x90\xa6\xe5\x89\x8d\xe5\
-\xbe\x80GitHub\xe4\xb8\x8b\xe8\xbd\xbd\xef\xbc\
-\x9f\x07\x00\x00\x00\x0aMainWindow\
-\x01\x03\x00\x00\x00*\x00O\x00p\x00e\x00n\x00\x0a\
-\x00e\x00n\x00c\x00r\x00y\x00p\x00t\x00e\
-\x00d\x00 \x00l\x00y\x00r\x00i\x00c\x00s\
-\x08\x00\x00\x00\x00\x06\x00\x00\x00\x13\xe6\x89\x93\xe5\xbc\x80\
-\x0a\xe5\x8a\xa0\xe5\xaf\x86\xe6\xad\x8c\xe8\xaf\x8d\x07\x00\x00\
+\x93\xe6\x9e\x9c,\xe6\xba\x90:{0}, \xe6\xad\
+\x8c\xe5\x90\x8d:{1}, : {2}\x07\
+\x00\x00\x00\x0cLyricProcess\
+\x01\x03\x00\x00\x00h\x00F\x00a\x00i\x00l\x00e\
+\x00d\x00 \x00t\x00o\x00 \x00o\x00b\x00t\
+\x00a\x00i\x00n\x00 \x00e\x00n\x00c\x00r\
+\x00y\x00p\x00t\x00e\x00d\x00 \x00l\x00y\
+\x00r\x00i\x00c\x00s\x00 \x00o\x00f\x00 \
+\x00{\x000\x00}\x00,\x00 \x00e\x00r\x00r\
+\x00o\x00r\x00:\x00 \x00{\x001\x00}\x08\x00\
+\x00\x00\x00\x06\x00\x00\x00!\xe8\x8e\xb7\xe5\x8f\x96 {\
+0} \xe5\x8a\xa0\xe5\xaf\x86\xe6\xad\x8c\xe8\xaf\x8d\xe5\
+\xa4\xb1\xe8\xb4\xa5:{1}\x07\x00\x00\x00\x0cLy\
+ricProcess\x01\x03\x00\x00\x00\x5c\
+\x00F\x00a\x00i\x00l\x00e\x00d\x00 \x00t\
+\x00o\x00 \x00o\x00b\x00t\x00a\x00i\x00n\
+\x00 \x00s\x00o\x00n\x00g\x00 \x00l\x00i\
+\x00s\x00t\x00,\x00 \x00l\x00i\x00s\x00t\
+\x00 \x00d\x00a\x00t\x00a\x00 \x00i\x00s\
+\x00 \x00e\x00m\x00p\x00t\x00y\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00,\xe8\x8e\xb7\xe5\x8f\x96\xe6\xad\x8c\xe6\
+\x9b\xb2\xe5\x88\x97\xe8\xa1\xa8\xe5\xa4\xb1\xe8\xb4\xa5, \
+\xe5\x88\x97\xe8\xa1\xa8\xe6\x95\xb0\xe6\x8d\xae\xe4\xb8\xba\xe7\
+\xa9\xba\x07\x00\x00\x00\x0cLyricProc\
+ess\x01\x03\x00\x00\x00L\x00F\x00a\x00i\x00\
+l\x00e\x00d\x00 \x00t\x00o\x00 \x00g\x00\
+e\x00t\x00 \x00s\x00o\x00n\x00g\x00 \x00\
+l\x00i\x00s\x00t\x00,\x00 \x00u\x00n\x00\
+k\x00n\x00o\x00w\x00n\x00 \x00e\x00r\x00\
+r\x00o\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00&\xe8\
+\x8e\xb7\xe5\x8f\x96\xe6\xad\x8c\xe6\x9b\xb2\xe5\x88\x97\xe8\xa1\
+\xa8\xe5\xa4\xb1\xe8\xb4\xa5, \xe6\x9c\xaa\xe7\x9f\xa5\xe9\
+\x94\x99\xe8\xaf\xaf\x07\x00\x00\x00\x0cLyricP\
+rocess\x01\x03\x00\x00\x008\x00F\x00a\
+\x00i\x00l\x00e\x00d\x00 \x00t\x00o\x00 \
+\x00g\x00e\x00t\x00 \x00s\x00o\x00n\x00g\
+\x00 \x00l\x00i\x00s\x00t\x00:\x00 \x00{\
+\x000\x00}\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1e\xe8\x8e\
+\xb7\xe5\x8f\x96\xe6\xad\x8c\xe6\x9b\xb2\xe5\x88\x97\xe8\xa1\xa8\
+\xe5\xa4\xb1\xe8\xb4\xa5\xef\xbc\x9a{0}\x07\x00\x00\x00\
+\x0cLyricProcess\x01\x03\x00\
+\x00\x00\x0a\x00A\x00b\x00o\x00u\x00t\x08\x00\x00\
+\x00\x00\x06\x00\x00\x00\x06\xe5\x85\xb3\xe4\xba\x8e\x07\x00\x00\
+\x00\x0aMainWindow\x01\x03\x00\x00\
+\x00\x22\x00n\x00e\x00w\x00 \x00v\x00e\x00r\
+\x00s\x00i\x00o\x00n\x00 \x00f\x00o\x00u\
+\x00n\x00d\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0f\xe5\x8f\
+\x91\xe7\x8e\xb0\xe6\x96\xb0\xe7\x89\x88\xe6\x9c\xac\x07\x00\x00\
\x00\x0aMainWindow\x01\x03\x00\x00\
-\x00\x0c\x00S\x00e\x00a\x00r\x00c\x00h\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x06\xe6\x90\x9c\xe7\xb4\xa2\x07\x00\
-\x00\x00\x0aMainWindow\x01\x03\x00\
-\x00\x00\x16\x00l\x00o\x00c\x00a\x00l\x00 \x00\
-m\x00a\x00t\x00c\x00h\x08\x00\x00\x00\x00\x06\x00\
-\x00\x00\x0c\xe6\x9c\xac\xe5\x9c\xb0\xe5\x8c\xb9\xe9\x85\x8d\x07\
+\x00x\x00F\x00o\x00u\x00n\x00d\x00 \x00a\
+\x00 \x00n\x00e\x00w\x00 \x00v\x00e\x00r\
+\x00s\x00i\x00o\x00n\x00,\x00 \x00d\x00o\
+\x00 \x00y\x00o\x00u\x00 \x00w\x00a\x00n\
+\x00t\x00 \x00t\x00o\x00 \x00d\x00o\x00w\
+\x00n\x00l\x00o\x00a\x00d\x00 \x00i\x00t\
+\x00 \x00f\x00r\x00o\x00m\x00 \x00G\x00i\
+\x00t\x00H\x00u\x00b\x00?\x08\x00\x00\x00\x00\x06\
+\x00\x00\x00+\xe5\x8f\x91\xe7\x8e\xb0\xe6\x96\xb0\xe7\x89\x88\
+\xe6\x9c\xac,\xe6\x98\xaf\xe5\x90\xa6\xe5\x89\x8d\xe5\xbe\x80\
+GitHub\xe4\xb8\x8b\xe8\xbd\xbd\xef\xbc\x9f\x07\
\x00\x00\x00\x0aMainWindow\x01\x03\
-\x00\x00\x00\x10\x00S\x00e\x00t\x00t\x00i\x00n\
-\x00g\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\xae\
-\xbe\xe7\xbd\xae\x07\x00\x00\x00\x0aMainWin\
-dow\x01\x03\x00\x00\x00\x16\x00,\x00 \x00r\x00\
-o\x00m\x00a\x00n\x00i\x00z\x00e\x00d\x08\
-\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe3\x80\x81\xe7\xbd\x97\xe9\
-\xa9\xac\xe9\x9f\xb3\x07\x00\x00\x00\x0cSearch\
-Widget\x01\x03\x00\x00\x00\x1a\x00,\x00 \
-\x00t\x00r\x00a\x00n\x00s\x00l\x00a\x00t\
-\x00i\x00o\x00n\x08\x00\x00\x00\x00\x06\x00\x00\x00\x09\
-\xe3\x80\x81\xe8\xaf\x91\xe6\x96\x87\x07\x00\x00\x00\x0cSe\
-archWidget\x01\x03\x00\x00\x00\x10\
-\x00U\x00p\x00l\x00o\x00a\x00d\x00e\x00r\
-\x08\x00\x00\x00\x00\x06\x00\x00\x00\x09\xe4\xb8\x8a\xe4\xbc\xa0\
-\xe8\x80\x85\x07\x00\x00\x00\x0cSearchWi\
-dget\x01\x03\x00\x00\x00\x0a\x00A\x00l\x00b\
-\x00u\x00m\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe4\xb8\
-\x93\xe8\xbe\x91\x07\x00\x00\x00\x0cSearchW\
-idget\x01\x03\x00\x00\x00\x0a\x00c\x00l\x00\
-o\x00s\x00e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe5\
-\x85\xb3\xe9\x97\xad\x07\x00\x00\x00\x0cSearch\
-Widget\x01\x03\x00\x00\x00\x0a\x00S\x00c\
-\x00o\x00r\x00e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\
-\xe5\x88\x86\xe6\x95\xb0\x07\x00\x00\x00\x0cSearc\
-hWidget\x01\x03\x00\x00\x00\x1a\x00C\x00\
-r\x00e\x00a\x00t\x00i\x00o\x00n\x00 \x00\
-t\x00i\x00m\x00e\x08\x00\x00\x00\x00\x06\x00\x00\x00\
-\x0c\xe5\x88\x9b\xe5\xbb\xba\xe6\x97\xb6\xe9\x97\xb4\x07\x00\x00\
-\x00\x0cSearchWidget\x01\x03\
-\x00\x00\x00\x0e\x00C\x00r\x00e\x00a\x00t\x00o\
-\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00\x09\xe5\x88\x9b\xe5\
-\xbb\xba\xe8\x80\x85\x07\x00\x00\x00\x0cSearch\
-Widget\x01\x03\x00\x00\x00\x14\x00l\x00o\
-\x00a\x00d\x00i\x00n\x00g\x00.\x00.\x00.\
-\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe5\x8a\xa0\xe8\xbd\xbd\
-\xe4\xb8\xad...\x07\x00\x00\x00\x0cSearc\
-hWidget\x01\x03\x00\x00\x00\x10\x00o\x00\
-r\x00i\x00g\x00i\x00n\x00a\x00l\x08\x00\x00\
-\x00\x00\x06\x00\x00\x00\x06\xe5\x8e\x9f\xe6\x96\x87\x07\x00\x00\
-\x00\x0cSearchWidget\x01\x03\
-\x00\x00\x00\x18\x00R\x00e\x00l\x00e\x00a\x00s\
-\x00e\x00 \x00d\x00a\x00t\x00e\x08\x00\x00\x00\
-\x00\x06\x00\x00\x00\x0c\xe5\x8f\x91\xe8\xa1\x8c\xe6\x97\xa5\xe6\
-\x9c\x9f\x07\x00\x00\x00\x0cSearchWid\
-get\x01\x03\x00\x00\x00\x0c\x00C\x00a\x00n\x00\
-c\x00e\x00l\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe5\
-\x8f\x96\xe6\xb6\x88\x07\x00\x00\x00\x0cSearch\
-Widget\x01\x03\x00\x00\x00\x1a\x00P\x00r\
-\x00o\x00c\x00e\x00s\x00s\x00i\x00n\x00g\
-\x00.\x00.\x00.\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\
-\xe5\xa4\x84\xe7\x90\x86\xe4\xb8\xad...\x07\x00\x00\x00\
-\x0cSearchWidget\x01\x03\x00\
-\x00\x00\x06\x00T\x00i\x00p\x08\x00\x00\x00\x00\x06\x00\
-\x00\x00\x06\xe6\x8f\x90\xe7\xa4\xba\x07\x00\x00\x00\x0cSe\
-archWidget\x01\x03\x00\x00\x00\x0c\
+\x00\x00\x00*\x00O\x00p\x00e\x00n\x00\x0a\x00e\
+\x00n\x00c\x00r\x00y\x00p\x00t\x00e\x00d\
+\x00\x0a\x00l\x00y\x00r\x00i\x00c\x00s\x08\x00\
+\x00\x00\x00\x06\x00\x00\x00\x13\xe6\x89\x93\xe5\xbc\x80\x0a\xe5\
+\x8a\xa0\xe5\xaf\x86\xe6\xad\x8c\xe8\xaf\x8d\x07\x00\x00\x00\x0a\
+MainWindow\x01\x03\x00\x00\x00\x0c\
\x00S\x00e\x00a\x00r\x00c\x00h\x08\x00\x00\x00\
\x00\x06\x00\x00\x00\x06\xe6\x90\x9c\xe7\xb4\xa2\x07\x00\x00\x00\
-\x0cSearchWidget\x01\x03\x00\
-\x00\x00\x18\x00S\x00e\x00a\x00r\x00c\x00h\x00\
- \x00e\x00r\x00r\x00o\x00r\x08\x00\x00\x00\x00\
-\x06\x00\x00\x00\x0c\xe6\x90\x9c\xe7\xb4\xa2\xe9\x94\x99\xe8\xaf\
-\xaf\x07\x00\x00\x00\x0cSearchWidg\
-et\x01\x03\x00\x00\x00\x10\x00D\x00u\x00r\x00a\
-\x00t\x00i\x00o\x00n\x08\x00\x00\x00\x00\x06\x00\x00\
-\x00\x06\xe6\x97\xb6\xe9\x95\xbf\x07\x00\x00\x00\x0cSea\
-rchWidget\x01\x03\x00\x00\x008\x00\
-S\x00e\x00a\x00r\x00c\x00h\x00 \x00l\x00\
-y\x00r\x00i\x00c\x00s\x00 \x00f\x00o\x00\
-r\x00 \x00p\x00u\x00r\x00e\x00 \x00m\x00\
-u\x00s\x00i\x00c\x08\x00\x00\x00\x00\x06\x00\x00\x00\
-\x1e\xe6\x98\xaf\xe5\x90\xa6\xe4\xb8\xba\xe7\xba\xaf\xe9\x9f\xb3\
-\xe4\xb9\x90\xe6\x90\x9c\xe7\xb4\xa2\xe6\xad\x8c\xe8\xaf\x8d\x07\
-\x00\x00\x00\x0cSearchWidget\
-\x01\x03\x00\x00\x00\x12\x00s\x00o\x00n\x00g\x00 \
-\x00l\x00i\x00s\x00t\x08\x00\x00\x00\x00\x06\x00\x00\
-\x00\x06\xe6\xad\x8c\xe5\x8d\x95\x07\x00\x00\x00\x0cSea\
-rchWidget\x01\x03\x00\x00\x00\x08\x00\
-S\x00o\x00n\x00g\x08\x00\x00\x00\x00\x06\x00\x00\x00\
-\x06\xe6\xad\x8c\xe6\x9b\xb2\x07\x00\x00\x00\x0cSear\
-chWidget\x01\x03\x00\x00\x00\x14\x00S\
-\x00o\x00n\x00g\x00 \x00c\x00o\x00u\x00n\
-\x00t\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe6\xad\x8c\xe6\
-\x9b\xb2\xe6\x95\xb0\xe9\x87\x8f\x07\x00\x00\x00\x0cSea\
-rchWidget\x01\x03\x00\x00\x00 \x00\
-L\x00y\x00r\x00i\x00c\x00s\x00 \x00n\x00\
-o\x00t\x00 \x00f\x00o\x00u\x00n\x00d\x08\
-\x00\x00\x00\x00\x06\x00\x00\x00\x12\xe6\xb2\xa1\xe6\x9c\x89\xe6\
-\x89\xbe\xe5\x88\xb0\xe6\xad\x8c\xe8\xaf\x8d\x07\x00\x00\x00\x0c\
+\x0aMainWindow\x01\x03\x00\x00\x00\
+\x16\x00l\x00o\x00c\x00a\x00l\x00 \x00m\x00\
+a\x00t\x00c\x00h\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+\x0c\xe6\x9c\xac\xe5\x9c\xb0\xe5\x8c\xb9\xe9\x85\x8d\x07\x00\x00\
+\x00\x0aMainWindow\x01\x03\x00\x00\
+\x00\x10\x00S\x00e\x00t\x00t\x00i\x00n\x00g\
+\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\xae\xbe\xe7\
+\xbd\xae\x07\x00\x00\x00\x0aMainWindo\
+w\x01\x03\x00\x00\x00\x10\x00,\x00S\x00a\x00v\x00\
+e\x00 \x00t\x00o\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+\x0a,\xe4\xbf\x9d\xe5\xad\x98\xe5\x88\xb0\x07\x00\x00\x00\x0c\
SearchWidget\x01\x03\x00\x00\
-\x00\x1e\x00n\x00o\x00 \x00m\x00o\x00r\x00e\
-\x00 \x00r\x00e\x00s\x00u\x00l\x00t\x00s\
-\x08\x00\x00\x00\x00\x06\x00\x00\x00\x12\xe6\xb2\xa1\xe6\x9c\x89\
-\xe6\x9b\xb4\xe5\xa4\x9a\xe7\xbb\x93\xe6\x9e\x9c\x07\x00\x00\x00\
+\x00\x16\x00,\x00 \x00r\x00o\x00m\x00a\x00n\
+\x00i\x00z\x00e\x00d\x08\x00\x00\x00\x00\x06\x00\x00\
+\x00\x0c\xe3\x80\x81\xe7\xbd\x97\xe9\xa9\xac\xe9\x9f\xb3\x07\x00\
+\x00\x00\x0cSearchWidget\x01\
+\x03\x00\x00\x00\x1a\x00,\x00 \x00t\x00r\x00a\x00\
+n\x00s\x00l\x00a\x00t\x00i\x00o\x00n\x08\
+\x00\x00\x00\x00\x06\x00\x00\x00\x09\xe3\x80\x81\xe8\xaf\x91\xe6\
+\x96\x87\x07\x00\x00\x00\x0cSearchWid\
+get\x01\x03\x00\x00\x00\x10\x00U\x00p\x00l\x00\
+o\x00a\x00d\x00e\x00r\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x09\xe4\xb8\x8a\xe4\xbc\xa0\xe8\x80\x85\x07\x00\x00\x00\
\x0cSearchWidget\x01\x03\x00\
-\x00\x00\x14\x00P\x00l\x00a\x00i\x00n\x00 \x00\
-T\x00e\x00x\x00t\x08\x00\x00\x00\x00\x06\x00\x00\x00\
-\x09\xe7\xba\xaf\xe6\x96\x87\xe6\x9c\xac\x07\x00\x00\x00\x0cS\
-earchWidget\x01\x03\x00\x00\x00\
-\x0c\x00A\x00r\x00t\x00i\x00s\x00t\x08\x00\x00\
-\x00\x00\x06\x00\x00\x00\x09\xe8\x89\xba\xe6\x9c\xaf\xe5\xae\xb6\
+\x00\x00\x0a\x00A\x00l\x00b\x00u\x00m\x08\x00\x00\
+\x00\x00\x06\x00\x00\x00\x06\xe4\xb8\x93\xe8\xbe\x91\x07\x00\x00\
+\x00\x0cSearchWidget\x01\x03\
+\x00\x00\x00L\x00 \x00b\x00u\x00t\x00 \x00s\
+\x00a\x00v\x00i\x00n\x00g\x00 \x00t\x00h\
+\x00e\x00 \x00l\x00y\x00r\x00i\x00c\x00s\
+\x00 \x00f\x00a\x00i\x00l\x00e\x00d\x00,\
+\x00 \x00r\x00e\x00a\x00s\x00o\x00n\x00:\
+\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1d\xe4\xbd\x86\xe4\xbf\x9d\
+\xe5\xad\x98\xe6\xad\x8c\xe8\xaf\x8d\xe5\xa4\xb1\xe8\xb4\xa5,\
+\xe5\x8e\x9f\xe5\x9b\xa0:\x07\x00\x00\x00\x0cSear\
+chWidget\x01\x03\x00\x00\x00`\x00 \
+\x00b\x00u\x00t\x00 \x00t\x00h\x00e\x00 \
+\x00s\x00o\x00n\x00g\x00 \x00i\x00s\x00 \
+\x00p\x00u\x00r\x00e\x00 \x00m\x00u\x00s\
+\x00i\x00c\x00 \x00a\x00n\x00d\x00 \x00h\
+\x00a\x00s\x00 \x00b\x00e\x00e\x00n\x00 \
+\x00s\x00k\x00i\x00p\x00p\x00e\x00d\x08\x00\
+\x00\x00\x00\x06\x00\x00\x00\x1f\xe4\xbd\x86\xe6\xad\x8c\xe6\x9b\
+\xb2\xe4\xb8\xba\xe7\xba\xaf\xe9\x9f\xb3\xe4\xb9\x90,\xe5\xb7\
+\xb2\xe8\xb7\xb3\xe8\xbf\x87\x07\x00\x00\x00\x0cSear\
+chWidget\x01\x03\x00\x00\x00\x0a\x00c\
+\x00l\x00o\x00s\x00e\x08\x00\x00\x00\x00\x06\x00\x00\
+\x00\x06\xe5\x85\xb3\xe9\x97\xad\x07\x00\x00\x00\x0cSea\
+rchWidget\x01\x03\x00\x00\x00\x0a\x00\
+S\x00c\x00o\x00r\x00e\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x06\xe5\x88\x86\xe6\x95\xb0\x07\x00\x00\x00\x0cSe\
+archWidget\x01\x03\x00\x00\x00\x1a\
+\x00C\x00r\x00e\x00a\x00t\x00i\x00o\x00n\
+\x00 \x00t\x00i\x00m\x00e\x08\x00\x00\x00\x00\x06\
+\x00\x00\x00\x0c\xe5\x88\x9b\xe5\xbb\xba\xe6\x97\xb6\xe9\x97\xb4\
\x07\x00\x00\x00\x0cSearchWidge\
-t\x01\x03\x00\x00\x00(\x00G\x00e\x00t\x00 \x00\
-l\x00y\x00r\x00i\x00c\x00s\x00 \x00c\x00\
-o\x00m\x00p\x00l\x00e\x00t\x00e\x00d\x08\
-\x00\x00\x00\x00\x06\x00\x00\x00\x12\xe8\x8e\xb7\xe5\x8f\x96\xe6\
-\xad\x8c\xe8\xaf\x8d\xe5\xae\x8c\xe6\x88\x90\x07\x00\x00\x00\x0c\
-SearchWidget\x01\x03\x00\x00\
-\x008\x00G\x00e\x00t\x00t\x00i\x00n\x00g\
-\x00 \x00p\x00r\x00e\x00v\x00i\x00e\x00w\
+t\x01\x03\x00\x00\x00\x0e\x00C\x00r\x00e\x00a\x00\
+t\x00o\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00\x09\xe5\
+\x88\x9b\xe5\xbb\xba\xe8\x80\x85\x07\x00\x00\x00\x0cSea\
+rchWidget\x01\x03\x00\x00\x00\x14\x00\
+l\x00o\x00a\x00d\x00i\x00n\x00g\x00.\x00\
+.\x00.\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe5\x8a\xa0\
+\xe8\xbd\xbd\xe4\xb8\xad...\x07\x00\x00\x00\x0cSe\
+archWidget\x01\x03\x00\x00\x00\x10\
+\x00o\x00r\x00i\x00g\x00i\x00n\x00a\x00l\
+\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe5\x8e\x9f\xe6\x96\x87\
+\x07\x00\x00\x00\x0cSearchWidge\
+t\x01\x03\x00\x00\x00\x18\x00R\x00e\x00l\x00e\x00\
+a\x00s\x00e\x00 \x00d\x00a\x00t\x00e\x08\
+\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe5\x8f\x91\xe8\xa1\x8c\xe6\
+\x97\xa5\xe6\x9c\x9f\x07\x00\x00\x00\x0cSearch\
+Widget\x01\x03\x00\x00\x00\x0c\x00C\x00a\
+\x00n\x00c\x00e\x00l\x08\x00\x00\x00\x00\x06\x00\x00\
+\x00\x06\xe5\x8f\x96\xe6\xb6\x88\x07\x00\x00\x00\x0cSea\
+rchWidget\x01\x03\x00\x00\x00\x1a\x00\
+P\x00r\x00o\x00c\x00e\x00s\x00s\x00i\x00\
+n\x00g\x00.\x00.\x00.\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x0c\xe5\xa4\x84\xe7\x90\x86\xe4\xb8\xad...\x07\
+\x00\x00\x00\x0cSearchWidget\
+\x01\x03\x00\x00\x00\x08\x00I\x00n\x00f\x00o\x08\x00\
+\x00\x00\x00\x06\x00\x00\x00\x06\xe6\x8f\x90\xe7\xa4\xba\x07\x00\
+\x00\x00\x0cSearchWidget\x01\
+\x03\x00\x00\x00\x0c\x00S\x00e\x00a\x00r\x00c\x00\
+h\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe6\x90\x9c\xe7\xb4\
+\xa2\x07\x00\x00\x00\x0cSearchWidg\
+et\x01\x03\x00\x00\x00\x18\x00S\x00e\x00a\x00r\
+\x00c\x00h\x00 \x00e\x00r\x00r\x00o\x00r\
+\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe6\x90\x9c\xe7\xb4\xa2\
+\xe9\x94\x99\xe8\xaf\xaf\x07\x00\x00\x00\x0cSearc\
+hWidget\x01\x03\x00\x00\x00\x10\x00D\x00\
+u\x00r\x00a\x00t\x00i\x00o\x00n\x08\x00\x00\
+\x00\x00\x06\x00\x00\x00\x06\xe6\x97\xb6\xe9\x95\xbf\x07\x00\x00\
+\x00\x0cSearchWidget\x01\x03\
+\x00\x00\x008\x00S\x00e\x00a\x00r\x00c\x00h\
\x00 \x00l\x00y\x00r\x00i\x00c\x00s\x00 \
-\x00e\x00r\x00r\x00o\x00r\x08\x00\x00\x00\x00\x06\
-\x00\x00\x00\x18\xe8\x8e\xb7\xe5\x8f\x96\xe9\xa2\x84\xe8\xa7\x88\
-\xe6\xad\x8c\xe8\xaf\x8d\xe9\x94\x99\xe8\xaf\xaf\x07\x00\x00\x00\
+\x00f\x00o\x00r\x00 \x00p\x00u\x00r\x00e\
+\x00 \x00m\x00u\x00s\x00i\x00c\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00\x1e\xe6\x98\xaf\xe5\x90\xa6\xe4\xb8\xba\xe7\
+\xba\xaf\xe9\x9f\xb3\xe4\xb9\x90\xe6\x90\x9c\xe7\xb4\xa2\xe6\xad\
+\x8c\xe8\xaf\x8d\x07\x00\x00\x00\x0cSearchW\
+idget\x01\x03\x00\x00\x00\x12\x00s\x00o\x00\
+n\x00g\x00 \x00l\x00i\x00s\x00t\x08\x00\x00\
+\x00\x00\x06\x00\x00\x00\x06\xe6\xad\x8c\xe5\x8d\x95\x07\x00\x00\
+\x00\x0cSearchWidget\x01\x03\
+\x00\x00\x00\x08\x00S\x00o\x00n\x00g\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00\x06\xe6\xad\x8c\xe6\x9b\xb2\x07\x00\x00\x00\
\x0cSearchWidget\x01\x03\x00\
-\x00\x00B\x00P\x00l\x00e\x00a\x00s\x00e\x00\
- \x00e\x00n\x00t\x00e\x00r\x00 \x00y\x00\
-o\x00u\x00r\x00 \x00s\x00e\x00a\x00r\x00\
-c\x00h\x00 \x00k\x00e\x00y\x00w\x00o\x00\
-r\x00d\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x18\xe8\
-\xaf\xb7\xe8\xbe\x93\xe5\x85\xa5\xe6\x90\x9c\xe7\xb4\xa2\xe5\x85\
-\xb3\xe9\x94\xae\xe5\xad\x97\x07\x00\x00\x00\x0cSear\
-chWidget\x01\x03\x00\x00\x00\x10\x00v\
-\x00e\x00r\x00b\x00a\x00t\x00i\x00m\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x06\xe9\x80\x90\xe5\xad\x97\x07\x00\
-\x00\x00\x0cSearchWidget\x01\
-\x03\x00\x00\x00\x18\x00l\x00i\x00n\x00e\x00 \x00\
-b\x00y\x00 \x00l\x00i\x00n\x00e\x08\x00\x00\
-\x00\x00\x06\x00\x00\x00\x06\xe9\x80\x90\xe8\xa1\x8c\x07\x00\x00\
+\x00\x00\x14\x00S\x00o\x00n\x00g\x00 \x00c\x00\
+o\x00u\x00n\x00t\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+\x0c\xe6\xad\x8c\xe6\x9b\xb2\xe6\x95\xb0\xe9\x87\x8f\x07\x00\x00\
+\x00\x0cSearchWidget\x01\x03\
+\x00\x00\x00,\x00F\x00a\x00i\x00l\x00e\x00d\
+\x00 \x00t\x00o\x00 \x00s\x00a\x00v\x00e\
+\x00 \x00l\x00y\x00r\x00i\x00c\x00s\x00:\
+\x08\x00\x00\x00\x00\x06\x00\x00\x00\x15\xe6\xad\x8c\xe8\xaf\x8d\
+\xe4\xbf\x9d\xe5\xad\x98\xe5\xa4\xb1\xe8\xb4\xa5\xef\xbc\x9a\x07\
+\x00\x00\x00\x0cSearchWidget\
+\x01\x03\x00\x00\x002\x00L\x00y\x00r\x00i\x00c\
+\x00s\x00 \x00s\x00a\x00v\x00e\x00d\x00 \
+\x00s\x00u\x00c\x00c\x00e\x00s\x00s\x00f\
+\x00u\x00l\x00l\x00y\x08\x00\x00\x00\x00\x06\x00\x00\
+\x00\x12\xe6\xad\x8c\xe8\xaf\x8d\xe4\xbf\x9d\xe5\xad\x98\xe6\x88\
+\x90\xe5\x8a\x9f\x07\x00\x00\x00\x0cSearchW\
+idget\x01\x03\x00\x00\x00.\x00L\x00y\x00\
+r\x00i\x00c\x00s\x00 \x00c\x00o\x00n\x00\
+t\x00e\x00n\x00t\x00 \x00i\x00s\x00 \x00\
+e\x00m\x00p\x00t\x00y\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x12\xe6\xad\x8c\xe8\xaf\x8d\xe5\x86\x85\xe5\xae\xb9\xe4\
+\xb8\xba\xe7\xa9\xba\x07\x00\x00\x00\x0cSearch\
+Widget\x01\x03\x00\x00\x00\x18\x00s\x00e\
+\x00a\x00r\x00c\x00h\x00i\x00n\x00g\x00.\
+\x00.\x00.\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0f\xe6\xad\
+\xa3\xe5\x9c\xa8\xe6\x90\x9c\xe7\xb4\xa2...\x07\x00\x00\
\x00\x0cSearchWidget\x01\x03\
-\x00\x00\x00\x0a\x00e\x00r\x00r\x00o\x00r\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x06\xe9\x94\x99\xe8\xaf\xaf\x07\x00\
+\x00\x00\x00 \x00L\x00y\x00r\x00i\x00c\x00s\
+\x00 \x00n\x00o\x00t\x00 \x00f\x00o\x00u\
+\x00n\x00d\x08\x00\x00\x00\x00\x06\x00\x00\x00\x12\xe6\xb2\
+\xa1\xe6\x9c\x89\xe6\x89\xbe\xe5\x88\xb0\xe6\xad\x8c\xe8\xaf\x8d\
+\x07\x00\x00\x00\x0cSearchWidge\
+t\x01\x03\x00\x00\x00\x1e\x00n\x00o\x00 \x00m\x00\
+o\x00r\x00e\x00 \x00r\x00e\x00s\x00u\x00\
+l\x00t\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x12\xe6\
+\xb2\xa1\xe6\x9c\x89\xe6\x9b\xb4\xe5\xa4\x9a\xe7\xbb\x93\xe6\x9e\
+\x9c\x07\x00\x00\x00\x0cSearchWidg\
+et\x01\x03\x00\x00\x00\x14\x00P\x00l\x00a\x00i\
+\x00n\x00 \x00T\x00e\x00x\x00t\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00\x09\xe7\xba\xaf\xe6\x96\x87\xe6\x9c\xac\x07\
+\x00\x00\x00\x0cSearchWidget\
+\x01\x03\x00\x00\x00\x0c\x00A\x00r\x00t\x00i\x00s\
+\x00t\x08\x00\x00\x00\x00\x06\x00\x00\x00\x09\xe8\x89\xba\xe6\
+\x9c\xaf\xe5\xae\xb6\x07\x00\x00\x00\x0cSearch\
+Widget\x01\x03\x00\x00\x00P\x00O\x00b\
+\x00t\x00a\x00i\x00n\x00i\x00n\x00g\x00 \
+\x00t\x00h\x00e\x00 \x00l\x00y\x00r\x00i\
+\x00c\x00s\x00 \x00o\x00f\x00 \x00{\x000\
+\x00}\x00 \x00s\x00u\x00c\x00c\x00e\x00s\
+\x00s\x00f\x00u\x00l\x00l\x00y\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00\x17\xe8\x8e\xb7\xe5\x8f\x96 {0}\
+ \xe6\xad\x8c\xe8\xaf\x8d\xe6\x88\x90\xe5\x8a\x9f\x07\x00\x00\
+\x00\x0cSearchWidget\x01\x03\
+\x00\x00\x00(\x00G\x00e\x00t\x00 \x00l\x00y\
+\x00r\x00i\x00c\x00s\x00 \x00c\x00o\x00m\
+\x00p\x00l\x00e\x00t\x00e\x00d\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00\x12\xe8\x8e\xb7\xe5\x8f\x96\xe6\xad\x8c\xe8\
+\xaf\x8d\xe5\xae\x8c\xe6\x88\x90\x07\x00\x00\x00\x0cSea\
+rchWidget\x01\x03\x00\x00\x008\x00\
+G\x00e\x00t\x00t\x00i\x00n\x00g\x00 \x00\
+p\x00r\x00e\x00v\x00i\x00e\x00w\x00 \x00\
+l\x00y\x00r\x00i\x00c\x00s\x00 \x00e\x00\
+r\x00r\x00o\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+\x18\xe8\x8e\xb7\xe5\x8f\x96\xe9\xa2\x84\xe8\xa7\x88\xe6\xad\x8c\
+\xe8\xaf\x8d\xe9\x94\x99\xe8\xaf\xaf\x07\x00\x00\x00\x0cSe\
+archWidget\x01\x03\x00\x00\x00\x0e\
+\x00W\x00a\x00r\x00n\x00i\x00n\x00g\x08\x00\
+\x00\x00\x00\x06\x00\x00\x00\x06\xe8\xad\xa6\xe5\x91\x8a\x07\x00\
\x00\x00\x0cSearchWidget\x01\
-\x03\x00\x00\x00\x10\x00o\x00r\x00i\x00g\x00i\x00\
-n\x00a\x00l\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe5\
-\x8e\x9f\xe6\x96\x87\x07\x00\x00\x00\x0dSettin\
-gWidget\x01\x03\x00\x00\x00\x12\x00r\x00\
-o\x00m\x00a\x00n\x00i\x00z\x00e\x00d\x08\
-\x00\x00\x00\x00\x06\x00\x00\x00\x09\xe7\xbd\x97\xe9\xa9\xac\xe9\
-\x9f\xb3\x07\x00\x00\x00\x0dSettingWi\
-dget\x01\x03\x00\x00\x00\x16\x00t\x00r\x00a\
-\x00n\x00s\x00l\x00a\x00t\x00i\x00o\x00n\
-\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\xaf\x91\xe6\x96\x87\
-\x07\x00\x00\x00\x0dSettingWidg\
-et\x01\x03\x00\x00\x000\x00S\x00e\x00l\x00e\
-\x00c\x00t\x00 \x00d\x00e\x00f\x00a\x00u\
-\x00l\x00t\x00 \x00s\x00a\x00v\x00e\x00 \
-\x00p\x00a\x00t\x00h\x08\x00\x00\x00\x00\x06\x00\x00\
-\x00\x18\xe9\x80\x89\xe6\x8b\xa9\xe9\xbb\x98\xe8\xae\xa4\xe4\xbf\
-\x9d\xe5\xad\x98\xe8\xb7\xaf\xe5\xbe\x84\x07\x00\x00\x00\x0dS\
-ettingWidget\x01\x03\x00\x00\
-\x02\xd0\x00<\x00h\x00t\x00m\x00l\x00>\x00<\
-\x00h\x00e\x00a\x00d\x00/\x00>\x00<\x00b\
-\x00o\x00d\x00y\x00>\x00<\x00p\x00 \x00a\
-\x00l\x00i\x00g\x00n\x00=\x00\x22\x00c\x00e\
-\x00n\x00t\x00e\x00r\x00\x22\x00>\x00<\x00i\
-\x00m\x00g\x00 \x00s\x00r\x00c\x00=\x00\x22\
-\x00:\x00/\x00L\x00D\x00D\x00C\x00/\x00i\
-\x00m\x00g\x00/\x00i\x00c\x00o\x00n\x00/\
-\x00l\x00o\x00g\x00o\x00.\x00p\x00n\x00g\
-\x00\x22\x00 \x00w\x00i\x00d\x00t\x00h\x00=\
-\x00\x22\x005\x000\x00\x22\x00 \x00h\x00e\x00i\
-\x00g\x00h\x00t\x00=\x00\x22\x005\x000\x00\x22\
+\x03\x00\x00\x00|\x00P\x00l\x00e\x00a\x00s\x00\
+e\x00 \x00d\x00o\x00w\x00n\x00l\x00o\x00\
+a\x00d\x00,\x00 \x00p\x00r\x00e\x00v\x00\
+i\x00e\x00w\x00 \x00l\x00y\x00r\x00i\x00\
+c\x00s\x00 \x00a\x00n\x00d\x00 \x00s\x00\
+e\x00l\x00e\x00c\x00t\x00 \x00t\x00h\x00\
+e\x00 \x00s\x00a\x00v\x00e\x00 \x00p\x00\
+a\x00t\x00h\x00 \x00f\x00i\x00r\x00s\x00\
+t\x08\x00\x00\x00\x00\x06\x00\x00\x000\xe8\xaf\xb7\xe5\x85\
+\x88\xe4\xb8\x8b\xe8\xbd\xbd\xe5\xb9\xb6\xe9\xa2\x84\xe8\xa7\x88\
+\xe6\xad\x8c\xe8\xaf\x8d\xe5\xb9\xb6\xe9\x80\x89\xe6\x8b\xa9\xe4\
+\xbf\x9d\xe5\xad\x98\xe8\xb7\xaf\xe5\xbe\x84\x07\x00\x00\x00\x0c\
+SearchWidget\x01\x03\x00\x00\
+\x00P\x00P\x00l\x00e\x00a\x00s\x00e\x00 \
+\x00s\x00e\x00l\x00e\x00c\x00t\x00 \x00a\
+\x00n\x00 \x00a\x00l\x00b\x00u\x00m\x00 \
+\x00o\x00r\x00 \x00p\x00l\x00a\x00y\x00l\
+\x00i\x00s\x00t\x00 \x00f\x00i\x00r\x00s\
+\x00t\x08\x00\x00\x00\x00\x06\x00\x00\x00!\xe8\xaf\xb7\xe5\
+\x85\x88\xe9\x80\x89\xe6\x8b\xa9\xe4\xb8\x80\xe4\xb8\xaa\xe4\xb8\
+\x93\xe8\xbe\x91\xe6\x88\x96\xe6\xad\x8c\xe5\x8d\x95\x07\x00\x00\
+\x00\x0cSearchWidget\x01\x03\
+\x00\x00\x00B\x00P\x00l\x00e\x00a\x00s\x00e\
+\x00 \x00e\x00n\x00t\x00e\x00r\x00 \x00y\
+\x00o\x00u\x00r\x00 \x00s\x00e\x00a\x00r\
+\x00c\x00h\x00 \x00k\x00e\x00y\x00w\x00o\
+\x00r\x00d\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x18\
+\xe8\xaf\xb7\xe8\xbe\x93\xe5\x85\xa5\xe6\x90\x9c\xe7\xb4\xa2\xe5\
+\x85\xb3\xe9\x94\xae\xe5\xad\x97\x07\x00\x00\x00\x0cSea\
+rchWidget\x01\x03\x00\x00\x00 \x00\
+S\x00e\x00l\x00e\x00c\x00t\x00 \x00s\x00\
+a\x00v\x00e\x00 \x00p\x00a\x00t\x00h\x08\
+\x00\x00\x00\x00\x06\x00\x00\x00\x12\xe9\x80\x89\xe6\x8b\xa9\xe4\
+\xbf\x9d\xe5\xad\x98\xe8\xb7\xaf\xe5\xbe\x84\x07\x00\x00\x00\x0c\
+SearchWidget\x01\x03\x00\x00\
+\x00\x10\x00v\x00e\x00r\x00b\x00a\x00t\x00i\
+\x00m\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe9\x80\x90\xe5\
+\xad\x97\x07\x00\x00\x00\x0cSearchWid\
+get\x01\x03\x00\x00\x00\x18\x00l\x00i\x00n\x00\
+e\x00 \x00b\x00y\x00 \x00l\x00i\x00n\x00\
+e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe9\x80\x90\xe8\xa1\
+\x8c\x07\x00\x00\x00\x0cSearchWidg\
+et\x01\x03\x00\x00\x00\x0a\x00e\x00r\x00r\x00o\
+\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe9\x94\x99\xe8\
+\xaf\xaf\x07\x00\x00\x00\x0cSearchWid\
+get\x01\x03\x00\x00\x00\x10\x00o\x00r\x00i\x00\
+g\x00i\x00n\x00a\x00l\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x06\xe5\x8e\x9f\xe6\x96\x87\x07\x00\x00\x00\x0dSe\
+ttingWidget\x01\x03\x00\x00\x00\
+\x12\x00r\x00o\x00m\x00a\x00n\x00i\x00z\x00\
+e\x00d\x08\x00\x00\x00\x00\x06\x00\x00\x00\x09\xe7\xbd\x97\
+\xe9\xa9\xac\xe9\x9f\xb3\x07\x00\x00\x00\x0dSetti\
+ngWidget\x01\x03\x00\x00\x00\x16\x00t\
+\x00r\x00a\x00n\x00s\x00l\x00a\x00t\x00i\
+\x00o\x00n\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\xaf\
+\x91\xe6\x96\x87\x07\x00\x00\x00\x0dSetting\
+Widget\x01\x03\x00\x00\x000\x00S\x00e\
+\x00l\x00e\x00c\x00t\x00 \x00d\x00e\x00f\
+\x00a\x00u\x00l\x00t\x00 \x00s\x00a\x00v\
+\x00e\x00 \x00p\x00a\x00t\x00h\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00\x18\xe9\x80\x89\xe6\x8b\xa9\xe9\xbb\x98\xe8\
+\xae\xa4\xe4\xbf\x9d\xe5\xad\x98\xe8\xb7\xaf\xe5\xbe\x84\x07\x00\
+\x00\x00\x0dSettingWidget\
+\x01\x03\x00\x00\x02\xd0\x00<\x00h\x00t\x00m\x00l\
+\x00>\x00<\x00h\x00e\x00a\x00d\x00/\x00>\
+\x00<\x00b\x00o\x00d\x00y\x00>\x00<\x00p\
+\x00 \x00a\x00l\x00i\x00g\x00n\x00=\x00\x22\
+\x00c\x00e\x00n\x00t\x00e\x00r\x00\x22\x00>\
+\x00<\x00i\x00m\x00g\x00 \x00s\x00r\x00c\
+\x00=\x00\x22\x00:\x00/\x00L\x00D\x00D\x00C\
+\x00/\x00i\x00m\x00g\x00/\x00i\x00c\x00o\
+\x00n\x00/\x00l\x00o\x00g\x00o\x00.\x00p\
+\x00n\x00g\x00\x22\x00 \x00w\x00i\x00d\x00t\
+\x00h\x00=\x00\x22\x005\x000\x00\x22\x00 \x00h\
+\x00e\x00i\x00g\x00h\x00t\x00=\x00\x22\x005\
+\x000\x00\x22\x00 \x00s\x00t\x00y\x00l\x00e\
+\x00=\x00\x22\x00v\x00e\x00r\x00t\x00i\x00c\
+\x00a\x00l\x00-\x00a\x00l\x00i\x00g\x00n\
+\x00:\x00 \x00m\x00i\x00d\x00d\x00l\x00e\
+\x00;\x00\x22\x00/\x00>\x00<\x00s\x00p\x00a\
+\x00n\x00 \x00s\x00t\x00y\x00l\x00e\x00=\
+\x00\x22\x00 \x00f\x00o\x00n\x00t\x00-\x00s\
+\x00i\x00z\x00e\x00:\x003\x008\x00p\x00t\
+\x00;\x00\x22\x00>\x00L\x00D\x00D\x00C\x00<\
+\x00/\x00s\x00p\x00a\x00n\x00>\x00<\x00/\
+\x00p\x00>\x00<\x00p\x00 \x00a\x00l\x00i\
+\x00g\x00n\x00=\x00\x22\x00r\x00i\x00g\x00h\
+\x00t\x00\x22\x00>\x00<\x00s\x00p\x00a\x00n\
\x00 \x00s\x00t\x00y\x00l\x00e\x00=\x00\x22\
-\x00v\x00e\x00r\x00t\x00i\x00c\x00a\x00l\
-\x00-\x00a\x00l\x00i\x00g\x00n\x00:\x00 \
-\x00m\x00i\x00d\x00d\x00l\x00e\x00;\x00\x22\
-\x00/\x00>\x00<\x00s\x00p\x00a\x00n\x00 \
-\x00s\x00t\x00y\x00l\x00e\x00=\x00\x22\x00 \
-\x00f\x00o\x00n\x00t\x00-\x00s\x00i\x00z\
-\x00e\x00:\x003\x008\x00p\x00t\x00;\x00\x22\
-\x00>\x00L\x00D\x00D\x00C\x00<\x00/\x00s\
-\x00p\x00a\x00n\x00>\x00<\x00/\x00p\x00>\
-\x00<\x00p\x00 \x00a\x00l\x00i\x00g\x00n\
-\x00=\x00\x22\x00r\x00i\x00g\x00h\x00t\x00\x22\
-\x00>\x00<\x00s\x00p\x00a\x00n\x00 \x00s\
-\x00t\x00y\x00l\x00e\x00=\x00\x22\x00 \x00f\
-\x00o\x00n\x00t\x00-\x00s\x00i\x00z\x00e\
-\x00:\x006\x00p\x00t\x00;\x00\x22\x00>\x00\xa9\
-\x00 \x00{\x00y\x00e\x00a\x00r\x00}\x00 \
-l\x89\x9e\xd80n\x91\xd1\x00<\x00/\x00s\x00p\
-\x00a\x00n\x00>\x00<\x00/\x00p\x00>\x00<\
-\x00p\x00 \x00a\x00l\x00i\x00g\x00n\x00=\
-\x00\x22\x00c\x00e\x00n\x00t\x00e\x00r\x00\x22\
-\x00>\x00<\x00s\x00p\x00a\x00n\x00 \x00s\
-\x00t\x00y\x00l\x00e\x00=\x00\x22\x00 \x00f\
-\x00o\x00n\x00t\x00-\x00s\x00i\x00z\x00e\
-\x00:\x001\x002\x00p\x00t\x00;\x00\x22\x00>\
-\x00S\x00i\x00m\x00p\x00l\x00e\x00 \x00a\
-\x00n\x00d\x00 \x00a\x00c\x00c\x00u\x00r\
-\x00a\x00t\x00e\x00 \x00l\x00y\x00r\x00i\
-\x00c\x00s\x00 \x00d\x00o\x00w\x00n\x00l\
-\x00o\x00a\x00d\x00 \x00t\x00o\x00o\x00l\
-\x00<\x00/\x00s\x00p\x00a\x00n\x00>\x00<\
-\x00/\x00p\x00>\x00<\x00/\x00b\x00o\x00d\
-\x00y\x00>\x00<\x00/\x00h\x00t\x00m\x00l\
-\x00>\x08\x00\x00\x00\x00\x06\x00\x00\x01j<\
+\x00 \x00f\x00o\x00n\x00t\x00-\x00s\x00i\
+\x00z\x00e\x00:\x006\x00p\x00t\x00;\x00\x22\
+\x00>\x00\xa9\x00 \x00{\x00y\x00e\x00a\x00r\
+\x00}\x00 l\x89\x9e\xd80n\x91\xd1\x00<\x00/\
+\x00s\x00p\x00a\x00n\x00>\x00<\x00/\x00p\
+\x00>\x00<\x00p\x00 \x00a\x00l\x00i\x00g\
+\x00n\x00=\x00\x22\x00c\x00e\x00n\x00t\x00e\
+\x00r\x00\x22\x00>\x00<\x00s\x00p\x00a\x00n\
+\x00 \x00s\x00t\x00y\x00l\x00e\x00=\x00\x22\
+\x00 \x00f\x00o\x00n\x00t\x00-\x00s\x00i\
+\x00z\x00e\x00:\x001\x002\x00p\x00t\x00;\
+\x00\x22\x00>\x00S\x00i\x00m\x00p\x00l\x00e\
+\x00 \x00a\x00n\x00d\x00 \x00a\x00c\x00c\
+\x00u\x00r\x00a\x00t\x00e\x00 \x00l\x00y\
+\x00r\x00i\x00c\x00s\x00 \x00d\x00o\x00w\
+\x00n\x00l\x00o\x00a\x00d\x00 \x00t\x00o\
+\x00o\x00l\x00<\x00/\x00s\x00p\x00a\x00n\
+\x00>\x00<\x00/\x00p\x00>\x00<\x00/\x00b\
+\x00o\x00d\x00y\x00>\x00<\x00/\x00h\x00t\
+\x00m\x00l\x00>\x08\x00\x00\x00\x00\x06\x00\x00\x01j\
+\
+LDDC
<\
+p align=\x22right\x22>\
+\xc2\xa9\
+ {year} \xe6\xb2\x89\xe9\xbb\x98\xe3\x81\
+\xae\xe9\x87\x91
<\
p align=\x22center\x22\
->LDDC\
-\xc2\xa9 {ye\
-ar} \xe6\xb2\x89\xe9\xbb\x98\xe3\x81\xae\xe9\x87\x91\
-
\xe7\xae\x80\xe5\
-\x8d\x95\xe7\x9a\x84\xe7\xb2\xbe\xe5\x87\x86\xe6\xad\x8c\xe8\xaf\
-\x8d\xe4\xb8\x8b\xe8\xbd\xbd\xe5\xb7\xa5\xe5\x85\xb7
<\
-/html>\x07\x00\x00\x00\x05about\
-\x01\x03\xff\xff\xff\xff\x08\x00\x00\x00\x00\x06\x00\x00\x00\x04\
-Form\x07\x00\x00\x00\x05about\x01\x03\
-\x00\x00\x00\x16\x00G\x00i\x00t\x00H\x00u\x00b\
-\x00 \x00r\x00e\x00p\x00o\x08\x00\x00\x00\x00\x06\
-\x00\x00\x00\x0cGitHub\xe4\xbb\x93\xe5\xba\x93\
-\x07\x00\x00\x00\x05about\x01\x03\x00\x00\x00\x0a\
-\x00A\x00b\x00o\x00u\x00t\x08\x00\x00\x00\x00\x06\
-\x00\x00\x00\x06\xe5\x85\xb3\xe4\xba\x8e\x07\x00\x00\x00\x05a\
-bout\x01\x03\x00\x00\x00\x1a\x00c\x00h\x00e\
-\x00c\x00k\x00 \x00u\x00p\x00d\x00a\x00t\
-\x00e\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe6\xa3\
-\x80\xe6\x9f\xa5\xe6\x9b\xb4\xe6\x96\xb0\x07\x00\x00\x00\x05a\
-bout\x01\x03\x00\x00\x00\x14\x00V\x00e\x00r\
-\x00s\x00i\x00o\x00n\x00 \x00|\x00 \x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x09\xe7\x89\x88\xe6\x9c\xac |\
- \x07\x00\x00\x00\x05about\x01\x03\x00\x00\x00\
-\x10\x00f\x00e\x00e\x00d\x00b\x00a\x00c\x00\
-k\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe9\x97\xae\xe9\xa2\
-\x98\xe5\x8f\x8d\xe9\xa6\x88\x07\x00\x00\x00\x05abou\
-t\x01\x03\x00\x00\x00\x06\x00A\x00S\x00S\x08\x00\x00\
-\x00\x00\x06\x00\x00\x00\x03ASS\x07\x00\x00\x00\x10e\
-ncrypted_lyrics\x01\
-\x03\xff\xff\xff\xff\x08\x00\x00\x00\x00\x06\x00\x00\x00\x04F\
-orm\x07\x00\x00\x00\x10encrypte\
-d_lyrics\x01\x03\x00\x00\x00\x1c\x00L\
-\x00R\x00C\x00 \x00(\x00v\x00e\x00r\x00b\
-\x00a\x00t\x00i\x00m\x00)\x08\x00\x00\x00\x00\x06\
-\x00\x00\x00\x0bLRC(\xe9\x80\x90\xe5\xad\x97)\x07\
-\x00\x00\x00\x10encrypted_ly\
-rics\x01\x03\x00\x00\x00$\x00L\x00R\x00C\
-\x00 \x00(\x00l\x00i\x00n\x00e\x00 \x00b\
-\x00y\x00 \x00l\x00i\x00n\x00e\x00)\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x0bLRC(\xe9\x80\x90\xe8\
-\xa1\x8c)\x07\x00\x00\x00\x10encrypte\
-d_lyrics\x01\x03\x00\x00\x00\x06\x00S\
-\x00R\x00T\x08\x00\x00\x00\x00\x06\x00\x00\x00\x03SR\
-T\x07\x00\x00\x00\x10encrypted_\
-lyrics\x01\x03\x00\x00\x00\x16\x00s\x00a\
-\x00v\x00e\x00 \x00l\x00y\x00r\x00i\x00c\
-\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe4\xbf\x9d\xe5\
-\xad\x98\xe6\xad\x8c\xe8\xaf\x8d\x07\x00\x00\x00\x10enc\
-rypted_lyrics\x01\x03\x00\
-\x00\x00\x10\x00o\x00r\x00i\x00g\x00i\x00n\x00\
-a\x00l\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe5\x8e\x9f\
-\xe6\x96\x87\x07\x00\x00\x00\x10encrypte\
-d_lyrics\x01\x03\x00\x00\x00*\x00O\
-\x00p\x00e\x00n\x00 \x00e\x00n\x00c\x00r\
-\x00y\x00p\x00t\x00e\x00d\x00 \x00l\x00y\
-\x00r\x00i\x00c\x00s\x08\x00\x00\x00\x00\x06\x00\x00\
-\x00\x12\xe6\x89\x93\xe5\xbc\x80\xe5\x8a\xa0\xe5\xaf\x86\xe6\xad\
-\x8c\xe8\xaf\x8d\x07\x00\x00\x00\x10encrypt\
-ed_lyrics\x01\x03\x00\x00\x00,\x00\
-L\x00y\x00r\x00i\x00c\x00 \x00t\x00y\x00\
-p\x00e\x00 \x00(\x00k\x00r\x00c\x00 \x00\
-o\x00n\x00l\x00y\x00)\x00:\x08\x00\x00\x00\x00\
-\x06\x00\x00\x00\x15\xe6\xad\x8c\xe8\xaf\x8d\xe7\xb1\xbb\xe5\x9e\
-\x8b(\xe4\xbb\x85krc):\x07\x00\x00\x00\x10e\
-ncrypted_lyrics\x01\
-\x03\x00\x00\x00\x12\x00r\x00o\x00m\x00a\x00n\x00\
-i\x00z\x00e\x00d\x08\x00\x00\x00\x00\x06\x00\x00\x00\
-\x09\xe7\xbd\x97\xe9\xa9\xac\xe9\x9f\xb3\x07\x00\x00\x00\x10e\
-ncrypted_lyrics\x01\
-\x03\x00\x00\x00\x16\x00t\x00r\x00a\x00n\x00s\x00\
-l\x00a\x00t\x00i\x00o\x00n\x08\x00\x00\x00\x00\
-\x06\x00\x00\x00\x06\xe8\xaf\x91\xe6\x96\x87\x07\x00\x00\x00\x10\
+>\
+\xe7\xae\x80\xe5\x8d\x95\xe7\x9a\x84\xe7\xb2\xbe\xe5\x87\x86\xe6\
+\xad\x8c\xe8\xaf\x8d\xe4\xb8\x8b\xe8\xbd\xbd\xe5\xb7\xa5\xe5\x85\
+\xb7\x07\x00\x00\x00\x05a\
+bout\x01\x03\xff\xff\xff\xff\x08\x00\x00\x00\x00\x06\
+\x00\x00\x00\x04Form\x07\x00\x00\x00\x05abo\
+ut\x01\x03\x00\x00\x00\x16\x00G\x00i\x00t\x00H\
+\x00u\x00b\x00 \x00r\x00e\x00p\x00o\x08\x00\
+\x00\x00\x00\x06\x00\x00\x00\x0cGitHub\xe4\xbb\
+\x93\xe5\xba\x93\x07\x00\x00\x00\x05about\x01\x03\
+\x00\x00\x00\x0a\x00A\x00b\x00o\x00u\x00t\x08\x00\
+\x00\x00\x00\x06\x00\x00\x00\x06\xe5\x85\xb3\xe4\xba\x8e\x07\x00\
+\x00\x00\x05about\x01\x03\x00\x00\x00\x1a\x00c\
+\x00h\x00e\x00c\x00k\x00 \x00u\x00p\x00d\
+\x00a\x00t\x00e\x00s\x08\x00\x00\x00\x00\x06\x00\x00\
+\x00\x0c\xe6\xa3\x80\xe6\x9f\xa5\xe6\x9b\xb4\xe6\x96\xb0\x07\x00\
+\x00\x00\x05about\x01\x03\x00\x00\x00\x14\x00V\
+\x00e\x00r\x00s\x00i\x00o\x00n\x00 \x00|\
+\x00 \x08\x00\x00\x00\x00\x06\x00\x00\x00\x09\xe7\x89\x88\xe6\
+\x9c\xac | \x07\x00\x00\x00\x05about\x01\
+\x03\x00\x00\x00\x10\x00f\x00e\x00e\x00d\x00b\x00\
+a\x00c\x00k\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe9\
+\x97\xae\xe9\xa2\x98\xe5\x8f\x8d\xe9\xa6\x88\x07\x00\x00\x00\x05\
+about\x01\x03\x00\x00\x00\x06\x00A\x00S\x00\
+S\x08\x00\x00\x00\x00\x06\x00\x00\x00\x03ASS\x07\x00\
+\x00\x00\x10encrypted_lyr\
+ics\x01\x03\xff\xff\xff\xff\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x04Form\x07\x00\x00\x00\x10encr\
+ypted_lyrics\x01\x03\x00\x00\
+\x00\x1c\x00L\x00R\x00C\x00 \x00(\x00v\x00e\
+\x00r\x00b\x00a\x00t\x00i\x00m\x00)\x08\x00\
+\x00\x00\x00\x06\x00\x00\x00\x0bLRC(\xe9\x80\x90\xe5\
+\xad\x97)\x07\x00\x00\x00\x10encrypte\
+d_lyrics\x01\x03\x00\x00\x00$\x00L\
+\x00R\x00C\x00 \x00(\x00l\x00i\x00n\x00e\
+\x00 \x00b\x00y\x00 \x00l\x00i\x00n\x00e\
+\x00)\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0bLRC(\
+\xe9\x80\x90\xe8\xa1\x8c)\x07\x00\x00\x00\x10encr\
+ypted_lyrics\x01\x03\x00\x00\
+\x00\x06\x00S\x00R\x00T\x08\x00\x00\x00\x00\x06\x00\x00\
+\x00\x03SRT\x07\x00\x00\x00\x10encryp\
+ted_lyrics\x01\x03\x00\x00\x00\x16\
+\x00s\x00a\x00v\x00e\x00 \x00l\x00y\x00r\
+\x00i\x00c\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\
+\xe4\xbf\x9d\xe5\xad\x98\xe6\xad\x8c\xe8\xaf\x8d\x07\x00\x00\x00\
+\x10encrypted_lyric\
+s\x01\x03\x00\x00\x00\x0e\x00O\x00f\x00f\x00s\x00\
+e\x00t\x00:\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0a\xe5\
+\x81\x8f\xe7\xa7\xbb\xe9\x87\x8f:\x07\x00\x00\x00\x10en\
+crypted_lyrics\x01\x03\
+\x00\x00\x00\x10\x00o\x00r\x00i\x00g\x00i\x00n\
+\x00a\x00l\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe5\x8e\
+\x9f\xe6\x96\x87\x07\x00\x00\x00\x10encrypt\
+ed_lyrics\x01\x03\x00\x00\x00*\x00\
+O\x00p\x00e\x00n\x00 \x00e\x00n\x00c\x00\
+r\x00y\x00p\x00t\x00e\x00d\x00 \x00l\x00\
+y\x00r\x00i\x00c\x00s\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x12\xe6\x89\x93\xe5\xbc\x80\xe5\x8a\xa0\xe5\xaf\x86\xe6\
+\xad\x8c\xe8\xaf\x8d\x07\x00\x00\x00\x10encryp\
+ted_lyrics\x01\x03\x00\x00\x00,\
+\x00L\x00y\x00r\x00i\x00c\x00 \x00t\x00y\
+\x00p\x00e\x00 \x00(\x00k\x00r\x00c\x00 \
+\x00o\x00n\x00l\x00y\x00)\x00:\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00\x15\xe6\xad\x8c\xe8\xaf\x8d\xe7\xb1\xbb\xe5\
+\x9e\x8b(\xe4\xbb\x85krc):\x07\x00\x00\x00\x10\
encrypted_lyrics\
-\x01\x03\x00\x00\x00\x1c\x00C\x00o\x00n\x00v\x00e\
-\x00r\x00t\x00 \x00f\x00o\x00r\x00m\x00a\
-\x00t\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe8\xbd\xac\xe6\
-\x8d\xa2\xe6\xa0\xbc\xe5\xbc\x8f\x07\x00\x00\x00\x10enc\
-rypted_lyrics\x01\x03\x00\
-\x00\x00\x22\x00C\x00o\x00n\x00v\x00e\x00r\x00\
-t\x00e\x00d\x00 \x00f\x00o\x00r\x00m\x00\
-a\x00t\x00:\x08\x00\x00\x00\x00\x06\x00\x00\x00\x12\xe8\
-\xbd\xac\xe6\x8d\xa2\xe7\x9a\x84\xe6\xa0\xbc\xe5\xbc\x8f\xef\xbc\
-\x9a\x07\x00\x00\x00\x10encrypted_\
-lyrics\x01\x03\x00\x00\x00\x0c\x00C\x00a\
-\x00n\x00c\x00e\x00l\x08\x00\x00\x00\x00\x06\x00\x00\
-\x00\x06\xe5\x8f\x96\xe6\xb6\x88\x07\x00\x00\x00\x0fget\
+\x01\x03\x00\x00\x00\x12\x00r\x00o\x00m\x00a\x00n\
+\x00i\x00z\x00e\x00d\x08\x00\x00\x00\x00\x06\x00\x00\
+\x00\x09\xe7\xbd\x97\xe9\xa9\xac\xe9\x9f\xb3\x07\x00\x00\x00\x10\
+encrypted_lyrics\
+\x01\x03\x00\x00\x00\x16\x00t\x00r\x00a\x00n\x00s\
+\x00l\x00a\x00t\x00i\x00o\x00n\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00\x06\xe8\xaf\x91\xe6\x96\x87\x07\x00\x00\x00\
+\x10encrypted_lyric\
+s\x01\x03\x00\x00\x00\x1c\x00C\x00o\x00n\x00v\x00\
+e\x00r\x00t\x00 \x00f\x00o\x00r\x00m\x00\
+a\x00t\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe8\xbd\xac\
+\xe6\x8d\xa2\xe6\xa0\xbc\xe5\xbc\x8f\x07\x00\x00\x00\x10en\
+crypted_lyrics\x01\x03\
+\x00\x00\x00\x22\x00C\x00o\x00n\x00v\x00e\x00r\
+\x00t\x00e\x00d\x00 \x00f\x00o\x00r\x00m\
+\x00a\x00t\x00:\x08\x00\x00\x00\x00\x06\x00\x00\x00\x12\
+\xe8\xbd\xac\xe6\x8d\xa2\xe7\x9a\x84\xe6\xa0\xbc\xe5\xbc\x8f\xef\
+\xbc\x9a\x07\x00\x00\x00\x10encrypted\
+_lyrics\x01\x03\x00\x00\x00\x0c\x00C\x00\
+a\x00n\x00c\x00e\x00l\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x06\xe5\x8f\x96\xe6\xb6\x88\x07\x00\x00\x00\x0fge\
+t_list_lyrics\x01\x03\x00\
+\x00\x002\x00G\x00e\x00t\x00 \x00a\x00l\x00\
+b\x00u\x00m\x00/\x00s\x00o\x00n\x00g\x00\
+l\x00i\x00s\x00t\x00 \x00l\x00y\x00r\x00\
+i\x00c\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x19\xe8\
+\x8e\xb7\xe5\x8f\x96\xe4\xb8\x93\xe8\xbe\x91/\xe6\xad\x8c\xe5\
+\x8d\x95\xe6\xad\x8c\xe8\xaf\x8d\x07\x00\x00\x00\x0fget\
_list_lyrics\x01\x03\x00\x00\
-\x002\x00G\x00e\x00t\x00 \x00a\x00l\x00b\
-\x00u\x00m\x00/\x00s\x00o\x00n\x00g\x00l\
-\x00i\x00s\x00t\x00 \x00l\x00y\x00r\x00i\
-\x00c\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x19\xe8\x8e\
-\xb7\xe5\x8f\x96\xe4\xb8\x93\xe8\xbe\x91/\xe6\xad\x8c\xe5\x8d\
-\x95\xe6\xad\x8c\xe8\xaf\x8d\x07\x00\x00\x00\x0fget_\
-list_lyrics\x01\x03\x00\x00\x00\
-\x06\x00A\x00S\x00S\x08\x00\x00\x00\x00\x06\x00\x00\x00\
-\x03ASS\x07\x00\x00\x00\x0blocal_m\
-atch\x01\x03\xff\xff\xff\xff\x08\x00\x00\x00\x00\x06\
-\x00\x00\x00\x04Form\x07\x00\x00\x00\x0bloc\
-al_match\x01\x03\x00\x00\x00\x1c\x00L\
-\x00R\x00C\x00 \x00(\x00v\x00e\x00r\x00b\
-\x00a\x00t\x00i\x00m\x00)\x08\x00\x00\x00\x00\x06\
-\x00\x00\x00\x0bLRC(\xe9\x80\x90\xe5\xad\x97)\x07\
-\x00\x00\x00\x0blocal_match\x01\
-\x03\x00\x00\x00$\x00L\x00R\x00C\x00 \x00(\x00\
-l\x00i\x00n\x00e\x00 \x00b\x00y\x00 \x00\
-l\x00i\x00n\x00e\x00)\x08\x00\x00\x00\x00\x06\x00\
-\x00\x00\x0bLRC(\xe9\x80\x90\xe8\xa1\x8c)\x07\x00\
-\x00\x00\x0blocal_match\x01\x03\
-\x00\x00\x00\x10\x00Q\x00Q\x00 \x00M\x00u\x00s\
-\x00i\x00c\x08\x00\x00\x00\x00\x06\x00\x00\x00\x08QQ\
-\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\x00\x00\x0blocal\
-_match\x01\x03\x00\x00\x00\x06\x00S\x00R\
-\x00T\x08\x00\x00\x00\x00\x06\x00\x00\x00\x03SRT\x07\
+\x00\x06\x00A\x00S\x00S\x08\x00\x00\x00\x00\x06\x00\x00\
+\x00\x03ASS\x07\x00\x00\x00\x0blocal_\
+match\x01\x03\xff\xff\xff\xff\x08\x00\x00\x00\x00\
+\x06\x00\x00\x00\x04Form\x07\x00\x00\x00\x0blo\
+cal_match\x01\x03\x00\x00\x00\x1c\x00\
+L\x00R\x00C\x00 \x00(\x00v\x00e\x00r\x00\
+b\x00a\x00t\x00i\x00m\x00)\x08\x00\x00\x00\x00\
+\x06\x00\x00\x00\x0bLRC(\xe9\x80\x90\xe5\xad\x97)\
+\x07\x00\x00\x00\x0blocal_match\
+\x01\x03\x00\x00\x00$\x00L\x00R\x00C\x00 \x00(\
+\x00l\x00i\x00n\x00e\x00 \x00b\x00y\x00 \
+\x00l\x00i\x00n\x00e\x00)\x08\x00\x00\x00\x00\x06\
+\x00\x00\x00\x0bLRC(\xe9\x80\x90\xe8\xa1\x8c)\x07\
\x00\x00\x00\x0blocal_match\x01\
-\x03\x00\x00\x00,\x00S\x00a\x00m\x00e\x00 \x00\
-a\x00s\x00 \x00s\x00o\x00n\x00g\x00 \x00\
-f\x00i\x00l\x00e\x00 \x00n\x00a\x00m\x00\
-e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x18\xe4\xb8\x8e\xe6\xad\
-\x8c\xe6\x9b\xb2\xe6\x96\x87\xe4\xbb\xb6\xe5\x90\x8d\xe7\x9b\xb8\
-\xe5\x90\x8c\x07\x00\x00\x00\x0blocal_ma\
-tch\x01\x03\x00\x00\x004\x00S\x00a\x00m\x00\
-e\x00 \x00f\x00o\x00r\x00m\x00a\x00t\x00\
- \x00a\x00s\x00 \x00i\x00n\x00 \x00s\x00\
-e\x00t\x00t\x00i\x00n\x00g\x00s\x08\x00\x00\
-\x00\x00\x06\x00\x00\x00\x1b\xe4\xb8\x8e\xe8\xae\xbe\xe7\xbd\xae\
-\xe4\xb8\xad\xe7\x9a\x84\xe6\xa0\xbc\xe5\xbc\x8f\xe7\x9b\xb8\xe5\
-\x90\x8c\x07\x00\x00\x00\x0blocal_mat\
-ch\x01\x03\x00\x00\x00@\x00M\x00a\x00t\x00c\
-\x00h\x00 \x00l\x00y\x00r\x00i\x00c\x00s\
-\x00 \x00t\x00o\x00 \x00l\x00o\x00c\x00a\
-\x00l\x00 \x00s\x00o\x00n\x00g\x00 \x00f\
-\x00i\x00l\x00e\x00s\x08\x00\x00\x00\x00\x06\x00\x00\
-\x00!\xe4\xb8\xba\xe6\x9c\xac\xe5\x9c\xb0\xe6\xad\x8c\xe6\x9b\
-\xb2\xe6\x96\x87\xe4\xbb\xb6\xe5\x8c\xb9\xe9\x85\x8d\xe6\xad\x8c\
-\xe8\xaf\x8d\x07\x00\x00\x00\x0blocal_ma\
-tch\x01\x03\x00\x00\x00\x12\x00P\x00r\x00i\x00\
-o\x00r\x00i\x00t\x00y\x00:\x08\x00\x00\x00\x00\
-\x06\x00\x00\x00\x0d\xe4\xbc\x98\xe5\x85\x88\xe9\xa1\xba\xe5\xba\
-\x8f:\x07\x00\x00\x00\x0blocal_mat\
-ch\x01\x03\x00\x00\x00\x08\x00s\x00a\x00v\x00e\
-\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe4\xbf\x9d\xe5\xad\x98\
+\x03\x00\x00\x00\x10\x00Q\x00Q\x00 \x00M\x00u\x00\
+s\x00i\x00c\x08\x00\x00\x00\x00\x06\x00\x00\x00\x08Q\
+Q\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\x00\x00\x0bloca\
+l_match\x01\x03\x00\x00\x00\x06\x00S\x00\
+R\x00T\x08\x00\x00\x00\x00\x06\x00\x00\x00\x03SRT\
\x07\x00\x00\x00\x0blocal_match\
-\x01\x03\x00\x00\x000\x00S\x00a\x00v\x00e\x00 \
-\x00t\x00o\x00 \x00s\x00p\x00e\x00c\x00i\
-\x00f\x00i\x00e\x00d\x00 \x00f\x00o\x00l\
-\x00d\x00e\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00\x18\
-\xe4\xbf\x9d\xe5\xad\x98\xe5\x88\xb0\xe6\x8c\x87\xe5\xae\x9a\xe6\
-\x96\x87\xe4\xbb\xb6\xe5\xa4\xb9\x07\x00\x00\x00\x0bloc\
-al_match\x01\x03\x00\x00\x00&\x00S\
-\x00a\x00v\x00e\x00 \x00t\x00o\x00 \x00s\
-\x00o\x00n\x00g\x00 \x00f\x00o\x00l\x00d\
-\x00e\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00\x18\xe4\xbf\
-\x9d\xe5\xad\x98\xe5\x88\xb0\xe6\xad\x8c\xe6\x9b\xb2\xe6\x96\x87\
-\xe4\xbb\xb6\xe5\xa4\xb9\x07\x00\x00\x00\x0blocal\
-_match\x01\x03\x00\x00\x00J\x00S\x00a\
-\x00v\x00e\x00 \x00t\x00o\x00 \x00m\x00i\
-\x00r\x00r\x00o\x00r\x00 \x00f\x00o\x00l\
-\x00d\x00e\x00r\x00 \x00o\x00f\x00 \x00s\
-\x00o\x00n\x00g\x00s\x00 \x00f\x00o\x00l\
-\x00d\x00e\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00*\
-\xe4\xbf\x9d\xe5\xad\x98\xe5\x88\xb0\xe6\xad\x8c\xe6\x9b\xb2\xe6\
-\x96\x87\xe4\xbb\xb6\xe5\xa4\xb9\xe7\x9a\x84\xe9\x95\x9c\xe5\x83\
-\x8f\xe6\x96\x87\xe4\xbb\xb6\xe5\xa4\xb9\x07\x00\x00\x00\x0bl\
-ocal_match\x01\x03\x00\x00\x00\x10\
-\x00o\x00r\x00i\x00g\x00i\x00n\x00a\x00l\
-\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe5\x8e\x9f\xe6\x96\x87\
+\x01\x03\x00\x00\x00,\x00S\x00a\x00m\x00e\x00 \
+\x00a\x00s\x00 \x00s\x00o\x00n\x00g\x00 \
+\x00f\x00i\x00l\x00e\x00 \x00n\x00a\x00m\
+\x00e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x18\xe4\xb8\x8e\xe6\
+\xad\x8c\xe6\x9b\xb2\xe6\x96\x87\xe4\xbb\xb6\xe5\x90\x8d\xe7\x9b\
+\xb8\xe5\x90\x8c\x07\x00\x00\x00\x0blocal_m\
+atch\x01\x03\x00\x00\x004\x00S\x00a\x00m\
+\x00e\x00 \x00f\x00o\x00r\x00m\x00a\x00t\
+\x00 \x00a\x00s\x00 \x00i\x00n\x00 \x00s\
+\x00e\x00t\x00t\x00i\x00n\x00g\x00s\x08\x00\
+\x00\x00\x00\x06\x00\x00\x00\x1b\xe4\xb8\x8e\xe8\xae\xbe\xe7\xbd\
+\xae\xe4\xb8\xad\xe7\x9a\x84\xe6\xa0\xbc\xe5\xbc\x8f\xe7\x9b\xb8\
+\xe5\x90\x8c\x07\x00\x00\x00\x0blocal_ma\
+tch\x01\x03\x00\x00\x00@\x00M\x00a\x00t\x00\
+c\x00h\x00 \x00l\x00y\x00r\x00i\x00c\x00\
+s\x00 \x00t\x00o\x00 \x00l\x00o\x00c\x00\
+a\x00l\x00 \x00s\x00o\x00n\x00g\x00 \x00\
+f\x00i\x00l\x00e\x00s\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00!\xe4\xb8\xba\xe6\x9c\xac\xe5\x9c\xb0\xe6\xad\x8c\xe6\
+\x9b\xb2\xe6\x96\x87\xe4\xbb\xb6\xe5\x8c\xb9\xe9\x85\x8d\xe6\xad\
+\x8c\xe8\xaf\x8d\x07\x00\x00\x00\x0blocal_m\
+atch\x01\x03\x00\x00\x00\x12\x00P\x00r\x00i\
+\x00o\x00r\x00i\x00t\x00y\x00:\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00\x0d\xe4\xbc\x98\xe5\x85\x88\xe9\xa1\xba\xe5\
+\xba\x8f:\x07\x00\x00\x00\x0blocal_ma\
+tch\x01\x03\x00\x00\x00\x08\x00s\x00a\x00v\x00\
+e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe4\xbf\x9d\xe5\xad\
+\x98\x07\x00\x00\x00\x0blocal_matc\
+h\x01\x03\x00\x00\x000\x00S\x00a\x00v\x00e\x00\
+ \x00t\x00o\x00 \x00s\x00p\x00e\x00c\x00\
+i\x00f\x00i\x00e\x00d\x00 \x00f\x00o\x00\
+l\x00d\x00e\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+\x18\xe4\xbf\x9d\xe5\xad\x98\xe5\x88\xb0\xe6\x8c\x87\xe5\xae\x9a\
+\xe6\x96\x87\xe4\xbb\xb6\xe5\xa4\xb9\x07\x00\x00\x00\x0blo\
+cal_match\x01\x03\x00\x00\x00&\x00\
+S\x00a\x00v\x00e\x00 \x00t\x00o\x00 \x00\
+s\x00o\x00n\x00g\x00 \x00f\x00o\x00l\x00\
+d\x00e\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00\x18\xe4\
+\xbf\x9d\xe5\xad\x98\xe5\x88\xb0\xe6\xad\x8c\xe6\x9b\xb2\xe6\x96\
+\x87\xe4\xbb\xb6\xe5\xa4\xb9\x07\x00\x00\x00\x0bloca\
+l_match\x01\x03\x00\x00\x00J\x00S\x00\
+a\x00v\x00e\x00 \x00t\x00o\x00 \x00m\x00\
+i\x00r\x00r\x00o\x00r\x00 \x00f\x00o\x00\
+l\x00d\x00e\x00r\x00 \x00o\x00f\x00 \x00\
+s\x00o\x00n\x00g\x00s\x00 \x00f\x00o\x00\
+l\x00d\x00e\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+*\xe4\xbf\x9d\xe5\xad\x98\xe5\x88\xb0\xe6\xad\x8c\xe6\x9b\xb2\
+\xe6\x96\x87\xe4\xbb\xb6\xe5\xa4\xb9\xe7\x9a\x84\xe9\x95\x9c\xe5\
+\x83\x8f\xe6\x96\x87\xe4\xbb\xb6\xe5\xa4\xb9\x07\x00\x00\x00\x0b\
+local_match\x01\x03\x00\x00\x00\
+\x10\x00o\x00r\x00i\x00g\x00i\x00n\x00a\x00\
+l\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe5\x8e\x9f\xe6\x96\
+\x87\x07\x00\x00\x00\x0blocal_matc\
+h\x01\x03\x00\x00\x00\x1c\x00S\x00t\x00a\x00r\x00\
+t\x00 \x00m\x00a\x00t\x00c\x00h\x00i\x00\
+n\x00g\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe5\xbc\x80\
+\xe5\xa7\x8b\xe5\x8c\xb9\xe9\x85\x8d\x07\x00\x00\x00\x0blo\
+cal_match\x01\x03\x00\x00\x00\x16\x00\
+l\x00o\x00c\x00a\x00l\x00 \x00m\x00a\x00\
+t\x00c\x00h\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe6\
+\x9c\xac\xe5\x9c\xb0\xe5\x8c\xb9\xe9\x85\x8d\x07\x00\x00\x00\x0b\
+local_match\x01\x03\x00\x00\x00\
+\x0c\x00l\x00y\x00r\x00i\x00c\x00s\x08\x00\x00\
+\x00\x00\x06\x00\x00\x00\x06\xe6\xad\x8c\xe8\xaf\x8d\x07\x00\x00\
+\x00\x0blocal_match\x01\x03\x00\
+\x00\x00&\x00L\x00y\x00r\x00i\x00c\x00s\x00\
+ \x00s\x00a\x00v\x00i\x00n\x00g\x00 \x00\
+m\x00o\x00d\x00e\x00:\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x13\xe6\xad\x8c\xe8\xaf\x8d\xe4\xbf\x9d\xe5\xad\x98\xe6\
+\xa8\xa1\xe5\xbc\x8f:\x07\x00\x00\x00\x0blocal\
+_match\x01\x03\x00\x00\x00\x22\x00L\x00y\
+\x00r\x00i\x00c\x00s\x00 \x00f\x00i\x00l\
+\x00e\x00 \x00n\x00a\x00m\x00e\x00:\x08\x00\
+\x00\x00\x00\x06\x00\x00\x00\x10\xe6\xad\x8c\xe8\xaf\x8d\xe6\x96\
+\x87\xe4\xbb\xb6\xe5\x90\x8d:\x07\x00\x00\x00\x0bloc\
+al_match\x01\x03\x00\x00\x00\x22\x00S\
+\x00o\x00u\x00r\x00c\x00e\x00 \x00o\x00f\
+\x00 \x00l\x00y\x00r\x00i\x00c\x00s\x00:\
+\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0d\xe6\xad\x8c\xe8\xaf\x8d\
+\xe6\x9d\xa5\xe6\xba\x90:\x07\x00\x00\x00\x0bloca\
+l_match\x01\x03\x00\x00\x00\x1c\x00L\x00\
+y\x00r\x00i\x00c\x00s\x00 \x00f\x00o\x00\
+r\x00m\x00a\x00t\x00:\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x0d\xe6\xad\x8c\xe8\xaf\x8d\xe6\xa0\xbc\xe5\xbc\x8f:\
\x07\x00\x00\x00\x0blocal_match\
-\x01\x03\x00\x00\x00\x1c\x00S\x00t\x00a\x00r\x00t\
-\x00 \x00m\x00a\x00t\x00c\x00h\x00i\x00n\
-\x00g\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe5\xbc\x80\xe5\
-\xa7\x8b\xe5\x8c\xb9\xe9\x85\x8d\x07\x00\x00\x00\x0bloc\
-al_match\x01\x03\x00\x00\x00\x16\x00l\
-\x00o\x00c\x00a\x00l\x00 \x00m\x00a\x00t\
-\x00c\x00h\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe6\x9c\
-\xac\xe5\x9c\xb0\xe5\x8c\xb9\xe9\x85\x8d\x07\x00\x00\x00\x0bl\
-ocal_match\x01\x03\x00\x00\x00\x0c\
-\x00l\x00y\x00r\x00i\x00c\x00s\x08\x00\x00\x00\
-\x00\x06\x00\x00\x00\x06\xe6\xad\x8c\xe8\xaf\x8d\x07\x00\x00\x00\
-\x0blocal_match\x01\x03\x00\x00\
-\x00&\x00L\x00y\x00r\x00i\x00c\x00s\x00 \
-\x00s\x00a\x00v\x00i\x00n\x00g\x00 \x00m\
-\x00o\x00d\x00e\x00:\x08\x00\x00\x00\x00\x06\x00\x00\
-\x00\x13\xe6\xad\x8c\xe8\xaf\x8d\xe4\xbf\x9d\xe5\xad\x98\xe6\xa8\
-\xa1\xe5\xbc\x8f:\x07\x00\x00\x00\x0blocal_\
-match\x01\x03\x00\x00\x00\x22\x00L\x00y\x00\
-r\x00i\x00c\x00s\x00 \x00f\x00i\x00l\x00\
-e\x00 \x00n\x00a\x00m\x00e\x00:\x08\x00\x00\
-\x00\x00\x06\x00\x00\x00\x10\xe6\xad\x8c\xe8\xaf\x8d\xe6\x96\x87\
-\xe4\xbb\xb6\xe5\x90\x8d:\x07\x00\x00\x00\x0bloca\
-l_match\x01\x03\x00\x00\x00\x22\x00S\x00\
-o\x00u\x00r\x00c\x00e\x00 \x00o\x00f\x00\
- \x00l\x00y\x00r\x00i\x00c\x00s\x00:\x08\
-\x00\x00\x00\x00\x06\x00\x00\x00\x0d\xe6\xad\x8c\xe8\xaf\x8d\xe6\
-\x9d\xa5\xe6\xba\x90:\x07\x00\x00\x00\x0blocal\
-_match\x01\x03\x00\x00\x00\x1c\x00L\x00y\
-\x00r\x00i\x00c\x00s\x00 \x00f\x00o\x00r\
-\x00m\x00a\x00t\x00:\x08\x00\x00\x00\x00\x06\x00\x00\
-\x00\x0d\xe6\xad\x8c\xe8\xaf\x8d\xe6\xa0\xbc\xe5\xbc\x8f:\x07\
+\x01\x03\x00\x00\x00\x16\x00L\x00y\x00r\x00i\x00c\
+\x00 \x00t\x00y\x00p\x00e\x00:\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00\x0d\xe6\xad\x8c\xe8\xaf\x8d\xe7\xb1\xbb\xe5\
+\x9e\x8b:\x07\x00\x00\x00\x0blocal_ma\
+tch\x01\x03\x00\x00\x00&\x00N\x00e\x00t\x00\
+E\x00a\x00s\x00e\x00 \x00C\x00l\x00o\x00\
+u\x00d\x00 \x00M\x00u\x00s\x00i\x00c\x08\
+\x00\x00\x00\x00\x06\x00\x00\x00\x0f\xe7\xbd\x91\xe6\x98\x93\xe4\
+\xba\x91\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\x00\x00\x0bloc\
+al_match\x01\x03\x00\x00\x00\x12\x00r\
+\x00o\x00m\x00a\x00n\x00i\x00z\x00e\x00d\
+\x08\x00\x00\x00\x00\x06\x00\x00\x00\x09\xe7\xbd\x97\xe9\xa9\xac\
+\xe9\x9f\xb3\x07\x00\x00\x00\x0blocal_ma\
+tch\x01\x03\x00\x00\x00\x16\x00t\x00r\x00a\x00\
+n\x00s\x00l\x00a\x00t\x00i\x00o\x00n\x08\
+\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\xaf\x91\xe6\x96\x87\x07\
\x00\x00\x00\x0blocal_match\x01\
-\x03\x00\x00\x00\x16\x00L\x00y\x00r\x00i\x00c\x00\
- \x00t\x00y\x00p\x00e\x00:\x08\x00\x00\x00\x00\
-\x06\x00\x00\x00\x0d\xe6\xad\x8c\xe8\xaf\x8d\xe7\xb1\xbb\xe5\x9e\
-\x8b:\x07\x00\x00\x00\x0blocal_mat\
-ch\x01\x03\x00\x00\x00&\x00N\x00e\x00t\x00E\
-\x00a\x00s\x00e\x00 \x00C\x00l\x00o\x00u\
-\x00d\x00 \x00M\x00u\x00s\x00i\x00c\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x0f\xe7\xbd\x91\xe6\x98\x93\xe4\xba\
-\x91\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\x00\x00\x0bloca\
-l_match\x01\x03\x00\x00\x00\x12\x00r\x00\
-o\x00m\x00a\x00n\x00i\x00z\x00e\x00d\x08\
-\x00\x00\x00\x00\x06\x00\x00\x00\x09\xe7\xbd\x97\xe9\xa9\xac\xe9\
-\x9f\xb3\x07\x00\x00\x00\x0blocal_mat\
-ch\x01\x03\x00\x00\x00\x16\x00t\x00r\x00a\x00n\
-\x00s\x00l\x00a\x00t\x00i\x00o\x00n\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x06\xe8\xaf\x91\xe6\x96\x87\x07\x00\
-\x00\x00\x0blocal_match\x01\x03\
-\x00\x00\x00$\x00S\x00e\x00l\x00e\x00c\x00t\
-\x00 \x00f\x00o\x00l\x00d\x00e\x00r\x00 \
-\x00p\x00a\x00t\x00h\x08\x00\x00\x00\x00\x06\x00\x00\
-\x00\x15\xe9\x80\x89\xe6\x8b\xa9\xe6\x96\x87\xe4\xbb\xb6\xe5\xa4\
-\xb9\xe8\xb7\xaf\xe5\xbe\x84\x07\x00\x00\x00\x0bloca\
-l_match\x01\x03\x00\x00\x004\x00S\x00\
-e\x00l\x00e\x00c\x00t\x00 \x00f\x00o\x00\
-l\x00d\x00e\x00r\x00s\x00 \x00t\x00o\x00\
- \x00t\x00r\x00a\x00v\x00e\x00r\x00s\x00\
-e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1b\xe9\x80\x89\xe6\x8b\
-\xa9\xe8\xa6\x81\xe9\x81\x8d\xe5\x8e\x86\xe7\x9a\x84\xe6\x96\x87\
-\xe4\xbb\xb6\xe5\xa4\xb9\x07\x00\x00\x00\x0blocal\
-_match\x01\x03\x00\x00\x00\x0a\x00k\x00u\
-\x00g\x00o\x00u\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\
-\xe9\x85\xb7\xe7\x8b\x97\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\x00\x00\
-\x0blocal_match\x01\x03\x00\x00\
-\x00$\x00U\x00n\x00s\x00u\x00p\x00p\x00o\
-\x00r\x00t\x00e\x00d\x00 \x00s\x00o\x00u\
-\x00r\x00c\x00e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0f\
-\xe4\xb8\x8d\xe6\x94\xaf\xe6\x8c\x81\xe7\x9a\x84\xe6\xba\x90\x07\
-\x00\x00\x00\x06lyrics\x01\x03\x00\x00\x00Z\
-\x00N\x00o\x00 \x00a\x00v\x00a\x00i\x00l\
-\x00a\x00b\x00l\x00e\x00 \x00l\x00y\x00r\
-\x00i\x00c\x00s\x00 \x00w\x00e\x00r\x00e\
-\x00 \x00o\x00b\x00t\x00a\x00i\x00n\x00e\
-\x00d\x00 \x00(\x00t\x00i\x00m\x00e\x00t\
-\x00a\x00g\x00=\x000\x00)\x08\x00\x00\x00\x00\x06\
-\x00\x00\x00)\xe6\xb2\xa1\xe6\x9c\x89\xe8\x8e\xb7\xe5\x8f\x96\
-\xe5\x88\xb0\xe5\x8f\xaf\xe7\x94\xa8\xe7\x9a\x84\xe6\xad\x8c\xe8\
-\xaf\x8d(timetag=0)\x07\x00\x00\
-\x00\x06lyrics\x01\x03\x00\x00\x00<\x00N\
-\x00o\x00 \x00l\x00y\x00r\x00i\x00c\x00s\
-\x00 \x00o\x00b\x00t\x00a\x00i\x00n\x00e\
-\x00d\x00 \x00(\x00o\x00r\x00i\x00g\x00=\
-\x00N\x00o\x00n\x00e\x00)\x08\x00\x00\x00\x00\x06\
-\x00\x00\x00 \xe6\xb2\xa1\xe6\x9c\x89\xe8\x8e\xb7\xe5\x8f\x96\
-\xe5\x88\xb0\xe6\xad\x8c\xe8\xaf\x8d(orig=N\
-one)\x07\x00\x00\x00\x06lyrics\x01\
-\x03\x00\x00\x00P\x00F\x00a\x00i\x00l\x00e\x00\
-d\x00 \x00t\x00o\x00 \x00d\x00e\x00c\x00\
-r\x00y\x00p\x00t\x00 \x00k\x00r\x00c\x00\
- \x00l\x00y\x00r\x00i\x00c\x00s\x00,\x00\
+\x03\x00\x00\x00$\x00S\x00e\x00l\x00e\x00c\x00\
+t\x00 \x00f\x00o\x00l\x00d\x00e\x00r\x00\
+ \x00p\x00a\x00t\x00h\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x15\xe9\x80\x89\xe6\x8b\xa9\xe6\x96\x87\xe4\xbb\xb6\xe5\
+\xa4\xb9\xe8\xb7\xaf\xe5\xbe\x84\x07\x00\x00\x00\x0bloc\
+al_match\x01\x03\x00\x00\x004\x00S\
+\x00e\x00l\x00e\x00c\x00t\x00 \x00f\x00o\
+\x00l\x00d\x00e\x00r\x00s\x00 \x00t\x00o\
+\x00 \x00t\x00r\x00a\x00v\x00e\x00r\x00s\
+\x00e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1b\xe9\x80\x89\xe6\
+\x8b\xa9\xe8\xa6\x81\xe9\x81\x8d\xe5\x8e\x86\xe7\x9a\x84\xe6\x96\
+\x87\xe4\xbb\xb6\xe5\xa4\xb9\x07\x00\x00\x00\x0bloca\
+l_match\x01\x03\x00\x00\x00\x0a\x00k\x00\
+u\x00g\x00o\x00u\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+\x0c\xe9\x85\xb7\xe7\x8b\x97\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\x00\
+\x00\x0blocal_match\x01\x03\x00\
+\x00\x00$\x00U\x00n\x00s\x00u\x00p\x00p\x00\
+o\x00r\x00t\x00e\x00d\x00 \x00s\x00o\x00\
+u\x00r\x00c\x00e\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+\x0f\xe4\xb8\x8d\xe6\x94\xaf\xe6\x8c\x81\xe7\x9a\x84\xe6\xba\x90\
+\x07\x00\x00\x00\x06lyrics\x01\x03\x00\x00\x00\
+Z\x00N\x00o\x00 \x00a\x00v\x00a\x00i\x00\
+l\x00a\x00b\x00l\x00e\x00 \x00l\x00y\x00\
+r\x00i\x00c\x00s\x00 \x00w\x00e\x00r\x00\
+e\x00 \x00o\x00b\x00t\x00a\x00i\x00n\x00\
+e\x00d\x00 \x00(\x00t\x00i\x00m\x00e\x00\
+t\x00a\x00g\x00=\x000\x00)\x08\x00\x00\x00\x00\
+\x06\x00\x00\x00)\xe6\xb2\xa1\xe6\x9c\x89\xe8\x8e\xb7\xe5\x8f\
+\x96\xe5\x88\xb0\xe5\x8f\xaf\xe7\x94\xa8\xe7\x9a\x84\xe6\xad\x8c\
+\xe8\xaf\x8d(timetag=0)\x07\x00\
+\x00\x00\x06lyrics\x01\x03\x00\x00\x00<\x00\
+N\x00o\x00 \x00l\x00y\x00r\x00i\x00c\x00\
+s\x00 \x00o\x00b\x00t\x00a\x00i\x00n\x00\
+e\x00d\x00 \x00(\x00o\x00r\x00i\x00g\x00\
+=\x00N\x00o\x00n\x00e\x00)\x08\x00\x00\x00\x00\
+\x06\x00\x00\x00 \xe6\xb2\xa1\xe6\x9c\x89\xe8\x8e\xb7\xe5\x8f\
+\x96\xe5\x88\xb0\xe6\xad\x8c\xe8\xaf\x8d(orig=\
+None)\x07\x00\x00\x00\x06lyrics\
+\x01\x03\x00\x00\x00P\x00F\x00a\x00i\x00l\x00e\
+\x00d\x00 \x00t\x00o\x00 \x00d\x00e\x00c\
+\x00r\x00y\x00p\x00t\x00 \x00k\x00r\x00c\
+\x00 \x00l\x00y\x00r\x00i\x00c\x00s\x00,\
+\x00 \x00e\x00r\x00r\x00o\x00r\x00:\x00 \
+\x00{\x000\x00}\x08\x00\x00\x00\x00\x06\x00\x00\x00 \
+\xe8\xa7\xa3\xe5\xaf\x86krc\xe6\xad\x8c\xe8\xaf\x8d\xe5\
+\xa4\xb1\xe8\xb4\xa5,\xe9\x94\x99\xe8\xaf\xaf:{0}\
+\x07\x00\x00\x00\x06lyrics\x01\x03\x00\x00\x00\
+B\x00F\x00a\x00i\x00l\x00e\x00d\x00 \x00\
+t\x00o\x00 \x00d\x00e\x00c\x00r\x00y\x00\
+p\x00t\x00 \x00l\x00y\x00r\x00i\x00c\x00\
+s\x00,\x00 \x00e\x00r\x00r\x00o\x00r\x00\
+:\x00 \x08\x00\x00\x00\x00\x06\x00\x00\x00\x1c\xe8\xa7\xa3\
+\xe5\xaf\x86\xe6\xad\x8c\xe8\xaf\x8d\xe5\xa4\xb1\xe8\xb4\xa5,\
+ \xe9\x94\x99\xe8\xaf\xaf: \x07\x00\x00\x00\x06ly\
+rics\x01\x03\x00\x00\x00P\x00R\x00e\x00q\
+\x00u\x00e\x00s\x00t\x00i\x00n\x00g\x00 \
+\x00k\x00r\x00c\x00 \x00l\x00y\x00r\x00i\
+\x00c\x00s\x00 \x00f\x00a\x00i\x00l\x00e\
+\x00d\x00,\x00 \x00e\x00r\x00r\x00o\x00r\
+\x00:\x00 \x00{\x000\x00}\x08\x00\x00\x00\x00\x06\
+\x00\x00\x00 \xe8\xaf\xb7\xe6\xb1\x82krc\xe6\xad\x8c\
+\xe8\xaf\x8d\xe5\xa4\xb1\xe8\xb4\xa5,\xe9\x94\x99\xe8\xaf\xaf\
+:{0}\x07\x00\x00\x00\x06lyrics\x01\
+\x03\x00\x00\x00P\x00R\x00e\x00q\x00u\x00e\x00\
+s\x00t\x00i\x00n\x00g\x00 \x00q\x00r\x00\
+c\x00 \x00l\x00y\x00r\x00i\x00c\x00s\x00\
+ \x00f\x00a\x00i\x00l\x00e\x00d\x00,\x00\
\x00e\x00r\x00r\x00o\x00r\x00:\x00 \x00\
{\x000\x00}\x08\x00\x00\x00\x00\x06\x00\x00\x00 \xe8\
-\xa7\xa3\xe5\xaf\x86krc\xe6\xad\x8c\xe8\xaf\x8d\xe5\xa4\
+\xaf\xb7\xe6\xb1\x82qrc\xe6\xad\x8c\xe8\xaf\x8d\xe5\xa4\
\xb1\xe8\xb4\xa5,\xe9\x94\x99\xe8\xaf\xaf:{0}\x07\
-\x00\x00\x00\x06lyrics\x01\x03\x00\x00\x00B\
-\x00F\x00a\x00i\x00l\x00e\x00d\x00 \x00t\
-\x00o\x00 \x00d\x00e\x00c\x00r\x00y\x00p\
-\x00t\x00 \x00l\x00y\x00r\x00i\x00c\x00s\
-\x00,\x00 \x00e\x00r\x00r\x00o\x00r\x00:\
-\x00 \x08\x00\x00\x00\x00\x06\x00\x00\x00\x1c\xe8\xa7\xa3\xe5\
-\xaf\x86\xe6\xad\x8c\xe8\xaf\x8d\xe5\xa4\xb1\xe8\xb4\xa5, \
-\xe9\x94\x99\xe8\xaf\xaf: \x07\x00\x00\x00\x06lyr\
-ics\x01\x03\x00\x00\x00P\x00R\x00e\x00q\x00\
-u\x00e\x00s\x00t\x00i\x00n\x00g\x00 \x00\
-k\x00r\x00c\x00 \x00l\x00y\x00r\x00i\x00\
-c\x00s\x00 \x00f\x00a\x00i\x00l\x00e\x00\
-d\x00,\x00 \x00e\x00r\x00r\x00o\x00r\x00\
-:\x00 \x00{\x000\x00}\x08\x00\x00\x00\x00\x06\x00\
-\x00\x00 \xe8\xaf\xb7\xe6\xb1\x82krc\xe6\xad\x8c\xe8\
-\xaf\x8d\xe5\xa4\xb1\xe8\xb4\xa5,\xe9\x94\x99\xe8\xaf\xaf:\
-{0}\x07\x00\x00\x00\x06lyrics\x01\x03\
-\x00\x00\x00P\x00R\x00e\x00q\x00u\x00e\x00s\
-\x00t\x00i\x00n\x00g\x00 \x00q\x00r\x00c\
-\x00 \x00l\x00y\x00r\x00i\x00c\x00s\x00 \
-\x00f\x00a\x00i\x00l\x00e\x00d\x00,\x00 \
-\x00e\x00r\x00r\x00o\x00r\x00:\x00 \x00{\
-\x000\x00}\x08\x00\x00\x00\x00\x06\x00\x00\x00 \xe8\xaf\
-\xb7\xe6\xb1\x82qrc\xe6\xad\x8c\xe8\xaf\x8d\xe5\xa4\xb1\
-\xe8\xb4\xa5,\xe9\x94\x99\xe8\xaf\xaf:{0}\x07\x00\
-\x00\x00\x06lyrics\x01\x03\x00\x00\x00\x1e\x8b\
-\xf7lB\x7fQf\x13N\x91kL\x8b\xcdY1\x8d\
-%\x00,\x00 \x95\x19\x8b\xef\x00:\x00 \x08\x00\x00\
-\x00\x00\x06\x00\x00\x00%\xe8\xaf\xb7\xe6\xb1\x82\xe7\xbd\x91\
-\xe6\x98\x93\xe4\xba\x91\xe6\xad\x8c\xe8\xaf\x8d\xe5\xa4\xb1\xe8\
-\xb4\xa5, \xe9\x94\x99\xe8\xaf\xaf: \x07\x00\x00\x00\
-\x06lyrics\x01\x03\x00\x00\x00\x06\x00A\x00\
-S\x00S\x08\x00\x00\x00\x00\x06\x00\x00\x00\x03ASS\
-\x07\x00\x00\x00\x06search\x01\x03\xff\xff\xff\
-\xff\x08\x00\x00\x00\x00\x06\x00\x00\x00\x04Form\x07\
-\x00\x00\x00\x06search\x01\x03\x00\x00\x00\x1c\
-\x00L\x00R\x00C\x00 \x00(\x00v\x00e\x00r\
-\x00b\x00a\x00t\x00i\x00m\x00)\x08\x00\x00\x00\
-\x00\x06\x00\x00\x00\x0bLRC(\xe9\x80\x90\xe5\xad\x97\
-)\x07\x00\x00\x00\x06search\x01\x03\x00\x00\
-\x00$\x00L\x00R\x00C\x00 \x00(\x00l\x00i\
-\x00n\x00e\x00 \x00b\x00y\x00 \x00l\x00i\
-\x00n\x00e\x00)\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0b\
-LRC(\xe9\x80\x90\xe8\xa1\x8c)\x07\x00\x00\x00\x06\
-search\x01\x03\x00\x00\x00\x10\x00Q\x00Q\
-\x00 \x00M\x00u\x00s\x00i\x00c\x08\x00\x00\x00\
-\x00\x06\x00\x00\x00\x08QQ\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\
-\x00\x00\x06search\x01\x03\x00\x00\x00\x06\x00\
-S\x00R\x00T\x08\x00\x00\x00\x00\x06\x00\x00\x00\x03S\
-RT\x07\x00\x00\x00\x06search\x01\x03\x00\
-\x00\x00\x0a\x00a\x00l\x00b\x00u\x00m\x08\x00\x00\
-\x00\x00\x06\x00\x00\x00\x06\xe4\xb8\x93\xe8\xbe\x91\x07\x00\x00\
-\x00\x06search\x01\x03\x00\x00\x00R\x00S\
-\x00e\x00a\x00r\x00c\x00h\x00 \x00a\x00n\
-\x00d\x00 \x00d\x00o\x00w\x00n\x00l\x00o\
-\x00a\x00d\x00 \x00l\x00y\x00r\x00i\x00c\
-\x00s\x00 \x00f\x00r\x00o\x00m\x00 \x00t\
-\x00h\x00e\x00 \x00c\x00l\x00o\x00u\x00d\
-\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1e\xe4\xbb\x8e\xe4\xba\x91\
-\xe7\xab\xaf\xe6\x90\x9c\xe7\xb4\xa2\xe5\xb9\xb6\xe4\xb8\x8b\xe8\
-\xbd\xbd\xe6\xad\x8c\xe8\xaf\x8d\x07\x00\x00\x00\x06sea\
-rch\x01\x03\x00\x00\x004\x00S\x00a\x00v\x00\
-e\x00 \x00a\x00l\x00b\x00u\x00m\x00/\x00\
-s\x00o\x00n\x00g\x00l\x00i\x00s\x00t\x00\
- \x00l\x00y\x00r\x00i\x00c\x00s\x08\x00\x00\
-\x00\x00\x06\x00\x00\x00\x1c\xe4\xbf\x9d\xe5\xad\x98\xe4\xb8\x93\
-\xe8\xbe\x91/\xe6\xad\x8c\xe5\x8d\x95\xe7\x9a\x84\xe6\xad\x8c\
+\x00\x00\x00\x06lyrics\x01\x03\x00\x00\x00\x1e\
+\x8b\xf7lB\x7fQf\x13N\x91kL\x8b\xcdY1\
+\x8d%\x00,\x00 \x95\x19\x8b\xef\x00:\x00 \x08\x00\
+\x00\x00\x00\x06\x00\x00\x00%\xe8\xaf\xb7\xe6\xb1\x82\xe7\xbd\
+\x91\xe6\x98\x93\xe4\xba\x91\xe6\xad\x8c\xe8\xaf\x8d\xe5\xa4\xb1\
+\xe8\xb4\xa5, \xe9\x94\x99\xe8\xaf\xaf: \x07\x00\x00\
+\x00\x06lyrics\x01\x03\x00\x00\x00\x06\x00A\
+\x00S\x00S\x08\x00\x00\x00\x00\x06\x00\x00\x00\x03AS\
+S\x07\x00\x00\x00\x06search\x01\x03\xff\xff\
+\xff\xff\x08\x00\x00\x00\x00\x06\x00\x00\x00\x04Form\
+\x07\x00\x00\x00\x06search\x01\x03\x00\x00\x00\
+\x1c\x00L\x00R\x00C\x00 \x00(\x00v\x00e\x00\
+r\x00b\x00a\x00t\x00i\x00m\x00)\x08\x00\x00\
+\x00\x00\x06\x00\x00\x00\x0bLRC(\xe9\x80\x90\xe5\xad\
+\x97)\x07\x00\x00\x00\x06search\x01\x03\x00\
+\x00\x00$\x00L\x00R\x00C\x00 \x00(\x00l\x00\
+i\x00n\x00e\x00 \x00b\x00y\x00 \x00l\x00\
+i\x00n\x00e\x00)\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+\x0bLRC(\xe9\x80\x90\xe8\xa1\x8c)\x07\x00\x00\x00\
+\x06search\x01\x03\x00\x00\x00\x10\x00Q\x00\
+Q\x00 \x00M\x00u\x00s\x00i\x00c\x08\x00\x00\
+\x00\x00\x06\x00\x00\x00\x08QQ\xe9\x9f\xb3\xe4\xb9\x90\x07\
+\x00\x00\x00\x06search\x01\x03\x00\x00\x00\x06\
+\x00S\x00R\x00T\x08\x00\x00\x00\x00\x06\x00\x00\x00\x03\
+SRT\x07\x00\x00\x00\x06search\x01\x03\
+\x00\x00\x00\x0a\x00a\x00l\x00b\x00u\x00m\x08\x00\
+\x00\x00\x00\x06\x00\x00\x00\x06\xe4\xb8\x93\xe8\xbe\x91\x07\x00\
+\x00\x00\x06search\x01\x03\x00\x00\x00R\x00\
+S\x00e\x00a\x00r\x00c\x00h\x00 \x00a\x00\
+n\x00d\x00 \x00d\x00o\x00w\x00n\x00l\x00\
+o\x00a\x00d\x00 \x00l\x00y\x00r\x00i\x00\
+c\x00s\x00 \x00f\x00r\x00o\x00m\x00 \x00\
+t\x00h\x00e\x00 \x00c\x00l\x00o\x00u\x00\
+d\x08\x00\x00\x00\x00\x06\x00\x00\x00\x1e\xe4\xbb\x8e\xe4\xba\
+\x91\xe7\xab\xaf\xe6\x90\x9c\xe7\xb4\xa2\xe5\xb9\xb6\xe4\xb8\x8b\
+\xe8\xbd\xbd\xe6\xad\x8c\xe8\xaf\x8d\x07\x00\x00\x00\x06se\
+arch\x01\x03\x00\x00\x004\x00S\x00a\x00v\
+\x00e\x00 \x00a\x00l\x00b\x00u\x00m\x00/\
+\x00s\x00o\x00n\x00g\x00l\x00i\x00s\x00t\
+\x00 \x00l\x00y\x00r\x00i\x00c\x00s\x08\x00\
+\x00\x00\x00\x06\x00\x00\x00\x1c\xe4\xbf\x9d\xe5\xad\x98\xe4\xb8\
+\x93\xe8\xbe\x91/\xe6\xad\x8c\xe5\x8d\x95\xe7\x9a\x84\xe6\xad\
+\x8c\xe8\xaf\x8d\x07\x00\x00\x00\x06search\x01\
+\x03\x00\x00\x00\x10\x00S\x00a\x00v\x00e\x00 \x00\
+t\x00o\x00:\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0a\xe4\
+\xbf\x9d\xe5\xad\x98\xe5\x88\xb0:\x07\x00\x00\x00\x06se\
+arch\x01\x03\x00\x00\x00*\x00S\x00a\x00v\
+\x00e\x00 \x00p\x00r\x00e\x00v\x00i\x00e\
+\x00w\x00e\x00d\x00 \x00l\x00y\x00r\x00i\
+\x00c\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x15\xe4\xbf\
+\x9d\xe5\xad\x98\xe9\xa2\x84\xe8\xa7\x88\xe7\x9a\x84\xe6\xad\x8c\
\xe8\xaf\x8d\x07\x00\x00\x00\x06search\x01\x03\
-\x00\x00\x00\x10\x00S\x00a\x00v\x00e\x00 \x00t\
-\x00o\x00:\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0a\xe4\xbf\
-\x9d\xe5\xad\x98\xe5\x88\xb0:\x07\x00\x00\x00\x06sea\
-rch\x01\x03\x00\x00\x00*\x00S\x00a\x00v\x00\
-e\x00 \x00p\x00r\x00e\x00v\x00i\x00e\x00\
-w\x00e\x00d\x00 \x00l\x00y\x00r\x00i\x00\
-c\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x15\xe4\xbf\x9d\
-\xe5\xad\x98\xe9\xa2\x84\xe8\xa7\x88\xe7\x9a\x84\xe6\xad\x8c\xe8\
-\xaf\x8d\x07\x00\x00\x00\x06search\x01\x03\x00\
-\x00\x00\x08\x00s\x00o\x00n\x00g\x08\x00\x00\x00\x00\
-\x06\x00\x00\x00\x06\xe5\x8d\x95\xe6\x9b\xb2\x07\x00\x00\x00\x06\
-search\x01\x03\x00\x00\x00\x10\x00o\x00r\
-\x00i\x00g\x00i\x00n\x00a\x00l\x08\x00\x00\x00\
-\x00\x06\x00\x00\x00\x06\xe5\x8e\x9f\xe6\x96\x87\x07\x00\x00\x00\
-\x06search\x01\x03\x00\x00\x00\x0c\x00S\x00\
-e\x00a\x00r\x00c\x00h\x08\x00\x00\x00\x00\x06\x00\
-\x00\x00\x06\xe6\x90\x9c\xe7\xb4\xa2\x07\x00\x00\x00\x06se\
-arch\x01\x03\x00\x00\x00\x1c\x00s\x00e\x00a\
-\x00r\x00c\x00h\x00 \x00r\x00e\x00s\x00u\
-\x00l\x00t\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\
-\xe6\x90\x9c\xe7\xb4\xa2\xe7\xbb\x93\xe6\x9e\x9c\x07\x00\x00\x00\
-\x06search\x01\x03\x00\x00\x00\x12\x00s\x00\
-o\x00n\x00g\x00 \x00l\x00i\x00s\x00t\x08\
-\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe6\xad\x8c\xe5\x8d\x95\x07\
-\x00\x00\x00\x06search\x01\x03\x00\x00\x00\x1c\
-\x00s\x00o\x00n\x00g\x00/\x00l\x00y\x00r\
-\x00i\x00c\x00s\x00 \x00i\x00d\x08\x00\x00\x00\
-\x00\x06\x00\x00\x00\x0f\xe6\xad\x8c\xe6\x9b\xb2/\xe6\xad\x8c\
-\xe8\xaf\x8did\x07\x00\x00\x00\x06search\
-\x01\x03\x00\x00\x00\x1c\x00L\x00y\x00r\x00i\x00c\
-\x00s\x00 \x00f\x00o\x00r\x00m\x00a\x00t\
-\x00:\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0d\xe6\xad\x8c\xe8\
-\xaf\x8d\xe6\xa0\xbc\xe5\xbc\x8f:\x07\x00\x00\x00\x06se\
-arch\x01\x03\x00\x00\x00\x14\x00L\x00y\x00r\
-\x00i\x00c\x00 \x00t\x00y\x00p\x00e\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x0c\xe6\xad\x8c\xe8\xaf\x8d\xe7\xb1\
-\xbb\xe5\x9e\x8b\x07\x00\x00\x00\x06search\x01\
-\x03\x00\x00\x00\x1c\x00L\x00y\x00r\x00i\x00c\x00\
-s\x00 \x00p\x00r\x00e\x00v\x00i\x00e\x00\
-w\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe6\xad\x8c\xe8\xaf\
-\x8d\xe9\xa2\x84\xe8\xa7\x88\x07\x00\x00\x00\x06sear\
-ch\x01\x03\x00\x00\x00&\x00N\x00e\x00t\x00E\
-\x00a\x00s\x00e\x00 \x00C\x00l\x00o\x00u\
-\x00d\x00 \x00M\x00u\x00s\x00i\x00c\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x0f\xe7\xbd\x91\xe6\x98\x93\xe4\xba\
-\x91\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\x00\x00\x06sear\
-ch\x01\x03\x00\x00\x00\x12\x00r\x00o\x00m\x00a\
-\x00n\x00i\x00z\x00e\x00d\x08\x00\x00\x00\x00\x06\
-\x00\x00\x00\x09\xe7\xbd\x97\xe9\xa9\xac\xe9\x9f\xb3\x07\x00\x00\
-\x00\x06search\x01\x03\x00\x00\x00\x16\x00t\
-\x00r\x00a\x00n\x00s\x00l\x00a\x00t\x00i\
-\x00o\x00n\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\xaf\
-\x91\xe6\x96\x87\x07\x00\x00\x00\x06search\x01\
-\x03\x00\x00\x00\x08\x00B\x00a\x00c\x00k\x08\x00\x00\
-\x00\x00\x06\x00\x00\x00\x06\xe8\xbf\x94\xe5\x9b\x9e\x07\x00\x00\
-\x00\x06search\x01\x03\x00\x00\x00 \x00S\
-\x00e\x00l\x00e\x00c\x00t\x00 \x00s\x00a\
-\x00v\x00e\x00 \x00p\x00a\x00t\x00h\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x12\xe9\x80\x89\xe6\x8b\xa9\xe4\xbf\
-\x9d\xe5\xad\x98\xe8\xb7\xaf\xe5\xbe\x84\x07\x00\x00\x00\x06s\
-earch\x01\x03\x00\x00\x00\x0a\x00k\x00u\x00\
-g\x00o\x00u\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe9\
-\x85\xb7\xe7\x8b\x97\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\x00\x00\x06\
-search\x01\x03\x00\x00\x0a\x12\x00<\x00!\
-\x00D\x00O\x00C\x00T\x00Y\x00P\x00E\x00 \
-\x00H\x00T\x00M\x00L\x00 \x00P\x00U\x00B\
-\x00L\x00I\x00C\x00 \x00\x22\x00-\x00/\x00/\
-\x00W\x003\x00C\x00/\x00/\x00D\x00T\x00D\
-\x00 \x00H\x00T\x00M\x00L\x00 \x004\x00.\
-\x000\x00/\x00/\x00E\x00N\x00\x22\x00 \x00\x22\
-\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\
-\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\
-\x00g\x00/\x00T\x00R\x00/\x00R\x00E\x00C\
-\x00-\x00h\x00t\x00m\x00l\x004\x000\x00/\
-\x00s\x00t\x00r\x00i\x00c\x00t\x00.\x00d\
-\x00t\x00d\x00\x22\x00>\x00\x0a\x00<\x00h\x00t\
-\x00m\x00l\x00>\x00<\x00h\x00e\x00a\x00d\
-\x00>\x00<\x00m\x00e\x00t\x00a\x00 \x00n\
-\x00a\x00m\x00e\x00=\x00\x22\x00q\x00r\x00i\
-\x00c\x00h\x00t\x00e\x00x\x00t\x00\x22\x00 \
-\x00c\x00o\x00n\x00t\x00e\x00n\x00t\x00=\
-\x00\x22\x001\x00\x22\x00 \x00/\x00>\x00<\x00m\
-\x00e\x00t\x00a\x00 \x00c\x00h\x00a\x00r\
-\x00s\x00e\x00t\x00=\x00\x22\x00u\x00t\x00f\
-\x00-\x008\x00\x22\x00 \x00/\x00>\x00<\x00s\
-\x00t\x00y\x00l\x00e\x00 \x00t\x00y\x00p\
-\x00e\x00=\x00\x22\x00t\x00e\x00x\x00t\x00/\
-\x00c\x00s\x00s\x00\x22\x00>\x00\x0a\x00p\x00,\
-\x00 \x00l\x00i\x00 \x00{\x00 \x00w\x00h\
-\x00i\x00t\x00e\x00-\x00s\x00p\x00a\x00c\
-\x00e\x00:\x00 \x00p\x00r\x00e\x00-\x00w\
-\x00r\x00a\x00p\x00;\x00 \x00}\x00\x0a\x00h\
-\x00r\x00 \x00{\x00 \x00h\x00e\x00i\x00g\
-\x00h\x00t\x00:\x00 \x001\x00p\x00x\x00;\
-\x00 \x00b\x00o\x00r\x00d\x00e\x00r\x00-\
-\x00w\x00i\x00d\x00t\x00h\x00:\x00 \x000\
-\x00;\x00 \x00}\x00\x0a\x00l\x00i\x00.\x00u\
-\x00n\x00c\x00h\x00e\x00c\x00k\x00e\x00d\
-\x00:\x00:\x00m\x00a\x00r\x00k\x00e\x00r\
-\x00 \x00{\x00 \x00c\x00o\x00n\x00t\x00e\
-\x00n\x00t\x00:\x00 \x00\x22\x00\x5c\x002\x006\
-\x001\x000\x00\x22\x00;\x00 \x00}\x00\x0a\x00l\
-\x00i\x00.\x00c\x00h\x00e\x00c\x00k\x00e\
-\x00d\x00:\x00:\x00m\x00a\x00r\x00k\x00e\
-\x00r\x00 \x00{\x00 \x00c\x00o\x00n\x00t\
-\x00e\x00n\x00t\x00:\x00 \x00\x22\x00\x5c\x002\
-\x006\x001\x002\x00\x22\x00;\x00 \x00}\x00\x0a\
-\x00<\x00/\x00s\x00t\x00y\x00l\x00e\x00>\
-\x00<\x00/\x00h\x00e\x00a\x00d\x00>\x00<\
-\x00b\x00o\x00d\x00y\x00 \x00s\x00t\x00y\
+\x00\x00\x00\x0e\x00O\x00f\x00f\x00s\x00e\x00t\
+\x00:\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0a\xe5\x81\x8f\xe7\
+\xa7\xbb\xe9\x87\x8f:\x07\x00\x00\x00\x06searc\
+h\x01\x03\x00\x00\x00\x08\x00s\x00o\x00n\x00g\x08\
+\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe5\x8d\x95\xe6\x9b\xb2\x07\
+\x00\x00\x00\x06search\x01\x03\x00\x00\x00\x10\
+\x00o\x00r\x00i\x00g\x00i\x00n\x00a\x00l\
+\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe5\x8e\x9f\xe6\x96\x87\
+\x07\x00\x00\x00\x06search\x01\x03\x00\x00\x00\
+\x0c\x00S\x00e\x00a\x00r\x00c\x00h\x08\x00\x00\
+\x00\x00\x06\x00\x00\x00\x06\xe6\x90\x9c\xe7\xb4\xa2\x07\x00\x00\
+\x00\x06search\x01\x03\x00\x00\x00\x1c\x00s\
+\x00e\x00a\x00r\x00c\x00h\x00 \x00r\x00e\
+\x00s\x00u\x00l\x00t\x00s\x08\x00\x00\x00\x00\x06\
+\x00\x00\x00\x0c\xe6\x90\x9c\xe7\xb4\xa2\xe7\xbb\x93\xe6\x9e\x9c\
+\x07\x00\x00\x00\x06search\x01\x03\x00\x00\x00\
+\x12\x00s\x00o\x00n\x00g\x00 \x00l\x00i\x00\
+s\x00t\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe6\xad\x8c\
+\xe5\x8d\x95\x07\x00\x00\x00\x06search\x01\x03\
+\x00\x00\x00\x1c\x00s\x00o\x00n\x00g\x00/\x00l\
+\x00y\x00r\x00i\x00c\x00s\x00 \x00i\x00d\
+\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0f\xe6\xad\x8c\xe6\x9b\xb2\
+/\xe6\xad\x8c\xe8\xaf\x8did\x07\x00\x00\x00\x06se\
+arch\x01\x03\x00\x00\x00\x1c\x00L\x00y\x00r\
+\x00i\x00c\x00s\x00 \x00f\x00o\x00r\x00m\
+\x00a\x00t\x00:\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0d\
+\xe6\xad\x8c\xe8\xaf\x8d\xe6\xa0\xbc\xe5\xbc\x8f:\x07\x00\x00\
+\x00\x06search\x01\x03\x00\x00\x00\x14\x00L\
+\x00y\x00r\x00i\x00c\x00 \x00t\x00y\x00p\
+\x00e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe6\xad\x8c\xe8\
+\xaf\x8d\xe7\xb1\xbb\xe5\x9e\x8b\x07\x00\x00\x00\x06sea\
+rch\x01\x03\x00\x00\x00\x1c\x00L\x00y\x00r\x00\
+i\x00c\x00s\x00 \x00p\x00r\x00e\x00v\x00\
+i\x00e\x00w\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe6\
+\xad\x8c\xe8\xaf\x8d\xe9\xa2\x84\xe8\xa7\x88\x07\x00\x00\x00\x06\
+search\x01\x03\x00\x00\x00&\x00N\x00e\
+\x00t\x00E\x00a\x00s\x00e\x00 \x00C\x00l\
+\x00o\x00u\x00d\x00 \x00M\x00u\x00s\x00i\
+\x00c\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0f\xe7\xbd\x91\xe6\
+\x98\x93\xe4\xba\x91\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\x00\x00\x06\
+search\x01\x03\x00\x00\x00\x12\x00r\x00o\
+\x00m\x00a\x00n\x00i\x00z\x00e\x00d\x08\x00\
+\x00\x00\x00\x06\x00\x00\x00\x09\xe7\xbd\x97\xe9\xa9\xac\xe9\x9f\
+\xb3\x07\x00\x00\x00\x06search\x01\x03\x00\x00\
+\x00\x16\x00t\x00r\x00a\x00n\x00s\x00l\x00a\
+\x00t\x00i\x00o\x00n\x08\x00\x00\x00\x00\x06\x00\x00\
+\x00\x06\xe8\xaf\x91\xe6\x96\x87\x07\x00\x00\x00\x06sea\
+rch\x01\x03\x00\x00\x00\x08\x00B\x00a\x00c\x00\
+k\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\xbf\x94\xe5\x9b\
+\x9e\x07\x00\x00\x00\x06search\x01\x03\x00\x00\
+\x00 \x00S\x00e\x00l\x00e\x00c\x00t\x00 \
+\x00s\x00a\x00v\x00e\x00 \x00p\x00a\x00t\
+\x00h\x08\x00\x00\x00\x00\x06\x00\x00\x00\x12\xe9\x80\x89\xe6\
+\x8b\xa9\xe4\xbf\x9d\xe5\xad\x98\xe8\xb7\xaf\xe5\xbe\x84\x07\x00\
+\x00\x00\x06search\x01\x03\x00\x00\x00\x0a\x00\
+k\x00u\x00g\x00o\x00u\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x0c\xe9\x85\xb7\xe7\x8b\x97\xe9\x9f\xb3\xe4\xb9\x90\x07\
+\x00\x00\x00\x06search\x01\x03\x00\x00\x0a\x12\
+\x00<\x00!\x00D\x00O\x00C\x00T\x00Y\x00P\
+\x00E\x00 \x00H\x00T\x00M\x00L\x00 \x00P\
+\x00U\x00B\x00L\x00I\x00C\x00 \x00\x22\x00-\
+\x00/\x00/\x00W\x003\x00C\x00/\x00/\x00D\
+\x00T\x00D\x00 \x00H\x00T\x00M\x00L\x00 \
+\x004\x00.\x000\x00/\x00/\x00E\x00N\x00\x22\
+\x00 \x00\x22\x00h\x00t\x00t\x00p\x00:\x00/\
+\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\
+\x00o\x00r\x00g\x00/\x00T\x00R\x00/\x00R\
+\x00E\x00C\x00-\x00h\x00t\x00m\x00l\x004\
+\x000\x00/\x00s\x00t\x00r\x00i\x00c\x00t\
+\x00.\x00d\x00t\x00d\x00\x22\x00>\x00\x0a\x00<\
+\x00h\x00t\x00m\x00l\x00>\x00<\x00h\x00e\
+\x00a\x00d\x00>\x00<\x00m\x00e\x00t\x00a\
+\x00 \x00n\x00a\x00m\x00e\x00=\x00\x22\x00q\
+\x00r\x00i\x00c\x00h\x00t\x00e\x00x\x00t\
+\x00\x22\x00 \x00c\x00o\x00n\x00t\x00e\x00n\
+\x00t\x00=\x00\x22\x001\x00\x22\x00 \x00/\x00>\
+\x00<\x00m\x00e\x00t\x00a\x00 \x00c\x00h\
+\x00a\x00r\x00s\x00e\x00t\x00=\x00\x22\x00u\
+\x00t\x00f\x00-\x008\x00\x22\x00 \x00/\x00>\
+\x00<\x00s\x00t\x00y\x00l\x00e\x00 \x00t\
+\x00y\x00p\x00e\x00=\x00\x22\x00t\x00e\x00x\
+\x00t\x00/\x00c\x00s\x00s\x00\x22\x00>\x00\x0a\
+\x00p\x00,\x00 \x00l\x00i\x00 \x00{\x00 \
+\x00w\x00h\x00i\x00t\x00e\x00-\x00s\x00p\
+\x00a\x00c\x00e\x00:\x00 \x00p\x00r\x00e\
+\x00-\x00w\x00r\x00a\x00p\x00;\x00 \x00}\
+\x00\x0a\x00h\x00r\x00 \x00{\x00 \x00h\x00e\
+\x00i\x00g\x00h\x00t\x00:\x00 \x001\x00p\
+\x00x\x00;\x00 \x00b\x00o\x00r\x00d\x00e\
+\x00r\x00-\x00w\x00i\x00d\x00t\x00h\x00:\
+\x00 \x000\x00;\x00 \x00}\x00\x0a\x00l\x00i\
+\x00.\x00u\x00n\x00c\x00h\x00e\x00c\x00k\
+\x00e\x00d\x00:\x00:\x00m\x00a\x00r\x00k\
+\x00e\x00r\x00 \x00{\x00 \x00c\x00o\x00n\
+\x00t\x00e\x00n\x00t\x00:\x00 \x00\x22\x00\x5c\
+\x002\x006\x001\x000\x00\x22\x00;\x00 \x00}\
+\x00\x0a\x00l\x00i\x00.\x00c\x00h\x00e\x00c\
+\x00k\x00e\x00d\x00:\x00:\x00m\x00a\x00r\
+\x00k\x00e\x00r\x00 \x00{\x00 \x00c\x00o\
+\x00n\x00t\x00e\x00n\x00t\x00:\x00 \x00\x22\
+\x00\x5c\x002\x006\x001\x002\x00\x22\x00;\x00 \
+\x00}\x00\x0a\x00<\x00/\x00s\x00t\x00y\x00l\
+\x00e\x00>\x00<\x00/\x00h\x00e\x00a\x00d\
+\x00>\x00<\x00b\x00o\x00d\x00y\x00 \x00s\
+\x00t\x00y\x00l\x00e\x00=\x00\x22\x00 \x00f\
+\x00o\x00n\x00t\x00-\x00f\x00a\x00m\x00i\
+\x00l\x00y\x00:\x00'\x00M\x00i\x00c\x00r\
+\x00o\x00s\x00o\x00f\x00t\x00 \x00Y\x00a\
+\x00H\x00e\x00i\x00 \x00U\x00I\x00'\x00;\
+\x00 \x00f\x00o\x00n\x00t\x00-\x00s\x00i\
+\x00z\x00e\x00:\x009\x00p\x00t\x00;\x00 \
+\x00f\x00o\x00n\x00t\x00-\x00w\x00e\x00i\
+\x00g\x00h\x00t\x00:\x004\x000\x000\x00;\
+\x00 \x00f\x00o\x00n\x00t\x00-\x00s\x00t\
+\x00y\x00l\x00e\x00:\x00n\x00o\x00r\x00m\
+\x00a\x00l\x00;\x00\x22\x00>\x00\x0a\x00<\x00p\
+\x00 \x00s\x00t\x00y\x00l\x00e\x00=\x00\x22\
+\x00 \x00m\x00a\x00r\x00g\x00i\x00n\x00-\
+\x00t\x00o\x00p\x00:\x001\x002\x00p\x00x\
+\x00;\x00 \x00m\x00a\x00r\x00g\x00i\x00n\
+\x00-\x00b\x00o\x00t\x00t\x00o\x00m\x00:\
+\x001\x002\x00p\x00x\x00;\x00 \x00m\x00a\
+\x00r\x00g\x00i\x00n\x00-\x00l\x00e\x00f\
+\x00t\x00:\x000\x00p\x00x\x00;\x00 \x00m\
+\x00a\x00r\x00g\x00i\x00n\x00-\x00r\x00i\
+\x00g\x00h\x00t\x00:\x000\x00p\x00x\x00;\
+\x00 \x00-\x00q\x00t\x00-\x00b\x00l\x00o\
+\x00c\x00k\x00-\x00i\x00n\x00d\x00e\x00n\
+\x00t\x00:\x000\x00;\x00 \x00t\x00e\x00x\
+\x00t\x00-\x00i\x00n\x00d\x00e\x00n\x00t\
+\x00:\x000\x00p\x00x\x00;\x00\x22\x00>\x00<\
+\x00s\x00p\x00a\x00n\x00 \x00s\x00t\x00y\
\x00l\x00e\x00=\x00\x22\x00 \x00f\x00o\x00n\
-\x00t\x00-\x00f\x00a\x00m\x00i\x00l\x00y\
-\x00:\x00'\x00M\x00i\x00c\x00r\x00o\x00s\
-\x00o\x00f\x00t\x00 \x00Y\x00a\x00H\x00e\
-\x00i\x00 \x00U\x00I\x00'\x00;\x00 \x00f\
-\x00o\x00n\x00t\x00-\x00s\x00i\x00z\x00e\
-\x00:\x009\x00p\x00t\x00;\x00 \x00f\x00o\
-\x00n\x00t\x00-\x00w\x00e\x00i\x00g\x00h\
-\x00t\x00:\x004\x000\x000\x00;\x00 \x00f\
-\x00o\x00n\x00t\x00-\x00s\x00t\x00y\x00l\
-\x00e\x00:\x00n\x00o\x00r\x00m\x00a\x00l\
-\x00;\x00\x22\x00>\x00\x0a\x00<\x00p\x00 \x00s\
-\x00t\x00y\x00l\x00e\x00=\x00\x22\x00 \x00m\
-\x00a\x00r\x00g\x00i\x00n\x00-\x00t\x00o\
-\x00p\x00:\x001\x002\x00p\x00x\x00;\x00 \
-\x00m\x00a\x00r\x00g\x00i\x00n\x00-\x00b\
-\x00o\x00t\x00t\x00o\x00m\x00:\x001\x002\
-\x00p\x00x\x00;\x00 \x00m\x00a\x00r\x00g\
-\x00i\x00n\x00-\x00l\x00e\x00f\x00t\x00:\
-\x000\x00p\x00x\x00;\x00 \x00m\x00a\x00r\
-\x00g\x00i\x00n\x00-\x00r\x00i\x00g\x00h\
-\x00t\x00:\x000\x00p\x00x\x00;\x00 \x00-\
-\x00q\x00t\x00-\x00b\x00l\x00o\x00c\x00k\
-\x00-\x00i\x00n\x00d\x00e\x00n\x00t\x00:\
-\x000\x00;\x00 \x00t\x00e\x00x\x00t\x00-\
-\x00i\x00n\x00d\x00e\x00n\x00t\x00:\x000\
-\x00p\x00x\x00;\x00\x22\x00>\x00<\x00s\x00p\
-\x00a\x00n\x00 \x00s\x00t\x00y\x00l\x00e\
-\x00=\x00\x22\x00 \x00f\x00o\x00n\x00t\x00-\
-\x00s\x00i\x00z\x00e\x00:\x006\x00p\x00t\
-\x00;\x00\x22\x00>\x00T\x00h\x00e\x00 \x00f\
-\x00o\x00l\x00l\x00o\x00w\x00i\x00n\x00g\
-\x00 \x00p\x00l\x00a\x00c\x00e\x00h\x00o\
-\x00l\x00d\x00e\x00r\x00s\x00 \x00a\x00r\
-\x00e\x00 \x00a\x00v\x00a\x00i\x00l\x00a\
-\x00b\x00l\x00e\x00<\x00/\x00p\x00>\x00\x0a\
-\x00<\x00p\x00 \x00s\x00t\x00y\x00l\x00e\
-\x00=\x00\x22\x00 \x00m\x00a\x00r\x00g\x00i\
-\x00n\x00-\x00t\x00o\x00p\x00:\x001\x002\
-\x00p\x00x\x00;\x00 \x00m\x00a\x00r\x00g\
-\x00i\x00n\x00-\x00b\x00o\x00t\x00t\x00o\
-\x00m\x00:\x001\x002\x00p\x00x\x00;\x00 \
-\x00m\x00a\x00r\x00g\x00i\x00n\x00-\x00l\
-\x00e\x00f\x00t\x00:\x000\x00p\x00x\x00;\
+\x00t\x00-\x00s\x00i\x00z\x00e\x00:\x006\
+\x00p\x00t\x00;\x00\x22\x00>\x00T\x00h\x00e\
+\x00 \x00f\x00o\x00l\x00l\x00o\x00w\x00i\
+\x00n\x00g\x00 \x00p\x00l\x00a\x00c\x00e\
+\x00h\x00o\x00l\x00d\x00e\x00r\x00s\x00 \
+\x00a\x00r\x00e\x00 \x00a\x00v\x00a\x00i\
+\x00l\x00a\x00b\x00l\x00e\x00<\x00/\x00p\
+\x00>\x00\x0a\x00<\x00p\x00 \x00s\x00t\x00y\
+\x00l\x00e\x00=\x00\x22\x00 \x00m\x00a\x00r\
+\x00g\x00i\x00n\x00-\x00t\x00o\x00p\x00:\
+\x001\x002\x00p\x00x\x00;\x00 \x00m\x00a\
+\x00r\x00g\x00i\x00n\x00-\x00b\x00o\x00t\
+\x00t\x00o\x00m\x00:\x001\x002\x00p\x00x\
+\x00;\x00 \x00m\x00a\x00r\x00g\x00i\x00n\
+\x00-\x00l\x00e\x00f\x00t\x00:\x000\x00p\
+\x00x\x00;\x00 \x00m\x00a\x00r\x00g\x00i\
+\x00n\x00-\x00r\x00i\x00g\x00h\x00t\x00:\
+\x000\x00p\x00x\x00;\x00 \x00-\x00q\x00t\
+\x00-\x00b\x00l\x00o\x00c\x00k\x00-\x00i\
+\x00n\x00d\x00e\x00n\x00t\x00:\x000\x00;\
+\x00 \x00t\x00e\x00x\x00t\x00-\x00i\x00n\
+\x00d\x00e\x00n\x00t\x00:\x000\x00p\x00x\
+\x00;\x00\x22\x00>\x00<\x00s\x00p\x00a\x00n\
+\x00 \x00s\x00t\x00y\x00l\x00e\x00=\x00\x22\
+\x00 \x00f\x00o\x00n\x00t\x00-\x00s\x00i\
+\x00z\x00e\x00:\x006\x00p\x00t\x00;\x00\x22\
+\x00>\x00S\x00o\x00n\x00g\x00 \x00t\x00i\
+\x00t\x00l\x00e\x00:\x00 \x00%\x00&\x00l\
+\x00t\x00;\x00t\x00i\x00t\x00l\x00e\x00&\
+\x00g\x00t\x00;\x00 \x00a\x00r\x00t\x00i\
+\x00s\x00t\x00:\x00%\x00&\x00l\x00t\x00;\
+\x00a\x00r\x00t\x00i\x00s\x00t\x00&\x00g\
+\x00t\x00;\x00<\x00/\x00s\x00p\x00a\x00n\
+\x00>\x00<\x00/\x00p\x00>\x00\x0a\x00<\x00p\
+\x00 \x00s\x00t\x00y\x00l\x00e\x00=\x00\x22\
\x00 \x00m\x00a\x00r\x00g\x00i\x00n\x00-\
-\x00r\x00i\x00g\x00h\x00t\x00:\x000\x00p\
-\x00x\x00;\x00 \x00-\x00q\x00t\x00-\x00b\
-\x00l\x00o\x00c\x00k\x00-\x00i\x00n\x00d\
-\x00e\x00n\x00t\x00:\x000\x00;\x00 \x00t\
-\x00e\x00x\x00t\x00-\x00i\x00n\x00d\x00e\
-\x00n\x00t\x00:\x000\x00p\x00x\x00;\x00\x22\
-\x00>\x00<\x00s\x00p\x00a\x00n\x00 \x00s\
-\x00t\x00y\x00l\x00e\x00=\x00\x22\x00 \x00f\
-\x00o\x00n\x00t\x00-\x00s\x00i\x00z\x00e\
-\x00:\x006\x00p\x00t\x00;\x00\x22\x00>\x00S\
-\x00o\x00n\x00g\x00 \x00t\x00i\x00t\x00l\
-\x00e\x00:\x00 \x00%\x00&\x00l\x00t\x00;\
-\x00t\x00i\x00t\x00l\x00e\x00&\x00g\x00t\
-\x00;\x00 \x00a\x00r\x00t\x00i\x00s\x00t\
-\x00:\x00%\x00&\x00l\x00t\x00;\x00a\x00r\
-\x00t\x00i\x00s\x00t\x00&\x00g\x00t\x00;\
+\x00t\x00o\x00p\x00:\x001\x002\x00p\x00x\
+\x00;\x00 \x00m\x00a\x00r\x00g\x00i\x00n\
+\x00-\x00b\x00o\x00t\x00t\x00o\x00m\x00:\
+\x001\x002\x00p\x00x\x00;\x00 \x00m\x00a\
+\x00r\x00g\x00i\x00n\x00-\x00l\x00e\x00f\
+\x00t\x00:\x000\x00p\x00x\x00;\x00 \x00m\
+\x00a\x00r\x00g\x00i\x00n\x00-\x00r\x00i\
+\x00g\x00h\x00t\x00:\x000\x00p\x00x\x00;\
+\x00 \x00-\x00q\x00t\x00-\x00b\x00l\x00o\
+\x00c\x00k\x00-\x00i\x00n\x00d\x00e\x00n\
+\x00t\x00:\x000\x00;\x00 \x00t\x00e\x00x\
+\x00t\x00-\x00i\x00n\x00d\x00e\x00n\x00t\
+\x00:\x000\x00p\x00x\x00;\x00\x22\x00>\x00<\
+\x00s\x00p\x00a\x00n\x00 \x00s\x00t\x00y\
+\x00l\x00e\x00=\x00\x22\x00 \x00f\x00o\x00n\
+\x00t\x00-\x00s\x00i\x00z\x00e\x00:\x006\
+\x00p\x00t\x00;\x00\x22\x00>\x00A\x00l\x00b\
+\x00u\x00m\x00 \x00n\x00a\x00m\x00e\x00:\
+\x00 \x00%\x00&\x00l\x00t\x00;\x00a\x00l\
+\x00b\x00u\x00m\x00&\x00g\x00t\x00;\x00 \
+\x00S\x00o\x00n\x00g\x00/\x00l\x00y\x00r\
+\x00i\x00c\x00s\x00 \x00i\x00d\x00:\x00 \
+\x00%\x00&\x00l\x00t\x00;\x00i\x00d\x00&\
+\x00g\x00t\x00;\x00<\x00/\x00s\x00p\x00a\
+\x00n\x00>\x00<\x00/\x00p\x00>\x00\x0a\x00<\
+\x00p\x00 \x00s\x00t\x00y\x00l\x00e\x00=\
+\x00\x22\x00 \x00m\x00a\x00r\x00g\x00i\x00n\
+\x00-\x00t\x00o\x00p\x00:\x001\x002\x00p\
+\x00x\x00;\x00 \x00m\x00a\x00r\x00g\x00i\
+\x00n\x00-\x00b\x00o\x00t\x00t\x00o\x00m\
+\x00:\x001\x002\x00p\x00x\x00;\x00 \x00m\
+\x00a\x00r\x00g\x00i\x00n\x00-\x00l\x00e\
+\x00f\x00t\x00:\x000\x00p\x00x\x00;\x00 \
+\x00m\x00a\x00r\x00g\x00i\x00n\x00-\x00r\
+\x00i\x00g\x00h\x00t\x00:\x000\x00p\x00x\
+\x00;\x00 \x00-\x00q\x00t\x00-\x00b\x00l\
+\x00o\x00c\x00k\x00-\x00i\x00n\x00d\x00e\
+\x00n\x00t\x00:\x000\x00;\x00 \x00t\x00e\
+\x00x\x00t\x00-\x00i\x00n\x00d\x00e\x00n\
+\x00t\x00:\x000\x00p\x00x\x00;\x00\x22\x00>\
+\x00<\x00s\x00p\x00a\x00n\x00 \x00s\x00t\
+\x00y\x00l\x00e\x00=\x00\x22\x00 \x00f\x00o\
+\x00n\x00t\x00-\x00s\x00i\x00z\x00e\x00:\
+\x006\x00p\x00t\x00;\x00\x22\x00>\x00L\x00y\
+\x00r\x00i\x00c\x00 \x00t\x00y\x00p\x00e\
+\x00:\x00 \x00%\x00&\x00l\x00t\x00;\x00t\
+\x00y\x00p\x00e\x00s\x00&\x00g\x00t\x00;\
\x00<\x00/\x00s\x00p\x00a\x00n\x00>\x00<\
-\x00/\x00p\x00>\x00\x0a\x00<\x00p\x00 \x00s\
-\x00t\x00y\x00l\x00e\x00=\x00\x22\x00 \x00m\
-\x00a\x00r\x00g\x00i\x00n\x00-\x00t\x00o\
-\x00p\x00:\x001\x002\x00p\x00x\x00;\x00 \
-\x00m\x00a\x00r\x00g\x00i\x00n\x00-\x00b\
-\x00o\x00t\x00t\x00o\x00m\x00:\x001\x002\
-\x00p\x00x\x00;\x00 \x00m\x00a\x00r\x00g\
-\x00i\x00n\x00-\x00l\x00e\x00f\x00t\x00:\
-\x000\x00p\x00x\x00;\x00 \x00m\x00a\x00r\
-\x00g\x00i\x00n\x00-\x00r\x00i\x00g\x00h\
-\x00t\x00:\x000\x00p\x00x\x00;\x00 \x00-\
-\x00q\x00t\x00-\x00b\x00l\x00o\x00c\x00k\
-\x00-\x00i\x00n\x00d\x00e\x00n\x00t\x00:\
-\x000\x00;\x00 \x00t\x00e\x00x\x00t\x00-\
-\x00i\x00n\x00d\x00e\x00n\x00t\x00:\x000\
-\x00p\x00x\x00;\x00\x22\x00>\x00<\x00s\x00p\
-\x00a\x00n\x00 \x00s\x00t\x00y\x00l\x00e\
-\x00=\x00\x22\x00 \x00f\x00o\x00n\x00t\x00-\
-\x00s\x00i\x00z\x00e\x00:\x006\x00p\x00t\
-\x00;\x00\x22\x00>\x00A\x00l\x00b\x00u\x00m\
-\x00 \x00n\x00a\x00m\x00e\x00:\x00 \x00%\
-\x00&\x00l\x00t\x00;\x00a\x00l\x00b\x00u\
-\x00m\x00&\x00g\x00t\x00;\x00 \x00S\x00o\
-\x00n\x00g\x00/\x00l\x00y\x00r\x00i\x00c\
-\x00s\x00 \x00i\x00d\x00:\x00 \x00%\x00&\
-\x00l\x00t\x00;\x00i\x00d\x00&\x00g\x00t\
-\x00;\x00<\x00/\x00s\x00p\x00a\x00n\x00>\
-\x00<\x00/\x00p\x00>\x00\x0a\x00<\x00p\x00 \
-\x00s\x00t\x00y\x00l\x00e\x00=\x00\x22\x00 \
-\x00m\x00a\x00r\x00g\x00i\x00n\x00-\x00t\
-\x00o\x00p\x00:\x001\x002\x00p\x00x\x00;\
-\x00 \x00m\x00a\x00r\x00g\x00i\x00n\x00-\
-\x00b\x00o\x00t\x00t\x00o\x00m\x00:\x001\
-\x002\x00p\x00x\x00;\x00 \x00m\x00a\x00r\
-\x00g\x00i\x00n\x00-\x00l\x00e\x00f\x00t\
-\x00:\x000\x00p\x00x\x00;\x00 \x00m\x00a\
-\x00r\x00g\x00i\x00n\x00-\x00r\x00i\x00g\
-\x00h\x00t\x00:\x000\x00p\x00x\x00;\x00 \
-\x00-\x00q\x00t\x00-\x00b\x00l\x00o\x00c\
-\x00k\x00-\x00i\x00n\x00d\x00e\x00n\x00t\
-\x00:\x000\x00;\x00 \x00t\x00e\x00x\x00t\
-\x00-\x00i\x00n\x00d\x00e\x00n\x00t\x00:\
-\x000\x00p\x00x\x00;\x00\x22\x00>\x00<\x00s\
-\x00p\x00a\x00n\x00 \x00s\x00t\x00y\x00l\
-\x00e\x00=\x00\x22\x00 \x00f\x00o\x00n\x00t\
-\x00-\x00s\x00i\x00z\x00e\x00:\x006\x00p\
-\x00t\x00;\x00\x22\x00>\x00L\x00y\x00r\x00i\
-\x00c\x00 \x00t\x00y\x00p\x00e\x00:\x00 \
-\x00%\x00&\x00l\x00t\x00;\x00t\x00y\x00p\
-\x00e\x00s\x00&\x00g\x00t\x00;\x00<\x00/\
-\x00s\x00p\x00a\x00n\x00>\x00<\x00/\x00p\
-\x00>\x00<\x00/\x00b\x00o\x00d\x00y\x00>\
-\x00<\x00/\x00h\x00t\x00m\x00l\x00>\x08\x00\
-\x00\x00\x00\x06\x00\x00\x04\xda\x0a\
-\x0a\xe4\
-\xbb\xa5\xe4\xb8\x8b\xe5\x8d\xa0\xe4\xbd\x8d\xe7\xac\xa6\xe5\x8f\
-\xaf\xe7\x94\xa8
\x0a\
-\xe6\xad\x8c\xe5\x90\x8d: %<tit\
-le> \xe8\x89\xba\xe6\x9c\xaf\xe5\xae\xb6\
-: %<artist>\
-;
\x0a\x00<\x00/\x00b\x00o\x00d\
+\x00y\x00>\x00<\x00/\x00h\x00t\x00m\x00l\
+\x00>\x08\x00\x00\x00\x00\x06\x00\x00\x04\xda\x0a
\
+head>\x0a\xe4\xbb\xa5\xe4\xb8\x8b\xe5\x8d\xa0\xe4\xbd\x8d\xe7\
+\xac\xa6\xe5\x8f\xaf\xe7\x94\xa8
\x0a\xe4\xb8\x93\xe8\xbe\x91\xe5\x90\x8d: %\
-<album> \xe6\xad\
-\x8c\xe6\x9b\xb2/\xe6\xad\x8c\xe8\xaf\x8did: %\
-<id>
\x0a<\
-span style=\x22 fon\
-t-size:8pt;\x22>\xe6\xad\x8c\
-\xe8\xaf\x8d\xe7\xb1\xbb\xe5\x9e\x8b: %<\
-types>\
-
\x07\x00\x00\x00\x08settings\x01\
-\x03\xff\xff\xff\xff\x08\x00\x00\x00\x00\x06\x00\x00\x00\x08C\
-RITICAL\x07\x00\x00\x00\x08sett\
-ings\x01\x03\xff\xff\xff\xff\x08\x00\x00\x00\x00\x06\
-\x00\x00\x00\x05DEBUG\x07\x00\x00\x00\x08se\
-ttings\x01\x03\xff\xff\xff\xff\x08\x00\x00\x00\
-\x00\x06\x00\x00\x00\x05ERROR\x07\x00\x00\x00\x08\
+t;\x22>\xe6\xad\x8c\xe5\x90\x8d: %<\
+;title> \xe8\x89\xba\xe6\x9c\
+\xaf\xe5\xae\xb6: %<artis\
+t>\
+\x0a\xe4\xb8\x93\xe8\xbe\x91\xe5\x90\
+\x8d: %<album>\
+; \xe6\xad\x8c\xe6\x9b\xb2/\xe6\xad\x8c\xe8\xaf\x8di\
+d: %<id>\
+span>
\x0a\xe6\xad\x8c\xe8\xaf\x8d\xe7\xb1\xbb\xe5\x9e\x8b: %\
+<types>
<\
+/html>\x07\x00\x00\x00\x08setti\
+ngs\x01\x03\xff\xff\xff\xff\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x08CRITICAL\x07\x00\x00\x00\x08\
settings\x01\x03\xff\xff\xff\xff\x08\x00\
-\x00\x00\x00\x06\x00\x00\x00\x04Form\x07\x00\x00\x00\
-\x08settings\x01\x03\xff\xff\xff\xff\x08\
-\x00\x00\x00\x00\x06\x00\x00\x00\x04INFO\x07\x00\x00\
+\x00\x00\x00\x06\x00\x00\x00\x05DEBUG\x07\x00\x00\
\x00\x08settings\x01\x03\xff\xff\xff\xff\
-\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06NOTSET\
+\x08\x00\x00\x00\x00\x06\x00\x00\x00\x05ERROR\x07\
+\x00\x00\x00\x08settings\x01\x03\xff\xff\
+\xff\xff\x08\x00\x00\x00\x00\x06\x00\x00\x00\x04Form\
\x07\x00\x00\x00\x08settings\x01\x03\xff\
-\xff\xff\xff\x08\x00\x00\x00\x00\x06\x00\x00\x00\x07WAR\
-NING\x07\x00\x00\x00\x08setting\
-s\x01\x03\x00\x00\x00\x0e\x00C\x00h\x00i\x00n\x00\
-e\x00s\x00e\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe4\
-\xb8\xad\xe6\x96\x87\x07\x00\x00\x00\x08settin\
-gs\x01\x03\x00\x00\x00\x82\x00S\x00k\x00i\x00p\
-\x00 \x00p\x00u\x00r\x00e\x00 \x00m\x00u\
-\x00s\x00i\x00c\x00 \x00w\x00h\x00e\x00n\
-\x00 \x00s\x00a\x00v\x00i\x00n\x00g\x00 \
-\x00a\x00l\x00b\x00u\x00m\x00s\x00/\x00p\
-\x00l\x00a\x00y\x00l\x00i\x00s\x00t\x00 \
-\x00l\x00y\x00r\x00i\x00c\x00s\x00/\x00l\
-\x00o\x00c\x00a\x00l\x00 \x00m\x00a\x00t\
-\x00c\x00h\x00i\x00n\x00g\x08\x00\x00\x00\x00\x06\
-\x00\x00\x008\xe4\xbf\x9d\xe5\xad\x98\xe4\xb8\x93\xe8\xbe\x91\
-/\xe6\xad\x8c\xe5\x8d\x95\xe6\xad\x8c\xe8\xaf\x8d/\xe6\x9c\
-\xac\xe5\x9c\xb0\xe5\x8c\xb9\xe9\x85\x8d\xe6\x97\xb6\xe8\xb7\xb3\
-\xe8\xbf\x87\xe7\xba\xaf\xe9\x9f\xb3\xe4\xb9\x90\x07\x00\x00\x00\
+\xff\xff\xff\x08\x00\x00\x00\x00\x06\x00\x00\x00\x04INF\
+O\x07\x00\x00\x00\x08settings\x01\x03\
+\xff\xff\xff\xff\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06NO\
+TSET\x07\x00\x00\x00\x08setting\
+s\x01\x03\xff\xff\xff\xff\x08\x00\x00\x00\x00\x06\x00\x00\x00\
+\x07WARNING\x07\x00\x00\x00\x08set\
+tings\x01\x03\x00\x00\x00\x0e\x00C\x00h\x00\
+i\x00n\x00e\x00s\x00e\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x06\xe4\xb8\xad\xe6\x96\x87\x07\x00\x00\x00\x08se\
+ttings\x01\x03\x00\x00\x00\x82\x00S\x00k\
+\x00i\x00p\x00 \x00p\x00u\x00r\x00e\x00 \
+\x00m\x00u\x00s\x00i\x00c\x00 \x00w\x00h\
+\x00e\x00n\x00 \x00s\x00a\x00v\x00i\x00n\
+\x00g\x00 \x00a\x00l\x00b\x00u\x00m\x00s\
+\x00/\x00p\x00l\x00a\x00y\x00l\x00i\x00s\
+\x00t\x00 \x00l\x00y\x00r\x00i\x00c\x00s\
+\x00/\x00l\x00o\x00c\x00a\x00l\x00 \x00m\
+\x00a\x00t\x00c\x00h\x00i\x00n\x00g\x08\x00\
+\x00\x00\x00\x06\x00\x00\x008\xe4\xbf\x9d\xe5\xad\x98\xe4\xb8\
+\x93\xe8\xbe\x91/\xe6\xad\x8c\xe5\x8d\x95\xe6\xad\x8c\xe8\xaf\
+\x8d/\xe6\x9c\xac\xe5\x9c\xb0\xe5\x8c\xb9\xe9\x85\x8d\xe6\x97\
+\xb6\xe8\xb7\xb3\xe8\xbf\x87\xe7\xba\xaf\xe9\x9f\xb3\xe4\xb9\x90\
+\x07\x00\x00\x00\x08settings\x01\x03\x00\
+\x00\x00\x1a\x00S\x00a\x00v\x00e\x00 \x00S\x00\
+e\x00t\x00t\x00i\x00n\x00g\x00s\x08\x00\x00\
+\x00\x00\x06\x00\x00\x00\x0c\xe4\xbf\x9d\xe5\xad\x98\xe8\xae\xbe\
+\xe7\xbd\xae\x07\x00\x00\x00\x08settings\
+\x01\x03\x00\x00\x00\x10\x00o\x00r\x00i\x00g\x00i\
+\x00n\x00a\x00l\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\
+\xe5\x8e\x9f\xe6\x96\x87\x07\x00\x00\x00\x08setti\
+ngs\x01\x03\x00\x00\x00\x12\x00L\x00o\x00g\x00\
+ \x00l\x00e\x00v\x00e\x00l\x08\x00\x00\x00\x00\
+\x06\x00\x00\x00\x0c\xe6\x97\xa5\xe5\xbf\x97\xe7\xad\x89\xe7\xba\
+\xa7\x07\x00\x00\x00\x08settings\x01\x03\
+\x00\x00\x00\x18\x00L\x00o\x00g\x00 \x00s\x00e\
+\x00t\x00t\x00i\x00n\x00g\x00s\x08\x00\x00\x00\
+\x00\x06\x00\x00\x00\x0c\xe6\x97\xa5\xe5\xbf\x97\xe8\xae\xbe\xe7\
+\xbd\xae\x07\x00\x00\x00\x08settings\x01\
+\x03\x00\x00\x00|\x00S\x00o\x00n\x00g\x00s\x00\
+ \x00a\x00u\x00t\x00o\x00m\x00a\x00t\x00\
+i\x00c\x00a\x00l\x00l\x00y\x00 \x00s\x00\
+e\x00l\x00e\x00c\x00t\x00e\x00d\x00 \x00\
+w\x00h\x00e\x00n\x00 \x00s\x00e\x00a\x00\
+r\x00c\x00h\x00i\x00n\x00g\x00 \x00f\x00\
+o\x00r\x00 \x00l\x00y\x00r\x00i\x00c\x00\
+s\x00 \x00(\x00K\x00u\x00g\x00o\x00u\x00\
+)\x08\x00\x00\x00\x00\x06\x00\x00\x00/\xe6\xad\x8c\xe6\x9b\
+\xb2\xe6\x90\x9c\xe7\xb4\xa2\xe6\xad\x8c\xe8\xaf\x8d\xe6\x97\xb6\
+\xe8\x87\xaa\xe5\x8a\xa8\xe9\x80\x89\xe6\x8b\xa9(\xe9\x85\xb7\
+\xe7\x8b\x97\xe9\x9f\xb3\xe4\xb9\x90)\x07\x00\x00\x00\x08s\
+ettings\x01\x03\x00\x00\x00.\x00L\x00\
+y\x00r\x00i\x00c\x00s\x00 \x00f\x00i\x00\
+l\x00e\x00 \x00n\x00a\x00m\x00e\x00 \x00\
+f\x00o\x00r\x00m\x00a\x00t\x08\x00\x00\x00\x00\
+\x06\x00\x00\x00\x15\xe6\xad\x8c\xe8\xaf\x8d\xe6\x96\x87\xe4\xbb\
+\xb6\xe5\x90\x8d\xe6\xa0\xbc\xe5\xbc\x8f\x07\x00\x00\x00\x08s\
+ettings\x01\x03\x00\x00\x00\x1e\x00L\x00\
+y\x00r\x00i\x00c\x00s\x00 \x00s\x00e\x00\
+t\x00t\x00i\x00n\x00g\x00s\x08\x00\x00\x00\x00\
+\x06\x00\x00\x00\x0c\xe6\xad\x8c\xe8\xaf\x8d\xe8\xae\xbe\xe7\xbd\
+\xae\x07\x00\x00\x00\x08settings\x01\x03\
+\x00\x00\x00\x12\x00r\x00o\x00m\x00a\x00n\x00i\
+\x00z\x00e\x00d\x08\x00\x00\x00\x00\x06\x00\x00\x00\x09\
+\xe7\xbd\x97\xe9\xa9\xac\xe9\x9f\xb3\x07\x00\x00\x00\x08se\
+ttings\x01\x03\x00\x00\x00\x08\x00A\x00u\
+\x00t\x00o\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\x87\
+\xaa\xe5\x8a\xa8\x07\x00\x00\x00\x08setting\
+s\x01\x03\x00\x00\x00\x0e\x00E\x00n\x00g\x00l\x00\
+i\x00s\x00h\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\
+\x8b\xb1\xe6\x96\x87\x07\x00\x00\x00\x08settin\
+gs\x01\x03\x00\x00\x00\x10\x00S\x00e\x00t\x00t\
+\x00i\x00n\x00g\x00s\x08\x00\x00\x00\x00\x06\x00\x00\
+\x00\x06\xe8\xae\xbe\xe7\xbd\xae\x07\x00\x00\x00\x08set\
+tings\x01\x03\x00\x00\x00\x16\x00t\x00r\x00\
+a\x00n\x00s\x00l\x00a\x00t\x00i\x00o\x00\
+n\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\xaf\x91\xe6\x96\
+\x87\x07\x00\x00\x00\x08settings\x01\x03\
+\x00\x00\x00\x22\x00l\x00a\x00n\x00g\x00u\x00a\
+\x00g\x00e\x00 \x00s\x00e\x00t\x00t\x00i\
+\x00n\x00g\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\
+\xe8\xaf\xad\xe8\xa8\x80\xe8\xae\xbe\xe7\xbd\xae\x07\x00\x00\x00\
\x08settings\x01\x03\x00\x00\x00\x1a\x00\
-S\x00a\x00v\x00e\x00 \x00S\x00e\x00t\x00\
-t\x00i\x00n\x00g\x00s\x08\x00\x00\x00\x00\x06\x00\
-\x00\x00\x0c\xe4\xbf\x9d\xe5\xad\x98\xe8\xae\xbe\xe7\xbd\xae\x07\
+S\x00e\x00l\x00e\x00c\x00t\x00 \x00f\x00\
+o\x00l\x00d\x00e\x00r\x08\x00\x00\x00\x00\x06\x00\
+\x00\x00\x0f\xe9\x80\x89\xe6\x8b\xa9\xe6\x96\x87\xe4\xbb\xb6\xe5\
+\xa4\xb9\x07\x00\x00\x00\x08settings\x01\
+\x03\x00\x00\x00\x0a\x00o\x00r\x00d\x00e\x00r\x08\
+\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe9\xa1\xba\xe5\xba\x8f\x07\
\x00\x00\x00\x08settings\x01\x03\x00\x00\
-\x00\x10\x00o\x00r\x00i\x00g\x00i\x00n\x00a\
-\x00l\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe5\x8e\x9f\xe6\
-\x96\x87\x07\x00\x00\x00\x08settings\x01\
-\x03\x00\x00\x00\x12\x00L\x00o\x00g\x00 \x00l\x00\
-e\x00v\x00e\x00l\x08\x00\x00\x00\x00\x06\x00\x00\x00\
-\x0c\xe6\x97\xa5\xe5\xbf\x97\xe7\xad\x89\xe7\xba\xa7\x07\x00\x00\
-\x00\x08settings\x01\x03\x00\x00\x00\x18\
-\x00L\x00o\x00g\x00 \x00s\x00e\x00t\x00t\
-\x00i\x00n\x00g\x00s\x08\x00\x00\x00\x00\x06\x00\x00\
-\x00\x0c\xe6\x97\xa5\xe5\xbf\x97\xe8\xae\xbe\xe7\xbd\xae\x07\x00\
-\x00\x00\x08settings\x01\x03\x00\x00\x00\
-|\x00S\x00o\x00n\x00g\x00s\x00 \x00a\x00\
-u\x00t\x00o\x00m\x00a\x00t\x00i\x00c\x00\
-a\x00l\x00l\x00y\x00 \x00s\x00e\x00l\x00\
-e\x00c\x00t\x00e\x00d\x00 \x00w\x00h\x00\
-e\x00n\x00 \x00s\x00e\x00a\x00r\x00c\x00\
-h\x00i\x00n\x00g\x00 \x00f\x00o\x00r\x00\
- \x00l\x00y\x00r\x00i\x00c\x00s\x00 \x00\
-(\x00K\x00u\x00g\x00o\x00u\x00)\x08\x00\x00\
-\x00\x00\x06\x00\x00\x00/\xe6\xad\x8c\xe6\x9b\xb2\xe6\x90\x9c\
-\xe7\xb4\xa2\xe6\xad\x8c\xe8\xaf\x8d\xe6\x97\xb6\xe8\x87\xaa\xe5\
-\x8a\xa8\xe9\x80\x89\xe6\x8b\xa9(\xe9\x85\xb7\xe7\x8b\x97\xe9\
-\x9f\xb3\xe4\xb9\x90)\x07\x00\x00\x00\x08setti\
-ngs\x01\x03\x00\x00\x00.\x00L\x00y\x00r\x00\
-i\x00c\x00s\x00 \x00f\x00i\x00l\x00e\x00\
- \x00n\x00a\x00m\x00e\x00 \x00f\x00o\x00\
-r\x00m\x00a\x00t\x08\x00\x00\x00\x00\x06\x00\x00\x00\
-\x15\xe6\xad\x8c\xe8\xaf\x8d\xe6\x96\x87\xe4\xbb\xb6\xe5\x90\x8d\
-\xe6\xa0\xbc\xe5\xbc\x8f\x07\x00\x00\x00\x08setti\
-ngs\x01\x03\x00\x00\x00\x1e\x00L\x00y\x00r\x00\
-i\x00c\x00s\x00 \x00s\x00e\x00t\x00t\x00\
-i\x00n\x00g\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\
-\x0c\xe6\xad\x8c\xe8\xaf\x8d\xe8\xae\xbe\xe7\xbd\xae\x07\x00\x00\
-\x00\x08settings\x01\x03\x00\x00\x00\x12\
-\x00r\x00o\x00m\x00a\x00n\x00i\x00z\x00e\
-\x00d\x08\x00\x00\x00\x00\x06\x00\x00\x00\x09\xe7\xbd\x97\xe9\
-\xa9\xac\xe9\x9f\xb3\x07\x00\x00\x00\x08settin\
-gs\x01\x03\x00\x00\x00\x08\x00A\x00u\x00t\x00o\
-\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\x87\xaa\xe5\x8a\xa8\
+\x00\x22\x00D\x00e\x00f\x00a\x00u\x00l\x00t\
+\x00 \x00s\x00a\x00v\x00e\x00 \x00p\x00a\
+\x00t\x00h\x08\x00\x00\x00\x00\x06\x00\x00\x00\x12\xe9\xbb\
+\x98\xe8\xae\xa4\xe4\xbf\x9d\xe5\xad\x98\xe8\xb7\xaf\xe5\xbe\x84\
\x07\x00\x00\x00\x08settings\x01\x03\x00\
-\x00\x00\x0e\x00E\x00n\x00g\x00l\x00i\x00s\x00\
-h\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\x8b\xb1\xe6\x96\
-\x87\x07\x00\x00\x00\x08settings\x01\x03\
-\x00\x00\x00\x10\x00S\x00e\x00t\x00t\x00i\x00n\
-\x00g\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x06\xe8\xae\
-\xbe\xe7\xbd\xae\x07\x00\x00\x00\x08setting\
-s\x01\x03\x00\x00\x00\x16\x00t\x00r\x00a\x00n\x00\
-s\x00l\x00a\x00t\x00i\x00o\x00n\x08\x00\x00\
-\x00\x00\x06\x00\x00\x00\x06\xe8\xaf\x91\xe6\x96\x87\x07\x00\x00\
-\x00\x08settings\x01\x03\x00\x00\x00\x22\
-\x00l\x00a\x00n\x00g\x00u\x00a\x00g\x00e\
-\x00 \x00s\x00e\x00t\x00t\x00i\x00n\x00g\
-\x00s\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0c\xe8\xaf\xad\xe8\
-\xa8\x80\xe8\xae\xbe\xe7\xbd\xae\x07\x00\x00\x00\x08set\
-tings\x01\x03\x00\x00\x00\x1a\x00S\x00e\x00\
-l\x00e\x00c\x00t\x00 \x00f\x00o\x00l\x00\
-d\x00e\x00r\x08\x00\x00\x00\x00\x06\x00\x00\x00\x0f\xe9\
-\x80\x89\xe6\x8b\xa9\xe6\x96\x87\xe4\xbb\xb6\xe5\xa4\xb9\x07\x00\
-\x00\x00\x08settings\x01\x03\x00\x00\x00\
-\x0a\x00o\x00r\x00d\x00e\x00r\x08\x00\x00\x00\x00\
-\x06\x00\x00\x00\x06\xe9\xa1\xba\xe5\xba\x8f\x07\x00\x00\x00\x08\
-settings\x01\x03\x00\x00\x00\x22\x00D\
-\x00e\x00f\x00a\x00u\x00l\x00t\x00 \x00s\
-\x00a\x00v\x00e\x00 \x00p\x00a\x00t\x00h\
-\x08\x00\x00\x00\x00\x06\x00\x00\x00\x12\xe9\xbb\x98\xe8\xae\xa4\
-\xe4\xbf\x9d\xe5\xad\x98\xe8\xb7\xaf\xe5\xbe\x84\x07\x00\x00\x00\
-\x08settings\x01\x03\x00\x00\x00 \x00\
+\x00\x00>\x00 \x00U\x00n\x00a\x00b\x00l\x00\
+e\x00 \x00t\x00o\x00 \x00g\x00e\x00t\x00\
+ \x00s\x00o\x00n\x00g\x00 \x00t\x00i\x00\
+t\x00l\x00e\x00,\x00 \x00s\x00k\x00i\x00\
+p\x08\x00\x00\x00\x00\x06\x00\x00\x00 \xe6\x97\xa0\xe6\
+\xb3\x95\xe8\x8e\xb7\xe5\x8f\x96\xe6\xad\x8c\xe6\x9b\xb2\xe6\xa0\
+\x87\xe9\xa2\x98,\xe8\xb7\xb3\xe8\xbf\x87\x07\x00\x00\x00\x09\
+song_info\x01\x03\x00\x00\x00 \x00\
F\x00i\x00l\x00e\x00 \x00n\x00o\x00t\x00\
\x00f\x00o\x00u\x00n\x00d\x00:\x00 \x08\
\x00\x00\x00\x00\x06\x00\x00\x00\x11\xe6\x9c\xaa\xe6\x89\xbe\xe5\
@@ -3891,7 +4012,7 @@
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00L\x00\x00\x00\x00\x00\x01\x00\x00\x93\xe0\
-\x00\x00\x01\x8e\xd2\xe1{\xa6\
+\x00\x00\x01\x8e\xd8j\x908\
\x00\x00\x00\x1c\x00\x02\x00\x00\x00\x01\x00\x00\x00\x05\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00(\x00\x02\x00\x00\x00\x01\x00\x00\x00\x06\
diff --git a/ui/encrypted_lyrics.ui b/ui/encrypted_lyrics.ui
index 62ca80f..2cc6b57 100644
--- a/ui/encrypted_lyrics.ui
+++ b/ui/encrypted_lyrics.ui
@@ -17,7 +17,7 @@
-
- QPlainTextEdit::NoWrap
+ QPlainTextEdit::LineWrapMode::NoWrap
@@ -40,7 +40,7 @@
- -
+
-
@@ -56,7 +56,7 @@
- -
+
-
@@ -69,6 +69,50 @@
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 偏移量:
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ false
+
+
+ QAbstractSpinBox::ButtonSymbols::UpDownArrows
+
+
+ false
+
+
+ false
+
+
+ -999999999
+
+
+ 999999999
+
+
+ 100
+
+
+
-
diff --git a/ui/encrypted_lyrics_ui.py b/ui/encrypted_lyrics_ui.py
index 4ccaf47..9e32651 100644
--- a/ui/encrypted_lyrics_ui.py
+++ b/ui/encrypted_lyrics_ui.py
@@ -3,7 +3,7 @@
################################################################################
## Form generated from reading UI file 'encrypted_lyrics.ui'
##
-## Created by: Qt User Interface Compiler version 6.6.2
+## Created by: Qt User Interface Compiler version 6.7.0
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
@@ -14,6 +14,7 @@
Qt,
)
from PySide6.QtWidgets import (
+ QAbstractSpinBox,
QCheckBox,
QComboBox,
QHBoxLayout,
@@ -21,6 +22,7 @@
QPlainTextEdit,
QPushButton,
QSizePolicy,
+ QSpinBox,
QVBoxLayout,
)
@@ -34,7 +36,7 @@ def setupUi(self, encrypted_lyrics):
self.verticalLayout.setObjectName(u"verticalLayout")
self.plainTextEdit = QPlainTextEdit(encrypted_lyrics)
self.plainTextEdit.setObjectName(u"plainTextEdit")
- self.plainTextEdit.setLineWrapMode(QPlainTextEdit.NoWrap)
+ self.plainTextEdit.setLineWrapMode(QPlainTextEdit.LineWrapMode.NoWrap)
self.verticalLayout.addWidget(self.plainTextEdit)
@@ -60,14 +62,41 @@ def setupUi(self, encrypted_lyrics):
self.translate_checkBox.setSizePolicy(sizePolicy)
self.translate_checkBox.setChecked(True)
- self.horizontalLayout_2.addWidget(self.translate_checkBox, 0, Qt.AlignLeft)
+ self.horizontalLayout_2.addWidget(self.translate_checkBox, 0, Qt.AlignmentFlag.AlignLeft)
self.romanized_checkBox = QCheckBox(encrypted_lyrics)
self.romanized_checkBox.setObjectName(u"romanized_checkBox")
sizePolicy.setHeightForWidth(self.romanized_checkBox.sizePolicy().hasHeightForWidth())
self.romanized_checkBox.setSizePolicy(sizePolicy)
- self.horizontalLayout_2.addWidget(self.romanized_checkBox, 0, Qt.AlignLeft)
+ self.horizontalLayout_2.addWidget(self.romanized_checkBox, 0, Qt.AlignmentFlag.AlignLeft)
+
+ self.label_5 = QLabel(encrypted_lyrics)
+ self.label_5.setObjectName(u"label_5")
+ sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Preferred)
+ sizePolicy1.setHorizontalStretch(0)
+ sizePolicy1.setVerticalStretch(0)
+ sizePolicy1.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
+ self.label_5.setSizePolicy(sizePolicy1)
+
+ self.horizontalLayout_2.addWidget(self.label_5)
+
+ self.offset_spinBox = QSpinBox(encrypted_lyrics)
+ self.offset_spinBox.setObjectName(u"offset_spinBox")
+ sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
+ sizePolicy2.setHorizontalStretch(0)
+ sizePolicy2.setVerticalStretch(0)
+ sizePolicy2.setHeightForWidth(self.offset_spinBox.sizePolicy().hasHeightForWidth())
+ self.offset_spinBox.setSizePolicy(sizePolicy2)
+ self.offset_spinBox.setWrapping(False)
+ self.offset_spinBox.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.UpDownArrows)
+ self.offset_spinBox.setAccelerated(False)
+ self.offset_spinBox.setProperty("showGroupSeparator", False)
+ self.offset_spinBox.setMinimum(-999999999)
+ self.offset_spinBox.setMaximum(999999999)
+ self.offset_spinBox.setSingleStep(100)
+
+ self.horizontalLayout_2.addWidget(self.offset_spinBox)
self.label_2 = QLabel(encrypted_lyrics)
self.label_2.setObjectName(u"label_2")
@@ -90,11 +119,11 @@ def setupUi(self, encrypted_lyrics):
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.open_pushButton = QPushButton(encrypted_lyrics)
self.open_pushButton.setObjectName(u"open_pushButton")
- sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Preferred)
- sizePolicy1.setHorizontalStretch(0)
- sizePolicy1.setVerticalStretch(0)
- sizePolicy1.setHeightForWidth(self.open_pushButton.sizePolicy().hasHeightForWidth())
- self.open_pushButton.setSizePolicy(sizePolicy1)
+ sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Preferred)
+ sizePolicy3.setHorizontalStretch(0)
+ sizePolicy3.setVerticalStretch(0)
+ sizePolicy3.setHeightForWidth(self.open_pushButton.sizePolicy().hasHeightForWidth())
+ self.open_pushButton.setSizePolicy(sizePolicy3)
self.horizontalLayout.addWidget(self.open_pushButton)
@@ -105,8 +134,8 @@ def setupUi(self, encrypted_lyrics):
self.save_pushButton = QPushButton(encrypted_lyrics)
self.save_pushButton.setObjectName(u"save_pushButton")
- sizePolicy1.setHeightForWidth(self.save_pushButton.sizePolicy().hasHeightForWidth())
- self.save_pushButton.setSizePolicy(sizePolicy1)
+ sizePolicy3.setHeightForWidth(self.save_pushButton.sizePolicy().hasHeightForWidth())
+ self.save_pushButton.setSizePolicy(sizePolicy3)
self.horizontalLayout.addWidget(self.save_pushButton)
@@ -125,6 +154,7 @@ def retranslateUi(self, encrypted_lyrics):
self.original_checkBox.setText(QCoreApplication.translate("encrypted_lyrics", u"\u539f\u6587", None))
self.translate_checkBox.setText(QCoreApplication.translate("encrypted_lyrics", u"\u8bd1\u6587", None))
self.romanized_checkBox.setText(QCoreApplication.translate("encrypted_lyrics", u"\u7f57\u9a6c\u97f3", None))
+ self.label_5.setText(QCoreApplication.translate("encrypted_lyrics", u"\u504f\u79fb\u91cf:", None))
self.label_2.setText(QCoreApplication.translate("encrypted_lyrics", u"\u8f6c\u6362\u7684\u683c\u5f0f\uff1a", None))
self.lyricsformat_comboBox.setItemText(0, QCoreApplication.translate("encrypted_lyrics", u"LRC(\u9010\u5b57)", None))
self.lyricsformat_comboBox.setItemText(1, QCoreApplication.translate("encrypted_lyrics", u"LRC(\u9010\u884c)", None))
diff --git a/ui/local_match.ui b/ui/local_match.ui
index 45ab42e..70a816a 100644
--- a/ui/local_match.ui
+++ b/ui/local_match.ui
@@ -89,10 +89,33 @@
保存
+
-
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 选择文件夹路径
+
+
+
-
-
-
-
-
+
+
-
+
+
+ 歌词文件名:
+
+
+
+ -
+
0
@@ -104,10 +127,10 @@
- -
+
-
-
+
0
0
@@ -135,50 +158,10 @@
- -
-
-
- Qt::Orientation::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 选择文件夹路径
-
-
-
- -
-
-
-
-
-
- 歌词文件名:
-
-
-
- -
+
-
-
+
0
0
@@ -201,19 +184,6 @@
- -
-
-
- Qt::Orientation::Horizontal
-
-
-
- 40
- 20
-
-
-
-
@@ -225,169 +195,59 @@
歌词
- -
-
-
-
+
-
+
+
-
歌词类型:
- -
-
-
- 原文
-
-
- true
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 译文
-
-
- true
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 罗马音
-
-
-
-
-
- -
-
-
-
-
+
-
+
-
-
-
-
-
-
- 歌词来源:
-
-
-
- -
-
-
-
-
-
- QQ音乐
-
-
- true
-
-
-
- -
-
-
- 网易云音乐
-
-
-
- -
-
-
- 酷狗音乐
-
-
-
-
-
- -
-
-
- 优先顺序:
-
-
-
-
+
+
+ 原文
+
+
+ true
+
+
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 0
-
-
-
-
- 96
- 64
-
-
-
- QAbstractItemView::DragDropMode::DragDrop
-
-
- Qt::DropAction::MoveAction
-
-
-
-
- QQ音乐
-
+
-
+
+
+
+ 0
+ 0
+
+
+
+ 译文
+
+
+ true
+
+
- -
-
- 酷狗音乐
-
+
-
+
+
+
+ 0
+ 0
+
+
+
+ 罗马音
+
+
- -
-
- 网易云音乐
-
-
-
-
- -
-
-
- Qt::Orientation::Horizontal
-
-
-
- 40
- 20
-
-
-
+
-
-
- -
-
-
-
+
-
@@ -400,7 +260,7 @@
- -
+
-
-
@@ -426,6 +286,132 @@
+ -
+
+
-
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ 酷狗音乐
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 歌词来源:
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ QQ音乐
+
+
+ true
+
+
+ false
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 网易云音乐
+
+
+
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ 优先顺序:
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 96
+ 64
+
+
+
+ QAbstractItemView::DragDropMode::DragDrop
+
+
+ Qt::DropAction::MoveAction
+
+
-
+
+ QQ音乐
+
+
+ -
+
+ 酷狗音乐
+
+
+ -
+
+ 网易云音乐
+
+
+
+
+
+
+
+
diff --git a/ui/local_match_ui.py b/ui/local_match_ui.py
index efba2c8..794cde6 100644
--- a/ui/local_match_ui.py
+++ b/ui/local_match_ui.py
@@ -101,71 +101,61 @@ def setupUi(self, local_match):
self.groupBox.setObjectName(u"groupBox")
self.gridLayout = QGridLayout(self.groupBox)
self.gridLayout.setObjectName(u"gridLayout")
- self.horizontalLayout = QHBoxLayout()
- self.horizontalLayout.setObjectName(u"horizontalLayout")
- self.label_5 = QLabel(self.groupBox)
- self.label_5.setObjectName(u"label_5")
+ self.save_path_lineEdit = QLineEdit(self.groupBox)
+ self.save_path_lineEdit.setObjectName(u"save_path_lineEdit")
+
+ self.gridLayout.addWidget(self.save_path_lineEdit, 1, 0, 1, 1)
+
+ self.save_path_pushButton = QPushButton(self.groupBox)
+ self.save_path_pushButton.setObjectName(u"save_path_pushButton")
+ sizePolicy1.setHeightForWidth(self.save_path_pushButton.sizePolicy().hasHeightForWidth())
+ self.save_path_pushButton.setSizePolicy(sizePolicy1)
+
+ self.gridLayout.addWidget(self.save_path_pushButton, 1, 1, 1, 1)
+
+ self.gridLayout_7 = QGridLayout()
+ self.gridLayout_7.setObjectName(u"gridLayout_7")
+ self.label_8 = QLabel(self.groupBox)
+ self.label_8.setObjectName(u"label_8")
+
+ self.gridLayout_7.addWidget(self.label_8, 1, 0, 1, 1)
+
+ self.label_11 = QLabel(self.groupBox)
+ self.label_11.setObjectName(u"label_11")
sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Fixed, QSizePolicy.Policy.Preferred)
sizePolicy2.setHorizontalStretch(0)
sizePolicy2.setVerticalStretch(0)
- sizePolicy2.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
- self.label_5.setSizePolicy(sizePolicy2)
+ sizePolicy2.setHeightForWidth(self.label_11.sizePolicy().hasHeightForWidth())
+ self.label_11.setSizePolicy(sizePolicy2)
- self.horizontalLayout.addWidget(self.label_5)
+ self.gridLayout_7.addWidget(self.label_11, 0, 0, 1, 1)
self.save_mode_comboBox = QComboBox(self.groupBox)
self.save_mode_comboBox.addItem("")
self.save_mode_comboBox.addItem("")
self.save_mode_comboBox.addItem("")
self.save_mode_comboBox.setObjectName(u"save_mode_comboBox")
- sizePolicy1.setHeightForWidth(self.save_mode_comboBox.sizePolicy().hasHeightForWidth())
- self.save_mode_comboBox.setSizePolicy(sizePolicy1)
+ sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed)
+ sizePolicy3.setHorizontalStretch(0)
+ sizePolicy3.setVerticalStretch(0)
+ sizePolicy3.setHeightForWidth(self.save_mode_comboBox.sizePolicy().hasHeightForWidth())
+ self.save_mode_comboBox.setSizePolicy(sizePolicy3)
self.save_mode_comboBox.setMinimumSize(QSize(194, 0))
- self.horizontalLayout.addWidget(self.save_mode_comboBox)
-
- self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
-
- self.horizontalLayout.addItem(self.horizontalSpacer)
-
-
- self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1)
-
- self.save_path_lineEdit = QLineEdit(self.groupBox)
- self.save_path_lineEdit.setObjectName(u"save_path_lineEdit")
-
- self.gridLayout.addWidget(self.save_path_lineEdit, 2, 0, 1, 1)
-
- self.save_path_pushButton = QPushButton(self.groupBox)
- self.save_path_pushButton.setObjectName(u"save_path_pushButton")
- sizePolicy1.setHeightForWidth(self.save_path_pushButton.sizePolicy().hasHeightForWidth())
- self.save_path_pushButton.setSizePolicy(sizePolicy1)
-
- self.gridLayout.addWidget(self.save_path_pushButton, 2, 1, 1, 1)
-
- self.horizontalLayout_2 = QHBoxLayout()
- self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
- self.label_6 = QLabel(self.groupBox)
- self.label_6.setObjectName(u"label_6")
-
- self.horizontalLayout_2.addWidget(self.label_6)
+ self.gridLayout_7.addWidget(self.save_mode_comboBox, 0, 1, 1, 1)
self.lyrics_filename_mode_comboBox = QComboBox(self.groupBox)
self.lyrics_filename_mode_comboBox.addItem("")
self.lyrics_filename_mode_comboBox.addItem("")
self.lyrics_filename_mode_comboBox.setObjectName(u"lyrics_filename_mode_comboBox")
- sizePolicy1.setHeightForWidth(self.lyrics_filename_mode_comboBox.sizePolicy().hasHeightForWidth())
- self.lyrics_filename_mode_comboBox.setSizePolicy(sizePolicy1)
+ sizePolicy3.setHeightForWidth(self.lyrics_filename_mode_comboBox.sizePolicy().hasHeightForWidth())
+ self.lyrics_filename_mode_comboBox.setSizePolicy(sizePolicy3)
self.lyrics_filename_mode_comboBox.setMinimumSize(QSize(133, 0))
- self.horizontalLayout_2.addWidget(self.lyrics_filename_mode_comboBox)
-
- self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
-
- self.horizontalLayout_2.addItem(self.horizontalSpacer_2)
+ self.gridLayout_7.addWidget(self.lyrics_filename_mode_comboBox, 1, 1, 1, 1)
- self.gridLayout.addLayout(self.horizontalLayout_2, 1, 0, 1, 1)
+ self.gridLayout.addLayout(self.gridLayout_7, 0, 0, 1, 1)
self.verticalLayout.addWidget(self.groupBox)
@@ -174,13 +164,15 @@ def setupUi(self, local_match):
self.groupBox_2.setObjectName(u"groupBox_2")
self.gridLayout_2 = QGridLayout(self.groupBox_2)
self.gridLayout_2.setObjectName(u"gridLayout_2")
- self.horizontalLayout_3 = QHBoxLayout()
- self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
+ self.gridLayout_5 = QGridLayout()
+ self.gridLayout_5.setObjectName(u"gridLayout_5")
self.label_9 = QLabel(self.groupBox_2)
self.label_9.setObjectName(u"label_9")
- self.horizontalLayout_3.addWidget(self.label_9)
+ self.gridLayout_5.addWidget(self.label_9, 0, 0, 1, 1)
+ self.horizontalLayout_3 = QHBoxLayout()
+ self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
self.original_checkBox = QCheckBox(self.groupBox_2)
self.original_checkBox.setObjectName(u"original_checkBox")
self.original_checkBox.setChecked(True)
@@ -203,92 +195,92 @@ def setupUi(self, local_match):
self.horizontalLayout_3.addWidget(self.romanized_checkBox, 0, Qt.AlignmentFlag.AlignLeft)
- self.gridLayout_2.addLayout(self.horizontalLayout_3, 0, 0, 1, 1)
+ self.gridLayout_5.addLayout(self.horizontalLayout_3, 0, 1, 1, 1)
+
+ self.label_10 = QLabel(self.groupBox_2)
+ self.label_10.setObjectName(u"label_10")
+ sizePolicy2.setHeightForWidth(self.label_10.sizePolicy().hasHeightForWidth())
+ self.label_10.setSizePolicy(sizePolicy2)
+
+ self.gridLayout_5.addWidget(self.label_10, 1, 0, 1, 1)
+
+ self.lyricsformat_comboBox = QComboBox(self.groupBox_2)
+ self.lyricsformat_comboBox.addItem("")
+ self.lyricsformat_comboBox.addItem("")
+ self.lyricsformat_comboBox.addItem("")
+ self.lyricsformat_comboBox.addItem("")
+ self.lyricsformat_comboBox.setObjectName(u"lyricsformat_comboBox")
+
+ self.gridLayout_5.addWidget(self.lyricsformat_comboBox, 1, 1, 1, 1)
+
+
+ self.gridLayout_2.addLayout(self.gridLayout_5, 1, 0, 1, 1)
- self.horizontalLayout_4 = QHBoxLayout()
- self.horizontalLayout_4.setObjectName(u"horizontalLayout_4")
- self.verticalLayout_2 = QVBoxLayout()
- self.verticalLayout_2.setObjectName(u"verticalLayout_2")
self.horizontalLayout_5 = QHBoxLayout()
self.horizontalLayout_5.setObjectName(u"horizontalLayout_5")
+ self.gridLayout_3 = QGridLayout()
+ self.gridLayout_3.setObjectName(u"gridLayout_3")
+ self.kg_checkBox = QCheckBox(self.groupBox_2)
+ self.kg_checkBox.setObjectName(u"kg_checkBox")
+ sizePolicy1.setHeightForWidth(self.kg_checkBox.sizePolicy().hasHeightForWidth())
+ self.kg_checkBox.setSizePolicy(sizePolicy1)
+
+ self.gridLayout_3.addWidget(self.kg_checkBox, 2, 1, 1, 1)
+
self.label_7 = QLabel(self.groupBox_2)
self.label_7.setObjectName(u"label_7")
+ sizePolicy2.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
+ self.label_7.setSizePolicy(sizePolicy2)
- self.horizontalLayout_5.addWidget(self.label_7, 0, Qt.AlignmentFlag.AlignTop)
+ self.gridLayout_3.addWidget(self.label_7, 0, 0, 1, 1)
- self.verticalLayout_4 = QVBoxLayout()
- self.verticalLayout_4.setObjectName(u"verticalLayout_4")
self.qm_checkBox = QCheckBox(self.groupBox_2)
self.qm_checkBox.setObjectName(u"qm_checkBox")
+ sizePolicy1.setHeightForWidth(self.qm_checkBox.sizePolicy().hasHeightForWidth())
+ self.qm_checkBox.setSizePolicy(sizePolicy1)
self.qm_checkBox.setChecked(True)
+ self.qm_checkBox.setTristate(False)
- self.verticalLayout_4.addWidget(self.qm_checkBox)
+ self.gridLayout_3.addWidget(self.qm_checkBox, 0, 1, 1, 1)
self.ne_checkBox = QCheckBox(self.groupBox_2)
self.ne_checkBox.setObjectName(u"ne_checkBox")
+ sizePolicy1.setHeightForWidth(self.ne_checkBox.sizePolicy().hasHeightForWidth())
+ self.ne_checkBox.setSizePolicy(sizePolicy1)
- self.verticalLayout_4.addWidget(self.ne_checkBox)
-
- self.kg_checkBox = QCheckBox(self.groupBox_2)
- self.kg_checkBox.setObjectName(u"kg_checkBox")
-
- self.verticalLayout_4.addWidget(self.kg_checkBox)
+ self.gridLayout_3.addWidget(self.ne_checkBox, 1, 1, 1, 1)
- self.horizontalLayout_5.addLayout(self.verticalLayout_4)
+ self.horizontalLayout_5.addLayout(self.gridLayout_3)
+ self.gridLayout_4 = QGridLayout()
+ self.gridLayout_4.setObjectName(u"gridLayout_4")
self.label_2 = QLabel(self.groupBox_2)
self.label_2.setObjectName(u"label_2")
+ sizePolicy2.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
+ self.label_2.setSizePolicy(sizePolicy2)
- self.horizontalLayout_5.addWidget(self.label_2, 0, Qt.AlignmentFlag.AlignTop)
-
-
- self.verticalLayout_2.addLayout(self.horizontalLayout_5)
-
-
- self.horizontalLayout_4.addLayout(self.verticalLayout_2)
+ self.gridLayout_4.addWidget(self.label_2, 0, 0, 1, 1, Qt.AlignmentFlag.AlignTop)
self.source_listWidget = QListWidget(self.groupBox_2)
QListWidgetItem(self.source_listWidget)
QListWidgetItem(self.source_listWidget)
QListWidgetItem(self.source_listWidget)
self.source_listWidget.setObjectName(u"source_listWidget")
- sizePolicy1.setHeightForWidth(self.source_listWidget.sizePolicy().hasHeightForWidth())
- self.source_listWidget.setSizePolicy(sizePolicy1)
+ sizePolicy3.setHeightForWidth(self.source_listWidget.sizePolicy().hasHeightForWidth())
+ self.source_listWidget.setSizePolicy(sizePolicy3)
self.source_listWidget.setMinimumSize(QSize(0, 0))
self.source_listWidget.setMaximumSize(QSize(96, 64))
self.source_listWidget.setDragDropMode(QAbstractItemView.DragDropMode.DragDrop)
self.source_listWidget.setDefaultDropAction(Qt.DropAction.MoveAction)
- self.horizontalLayout_4.addWidget(self.source_listWidget)
+ self.gridLayout_4.addWidget(self.source_listWidget, 0, 1, 1, 1, Qt.AlignmentFlag.AlignLeft)
- self.horizontalSpacer_4 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
- self.horizontalLayout_4.addItem(self.horizontalSpacer_4)
+ self.horizontalLayout_5.addLayout(self.gridLayout_4)
- self.gridLayout_2.addLayout(self.horizontalLayout_4, 2, 0, 1, 1)
-
- self.horizontalLayout_9 = QHBoxLayout()
- self.horizontalLayout_9.setObjectName(u"horizontalLayout_9")
- self.label_10 = QLabel(self.groupBox_2)
- self.label_10.setObjectName(u"label_10")
- sizePolicy2.setHeightForWidth(self.label_10.sizePolicy().hasHeightForWidth())
- self.label_10.setSizePolicy(sizePolicy2)
-
- self.horizontalLayout_9.addWidget(self.label_10)
-
- self.lyricsformat_comboBox = QComboBox(self.groupBox_2)
- self.lyricsformat_comboBox.addItem("")
- self.lyricsformat_comboBox.addItem("")
- self.lyricsformat_comboBox.addItem("")
- self.lyricsformat_comboBox.addItem("")
- self.lyricsformat_comboBox.setObjectName(u"lyricsformat_comboBox")
-
- self.horizontalLayout_9.addWidget(self.lyricsformat_comboBox)
-
-
- self.gridLayout_2.addLayout(self.horizontalLayout_9, 1, 0, 1, 1)
+ self.gridLayout_2.addLayout(self.horizontalLayout_5, 0, 0, 1, 1)
self.verticalLayout.addWidget(self.groupBox_2)
@@ -335,13 +327,13 @@ def retranslateUi(self, local_match):
self.label_4.setText(QCoreApplication.translate("local_match", u"\u4e3a\u672c\u5730\u6b4c\u66f2\u6587\u4ef6\u5339\u914d\u6b4c\u8bcd", None))
self.song_path_pushButton.setText(QCoreApplication.translate("local_match", u"\u9009\u62e9\u8981\u904d\u5386\u7684\u6587\u4ef6\u5939", None))
self.groupBox.setTitle(QCoreApplication.translate("local_match", u"\u4fdd\u5b58", None))
- self.label_5.setText(QCoreApplication.translate("local_match", u"\u6b4c\u8bcd\u4fdd\u5b58\u6a21\u5f0f:", None))
+ self.save_path_pushButton.setText(QCoreApplication.translate("local_match", u"\u9009\u62e9\u6587\u4ef6\u5939\u8def\u5f84", None))
+ self.label_8.setText(QCoreApplication.translate("local_match", u"\u6b4c\u8bcd\u6587\u4ef6\u540d:", None))
+ self.label_11.setText(QCoreApplication.translate("local_match", u"\u6b4c\u8bcd\u4fdd\u5b58\u6a21\u5f0f:", None))
self.save_mode_comboBox.setItemText(0, QCoreApplication.translate("local_match", u"\u4fdd\u5b58\u5230\u6b4c\u66f2\u6587\u4ef6\u5939\u7684\u955c\u50cf\u6587\u4ef6\u5939", None))
self.save_mode_comboBox.setItemText(1, QCoreApplication.translate("local_match", u"\u4fdd\u5b58\u5230\u6b4c\u66f2\u6587\u4ef6\u5939", None))
self.save_mode_comboBox.setItemText(2, QCoreApplication.translate("local_match", u"\u4fdd\u5b58\u5230\u6307\u5b9a\u6587\u4ef6\u5939", None))
- self.save_path_pushButton.setText(QCoreApplication.translate("local_match", u"\u9009\u62e9\u6587\u4ef6\u5939\u8def\u5f84", None))
- self.label_6.setText(QCoreApplication.translate("local_match", u"\u6b4c\u8bcd\u6587\u4ef6\u540d:", None))
self.lyrics_filename_mode_comboBox.setItemText(0, QCoreApplication.translate("local_match", u"\u4e0e\u8bbe\u7f6e\u4e2d\u7684\u683c\u5f0f\u76f8\u540c", None))
self.lyrics_filename_mode_comboBox.setItemText(1, QCoreApplication.translate("local_match", u"\u4e0e\u6b4c\u66f2\u6587\u4ef6\u540d\u76f8\u540c", None))
@@ -350,10 +342,16 @@ def retranslateUi(self, local_match):
self.original_checkBox.setText(QCoreApplication.translate("local_match", u"\u539f\u6587", None))
self.translate_checkBox.setText(QCoreApplication.translate("local_match", u"\u8bd1\u6587", None))
self.romanized_checkBox.setText(QCoreApplication.translate("local_match", u"\u7f57\u9a6c\u97f3", None))
+ self.label_10.setText(QCoreApplication.translate("local_match", u"\u6b4c\u8bcd\u683c\u5f0f:", None))
+ self.lyricsformat_comboBox.setItemText(0, QCoreApplication.translate("local_match", u"LRC(\u9010\u5b57)", None))
+ self.lyricsformat_comboBox.setItemText(1, QCoreApplication.translate("local_match", u"LRC(\u9010\u884c)", None))
+ self.lyricsformat_comboBox.setItemText(2, QCoreApplication.translate("local_match", u"SRT", None))
+ self.lyricsformat_comboBox.setItemText(3, QCoreApplication.translate("local_match", u"ASS", None))
+
+ self.kg_checkBox.setText(QCoreApplication.translate("local_match", u"\u9177\u72d7\u97f3\u4e50", None))
self.label_7.setText(QCoreApplication.translate("local_match", u"\u6b4c\u8bcd\u6765\u6e90:", None))
self.qm_checkBox.setText(QCoreApplication.translate("local_match", u"QQ\u97f3\u4e50", None))
self.ne_checkBox.setText(QCoreApplication.translate("local_match", u"\u7f51\u6613\u4e91\u97f3\u4e50", None))
- self.kg_checkBox.setText(QCoreApplication.translate("local_match", u"\u9177\u72d7\u97f3\u4e50", None))
self.label_2.setText(QCoreApplication.translate("local_match", u"\u4f18\u5148\u987a\u5e8f:", None))
__sortingEnabled = self.source_listWidget.isSortingEnabled()
@@ -366,12 +364,6 @@ def retranslateUi(self, local_match):
___qlistwidgetitem2.setText(QCoreApplication.translate("local_match", u"\u7f51\u6613\u4e91\u97f3\u4e50", None));
self.source_listWidget.setSortingEnabled(__sortingEnabled)
- self.label_10.setText(QCoreApplication.translate("local_match", u"\u6b4c\u8bcd\u683c\u5f0f:", None))
- self.lyricsformat_comboBox.setItemText(0, QCoreApplication.translate("local_match", u"LRC(\u9010\u5b57)", None))
- self.lyricsformat_comboBox.setItemText(1, QCoreApplication.translate("local_match", u"LRC(\u9010\u884c)", None))
- self.lyricsformat_comboBox.setItemText(2, QCoreApplication.translate("local_match", u"SRT", None))
- self.lyricsformat_comboBox.setItemText(3, QCoreApplication.translate("local_match", u"ASS", None))
-
self.start_cancel_pushButton.setText(QCoreApplication.translate("local_match", u"\u5f00\u59cb\u5339\u914d", None))
# retranslateUi
diff --git a/ui/search.ui b/ui/search.ui
index fac55fe..f83f24d 100644
--- a/ui/search.ui
+++ b/ui/search.ui
@@ -98,10 +98,10 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
- QSizePolicy::Fixed
+ QSizePolicy::Policy::Fixed
@@ -121,7 +121,7 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
@@ -142,7 +142,7 @@
- Qt::Horizontal
+ Qt::Orientation::Horizontal
true
@@ -179,13 +179,13 @@
返回
- Qt::ToolButtonTextBesideIcon
+ Qt::ToolButtonStyle::ToolButtonTextBesideIcon
false
- Qt::LeftArrow
+ Qt::ArrowType::LeftArrow
@@ -198,28 +198,28 @@
- Qt::ScrollBarAsNeeded
+ Qt::ScrollBarPolicy::ScrollBarAsNeeded
- QAbstractScrollArea::AdjustIgnored
+ QAbstractScrollArea::SizeAdjustPolicy::AdjustIgnored
- QAbstractItemView::NoEditTriggers
+ QAbstractItemView::EditTrigger::NoEditTriggers
false
- QAbstractItemView::SingleSelection
+ QAbstractItemView::SelectionMode::SingleSelection
- QAbstractItemView::SelectRows
+ QAbstractItemView::SelectionBehavior::SelectRows
false
- Qt::SolidLine
+ Qt::PenStyle::SolidLine
true
@@ -316,7 +316,7 @@
- QPlainTextEdit::NoWrap
+ QPlainTextEdit::LineWrapMode::NoWrap
true
@@ -418,6 +418,38 @@
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 偏移量:
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ -999999999
+
+
+ 999999999
+
+
+ 100
+
+
+
-
@@ -464,10 +496,10 @@
-
- Qt::Vertical
+ Qt::Orientation::Vertical
- QSizePolicy::Preferred
+ QSizePolicy::Policy::Preferred
@@ -482,10 +514,10 @@
-
- Qt::Horizontal
+ Qt::Orientation::Horizontal
- QSizePolicy::Maximum
+ QSizePolicy::Policy::Maximum
diff --git a/ui/search_ui.py b/ui/search_ui.py
index 6ab4af8..151ba94 100644
--- a/ui/search_ui.py
+++ b/ui/search_ui.py
@@ -3,13 +3,20 @@
################################################################################
## Form generated from reading UI file 'search.ui'
##
-## Created by: Qt User Interface Compiler version 6.6.2
+## Created by: Qt User Interface Compiler version 6.7.0
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
-from PySide6.QtCore import QCoreApplication, QMetaObject, QSize, Qt
-from PySide6.QtGui import QFont
+from PySide6.QtCore import (
+ QCoreApplication,
+ QMetaObject,
+ QSize,
+ Qt,
+)
+from PySide6.QtGui import (
+ QFont,
+)
from PySide6.QtWidgets import (
QAbstractItemView,
QAbstractScrollArea,
@@ -22,6 +29,7 @@
QPushButton,
QSizePolicy,
QSpacerItem,
+ QSpinBox,
QSplitter,
QToolButton,
QVBoxLayout,
@@ -105,7 +113,7 @@ def setupUi(self, search):
sizePolicy1.setVerticalStretch(0)
sizePolicy1.setHeightForWidth(self.splitter.sizePolicy().hasHeightForWidth())
self.splitter.setSizePolicy(sizePolicy1)
- self.splitter.setOrientation(Qt.Horizontal)
+ self.splitter.setOrientation(Qt.Orientation.Horizontal)
self.splitter.setOpaqueResize(True)
self.splitter.setHandleWidth(5)
self.splitter.setChildrenCollapsible(False)
@@ -126,9 +134,9 @@ def setupUi(self, search):
self.return_toolButton = QToolButton(self.layoutWidget_2)
self.return_toolButton.setObjectName(u"return_toolButton")
- self.return_toolButton.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
+ self.return_toolButton.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon)
self.return_toolButton.setAutoRaise(False)
- self.return_toolButton.setArrowType(Qt.LeftArrow)
+ self.return_toolButton.setArrowType(Qt.ArrowType.LeftArrow)
self.verticalLayout_3.addWidget(self.return_toolButton)
@@ -136,14 +144,14 @@ def setupUi(self, search):
self.results_tableWidget.setObjectName(u"results_tableWidget")
sizePolicy1.setHeightForWidth(self.results_tableWidget.sizePolicy().hasHeightForWidth())
self.results_tableWidget.setSizePolicy(sizePolicy1)
- self.results_tableWidget.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded)
- self.results_tableWidget.setSizeAdjustPolicy(QAbstractScrollArea.AdjustIgnored)
- self.results_tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)
+ self.results_tableWidget.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAsNeeded)
+ self.results_tableWidget.setSizeAdjustPolicy(QAbstractScrollArea.SizeAdjustPolicy.AdjustIgnored)
+ self.results_tableWidget.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
self.results_tableWidget.setProperty("showDropIndicator", False)
- self.results_tableWidget.setSelectionMode(QAbstractItemView.SingleSelection)
- self.results_tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)
+ self.results_tableWidget.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
+ self.results_tableWidget.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows)
self.results_tableWidget.setShowGrid(False)
- self.results_tableWidget.setGridStyle(Qt.SolidLine)
+ self.results_tableWidget.setGridStyle(Qt.PenStyle.SolidLine)
self.results_tableWidget.horizontalHeader().setVisible(True)
self.results_tableWidget.horizontalHeader().setCascadingSectionResizes(False)
self.results_tableWidget.horizontalHeader().setDefaultSectionSize(100)
@@ -204,7 +212,7 @@ def setupUi(self, search):
sizePolicy2.setVerticalStretch(0)
sizePolicy2.setHeightForWidth(self.preview_plainTextEdit.sizePolicy().hasHeightForWidth())
self.preview_plainTextEdit.setSizePolicy(sizePolicy2)
- self.preview_plainTextEdit.setLineWrapMode(QPlainTextEdit.NoWrap)
+ self.preview_plainTextEdit.setLineWrapMode(QPlainTextEdit.LineWrapMode.NoWrap)
self.preview_plainTextEdit.setReadOnly(True)
self.verticalLayout_8.addWidget(self.preview_plainTextEdit)
@@ -274,6 +282,26 @@ def setupUi(self, search):
self.horizontalLayout_8.addWidget(self.romanized_checkBox)
+ self.label_5 = QLabel(search)
+ self.label_5.setObjectName(u"label_5")
+ sizePolicy3.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
+ self.label_5.setSizePolicy(sizePolicy3)
+
+ self.horizontalLayout_8.addWidget(self.label_5)
+
+ self.offset_spinBox = QSpinBox(search)
+ self.offset_spinBox.setObjectName(u"offset_spinBox")
+ sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Fixed)
+ sizePolicy5.setHorizontalStretch(0)
+ sizePolicy5.setVerticalStretch(0)
+ sizePolicy5.setHeightForWidth(self.offset_spinBox.sizePolicy().hasHeightForWidth())
+ self.offset_spinBox.setSizePolicy(sizePolicy5)
+ self.offset_spinBox.setMinimum(-999999999)
+ self.offset_spinBox.setMaximum(999999999)
+ self.offset_spinBox.setSingleStep(100)
+
+ self.horizontalLayout_8.addWidget(self.offset_spinBox)
+
self.verticalLayout_9.addLayout(self.horizontalLayout_8)
@@ -311,21 +339,21 @@ def setupUi(self, search):
self.save_list_lyrics_pushButton = QPushButton(search)
self.save_list_lyrics_pushButton.setObjectName(u"save_list_lyrics_pushButton")
- sizePolicy5 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Preferred)
- sizePolicy5.setHorizontalStretch(0)
- sizePolicy5.setVerticalStretch(0)
- sizePolicy5.setHeightForWidth(self.save_list_lyrics_pushButton.sizePolicy().hasHeightForWidth())
- self.save_list_lyrics_pushButton.setSizePolicy(sizePolicy5)
+ sizePolicy6 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Preferred)
+ sizePolicy6.setHorizontalStretch(0)
+ sizePolicy6.setVerticalStretch(0)
+ sizePolicy6.setHeightForWidth(self.save_list_lyrics_pushButton.sizePolicy().hasHeightForWidth())
+ self.save_list_lyrics_pushButton.setSizePolicy(sizePolicy6)
self.horizontalLayout_3.addWidget(self.save_list_lyrics_pushButton)
self.save_preview_lyric_pushButton = QPushButton(search)
self.save_preview_lyric_pushButton.setObjectName(u"save_preview_lyric_pushButton")
- sizePolicy6 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Maximum)
- sizePolicy6.setHorizontalStretch(0)
- sizePolicy6.setVerticalStretch(0)
- sizePolicy6.setHeightForWidth(self.save_preview_lyric_pushButton.sizePolicy().hasHeightForWidth())
- self.save_preview_lyric_pushButton.setSizePolicy(sizePolicy6)
+ sizePolicy7 = QSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Maximum)
+ sizePolicy7.setHorizontalStretch(0)
+ sizePolicy7.setVerticalStretch(0)
+ sizePolicy7.setHeightForWidth(self.save_preview_lyric_pushButton.sizePolicy().hasHeightForWidth())
+ self.save_preview_lyric_pushButton.setSizePolicy(sizePolicy7)
self.save_preview_lyric_pushButton.setMinimumSize(QSize(92, 85))
self.horizontalLayout_3.addWidget(self.save_preview_lyric_pushButton)
@@ -363,6 +391,7 @@ def retranslateUi(self, search):
self.original_checkBox.setText(QCoreApplication.translate("search", u"\u539f\u6587", None))
self.translate_checkBox.setText(QCoreApplication.translate("search", u"\u8bd1\u6587", None))
self.romanized_checkBox.setText(QCoreApplication.translate("search", u"\u7f57\u9a6c\u97f3", None))
+ self.label_5.setText(QCoreApplication.translate("search", u"\u504f\u79fb\u91cf:", None))
self.label_9.setText(QCoreApplication.translate("search", u"\u6b4c\u8bcd\u683c\u5f0f:", None))
self.lyricsformat_comboBox.setItemText(0, QCoreApplication.translate("search", u"LRC(\u9010\u5b57)", None))
self.lyricsformat_comboBox.setItemText(1, QCoreApplication.translate("search", u"LRC(\u9010\u884c)", None))
diff --git a/utils/api.py b/utils/api.py
index f17f659..ce5a48d 100644
--- a/utils/api.py
+++ b/utils/api.py
@@ -632,6 +632,8 @@ def kg_search(info: str | dict, search_type: SearchType, page: int = 1) -> str |
"duration": duration,
"hash": hash_,
}
+ case _:
+ return f"错误: 未知搜索类型{search_type!s}"
try:
response = requests.get(url, params=params, timeout=3)
response.raise_for_status()
diff --git a/utils/lyrics.py b/utils/lyrics.py
index 635fcfb..4b74f38 100644
--- a/utils/lyrics.py
+++ b/utils/lyrics.py
@@ -559,30 +559,56 @@ def download_and_decrypt(self) -> tuple[str | None, LyricsProcessingError | None
return QCoreApplication.translate("lyrics", "没有获取到歌词(orig=None)"), LyricsProcessingError.NOT_FOUND
return None, None
- def get_merge_lrc(self, lyrics_order: list, lyrics_format: LyricsFormat = LyricsFormat.VERBATIMLRC) -> str:
+ def get_merge_lrc(self, lyrics_order: list, lyrics_format: LyricsFormat = LyricsFormat.VERBATIMLRC, offset: int = 0) -> str:
"""
合并歌词
:param lyrics_order:歌词顺序,同时决定需要合并的类型
+ :param lyrics_format:歌词格式
+ :param offset:偏移量
:return: 合并后的歌词
"""
if len(lyrics_order) == 0:
logging.warning("没有需要合并的歌词")
return ""
- lyrics = [(key, lyric) for key, lyric in self.items() if key in lyrics_order]
+ if offset != 0:
+ lyrics_dict: dict[str, list[tuple[int | None, int | None, list[tuple[int | None, int | None, str]]]]] = {}
+
+ def _offset_time(time: int | None) -> int | None:
+ if isinstance(time, int):
+ if time + offset > 0:
+ return time + offset
+ return 0
+ return time
+
+ for lrc_type, lrc_list in self.items():
+ lyrics_dict[lrc_type] = []
+ for lrc_line in lrc_list:
+ l_s = _offset_time(lrc_line[0])
+ l_e = _offset_time(lrc_line[1])
+ words = []
+ for word in lrc_line[2]:
+ w_s = _offset_time(word[0])
+ w_e = _offset_time(word[1])
+ words.append((w_s, w_e, word[2]))
+ lyrics_dict[lrc_type].append((l_s, l_e, words))
+ else:
+ lyrics_dict: dict[str, list[tuple[int | None, int | None, list[tuple[int | None, int | None, str]]]]] = self
+
+ lyrics = [(key, lyric) for key, lyric in lyrics_dict.items() if key in lyrics_order]
if 'orig' not in lyrics: # 确保只勾选译文与罗马音时正常合并时
- lyrics.append(('orig', self['orig']))
+ lyrics.append(('orig', lyrics_dict['orig']))
end_time_pattern = re.compile(r"(\[\d+:\d+\.\d+\])$")
mapping_tables = {}
lyric_lines = []
- if "ts" in self:
- mapping_tables["ts"] = find_closest_match(self["orig"], self["ts"], list3=self.get("orig_lrc", None), source=self.source)
- if "roma" in self:
- mapping_tables["roma"] = find_closest_match(self["orig"], self["roma"], list3=self.get("orig_lrc", None), source=self.source)
+ if "ts" in lyrics_dict:
+ mapping_tables["ts"] = find_closest_match(lyrics_dict["orig"], lyrics_dict["ts"], list3=lyrics_dict.get("orig_lrc"), source=self.source)
+ if "roma" in lyrics_dict:
+ mapping_tables["roma"] = find_closest_match(lyrics_dict["orig"], lyrics_dict["roma"], list3=lyrics_dict.get("orig_lrc"), source=self.source)
if self.lrc_types["orig"] == LyricsType.PlainText:
lyrics_format = LyricsFormat.LINEBYLINELRC
@@ -608,7 +634,7 @@ def get_full_line(mapping_table: dict, orig_linelist: list) -> str:
return f"[{ms2formattime(orig_linelist[0])}]{line_str}[{ms2formattime(orig_linelist[1])}]"
return line_str
- for orig_linelist in self["orig"]:
+ for orig_linelist in lyrics_dict["orig"]:
lines = ""
full_orig_line = linelist2str(orig_linelist, bool(lyrics_format == LyricsFormat.VERBATIMLRC)) # 此时line为完整的原文歌词行
@@ -631,11 +657,11 @@ def get_full_line(mapping_table: dict, orig_linelist: list) -> str:
case LyricsFormat.SRT:
srt_lines = []
- for i, orig_linelist in enumerate(self["orig"]):
+ for i, orig_linelist in enumerate(lyrics_dict["orig"]):
sn = i + 1
if orig_linelist[1] is None:
- if i + 1 < len(self["orig"]):
- endtime = self["orig"][i + 1][0]
+ if i + 1 < len(lyrics_dict["orig"]):
+ endtime = lyrics_dict["orig"][i + 1][0]
elif self.duration is not None:
endtime = self.duration * 1000
else:
@@ -684,13 +710,13 @@ def get_full_line(mapping_table: dict, orig_linelist: list) -> str:
"Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text"])
for lrc_type in lyrics_order[::-1]:
if lrc_type in mapping_tables or lrc_type == "orig":
- for i, orig_linelist in enumerate(self["orig"]):
+ for i, orig_linelist in enumerate(lyrics_dict["orig"]):
ass_line = "Dialogue: 0,"
if orig_linelist[1] is None:
- if i + 1 < len(self["orig"]):
- endtime = self["orig"][i + 1][0]
+ if i + 1 < len(lyrics_dict["orig"]):
+ endtime = lyrics_dict["orig"][i + 1][0]
elif self.duration is not None:
- endtime = self.duration * 1000
+ endtime = lyrics_dict.duration * 1000
else:
endtime = orig_linelist[0] + 10000 # 加十秒
else:
diff --git a/utils/song_info.py b/utils/song_info.py
index c0c7001..841953f 100644
--- a/utils/song_info.py
+++ b/utils/song_info.py
@@ -33,7 +33,7 @@ def get_audio_file_info(file_path: str) -> dict | str:
elif "TIT2" in audio and "�" not in str(audio["TIT2"][0]):
title = str(audio["TIT2"][0])
else:
- return f"{file_path}无法获取歌曲标题,跳过"
+ return file_path + QCoreApplication.translate("song_info", " 无法获取歌曲标题,跳过")
if "artist" in audio and "�" not in str(audio["artist"][0]):
artist = str(audio["artist"][0])
@@ -66,7 +66,7 @@ def get_audio_file_info(file_path: str) -> dict | str:
"file_path": file_path,
}
if metadata["title"] is None:
- return f"{file_path}无法获取歌曲标题,跳过"
+ return file_path + QCoreApplication.translate("song_info", " 无法获取歌曲标题,跳过")
return metadata
except Exception as e:
logging.exception(f"{file_path}获取文件信息失败")
diff --git a/utils/worker.py b/utils/worker.py
index 825edfe..9983a24 100644
--- a/utils/worker.py
+++ b/utils/worker.py
@@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: Copyright (c) 2024 沉默の金
+import json
import logging
import os
import re
@@ -195,9 +196,8 @@ def run(self) -> None:
if not search_return:
self.signals.error.emit(
QCoreApplication.translate("LyricProcess",
- "搜索歌词没有任何结果,源:{source}, 歌名:{title}, : {hash}").format(source=song_info['source'],
- song_info=song_info['title'],
- hash=song_info['hash']))
+ "搜索歌词没有任何结果,源:{0}, 歌名:{1}, : {2}").format(
+ song_info['source'], song_info['title'], song_info['hash']))
continue
info = song_info
info.update(search_return[0])
@@ -226,7 +226,7 @@ def get_lyrics(self, song_info: dict) -> tuple[None | Lyrics, bool]:
song_name_str = "歌名:" + song_info['title']
if error1 is not None:
logging.error(f"获取歌词失败:{song_name_str}, 源:{song_info['source']}, id: {song_info['id']},错误:{error1}")
- self.signals.error.emit(f"获取 {song_name_str} 加密歌词失败:{error1}")
+ self.signals.error.emit(QCoreApplication.translate("LyricProcess", "获取 {0} 加密歌词失败:{1}").format(song_name_str, error1))
return None, False
if error1_type != LyricsProcessingError.REQUEST and not from_cache: # 如果不是请求错误则缓存
@@ -244,7 +244,7 @@ def get_merged_lyric(self, song_info: dict, lyric_type: list) -> bool:
self.data_mutex.unlock()
try:
- merged_lyric = lyrics.get_merge_lrc(lyrics_order, self.task["lyrics_format"])
+ merged_lyric = lyrics.get_merge_lrc(lyrics_order, self.task["lyrics_format"], self.task.get("offset", 0))
except Exception as e:
logging.exception("合并歌词失败")
self.signals.error.emit(QCoreApplication.translate("LyricProcess", "合并歌词失败:{0}").format(str(e)))
@@ -448,14 +448,16 @@ def search_and_get(self, info: dict) -> list:
if (self.skip_inst_lyrics and scores[0][0]['source'] == Source.KG and
scores[0][0]['language'] in ["纯音乐", '伴奏']):
if 'artist' in info:
- msg = (f"[{self.current_index}/{self.total_index}]本地: {info['artist']} - {info['title']} " +
+ msg = (f"[{self.current_index}/{self.total_index}]" +
+ QCoreApplication.translate("LocalMatch", "本地") + f": {info['artist']} - {info['title']} " +
QCoreApplication.translate("LocalMatch", "搜索结果") +
- f":{scores[0][0]['artist']} - {scores[0][0]['title']}" +
+ f":{scores[0][0]['artist']} - {scores[0][0]['title']} " +
QCoreApplication.translate("LocalMatch", "跳过纯音乐"))
else:
- msg = (f"[{self.current_index}/{self.total_index}]本地: {info['title']} " +
+ msg = (f"[{self.current_index}/{self.total_index}]" +
+ QCoreApplication.translate("LocalMatch", "本地") + f"{info['title']} " +
QCoreApplication.translate("LocalMatch", "搜索结果") +
- f":{scores[0][0]['artist']} - {scores[0][0]['title']}" +
+ f":{scores[0][0]['artist']} - {scores[0][0]['title']} " +
QCoreApplication.translate("LocalMatch", "跳过纯音乐"))
self.signals.massage.emit(msg)
return None, None
@@ -463,10 +465,12 @@ def search_and_get(self, info: dict) -> list:
logging.debug(f"scores: {scores}")
# Step 2 搜索歌词
from_cache = False
- for index, data in enumerate(scores):
+
+ index = 0
+ while index < len(scores):
if not self.is_running:
return None, None
- song_info, score = data
+ song_info, score = scores[index]
if song_info['source'] == Source.KG:
keyword = {"keyword": f"{song_info['artist']} - {song_info['title']}",
"duration": song_info["duration"], "hash": song_info["hash"]}
@@ -483,13 +487,15 @@ def search_and_get(self, info: dict) -> list:
break
if isinstance(search_return, str):
self.signals.error.emit(search_return, 0)
+ scores.pop(index)
continue
if not search_return:
- scores.remove(data)
+ scores.pop(index)
continue
cache[("serach", str(keyword), SearchType.LYRICS, Source.KG)] = search_return
scores[index][0].update(search_return[0])
+ index += 1
# Step 3 获取歌词
from_cache = False
@@ -547,22 +553,22 @@ def search_and_get(self, info: dict) -> list:
msg = (f"[{self.current_index}/{self.total_index}]" +
QCoreApplication.translate("LocalMatch", "本地") + f": {info['artist']} - {info['title']} " +
QCoreApplication.translate("LocalMatch", "搜索结果") +
- f":{scores[0][0]['artist']} - {scores[0][0]['title']}" + QCoreApplication.translate("LocalMatch", "跳过纯音乐"))
+ f":{scores[0][0]['artist']} - {scores[0][0]['title']} " + QCoreApplication.translate("LocalMatch", "跳过纯音乐"))
else:
msg = (f"[{self.current_index}/{self.total_index}]" +
QCoreApplication.translate("LocalMatch", "本地") + f": {info['artist']} - {info['title']} " +
QCoreApplication.translate("LocalMatch", "搜索结果") +
- f":{song_info['artist']} - {song_info['title']}" + QCoreApplication.translate("LocalMatch", "歌词获取失败"))
+ f":{song_info['artist']} - {song_info['title']} " + QCoreApplication.translate("LocalMatch", "歌词获取失败"))
elif inst:
msg = (f"[{self.current_index}/{self.total_index}]" +
QCoreApplication.translate("LocalMatch", "本地") + f": {info['title']} " +
QCoreApplication.translate("LocalMatch", "搜索结果") +
- f":{scores[0][0]['artist']} - {scores[0][0]['title']}" + QCoreApplication.translate("LocalMatch", "跳过纯音乐"))
+ f":{scores[0][0]['artist']} - {scores[0][0]['title']} " + QCoreApplication.translate("LocalMatch", "跳过纯音乐"))
else:
msg = (f"[{self.current_index}/{self.total_index}]" +
QCoreApplication.translate("LocalMatch", "本地") + f": {info['title']} " +
QCoreApplication.translate("LocalMatch", "搜索结果") +
- f":{song_info['artist']} - {song_info['title']}" + QCoreApplication.translate("LocalMatch", "歌词获取失败"))
+ f":{song_info['artist']} - {song_info['title']} " + QCoreApplication.translate("LocalMatch", "歌词获取失败"))
self.signals.massage.emit(msg)
return None, None
@@ -590,7 +596,7 @@ def run(self) -> None:
cue_count += 1
else:
logging.warning(f"没有在cue文件 {file_path} 解析到歌曲")
- self.signals.error.emit(f"没有在cue文件 {file_path} 解析到歌曲", 0)
+ self.signals.error.emit(QCoreApplication.translate("LocalMatch", "没有在cue文件 {0} 解析到歌曲").format(file_path), 0)
except Exception as e:
logging.exception("处理cue文件时错误")
self.signals.error.emit(f"处理cue文件时错误:{e}", 0)
@@ -622,7 +628,6 @@ def run(self) -> None:
# Step 3 根据信息搜索并获取歌词
self.signals.massage.emit(QCoreApplication.translate("LocalMatch", "正在搜索并获取歌词..."))
merged_lyric = None
- import json
logging.debug(f"song_infos: {json.dumps(song_infos, indent=4, ensure_ascii=False)}")
self.total_index = len(song_infos)
for index, song_info in enumerate(song_infos):
diff --git a/view/about.py b/view/about.py
index cbf55d8..2988e6d 100644
--- a/view/about.py
+++ b/view/about.py
@@ -28,3 +28,7 @@ def init_ui(self) -> None:
def connect_signals(self) -> None:
self.github_pushButton.clicked.connect(lambda: QDesktopServices.openUrl(QUrl("https://github.com/chenmozhijin/LDDC")))
self.githubissues_pushButton.clicked.connect(lambda: QDesktopServices.openUrl(QUrl("https://github.com/chenmozhijin/LDDC/issues")))
+
+ def retranslateUi(self, about: QWidget) -> None:
+ super().retranslateUi(about)
+ self.init_ui()
diff --git a/view/encrypted_lyrics.py b/view/encrypted_lyrics.py
index 4ddf791..a281537 100644
--- a/view/encrypted_lyrics.py
+++ b/view/encrypted_lyrics.py
@@ -30,6 +30,7 @@ def connect_signals(self) -> None:
self.original_checkBox.stateChanged.connect(self.change_lyrics_type)
self.lyricsformat_comboBox.currentIndexChanged.connect(self.change_lyrics_format)
+ self.offset_spinBox.valueChanged.connect(self.change_offset)
def get_lyric_type(self) -> list:
lyric_type = []
@@ -88,7 +89,7 @@ def convert(self) -> None:
self.lyrics.tags, lyric = qrc2list(lyrics)
self.lyrics["orig"] = lyric
self.lyrics.lrc_types["orig"] = LyricsType.QRC
- lrc = self.lyrics.get_merge_lrc(["orig"], LyricsFormat(self.lyricsformat_comboBox.currentIndex()))
+ lrc = self.lyrics.get_merge_lrc(["orig"], LyricsFormat(self.lyricsformat_comboBox.currentIndex()), offset=self.offset_spinBox.value())
elif self.lyrics_type == "krc":
self.data_mutex.lock()
type_mapping = {"原文": "orig", "译文": "ts", "罗马音": "roma"}
@@ -101,7 +102,7 @@ def convert(self) -> None:
self.lyrics.lrc_types["orig"] = LyricsType.KRC
self.lyrics.lrc_types["ts"] = LyricsType.JSONLINE
self.lyrics.lrc_types["roma"] = LyricsType.JSONVERBATIM
- lrc = self.lyrics.get_merge_lrc(lyrics_order, LyricsFormat(self.lyricsformat_comboBox.currentIndex()))
+ lrc = self.lyrics.get_merge_lrc(lyrics_order, LyricsFormat(self.lyricsformat_comboBox.currentIndex()), offset=self.offset_spinBox.value())
except Exception as e:
logging.exception("转换失败")
QMessageBox.critical(self, self.tr("错误"), self.tr("转换失败:") + str(e))
@@ -114,7 +115,7 @@ def update_lyrics(self) -> None:
self.data_mutex.lock()
lyrics_order = [type_mapping[type_] for type_ in self.data.cfg["lyrics_order"] if type_mapping[type_] in self.get_lyric_type()]
self.data_mutex.unlock()
- self.plainTextEdit.setPlainText(self.lyrics.get_merge_lrc(lyrics_order, LyricsFormat(self.lyricsformat_comboBox.currentIndex())))
+ self.plainTextEdit.setPlainText(self.lyrics.get_merge_lrc(lyrics_order, LyricsFormat(self.lyricsformat_comboBox.currentIndex()), offset=self.offset_spinBox.value()))
def change_lyrics_type(self) -> None:
if self.lyrics_type == "converted" and isinstance(self.lyrics, Lyrics) and self.lyrics.source == Source.KG:
@@ -124,8 +125,19 @@ def change_lyrics_format(self) -> None:
if self.lyrics_type == "converted" and isinstance(self.lyrics, Lyrics):
self.update_lyrics()
+ def change_offset(self) -> None:
+ if self.lyrics_type == "converted" and isinstance(self.lyrics, Lyrics):
+ self.update_lyrics()
+
def save(self) -> None:
- file_path, _ = QFileDialog.getSaveFileName(self, self.tr("保存文件"), "", self.tr("歌词文件 (*.lrc *.srt *.ass)"))
+ match self.lyricsformat_comboBox.currentIndex():
+ case 0 | 1:
+ ext = "(*.lrc)"
+ case 2:
+ ext = "(*.srt)"
+ case 3:
+ ext = "(*.ass)"
+ file_path, _ = QFileDialog.getSaveFileName(self, self.tr("保存文件"), "", self.tr("歌词文件 ") + ext)
if file_path == "":
return
try:
diff --git a/view/local_match.py b/view/local_match.py
index 526a7ce..b8dd4ae 100644
--- a/view/local_match.py
+++ b/view/local_match.py
@@ -47,6 +47,12 @@ def connect_signals(self) -> None:
self.start_cancel_pushButton.clicked.connect(self.start_cancel_button_clicked)
+ def retranslateUi(self, local_match: QWidget) -> None:
+ super().retranslateUi(local_match)
+ self.save_mode_changed(self.save_mode_comboBox.currentIndex())
+ if self.running:
+ self.start_cancel_pushButton.setText(self.tr("取消匹配"))
+
def select_path(self, path_line_edit: QLineEdit) -> None:
path = QFileDialog.getExistingDirectory(self, self.tr("选择文件夹"), dir=path_line_edit.text())
if path:
diff --git a/view/search.py b/view/search.py
index 21998b2..9171e13 100644
--- a/view/search.py
+++ b/view/search.py
@@ -66,6 +66,7 @@ def connect_signals(self) -> None:
self.romanized_checkBox.stateChanged.connect(self.update_preview_lyric)
self.original_checkBox.stateChanged.connect(self.update_preview_lyric)
self.lyricsformat_comboBox.currentTextChanged.connect(self.update_preview_lyric)
+ self.offset_spinBox.valueChanged.connect(self.update_preview_lyric)
self.return_toolButton.clicked.connect(self.result_return)
@@ -97,7 +98,7 @@ def save_list_lyrics(self) -> None:
result_type = self.results_tableWidget.property("result_type")
if (result_type is None or
result_type[0] not in ["album", "songlist"]):
- QMessageBox.warning(self, '警告', '请先选择一个专辑或歌单')
+ QMessageBox.warning(self, self.tr('警告'), self.tr('请先选择一个专辑或歌单'))
return
self.data_mutex.lock()
@@ -114,9 +115,9 @@ def get_list_lyrics_update(count: int | str, result: dict | None = None) -> None
else:
save_path = result['save_path']
save_folder = os.path.dirname(save_path)
- text += f"获取 {result['info']['title']} - {result['info']['artist']} 歌词成功"
+ text += self.tr("获取 {0} 歌词成功").format(f"{result['info']['title']} - {result['info']['artist']}")
if result['inst']: # 检查是否为纯音乐,并且设置跳过纯音乐
- text += "但歌曲为纯音乐,已跳过"
+ text += self.tr("但歌曲为纯音乐,已跳过")
else:
# 保存
try:
@@ -125,9 +126,9 @@ def get_list_lyrics_update(count: int | str, result: dict | None = None) -> None
with open(save_path, 'w', encoding='utf-8') as f:
f.write(result['merged_lyric'])
except Exception as e:
- text += f"但保存歌词失败,原因:{e}"
+ text += self.tr("但保存歌词失败,原因:") + str(e)
else:
- text += f",保存到{save_path}"
+ text += self.tr(",保存到") + save_path
self.get_list_lyrics_box.plainTextEdit.appendPlainText(text)
self.get_list_lyrics_box.progressBar.setValue(count)
@@ -176,11 +177,11 @@ def cancel_get_list_lyrics() -> None:
def save_preview_lyric(self) -> None:
"""保存预览的歌词"""
if self.preview_info is None or self.save_path_lineEdit.text() == "":
- QMessageBox.warning(self, '警告', '请先下载并预览歌词并选择保存路径')
+ QMessageBox.warning(self, self.tr('警告'), self.tr('请先下载并预览歌词并选择保存路径'))
return
if self.preview_plainTextEdit.toPlainText() == "":
- QMessageBox.warning(self, '警告', '歌词内容为空')
+ QMessageBox.warning(self, self.tr('警告'), self.tr('歌词内容为空'))
return
self.data_mutex.lock()
@@ -201,13 +202,13 @@ def save_preview_lyric(self) -> None:
os.makedirs(save_folder)
with open(save_path, 'w', encoding='utf-8') as f:
f.write(self.preview_plainTextEdit.toPlainText())
- QMessageBox.information(self, '提示', '歌词保存成功')
+ QMessageBox.information(self, self.tr('提示'), self.tr('歌词保存成功'))
except Exception as e:
- QMessageBox.warning(self, '警告', f'歌词保存失败:{e}')
+ QMessageBox.warning(self, self.tr('警告'), self.tr('歌词保存失败:') + str(e))
@Slot()
def select_savepath(self) -> None:
- save_path = QFileDialog.getExistingDirectory(self, "选择保存路径", dir=self.save_path_lineEdit.text())
+ save_path = QFileDialog.getExistingDirectory(self, self.tr("选择保存路径"), dir=self.save_path_lineEdit.text())
if save_path:
self.save_path_lineEdit.setText(os.path.normpath(save_path))
@@ -220,8 +221,6 @@ def search_type_changed(self, index: int) -> None:
case 1:
self.search_type = SearchType.ALBUM
case 2:
- self.search_type = SearchType.ARTIST
- case 3:
self.search_type = SearchType.SONGLIST
def result_return(self) -> None:
@@ -270,7 +269,7 @@ def search_button_clicked(self) -> None:
if keyword == "":
QMessageBox.warning(self, self.tr("搜索错误"), self.tr("请输入搜索关键字"))
return
- self.search_pushButton.setText('正在搜索...')
+ self.search_pushButton.setText(self.tr('正在搜索...'))
self.search_pushButton.setEnabled(False)
self.taskid["results_table"] += 1
self.search_info = {'keyword': keyword, 'search_type': self.search_type, 'source': self.get_source(), 'page': 1}
@@ -324,7 +323,8 @@ def update_preview_lyric(self, info: dict | None = None) -> None:
"song_info": info,
"lyric_type": self.get_lyric_type(),
"lyrics_format": LyricsFormat(self.lyricsformat_comboBox.currentIndex()),
- "id": self.taskid["update_preview_lyric"]},
+ "id": self.taskid["update_preview_lyric"],
+ "offset": self.offset_spinBox.value()},
self.data)
worker.signals.result.connect(self.update_preview_lyric_result_slot)
worker.signals.error.connect(self.update_preview_lyric_error_slot)