caveman1 commited on
Commit
2233601
·
verified ·
1 Parent(s): 5e8f88d

Upload folder using huggingface_hub

Browse files
Files changed (2) hide show
  1. app.py +113 -43
  2. prompts_enc.py +7 -5
app.py CHANGED
@@ -9,32 +9,45 @@ from dotenv import load_dotenv
9
  load_dotenv()
10
 
11
  if os.getenv("OPENAI_API_KEY",False):
12
- print ("using OPENAI_API_KEY")
13
  run_llm=run_openai
14
  else:
15
- print ("using glm from huggingface")
16
  run_llm=run_glm
17
 
 
18
  PROMPT_STYLE = get_prompt("PROMPT_STYLE")
19
  PROMPT_TEXT = get_prompt("PROMPT_TEXT")
20
  PROMPT_TEXT2 = get_prompt("PROMPT_TEXT2")
21
  SYSPROMPT_STYLE = get_prompt("SYSPROMPT_STYLE")
22
  SYSPROMPT_TEXT = get_prompt("SYSPROMPT_TEXT")
 
 
 
 
23
 
24
- def get_song_output(artist, song_text):
25
  try:
26
- # Get style music from artist
27
- style_glm = run_llm(f"Describe {artist}", sys_prompt=SYSPROMPT_STYLE)
28
- if style_glm:
29
- style = style_glm
30
- else:
31
- style = ''
32
  except Exception as e:
33
  print(f"ERROR infer llm: {e}")
34
- style = ''
 
 
 
 
 
 
 
 
 
 
 
 
35
 
36
  try:
37
- text_glm = run_llm(f"{PROMPT_TEXT}\n{style}\n#Text song:\n{song_text}\n{PROMPT_TEXT2}", sys_prompt=SYSPROMPT_TEXT)
38
  if text_glm:
39
  text = text_glm
40
  else:
@@ -43,38 +56,78 @@ def get_song_output(artist, song_text):
43
  print(f"ERROR infer llm: {e}")
44
  text = ''
45
 
46
- return style, text
 
 
47
 
48
  # Define translatable strings
49
  english_strings = {
50
- "title": "SUNO style generator and sound format",
51
- "performer_label": "Performer Name",
52
- "song_text_label": "Song Text",
 
 
 
 
53
  "language_english": "English",
54
  "language_russian": "Russian",
55
  "generate_button": "Generate",
56
- "style_label": "Style",
57
- "song_result_label": "Song Text"
 
58
  }
59
 
60
  russian_strings = {
61
- "title": "Название: SUNO стайл генератор и звуковой формат",
62
- "performer_label": "Имя исполнителя: ",
63
- "song_text_label": "Текст песни: ",
 
 
 
 
64
  "language_english": "Английский: ",
65
  "language_russian": "Русский: ",
66
- "generate_button": "Сгенерировать: ",
67
- "style_label": "Стиль: ",
68
- "song_result_label": "Текст песни: "
 
69
  }
70
 
71
- current_language = "English"
72
 
73
- with gr.Blocks() as demo:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  with gr.Row(elem_id="header", equal_height=True):
75
- # Левая колонка (логотип 100x100)
76
  with gr.Column(scale=0, min_width=100):
77
- gr.Image(
78
  value="splash.webp",
79
  width=100,
80
  height=100,
@@ -85,35 +138,52 @@ with gr.Blocks() as demo:
85
  show_share_button=False,
86
  elem_id="logo"
87
  )
88
- # Правая колонка (markdown на всю ширину)
89
- with gr.Column(scale=1):
90
- gr.Markdown(f"# {english_strings['title']}\nby <a href='https://boosty.to/aicave/donate'>AiCave</a>")
91
 
 
 
 
 
 
 
 
92
  with gr.Row():
93
  with gr.Column():
94
- # Input fields
95
- name_input = gr.Textbox(label=english_strings["performer_label"],lines=5, max_lines=10)
96
- text_input = gr.Textbox(label=english_strings["song_text_label"], lines=25, max_lines=25)
97
- # language_radio = gr.Radio(["English", "Russian"], label=english_strings["language_english"] + "/" + english_strings["language_russian"])
98
- generate_button = gr.Button(english_strings["generate_button"])
99
 
100
- with gr.Column():
101
- # Output fields
102
- style_output = gr.Textbox(label=english_strings["style_label"],lines=5, max_lines=10,show_copy_button=True)
103
- song_output = gr.Textbox(label=english_strings["song_result_label"], lines=28, max_lines=28,show_copy_button=True)
 
 
 
 
 
104
 
105
- # Generate button click event - calls the get_song_output function
106
  generate_button.click(
107
- fn=get_song_output,
108
  inputs=[name_input, text_input],
109
- outputs=[style_output, song_output]
 
 
110
  )
111
 
 
 
 
 
 
 
 
112
  demo.css = """
113
  #header {
114
  align-items: center;
115
  padding: 0px 0px;
116
- border-bottom: 0px solid #ddd;
117
  }
118
  """
119
 
 
9
  load_dotenv()
10
 
11
  if os.getenv("OPENAI_API_KEY",False):
12
+ status = "using OPENAI_API_KEY"
13
  run_llm=run_openai
14
  else:
15
+ status = "using glm from huggingface"
16
  run_llm=run_glm
17
 
18
+
19
  PROMPT_STYLE = get_prompt("PROMPT_STYLE")
20
  PROMPT_TEXT = get_prompt("PROMPT_TEXT")
21
  PROMPT_TEXT2 = get_prompt("PROMPT_TEXT2")
22
  SYSPROMPT_STYLE = get_prompt("SYSPROMPT_STYLE")
23
  SYSPROMPT_TEXT = get_prompt("SYSPROMPT_TEXT")
24
+ PROMT_GEN_LYRICS = get_prompt("PROMT_GEN_LYRICS")
25
+ SYSPROMT_GEN_LYRICS = get_prompt("SYSPROMT_GEN_LYRICS")
26
+
27
+ def get_style_lyrics(style, lyrics, gen_lyrics: bool =True):
28
 
 
29
  try:
30
+ style_gen = run_llm(f"Describe {style}", sys_prompt=SYSPROMPT_STYLE)
31
+ if not style_gen:
32
+ style_gen = ''
 
 
 
33
  except Exception as e:
34
  print(f"ERROR infer llm: {e}")
35
+ style_gen = ''
36
+
37
+ if gen_lyrics:
38
+ try:
39
+ gen_lyrics = run_llm(f"{PROMT_GEN_LYRICS}\n<THEME>{lyrics}</THEME>", sys_prompt=SYSPROMT_GEN_LYRICS)
40
+ print (gen_lyrics)
41
+ if gen_lyrics:
42
+ lyrics=gen_lyrics
43
+ else:
44
+ lyrics=''
45
+ except Exception as e:
46
+ print(f"ERROR infer llm: {e}")
47
+ lyrics=''
48
 
49
  try:
50
+ text_glm = run_llm(f"{PROMPT_TEXT}\n{style_gen}\n#Text song:\n{lyrics}\n{PROMPT_TEXT2}", sys_prompt=SYSPROMPT_TEXT)
51
  if text_glm:
52
  text = text_glm
53
  else:
 
56
  print(f"ERROR infer llm: {e}")
57
  text = ''
58
 
59
+ return style_gen, text
60
+
61
+ isGenarateLyrics=False
62
 
63
  # Define translatable strings
64
  english_strings = {
65
+ "title": "SUNO style generator and lyrics format",
66
+ "performer_label": "Preferred Music Style:",
67
+ "performer_placeholder": "Describe the desired music style in detail: you can blend different genres and influences, mention specific artists, instruments, rhythm, and overall mood. Specify the vocal type — male, female, high, raspy, smoky, operatic, or any other. Feel free to experiment — mix styles, evoke atmosphere, and express the emotions you want the music to convey.",
68
+ "song_text_label": "Lyrics:",
69
+ "song_text_placeholder": "Enter your song lyrics to format",
70
+ "song_gen_label": "Idea for lyrics:",
71
+ "song_gen_placeholder": "Share your inspiration — describe what you dream of singing about. Sketch out your song idea: emotions, events, places, characters — everything that matters. Tell the story you want to turn into music.",
72
  "language_english": "English",
73
  "language_russian": "Russian",
74
  "generate_button": "Generate",
75
+ "style_label": "AI-Generated Style:",
76
+ "song_result_label": "Formated song text:",
77
+ "isGenerate": "generate lyrics (experemental)"
78
  }
79
 
80
  russian_strings = {
81
+ "title": "SUNO генератор стиля музыки и форматирования структуры песни",
82
+ "performer_label": "Желаемый музыкальный стиль:",
83
+ "performer_placeholder": "Опишите стиль музыки: можно сочетать разные жанры и направления, конкретных исполнителей, инструменты, ритм и настроение, тип вокала — мужской, женский, высокий, надрывный, прокуренный, оперный или любой другой. Передавайте атмосферу и эмоции, которые хотите услышать.",
84
+ "song_text_label": "Текст песни:",
85
+ "song_text_placeholder": "Введите текст песни для форматирования",
86
+ "song_gen_label": "Опишите идею для текста песни:",
87
+ "song_gen_placeholder": "Поделитесь вдохновением — опишите, о чём вы мечтаете спеть. Набросайте идею для песни: эмоции, события, место, герои — всё, что важно. Расскажите историю, которую хотите превратить в музыку.",
88
  "language_english": "Английский: ",
89
  "language_russian": "Русский: ",
90
+ "generate_button": "Сгенерировать",
91
+ "style_label": "AI-сгенерированный музыкальный стиль: ",
92
+ "song_result_label": "Отформатированный текст песни: ",
93
+ "isGenerate": "придумать текст песни (экспериментальная)"
94
  }
95
 
96
+ lang = "EN"
97
 
98
+ if lang=="EN":
99
+ TS=english_strings
100
+ else:
101
+ TS=russian_strings
102
+
103
+ def process_lang(selected_lang, mode):
104
+ lang=selected_lang
105
+ if selected_lang == "RU":
106
+ TS=russian_strings
107
+ message="Вы выбрали русский"
108
+ isVisible=True
109
+ elif selected_lang == "EN":
110
+ TS=english_strings
111
+ message="You selected English"
112
+ else:
113
+ message=""
114
+ isVisible=False
115
+ ret = [gr.update(label=TS["performer_label"],placeholder=TS["performer_placeholder"]),
116
+ gr.update(label=TS["song_text_label" if not mode else "song_gen_label"],
117
+ placeholder=TS["song_text_placeholder" if not mode else "song_gen_placeholder"]),
118
+ gr.update(label=TS["style_label"]),
119
+ gr.update(label=TS["song_result_label"]),
120
+ gr.update(value=TS["generate_button"]),
121
+ gr.update(label=TS["isGenerate"])
122
+ ]
123
+ return message, *ret
124
+
125
+ with gr.Blocks(title="Suno PromptGen", fill_height=True,
126
+ theme=gr.themes.Default(primary_hue=gr.themes.colors.sky, secondary_hue=gr.themes.colors.indigo),
127
+ analytics_enabled=False, css="footer{display:none !important}") as demo:
128
  with gr.Row(elem_id="header", equal_height=True):
 
129
  with gr.Column(scale=0, min_width=100):
130
+ gr.Image(label="header AiCave",
131
  value="splash.webp",
132
  width=100,
133
  height=100,
 
138
  show_share_button=False,
139
  elem_id="logo"
140
  )
 
 
 
141
 
142
+ with gr.Column(scale=80,):
143
+ gr.Markdown(f"# {TS['title']}\n## by <a href='https://boosty.to/aicave/donate'>AiCave</a>")
144
+
145
+ with gr.Column(scale=10):
146
+ radio_lang = gr.Radio(choices = ["RU", "EN"], show_label = False, container = False, type = "value", value=lang)
147
+ with gr.Column(scale=10):
148
+ generate_button = gr.Button(TS["generate_button"], variant="primary", size="lg")
149
  with gr.Row():
150
  with gr.Column():
151
+ name_input = gr.Textbox(label=TS["performer_label"],lines=5, max_lines=10,
152
+ placeholder=TS["performer_placeholder"], autofocus=True)
153
+
154
+ text_input = gr.Textbox(label=TS["song_text_label"], lines=25, max_lines=25,
155
+ placeholder=TS["song_text_placeholder"])
156
 
157
+ isGenerate = gr.Checkbox(value=False, label=TS["isGenerate"], show_label=True)
158
+
159
+ with gr.Column(show_progress=False):
160
+ style_output = gr.Textbox(label=TS["style_label"],lines=5, max_lines=10,
161
+ show_copy_button=True,)
162
+ song_output = gr.Textbox(label=TS["song_result_label"], lines=28, max_lines=28,show_copy_button=True)
163
+
164
+ with gr.Row(variant="default"):
165
+ log_text = gr.Textbox(value=status, container=False, lines=1, max_lines=1)
166
 
 
167
  generate_button.click(
168
+ fn=get_style_lyrics,
169
  inputs=[name_input, text_input],
170
+ outputs=[style_output, song_output],
171
+ api_name="GenSuno",
172
+ show_api=True
173
  )
174
 
175
+ radio_lang.change(process_lang, inputs=[radio_lang, isGenerate],
176
+ outputs=[log_text,name_input,text_input,style_output,song_output,generate_button,isGenerate],
177
+ api_name=False, show_api=False)
178
+ isGenerate.change(process_lang, inputs=[radio_lang, isGenerate],
179
+ outputs=[log_text,name_input,text_input,style_output,song_output,generate_button,isGenerate],
180
+ api_name=False, show_api=False)
181
+
182
  demo.css = """
183
  #header {
184
  align-items: center;
185
  padding: 0px 0px;
186
+ border-bottom: None;
187
  }
188
  """
189
 
prompts_enc.py CHANGED
@@ -1,7 +1,9 @@
1
  # ⚠️ AUTO-GENERATED — DO NOT EDIT
2
 
3
- PROMPT_STYLE = 'Z0FBQUFBQm81WXdiRGpzZmhhS3pPTWgzZVhLWFk3LXlhY0VwTWYxZkxkQWE3NE5GbXBaY2VOTzZ3ZmM0Z2g0dkFpS1hneW1zY0NHaFVncmo1aUlqSWZaTTBOVUNtODAxSExxWHlwOTQwajhNb2pmX05ZRHpzOTBoVl9PWmUwaElISFIwWjZEeGhqMEFLb1lDNS1raEhWOXQyVHFsYjROUUVBdVRSWThURnNYWXJyYlR5Qy0xMTVDQ1l0LWFKdml4TDRQY0VwcVJncE52NGlwenlIX1hTdTJDcmZ4aEg4OGZFOVFnMldWSkRUaDkxN3ByXzN1VzFGazZwMHE4NnhESlQ0dVhTLWFmYzFoZWdOMGFic1JpcHlXRUt4UGYzYzctakxxNzdRQXpzb29rbmVCcEFWUENnal9vSWgtX1d5bWljdHU0X3NxQ0huWW0xb2lMV1FvaFhFNzQyVkhWMUFSaWxPNmdDOXM3UTc5REc3OTZqWFVTMWtXTndmc3BZT3N4ajBZNENBbmZheDM3aVBzSEROQ1JwOUppeUVabi11RWxLbTlKdGNXVHVpdVpFSXpYZW5La0h4SFVhSDd1SndJTXQ1SmxjcElQVHRXVENiLWVZczhVRXNzdDBjbEpGdks4YlkyZ1dfdnRsTVhHSmhtcVMxZ1BURVNrTEtjS1FNVzF0YzI4MlhuWXRYM3dBN2I4VWdKZ1BySG1qN3RZMEd2TE44THZkdmNBMEI2MjdRQk1TcVdwQXV3PQ=='
4
- PROMPT_TEXT = 'Z0FBQUFBQm81WXdiMzVRckwtclplZmFFQ1ZiWFh6LVNWY3BqNy04emg4N203NzJFNWRJWXR5Y1lZMkg1R09iM19yeVFtN2NwdlpDcmdSdGxxZWVqaWs0UllWM29JRzczYnp0eDhqVDQ0dWZKN2thN1B2c1d0T1BaVzc2SU1xdjk4U1FUVXIyX0FvenhHc3JGZGw1azh6UmptTlp3SFVYT2pPd3FpalZ3Sm1HWWpEZ1p3SUdTSVZYZTZDUHJZbF96Y19EUG5ldUxNejYwS2p3aERGRFdvb29sQ3pjSEJZY1IwUTd2VkdsVW44d0czaDFqSDFucnJNaGhqMWM3aGpmcFN5RWJ3bFRvV2JWZWg0akk2MVNEVVRWb1pZaC15YmVWWWxsRjRmY0JXMThrLXA0Wk0tSGJOU00zMUhrV0RSZW01dmx1SFRjZzEybnFrV0lTTjU4Q0F2YUFnSElmUThCUFVCUUZING1iT1d2Y1NsallIcnF6ZzVzVHRuelNxSWpLYmZndkVndlhia0oyVDFvWW9LRjZQdHZPWUE3cklFaDBQdmczb1c0ckRPUzlXUlozWlQ5cmxjWjUwaWM3NDUyZW1CWi1RNVc4cnV0R0FGc0FaR1YtQ01CeHFJcXpDREZsU0cxVDFadzgybG4tcC1sYUlpVm1IUDRTMTZpNEF5Yks1NUkwaTVBV3NrZ0Y2S2hTaHIzQWtVeVREWGIxT0QyWHpRZ3J6eEhqcW5BYzdGMkpsd0puNF90OGR5Qy1LZmNjWjFzamloUGxRa0NaMTNLOWlWSC1KVnBvY0Y4U1JqNGQyU29VYkQ2aWZhTHB5bml2dzhIX0JRaHZvdjVwRGhUNGtMa21nMW4wT0N6LTg3MHVxR2ZuWFAwbFVRSnpoc05adWY0MGJaTURBbXh1a2hzbzBqMEwyT0FlSzFsbk1kSG1KWGZQa3NlTWR0UlFkRFdPZ3RLR2FjNGR3NGNLS1F4eEpMWi16V2RBSklwYTU3eDhWWlJma0paRThwa1B3ZVNRbGJNY1ZGSG9hYkpxWXFpSV9pX3BvZXR2b1JOT3VNNDNpVFBqdXRPelZKZThObUNNSmIzbnhqV1VSX1JvQ2hMTmtWVFg3UTBCUVkzMW1pYXFScWFCZjZfU0dOcFZuNzFzYnFKM0VvVU9ZWE92QV91dkNTTmtydFNhRER6anA1enA0aHE5eVBYQWlNNmlvNzVrWmxSRFVRQ3RWZ2VDRDFUM293c1p3NXg0em9xc01pQ0toTWV4eHBPcHk1QmNkalotbmFsSGhyaXJfQ1hvZ3ZiVUw3S0g2c1NXR3VlWkZ3RlVhYjNVNlMtOFV1d3l6Z1BOaE1UVVpPRVBGSmJHc19qZ1l1Tk1NQjl2aTlzTmliaVNiYWM2WUl3YVhaZ0JIUTBXdVg4Yk9zd1JIUmsydjQwMEZQR253SlhwYS1WSklLTXJvM2Jrc01LUXFFZHkyOWFwVTI4QnhURW9ENGdxbEFHS2c3ZVFoazBRMGJycG4yZXBaOGx1SXRhMEZlZUd5b3MwWU9ibTJWNkk3aklLTXFHSmUwRm5uSUZ3SFFvSmZ5Z2YxTEhwUmdaekxjMHBDZzhqenJqa04xSDFOQUY1UVFKMHFUTlpYN09lTEVyZHI4cm9Ub2ZHSE9NTWJ5SUJSQzI5aE55UlFJaWZrU2lLVll5RzNvLUtvNXhmbmtMRkVFZjFqdmdmeVpxZ2xOd2hvdjlBMm5pUTd1YnNvZzhXV2Q4S1B4VldiQTBwTzBYdldwSW5lYzI5eDJXdVBYM2FXWWJLVW00LUxwUFh4M2JMWVRpODdFYWxWTEtOODVZYUQwUVJjMm1hWmJ4bHNhcldpR0x6OHlOR3k5V2kybHBSQWVYaUt6RVZWMVdfV2x2bS0wRVlBNXlzQUNhUTU3TDlGQUJsbi01WFVvR1ExNzZjeUI5dnZ4ckZmak0yZV8wVDlITnJycnhEbDd1VDJCOGdXdEFPVXB0OE5LdzRyek5aaklVV0ZSS2dGT3dWWWpQMVhaSFJ1U1lvRGxlOFktQ2FSOEZEdUk3SDVwODhyeW9uNjdFUXp2cV8yMzR4dm9QSldOOW5nRWVHN3ZxTnN5ejkxMFRLUlFRUmFYemV2Y3BuaFpZT2VMRXZTRXVwT3djTzl5WFNOTmVFODFXV1VaRFBTdndvVE5TSG54QnRKNEl5MTVuZ3ZzcFhDMkttOXBuLWp0TkRwNjM1WkUyWnBaa21RWFUzM3BFenU4ZlRDMTVuakQzMW9iTkJSdnRTWk9EdjBBZ25MWnJjamNwUTYzb3ZRNXJvQklrNk5CM1hReEstdEJKVUtFZ3ZxRWdacDdTS2FqVXVxOHhsLWhWczlZSTJMalYxTTBHaVFDU3EtNWM1VEU4NjE3SzdHYVdVVFpBNTVucERodGdKemlTR1llQ3ZtVEdXYV92OE0xcnZMc292QXpLQVpELXV6LVM4R1ZzY3RJQnpDSW1NX285eEo3cmhSeW9udmkwRXQtVVlLakNzdk9jalNpRWM4VW82VC1oMVFpUXl3MWhLcVByTy1Bb3ZGWGxRUkdCSmFDTDUxUnhVREJtVEY1djZneVdxM3pmUVVqWkt5bGg0ZS1Udk5zX1p6WllrY2djSHFJLVBMdnoyWWdUMmZBRlMzYk5HRk45RVI3bTA3S1VIeXBMVUxjaERjbF80QXhacGg5b2c0Sk1GeUtOMWdTV0xmaFpyem00RW42dVJqUUVXRk1DclVSX3hmaHhxTkpCNEhNQ21pR3B1NWV2Y1FuSFBBR2ZqRENrUGxTQnB4bFJPSmNoVXU2dHlJd05QOTBTV1dfS01oVWZLdHNXMDZVSEdkVk9GSWY3eE92NTZKM0RKbUpubGV3cWVhajhiOUd6NzVySUl6SGgxS20tM0pnTWoyLUVQcy1HWGxDck5Yb0RvdnBGWVY2d1BFVENTdXlHb1Nlcld3NlpjZUNaX0I4VEpZX3plY2ZpWWtVRFlfTTRCNkJ2aWQyaHhmNGg3WmVuVkY1TVotVDJ2bTQyeTFhdU5WOTZFbE5ZbjJUVjJDMVFtOEhRWGp1ZW9NOUlCZElteGhLOVVrVkVPTTJoRVh5T0NlU0cwSlZ4VW1NZ25jQWxIUlk0ckNkYWZteVVxd1dCczRiYzhNS2x4QUozbTBfazBndmpWbXlGZXJMd3BzV05Gc09pVXFTcWJnTXM3SVpBR0phckE4LUh4Z1RsQV9lVWVDcXZxbnZlMXNyY3Y1TGZCcHg4UHhiOWRaN2hwaUtQYkRLODRRVUVnSEJETEVJdnhaTDBYZzF3djlQYXZzRGZ2dkVucS1ZRE4yRW9TNktfYUdac3ZaWlhGZng2TmppN0c2RHFPcGxJQzZhd1pwT0JBZDJJQTVycTEyWmxGVXdpaVFuNWw2eVUwOG9Vc2pYS2tNa1NWVnd2QUh0djduQnZ0dFJCM3VFSmRTNS1kRU1nZ3hGMjVzcm9OYXNrd1RnYTh3Q3g4YlZCYW9MS2dXcHlvN0VuVjVBaEtMeDREcEZoMDA3aTJ4N2pVUXZXM0pzcF9TbTN4RFMxS2F2RC1JUjVjWU9PRjhZYms3LV91M3UyM0g5Y0VZM3dIbmprN2RxbDE5cHY4akNRMFA5SmRJT3M5V0NOUFViMUJUcGp4akZWVWtEV3dXVDFZSjBCY29CX1VrOWx0WUtCUzE4RzdPRUF6UzhJWlpwVGVrckQ0QXBZY1N4Ri15ejVwLWI5Wm5QV3V1OGt0VWxpZDZMamZUcHptdUZJMnVZWnJMdDBsMVpxQUw4czlNRDJpZEdrcFJpa1NBT2Q5QmwwOElGSEtXRmNjNmpZekVlZEc0d3BZWkRhaXRpZzBURThRRVhmUk5jenhVQ1NuUEFHWHJaMGlpcVVGLWxLQlhXTktZd3NPb2ZnZlhrdzFyUGxkQnNudEw5alhhdHl1VUJOeXFzMzhxMmpWT2dJT25BSGtIOWJfWjJYbGdXVmEtT25QRm9XZFVlN0FkMHVpREpSWWp2SW5YcFBQN21WM3JCS1Q5U19tLW5oTnpRNDJ2bzNwYzVOM3d2M3ZVQVBUN0NlZVBWLUZDZW5nVkRKdDRLQ2I1SzJ6RFQ0WlBRVGgwSVNEWFpUVWUwWTBfVzlZOG5UZm5jSG5ROUc0RkJMbFFzd2REWndHOXNpV2JyVDU5anpYZWUxbkU4TGoyU1VkOFNEcklnTlVSWkt2NWN6czhVMGJGbnF3aGJLc2FxX0JrT2JxZ0kzZk1DVnJLb0UxbDRtUGthWk5xV19GQldheTdnU0VLTWtlSTk3WDBDWHdUaDNaQzVsVkhHZE40X0dDLWdsWThBNGNReDFONGhMODdNejFCY0lqbzhrRjh5bDVDdGdjU0ViQWY0Tm84NkRHb1d4SUY2RWdDdz09'
5
- PROMPT_TEXT2 = 'Z0FBQUFBQm81WXdiX0xqQ1FZVTMzTEJFWEVGdHNyTVNXSjdBNGVpNnB4UWNSYjB1OUEtU3Fwb3pqOEhSc1VIbTYzbW1LTUVJdlp1WW5ydF9qSDh3bDZZekx4QnQtSHIxNFpiOFYwTHpMNjg1a0pmRURrOEVIV2tIYnBGcUhxUnZPZUU3VXlRbVFTNFJaYWdFaFkxNWswdU01ZEtadllHSldHekZPbW1uNkI5Zl9wUU1qNzlUZ1Nxd045SHUwZHp3c01zMFlHRmZ2eVRfQnprZ3ZGZENUUjZqaUZSeGtic0lISnlfclBVdVBKam40ODRvdFFobXlLQTI3TWhkRzNrNzdLWDVtZjcyZzQ5cnZmRGdhMk1ITHhibm44QU5tQVQtTE9NNUl6ZzJITEdNUFRFOFlqMDFqZDFkOEZMMmt4WER3NkV5alhpcERYQm1fSmc4QXBITVlsTGRDS1FwNnAwd3lSRXlkVGlOVkpCb1EybnNRSzJXcnpDMGt3X3Fuci1hVk9SUTc3UU5JbVNYWUdnVHhLMDhzY05seGY1X0JZMl9mNGowUVUwTHg3aTVjSnVIa2NpSWlKOW5FRjFkUnhKWmNIRmoxN1NVY256RFBKZWlQbzNnUHJGamNqNnl3Uk1tcGtaS2dnckhDb3RaYzd0N1Y5WE1oR0ZreWpwWDF5ZklhenlPc05ZekhyOFhUdzNnRTZERGdWMDBRTXVxRC1FcFI5OGM1b0tkMFBPbXdUN3BoSVdaT3g0UWtKdmVwSkJScHVrdTVqRDdnM25SUlhORkRlZktWTmxtNFAza3R5ajBwZVhPWEpCUE03YUdUWlZORHlIdWIwTUltcXdZeDM5bEJzZEFCVlp2Q25MNGZDQThxUWlucXlKY2pPY3lnSFVQYnZlMUE0QUpjZDJNbWY3T3kya0xFWDFhckowT3hrekk4TE1mdmpZeVNubjk1Wm1FdXdXdXF6T1NtU2VJZVRMSkpPc1RZa2ZydHR3MnVTT0tSeWtaUVhHa3J5Umd4VzF6M0xTWUVhejJicGNRd05HdC1CYklCclAya2wwQUdDM0JOQT09'
6
- SYSPROMPT_STYLE = 'Z0FBQUFBQm81WXdiQ0xMdzRKT1EwaC1hVVRqVEd0ZlM3cUVsQ3JKN0dqREpNLTZCN1NmTTRLRWwyMDFXeFBvOUl3WlQyNklCWjFNalp0cVFvMFpDWkk5dnRMbXlOdjUtVW5raWQxTEVHc2Q0eHNVSkE0eDZrd2xJTDJCTG14blJTZVE1NWhDZHFpMXZfUFBrRzVpMHZsVFZkU2Q4RVZiZEtWUzI4eFQzUXQwS1NFWlpJbHIwVlNGVHdic0NpdDFQa3JEVHMzUzVEVV8yWGU1M2JWbEpUWGgzM0k1T3ZJSjRERDRmUGpWbnoyUDNTTmZ6YW95bDNJYm9naDVZZzF4Z3JkOEJyTldTYjdXZUQ3Y2xhR2NBYUdKZnp2dEdFLUJ6T0NhOUhWbTlyc3lTNmN2azJpTXBPZXpXbVVaVjVDRExnOXY3dklDN3daUVFiM3BHQWRHaS1UcUFVdjZVYzlTc2dQZHlUSW1vcXdON2tzTHRnX292cFJSbHlQOHpPMGJtOGJWLVl2LXRlQ3FVVTh2VDQ4WVB5OVBzMjJiNENtTlFSek5sTGZyS2F0eVEzcEhsa1RVeE5NZz0='
7
- SYSPROMPT_TEXT = 'Z0FBQUFBQm81WXdiWVFEcG9nOV9MSnI2T0MyOEhGYTFmd2FYLTd2enJmdFhxUzVWM1BadE40S1poaTNSVlg2NXNjOTItLUhSZmVReVpmeV92SnI4RzljdzBrLW1Nc0dmeXNqOVhXa0pjZ1U0SlVIUUJsUXdQNXpKd29WZmlKaWVUSDJ1N2xuT3NpQ1Y1QU03SU1ISFBVQlRVZDZWcC1saGlvMzBMU3BDME94QWg4cVRUZzg3Um84YXNiTW0zNTBjOVB6N0Jvd1BSbWdpZ3lhelZISTNZdy1kUlItTVJGdHJkTUoxd2Q1U2R2N3ZjUFBPRGxHVUY4cktKREJ5R2xfVWJzLVU4WHVwdkJOcnZaTzBhTGJaaDBjRGh2SmpMZ0xlcF9PWi1kTWNYWE93c3dXeEhtRmc5aTdiMy1qaUVMdGtaZUt0SnZIWlk0SmtaQWJmQ0Fidm9GRExFcU5kWV9OcXpqbXliaEg3WlZaWnU0MGVtSktvTC1nVTRBRWE4OFRPRmNLdzlvbE1NYTBETGd1MWxvYTZoSE9YUExzTDhRNU8zOW51TlpQMXJCS3F6UnVNdDlDX2RUcmtWbVExclJqVzRqajE1Y3Q2UDBibUhSOEJNcjRjMS1BYjJXU1hFbFIyb1RURllReVpDVmVnVVlCeVlSUXREZ2ZxX1l3Njh3Q2RGUFUxRzI3b3RVOVI='
 
 
 
1
  # ⚠️ AUTO-GENERATED — DO NOT EDIT
2
 
3
+ PROMPT_STYLE = 'Z0FBQUFBQm82Q1ZldFRtZVduXzV6YVNVUlZwQUxncU1hSFc0TXVqS2haN21pTHJsWFVTXzZXNTNQYWZ0amRJX18xMmhKbkRJa2xuV1oxZVM3UzNhRTl0Q0p3TFo2a29YRDdYMEtjU0NGTVhWcFo4UHprSkVtSDVrdzFsVElROHZGM3Y4U2pBLVFtTWJSRS1lZzJ6cGxBUERUSS1YOF92VF82WGdPdzFvNEZNTGpfZDRSRVNLWmxwbGg4aktGYXl6NVRsSXdRVWZvMEszTXdWSGFDQTAxb3g2TXBEQ1VaeVJSUURJemdvUEE4RXFwYTlqaUdVTDM2cTdQazg0OWc4OC1KSldEbklYclowSTRtNXdCN1FVWnBjd3RCT01xaHpxWldMYWFLRTFMd3otYU9wQkZORWNneFVhNXVBVWFrX2ZybHZFeDU2Ykt5am10UTgtc1g1amN0SWd2Y3FMeUs4dmFEcko3QWZnUUhXbjJDelgwRHFOZGdKeFJLRnhySl9qcUUxU1Nvam1XSjN1REI0TTFHZUpqdHBMRUYwcm56T0phUjl4SGJicmNNUlRudGtiWWdKTHpSOXl5cWd1MkEzLWpIcFl5MHlfZV9kN2RLeXlYSzhmTW42QlpxVFZIbS16ZFJDZ0ZTZ2RBNDJxNUlyNUdlT1d0VXdaOHVONm1sV0RXZ2xhY2hjbk9mY2VSclRSdW1UNGlDbzBmdWxId1gzekFLNmxYUjJYQU5pcE9UUTdlUUUxb0VRPQ=='
4
+ PROMPT_TEXT = 'Z0FBQUFBQm82Q1ZlbmF6Sko2dkpodjctYncwV2o3T0N0VFRxNVhOQ0syZVQ5OUJvUjJOQkRNYlQ2RS1KLUhnV1hLbkhRcVNQWV9KaWozV3VpLW16dVdKbEg4OXpZXzlDVUZNSVFzR21RQmV6NjJWWTFDczVXZl8ycUxrYmN6djJXZE9iZ3o3TGg5QlI2S0RqOHZjOGUxbC1xVElzeU1VX0Rydk9KaGJ6dGl4cUdualg0dUVrZnNmSWxMLWlIdFRuR0V1ZlU3NWQxR3c0RUpNTnBMaDRicXRTQkV0ZWUxT01Qc2pxa0g3aEJtTGgzdnI1eHFBejFBNG93aGU5NjQ2UThNNG9HSnF2ank3Ym9BSTE5TUpKV0k5UE1hbHJvN1lJX19FS3A2RUNtLWQ0LXM2ay01Vm05NC1BMDR5cXVQZG9VcW5MYzVnbFZydW54ZkZ3REw4ZUFBUzBGNGFRMFZkYV91RWdqMEx4YzZQTS1vaE9Nb21oU3dqelhSeU83Z3hkdXExdzhHUXFKRGJTQ3hLdWE2R1N5WmdDbVNmQUlpeURnWjE2UUVCdzZJbzIxQUluZ0hqRzF6SWx1eEZYbGRobjBwdVlsczJyN0pJLWhsN1ZtSGh4OGg5NUEzYXdPS0JJQWRjSmlSMGN4dVluNWhQc3RPVWVWQWtXUFJ2R0ptWEllMEZKY3pvdW9hRXpMWUktUE1QSm5YOU9nQXNjSlNWMDBNWHVTblR6UV90NEpqcTVSWTJWT0dxQkFhRHF6RVJxdWNNSTdhdy1OZFB5cVRmNTVCX3B5Z29ISmprVlc1XzJUMC1vRnRlS0JDdEFuY1Y4SHgwYXc1T0xIUHJVWFdCZzhIbFBwblo3TFBDQWpKVGdqcE5LR3F5eWowUnJnUlVMbU43OHdydmhIazVXYWI4RjlUQW1BTjA1aUV6ZnkxSzlhWDJhWHlLd2pJVkltdUJrUVNVdzhpM2RjeUZBeEtROWh2YmFtNGNDWDl1R0tMRlNFR0lkaFYtSkxpMk1xR0ZOVkdra1NUTHdBVEU2T3VNaDVadTdIWmNJdFpjYTdfdzhUYzZBVUJMbUR6dnMyeDlwUHBWLUtadE5pemN1VHdoandLMUJUZWdKYXpuVU9DM3pXTlFCNG1GWlhyM3NkNkR1SlFtWmIyb1R6NzE5OXdaV1JNN0dJb2Fscmp3SzhFSFdEbnRheEltS3RzVFNsUGFQYTBndUU0Ny1ZM1VhTjBicjBXci1lellTWG9DaUxTQzhyZ00zY0xyTWFzSDNkSzRqWnZWaXpfcjVfQjl3Z2FOR2JjM2ZGOHZ1REVCVEh1TF9acURJOWxMdVl4U1lOZG4wM0JDOVdaZHpndDdlRDFUd3F4Ny1KRlJJVWZaXzFfX2VNcXMtRTI4bnpUdFZQeWJMSHNhMmlYZnJzb3NOYjdlRnFGaEkxU3lXVVd3YmpEVWQ5RXVlY2gzRm10N3ZYVVZleHFHV2NDS1BGcG9maldBZmtYT19OTUE5N09HWjZ4dHNRSmp2NDRobXNUNzFtRTNDS0MwR3JzVGhCc05oSFVmVGg5ZWJfMkRjdGZDTzJtVHVOZE5EWjc5b25OUk00cEI2YWhOdUg5X0hLZ0RVRThWQ0ZQUi1VblEtMllJU0xYdFVsaWViclVBbUdVY2x1a1EzYlVuYmhEejJ0MTJSX2VnblA1SERNU1c4WVFJTU9XZDQ5OXB6OFNmaEl4V3k4TjNiMmg1aUJNbzZpYVhRd1Z3bFc1anUzYlIzenAzc3RienZCdmZIekYtbFQ1UDNOSm5PNER0eWhyLVNNOHBkMmVzRkQxdWJZRE9Oa1Ryc0c2c0FwcXpXYnIwSHhhSDZ6d21OM0lubEUtZzlaNUlDVHB0MXpfc2ViRjdGOWVIa1JCYllXQjNnTWc0Z2JoTmdRaTlITmlaUzlRSVFDMUswZ01TY3RGVktpQUYzbGxPSFZrRzdzQWpITlVwZnZFNndGeEt3ejlfQVRrTW5FRXhQSDNyYnlvOXF1Q1R0dmRSbk9UMkNVMG93YVpwT0M1aW11dlJtS093bWFmaW5Tb1RraGhMRjJvUHhtSDcxMHlzWGE4Vld5QVkycWZYa0piRjBNcWxZbkVVbGktLVdMRnp0Vl9qdTIyMGRTVmNkSUsxcjVNYWlGMnkyVHF1OWJoM1ZnM3lrdDRqWUYyLUIxSjBfaVpNbVY0TmVoVU5QTVVhSUhTTlhaT2FzM0ZQUDBEU3hCLTlXa2EzRXVjRjRLbC1nX2xMVkxXRUJlRmNUZ1prVTJmdmxLMEszSmdobUpYejZOeElPaDY4Q0F4dVMtR0ZNem9yV0s2ZGhHMmZUbGpkaTI5ZzhMaWNOQnNfVG0wSlhVVzUyRVFOUXFkNlJTb0dTR1h4b292XzBhcXo5SUR6YzRPVXZkYmdtZWZTX3FIMHdfcDdOQXgzbWU5SGJULW1HZm1kTzR0WTlxSkJDOEdIMXRMTnpTemVWWWR3VXk5XzJ1ejFhb1AzcjRQcFlnTm1UcFhMaUdVa1V0Vlk5YUo0ZDJ0aXYwY25WbE1KVEhQNnRHWWR1dTUtUFlzZVN2YkZMY0F3bTh2NWI5WUdoeFdicHV3REpiN2ppd2oySE01NmM0eHhtbHNhZ05jVjRibFhYZ0t1YUlJUWJCc1NNTU45bFpLOE4xQnluRi14VjgwX1F0VndudWZGY3FyUDVudlRvazBxMENMVUN1bHhjcEhZeEpSNVhPMElvUDFRdG03cmdTR3MzeFlrOVBhYmdVYVlDb2Uwd3V6QzlXb3ltakR2QkdRNTlWdms1bUFHZTBidmFQdGw0RXJGYjdqVTZhZm51TFJXZ0F6OWY4Sk1mR2xuTGplaUJuSVlyelM3eDdrVXhGOURMQVJlb19TU2ZuWXp4UHc1M3ZZYm5jOXFOSmRhdnc2Y0tlZllTVXdJNi1WTnhkQlRDTFdhV1MtbnpRYlZPeWY4aFRVZXZycW9HaktIUlAzUGFCankyeFhaajlrTENOVm1idVR4WFdTbHZBekpBYWJ6U1Y1UTJzcXBLT3hSWFN1Y3lNcnFudV91b1FoUzBadjI4TkhxWFVZSFF6QWRKTTRidmRIejlpR0gzZDhERnNRYVVrby1lVGNReEhIR2tlM0w2Z2IyQXFoSHB3Wl9adXNFWWx2VzlxQ2JBcTMzdndEN1pxZFhraElSWDNWNjh2T1FhZWJWb2xxYW13TGJ4SUMzLUlCZXVZLXRxaEFPZ2xCbjZDa0hGTnJZNVJJam1aVGhSYnd0MGdLSVcxTHJWUTNWZ2xOTjQxc3FHQl9vNEh3b0RPajFkWEVSS2hXb3dHdVJRNjM2QWtwUWwtMTJwTThYUGVXYVY1NmZsUUFJOF9RaFdpZFRVeU1BUTlVeXZaV0RZTEpvUkFQWXVoRF9IVy16RUxmeVU0eF9sYjRSYUhVbWJENVlSVmFjSzlpSGd5V3Jua3BiTHZLOFluaGQxVGtwdEluRnRpNVZfUkdsaHAyeDJIbTd5Z0piaWxVNV9jSTUtZUd3Qm56d2E5anZ0M2NkTV9CUENyRlMyck9VN2RndmozTnZCSTVCLWRMNXdic3RCeEhkXzEyUzhfOVNzeUVMaDlnMmZ1eUtSbVJfOUQxNWFtaU9mVDh0d05TT2dEdklmQUpIMk1wc3ZnS2FacjkxdHBZcmhoX1c5eFRWNVVlajFOQnM0dVF6X2h2NjRxRU94S2FhNXBLM0VRWG5xSnFIakxZZmltWl92ZEdXbkZSY21xRUtwaTItaVVtVG4tMDE2VjlTbEpUanN2WTFiRkFoN3U3Vi1RVWJvbnN2TFh5ZHNDRGNYZEtUcFZzaDlCY1poMUY1c0tNM0tYX3BaMXBSTVZZaTh0UmYtVlVtSXZrNWxuNVhfTEFVclN5ZzJ3SzllSTlibUpWU1FnZmNOUndYT1RHWVhZQkU3RXJFdnBrZC0tWm9mb0U3bS1NQURKczktRFhleDV1MV8wcWdXZzY5cUlVdXNxUmpzeUNwRHJkakNvUVdVV3B1NndFNmRYMGdCM2RlelpncTdNME00ZVdHeFF5VDF1NXp3TUZhT3p3blQwbnQ2cmdIYlhrMmdkM1FWd2ZXNXZVRU9kYmFPenBiUTRobnlBVThvVHhDQnR1alRVNzVIdk1OLXprZy02dm1YQ1NNTEsyT1ZCTjIzbnJLdU5PRk81N0xoRzJSQ0YzeUpaXzU4NXlOVGh2N2loc0VRb0xVYXZTZHRsc0lrR1JOdVByR1FoZkxiRnN2ZnNUTUw5elY3ZHpETUpDMkdnZlFFY2VOV3pKSDhVVjBpWkZMalg0ZkVtanAyb09vM2JqY2ZTQTdERzRxc2wzaDh1TmlxRGt3ZHFhV0pMYzB0NVNxUkd3UGZabkFBWFMwMmZ3UGphUT09'
5
+ PROMPT_TEXT2 = 'Z0FBQUFBQm82Q1ZlYWg2cmNoTHBXR09ETmQtd1pkMVRRSHVaVU1UaTdISXRGdlViRWE0N1pLSFNvT25DVHpTanZjU3hMT0MwellUUFBuWDhUcE9LR2NuNnh6N2NDVWRHZDV5UDFHVU9pUDQyQThoQmVPVDlzYXFsaVVONF9KMWYxa3BzZzlEX0RJcWE0bGU2VkpRcENYY3hkcUR0LTYzZG5mUkloZjA4WkxkZkduVEZpa055RUFZWGlPeFVjQW9CTEJCT05BeXFGNVptR2g3TDZzUjFVMmRRTWdSeE1ycmthbVlINHpqc3R4M2N3Q0pnYlBPNmxqNWRwLVE2akFuN0J6b1d5cGlQaV9ZQ25FT0l6ZFZSelZTM2dEYXJkcWJNVUtoS3lENldfNUN5TWwteEpoWS05aEFFcXlqWklnZ3JQSnNrTHRlclpWbkg4elY5TmZqMDJoVEpHMGtIRS1GTHpYOU9fZEZuODZGX1pjNGJKXzZudE1RZEV3VmUxd3BfUHBYWGQ0Z3FJU2RMVVUzYTBSR250c2JPb1JHUDRTTlVZbUFHLTBjNk9fb1BEbHBCRDFnLUk2bW9EWTVRd2dDck54eWN5RHNZeG96NGNGeDd4dWNORFdUdm1ibnZ4TWxxNHVROHFvMXdQY19TczRUdTI0WlNEQ20yQW5BaFNLc0V4bTRTLXdDOW05SmVsSHFZVDJpSW9TckxUamFRVXhkdEdrNHhVQ2V1emdxR1BfUnBDQWZBRkYzUUtodjgtbzk4NGNWWGxueTRJVWRrR2ItU2g2WDU2Q3poclY2aXRTcDc0NUFBeDdxNHo2VnR6cEF2QU5KazhvZkFrYndsUjFGdlpqZ3A3NEtnYVI4TU1aaTB2cy1oLXVfNnlPaGUtX3lvcDhjOGl0TG4ybzBtQ3hPczRabmJFZ3FMcUFjUnc3RU5vRUoweldhOFhaUFZfSHBsUDJyWGNydlVHS1RSSlBfcldHcU9OREQzeWhrTk10SG1haEVadEppZU5iYnZia3lIbUxkUXRpYzFRZGpKNG9uYVhaOTBTeFE3eUhvQ0FTX09ydz09'
6
+ PROMT_GEN_LYRICS = 'Z0FBQUFBQm82Q1ZlOWFsZjlNNTlIRjR1SVJmeVZ3Y0pyckROQXRKb21WNkhuYjA1Nzk2dmRzMjRWMGI0LUhnNXJhTXBFamoyOVJSMXFuZEtENFRmc2xDc3FHMEx6bnJ5SHFvQl9NYkpWQkhEbEYwM0ZGcG85YlQyclhPT1dSOHdfaEd0MW5Mb2h5OF9rbnVPQjJJYVRqLW9yWm8wdWk2dFFlNDkxaWVJNWtHZ3dERE1uZWhwYmdOZXdiS1lSTExDNDd5TU9kX3BTTTVrNVlqNmNsazMyNDlNRGh2STZ2TW9RLW03RzFCSXNqTERDSGRMSlN1N1pIeVhvSVR6Y3k2NzRPN3R6VGF1T1ZZRHhxd0VnME4xdGZsaE55T0h6YWs2RUNpZUlWUFYyQjdVbm92OEs5RUpraXJfdnNUTnVrRmFneVBRb2dRSDdKd1pWM2ZQT2prVnE3QlY3cmZvRjFwamhaYkpyekRwcjlWbmI0eENCbEtSVGNrUk9kTmg3czNhOUhzS1ZBZUNrdENlZlJ1bDh0Yi1NUGNTc1pZcU5jQUVvaFg5ZHNTYklSbUhqLVRSOVJ4dzJmRWpsV2phNjdrSEY2bXNmZFhfSy10cnhBZU82d2x4WV9VWkd4SDB2NV9JT0N1WmxaYWtNSVJSVnNxc2dJOS0xWjQyeDVBWTYzUWJKZHJmS0ItVjhRN1p1QXlPVlJ3N2FFM1psZi1laVI1Xzc5dFJ5ZWIyOVlzTy1ydzctb1BFaUI4WjRudFJ3Z3NlejlnUF80eUxZT1JBbHVHcVpfSzVnalpULTA0SmtGTmcyXzlMemQ5RWRsazVSOEViWnBIQ3FoSWo0b3plSlloQUhqWFgwUW9sUGtNOHJlX1h2OEwxWThqdFhEeVRoaUNJT050Q0Z5dnZ6Ti1FSHJKNHJfZDktOTRxRzVuS0kwSWhtMUFLTU1JZ19xT09TR1hpQ3VYbmFaQk5BdjVvbEZCQ1ZzY1VQU21SQkp4ZHFVbHVtcUxEUVd5cW1zeUxCWVFQTEd0ZUFMNEJiNnVySlpjUjR5OUVsNVFOamwxMU0xZlhWc1lFVDFFS25ucTV3NTRwa2dWSVhPVUIyb2VtVllvLWQyM1VQYmY1WTNMMmxJZnJsZVpqbEJFMVR2Ul9IUFhkMmY5WXdvMEhOb1A0c1BSUW51dDhsbmViUzdkbmxPMUhfb3c3YzBMRUtIdXJnMFpyczdQVkNscVUtdUZUUThyeEFFVkg5blowUmw1Z1dvVk9GNVF2azZnMzVITkRHV0daQkxObU01YzRyWmFPM3RPRnRGNkdDdDh6OWpmZ2oxZEMyM1pic05saDBYSFRDS1FCVS1oaFpwOFBLMU9CZ1M3cTVQYXdkaFhSYVRpRUJSLXBGNFlWMmQtYVUwSTEyTVlOTGpkR1B3QmVJblVmRTBtbnlmR3lNa1Vsc0JNa2VILVI5OTRxZkhUa1hRNW9UWlFmS1RIS25wY0VaWThVeGROOFA5N3ZTU2hHcnl0S1ZuYmJUYTdHOXhtYnVDUUtCQVZnWFlFaG5mLU9MYUR0bFlwTXMyVzgxWjk3YV8zUTRmYmpsemZWbHo0U2tkbUVfWHlNUzJrVDRvYzdtWlFHbVV5UEpTMTVVSHZIb002NllnQWtNT3NiQVRBeUtfWnpGRmNiNmgwMTl1bmwwYjNTOElWRnI4NWVWVXgwT0xTSHVsakx6YlZGRk5yQlhrMUZoNVl4bkdYdGpzbTRsbHNPVzdXX3llREQ2STRicm1JXzR5VXdoMkRHYzdZVTVQQTFnWFljVF9mTDdOaFBKUnpxRWVUOC1Zd0Q2NF94Ykc5Zkw3VUFxbXBuX2I3OTU5bENFdVVTVnBYb3hpcGRzck42aW53NEVLNjFQb0tNcDRlOXFUb2FNRk5tVG02NGtzQXBsa2ttRTlEX1Jqd2FLMmFUZk1JeENOTjNNbEcwRHFQa0VxUHpqaWxNbGhybTZBemlJaDBuYi1iS25mZlozcmNXY0xoY0Jpcy1mZU5iaDZYb0d3aWtESW9wcmtEWGx6aC1KVEpPMWNxb18wVTFNZjlLY21DVEZMYVV3V1Z3MTE5Z2tJTzdiNXdkaEhmc182UHBWT2VTc1Njd2RTS0h1UHBoVnJUYmdwWE9obno2MWJnSGJ2QklyS2JGbFQ5TzQ1Sy1FMFdrbTZUOWRTQkEyTkxsdGY3d1RfNDJwS0NzY3BCTmNHdDhVMlg4U0s0dklxNGJKM25ONk5udGtkUGdpdVdicDdZbkxfMm03dTJHb000NlJlZWpXa3ZBRW0yYTB1cDVtM3RFWHQ4bDl1bUNxdXd1aXZiS1NoVG5vMUx2UG9Wenp0QmFNMllpZDZhUDdyM0NRRGFIdVI4al83VHBkWWlCVkhna1ZRdkpVcHVXOW02MmJwMVlwc2loa3ZfZF9BdlZXZlZVVjU2M2NVZ0s0enl5bDY0X291MXhpMXYyZE83RENwaXJ6aEN0Ql8tQWNzY1Q4V29qRHhRRFRlVEMzemFxRW5GOGpzUnI5NHJwU19GQVREMVFHUGpsdll3TTVHLTRhOGUxaTZ1VDF1ME10S1l3dFNMN1ZaNFV6d3VrSUJSeXhadzlIT0NwR3NuZFdEZnNRdjk2NzdEMTh2VzRnV0hxUlFqaHZaWDZFS09Nd1o4Mk82ZTRoVFhhMGJMSDJiM0VaSUQ4QU5Wd3NYa0l1d2Q4ak1BeXpsSVI4NnhCTmFqc3RZSUhwWkctVFFmTXpGZXN2aWJwVlJyZDdPTjdMYU1CRXlCVkRkN3ZVWl9qOTdoUWdUSVVjQWJ2SDlJa3hFTXlsNldwU0xiaGl0WW1ua09DclBGekcxQ3JnblRNeHNUc2QtYUdQT1FYcDRPNkgtU1lqQTJrNGZfQkVCMjFEVTJCYnhVM0U3QWl3b0FKeDB0MXRObDlTczBQSFh6OVdiMExTRmlpcVhvMUtOcHlQbzg1ejdQUWc4REJOU0F1bElrYjMzRTU0T3J6Q0ZjV0xCV0Y4c1hWS2lsWlU4OTloWm1TZHRsXzJvSHJTSGhkVl9FWkk1Z0puOVk3am5MWWowUnBSRXdqbUVCVE8xUnc1Z01PMzBsb3VBc3F5ZnJrMUJ4OGE0MmtucG9TZGdwblVwTGMwNjBkeUpFLVJScmcyekZTVjd1N1dTaEFGNUIxMkVfSTZnUjZkaVBWbEotM2E3TWw3clctLUFTd1NQbVl5SHVHbklCaHJaZWgtVDZvYkxRdkc0SjVMbk5LMFhlODlMQW1OZE1jSmZTbVVBeW1lVnV2bEZQYl9XdUxOTFZUWjlwWVltY3BoVlZsa3B0VTJlQ1I1Qnd1NUlVQ0ZrbHVNMXNHWklLV0pna2tXOUhPVk5qUmxrUEVPN2lzeVgzN2h5MmEzTjdhMUJ5LVd2QTdMN3dIelQ0ZXlLWWY1ZkVJY04yMkJJSnlZcDJOVjFTblhyR204RldIX0dFT1dRM2c5SjF4ejViMy1JUExVUlFMcF9yZGZBcG45WlpmN1Itc1BsY19abUVOVXNoVFpvWTZ3d2J3M010WTZudnA5WnByc0N2NF9LQ2p3VTVPWllWZndtLXdfa2JNMGl5R01zWUFpR2NOR2dPZmZVOWZLU09tX0xmNndYYm5PeEw0ZVMwWTJfTHh4a0k2Z0RsWF9jUDg2bXpQX2lfYlR2MHg4RW1xM1MxU1VILUpGRk90alpsUHpHaHpUN1ZaZWlqMjZqX01odUJFZ0gwOVR5RE4wbW9aUnlxUzNmZ3dZbTFPT0twS3lDeVJuRWNVNGg5c1hnTVFSXzd6WE9hYmtwZV8xMW5wRjBWbHhfaU5ma1ltS3dXeGVYcnlJSEpfZ3ZUV3ltTzIzV2h3eDlZMHlsQmxkWVJHTmJnQTBZSU1GbnFZa1VXajhaYndjRG90Qlh2SzNiU1E2cFU4VURVWlNaLS1xWnFtaDVlalRJb3VXeWNtWF91Y296Z3ZGNUlyN0ZBQmNpS1Y2ZW1ORWl1cVdfMHZfQTdWdVNXQmhzSVdnMDF6Vmx0aEQ4T3NXN3Jfb3BNeEcwLW84N2p5VEltdDJMVUFOeGtfMktKY3M1U1VJNDlRMEhoSGlkUU05aFU4WnpJQzI2VXQ1UkRqRTdva2JzR1JzRzZOaEd6LWJHNFNHZy1vWklJQVFsVElXMk80UkJpaE51Wm5HRllLRnRiMjlOTHZCRGxscV9lZnU4NU1sSkNjdjlCclhZWE1yVWlLSTd0cWxETjF1MVlUNDVYdkFjYmdscW12bWkxMW9rd0EzMXlnYko2czFhUGFMZldXSTRGVlRPdFVkR0hoNnRJRW1mVF96YnhaeXpBQkU0Q1BkOHkxcWJaaXczR2NGR1JWbU5UaHp6MGQzZzQxX0ZlLVRrNWJrVnRIMEZuR2JocnN6Z29IVWRaYnQ2MDVxQmg3bmRWZkpIcEg5UkNOUUpUckpQdXVlSHNTcGFqWVdUNk9MdjJpV0tyVnhXUndlSDh4UVgtMk1IZWt5LXQyT3psclplbW1Tdm90SkltdEhSQWI4LWF3bWk0LWl0Wk13Nl9KLWtNNnRFeTB3SjZkbHU2TG00bTVaUDlXdnZBcWRYTmpHUnZWeWpHV2NqTVNLblhlWnM0TUJoRnhrbjdScVNzTXE5b0l4eVp4M0IwRE1oUzQwYmZpQmI4Qm9YbVd3Zk5mMjJrNWtDMVlZemhVVUZ5elRXYmV1eHdJWnk0UFZKc1poNEJKc3IwVFlGanE4MEJTOVNHMnpPWHVCQ1ZDVlVET1pmbzFhOUpJdnU1bUt6bTlwazJaYzRIbG5OVk5yWE5CeVAtdklMQy1fc3l0UTdlaHBkSmtLaUxTTXVVVXhLZmlDb2dCUUZadXVSc010OUc2RTVKUkEwT2JoNWZBblpuaEM1dmxxQmdFM2hYZVlycGU0QzRGSVJaSHAtSURyY21ZMGgtZzNKSTNfRmVYV0JvQWRmQVJCUHBoN09uZUQ3SUNjUmo3S2dOYmdqOGxSc2V5VFhObVBubTdIZDZXVzhXM1VwRnRoOFBYaWd4ZVd3MTM0bVF1SVYtbjRrWTdsNXRPZU1NSlJjcnBRX3k3ZzZBbTYwbFpjVkIzNnZzMDRjV0hVUGdHRXJQYnlMUUhPc3RFcjdRWWZ4d1lnWjFhME9vWWRCSHAtMUZRTWRRTmYwaEpjSGFzQ0RUbDFHUVpOS2k0UjBBX1F4empkTWFZRHprQkhWX3ZXOThOVGxlLWdrc1pyT0tsT2s4Si1qS3A0UGZ0RUk4SnR1QWNBZ3JXMS1jSFRTMEl6RjJlM3lvb0FNdS1wSjNIYWdlaVZ0bW9SNVNkTGJUYkdMNGVIN2RtUmZFTF9PbDZKa1J5aEhuWWdId0FUeVJkWGtNQWZYOUpsS2lzNmN3VEJMZEFLZTRIUkhvR1pkSkVnR2tZRXBfWWVqZE5ZdExyQmNyVjUyUUU1cGFFQVZLZGRqWUNzV2NsR2d6YmNsZTh1YWxpRVdYZE9xOGpqMUtSVFJxc3NKbGZqNlE3YWdHS3pQSUI0S0NUNGRBNUtZekM2ckFCSDVZOWF1c0pSdTJ1S0VLRlU3bzNfMVd1dDlwUEdSTkJPMmI2WUJvV0tUNUxkcHJsQUpYamZ3T1B4TC12T0J2UFNVLVAycjFNQWhZXzN0NEhBZWtVM2Q1UkQwV1VJOGJjY3B5LTBMWjlRbGZIQjJoRzB5UVdWOG9PTEx5VXhxNGRZQ0luLTJMQmtjb2Z0Xy0tdHp2Nk90alJUYWNlSndWSllyby10MXRtNWtGYm9LM1VUcHV2aDlSZEk3c0RXd0JNdnlrdTlORHM0MTJRR3VuanBGVVhna29qem83Q01IMUxvNU9XLWZMRjJLSUtVMGpJdnRGTmsxNzdXZU9ybGNhRHo3V1ViUndMcGJmZnJyQmxiM1lwdWZHSUMtcktqMEU0YmRUQ0VQTUJBNi1pdmpHVG5YX3QwYVBGTl9tQnd6cEZMeDFhbTJmUm5mT1VFcjd3YUs4MWk0VDRoWVB2YlJ0VlBiOGtvWXoweWsyOF9mZ21WUmM5ckFVZ0lMd09Ub3NFQmZUS3FmYUxnZnJoc1lqaUZZTVZ0NkV5ZElCN2tYOUpVUklWVTEwX1hIRGpOOTZubjhLaVRzVE9MaURVUkM2MFB4WFY4MnF6OHlPN1NXTnp1LVVUX0w2WUZIRTVBUkZZNmVzMzVKb0hxUjg5QUxTY19hMUFiU2UwTElXemFzZWZBWlZnZUxHUXVJcUZfMkROZm11OVV5LWlObGZRYXBhTE5sQ2NnXzdDeF80TzZxNnFWTHkzZlZwUGtTZWhEZzFQY24wNXpwak43Q1U1eEt5WUFPc3h1TWFreG9zUDVVQlJkaW5BSDczclVPa0lZWllseUQtUFBxa3VPczNGak1rY0RPU0xFWmxRM1NvOHBJcUlNekxJbzR1RjBQVmFVRnFCYnBJZWp2TTB6LVMydnpsd3NNWTExRDNETXR6cEhnakdJSVJ4ZFpqSkRESUF6Q0tESWZuT1NhOG5pUkt3MWdSNlBRc0pDUnJuSURzbjFOMElZXzlKXy1lYUtKQXl2NllOSEdBTHRvYTBvYlIzVnBCdkRVeENaUXhlUm9raUZFeFMwTnlOQk1GVk52bW81dks3WWVYbk5kREV2UnB4NU84R0xaYXNlZFJ1djNrU3NoeG9CTWFLa3pTV3Y5dFNjczJaVjF5VFgtLVhrZFdkWjUzLTNtbjZoYmp4VWxoTVlNV2tQQ0ZZdmt6eVJ5cFlfd3pDd0VSRmJwVjYxRnh2LVBvTGNkZTZaZjc4aEpCR1R0MHdQWnM5clphaWoyVkExb2hxOHRtcDBPVU4wbzZaQmdMbXFSdFhQQnVsbnBtY2JveTN0YjF2Ymd2d1B0MllyX2huY1c2a2xWOGVSN0Y2UF8xMG1JNUl1M0ZveThIcklLeG9YY2h3WDlvZXB0YlVPWmc5NEJ3R3ZFTksycW9fT1VNbURhaXRPaG9JS3RfeWlfRjVMSWFLNlBrVnNpTEVaVDhnU1hRSjExZDhkcU5pM3lOOUFoU0xoZzRpNVZjOE8wazJNcXc2V1BabmZndE1JSkJqWUZjbkZpN3pnWnhJMzV1NjdkVDdxM3hyVnduamRkR0JzZWxtdkpidzNfNUx1ME9sRkxzVXR0Z2RiM29LYVY0aDUydXROMEpHZXhmd3RXWDVoNUlWTnpDUXo3bTBfN2tSSG41RHFhT216NVdBaHFDV2Z0R2NVUWp0V2wyRFU5WEtmWnBxSnFKU2NsdXN6eHcwRnl0dUhUR283Z0xSakJ0QnFTQmtyenZ2M2NkUEltMkR1MDBrR0hrLTU0eXhUazJJMnh2NkJobUhWZXBHZFBIZGZIU0ZmQUtUVVZJbENVRUhnTFdlWk5UZzF0eTQwRzRXODd4Qkg4dFlhR1p1Ukk2LW04MzIxVF90Nk1GR0toNGg2Tm1IM0tQWnFIQ2dzVUNqQWlrb2M4Y0RKN1RNSlB2ejhwVHdOQ2RLS2kzNEQzZnhVV2daLVJaTlNBaVp3QXlpQ3JrbmJqanJlcmRWY1B1TFpXSkFwZElDazNic0pvcGUwVjl6cl9DZUtEemh5ZWxONDg0YTZRRmJwYVNSajFWOXYyOWQ1MDNsTVNrLUtZNS1Pc0xxSWZKZ3JJTXJqdEY1aGRFcUk0WDhwQkZsem56ZVJ0RTdZWTc5bjExVTM5UkxKYTVUOVFyQ01Xb0ZrRldqMmxUaF9PMlFBeE1RdVYycGpQdjFvMEkyejNOVTRXcHlLbzlWMGE5NVM0cGJCaWtubDhRWGpuN291MFUtaXNfVzBPLURzR1BFQXR0WHU3QVhCRXU2eTZPU0tGa1hoT1BORW9OeW1wMjdUTDFzX1NYeFAyZnZQWW4zaFFPTDZBMjl6eDV6clMxUGYtUHRUZXlZYXYzNGo0RlQ1QXFPNDlDN0x3UGl0dU0xSS0xLTZpcFJseE5KSGlrSkg5dDgtZE1XX0VFZGVIUE91WDZwWF94MHF5RHJ2OGJOUGhHakgzS2F1eHRkM1NqWmhOMHNmZ1FBOVNVRzhqa3ZidE5ZZzN4N0c3cE1aeDBjeGh5NjZRVEN3aDB1Yy10Uk56eTN0OEFJemh3UDBWVjZDUmFnOEZzMDR2c01WSldOMkVtOU16TGwwQ2dTNnpQVUQ5SDI0WXB5RzdldmRNaGFmRjAxYnNnY1NiVnBMTEt6cVZVM2EtWGc4YkY1YnNTX25Gd0lkcGdWRlpERUhQQndSd0JZdHVLQXVsZ1hHX0trNkZscTJ1cXhYbDBKdHlDN0lDTkYxcXV3N0kwMm5Gd3lzNTRlRzBuRjUyVjBsS3BBWE9CcGN6RjE5Sm5yZEFPUFVPQndkOElyazBXa3lEdUdWVVdNTWgxMmdZNkNHSUFZSVdDWlJVRk9IQUxodUJIYTNSdWtTQ0JpcXJVQzQySGpzRUFSV0xZcmNCcjlablRBeENFUmhsc3BmMzRxUGR0cDV4U081ZW1SWUFGcjVRQnhhU0lRVXZBazVLbkdTWWdqaklrR1F6SU9XX3Fyb0Z3cHI3S0MxY2FWSFg0V1ptTEdWakRLdnBQc3o4UmtaSzRDakxqSDZsdC1rZWZTUnlLSmlkd1VsZjZ3ckdmVjlaN1JGd0EwVzRKazZTYlRLbzNmWHhBQ1RZMG5INk42akJlTmdvbTdZZEhUX3IzTkRnTVd3YTZDdE9HeFJabHlNMDA2WlFpc0xfUGFkTi04bzhieFRaclFMcGZzSEN5VE95VkYxaWMxNFZNbGJWV3J4TEFwcDV6amRIcE5HWTg3dkEtTkEySHVXcGQ5Y2dLRHFMOHViTVRBQ3hQdUVqOTkyanRkOGRyeklrcHhqUzBLaUJQSW1sUWh0ekprU2NlVzdZMDhwbzJNcFhhdFYxMVRQRll3STh0Vm1iVDhtdDg1NjZJMWlGTGkyQ3RIVkpsM0pUTjdmaU4xUFZHcVhoLWpMb0RYZkJ6WW5DQkNUakpUbHFSb3dyUmJFbzZ6NkNzNGhqQ3IxeUhFcFNkODlmbzI0MXg3TEowdEllQVZmdjVIUmFNU1UwTlpaNWt6eUhzZG52a0NMN3J2RkZ4dkFMdDlnMFVkcU5NQTFSYlE5MVViNXB4UXptelNxcUMtaEdrYVptVE53bUFUTk5DdVZDZUtxcUxaYUpWajdJbDdhSVNuYS1NYjdEUzJyYklrTmgydmhQNWVILTRTejNNZENHQWpXRUYwbWZpc1FMUnpmVjdzLXRMTTdJTDVzNk90Qm1wYjNCWmJKeGxIVFhad1RyWEMzT1RYT3hWemRVTEFWQWY5anpyeVJDWE1iTVdyZGUxc1BabC1WTUkxNkZjMkRxdmdYZ3BjazBwUlhORUJiaFVYanhIbnd2clpaT0ZLS0ZjTUV4VFdWOVpOeFJFWmhfUHZqSU84M0ViUmRGZG9JUTVOQWFtTGdEM2xYZzRfaHI1SG0waERoNTBMZ3oyX1BQNjFZZkdueFJReWg2YlJaV2FIT19pU19BbWRLbWxOU25CU3VCMmFLc2JnX2FILTdzYkV1clFzdk90NmtYa0ZlNFhfN2dxeXp1RURuVXBwal9PUUVUamhUWVFIMnYtdk5CSEpTaXNaQ3FQSFMxUXpjN19lN2E1TjM0R2c5eHI5aHBhamJGeDJteEg0WU1TdVN3ZEpHaV9kWnFsQVdCeWw2YmNHNkE2ZnBobnNUQW5GdmFGdGFnVXR1RS11ZEVrT2w5OE5EbURpcmV1R1NBNnE1SlJKdkcyZkM2U29jdFdpSzBvVlkyX2FKcWRRZmVnYmdOZExwRUQ2Q1FJSzkwajJ4djFaa21TS3pXcG9jd3dsSmNkczZpbHZBU1BEaXJxUjBMZ1ZTYTVyaUxDeFp6QlZHWml6M2RkWnR1akdxeDJFby0xd0JNdjVLRkVIWGszbkllYVdZd3RZYnJsWW45Uk9Rdy1odzBGOVhhMm11YmdHZUNQYTJOSGFiTnBsR25Ha25EdkhKRzVWRWNZWTFqRUU5d1FSSlpJc1hOUDlVYkxUQnZtanM5ZGxrcjEwaG5OcHdmeVd1elBzQjJHVng2Yzg5cW5hY3BfZk54WkcwQ1V0WVVTWW02OEhuMklyV09mbWl0UVlOSFZmMHN6M0JnM1JBRlozUWs0SEFSR3ViUFJhZW93NW01WTUwdEdGUm1HdXhkZlVTNzZCOVBIbzhfV3NYek9jVEg0cVFndExXTGlxQmtndks0WjFQSTFtcG14SW56b0ZydmIzX0xrTElLWmRmeXVWRkIwSk9WWkVqaEo0TkJVcXpMTDc5bGJ4YjlwUXNaQWVadHg1Wk9lQVBGQnBZZHFPbmIzU3p3eV9WQnlaREY2MmxzaWQzVUF4SkNseEJ0XzFzYUVnX1A5SDhVR0t2YVR3RVdKXzhDcG92YlFWR1NjbmE2eHR1ZF8zOFpxazVpdWxYUk5TYzFwQWczb2laS3NXM1ZManRGWjNhSTlXUGVheHgwbW9zTjQtZlVHUnBWejVieTA3OFVRWHdRR1FybmlhYk5sa2ppWmwxeVpFYXFxX00yS19QNHJkMlhwTUc0ZXlLNFh5SE1HMUU3R0FMeWNSSFFDa2t1LTVHd3RxcUdFS3J0bUZUQU83VlBMSnlGYWdvWHpybEtfa2V4cUg0V29VOW9KYTB4bDBIXzgxcUIySDZJSFRvZjQtWFdOMU1yY3VxZXZXVHgyTW5iSi0wRW5FT29ESlZWV1ZwMHZyV2t6bEJCOF9falZSWTYtdVQ3cUEzQW8xRFV4UVV3TExWZjZhN1E2bDc4TXpKTWlzZGluTkdVbG9mSDVPT1RHeDg2NEFNemd3WkdQSnNabFJ5Tm5KeEotSlJHajRWOTJsRGlBQkRHZE9GcTBtMlNaR3BhUXp4c0xiZzBWLW5OcTloZVFmU0MwM3hWV3QtcmVTbHVSRlc3ZzctSWJyU09Pbm40YnpfcWlOaWV6ZVRYbFg1Y1ptNmpkZUp2MlhUTHBEUF9FQ0w3bjFGTEdiSWxwU1BTWFRDYTBIeERoUlRYSTlHSmNNWm1nbWFpR3ZybU9XaHFvT1lxeWctWlNWNERickhnWGdpc1BvUGhLbFlBMjFaaWo2cFhyV25LQm1oZ2pySEgxa2ZEQTBIdjRtanByOEFUYjItTHhqOFZWb3dqZFNhbGpFbkpfZmIxdkRiYVZ4U2NxRG9LTldjeDJpZ3ZiakxybC1VWkthd1M2b1dBai1yVFBCUzkwOEEwdUtraDl2eEc0bGRuTTdPTy1TMlo1WDRxazZ6a1J1T3UxWjRGc2NZbzdCNFRGYmNPeVM3Z19zZjVZclJPUmZUSjBVdnFKbFhSOW0xUi1ZalNLUjJBMEZTZi1KT1RqVWZ3TlZ1dGV6dzZTUTFYQzl2RldqajBlWmtxSzhrYkhWc2lKTkw2UjJNdXE5NVR1NGZta1J2c05tcUZ5QWozdEYtRDlvMVJYODIwOUJ6TkUzbUJJUjZhZnQ0THhJT1lHMFZWSUhDckRuMGs4a2lCRUlpT29UY3Y2bTdoT3FXODNtdU81SFhkcVUzMDdDVF9nSTVGQ0g5QzR0V19PNTVnY0ktRU9Eb0tYQmlLZmdEVG9qNVBBcjBjZ2lZbE5UZlVrdVVBRUF1QVlvR2pBYV9QYUQ4UnFFc0FjdkxfMTE2SThJeWRWVUJmc0dCdDcta1VhUkQtTTF0bTR5V185MlN2dnN0VU1hWVNKWDFORW96WmFfdkNwUEttZzB3RGFVUE92a19PMkd3Z0lHdFZqTThPd2ZFcmNRUTZGekNBUmZ5T2VMMTJ0aUpkQUI4cjZSZmlxVDBoUDRoOG5NaGdkR0E0bmRKSWRzaWw0V3lWd1Q4SkVFdWNpWFZ2b2VZb2JUeXhSN0F6YjlBdVpneC14M0tOaFlVdTJLMHRFclIzZml3YXJxODBfNmlLRnFkaU5uLUZOSmtxWTJHZ2V5T1FpcVM4MDRwTVladnI4YmtYczlkTGI0UkFyU3JqbkdIUmVqcTlUNWdCNzBEdWh0RXFWNWFpaHVYeFE2UXdWV1doM2M4TUdWRFVlNFBDM3hqcmtqWGFxdVp3SjhfOTFKM3Y3eU5uWnBkT2lQMUFsQi1wTmNLT1ZISHQ3U0pBd2JCaEUwU3RLbUdyRTluaEhkMWFmdW5WVjdjTEl3LUNMOGNrS3huaU44dE56UjM2RDJ6UXpLenhhYlFxenR6aHB5UVBFTzFuZk1fNUhSQjlNY09jamZIQ0hweXZxNnFPLXBYVVJRWlpvd2ZZQ2lMTXNrOHY1QlNicllud2QzLWZQYVo2dHlhMEQzMHZlQmJURFlCTnRzZ0hfQVB1N1ZBR3NtbnBpV1BFc0Qwb1MzSVZ3VEdnenJTaXRfSTU2bndBSUZnN0MtUGdRT3NaVm5SSWlCbXdXQnFUXzBteXNoZHAzYnNuMzV1dFB3Z0NNOFFPa04zVzY4TXlWdmJKU3JhWHdMLXRLR1MzOVNaakhFV2RkV0NVTndmd1lRVXdCVlBDM2lJXy0ydmg5VkxRazM1Z2lEcEdkV2NrbjFXZ25yeHBzWHM4ODVpN3kxZ2xqbWxOei1HMUwxcEpvYmdFUUtiZEN2R0ZlN3RRZEhpaWlnMjNwcHNQdTBSaE0xQjRSNHpDRGJNTy1oODJZTHpQeDBkVDc4OXpzVg=='
7
+ SYSPROMPT_STYLE = 'Z0FBQUFBQm82Q1ZlbHFiSzRCNWZod0c1Q1lkQ0k3czNvMjF3bENVMWlUMGdiWS0zU292UW01WndsTko5NU5YTWRZbTBaekVaTXA2cFFBVkpiWDVBSlBoblp2d3FjQllOZWJNWjhiOEpBZHMxM3dHdjdqYjVkUVB5R0pxU0JtUlk1bTlWSFEwempUUzNVOEZXbGUxVGxHQUxpODZDUlRPQlU5Ty1qa29SSUxYcjZRNzlEVmRFMEtEa0liS19pZEZ6UFdtaV9heDlwUjloOTRjSm1sREhLaTZ6T3pMTXVDV3hvQmdZVXZ6SmpCQkdFS0w5cllnTmtqQkh2RVFJNElKbUI5Q0RrZEhxbHFoTHdpOGljNGYya2JWZFlnRmdiUWxvcWRIV3ZsQkRrU1hEdFVta3hVSXFIY1NDeGExdFRlNjdZdFBrSnplVklZc2ZZbDA5X3BEVUYyY2dyakprX1EtbUJzcDZ1Y0NhbmQ5ZnRJdDc5NVJVaUxPVmxnWXdtN05rRVU1SDQ3aUZsUnBWcnoxa0pzMXAwMXg0WWJEYXlSTXVVQ01FSGJoVjFhSEF4RlRFTE1sN1JXZz0='
8
+ SYSPROMPT_TEXT = 'Z0FBQUFBQm82Q1ZlWVhhZWJ1UHlxa2xTdWY5Z0dyc0dRTXN4VDJUdG9IaWZrcmE3NE9RV1lKZ3MxelRpSW9CLWtpeVcxUlExa0lBREd2RFpVNjczVWpQQktPUHBkc28yMU9ZSWRxa3JPbWwyRGZIS1J5Z2JwamcwZ0U4VDZjNkpydVNNWGFBN21FSUhtSVFNQXdCd1dLMmlZZGhkUFFEWUVwblh5RUdseGVkRDdJdk9lYnpUOUZwTEZDQU5kUTBvS2RueHRseUFyUXV1ak9WdlJsd3lheG1tR25SWnN3NW5YUXN5RG0xd3IxVHhmWTFXYjV3SjJVX2RPMnFSR2J5Y2FHMUNuWUFycXhGbk5rUkZnT04xOGNXdnlCSGRvNVhma1czVVZzMWJpbUVlOWtPOHBjNVowdS1LYmlsV1AteHJLYXBHR21CeDY3Tl9CcXRieEttaHNzeEdIOFFSakVwRG1xSVhvbldTQ1BTWlh2R1hQbks1eG5IUTdDZ2tFTUl2cjdmTjA4ZXlfbU9jRDRrMFZGbFRYUDQ2bklJNzBzaF9neWZ1U3ZHUVRndlppUVZ1aVJKS2RwU293d0lHbGtaalZoNi02LVVBZTF2MXZJVEdRWElDUDJybC1fZUZoZGtJTXM3emVsb2x1dTdUUkdmZEQ0ZWtTRktfMVl1MkVsU1gtak5nd2RqSDYxZFk='
9
+ SYSPROMT_GEN_LYRICS = 'Z0FBQUFBQm82Q1ZlUzFIa2hTb1NIWC02UWl2WHc2b01OUDNJdkZLSVJIT09nYTBTTjlxaWVtRjMxa3ljTENjMlYydTZXRHUzamE2bU00bFVLNWVVQU8tWWJITS1FY2ZzZ3FWbFhWY3U3WWw1VTdhN2VLV0dJaUo4TTk1SkhCaDk0b3JtU0RxQzdnX1Fhclp1MHRXSDdlYV93ZFpSd1A5VmdMTjVBX005MUgwRnVPWDN4UjdQWHR5QTVkOWFEeG1xY2kyMy1BTGVrVWZ0T2N1RWV0MHFkQ1FtM2g0MnMxWGNOY0RDRTAxUjNkSEVyNE5EWkhGQnZJdXIyLVFMMWZqTXlxWjJhZ3h6a3hHYQ=='