Upload 88 files
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .env +1 -0
- BehavioralScreen.py +218 -0
- ProfessionalScreen.py +197 -0
- README.md +4 -4
- app.py +48 -0
- app_utils.py +23 -0
- basic.py +31 -0
- career.py +44 -0
- career_priorities_data.json +34 -0
- coder.py +77 -0
- core_values_responses.json +1 -0
- data.json +7 -0
- data.py +1 -0
- display_responses.py +112 -0
- dream_job_info.json +9 -0
- dreamjob.py +45 -0
- dsa_questions.json +1 -0
- dynamic_strength_responses.json +1 -0
- gemini_responses.json +3 -0
- icon.png +0 -0
- images/brain.json +0 -0
- images/evaluation.json +1 -0
- images/happy.json +0 -0
- images/hello.json +1 -0
- images/interview.json +0 -0
- images/recording.json +1 -0
- images/talk.json +0 -0
- images/welcome.json +1 -0
- initialization.py +96 -0
- interview.py +121 -0
- interview_classic.py +100 -0
- interview_double.py +119 -0
- interview_selects.py +111 -0
- job_description.json +1 -0
- linkedIn.py +87 -0
- linkedInv2.py +89 -0
- newpage.py +20 -0
- preference.py +50 -0
- preferences_sets.json +14 -0
- process.py +183 -0
- prompts/__init__.py +0 -0
- prompts/__pycache__/__init__.cpython-311.pyc +0 -0
- prompts/__pycache__/prompt_selector.cpython-311.pyc +0 -0
- prompts/__pycache__/prompts.cpython-311.pyc +0 -0
- prompts/prompt_selector.py +36 -0
- prompts/prompts.py +160 -0
- requirements.txt +15 -0
- resume.py +90 -0
- resumescreen.py +193 -0
- skills.py +46 -0
.env
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
GEMINI_API_KEY=AIzaSyCA4__JMC_ZIQ9xQegIj5LOMLhSSrn3pMw
|
BehavioralScreen.py
ADDED
@@ -0,0 +1,218 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
from streamlit_lottie import st_lottie
|
3 |
+
from typing import Literal
|
4 |
+
from dataclasses import dataclass
|
5 |
+
import json
|
6 |
+
import base64
|
7 |
+
from langchain.memory import ConversationBufferMemory
|
8 |
+
from langchain.chains import ConversationChain, RetrievalQA
|
9 |
+
from langchain.prompts.prompt import PromptTemplate
|
10 |
+
from langchain.text_splitter import NLTKTextSplitter
|
11 |
+
from langchain.vectorstores import FAISS
|
12 |
+
import nltk
|
13 |
+
from prompts.prompts import templates
|
14 |
+
from langchain_google_genai import ChatGoogleGenerativeAI
|
15 |
+
import getpass
|
16 |
+
import os
|
17 |
+
from langchain_google_genai import GoogleGenerativeAIEmbeddings
|
18 |
+
|
19 |
+
|
20 |
+
if "GOOGLE_API_KEY" not in os.environ:
|
21 |
+
os.environ["GOOGLE_API_KEY"] = "AIzaSyCA4__JMC_ZIQ9xQegIj5LOMLhSSrn3pMw"
|
22 |
+
|
23 |
+
|
24 |
+
|
25 |
+
def load_lottiefile(filepath: str):
|
26 |
+
|
27 |
+
'''Load lottie animation file'''
|
28 |
+
|
29 |
+
with open(filepath, "r") as f:
|
30 |
+
return json.load(f)
|
31 |
+
|
32 |
+
def autoplay_audio(file_path: str):
|
33 |
+
'''Play audio automatically'''
|
34 |
+
def update_audio():
|
35 |
+
global global_audio_md
|
36 |
+
with open(file_path, "rb") as f:
|
37 |
+
data = f.read()
|
38 |
+
b64 = base64.b64encode(data).decode()
|
39 |
+
global_audio_md = f"""
|
40 |
+
<audio controls autoplay="true">
|
41 |
+
<source src="data:audio/mp3;base64,{b64}" type="audio/mp3">
|
42 |
+
</audio>
|
43 |
+
"""
|
44 |
+
def update_markdown(audio_md):
|
45 |
+
st.markdown(audio_md, unsafe_allow_html=True)
|
46 |
+
update_audio()
|
47 |
+
update_markdown(global_audio_md)
|
48 |
+
|
49 |
+
def embeddings(text: str):
|
50 |
+
|
51 |
+
'''Create embeddings for the job description'''
|
52 |
+
|
53 |
+
nltk.download('punkt')
|
54 |
+
text_splitter = NLTKTextSplitter()
|
55 |
+
texts = text_splitter.split_text(text)
|
56 |
+
# Create emebeddings
|
57 |
+
embeddings = GoogleGenerativeAIEmbeddings(model="models/embedding-001")
|
58 |
+
docsearch = FAISS.from_texts(texts, embeddings)
|
59 |
+
retriever = docsearch.as_retriever(search_tupe='similarity search')
|
60 |
+
return retriever
|
61 |
+
|
62 |
+
def initialize_session_state(jd):
|
63 |
+
|
64 |
+
'''Initialize session state variables'''
|
65 |
+
|
66 |
+
if "retriever" not in st.session_state:
|
67 |
+
st.session_state.retriever = embeddings(jd)
|
68 |
+
if "chain_type_kwargs" not in st.session_state:
|
69 |
+
Behavioral_Prompt = PromptTemplate(input_variables=["context", "question"],
|
70 |
+
template=templates.behavioral_template)
|
71 |
+
st.session_state.chain_type_kwargs = {"prompt": Behavioral_Prompt}
|
72 |
+
# interview history
|
73 |
+
if "history" not in st.session_state:
|
74 |
+
st.session_state.history = []
|
75 |
+
st.session_state.history.append(Message("ai", "Hello there! I am your interviewer today. I will access your soft skills through a series of questions. Let's get started! Please start by saying hello or introducing yourself. Note: The maximum length of your answer is 4097 tokens!"))
|
76 |
+
# token count
|
77 |
+
if "token_count" not in st.session_state:
|
78 |
+
st.session_state.token_count = 0
|
79 |
+
if "memory" not in st.session_state:
|
80 |
+
st.session_state.memory = ConversationBufferMemory()
|
81 |
+
if "guideline" not in st.session_state:
|
82 |
+
llm = ChatGoogleGenerativeAI(
|
83 |
+
model="gemini-pro")
|
84 |
+
st.session_state.guideline = RetrievalQA.from_chain_type(
|
85 |
+
llm=llm,
|
86 |
+
chain_type_kwargs=st.session_state.chain_type_kwargs, chain_type='stuff',
|
87 |
+
retriever=st.session_state.retriever, memory=st.session_state.memory).run(
|
88 |
+
"Create an interview guideline and prepare total of 8 questions. Make sure the questions tests the soft skills")
|
89 |
+
# llm chain and memory
|
90 |
+
if "conversation" not in st.session_state:
|
91 |
+
llm = ChatGoogleGenerativeAI(
|
92 |
+
model="gemini-pro")
|
93 |
+
PROMPT = PromptTemplate(
|
94 |
+
input_variables=["history", "input"],
|
95 |
+
template="""I want you to act as an interviewer strictly following the guideline in the current conversation.
|
96 |
+
Candidate has no idea what the guideline is.
|
97 |
+
Ask me questions and wait for my answers. Do not write explanations.
|
98 |
+
Ask question like a real person, only one question at a time.
|
99 |
+
Do not ask the same question.
|
100 |
+
Do not repeat the question.
|
101 |
+
Do ask follow-up questions if necessary.
|
102 |
+
You name is GPTInterviewer.
|
103 |
+
I want you to only reply as an interviewer.
|
104 |
+
Do not write all the conversation at once.
|
105 |
+
If there is an error, point it out.
|
106 |
+
|
107 |
+
Current Conversation:
|
108 |
+
{history}
|
109 |
+
|
110 |
+
Candidate: {input}
|
111 |
+
AI: """)
|
112 |
+
st.session_state.conversation = ConversationChain(prompt=PROMPT, llm=llm,
|
113 |
+
memory=st.session_state.memory)
|
114 |
+
if "feedback" not in st.session_state:
|
115 |
+
llm = ChatGoogleGenerativeAI(
|
116 |
+
model="gemini-pro")
|
117 |
+
st.session_state.feedback = ConversationChain(
|
118 |
+
prompt=PromptTemplate(input_variables = ["history", "input"], template = templates.feedback_template),
|
119 |
+
llm=llm,
|
120 |
+
memory = st.session_state.memory,
|
121 |
+
)
|
122 |
+
|
123 |
+
def answer_call_back():
|
124 |
+
|
125 |
+
'''callback function for answering user input'''
|
126 |
+
|
127 |
+
# user input
|
128 |
+
human_answer = st.session_state.answer
|
129 |
+
st.session_state.history.append(
|
130 |
+
Message("human", human_answer)
|
131 |
+
)
|
132 |
+
# OpenAI answer and save to history
|
133 |
+
llm_answer = st.session_state.conversation.run(human_answer)
|
134 |
+
st.session_state.history.append(
|
135 |
+
Message("ai", llm_answer)
|
136 |
+
)
|
137 |
+
st.session_state.token_count += len(llm_answer.split())
|
138 |
+
return llm_answer
|
139 |
+
@dataclass
|
140 |
+
class Message:
|
141 |
+
'''dataclass for keeping track of the messages'''
|
142 |
+
origin: Literal["human", "ai"]
|
143 |
+
message: str
|
144 |
+
|
145 |
+
def app():
|
146 |
+
st.title("Behavioral Screen")
|
147 |
+
st.markdown("""\n""")
|
148 |
+
with open('job_description.json', 'r') as f:
|
149 |
+
jd = json.load(f)
|
150 |
+
|
151 |
+
|
152 |
+
|
153 |
+
### ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
|
154 |
+
if jd:
|
155 |
+
|
156 |
+
initialize_session_state(jd)
|
157 |
+
credit_card_placeholder = st.empty()
|
158 |
+
col1, col2, col3 = st.columns(3)
|
159 |
+
with col1:
|
160 |
+
feedback = st.button("Get Interview Feedback")
|
161 |
+
with col2:
|
162 |
+
guideline = st.button("Show me interview guideline!")
|
163 |
+
with col3:
|
164 |
+
myresposes = st.button("Show my responses")
|
165 |
+
audio = None
|
166 |
+
chat_placeholder = st.container()
|
167 |
+
answer_placeholder = st.container()
|
168 |
+
|
169 |
+
if guideline:
|
170 |
+
st.write(st.session_state.guideline)
|
171 |
+
if feedback:
|
172 |
+
evaluation = st.session_state.feedback.run("please give evalution regarding the interview")
|
173 |
+
st.markdown(evaluation)
|
174 |
+
st.download_button(label="Download Interview Feedback", data=evaluation, file_name="interview_feedback.txt")
|
175 |
+
st.stop()
|
176 |
+
if myresposes:
|
177 |
+
with st.container():
|
178 |
+
st.write("### My Interview Responses")
|
179 |
+
for idx, message in enumerate(st.session_state.history):
|
180 |
+
if message.origin == "ai":
|
181 |
+
st.write(f"**Question {idx//2 + 1}:** {message.message}")
|
182 |
+
else:
|
183 |
+
st.write(f"**My Answer:** {message.message}\n")
|
184 |
+
|
185 |
+
else:
|
186 |
+
with answer_placeholder:
|
187 |
+
voice = 0
|
188 |
+
if voice:
|
189 |
+
print("voice")
|
190 |
+
#st.warning("An UnboundLocalError will occur if the microphone fails to record.")
|
191 |
+
else:
|
192 |
+
answer = st.chat_input("Your answer")
|
193 |
+
if answer:
|
194 |
+
st.session_state['answer'] = answer
|
195 |
+
audio = answer_call_back()
|
196 |
+
with chat_placeholder:
|
197 |
+
for answer in st.session_state.history:
|
198 |
+
if answer.origin == 'ai':
|
199 |
+
if audio:
|
200 |
+
with st.chat_message("assistant"):
|
201 |
+
st.write(answer.message)
|
202 |
+
else:
|
203 |
+
with st.chat_message("assistant"):
|
204 |
+
st.write(answer.message)
|
205 |
+
else:
|
206 |
+
with st.chat_message("user"):
|
207 |
+
st.write(answer.message)
|
208 |
+
|
209 |
+
credit_card_placeholder.caption(f"""
|
210 |
+
Progress: {int(len(st.session_state.history) / 50 * 100)}% completed.
|
211 |
+
""")
|
212 |
+
|
213 |
+
else:
|
214 |
+
st.info("Please submit job description to start interview.")
|
215 |
+
|
216 |
+
|
217 |
+
|
218 |
+
|
ProfessionalScreen.py
ADDED
@@ -0,0 +1,197 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
from streamlit_lottie import st_lottie
|
3 |
+
from typing import Literal
|
4 |
+
from dataclasses import dataclass
|
5 |
+
import json
|
6 |
+
import base64
|
7 |
+
from langchain.memory import ConversationBufferMemory
|
8 |
+
|
9 |
+
from langchain.chains import ConversationChain, RetrievalQA
|
10 |
+
from langchain.prompts.prompt import PromptTemplate
|
11 |
+
from langchain.text_splitter import NLTKTextSplitter
|
12 |
+
from langchain.vectorstores import FAISS
|
13 |
+
import nltk
|
14 |
+
from prompts.prompts import templates
|
15 |
+
from langchain_google_genai import ChatGoogleGenerativeAI
|
16 |
+
import getpass
|
17 |
+
import os
|
18 |
+
from langchain_google_genai import GoogleGenerativeAIEmbeddings
|
19 |
+
|
20 |
+
|
21 |
+
if "GOOGLE_API_KEY" not in os.environ:
|
22 |
+
os.environ["GOOGLE_API_KEY"] = "AIzaSyCA4__JMC_ZIQ9xQegIj5LOMLhSSrn3pMw"
|
23 |
+
|
24 |
+
@dataclass
|
25 |
+
class Message:
|
26 |
+
"""class for keeping track of interview history."""
|
27 |
+
origin: Literal["human", "ai"]
|
28 |
+
message: str
|
29 |
+
|
30 |
+
def save_vector(text):
|
31 |
+
"""embeddings"""
|
32 |
+
|
33 |
+
nltk.download('punkt')
|
34 |
+
text_splitter = NLTKTextSplitter()
|
35 |
+
texts = text_splitter.split_text(text)
|
36 |
+
# Create emebeddings
|
37 |
+
embeddings = GoogleGenerativeAIEmbeddings(model="models/embedding-001")
|
38 |
+
docsearch = FAISS.from_texts(texts, embeddings)
|
39 |
+
return docsearch
|
40 |
+
|
41 |
+
def initialize_session_state_jd(jd):
|
42 |
+
""" initialize session states """
|
43 |
+
if "user_responses" not in st.session_state:
|
44 |
+
st.session_state.user_responses = []
|
45 |
+
if 'jd_docsearch' not in st.session_state:
|
46 |
+
st.session_state.jd_docserch = save_vector(jd)
|
47 |
+
if 'jd_retriever' not in st.session_state:
|
48 |
+
st.session_state.jd_retriever = st.session_state.jd_docserch.as_retriever(search_type="similarity")
|
49 |
+
if 'jd_chain_type_kwargs' not in st.session_state:
|
50 |
+
Interview_Prompt = PromptTemplate(input_variables=["context", "question"],
|
51 |
+
template=templates.jd_template)
|
52 |
+
st.session_state.jd_chain_type_kwargs = {"prompt": Interview_Prompt}
|
53 |
+
if 'jd_memory' not in st.session_state:
|
54 |
+
st.session_state.jd_memory = ConversationBufferMemory()
|
55 |
+
# interview history
|
56 |
+
if "jd_history" not in st.session_state:
|
57 |
+
st.session_state.jd_history = []
|
58 |
+
st.session_state.jd_history.append(Message("ai",
|
59 |
+
"Hello, Welcome to the interview. I am your interviewer today. I will ask you professional questions regarding the job description you submitted."
|
60 |
+
"Please start by introducting a little bit about yourself. Note: The maximum length of your answer is 4097 tokens!"))
|
61 |
+
# token count
|
62 |
+
if "token_count" not in st.session_state:
|
63 |
+
st.session_state.token_count = 0
|
64 |
+
if "jd_guideline" not in st.session_state:
|
65 |
+
llm = ChatGoogleGenerativeAI(
|
66 |
+
model="gemini-pro")
|
67 |
+
st.session_state.jd_guideline = RetrievalQA.from_chain_type(
|
68 |
+
llm=llm,
|
69 |
+
chain_type_kwargs=st.session_state.jd_chain_type_kwargs, chain_type='stuff',
|
70 |
+
retriever=st.session_state.jd_retriever, memory = st.session_state.jd_memory).run("Create an interview guideline and prepare only one questions for each topic. Make sure the questions tests the technical knowledge")
|
71 |
+
# llm chain and memory
|
72 |
+
if "jd_screen" not in st.session_state:
|
73 |
+
llm = ChatGoogleGenerativeAI(
|
74 |
+
model="gemini-pro")
|
75 |
+
PROMPT = PromptTemplate(
|
76 |
+
input_variables=["history", "input"],
|
77 |
+
template="""I want you to act as an interviewer strictly following the guideline in the current conversation.
|
78 |
+
Candidate has no idea what the guideline is.
|
79 |
+
Ask me questions and wait for my answers. Do not write explanations.
|
80 |
+
Ask question like a real person, only one question at a time.
|
81 |
+
Do not ask the same question.
|
82 |
+
Do not repeat the question.
|
83 |
+
Do ask follow-up questions if necessary.
|
84 |
+
You name is GPTInterviewer.
|
85 |
+
I want you to only reply as an interviewer.
|
86 |
+
Do not write all the conversation at once.
|
87 |
+
If there is an error, point it out.
|
88 |
+
|
89 |
+
Current Conversation:
|
90 |
+
{history}
|
91 |
+
|
92 |
+
Candidate: {input}
|
93 |
+
AI: """)
|
94 |
+
|
95 |
+
st.session_state.jd_screen = ConversationChain(prompt=PROMPT, llm=llm,
|
96 |
+
memory=st.session_state.jd_memory)
|
97 |
+
if 'jd_feedback' not in st.session_state:
|
98 |
+
llm = ChatGoogleGenerativeAI(
|
99 |
+
model="gemini-pro")
|
100 |
+
st.session_state.jd_feedback = ConversationChain(
|
101 |
+
prompt=PromptTemplate(input_variables=["history", "input"], template=templates.feedback_template),
|
102 |
+
llm=llm,
|
103 |
+
memory=st.session_state.jd_memory,
|
104 |
+
)
|
105 |
+
|
106 |
+
def answer_call_back():
|
107 |
+
formatted_history = []
|
108 |
+
for message in st.session_state.jd_history:
|
109 |
+
if message.origin == "human":
|
110 |
+
formatted_message = {"speaker": "user", "text": message.message}
|
111 |
+
else:
|
112 |
+
formatted_message = {"speaker": "assistant", "text": message.message}
|
113 |
+
formatted_history.append(formatted_message)
|
114 |
+
|
115 |
+
user_answer = st.session_state.get('answer', '')
|
116 |
+
|
117 |
+
answer = st.session_state.jd_screen.run(input=user_answer, history=formatted_history)
|
118 |
+
|
119 |
+
if user_answer:
|
120 |
+
st.session_state.jd_history.append(Message("human", user_answer))
|
121 |
+
if st.session_state.jd_history and len(st.session_state.jd_history) > 1:
|
122 |
+
last_question = st.session_state.jd_history[-2].message # Assuming the last message before the user's answer is the question
|
123 |
+
st.session_state.user_responses.append({"question": last_question, "answer": user_answer})
|
124 |
+
|
125 |
+
if answer:
|
126 |
+
st.session_state.jd_history.append(Message("ai", answer))
|
127 |
+
|
128 |
+
return answer
|
129 |
+
|
130 |
+
def app():
|
131 |
+
st.title("Professional Screen")
|
132 |
+
|
133 |
+
|
134 |
+
with open('job_description.json', 'r') as f:
|
135 |
+
jd = json.load(f)
|
136 |
+
|
137 |
+
|
138 |
+
|
139 |
+
if jd:
|
140 |
+
# initialize session states
|
141 |
+
initialize_session_state_jd(jd)
|
142 |
+
#st.write(st.session_state.jd_guideline)
|
143 |
+
credit_card_placeholder = st.empty()
|
144 |
+
col1, col2, col3 = st.columns(3)
|
145 |
+
with col1:
|
146 |
+
feedback = st.button("Get Interview Feedback")
|
147 |
+
with col2:
|
148 |
+
guideline = st.button("Show me interview guideline!")
|
149 |
+
with col3:
|
150 |
+
myresponse = st.button("Show my responses")
|
151 |
+
chat_placeholder = st.container()
|
152 |
+
answer_placeholder = st.container()
|
153 |
+
audio = None
|
154 |
+
# if submit email adress, get interview feedback imediately
|
155 |
+
if guideline:
|
156 |
+
st.write(st.session_state.jd_guideline)
|
157 |
+
if feedback:
|
158 |
+
evaluation = st.session_state.jd_feedback.run("please give evalution regarding the interview")
|
159 |
+
st.markdown(evaluation)
|
160 |
+
st.download_button(label="Download Interview Feedback", data=evaluation, file_name="interview_feedback.txt")
|
161 |
+
st.stop()
|
162 |
+
if myresponse:
|
163 |
+
with st.container():
|
164 |
+
st.write("### My Interview Responses")
|
165 |
+
for idx, message in enumerate(st.session_state.jd_history): # Corrected from history to jd_history
|
166 |
+
if message.origin == "ai":
|
167 |
+
st.write(f"**Question {idx//2 + 1}:** {message.message}")
|
168 |
+
else:
|
169 |
+
st.write(f"**My Answer:** {message.message}\n")
|
170 |
+
|
171 |
+
else:
|
172 |
+
with answer_placeholder:
|
173 |
+
voice = 0
|
174 |
+
if voice:
|
175 |
+
print(voice)
|
176 |
+
else:
|
177 |
+
answer = st.chat_input("Your answer")
|
178 |
+
if answer:
|
179 |
+
st.session_state['answer'] = answer
|
180 |
+
audio = answer_call_back()
|
181 |
+
with chat_placeholder:
|
182 |
+
for answer in st.session_state.jd_history:
|
183 |
+
if answer.origin == 'ai':
|
184 |
+
if audio:
|
185 |
+
with st.chat_message("assistant"):
|
186 |
+
st.write(answer.message)
|
187 |
+
else:
|
188 |
+
with st.chat_message("assistant"):
|
189 |
+
st.write(answer.message)
|
190 |
+
else:
|
191 |
+
with st.chat_message("user"):
|
192 |
+
st.write(answer.message)
|
193 |
+
|
194 |
+
credit_card_placeholder.caption(f"""
|
195 |
+
Progress: {int(len(st.session_state.jd_history) / 50 * 100)}% completed.""")
|
196 |
+
else:
|
197 |
+
st.info("Please submit a job description to start the interview.")
|
README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
---
|
2 |
-
title:
|
3 |
-
emoji:
|
4 |
-
colorFrom:
|
5 |
-
colorTo:
|
6 |
sdk: streamlit
|
7 |
sdk_version: 1.31.1
|
8 |
app_file: app.py
|
|
|
1 |
---
|
2 |
+
title: Restartv5
|
3 |
+
emoji: ⚡
|
4 |
+
colorFrom: blue
|
5 |
+
colorTo: yellow
|
6 |
sdk: streamlit
|
7 |
sdk_version: 1.31.1
|
8 |
app_file: app.py
|
app.py
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import values
|
3 |
+
import summarize
|
4 |
+
import strengths
|
5 |
+
import skills
|
6 |
+
import career
|
7 |
+
import linkedIn
|
8 |
+
import resume
|
9 |
+
import basic
|
10 |
+
import linkedInv2
|
11 |
+
import display_responses
|
12 |
+
import strengthpage2
|
13 |
+
import preference
|
14 |
+
import dreamjob
|
15 |
+
import process
|
16 |
+
import resumescreen
|
17 |
+
import ProfessionalScreen
|
18 |
+
import BehavioralScreen
|
19 |
+
import interview
|
20 |
+
import technicalScreen
|
21 |
+
import coder
|
22 |
+
|
23 |
+
PAGES = {
|
24 |
+
"Information": basic,
|
25 |
+
"Values": values,
|
26 |
+
"Strengths": strengths,
|
27 |
+
"Strengths 2": strengthpage2,
|
28 |
+
"Skills": skills,
|
29 |
+
"Dream Job": dreamjob,
|
30 |
+
"Preferences": preference,
|
31 |
+
"Career Priorities": career,
|
32 |
+
"Display Responses": display_responses,
|
33 |
+
"Summery": process,
|
34 |
+
"LinkedIn": linkedIn,
|
35 |
+
"Resume": resume,
|
36 |
+
"Interview": interview,
|
37 |
+
"Professional Screen": ProfessionalScreen,
|
38 |
+
"Behavioral Screen": BehavioralScreen,
|
39 |
+
"Technical Screen": technicalScreen,
|
40 |
+
"Resume Screen": resumescreen,
|
41 |
+
"Coding Screen": coder,
|
42 |
+
}
|
43 |
+
|
44 |
+
st.sidebar.title('Main Menu')
|
45 |
+
selection = st.sidebar.radio("Go to", list(PAGES.keys()))
|
46 |
+
|
47 |
+
page = PAGES[selection]
|
48 |
+
page.app()
|
app_utils.py
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
def switch_page(page_name: str):
|
2 |
+
from streamlit.runtime.scriptrunner import RerunData, RerunException
|
3 |
+
from streamlit.source_util import get_pages
|
4 |
+
|
5 |
+
def standardize_name(name: str) -> str:
|
6 |
+
return name.lower().replace("_", " ")
|
7 |
+
|
8 |
+
page_name = standardize_name(page_name)
|
9 |
+
|
10 |
+
pages = get_pages("home.py") # OR whatever your main page is called
|
11 |
+
|
12 |
+
for page_hash, config in pages.items():
|
13 |
+
if standardize_name(config["page_name"]) == page_name:
|
14 |
+
raise RerunException(
|
15 |
+
RerunData(
|
16 |
+
page_script_hash=page_hash,
|
17 |
+
page_name=page_name,
|
18 |
+
)
|
19 |
+
)
|
20 |
+
|
21 |
+
page_names = [standardize_name(config["page_name"]) for config in pages.values()]
|
22 |
+
|
23 |
+
raise ValueError(f"Could not find page {page_name}. Must be one of {page_names}")
|
basic.py
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import json
|
3 |
+
|
4 |
+
def save_data(data, filename='data.json'):
|
5 |
+
with open(filename, 'w') as f:
|
6 |
+
json.dump(data, f, indent=4)
|
7 |
+
|
8 |
+
def app():
|
9 |
+
st.title('Basic Information Form')
|
10 |
+
|
11 |
+
with st.form("basic_info_form", clear_on_submit=False):
|
12 |
+
name = st.text_input("Name")
|
13 |
+
mobile_no = st.text_input("Mobile No")
|
14 |
+
email_id = st.text_input("Email ID")
|
15 |
+
linkedin = st.text_input("LinkedIn (optional)")
|
16 |
+
github = st.text_input("GitHub (optional)")
|
17 |
+
submit_button = st.form_submit_button(label='Submit')
|
18 |
+
|
19 |
+
if submit_button:
|
20 |
+
data = {
|
21 |
+
"name": name,
|
22 |
+
"mobile": mobile_no,
|
23 |
+
"email": email_id,
|
24 |
+
"linkedin": linkedin,
|
25 |
+
"github": github
|
26 |
+
}
|
27 |
+
save_data(data)
|
28 |
+
st.success("Thank you for submitting your information.")
|
29 |
+
|
30 |
+
if __name__ == "__main__":
|
31 |
+
app()
|
career.py
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import json
|
3 |
+
|
4 |
+
def app():
|
5 |
+
st.header("Career Priorities")
|
6 |
+
st.write("Rate the following aspects of your career according to your priority, and provide reasons for your choices.")
|
7 |
+
|
8 |
+
career_priorities = [
|
9 |
+
"Money",
|
10 |
+
"Benefits",
|
11 |
+
"Creative control",
|
12 |
+
"Flexible work options",
|
13 |
+
"Proximity to home/school/daycare",
|
14 |
+
"Challenge",
|
15 |
+
"Social connections and camaraderie",
|
16 |
+
"Measurable success",
|
17 |
+
]
|
18 |
+
|
19 |
+
if 'priorities_data' not in st.session_state:
|
20 |
+
st.session_state.priorities_data = {aspect: {"rating": None, "reason": ""} for aspect in career_priorities}
|
21 |
+
|
22 |
+
for aspect in career_priorities:
|
23 |
+
with st.expander(f"Rate and Explain: {aspect}"):
|
24 |
+
current_rating = st.session_state.priorities_data[aspect]["rating"]
|
25 |
+
current_reason = st.session_state.priorities_data[aspect]["reason"]
|
26 |
+
|
27 |
+
st.session_state.priorities_data[aspect]["rating"] = st.slider(
|
28 |
+
"Priority Rating", min_value=1, max_value=8, value=current_rating if current_rating else 1, key=f"slider_{aspect}"
|
29 |
+
)
|
30 |
+
st.session_state.priorities_data[aspect]["reason"] = st.text_area(
|
31 |
+
"Why is this important to you?", value=current_reason, key=f"text_{aspect}"
|
32 |
+
)
|
33 |
+
|
34 |
+
if st.button('Save Answers'):
|
35 |
+
save_priorities_data(st.session_state.priorities_data)
|
36 |
+
st.success('Career Priorities saved successfully!')
|
37 |
+
|
38 |
+
def save_priorities_data(data):
|
39 |
+
"""Save the priorities data to a JSON file."""
|
40 |
+
with open('career_priorities_data.json', 'w') as file:
|
41 |
+
json.dump(data, file, indent=4)
|
42 |
+
|
43 |
+
if __name__ == "__main__":
|
44 |
+
app()
|
career_priorities_data.json
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"Money": {
|
3 |
+
"rating": 3,
|
4 |
+
"reason": "I want salary should be as per my experience tenure, i don\u2019t want to get the fresher salary. It should be the decent\n"
|
5 |
+
},
|
6 |
+
"Benefits": {
|
7 |
+
"rating": 6,
|
8 |
+
"reason": " I would like to take other benefits like mandatory leaves, childcare benefits, Brand Exposure, trips.\n"
|
9 |
+
},
|
10 |
+
"Creative control": {
|
11 |
+
"rating": 7,
|
12 |
+
"reason": " I left my previous job as leadership role so i prefer if i get the same position"
|
13 |
+
},
|
14 |
+
"Flexible work options": {
|
15 |
+
"rating": 1,
|
16 |
+
"reason": "As my kid is small so i prefer flexible work timing or work from home option.\n"
|
17 |
+
},
|
18 |
+
"Proximity to home/school/daycare": {
|
19 |
+
"rating": 7,
|
20 |
+
"reason": " I prefer that work place near to my home or day care so that in case of urgency i can reach out to my kid\n\n"
|
21 |
+
},
|
22 |
+
"Challenge": {
|
23 |
+
"rating": 3,
|
24 |
+
"reason": "I want to work where i can upskill myself by doing additional courses or certificate which help me in shaping my career\n"
|
25 |
+
},
|
26 |
+
"Social connections and camaraderie": {
|
27 |
+
"rating": 8,
|
28 |
+
"reason": "his is my last priority as i right now i just want to enter in workforce , do not want any target driven task\n\n"
|
29 |
+
},
|
30 |
+
"Measurable success": {
|
31 |
+
"rating": 5,
|
32 |
+
"reason": "I want there should be fair rewards and recognition for the profile like promotion, increment\n"
|
33 |
+
}
|
34 |
+
}
|
coder.py
ADDED
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import json
|
3 |
+
import google.generativeai as genai
|
4 |
+
|
5 |
+
# Configure Gemini API
|
6 |
+
genai.configure(api_key="AIzaSyCA4__JMC_ZIQ9xQegIj5LOMLhSSrn3pMw")
|
7 |
+
|
8 |
+
# Set up the model generation config and safety settings
|
9 |
+
generation_config = {
|
10 |
+
"temperature": 0.9,
|
11 |
+
"top_p": 1,
|
12 |
+
"top_k": 1,
|
13 |
+
"max_output_tokens": 2048,
|
14 |
+
}
|
15 |
+
safety_settings = [
|
16 |
+
{"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
17 |
+
{"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
18 |
+
{"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
19 |
+
{"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
20 |
+
]
|
21 |
+
|
22 |
+
# Initialize the Gemini model
|
23 |
+
model = genai.GenerativeModel(
|
24 |
+
model_name="gemini-1.0-pro", generation_config=generation_config, safety_settings=safety_settings
|
25 |
+
)
|
26 |
+
|
27 |
+
# Load the set of coding questions from dsa_questions.json
|
28 |
+
with open("dsa_questions.json", "r") as file:
|
29 |
+
questions = json.load(file)
|
30 |
+
|
31 |
+
def next_question():
|
32 |
+
# Increment the question index
|
33 |
+
current_question_index = st.session_state.get("current_question_index", 0)
|
34 |
+
next_question_index = (current_question_index + 1) % len(questions)
|
35 |
+
st.session_state["current_question_index"] = next_question_index
|
36 |
+
st.experimental_rerun()
|
37 |
+
|
38 |
+
def app():
|
39 |
+
# Set up the Streamlit app
|
40 |
+
st.title("Coding Screen")
|
41 |
+
|
42 |
+
# Progress bar
|
43 |
+
current_question_index = st.session_state.get("current_question_index", 0)
|
44 |
+
progress = (current_question_index + 1) / len(questions)
|
45 |
+
st.progress(progress)
|
46 |
+
|
47 |
+
# Display the current question using markdown for better formatting
|
48 |
+
question = questions[current_question_index]
|
49 |
+
st.markdown(f"### Question {current_question_index + 1}: {question['title']}")
|
50 |
+
st.markdown(f"**Description:** {question['description']}")
|
51 |
+
|
52 |
+
# Use columns to arrange text area and buttons
|
53 |
+
user_answer = st.text_area("Enter your answer here", height=150)
|
54 |
+
|
55 |
+
# Submit button
|
56 |
+
if st.button("Submit"):
|
57 |
+
# Evaluate user's answer
|
58 |
+
prompt_parts = [
|
59 |
+
f"Question: {question}",
|
60 |
+
f"User's answer:\n{user_answer}",
|
61 |
+
"Please provide the correct code for the given question or suggest a better version of the code if the user's answer is incorrect or suboptimal. Explain your approach and any improvements made. If the user's answer is correct, simply confirm that it is correct and provide any additional insights or optimizations if applicable.",
|
62 |
+
]
|
63 |
+
|
64 |
+
response = model.generate_content(prompt_parts)
|
65 |
+
analysis = response.text
|
66 |
+
|
67 |
+
st.success("Answer submitted!")
|
68 |
+
st.write(analysis)
|
69 |
+
|
70 |
+
|
71 |
+
# Next question button
|
72 |
+
if st.button("Next"):
|
73 |
+
next_question()
|
74 |
+
|
75 |
+
# Show current question number and total questions for better user orientation
|
76 |
+
st.caption(f"Question {current_question_index + 1} of {len(questions)}")
|
77 |
+
|
core_values_responses.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"What annoys you or gets under your skin at work?": "Insubordination by employee- It happened many times when we are working on project as team and one employee was continuously showing insubordination by not listening or by not following instruction of me or my supervisor which influenced other team member also for work. It irriated me very much as it was hampering my productivity plan and also it was giving negative energy to my team. When employer said No to leave- If any planned leaves are there and the employee already informed about it and it should be respectable because employee already gave time to employer for arranging backup by informing them.Then also if employer said No it becomes very irritable as ultimately it is creating dissatisfaction among employees because any way employer will go for leave. In my case also when my planned leaves were approved by my senior i enjoyed my leave and when i came back from leave i came with energy and with positive approach. ", "What brings you joy in your work?": "What brings you joy in your work? _When there is good work life balance-It happened with me when my Boss used to say work on every Saturday which was very irritating for me because Saturday was holiday for us but we had to work forcefully which was affecting my personal life and also that Boss used to say work on Sunday also sometimes which was creating fear as i was living with fear on every weekend. When there is respect-_i was in leadership role in HDFC Bank where many times it happened that no authority was given to me to take decisions but it also happened many times that i was given the power to take decisions and work independently.__When the respect was given to me any my role i was able to performed much better", "What could you not live without in a workplace or on a work team?": "I feel Focus towards work and freedom is very important for me. If my team is not focus and not aligned as per the objective we will not be able to achieve the target. In my team also whien i took the leadership the team was new, no focus and very much instability, i sit with them individually and helped them to plan their day and also align them for our goal. It was challenging in initial days but later on my team set their focus for achieving their target. Freedom is also very important i can not work where we can not express our opinions freely. In my case my Boss did not allow me to work as per my own way. I found very difficult to work . I had to take permission in every single decision which was somewhere making me low confidence and negative. I also manytimes took my opinion from my team member and applied in my work and it worked.", "Who do you admire and what do you admire about them?": "I admired__Mr Pankaj Agrawalwho is my ex supervisor because i feel him very inspiring. I got to learn many things under his leadership and he gave time to time guidance for making me productive every day. He also gave me authority for driving my team in my own way and later when i succeed and achieved my target, he acknowledged it by giving me good "}
|
data.json
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "Om",
|
3 |
+
"mobile": "9090909090",
|
4 |
+
"email": "abc@gmail.com",
|
5 |
+
"linkedin": "https://www.linkedin.com/in/om",
|
6 |
+
"github": "https://github.com/om"
|
7 |
+
}
|
data.py
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
core_values_responses = {'What annoys you or gets under your skin at work?': 'Lack of clear communication.', 'What brings you joy in your work?': 'Completing projects successfully.', 'What could you not live without in a workplace or on a work team?': 'A supportive team environment.', 'Who do you admire and what do you admire about them?': 'Elon Musk, for his visionary approach.'}
|
display_responses.py
ADDED
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import json
|
3 |
+
|
4 |
+
def load_json_data(file_path):
|
5 |
+
"""Utility function to load JSON data from a specified file path."""
|
6 |
+
try:
|
7 |
+
with open(file_path, 'r') as file:
|
8 |
+
return json.load(file)
|
9 |
+
except FileNotFoundError:
|
10 |
+
st.error(f"File {file_path} not found. Please ensure data has been saved.")
|
11 |
+
return None
|
12 |
+
|
13 |
+
def display_core_values():
|
14 |
+
"""Displays the user's core values."""
|
15 |
+
core_values = load_json_data('core_values_responses.json')
|
16 |
+
if core_values:
|
17 |
+
st.header("Your Core Values")
|
18 |
+
for question, answer in core_values.items():
|
19 |
+
st.text(f"{question}: {answer}")
|
20 |
+
|
21 |
+
def display_strength_responses():
|
22 |
+
"""Displays the user's responses to the strength exercises."""
|
23 |
+
strength_responses = load_json_data('strength_responses.json')
|
24 |
+
if strength_responses:
|
25 |
+
st.header("Your Strength Responses")
|
26 |
+
for key, value in strength_responses.items():
|
27 |
+
st.text(f"{key}: {value}")
|
28 |
+
|
29 |
+
def display_dynamic_strength_responses():
|
30 |
+
"""Displays dynamic strength responses (Exercise 3) from the network."""
|
31 |
+
network_feedback_list = load_json_data('dynamic_strength_responses.json')
|
32 |
+
if network_feedback_list:
|
33 |
+
st.header("Dynamic Strength Responses (Exercise 3)")
|
34 |
+
for feedback in network_feedback_list:
|
35 |
+
st.subheader(f"Feedback from {feedback['name']} ({feedback['role']})")
|
36 |
+
for question, response in feedback['responses'].items():
|
37 |
+
st.markdown(f"- **{question}:** {response}")
|
38 |
+
|
39 |
+
|
40 |
+
def display_skills_and_experience():
|
41 |
+
"""Displays the user's skills and experience responses."""
|
42 |
+
skills_and_experience_sets = load_json_data('skills_and_experience_sets.json')
|
43 |
+
if skills_and_experience_sets:
|
44 |
+
st.header("Your Skills and Experience")
|
45 |
+
for i, skills_set in enumerate(skills_and_experience_sets, start=1):
|
46 |
+
st.subheader(f"Skills and Experience Set {i}")
|
47 |
+
for question, answer in skills_set.items():
|
48 |
+
st.markdown(f"**{question}:** {answer}")
|
49 |
+
|
50 |
+
def display_preferences():
|
51 |
+
"""Displays the user's career preferences."""
|
52 |
+
preferences_sets = load_json_data('preferences_sets.json')
|
53 |
+
if preferences_sets:
|
54 |
+
st.header("Your Career Preferences")
|
55 |
+
for i, preferences_set in enumerate(preferences_sets, start=1):
|
56 |
+
st.subheader(f"Preferences Set {i}")
|
57 |
+
for preference, answer in preferences_set.items():
|
58 |
+
st.markdown(f"**{preference}:** {answer}")
|
59 |
+
|
60 |
+
def display_dream_job_info():
|
61 |
+
"""Displays the saved dream job information."""
|
62 |
+
try:
|
63 |
+
with open('dream_job_info.json', 'r') as file:
|
64 |
+
dream_job_info = json.load(file)
|
65 |
+
|
66 |
+
st.header("Your Dream Job Information")
|
67 |
+
st.markdown(f"**Dream Job Description:** {dream_job_info['dream_job_description']}")
|
68 |
+
st.markdown(f"**Is it a realistic possibility?** {dream_job_info['dream_job_realism']}")
|
69 |
+
if dream_job_info['dream_job_realism'] == "Yes":
|
70 |
+
st.markdown(f"**Explanation:** {dream_job_info['dream_job_explanation']}")
|
71 |
+
st.markdown(f"**Attributes:** {dream_job_info['dream_job_attributes']}")
|
72 |
+
st.markdown(f"**Feelings:** {dream_job_info['feel_sentence']}")
|
73 |
+
st.markdown(f"**Needs:** {dream_job_info['need_sentence']}")
|
74 |
+
st.markdown(f"**Goals:** {dream_job_info['goal_sentence']}")
|
75 |
+
except FileNotFoundError:
|
76 |
+
st.error("Dream Job Information not found.")
|
77 |
+
|
78 |
+
def display_priorities():
|
79 |
+
"""Display saved career priorities."""
|
80 |
+
try:
|
81 |
+
with open('career_priorities_data.json', 'r') as file:
|
82 |
+
priorities_data = json.load(file)
|
83 |
+
|
84 |
+
st.header("Your Career Priorities")
|
85 |
+
for aspect, data in priorities_data.items():
|
86 |
+
st.subheader(aspect)
|
87 |
+
st.markdown(f"**Priority Rating:** {data['rating']}")
|
88 |
+
st.markdown(f"**Reason:** {data['reason']}")
|
89 |
+
except FileNotFoundError:
|
90 |
+
st.error("Career Priorities data not found.")
|
91 |
+
|
92 |
+
# Ensure the app() function calls display_dream_job_info()
|
93 |
+
|
94 |
+
|
95 |
+
# Ensure the app() function calls display_preferences()
|
96 |
+
|
97 |
+
|
98 |
+
# Ensure the app() function calls display_skills_and_experience()
|
99 |
+
|
100 |
+
|
101 |
+
|
102 |
+
def app():
|
103 |
+
display_core_values()
|
104 |
+
display_strength_responses()
|
105 |
+
display_dynamic_strength_responses()
|
106 |
+
display_skills_and_experience()
|
107 |
+
display_preferences()
|
108 |
+
display_dream_job_info()
|
109 |
+
display_priorities()
|
110 |
+
|
111 |
+
if __name__ == "__main__":
|
112 |
+
app()
|
dream_job_info.json
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"dream_job_description": "As i always worked on retail segment, i always wanted to work in corporate sector and also big 4 MNC companies like Deloite, KPMG, E AND Y, PWC",
|
3 |
+
"dream_job_realism": "Yes",
|
4 |
+
"dream_job_explanation": " If I shift my career banking to cooperations to moving as Buisness analyst or consultant\n",
|
5 |
+
"dream_job_attributes": "Work Life Balance Brand Exposure Culture for female employees 5 day working Flexibility Salary\n\nchild care benefit\nforeign trip\nTravel allowance 10. learning and development\n",
|
6 |
+
"feel_sentence": "more statisfaction and more valuable in myself",
|
7 |
+
"need_sentence": "my need of flexible working along with work from home will complete",
|
8 |
+
"goal_sentence": "Brand exposure which will help me out with my career and good salary packages with Desination"
|
9 |
+
}
|
dreamjob.py
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import json
|
3 |
+
|
4 |
+
def app():
|
5 |
+
st.header("Dream Job Exploration")
|
6 |
+
|
7 |
+
# Dream job description
|
8 |
+
dream_job_description = st.text_area("If there were no restrictions (for example, education, location, experience, or financial obligations), my dream job would be:", key="dream_job_description")
|
9 |
+
|
10 |
+
# Dream job realism
|
11 |
+
dream_job_realism = st.radio("Is obtaining this dream job a realistic possibility for me?", ("Yes", "No"), key="dream_job_realism")
|
12 |
+
|
13 |
+
# Explanation based on realism
|
14 |
+
if dream_job_realism == "Yes":
|
15 |
+
dream_job_explanation = st.text_area("If yes, explain how.", key="dream_job_explanation")
|
16 |
+
else:
|
17 |
+
dream_job_explanation = "" # Clear or ignore the explanation if not realistic
|
18 |
+
|
19 |
+
# Attributes of the dream job
|
20 |
+
dream_job_attributes = st.text_area("List at least ten specific attributes of this dream job (for example, content, culture, mission, responsibilities, or perks), as you imagine it, that appeal to you:", key="dream_job_attributes")
|
21 |
+
|
22 |
+
# Sentences about the dream job
|
23 |
+
feel_sentence = st.text_input("Working in this dream job would make me feel", key="feel_sentence")
|
24 |
+
need_sentence = st.text_input("Working this dream job would fill my need(s) for", key="need_sentence")
|
25 |
+
goal_sentence = st.text_input("Working in this dream job would meet my goal(s) of", key="goal_sentence")
|
26 |
+
|
27 |
+
if st.button('Save Dream Job Information'):
|
28 |
+
save_dream_job_info({
|
29 |
+
"dream_job_description": dream_job_description,
|
30 |
+
"dream_job_realism": dream_job_realism,
|
31 |
+
"dream_job_explanation": dream_job_explanation,
|
32 |
+
"dream_job_attributes": dream_job_attributes,
|
33 |
+
"feel_sentence": feel_sentence,
|
34 |
+
"need_sentence": need_sentence,
|
35 |
+
"goal_sentence": goal_sentence
|
36 |
+
})
|
37 |
+
st.success('Dream Job Information saved successfully!')
|
38 |
+
|
39 |
+
def save_dream_job_info(info):
|
40 |
+
"""Save the dream job information to a JSON file."""
|
41 |
+
with open('dream_job_info.json', 'w') as file:
|
42 |
+
json.dump(info, file, indent=4)
|
43 |
+
|
44 |
+
if __name__ == "__main__":
|
45 |
+
app()
|
dsa_questions.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
[{"title": "Reverse a Linked List", "description": "Given the head of a linked list, reverse the list and return the new head."}, {"title": "Implement a Stack", "description": "Implement a stack data structure in C++ using a singly linked list."}, {"title": "Implement a Queue", "description": "Implement a queue data structure in C++ using a circular array."}, {"title": "Find the Median of Two Sorted Arrays", "description": "Given two sorted arrays, find the median of the combined array."}, {"title": "Implement a Binary Search Tree", "description": "Implement a binary search tree data structure in C++."}, {"title": "Implement a Hash Table", "description": "Implement a hash table data structure in C++ using linear probing."}, {"title": "Implement a Graph", "description": "Implement a graph data structure in C++ using an adjacency list."}, {"title": "Find the Shortest Path in a Graph", "description": "Given a graph and a source vertex, find the shortest path to all other vertices in the graph."}, {"title": "Implement a Neural Network", "description": "Implement a simple neural network in C++ using the Caffe deep learning framework."}, {"title": "Optimize a Neural Network for High-Performance Computing", "description": "Optimize a neural network for high-performance computing using CUDA or OpenCL."}]
|
dynamic_strength_responses.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
[{"name": "sahil", "role": "ai lead", "responses": {"What tasks am I best at?": "Good in planning and Coordination\n", "How would you describe me to others?": " If astha takes responsibility she will ensure to deliver it. Dedicated for work given\n", "What are not my strengths?": " Lack of focus on self care \u2013 Astha does not care for herself in terms of eating and exercising. She gives priority to other things . She does not fruits much and not give time to herself for doing any kind of exercise instead of having time. She used to sit for long hours also to complete work.\n\n", "Preferred roles in projects?": "NA"}}]
|
gemini_responses.json
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"comprehensive_analysis": "**Career Priorities Analysis**\n\nThe user's career priorities are rated as follows:\n\n* Benefits: 6/10\n* Creative control: 7/10\n* Flexible work options: 1/10\n* Proximity to home/school/daycare: 7/10\n* Challenge: 3/10\n* Social connections and camaraderie: 8/10\n* Measurable success: 5/10\n\n**Core Values Analysis**\n\nThe user's core values include:\n\n* Focus and freedom in the workplace\n* Respect for authority and decision-making\n* Patience and calmness under pressure\n* Research and decision-making independence\n\n**Strengths Analysis**\n\nThe user's strengths are rated as follows:\n\n* Research and independent decision-making: 9/10\n* Coordination and teamwork: 8/10\n* Planning and ownership of tasks: 9/10\n* Patience and calmness: 8/10\n* Multitasking: 9/10\n\n**Dream Job Alignment Analysis**\n\nThe user's dream job alignment is rated as follows:\n\n* Work-life balance: 9/10\n* Brand exposure: 8/10\n* Culture for female employees: 7/10\n* Salary and benefits: 8/10\n\n**Preferences Analysis**\n\nThe user's preferences are rated as follows:\n\n* Size of organization: Large or medium\n* Type of organization: Domestic or international\n* Industry: Financial services\n* Department: Finance or operations\n* Function: Team leader, manager, or executive\n\n**Skills and Experience Analysis**\n\nThe user's skills and experience are rated as follows:\n\n* Customer relationship management: 8/10\n* Branch operations: 8/10\n* Foreign exchange transactions: 7/10\n* Insurance sales: 7/10\n\n**Mindful Upskilling and Professional Development**\n\n* Project management certification (e.g., PMP)\n* Data analytics and visualization\n* Leadership and management training\n\n**Perfect Fit Industries and Roles**\n\nGiven the user's strengths, dream job aspirations, and preferences, the following industries and roles would be a perfect fit:\n\n* Financial services: Business analyst, consultant\n* Operations management: Project manager, operations manager\n\n**Suitable Work Environment and Company Culture**\n\nThe user would be most suitable for a work environment that values:\n\n* Work-life balance\n* Respect and autonomy\n* Opportunities for growth and development\n\n**Top 5 Job Descriptions in India**\n\n1. **Business Analyst, Deloitte**\n2. **Consultant, KPMG**\n3. **Project Manager, PwC**\n4. **Operations Manager, EY**\n5. **Financial Analyst, Morgan Stanley**"
|
3 |
+
}
|
icon.png
ADDED
images/brain.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
images/evaluation.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"v":"4.8.0","meta":{"g":"LottieFiles AE 3.0.2","a":"","k":"","d":"","tc":"#FFFFFF"},"fr":30,"ip":0,"op":180,"w":1200,"h":1200,"nm":"05- Target Evaluation","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"head","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[6]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":30,"s":[-3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":45,"s":[4]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":60,"s":[-3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":75,"s":[4]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":90,"s":[-3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":105,"s":[4]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":120,"s":[-3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":135,"s":[4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":150,"s":[-3]},{"t":179,"s":[6]}],"ix":10},"p":{"a":0,"k":[519.68,430.368,0],"ix":2},"a":{"a":0,"k":[519.68,430.368,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[6.645,34.755],[24.885,-4.472],[10.304,-10.681],[-14.083,0.446],[-7.707,-5.603]],"o":[[32.14,-5.578],[-6.893,-36.055],[15.593,43.313],[-10.304,10.68],[6.998,7.725],[0,0]],"v":[[4.84,55.446],[45.227,-16.526],[-9.203,-50.974],[-41.568,-1.554],[-25.272,21.529],[-17.219,54.339]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[518.965,374.031],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.374,0.363],[6.893,36.054],[24.886,-4.471],[10.304,-10.68],[-14.083,0.446],[-7.707,-5.602]],"o":[[34.674,-3.73],[-6.893,-36.055],[15.593,43.314],[-10.305,10.681],[6.998,7.725],[3.766,2.738]],"v":[[1.038,55.146],[45.103,-17.341],[-9.327,-51.79],[-41.691,-2.37],[-25.396,20.714],[-17.343,53.523]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[519.089,374.846],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"hand R","parent":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":30,"s":[10]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":60,"s":[-7]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":90,"s":[13]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":120,"s":[-7]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":150,"s":[10]},{"t":179,"s":[0]}],"ix":10},"p":{"a":0,"k":[520.906,658.931,0],"ix":2},"a":{"a":0,"k":[520.906,658.931,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-5.368,-0.173],[5.194,5.54],[6.847,5.369],[6.933,2.337],[-0.779,6.233],[28.309,-2.597],[11.687,-4.415],[-2.597,-17.66],[0.26,-1.039],[-29.78,-3.117],[0,0]],"o":[[7.445,6.233],[5.367,0.172],[6.752,0.173],[8.39,-0.865],[2.936,0],[0.779,-6.234],[1.299,-10.648],[-11.687,4.415],[2.597,17.661],[0,0],[10.042,-18.527],[0,0]],"v":[[-5.447,26.058],[20.525,33.157],[28.489,22.942],[31.685,8.916],[31.685,-6.839],[38.358,-14.89],[0.18,-21.643],[-21.116,-54.367],[-19.558,-12.813],[-34.881,33.157],[-10.295,58.782],[5.711,31.284]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[547.634,611.149],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"arm R","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":30,"s":[5]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":60,"s":[4]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":90,"s":[10]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":120,"s":[4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":150,"s":[5]},{"t":179,"s":[0]}],"ix":10},"p":{"a":0,"k":[462,745,0],"ix":2},"a":{"a":0,"k":[462,745,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[15.453,-2.208],[-32.204,-19.479],[0.29,1.708]],"o":[[0,0],[32.205,19.479],[-3.393,-19.945]],"v":[[-12.121,-31.49],[-0.001,14.219],[25.922,8.36]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[519.506,663.33],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-18.586,48.453],[33.59,6.926],[7.274,-17.446]],"o":[[47.725,8.294],[1.385,-9.35],[-28.012,7.081],[0,0]],"v":[[-48.518,67.223],[47.133,-26.691],[8.696,-75.518],[-45.653,-12.352]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[498.69,707.358],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[33.59,6.926],[7.274,-17.446],[-32.148,-14.747],[-18.585,48.453]],"o":[[-28.012,7.081],[-8.305,19.918],[47.725,8.294],[1.385,-9.349]],"v":[[24.77,-75.518],[-29.579,-12.352],[-32.445,67.224],[63.207,-26.691]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.427451010311,0.141176470588,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[482.616,707.357],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"arm R","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":30,"s":[10]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":60,"s":[5]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":90,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":120,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":150,"s":[10]},{"t":179,"s":[0]}],"ix":10},"p":{"a":0,"k":[456.476,520.166,0],"ix":2},"a":{"a":0,"k":[456.476,520.166,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.847,-10.233],[0,0]],"o":[[0,0],[-15.192,0.567],[0,0]],"v":[[13.578,-19.701],[7.336,14.878],[-13.578,19.702]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[458.138,659.058],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-55.418,-12.279],[22.077,35.322],[0,0]],"o":[[-98.699,58.699],[53.575,11.871],[0,0],[0,0]],"v":[[29.743,-132.76],[15.38,120.89],[37.532,21.01],[45.19,-21.426]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[427.943,652.927],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[22.077,35.322],[0,0],[0,0],[-55.418,-12.279]],"o":[[0,0],[0,0],[-98.699,58.7],[53.576,11.871]],"v":[[37.532,21.009],[50.785,-52.427],[29.743,-132.761],[15.38,120.89]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.427451010311,0.141176470588,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[427.943,652.927],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"body","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[3]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":30,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":60,"s":[5]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":90,"s":[1]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":120,"s":[5]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":150,"s":[1]},{"t":179,"s":[3]}],"ix":10},"p":{"a":0,"k":[318.481,647.904,0],"ix":2},"a":{"a":0,"k":[566.481,817.904,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-40.428,2.078],[0,0]],"o":[[0,0],[31.872,-1.638],[0,0]],"v":[[-34.066,-27.177],[-0.65,4.034],[41.078,27.177]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[513.056,529.114],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[22.762,-36.88],[-3.117,-25.452]],"o":[[0,0],[-22.761,36.879],[0,0]],"v":[[-10.274,-48.8],[6.492,-18.179],[-26.138,55.059]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[602.781,494.762],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[15.78,-7.264],[-1.011,8.573],[0,0]],"o":[[0,0],[0,0],[-9.412,8.59]],"v":[[-19.673,8.377],[19.674,0.696],[18.383,-9.269]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[534.941,421.099],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-6.882,-4.674],[-4.155,-8.657],[0,0],[-10.388,6.06],[9.339,23.248]],"o":[[-1.904,24.759],[5.454,0.39],[-22.162,79.646],[0,0],[10.389,-6.06],[0,0]],"v":[[12.207,-66.401],[29.781,-15.151],[52.375,-13.245],[-47.354,31.078],[-41.987,20.518],[-42.954,-49.952]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[541.928,469.864],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":3,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[15.356,16.983],[-41.595,43.563],[-41.926,0],[-3.45,-64.537],[24.328,-27.004]],"o":[[-2.449,-6.612],[41.594,-43.562],[41.927,0],[3.451,64.537],[-47.62,19.87]],"v":[[-70.854,164.183],[-99.505,-97.135],[71.654,-181.167],[137.648,-83.596],[105.922,157.147]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.427451010311,0.141176470588,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[553.83,620.479],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":3,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-68.565,4.156],[0,0],[-25.798,9.177],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[25.798,-9.176],[0,0]],"v":[[-78.228,-21.99],[-93.365,-3.685],[-6.019,17.834],[-6.365,13.678],[47.655,5.021],[93.365,-21.99]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[566.387,799.615],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"cix":2,"bm":0,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"hair","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[509.715,341.351,0],"ix":2},"a":{"a":0,"k":[509.715,341.351,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.24,34.274],[6.234,24.774],[0.559,24.179],[-30.603,13.915],[-22.292,16.896],[-8.838,-8.148],[-25.018,-22.507],[17.16,-16.024],[7.614,-2.782],[0,0],[6.649,-19.108]],"o":[[0,0],[-5.24,-34.273],[-6.234,-24.774],[0,0],[-17.627,-8.991],[22.293,-16.896],[12.886,-16.98],[25.019,22.507],[4.366,12.085],[-7.614,2.784],[0,0],[-14.631,42.05]],"v":[[-29.623,131.406],[-71.091,107.098],[-30.491,55.961],[-80.328,-1.643],[-56.802,-46.126],[-59.177,-110.28],[1.504,-109.167],[62.379,-118.865],[70.246,-59.797],[65.48,-33.818],[33.991,-2.366],[40.608,78.288]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.145098039216,0.219607858097,0.247058838489,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[505.1,408.064],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"skirt","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[317,604,0],"ix":2},"a":{"a":0,"k":[565,774,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-51.596,0]],"o":[[0,0],[0,0]],"v":[[-35.327,-17.18],[35.327,17.18]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[506.687,817.2],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.559,40.514],[0,0],[0,0],[7.964,-7.272],[0,0]],"o":[[0,0],[-12.465,-106.743],[0,0],[0,0],[-55.06,60.6],[0,0]],"v":[[170.935,98.667],[169.376,59.848],[51.733,-100.362],[-100.857,-97.997],[-115.876,-82.737],[-126.398,98.667]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[595.559,872.099],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"arm L","parent":5,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[6]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":30,"s":[-4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[-2]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":90,"s":[-4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":120,"s":[-4]},{"t":150,"s":[6]}],"ix":10},"p":{"a":0,"k":[670.909,461.41,0],"ix":2},"a":{"a":0,"k":[670.909,461.41,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.17,12.199],[0,0],[3.743,-32.729],[-6.049,-30.754]],"o":[[-2.811,-13.907],[-29.452,-69.481],[0,0],[19.157,16.381],[0,0]],"v":[[55.299,68.029],[43.203,28.616],[-32.207,-92.533],[-55.299,16.46],[-19.216,92.533]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[703.295,554.943],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.259,42.69],[5.17,12.199],[0,0],[3.743,-32.729],[-6.049,-30.754]],"o":[[-2.811,-13.907],[-29.452,-69.481],[0,0],[19.157,16.381],[22.503,36.445]],"v":[[53.169,49.806],[41.073,10.393],[-34.337,-110.755],[-57.429,-1.763],[-21.346,74.31]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.427451010311,0.141176470588,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[705.424,573.165],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"arm L","parent":8,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[0.84]},"o":{"x":[0.333],"y":[0]},"t":30,"s":[-3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[-0.16]},"t":60,"s":[2.556]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":90,"s":[-3]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":120,"s":[3]},{"t":150,"s":[0]}],"ix":10},"p":{"a":0,"k":[723,631,0],"ix":2},"a":{"a":0,"k":[723,631,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.287,-39.415],[0,0],[-17.401,-10.648],[11.131,55.085]],"o":[[11.312,57.505],[0,0],[45.619,-42.508],[-21.624,-34.885]],"v":[[-41.179,-39.11],[-35.451,82.249],[-10.524,98.499],[33.336,-63.614]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.427451010311,0.141176470588,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[725.259,686.586],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"hand L","parent":9,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":30,"s":[-15]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[-12]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":90,"s":[-15]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":120,"s":[-15]},{"t":150,"s":[0]}],"ix":10},"p":{"a":0,"k":[702.308,771.542,0],"ix":2},"a":{"a":0,"k":[702.308,771.542,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[6.294,16.557],[-4.891,0.721],[0,0],[-14.437,-8.173],[7.561,-6.158],[11.686,7.852],[-0.807,5.794],[0,0]],"o":[[0,0],[-2.978,-7.833],[3.806,-0.561],[0,0],[0.155,8.453],[-7.56,6.157],[-15.579,-10.466],[1.265,-9.078],[0,0]],"v":[[7.456,-8.588],[-12.217,-12.484],[-0.314,-21.256],[8.572,-21.929],[23.875,-13.266],[15.124,8.759],[-8.451,14.077],[-20.754,-6.781],[-11.135,-19.192]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[687.422,791.971],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"tree","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[886.173,970.767,0],"ix":2},"a":{"a":0,"k":[886.173,970.767,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[74.798,3.278],[-74.798,3.278],[-74.798,-3.278],[74.798,-3.278]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[882.482,942.21],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[74.798,15.744],[-74.798,15.744],[-74.798,-15.744],[74.798,-15.744]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[882.482,955.023],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[882.482,954.849],"ix":2},"a":{"a":0,"k":[882.482,954.849],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-13.158,-12.812],[0,0]],"o":[[0,0],[13.159,12.813],[0,0]],"v":[[-36.66,36.491],[23.501,-23.68],[-19.714,36.491]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[916.1,954.826],"ix":2},"a":{"a":0,"k":[-28.5,35.5],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":90,"s":[9]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.333],"y":[0]},"t":179,"s":[0]},{"t":269,"s":[9]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-39.573,-9.534],[0,0]],"o":[[0,0],[39.573,9.534],[0,0]],"v":[[-39.715,35.667],[0.142,-29.063],[-26.121,38.597]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[881.871,953.426],"ix":2},"a":{"a":0,"k":[-34.5,37],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":90,"s":[8]},{"t":179,"s":[0]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-41.9,7.271],[0,0]],"o":[[0,-2.077],[41.901,-7.273],[0,0]],"v":[[-1.198,67.405],[-0.001,-60.132],[6.007,67.405]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[864.331,953.329],"ix":2},"a":{"a":0,"k":[1.5,67.5],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":90,"s":[-9]},{"t":179,"s":[0]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":3,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-20.863,22.181],[3.462,-13.159]],"o":[[0.692,-1.731],[20.864,-22.182],[-4.645,2.766]],"v":[[16.153,51.504],[-8.311,-29.322],[25.712,45.803]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[835.495,952.019],"ix":2},"a":{"a":0,"k":[19.5,48.5],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":90,"s":[-13]},{"t":179,"s":[0]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":3,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"star","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[516.33,172.168,0],"ix":2},"a":{"a":0,"k":[516.33,172.168,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.83,3.509],[0,0],[1.335,0.519],[0,0],[-3.082,1.874],[0,0],[-0.081,1.43],[0,0],[-2.733,-2.351],[0,0],[-1.384,0.365],[0,0],[1.392,-3.327],[0,0],[-0.775,-1.204],[0,0],[3.594,0.295],[0,0],[0.906,-1.11],[0,0]],"o":[[0,0],[-0.329,-1.393],[0,0],[-3.361,-1.305],[0,0],[1.224,-0.744],[0,0],[0.203,-3.6],[0,0],[1.086,0.933],[0,0],[3.487,-0.919],[0,0],[-0.552,1.322],[0,0],[1.951,3.032],[0,0],[-1.428,-0.117],[0,0],[-2.281,2.793]],"v":[[-7.734,21.625],[-10,12.044],[-12.658,8.99],[-21.835,5.425],[-22.519,-2.348],[-14.108,-7.463],[-12.025,-10.935],[-11.47,-20.764],[-4.29,-23.817],[3.174,-17.398],[7.12,-16.49],[16.64,-19],[21.763,-13.114],[17.964,-4.032],[18.32,0.002],[23.649,8.28],[19.634,14.971],[9.823,14.165],[6.096,15.75],[-0.13,23.375]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[780.213,340.616],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":0,"s":[0,0]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":20,"s":[110,110]},{"t":35,"s":[100,100]}],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":179,"s":[360]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.555,3.253],[0,0],[1.415,0.224],[0,0],[-2.613,2.484],[0,0],[0.225,1.414],[0,0],[-3.171,-1.717],[0,0],[-1.276,0.65],[0,0],[0.654,-3.546],[0,0],[-1.013,-1.012],[0,0],[3.575,-0.474],[0,0],[0.649,-1.276],[0,0]],"o":[[0,0],[-0.617,-1.292],[0,0],[-3.561,-0.563],[0,0],[1.038,-0.987],[0,0],[-0.565,-3.562],[0,0],[1.26,0.682],[0,0],[3.213,-1.638],[0,0],[-0.26,1.408],[0,0],[2.551,2.549],[0,0],[-1.42,0.188],[0,0],[-1.636,3.214]],"v":[[-4.12,21.772],[-8.367,12.891],[-11.613,10.469],[-21.337,8.933],[-23.655,1.482],[-16.52,-5.301],[-15.222,-9.135],[-16.765,-18.859],[-10.394,-23.367],[-1.739,-18.677],[2.31,-18.627],[11.08,-23.099],[17.335,-18.434],[15.55,-8.752],[16.753,-4.885],[23.717,2.073],[21.213,9.464],[11.454,10.758],[8.149,13.096],[3.682,21.87]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[661.568,231.722],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":14,"s":[0,0]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":34,"s":[110,110]},{"t":49,"s":[100,100]}],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":179,"s":[360]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.322,1.402],[0,0],[1.207,-0.772],[0,0],[-0.307,3.593],[0,0],[1.106,0.909],[0,0],[-3.511,0.818],[0,0],[-0.523,1.333],[0,0],[-1.863,-3.088],[0,0],[-1.43,-0.086],[0,0],[2.36,-2.726],[0,0],[-0.361,-1.386],[0,0]],"o":[[0,0],[-1.32,-0.557],[0,0],[-3.038,1.942],[0,0],[0.122,-1.427],[0,0],[-2.786,-2.29],[0,0],[1.395,-0.325],[0,0],[1.317,-3.357],[0,0],[0.74,1.226],[0,0],[3.6,0.215],[0,0],[-0.937,1.082],[0,0],[0.908,3.49]],"v":[[13.026,21.825],[3.957,17.996],[-0.078,18.339],[-8.374,23.639],[-15.052,19.603],[-14.213,9.794],[-15.785,6.062],[-23.39,-0.189],[-21.615,-7.787],[-12.027,-10.021],[-8.964,-12.67],[-5.368,-21.834],[2.407,-22.493],[7.494,-14.065],[10.96,-11.97],[20.786,-11.383],[23.816,-4.192],[17.372,3.251],[16.451,7.194],[18.929,16.721]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[511.904,196.765],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":26,"s":[0,0]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":46,"s":[110,110]},{"t":61,"s":[100,100]}],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":90,"s":[180]},{"t":179,"s":[0]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.322,1.402],[0,0],[1.207,-0.771],[0,0],[-0.307,3.593],[0,0],[1.106,0.909],[0,0],[-3.511,0.818],[0,0],[-0.523,1.333],[0,0],[-1.863,-3.087],[0,0],[-1.43,-0.085],[0,0],[2.36,-2.726],[0,0],[-0.361,-1.386],[0,0]],"o":[[0,0],[-1.32,-0.557],[0,0],[-3.038,1.942],[0,0],[0.122,-1.427],[0,0],[-2.786,-2.29],[0,0],[1.395,-0.325],[0,0],[1.317,-3.357],[0,0],[0.74,1.226],[0,0],[3.6,0.216],[0,0],[-0.937,1.083],[0,0],[0.908,3.491]],"v":[[13.026,21.824],[3.957,17.997],[-0.078,18.339],[-8.374,23.638],[-15.052,19.602],[-14.213,9.794],[-15.785,6.062],[-23.39,-0.19],[-21.615,-7.788],[-12.027,-10.021],[-8.964,-12.669],[-5.368,-21.835],[2.407,-22.494],[7.494,-14.065],[10.96,-11.971],[20.786,-11.383],[23.816,-4.193],[17.372,3.25],[16.451,7.193],[18.929,16.721]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[347.833,259.616],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":14,"s":[0,0]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":34,"s":[110,110]},{"t":49,"s":[100,100]}],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":179,"s":[-360]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":3,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.331,-1.382],[0,0],[0.298,-1.401],[0,0],[2.345,2.74],[0,0],[1.424,-0.15],[0,0],[-1.882,3.076],[0,0],[0.582,1.308],[0,0],[-3.507,-0.839],[0,0],[-1.064,0.959],[0,0],[-0.286,-3.595],[0,0],[-1.24,-0.715],[0,0]],"o":[[0,0],[-1.323,0.549],[0,0],[-0.749,3.527],[0,0],[-0.931,-1.087],[0,0],[-3.586,0.378],[0,0],[0.747,-1.221],[0,0],[-1.467,-3.295],[0,0],[1.393,0.333],[0,0],[2.679,-2.413],[0,0],[0.114,1.427],[0,0],[3.123,1.803]],"v":[[21.829,5.031],[12.737,8.806],[10.149,11.921],[8.103,21.551],[0.541,23.475],[-5.858,15.993],[-9.619,14.494],[-19.41,15.525],[-23.577,8.928],[-18.439,0.53],[-18.176,-3.511],[-22.182,-12.504],[-17.195,-18.506],[-7.621,-16.215],[-3.696,-17.214],[3.619,-23.801],[10.868,-20.913],[11.647,-11.1],[13.809,-7.676],[22.336,-2.756]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[252.321,371.303],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":0,"s":[0,0]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":20,"s":[110,110]},{"t":35,"s":[100,100]}],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":179,"s":[-360]}],"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":3,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"shape","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[231.706,631.699,0],"ix":2},"a":{"a":0,"k":[231.706,631.699,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,6.552],[6.551,0],[0,-6.551],[-6.552,0]],"o":[[0,-6.551],[-6.552,0],[0,6.552],[6.551,0]],"v":[[11.863,0],[0,-11.862],[-11.863,0],[0,11.863]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[257.194,635.61],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[17.271,24.663],[-17.271,24.663],[-17.271,-24.663],[17.271,-24.663]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[190.448,620.901],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[78.397,9.759],[-78.397,9.759],[-78.397,-9.76],[78.397,-9.76]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[231.706,657.401],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"document","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[920.672,489.498,0],"ix":2},"a":{"a":0,"k":[920.672,489.498,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-28.625,6.008],[-52.375,6.004],[-52.375,-6.004],[-28.625,-6]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[52.375,6.004],[-52.375,6.004],[-52.375,-6.004],[52.375,-6.004]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":90,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-28.625,6.008],[-52.375,6.004],[-52.375,-6.004],[-28.625,-6]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":135,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[52.375,6.004],[-52.375,6.004],[-52.375,-6.004],[52.375,-6.004]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-28.625,6.008],[-52.375,6.004],[-52.375,-6.004],[-28.625,-6]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[942.196,541.818],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[52.375,6.004],[-52.375,6.004],[-52.375,-6.004],[52.375,-6.004]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.875,6.008],[-52.375,6.004],[-52.375,-6.004],[0.875,-6]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":90,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[52.375,6.004],[-52.375,6.004],[-52.375,-6.004],[52.375,-6.004]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":135,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[0.875,6.008],[-52.375,6.004],[-52.375,-6.004],[0.875,-6]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[52.375,6.004],[-52.375,6.004],[-52.375,-6.004],[52.375,-6.004]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[942.196,506.196],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.875,6.008],[-52.375,6.004],[-52.375,-6.004],[3.875,-6]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[52.375,6.004],[-52.375,6.004],[-52.375,-6.004],[52.375,-6.004]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":90,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.875,6.008],[-52.375,6.004],[-52.375,-6.004],[3.875,-6]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":135,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[52.375,6.004],[-52.375,6.004],[-52.375,-6.004],[52.375,-6.004]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[3.875,6.008],[-52.375,6.004],[-52.375,-6.004],[3.875,-6]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[942.196,469.002],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[52.375,6.004],[-52.375,6.004],[-52.375,-6.004],[52.375,-6.004]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":45,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.125,6.008],[-52.375,6.004],[-52.375,-6.004],[-35.125,-6]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":90,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[52.375,6.004],[-52.375,6.004],[-52.375,-6.004],[52.375,-6.004]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":135,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.125,6.008],[-52.375,6.004],[-52.375,-6.004],[-35.125,-6]],"c":true}]},{"t":180,"s":[{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[52.375,6.004],[-52.375,6.004],[-52.375,-6.004],[52.375,-6.004]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[942.196,434.457],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":3,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.914,-0.791],[0,0],[-0.634,0.098],[-0.336,0.545],[0,0],[1.029,0.633],[0.633,-1.03],[0,0],[0,0],[0.79,-0.914]],"o":[[0,0],[0.485,0.42],[0.634,-0.097],[0,0],[0.633,-1.03],[-1.029,-0.634],[0,0],[0,0],[-0.914,-0.791],[-0.791,0.914]],"v":[[-7.938,1.833],[-1.698,7.234],[0.068,7.742],[1.598,6.727],[8.319,-4.194],[7.602,-7.205],[4.591,-6.488],[-0.781,2.24],[-5.074,-1.477],[-8.161,-1.253]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[869.792,541.7],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.914,-0.791],[0,0],[-0.634,0.097],[-0.336,0.546],[0,0],[1.029,0.634],[0.633,-1.03],[0,0],[0,0],[0.79,-0.914]],"o":[[0,0],[0.485,0.42],[0.634,-0.098],[0,0],[0.633,-1.03],[-1.029,-0.633],[0,0],[0,0],[-0.914,-0.791],[-0.791,0.914]],"v":[[-7.938,1.833],[-1.698,7.233],[0.068,7.742],[1.598,6.726],[8.319,-4.195],[7.602,-7.206],[4.591,-6.489],[-0.781,2.239],[-5.074,-1.477],[-8.161,-1.254]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[869.792,506.078],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.914,-0.791],[0,0],[-0.634,0.098],[-0.336,0.546],[0,0],[1.029,0.634],[0.633,-1.03],[0,0],[0,0],[0.79,-0.914]],"o":[[0,0],[0.485,0.42],[0.634,-0.097],[0,0],[0.633,-1.03],[-1.029,-0.633],[0,0],[0,0],[-0.914,-0.791],[-0.791,0.914]],"v":[[-7.938,1.833],[-1.698,7.233],[0.068,7.741],[1.598,6.725],[8.319,-4.194],[7.602,-7.207],[4.591,-6.488],[-0.781,2.239],[-5.074,-1.477],[-8.161,-1.254]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[869.792,468.884],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.914,-0.791],[0,0],[-0.634,0.098],[-0.336,0.545],[0,0],[1.029,0.633],[0.633,-1.03],[0,0],[0,0],[0.79,-0.914]],"o":[[0,0],[0.485,0.42],[0.634,-0.097],[0,0],[0.633,-1.03],[-1.029,-0.634],[0,0],[0,0],[-0.914,-0.791],[-0.791,0.914]],"v":[[-7.938,1.833],[-1.698,7.233],[0.068,7.741],[1.598,6.726],[8.319,-4.194],[7.602,-7.205],[4.591,-6.488],[-0.781,2.239],[-5.074,-1.477],[-8.161,-1.254]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[869.792,434.339],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":3,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.388,0],[0,0],[0,4.387],[0,0],[-4.387,0],[0,0],[0,-4.387],[0,0]],"o":[[0,0],[-4.387,0],[0,0],[0,-4.387],[0,0],[4.388,0],[0,0],[0,4.387]],"v":[[51.759,85.781],[-51.759,85.781],[-59.702,77.838],[-59.702,-77.837],[-51.759,-85.781],[51.759,-85.781],[59.703,-77.837],[59.703,77.838]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[906.475,489.498],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9","np":3,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[906.475,489.498],"ix":2},"a":{"a":0,"k":[906.475,489.498],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9","np":5,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"bag 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[208.022,970.766,0],"ix":2},"a":{"a":0,"k":[208.022,970.766,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":10,"s":[0,0,100]},{"t":30,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-11.774,0.692],[0,0]],"o":[[0,0],[11.773,-0.693],[0,0]],"v":[[-7.964,18.526],[0.001,-17.833],[7.618,10.907]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[209.58,853.573],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-16.103,-53.143],[-12.208,53.143],[16.102,53.143],[14.716,-53.143]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[208.022,917.623],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":10,"op":190,"st":10,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"bag 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[315.711,971.303,0],"ix":2},"a":{"a":0,"k":[315.711,971.303,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":20,"s":[105,105,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":40,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":60,"s":[105,105,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":80,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":100,"s":[105,105,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":120,"s":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":140,"s":[105,105,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":160,"s":[100,100,100]},{"t":179,"s":[100,100,100]}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-36.88,7.792],[0,0]],"o":[[0,0],[36.879,-7.791],[0,0]],"v":[[-8.57,36.49],[0,-28.698],[31.945,36.49]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[287.321,758.647],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[7.026,-89.867],[-11.606,90.758],[-3.328,89.639],[11.606,-90.758]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[241.952,880.545],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-31.25,90.018],[-15.499,-90.49],[-0.955,-90.49],[31.25,90.49]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[269.057,880.277],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":3,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-66.487,-90.49],[-34.282,90.49],[66.487,90.49],[0,-89.731]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[334.589,880.278],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":3,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-14.544,8.311],[-3.377,-43.372]],"o":[[0,0],[14.544,-8.311],[0,0]],"v":[[-7.921,24.673],[-17.79,-16.362],[32.335,24.673]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[266.934,772.542],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"arrow 3","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":140,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":146,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":200,"s":[100]},{"t":210,"s":[0]}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":160,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":170,"s":[-4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":180,"s":[4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":190,"s":[-4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":200,"s":[4]},{"t":210,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.456,"y":1},"o":{"x":0.543,"y":0},"t":140,"s":[1017.74,631.44,0],"to":[-13,12.667,0],"ti":[13,-12.667,0]},{"t":180,"s":[939.74,707.44,0]}],"ix":2},"a":{"a":0,"k":[938.74,712.44,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.136,2.854],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-58.532,60.14],[22.644,-27.859],[22.644,-45.52],[37.967,-64.998],[40.305,-48.117],[59.004,-46.818],[36.409,-22.924],[25.241,-23.704],[-54.759,64.27],[-59.004,64.998]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[997.744,647.442],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":140,"op":320,"st":140,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"arrow 2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":70,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":76,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":130,"s":[100]},{"t":140,"s":[0]}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":90,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":100,"s":[-4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":110,"s":[4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":120,"s":[-4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":130,"s":[4]},{"t":140,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.456,"y":1},"o":{"x":0.543,"y":0},"t":70,"s":[1017.74,631.44,0],"to":[-13,12.667,0],"ti":[13,-12.667,0]},{"t":110,"s":[939.74,707.44,0]}],"ix":2},"a":{"a":0,"k":[938.74,712.44,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.136,2.854],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-58.532,60.14],[22.644,-27.859],[22.644,-45.52],[37.967,-64.998],[40.305,-48.117],[59.004,-46.818],[36.409,-22.924],[25.241,-23.704],[-54.759,64.27],[-59.004,64.998]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[997.744,647.442],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":70,"op":250,"st":70,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"arrow 1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":6,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[100]},{"t":70,"s":[0]}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":20,"s":[0]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":30,"s":[-4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":40,"s":[4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":50,"s":[-4]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":60,"s":[4]},{"t":70,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.456,"y":1},"o":{"x":0.543,"y":0},"t":0,"s":[1017.74,631.44,0],"to":[-13,12.667,0],"ti":[13,-12.667,0]},{"t":40,"s":[939.74,707.44,0]}],"ix":2},"a":{"a":0,"k":[938.74,712.44,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.136,2.854],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-58.532,60.14],[22.644,-27.859],[22.644,-45.52],[37.967,-64.998],[40.305,-48.117],[59.004,-46.818],[36.409,-22.924],[25.241,-23.704],[-54.759,64.27],[-59.004,64.998]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[997.744,647.442],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"darts","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[936.075,711.847,0],"ix":2},"a":{"a":0,"k":[936.075,711.847,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.27,0],[6.771,4.981],[-3.813,5.185],[-2.269,0],[-6.77,-4.981],[3.813,-5.185]],"o":[[-6.328,0],[-12.561,-9.24],[2.072,-2.815],[6.328,0],[12.562,9.24],[-2.071,2.816]],"v":[[12.856,18.916],[-8.063,10.961],[-21.315,-15.68],[-12.856,-18.916],[8.063,-10.961],[21.315,15.68]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.627450980392,0.462745127958,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[939.212,707.582],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":9,"s":[100,100]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":24,"s":[130,130]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":39,"s":[100,100]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":69,"s":[100,100]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":84,"s":[130,130]},{"t":99,"s":[100,100]}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.786,0],[14.278,10.504],[-8.043,10.933],[-4.787,0],[-14.279,-10.504],[8.043,-10.934]],"o":[[-13.344,0],[-26.489,-19.486],[4.369,-5.938],[13.344,0],[26.488,19.485],[-4.367,5.936]],"v":[[27.11,39.889],[-17.003,23.114],[-44.947,-33.065],[-27.109,-39.889],[17.004,-23.115],[44.947,33.065]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[939.212,707.583],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.031,0],[20.977,15.432],[-11.816,16.062],[-7.033,0],[-20.976,-15.43],[11.815,-16.062]],"o":[[-19.604,0],[-38.912,-28.625],[6.416,-8.723],[19.603,0],[38.912,28.626],[-6.417,8.721]],"v":[[39.826,58.6],[-24.981,33.955],[-66.03,-48.575],[-39.826,-58.6],[24.979,-33.958],[66.03,48.575]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.627450980392,0.462745127958,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[939.213,707.583],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[939.213,707.583],"ix":2},"a":{"a":0,"k":[939.213,707.583],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":5,"s":[100,100]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":20,"s":[110,110]},{"i":{"x":[0.833,0.833],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0,0]},"t":35,"s":[100,100]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":65,"s":[100,100]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":80,"s":[110,110]},{"t":95,"s":[100,100]}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-43.6,-32.073],[19.042,-25.884],[43.6,32.074],[-19.042,25.886]],"o":[[43.599,32.072],[-19.042,25.886],[-43.599,-32.072],[19.042,-25.885]],"v":[[34.479,-46.87],[78.943,58.073],[-34.479,46.869],[-78.943,-58.073]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[939.212,707.582],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-43.6,-32.073],[19.042,-25.884],[43.599,32.074],[-19.042,25.886]],"o":[[43.599,32.073],[-19.042,25.886],[-43.599,-32.072],[19.042,-25.885]],"v":[[34.479,-46.87],[78.943,58.073],[-34.479,46.869],[-78.943,-58.073]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[932.938,716.112],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[936.075,711.847],"ix":2},"a":{"a":0,"k":[936.075,711.847],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":0,"s":[100,100]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":15,"s":[105,105]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":30,"s":[100,100]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":60,"s":[100,100]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":75,"s":[105,105]},{"t":90,"s":[100,100]}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"BG","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[600,600,0],"ix":2},"a":{"a":0,"k":[600,600,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-12.964,0],[0,0],[0,20.446],[12.964,0],[0,0],[0,-20.447]],"o":[[0,0],[12.964,0],[0,-20.447],[0,0],[-12.964,0],[0,20.446]],"v":[[-412.593,37.021],[412.594,37.021],[436.068,0],[412.594,-37.021],[-412.593,-37.021],[-436.068,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[579.32,1007.788],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[13.057,-28.76],[0,0],[1.596,4.431],[-53.307,9.342],[-24.992,-38.305],[-87.305,-40.979],[-6.164,-3.957],[-11.819,-23.112],[-14.456,3.133],[-13.677,-9.196]],"o":[[0,0],[-2.602,-3.593],[-14.77,-40.883],[39.558,-6.928],[84.916,-96.093],[7.01,3.293],[38.072,24.388],[10.186,-12.802],[16.373,-3.555],[24.548,16.511]],"v":[[340.292,99.347],[-332.18,99.347],[-338.578,87.331],[-256.766,-21.747],[-150.021,30.461],[142.159,-58.368],[161.911,-47.453],[234.099,35.131],[272.549,11.166],[319.802,19.546]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960791794,0.101960791794,0.101960791794,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.5,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[651.608,871.422],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.851,-8.029],[10.186,-12.802],[38.073,24.388],[-29.787,-21.072]],"o":[[-14.456,3.133],[-11.819,-23.112],[11.003,-7.054],[29.364,20.781]],"v":[[55.319,28.348],[16.869,52.313],[-55.319,-30.271],[15.309,-31.241]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.627450980392,0.462745127958,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[868.838,854.241],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":180,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Boy - 01","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[584,611.5,0],"ix":2},"a":{"a":0,"k":[324,442,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":648,"h":884,"ip":0,"op":180,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Background- 05","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[600,600,0],"ix":2},"a":{"a":0,"k":[600,600,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1200,"h":1200,"ip":0,"op":180,"st":0,"bm":0}],"markers":[]}
|
images/happy.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
images/hello.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"v":"5.4.3","fr":60,"ip":0,"op":360,"w":1005,"h":750,"nm":"Languages_Loop","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"TRKMAT 2","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[500.43,503.401,0],"ix":2},"a":{"a":0,"k":[194,400,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[20.045,0],[0,0],[0,20.044],[0,0],[-20.045,0],[0,0],[0,-20.045],[0,0]],"o":[[0,0],[-20.044,0],[0,0],[0,-20.045],[0,0],[20.044,0],[0,0],[0,20.044]],"v":[[138.437,375.832],[-138.438,375.832],[-174.882,339.388],[-174.882,-339.388],[-138.437,-375.832],[138.437,-375.832],[174.882,-339.388],[174.881,339.388]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.43720895052,0.15705499053,0.15705499053,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[195.57,396.599],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"Text Comp In","tt":1,"refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":12,"s":[492.5,1106,0],"e":[492.5,1106,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":39,"s":[492.5,1106,0],"e":[492.5,1006,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":52,"s":[492.5,1006,0],"e":[492.5,1006,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75,"s":[492.5,1006,0],"e":[492.5,906,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":89,"s":[492.5,906,0],"e":[492.5,906,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":113,"s":[492.5,906,0],"e":[492.5,806,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":127,"s":[492.5,806,0],"e":[492.5,806,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":152,"s":[492.5,806,0],"e":[492.5,706,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":164,"s":[492.5,706,0],"e":[492.5,706,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":190,"s":[492.5,706,0],"e":[492.5,606,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":204,"s":[492.5,606,0],"e":[492.5,606,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":227,"s":[492.5,606,0],"e":[492.5,506,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":242,"s":[492.5,506,0],"e":[492.5,506,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":262,"s":[492.5,506,0],"e":[492.5,406,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":276,"s":[492.5,406,0],"e":[492.5,406,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":295,"s":[492.5,406,0],"e":[492.5,306,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":306,"s":[492.5,306,0],"e":[492.5,306,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":331,"s":[492.5,306,0],"e":[492.5,233.831,0],"to":[0,-12.0282163619995,0],"ti":[0,12.0282163619995,0]},{"t":344}],"ix":2},"a":{"a":0,"k":[502.5,600,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1005,"h":1200,"ip":-7,"op":473,"st":-7,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"TRKMAT","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[500.43,503.401,0],"ix":2},"a":{"a":0,"k":[194,400,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[20.045,0],[0,0],[0,20.044],[0,0],[-20.045,0],[0,0],[0,-20.045],[0,0]],"o":[[0,0],[-20.044,0],[0,0],[0,-20.045],[0,0],[20.044,0],[0,0],[0,20.044]],"v":[[138.437,375.832],[-138.438,375.832],[-174.882,339.388],[-174.882,-339.388],[-138.437,-375.832],[138.437,-375.832],[174.882,-339.388],[174.881,339.388]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.43720895052,0.15705499053,0.15705499053,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[195.57,396.599],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"Text Comp In","tt":1,"refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-368,"s":[492.5,672,0],"e":[492.5,672,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-180,"s":[492.5,672,0],"e":[492.5,627,0],"to":[0,-7.5,0],"ti":[0,7.5,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-168,"s":[492.5,627,0],"e":[492.5,627,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-148,"s":[492.5,627,0],"e":[492.5,530,0],"to":[0,-16.1666660308838,0],"ti":[0,16.1666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-135,"s":[492.5,530,0],"e":[492.5,530,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-113,"s":[492.5,530,0],"e":[492.5,441,0],"to":[0,-14.8333330154419,0],"ti":[0,14.8333330154419,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-100,"s":[492.5,441,0],"e":[492.5,441,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-82,"s":[492.5,441,0],"e":[492.5,338,0],"to":[0,-17.1666660308838,0],"ti":[0,17.1666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-69,"s":[492.5,338,0],"e":[492.5,338,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-47,"s":[492.5,338,0],"e":[492.5,238,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-33,"s":[492.5,238,0],"e":[492.5,238,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-13,"s":[492.5,238,0],"e":[492.5,238,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-1,"s":[492.5,238,0],"e":[492.5,138,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":23,"s":[492.5,138,0],"e":[492.5,138,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":39,"s":[492.5,138,0],"e":[492.5,38,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":52,"s":[492.5,38,0],"e":[492.5,38,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":75,"s":[492.5,38,0],"e":[492.5,-62,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":89,"s":[492.5,-62,0],"e":[492.5,-62,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":113,"s":[492.5,-62,0],"e":[492.5,-162,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":127,"s":[492.5,-162,0],"e":[492.5,-162,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":152,"s":[492.5,-162,0],"e":[492.5,-262,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":164,"s":[492.5,-262,0],"e":[492.5,-262,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":190,"s":[492.5,-262,0],"e":[492.5,-362,0],"to":[0,-16.6666660308838,0],"ti":[0,16.6666660308838,0]},{"t":204}],"ix":2},"a":{"a":0,"k":[502.5,600,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1005,"h":1200,"ip":-368,"op":205,"st":-368,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Layer 4 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[501.57,499.563,0],"ix":2},"a":{"a":0,"k":[195.57,396.563,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[20.045,0],[0,0],[0,20.044],[0,0],[-20.045,0],[0,0],[0,-20.045],[0,0]],"o":[[0,0],[-20.044,0],[0,0],[0,-20.045],[0,0],[20.044,0],[0,0],[0,20.044]],"v":[[138.437,375.832],[-138.438,375.832],[-174.882,339.388],[-174.882,-339.388],[-138.437,-375.832],[138.437,-375.832],[174.882,-339.388],[174.881,339.388]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[195.57,396.599],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[7.054,6.884],[0.007,25.858],[0,0],[-15.436,15.079],[-23.853,0.002],[0,0],[-7.053,-6.882],[-0.007,-25.859],[0,0],[15.435,-15.079],[23.817,-0.002],[0,0],[0,0],[0,0],[0,0],[-7.132,6.965],[0.007,25.866],[0,0],[15.553,15.173],[23.979,-0.002],[0,0],[7.131,-6.965],[-0.007,-25.866],[0,0],[-15.552,-15.174],[-23.985,0.003]],"o":[[0,0],[-23.876,-0.002],[-15.434,-15.079],[0,0],[0.007,-25.858],[7.053,-6.882],[0,0],[23.87,0.002],[15.435,15.079],[0,0],[-0.007,25.858],[-7.054,6.884],[0,0],[0,0],[0,0],[0,0],[23.926,0.003],[15.553,-15.174],[0,0],[0.007,-25.867],[-7.131,-6.965],[0,0],[-23.963,-0.002],[-15.554,15.174],[0,0],[-0.007,25.866],[7.132,6.965],[0,0]],"v":[[-132.363,396.073],[-132.363,395.835],[-176.688,380.725],[-194.837,324.938],[-194.836,-324.937],[-176.686,-380.726],[-132.378,-395.834],[132.363,-395.834],[176.687,-380.726],[194.837,-324.937],[194.836,324.938],[176.687,380.725],[132.421,395.835],[-132.363,395.835],[-132.363,396.073],[-132.363,396.31],[132.421,396.31],[177.019,381.066],[195.312,324.938],[195.313,-324.937],[177.019,-381.066],[132.363,-396.311],[-132.378,-396.311],[-177.018,-381.066],[-195.312,-324.937],[-195.313,324.938],[-177.02,381.066],[-132.363,396.31]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.187999994615,0.187999994615,0.187999994615,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[195.57,396.563],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[7.093,6.924],[0,25.863],[0,0],[-15.495,15.127],[-23.908,0],[0,0],[-7.092,-6.923],[0,-25.863],[0,0],[15.494,-15.127],[23.872,0]],"o":[[-23.931,0],[-15.493,-15.127],[0,0],[0,-25.862],[7.092,-6.923],[0,0],[23.924,0],[15.494,15.126],[0,0],[0,25.863],[-7.093,6.924],[0,0]],"v":[[-132.363,396.073],[-176.854,380.896],[-195.075,324.938],[-195.074,-324.937],[-176.852,-380.896],[-132.378,-396.073],[132.364,-396.073],[176.854,-380.896],[195.075,-324.937],[195.075,324.938],[176.854,380.896],[132.421,396.073]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.263000009574,0.263000009574,0.325,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[195.57,396.563],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":5,"nm":"Hello","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[395,131,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":48,"f":"SFCompactDisplay-Heavy","t":"Hello","j":0,"tr":0,"lh":57.6,"ls":0,"fc":[1,1,1]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[{"nm":"Animator 1","s":{"t":0,"xe":{"a":0,"k":0,"ix":7},"ne":{"a":0,"k":0,"ix":8},"a":{"a":0,"k":100,"ix":4},"b":1,"rn":0,"sh":1,"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":36,"s":[0],"e":[100]},{"t":60}],"ix":3},"r":1},"a":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":36,"s":[0],"e":[100]},{"t":60}],"ix":9}}}]},"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":5,"nm":"Marhaba","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[627,225,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":48,"f":"SFCompactDisplay-Heavy","t":"Marhaba","j":1,"tr":0,"lh":57.6,"ls":0,"fc":[1,1,1]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[{"nm":"Animator 1","s":{"t":0,"xe":{"a":0,"k":0,"ix":7},"ne":{"a":0,"k":0,"ix":8},"a":{"a":0,"k":100,"ix":4},"b":1,"rn":0,"sh":1,"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":71,"s":[0],"e":[100]},{"t":95}],"ix":3},"r":1},"a":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":71,"s":[0],"e":[100]},{"t":95}],"ix":9}}}]},"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":5,"nm":"Grüß Gott","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[393,321,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":48,"f":"SFCompactDisplay-Black","t":"Grüß Gott","j":0,"tr":0,"lh":57.6,"ls":0,"fc":[1,1,1]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[{"nm":"Animator 1","s":{"t":0,"xe":{"a":0,"k":0,"ix":7},"ne":{"a":0,"k":0,"ix":8},"a":{"a":0,"k":100,"ix":4},"b":1,"rn":0,"sh":1,"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":106,"s":[0],"e":[100]},{"t":130}],"ix":3},"r":1},"a":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":106,"s":[0],"e":[100]},{"t":130}],"ix":9}}}]},"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":5,"nm":"God dag 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[627,415,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":48,"f":"SFCompactDisplay-Heavy","t":"God dag","j":1,"tr":0,"lh":57.6,"ls":0,"fc":[1,1,1]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[{"nm":"Animator 1","s":{"t":0,"xe":{"a":0,"k":0,"ix":7},"ne":{"a":0,"k":0,"ix":8},"a":{"a":0,"k":100,"ix":4},"b":1,"rn":0,"sh":1,"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":143,"s":[0],"e":[100]},{"t":167}],"ix":3},"r":1},"a":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":143,"s":[0],"e":[100]},{"t":167}],"ix":9}}}]},"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":5,"nm":"Hallo 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[393,511,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":48,"f":"SFCompactDisplay-Black","t":"Hallo","j":0,"tr":0,"lh":57.6,"ls":0,"fc":[1,1,1]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[{"nm":"Animator 1","s":{"t":0,"xe":{"a":0,"k":0,"ix":7},"ne":{"a":0,"k":0,"ix":8},"a":{"a":0,"k":100,"ix":4},"b":1,"rn":0,"sh":1,"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":177,"s":[0],"e":[100]},{"t":201}],"ix":3},"r":1},"a":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":177,"s":[0],"e":[100]},{"t":201}],"ix":9}}}]},"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":5,"nm":"Bonjour 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[627,605,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":48,"f":"SFCompactDisplay-Heavy","t":"Bonjour","j":1,"tr":0,"lh":57.6,"ls":0,"fc":[1,1,1]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[{"nm":"Animator 1","s":{"t":0,"xe":{"a":0,"k":0,"ix":7},"ne":{"a":0,"k":0,"ix":8},"a":{"a":0,"k":100,"ix":4},"b":1,"rn":0,"sh":1,"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":213,"s":[0],"e":[100]},{"t":237}],"ix":3},"r":1},"a":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":213,"s":[0],"e":[100]},{"t":237}],"ix":9}}}]},"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":5,"nm":"Guten tag 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[393,701,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":48,"f":"SFCompactDisplay-Black","t":"Guten tag","j":0,"tr":0,"lh":57.6,"ls":0,"fc":[1,1,1]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[{"nm":"Animator 1","s":{"t":0,"xe":{"a":0,"k":0,"ix":7},"ne":{"a":0,"k":0,"ix":8},"a":{"a":0,"k":100,"ix":4},"b":1,"rn":0,"sh":1,"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":248,"s":[0],"e":[100]},{"t":272}],"ix":3},"r":1},"a":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":248,"s":[0],"e":[100]},{"t":272}],"ix":9}}}]},"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":5,"nm":"Salve 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[627,797,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":48,"f":"SFCompactDisplay-Heavy","t":"Salve","j":1,"tr":0,"lh":57.6,"ls":0,"fc":[1,1,1]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[{"nm":"Animator 1","s":{"t":0,"xe":{"a":0,"k":0,"ix":7},"ne":{"a":0,"k":0,"ix":8},"a":{"a":0,"k":100,"ix":4},"b":1,"rn":0,"sh":1,"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":283,"s":[0],"e":[100]},{"t":307}],"ix":3},"r":1},"a":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":283,"s":[0],"e":[100]},{"t":307}],"ix":9}}}]},"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":5,"nm":"Hola ","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[393,893,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":48,"f":"SFCompactDisplay-Black","t":"Hola\r","j":0,"tr":0,"lh":57.6,"ls":0,"fc":[1,1,1]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[{"nm":"Animator 1","s":{"t":0,"xe":{"a":0,"k":0,"ix":7},"ne":{"a":0,"k":0,"ix":8},"a":{"a":0,"k":100,"ix":4},"b":1,"rn":0,"sh":1,"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":319,"s":[0],"e":[100]},{"t":343}],"ix":3},"r":1},"a":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":319,"s":[0],"e":[100]},{"t":343}],"ix":9}}}]},"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":5,"nm":"Hallå 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[629,991,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"t":{"d":{"k":[{"s":{"s":48,"f":"SFCompactDisplay-Black","t":"Hallå","j":1,"tr":0,"lh":57.6,"ls":0,"fc":[1,1,1]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[{"nm":"Animator 1","s":{"t":0,"xe":{"a":0,"k":0,"ix":7},"ne":{"a":0,"k":0,"ix":8},"a":{"a":0,"k":100,"ix":4},"b":1,"rn":0,"sh":1,"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":351,"s":[0],"e":[100]},{"t":375}],"ix":3},"r":1},"a":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":351,"s":[0],"e":[100]},{"t":375}],"ix":9}}}]},"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Blue Speech 1 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.41],"y":[1.32]},"o":{"x":[0.99],"y":[0.03]},"n":["0p41_1p32_0p99_0p03"],"t":0,"s":[-78],"e":[0]},{"t":35}],"ix":10},"p":{"a":0,"k":[358.904,152.799,0],"ix":2},"a":{"a":0,"k":[1.5,76.487,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.41,0.41,0.41],"y":[1.318,1.313,1]},"o":{"x":[0.99,0.99,0.99],"y":[0.03,0.029,0]},"n":["0p41_1p318_0p99_0p03","0p41_1p313_0p99_0p029","0p41_1_0p99_0"],"t":0,"s":[0,0,100],"e":[100,100,100]},{"t":35}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[8.985,2.634],[0,0],[-21.131,0],[0,0],[0,-21.131],[21.131,0],[0,0],[6.272,4.457]],"o":[[10.38,-8.056],[0,-21.131],[0,0],[21.131,0],[0,21.131],[0,0],[-8.236,0],[0,0]],"v":[[-90.919,37.103],[-82.243,-1.317],[-43.824,-39.738],[52.5,-39.285],[90.919,-0.864],[52.5,37.556],[-43.824,37.103],[-65.984,30.02]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.263000009574,0.808000033509,0.877999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[91.169,39.988],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Pink Speech 1 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.41],"y":[0.68]},"o":{"x":[0.99],"y":[-0.03]},"n":["0p41_0p68_0p99_-0p03"],"t":35,"s":[78],"e":[0]},{"t":70}],"ix":10},"p":{"a":0,"k":[666.44,250.229,0],"ix":2},"a":{"a":0,"k":[267.717,78.487,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.41,0.41,0.41],"y":[1.318,1.313,1]},"o":{"x":[0.99,0.99,0.99],"y":[0.03,0.029,0]},"n":["0p41_1p318_0p99_0p03","0p41_1p313_0p99_0p029","0p41_1_0p99_0"],"t":35,"s":[0,0,100],"e":[100,100,100]},{"t":70}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.429,2.634],[0,0],[19.823,0],[0,0],[0,-21.131],[-19.823,0],[0,0],[-5.884,4.457]],"o":[[-9.737,-8.056],[0,-21.131],[0,0],[-19.823,0],[0,21.131],[0,0],[7.726,0],[0,0]],"v":[[133.967,37.103],[125.828,-1.317],[89.787,-39.737],[-97.925,-39.51],[-133.967,-1.09],[-97.925,37.33],[89.787,37.103],[110.576,30.02]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.556999954523,0.670999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[134.217,39.987],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Blue Speech 2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.41],"y":[1.32]},"o":{"x":[0.99],"y":[0.03]},"n":["0p41_1p32_0p99_0p03"],"t":70,"s":[-78],"e":[0]},{"t":105}],"ix":10},"p":{"a":0,"k":[358.936,344.66,0],"ix":2},"a":{"a":0,"k":[2.702,77.488,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.41,0.41,0.41],"y":[1.318,1.313,1]},"o":{"x":[0.99,0.99,0.99],"y":[0.03,0.029,0]},"n":["0p41_1p318_0p99_0p03","0p41_1p313_0p99_0p029","0p41_1_0p99_0"],"t":70,"s":[0,0,100],"e":[100,100,100]},{"t":105}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[8.985,2.634],[0,0],[-21.131,0],[0,0],[0,-21.132],[21.131,0],[0,0],[6.272,4.456]],"o":[[10.38,-8.056],[0,-21.132],[0,0],[21.131,0],[0,21.131],[0,0],[-8.236,0],[0,0]],"v":[[-147.452,37.103],[-138.776,-1.316],[-100.356,-39.738],[109.031,-39.738],[147.452,-1.316],[109.031,37.103],[-100.356,37.103],[-122.517,30.021]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.263000009574,0.808000033509,0.877999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[147.702,39.988],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Pink Speech 2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.41],"y":[0.68]},"o":{"x":[0.99],"y":[-0.03]},"n":["0p41_0p68_0p99_-0p03"],"t":105,"s":[78],"e":[0]},{"t":140}],"ix":10},"p":{"a":0,"k":[666.484,439.59,0],"ix":2},"a":{"a":0,"k":[251.673,76.988,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.41,0.41,0.41],"y":[1.318,1.313,1]},"o":{"x":[0.99,0.99,0.99],"y":[0.03,0.029,0]},"n":["0p41_1p318_0p99_0p03","0p41_1p313_0p99_0p029","0p41_1_0p99_0"],"t":105,"s":[0,0,100],"e":[100,100,100]},{"t":140}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.429,2.634],[0,0],[19.823,0],[0,0],[0,-21.131],[-19.823,0],[0,0],[-5.884,4.457]],"o":[[-9.737,-8.057],[0,-21.131],[0,0],[-19.823,0],[0,21.131],[0,0],[7.726,0],[0,0]],"v":[[125.923,37.103],[117.783,-1.317],[81.742,-39.738],[-89.88,-39.51],[-125.923,-1.09],[-89.88,37.329],[81.742,37.103],[102.531,30.02]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.556999954523,0.670999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[126.172,39.988],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Blue Speech 3 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.41],"y":[1.32]},"o":{"x":[0.99],"y":[0.03]},"n":["0p41_1p32_0p99_0p03"],"t":140,"s":[-78],"e":[0]},{"t":175}],"ix":10},"p":{"a":0,"k":[353.88,535.02,0],"ix":2},"a":{"a":0,"k":[0.92,76.987,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.41,0.41,0.41],"y":[1.318,1.313,1]},"o":{"x":[0.99,0.99,0.99],"y":[0.03,0.029,0]},"n":["0p41_1p318_0p99_0p03","0p41_1p313_0p99_0p029","0p41_1_0p99_0"],"t":140,"s":[0,0,100],"e":[100,100,100]},{"t":175}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[6.273,4.457],[8.986,2.634],[0,0],[-21.131,0],[0,0],[0,-21.132],[21.131,0]],"o":[[-8.236,0],[0,0],[10.38,-8.056],[0,-21.131],[0,0],[21.131,0],[0,21.131],[0,0]],"v":[[-43.824,37.103],[-65.986,30.02],[-90.92,37.103],[-82.244,-1.317],[-43.824,-39.737],[52.5,-39.285],[90.92,-0.864],[52.5,37.556]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.263000009574,0.808000033509,0.877999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[91.17,39.987],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Pink Speech 3 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.41],"y":[0.68]},"o":{"x":[0.99],"y":[-0.03]},"n":["0p41_0p68_0p99_-0p03"],"t":175,"s":[78],"e":[0]},{"t":210}],"ix":10},"p":{"a":0,"k":[662.665,630.451,0],"ix":2},"a":{"a":0,"k":[242.216,76.988,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.41,0.41,0.41],"y":[1.318,1.313,1]},"o":{"x":[0.99,0.99,0.99],"y":[0.03,0.029,0]},"n":["0p41_1p318_0p99_0p03","0p41_1p313_0p99_0p029","0p41_1_0p99_0"],"t":175,"s":[0,0,100],"e":[100,100,100]},{"t":210}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.429,2.634],[0,0],[19.823,0],[0,0],[0,-21.131],[0,0],[-19.823,0],[0,0],[-5.884,4.456]],"o":[[-9.737,-8.056],[0,-21.132],[0,0],[-19.823,0],[0,0],[0,21.131],[0,0],[7.727,0],[0,0]],"v":[[121.467,37.103],[113.329,-1.316],[77.286,-39.738],[-85.425,-39.51],[-121.467,-1.09],[-121.467,-1.09],[-85.425,37.331],[77.286,37.103],[98.076,30.021]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.556999954523,0.670999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[121.716,39.988],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Blue Speech 4 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.41],"y":[1.32]},"o":{"x":[0.99],"y":[0.03]},"n":["0p41_1p32_0p99_0p03"],"t":210,"s":[-78],"e":[0]},{"t":245}],"ix":10},"p":{"a":0,"k":[354.162,725.881,0],"ix":2},"a":{"a":0,"k":[1.202,76.988,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.41,0.41,0.41],"y":[1.318,1.313,1]},"o":{"x":[0.99,0.99,0.99],"y":[0.03,0.029,0]},"n":["0p41_1p318_0p99_0p03","0p41_1p313_0p99_0p029","0p41_1_0p99_0"],"t":210,"s":[0,0,100],"e":[100,100,100]},{"t":245}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[8.985,2.634],[0,0],[-21.131,0],[0,0],[0,-21.131],[21.131,0],[0,0],[6.273,4.457]],"o":[[10.38,-8.057],[0,-21.131],[0,0],[21.131,0],[0,21.132],[0,0],[-8.237,0],[0,0]],"v":[[-147.452,37.104],[-138.776,-1.317],[-100.356,-39.738],[109.031,-39.738],[147.452,-1.317],[109.031,37.104],[-100.356,37.104],[-122.518,30.02]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.263000009574,0.808000033509,0.877999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[147.702,39.987],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Pink Speech 4 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.41],"y":[0.68]},"o":{"x":[0.99],"y":[-0.03]},"n":["0p41_0p68_0p99_-0p03"],"t":245,"s":[78],"e":[0]},{"t":280}],"ix":10},"p":{"a":0,"k":[662.376,821.561,0],"ix":2},"a":{"a":0,"k":[198.006,77.237,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.41,0.41,0.41],"y":[1.318,1.313,1]},"o":{"x":[0.99,0.99,0.99],"y":[0.03,0.029,0]},"n":["0p41_1p318_0p99_0p03","0p41_1p313_0p99_0p029","0p41_1_0p99_0"],"t":245,"s":[0,0,100],"e":[100,100,100]},{"t":280}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.429,2.634],[0,0],[19.823,0],[0,0],[0,-21.131],[-19.823,0],[0,0],[-5.884,4.457]],"o":[[-9.737,-8.056],[0,-21.131],[0,0],[-19.823,0],[0,21.131],[0,0],[7.727,0],[0,0]],"v":[[99.506,37.103],[91.368,-1.317],[55.326,-39.737],[-63.464,-39.511],[-99.506,-1.09],[-63.464,37.33],[55.326,37.103],[76.116,30.02]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.556999954523,0.670999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[99.756,39.987],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Blue Speech 5 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.41],"y":[1.32]},"o":{"x":[0.99],"y":[0.03]},"n":["0p41_1p32_0p99_0p03"],"t":280,"s":[-78],"e":[0]},{"t":315}],"ix":10},"p":{"a":0,"k":[354.13,916.492,0],"ix":2},"a":{"a":0,"k":[1.17,76.738,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.41,0.41,0.41],"y":[1.318,1.313,1]},"o":{"x":[0.99,0.99,0.99],"y":[0.03,0.029,0]},"n":["0p41_1p318_0p99_0p03","0p41_1p313_0p99_0p029","0p41_1_0p99_0"],"t":280,"s":[0,0,100],"e":[100,100,100]},{"t":315}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[8.985,2.634],[0,0],[-21.131,0],[0,0],[0,-21.131],[21.131,0],[0,0],[6.273,4.456]],"o":[[10.38,-8.056],[0,-21.132],[0,0],[21.131,0],[0,21.132],[0,0],[-8.237,0],[0,0]],"v":[[-90.92,37.104],[-82.244,-1.316],[-43.824,-39.738],[52.499,-39.285],[90.92,-0.864],[52.499,37.557],[-43.824,37.104],[-65.986,30.021]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.263000009574,0.808000033509,0.877999997606,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[91.17,39.988],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"Pink Speech 5 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.41],"y":[0.68]},"o":{"x":[0.99],"y":[-0.03]},"n":["0p41_0p68_0p99_-0p03"],"t":315,"s":[78],"e":[0]},{"t":350}],"ix":10},"p":{"a":0,"k":[662.387,1011.422,0],"ix":2},"a":{"a":0,"k":[179.995,76.237,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.41,0.41,0.41],"y":[1.318,1.313,1]},"o":{"x":[0.99,0.99,0.99],"y":[0.03,0.029,0]},"n":["0p41_1p318_0p99_0p03","0p41_1p313_0p99_0p029","0p41_1_0p99_0"],"t":315,"s":[0,0,100],"e":[100,100,100]},{"t":350}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-8.429,2.633],[0,0],[19.823,0],[0,0],[0,-21.131],[-19.823,0],[0,0],[-5.884,4.457]],"o":[[-9.737,-8.057],[0,-21.131],[0,0],[-19.823,0],[0,21.131],[0,0],[7.727,0],[0,0]],"v":[[90.495,37.104],[82.357,-1.317],[46.315,-39.737],[-54.454,-39.51],[-90.495,-1.09],[-54.454,37.33],[46.315,37.104],[67.105,30.02]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.987999949736,0.556999954523,0.670999983245,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[90.745,39.987],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]}],"fonts":{"list":[{"fName":"SFCompactDisplay-Black","fFamily":"SF Compact Display","fStyle":"Black","ascent":70.166015625},{"fName":"SFCompactDisplay-Heavy","fFamily":"SF Compact Display","fStyle":"Heavy","ascent":70.166015625}]},"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"TRKMAT","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[495.691,377.62,0],"ix":2},"a":{"a":0,"k":[510.441,357.903,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-44.805,56.867],[-24.984,20.006],[-111.038,-26.15],[-63.399,-36.532],[-50.06,5.139],[-46.89,-23.349],[-0.606,-45.871],[38.348,-57.319],[189.499,34.413],[38.147,16.263],[54.7,59.094],[14.997,47.397]],"o":[[22.376,-28.4],[86.745,-69.462],[72.384,17.047],[43.4,25.009],[47.721,-4.899],[45.736,22.774],[0.911,68.889],[-113.496,169.648],[-40.795,-7.408],[-76.376,-32.562],[-33.2,-35.869],[-21.666,-68.48]],"v":[[-441.944,-170.037],[-368.577,-243.562],[-47.069,-331.503],[160.356,-319.876],[283.608,-191.623],[438.74,-202.079],[502.471,-61.96],[444.379,141.391],[-95.78,323.24],[-214.284,287.847],[-413.534,148.254],[-495.334,25.334]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.980000035903,0.984000052658,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[517.25,357.903],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"PHONE - LOOP","tt":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-21,"ix":10},"p":{"a":0,"k":[576,500,0],"ix":2},"a":{"a":0,"k":[502.5,500,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":1005,"h":1000,"ip":0,"op":360,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Background Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[495.691,377.62,0],"ix":2},"a":{"a":0,"k":[510.441,357.903,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-44.805,56.867],[-24.984,20.006],[-111.038,-26.15],[-63.399,-36.532],[-50.06,5.139],[-46.89,-23.349],[-0.606,-45.871],[38.348,-57.319],[189.499,34.413],[38.147,16.263],[54.7,59.094],[14.997,47.397]],"o":[[22.376,-28.4],[86.745,-69.462],[72.384,17.047],[43.4,25.009],[47.721,-4.899],[45.736,22.774],[0.911,68.889],[-113.496,169.648],[-40.795,-7.408],[-76.376,-32.562],[-33.2,-35.869],[-21.666,-68.48]],"v":[[-441.944,-170.037],[-368.577,-243.562],[-47.069,-331.503],[144.356,-223.876],[283.608,-191.623],[438.74,-202.079],[502.471,-61.96],[444.379,141.391],[-95.78,323.24],[-214.284,287.847],[-413.534,148.254],[-495.334,25.334]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.925,0.980000035903,0.984000052658,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[517.25,357.903],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":360,"st":0,"bm":0}],"markers":[],"chars":[{"ch":"H","size":48,"style":"Black","w":71.53,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[65.918,0],[65.918,-66.65],[45.41,-66.65],[45.41,-41.504],[26.123,-41.504],[26.123,-66.65],[5.615,-66.65],[5.615,0],[26.123,0],[26.123,-25.244],[45.41,-25.244],[45.41,0]],"c":true},"ix":2},"nm":"H","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"H","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"a","size":48,"style":"Black","w":56.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.27,3.271],[0,0],[0,0],[0,0],[0,0],[13.428,0],[0.195,-8.203],[0,0],[-3.174,0],[0,-2.783],[0,0],[0,0],[0,-9.814],[-10.303,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,-14.111],[-18.896,0],[0,0],[0,-2.637],[2.979,0],[0,0],[0,0],[-12.354,0],[0,10.205],[7.764,0]],"v":[[32.812,-6.152],[33.789,-6.152],[33.789,0],[52.246,0],[52.246,-34.375],[28.076,-53.369],[4.248,-34.961],[22.705,-34.961],[27.881,-39.551],[32.812,-35.156],[32.812,-31.299],[21.533,-31.299],[2.393,-15.234],[19.873,0.732]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[2.832,0],[0,2.979],[-3.564,0],[0,0],[0,0]],"o":[[-2.734,0],[0,-2.832],[0,0],[0,0],[0,2.832]],"v":[[27.1,-12.354],[21.729,-16.992],[27.734,-21.631],[32.812,-21.631],[32.812,-16.943]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"a","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"l","size":48,"style":"Black","w":30.08,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[5.127,0],[24.951,0],[24.951,-70.166],[5.127,-70.166]],"c":true},"ix":2},"nm":"l","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"l","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"å","size":48,"style":"Black","w":56.4,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.27,3.271],[0,0],[0,0],[0,0],[0,0],[13.428,0],[0.195,-8.203],[0,0],[-3.174,0],[0,-2.783],[0,0],[0,0],[0,-9.814],[-10.303,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,-14.111],[-18.896,0],[0,0],[0,-2.637],[2.979,0],[0,0],[0,0],[-12.354,0],[0,10.205],[7.764,0]],"v":[[32.812,-6.152],[33.789,-6.152],[33.789,0],[52.246,0],[52.246,-34.375],[28.076,-53.369],[4.248,-34.961],[22.705,-34.961],[27.881,-39.551],[32.812,-35.156],[32.812,-31.299],[21.533,-31.299],[2.393,-15.234],[19.873,0.732]],"c":true},"ix":2},"nm":"å","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[2.832,0],[0,2.979],[-3.564,0],[0,0],[0,0]],"o":[[-2.734,0],[0,-2.832],[0,0],[0,0],[0,2.832]],"v":[[27.1,-12.354],[21.729,-16.992],[27.734,-21.631],[32.812,-21.631],[32.812,-16.943]],"c":true},"ix":2},"nm":"å","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-7.031,0],[0,7.08],[7.08,0],[0,-7.031]],"o":[[7.031,0],[0,-7.031],[-7.08,0],[0,7.08]],"v":[[28.223,-57.764],[40.479,-69.58],[28.223,-81.25],[15.918,-69.58]],"c":true},"ix":2},"nm":"å","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,2.344],[-2.344,0],[0,-2.344],[2.344,0]],"o":[[0,-2.344],[2.344,0],[0,2.344],[-2.344,0]],"v":[[24.17,-69.482],[28.174,-73.486],[32.227,-69.482],[28.174,-65.527]],"c":true},"ix":2},"nm":"å","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"å","np":7,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"o","size":48,"style":"Black","w":57.67,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[16.602,0],[0,-15.234],[0,0],[-16.699,0],[0,16.943],[0,0]],"o":[[-16.699,0],[0,0],[0,16.846],[16.602,0],[0,0],[0,-15.234]],"v":[[28.906,-53.662],[2.49,-27.783],[2.49,-25.195],[28.906,1.025],[55.176,-25.293],[55.176,-27.93]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-5.273,0],[0,-5.273],[0,0],[5.42,0],[0,4.59],[0,0]],"o":[[5.225,0],[0,0],[0,4.688],[-5.469,0],[0,0],[0,-5.176]],"v":[[28.857,-39.404],[35.059,-28.32],[35.059,-24.365],[28.857,-13.232],[22.607,-24.365],[22.607,-28.32]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"o","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"\r","size":48,"style":"Black","w":0,"fFamily":"SF Compact Display"},{"ch":"S","size":48,"style":"Heavy","w":62.26,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-21.436,0],[0,12.988],[9.326,1.514],[0,0],[0,3.076],[-5.518,0],[-0.146,-3.174],[0,0],[18.066,0],[0,-13.672],[-10.645,-1.953],[0,0],[0,-3.662],[6.543,0],[0.146,3.467]],"o":[[0.098,10.107],[18.945,0],[0,-13.477],[0,0],[-5.518,-0.928],[0,-3.271],[6.25,0],[0,0],[-0.049,-10.693],[-16.162,0],[0,12.158],[0,0],[6.152,1.172],[0,3.174],[-6.787,0],[0,0]],"v":[[2.783,-20.166],[30.908,1.172],[59.375,-21.045],[40.723,-40.771],[31.885,-42.236],[23.096,-47.9],[31.201,-53.711],[40.527,-46.875],[58.057,-46.875],[31.201,-67.773],[3.955,-46.338],[22.559,-26.758],[31.006,-25.195],[40.479,-18.994],[31.396,-13.135],[20.947,-20.166]],"c":true},"ix":2},"nm":"S","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"S","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"a","size":48,"style":"Heavy","w":55.91,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.416,3.32],[0,0],[0,0],[0,0],[0,0],[13.184,0],[0.195,-8.301],[0,0],[-3.564,0],[0,-3.174],[0,0],[0,0],[0,-9.717],[-10.254,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,-13.77],[-18.262,0],[0,0],[0.049,-2.93],[3.369,0],[0,0],[0,0],[-12.305,0],[0,10.107],[7.764,0]],"v":[[33.154,-6.152],[34.033,-6.152],[34.033,0],[51.465,0],[51.465,-34.473],[27.832,-53.223],[4.492,-35.107],[21.875,-35.107],[27.637,-40.088],[33.154,-35.107],[33.154,-31.104],[21.631,-31.104],[2.588,-15.186],[20.02,0.732]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[3.271,0],[0,3.271],[-3.955,0],[0,0],[0,0]],"o":[[-3.027,0],[0,-3.027],[0,0],[0,0],[0,3.174]],"v":[[26.758,-11.719],[20.85,-16.797],[27.295,-21.777],[33.154,-21.777],[33.154,-16.943]],"c":true},"ix":2},"nm":"a","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"a","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"l","size":48,"style":"Heavy","w":29.44,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[5.42,0],[24.072,0],[24.072,-70.166],[5.42,-70.166]],"c":true},"ix":2},"nm":"l","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"l","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"v","size":48,"style":"Heavy","w":56.05,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[15.771,0],[37.598,0],[55.078,-52.49],[35.596,-52.49],[27.441,-16.26],[26.709,-16.26],[19.873,-52.49],[-0.195,-52.49]],"c":true},"ix":2},"nm":"v","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"v","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"e","size":48,"style":"Heavy","w":56.01,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-15.234,0],[-0.293,8.105],[0,0],[4.102,0],[0,5.322],[0,0],[0,0],[0,0],[15.039,0],[0,-17.285],[0,0]],"o":[[17.139,0],[0,0],[-0.195,3.467],[-4.102,0],[0,0],[0,0],[0,0],[0,-15.869],[-13.818,0],[0,0],[0,17.48]],"v":[[28.857,1.025],[53.027,-17.822],[36.377,-17.822],[28.76,-12.354],[20.898,-20.508],[20.898,-22.607],[53.223,-22.607],[53.223,-28.076],[28.125,-53.516],[2.783,-28.125],[2.783,-24.658]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[-4.395,0],[0,-4.785]],"o":[[0,-4.785],[4.395,0],[0,0]],"v":[[20.898,-32.52],[28.32,-40.625],[35.498,-32.52]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"e","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"G","size":48,"style":"Black","w":66.06,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[19.971,0],[0,-17.48],[0,0],[-22.461,0],[0,13.086],[0,0],[0,0],[0,0],[0,0],[0,0],[6.445,0],[0,7.471],[0,0],[-6.836,0],[-0.391,-3.906]],"o":[[0,-11.67],[-20.508,0],[0,0],[0,16.309],[21.24,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,3.857],[-8.984,0],[0,0],[0,-9.229],[5.908,0],[0,0]],"v":[[63.184,-43.652],[34.131,-67.725],[2.881,-37.256],[2.881,-29.883],[33.936,1.123],[63.184,-25.195],[63.184,-37.695],[35.693,-37.695],[35.693,-24.121],[43.994,-24.121],[43.994,-23.34],[34.521,-15.283],[23.633,-29.98],[23.633,-37.012],[33.984,-51.318],[43.408,-43.652]],"c":true},"ix":2},"nm":"G","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"G","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"u","size":48,"style":"Black","w":61.28,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[3.174,0],[0,6.885],[0,0],[0,0],[0,0],[-10.449,0],[-1.27,4.004],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,5.859],[-2.441,0],[0,0],[0,0],[0,0],[0,12.891],[9.229,0],[0,0],[0,0],[0,0],[0,0]],"v":[[56.641,-52.637],[36.865,-52.637],[36.865,-23.584],[30.42,-15.332],[24.17,-23.438],[24.17,-52.637],[4.395,-52.637],[4.395,-18.457],[21.387,0.732],[36.572,-8.838],[37.549,-8.838],[37.549,0],[56.641,0]],"c":true},"ix":2},"nm":"u","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"u","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"t","size":48,"style":"Black","w":42.58,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[-14.062,0],[-1.416,0.195],[0,0],[1.465,0],[0,3.662],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,11.377],[3.906,0],[0,0],[-0.488,0.049],[-3.857,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[10.059,-52.637],[1.465,-52.637],[1.465,-37.988],[9.473,-37.988],[9.473,-15.137],[30.566,0],[38.916,-0.488],[38.916,-14.404],[35.303,-14.307],[29.053,-19.531],[29.053,-37.988],[38.916,-37.988],[38.916,-52.637],[29.053,-52.637],[29.053,-64.307],[10.059,-64.307]],"c":true},"ix":2},"nm":"t","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"t","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"e","size":48,"style":"Black","w":56.35,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-15.43,0],[-0.098,8.057],[0,0],[3.906,0],[0,4.834],[0,0],[0,0],[0,0],[15.186,0],[0,-17.725],[0,0]],"o":[[17.822,0],[0,0],[-0.049,3.32],[-3.613,0],[0,0],[0,0],[0,0],[0,-16.064],[-13.867,0],[0,0],[0,17.773]],"v":[[29.053,1.025],[53.711,-18.262],[36.133,-18.262],[28.955,-13.037],[21.68,-20.264],[21.68,-22.51],[53.857,-22.51],[53.857,-28.027],[28.32,-53.662],[2.49,-28.027],[2.49,-24.805]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-4.004,0],[0,-4.395],[0,0]],"o":[[0,0],[0,-4.395],[4.004,0],[0,0],[0,0]],"v":[[21.68,-32.764],[21.68,-32.764],[28.516,-40.137],[35.059,-32.764],[35.059,-32.764]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"e","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"n","size":48,"style":"Black","w":61.33,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-3.174,0],[0,-6.885],[0,0],[0,0],[0,0],[10.449,0],[1.27,-4.004],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-5.859],[2.441,0],[0,0],[0,0],[0,0],[0,-12.891],[-9.229,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.639,0],[24.414,0],[24.414,-28.955],[30.859,-37.207],[37.158,-29.102],[37.158,0],[56.934,0],[56.934,-34.082],[39.893,-53.369],[24.707,-43.799],[23.73,-43.799],[23.73,-52.637],[4.639,-52.637]],"c":true},"ix":2},"nm":"n","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"n","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":" ","size":48,"style":"Black","w":19.14,"data":{},"fFamily":"SF Compact Display"},{"ch":"g","size":48,"style":"Black","w":61.38,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[5.078,0],[0.732,2.783],[0,0],[-17.773,0],[0,15.723],[0,0],[0,0],[0,0],[0,0],[7.471,0],[0,-16.748],[0,0],[-11.426,0],[-1.758,4.736],[0,0],[0,0]],"o":[[-3.418,0],[0,0],[0.049,8.789],[11.963,0],[0,0],[0,0],[0,0],[0,0],[-1.758,-5.371],[-11.426,0],[0,0],[0,16.748],[7.666,0],[0,0],[0,0],[0,5.322]],"v":[[29.59,6.006],[22.412,2.344],[3.955,2.344],[29.15,19.238],[56.738,-0.146],[56.738,-52.637],[36.963,-52.637],[36.963,-44.287],[35.986,-44.287],[21.436,-53.076],[2.881,-27.832],[2.881,-26.27],[21.436,-1.025],[35.986,-9.277],[36.963,-9.277],[36.963,-2.197]],"c":true},"ix":2},"nm":"g","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-3.955,0],[0,-7.08],[0,0],[3.955,0],[0,7.08],[0,0]],"o":[[3.955,0],[0,0],[0,7.08],[-3.955,0],[0,0],[0,-7.031]],"v":[[30.176,-38.135],[36.963,-27.734],[36.963,-24.951],[30.176,-14.502],[23.438,-24.951],[23.438,-27.734]],"c":true},"ix":2},"nm":"g","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"g","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"B","size":48,"style":"Heavy","w":63.77,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,12.256],[6.836,0.293],[0,0],[0,8.887],[12.646,0],[0,0]],"o":[[0,0],[12.451,0],[0,-10.938],[0,0],[6.299,-0.928],[0,-10.352],[0,0],[0,0]],"v":[[5.859,0],[38.379,0],[61.523,-18.994],[46.191,-34.961],[46.191,-35.84],[58.594,-50.293],[37.305,-66.65],[5.859,-66.65]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-3.906],[5.762,0],[0,0]],"o":[[0,0],[4.98,0],[0,3.662],[0,0],[0,0]],"v":[[24.951,-53.613],[32.08,-53.613],[39.893,-46.973],[31.689,-40.234],[24.951,-40.234]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,-4.541],[6.787,0],[0,0]],"o":[[0,0],[6.25,0],[0,4.443],[0,0],[0,0]],"v":[[24.951,-28.613],[32.764,-28.613],[41.992,-20.898],[32.373,-13.037],[24.951,-13.037]],"c":true},"ix":2},"nm":"B","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"B","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"o","size":48,"style":"Heavy","w":57.37,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[16.357,0],[0,-15.088],[0,0],[-16.455,0],[0,16.65],[0,0]],"o":[[-16.455,0],[0,0],[0,16.553],[16.357,0],[0,0],[0,-15.088]],"v":[[28.76,-53.516],[2.783,-27.783],[2.783,-25],[28.76,1.025],[54.59,-25.098],[54.59,-27.93]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-5.615,0],[0,-5.811],[0,0],[5.762,0],[0,5.176],[0,0]],"o":[[5.615,0],[0,0],[0,5.273],[-5.811,0],[0,0],[0,-5.713]],"v":[[28.711,-39.941],[35.645,-28.271],[35.645,-24.316],[28.711,-12.549],[21.729,-24.316],[21.729,-28.271]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"o","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"n","size":48,"style":"Heavy","w":60.79,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-3.76,0],[0,-7.08],[0,0],[0,0],[0,0],[10.449,0],[1.318,-3.906],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-5.957],[2.979,0],[0,0],[0,0],[0,0],[0,-12.842],[-9.131,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.932,0],[23.535,0],[23.535,-29.199],[30.615,-37.939],[37.549,-29.346],[37.549,0],[56.201,0],[56.201,-33.984],[39.014,-53.223],[23.828,-43.896],[22.949,-43.896],[22.949,-52.49],[4.932,-52.49]],"c":true},"ix":2},"nm":"n","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"n","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"j","size":48,"style":"Heavy","w":29.49,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-5.273],[-5.371,0],[0,5.371],[5.322,0]],"o":[[0,5.371],[5.322,0],[0,-5.273],[-5.371,0]],"v":[[5.078,-65.967],[14.795,-57.324],[24.463,-65.967],[14.795,-74.512]],"c":true},"ix":2},"nm":"j","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[3.613,0],[0.635,0.146],[0,0],[-2.002,0],[0,12.012]],"o":[[0,0],[0,0],[0,3.857],[-0.781,0],[0,0],[1.074,0.146],[12.402,0],[0,0]],"v":[[24.023,-52.49],[5.469,-52.49],[5.469,0.684],[-0.732,5.664],[-3.125,5.469],[-3.125,18.115],[2.832,18.408],[24.023,0.879]],"c":true},"ix":2},"nm":"j","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"j","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"u","size":48,"style":"Heavy","w":60.74,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[3.564,0],[0,7.178],[0,0],[0,0],[0,0],[-10.449,0],[-1.318,4.004],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,6.104],[-2.881,0],[0,0],[0,0],[0,0],[0,12.793],[9.131,0],[0,0],[0,0],[0,0],[0,0]],"v":[[55.811,-52.49],[37.158,-52.49],[37.158,-23.193],[30.127,-14.453],[23.242,-23.047],[23.242,-52.49],[4.639,-52.49],[4.639,-18.311],[21.729,0.732],[36.865,-8.643],[37.793,-8.643],[37.793,0],[55.811,0]],"c":true},"ix":2},"nm":"u","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"u","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"r","size":48,"style":"Heavy","w":42.63,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-7.617,0],[-1.221,-0.537],[0,0],[2.686,0],[0.732,-3.564],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-7.031],[2.588,0],[0,0],[-1.025,-0.391],[-6.787,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.932,0],[24.219,0],[24.219,-26.611],[34.863,-37.842],[41.26,-37.061],[41.26,-52.686],[35.938,-53.223],[24.512,-44.287],[23.584,-44.287],[23.584,-52.49],[4.932,-52.49]],"c":true},"ix":2},"nm":"r","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"r","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"G","size":48,"style":"Heavy","w":65.67,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[19.385,0],[0,-17.578],[0,0],[-21.924,0],[0,13.037],[0,0],[0,0],[0,0],[0,0],[0,0],[6.787,0],[0,8.203],[0,0],[-7.324,0],[-0.488,-4.395]],"o":[[-0.049,-11.768],[-20.117,0],[0,0],[0,16.602],[20.557,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,4.346],[-9.277,0],[0,0],[0,-9.668],[6.201,0],[0,0]],"v":[[62.5,-43.945],[33.887,-67.773],[3.125,-37.402],[3.125,-29.785],[33.74,1.172],[62.549,-24.756],[62.549,-37.402],[35.254,-37.402],[35.254,-24.463],[44.434,-24.463],[44.434,-23.096],[34.277,-14.355],[22.656,-29.883],[22.656,-37.207],[33.789,-52.246],[43.896,-43.945]],"c":true},"ix":2},"nm":"G","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"G","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"d","size":48,"style":"Heavy","w":61.33,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[7.324,0],[0,-15.967],[0,0],[-11.621,0],[-1.953,5.322],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-11.572,0],[0,0],[0,15.918],[7.324,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.904,-5.273]],"v":[[21.875,-52.979],[2.979,-28.271],[2.979,-24.316],[21.875,0.488],[36.621,-8.35],[37.5,-8.35],[37.5,0],[56.152,0],[56.152,-70.166],[37.451,-70.166],[37.451,-44.287],[36.572,-44.287]],"c":true},"ix":2},"nm":"d","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-4.346,0],[0,-7.422],[0,0],[4.443,0],[0,7.471],[0,0]],"o":[[4.395,0],[0,0],[0,7.471],[-4.346,0],[0,0],[0,-7.471]],"v":[[29.834,-38.818],[37.451,-27.734],[37.451,-24.707],[29.834,-13.623],[22.314,-24.707],[22.314,-27.734]],"c":true},"ix":2},"nm":"d","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"d","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":" ","size":48,"style":"Heavy","w":19.24,"data":{},"fFamily":"SF Compact Display"},{"ch":"g","size":48,"style":"Heavy","w":60.94,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[5.371,0],[0.732,2.93],[0,0],[-17.285,0],[0,15.479],[0,0],[0,0],[0,0],[0,0],[7.422,0],[0,-16.602],[0,0],[-11.475,0],[-1.807,4.736],[0,0],[0,0]],"o":[[-3.809,0],[0,0],[0.195,8.789],[11.963,0],[0,0],[0,0],[0,0],[0,0],[-1.807,-5.225],[-11.475,0],[0,0],[0,16.602],[7.617,0],[0,0],[0,0],[0,5.615]],"v":[[29.395,6.592],[21.68,2.49],[4.199,2.49],[28.955,19.189],[56.006,-0.244],[56.006,-52.49],[37.402,-52.49],[37.402,-44.287],[36.475,-44.287],[21.875,-52.979],[3.125,-27.881],[3.125,-26.074],[21.875,-0.977],[36.475,-9.229],[37.354,-9.229],[37.354,-2.1]],"c":true},"ix":2},"nm":"g","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-4.443,0],[0,-7.422],[0,0],[4.395,0],[0,7.471],[0,0]],"o":[[4.346,0],[0,0],[0,7.471],[-4.443,0],[0,0],[0,-7.422]],"v":[[29.932,-38.818],[37.354,-27.734],[37.354,-24.951],[29.932,-13.818],[22.461,-24.951],[22.461,-27.734]],"c":true},"ix":2},"nm":"g","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"g","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"r","size":48,"style":"Black","w":43.41,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-7.422,0],[-1.221,-0.537],[0,0],[2.881,0],[0.684,-3.662],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-7.031],[2.734,0],[0,0],[-0.977,-0.391],[-6.689,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.639,0],[25.146,0],[25.146,-26.025],[35.645,-37.109],[42.285,-36.279],[42.285,-52.783],[36.719,-53.369],[25.439,-44.189],[24.463,-44.189],[24.463,-52.637],[4.639,-52.637]],"c":true},"ix":2},"nm":"r","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"r","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"ü","size":48,"style":"Black","w":61.28,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[3.174,0],[0,6.885],[0,0],[0,0],[0,0],[-10.449,0],[-1.27,4.004],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,5.859],[-2.441,0],[0,0],[0,0],[0,0],[0,12.891],[9.229,0],[0,0],[0,0],[0,0],[0,0]],"v":[[56.641,-52.637],[36.865,-52.637],[36.865,-23.584],[30.42,-15.332],[24.17,-23.438],[24.17,-52.637],[4.395,-52.637],[4.395,-18.457],[21.387,0.732],[36.572,-8.838],[37.549,-8.838],[37.549,0],[56.641,0]],"c":true},"ix":2},"nm":"ü","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-4.053,0],[0,4.102],[4.15,0],[0,-4.102]],"o":[[4.15,0],[0,-4.102],[-4.053,0],[0,4.102]],"v":[[19.775,-57.959],[26.953,-64.844],[19.775,-71.875],[12.793,-64.844]],"c":true},"ix":2},"nm":"ü","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-4.053,0],[0,4.102],[4.15,0],[0,-4.102]],"o":[[4.15,0],[0,-4.102],[-4.053,0],[0,4.102]],"v":[[41.211,-57.959],[48.535,-64.844],[41.211,-71.875],[34.375,-64.844]],"c":true},"ix":2},"nm":"ü","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"ü","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"ß","size":48,"style":"Black","w":70.02,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-6.885,0],[0,-3.809],[4.102,0],[0,0],[0,0],[0,0],[0,-4.98],[6.396,0],[1.025,0.391],[0,0],[-4.639,0],[0,13.623],[8.105,0.244],[0,0],[0,8.301],[17.236,0],[0,-14.551],[0,0]],"o":[[0,0],[0,-4.932],[5.908,0],[0,3.76],[0,0],[0,0],[0,0],[4.883,0],[0,3.76],[-3.467,0],[0,0],[1.611,0.391],[14.062,0],[0,-11.426],[0,0],[5.469,-1.416],[0,-10.352],[-14.111,0],[0,0],[0,0]],"v":[[24.951,0],[24.951,-46.582],[33.594,-55.664],[41.797,-48.535],[35.01,-42.139],[32.666,-42.139],[32.666,-27.295],[36.67,-27.295],[46.729,-20.703],[37.744,-14.258],[31.689,-15.234],[31.689,-0.098],[42.236,0.781],[67.139,-19.189],[50.977,-36.67],[50.977,-37.646],[60.986,-52.783],[33.252,-71.094],[5.127,-51.367],[5.127,0]],"c":true},"ix":2},"nm":"ß","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"ß","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"M","size":48,"style":"Heavy","w":82.57,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[22.949,0],[22.949,-38.281],[23.828,-38.281],[36.035,-11.914],[46.436,-11.914],[58.496,-38.281],[59.375,-38.281],[59.375,0],[76.709,0],[76.709,-66.65],[56.738,-66.65],[41.65,-34.717],[41.016,-34.717],[25.977,-66.65],[5.859,-66.65],[5.859,0]],"c":true},"ix":2},"nm":"M","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"M","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"h","size":48,"style":"Heavy","w":61.04,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-3.76,0],[0,-7.08],[0,0],[0,0],[0,0],[10.352,0],[1.27,-3.857],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-5.957],[3.125,0],[0,0],[0,0],[0,0],[0,-12.842],[-8.936,0],[0,0],[0,0],[0,0],[0,0]],"v":[[5.176,0],[23.779,0],[23.779,-29.199],[31.006,-37.939],[37.988,-29.346],[37.988,0],[56.641,0],[56.641,-33.984],[39.404,-53.223],[24.707,-43.896],[23.779,-43.896],[23.779,-70.166],[5.176,-70.166]],"c":true},"ix":2},"nm":"h","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"h","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"b","size":48,"style":"Heavy","w":61.28,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-7.373,0],[0,16.211],[0,0],[11.523,0],[1.904,-5.273],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[11.572,0],[0,0],[0,-16.357],[-7.275,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[1.904,5.322]],"v":[[39.453,0.488],[58.35,-24.268],[58.35,-28.32],[39.453,-52.979],[24.756,-44.287],[23.877,-44.287],[23.877,-70.166],[5.176,-70.166],[5.176,0],[23.828,0],[23.828,-8.35],[24.756,-8.35]],"c":true},"ix":2},"nm":"b","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[4.443,0],[0,7.52],[0,0],[-4.395,0],[0,-7.422],[0,0]],"o":[[-4.395,0],[0,0],[0,-7.471],[4.443,0],[0,0],[0,7.471]],"v":[[31.494,-13.623],[23.877,-24.756],[23.877,-27.734],[31.494,-38.818],[39.014,-27.734],[39.014,-24.707]],"c":true},"ix":2},"nm":"b","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"b","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"},{"ch":"H","size":48,"style":"Heavy","w":71.04,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[65.186,0],[65.186,-66.65],[45.898,-66.65],[45.898,-41.162],[25.146,-41.162],[25.146,-66.65],[5.859,-66.65],[5.859,0],[25.146,0],[25.146,-25.781],[45.898,-25.781],[45.898,0]],"c":true},"ix":2},"nm":"H","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"H","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Compact Display"}]}
|
images/interview.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
images/recording.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"v":"5.5.2","fr":29.9700012207031,"ip":0,"op":60.0000024438501,"w":488,"h":488,"nm":"recording spectrum_MAIN","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[360.5,249,0],"ix":2},"a":{"a":0,"k":[-73,8.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":5,"s":[30,163]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":10,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":15,"s":[30,45]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":20,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":25,"s":[30,104]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":30,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":35,"s":[30,42]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":40,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":45,"s":[30,83]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":50,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":55,"s":[30,37]},{"t":60.0000024438501,"s":[30,100]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.20392156862745098,0.22745098039215686,0.25098039215686274,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.20392156862745098,0.22745098039215686,0.25098039215686274,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-73.472,8.472],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[300.5,249,0],"ix":2},"a":{"a":0,"k":[-73,8.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[30,63]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":5,"s":[30,211]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":10,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":15,"s":[30,128]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":20,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":25,"s":[30,160]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":30,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":35,"s":[30,126]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":40,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":45,"s":[30,154]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":50,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":55,"s":[30,83]},{"t":60.0000024438501,"s":[30,63]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.20392156862745098,0.22745098039215686,0.25098039215686274,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.20392156862745098,0.22745098039215686,0.25098039215686274,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-73.472,8.472],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[30,63],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Shape Layer 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[240.5,249,0],"ix":2},"a":{"a":0,"k":[-73,8.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[30,63]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":5,"s":[30,155]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":10,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":15,"s":[30,91]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":20,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":25,"s":[30,186]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":30,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":35,"s":[30,256]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":40,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":45,"s":[30,209]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":50,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":55,"s":[30,124]},{"t":60.0000024438501,"s":[30,63]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.20392156862745098,0.22745098039215686,0.25098039215686274,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.20392156862745098,0.22745098039215686,0.25098039215686274,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-73.472,8.472],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[30,63],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Shape Layer 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[180.5,249,0],"ix":2},"a":{"a":0,"k":[-73,8.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[30,63]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":5,"s":[30,83]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":10,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":15,"s":[30,154]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":20,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":25,"s":[30,126]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":30,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":35,"s":[30,160]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":40,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":45,"s":[30,128]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":50,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":55,"s":[30,211]},{"t":60.0000024438501,"s":[30,63]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.20392156862745098,0.22745098039215686,0.25098039215686274,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.20392156862745098,0.22745098039215686,0.25098039215686274,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-73.472,8.472],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[30,63],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60.0000024438501,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Shape Layer 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[120.5,249,0],"ix":2},"a":{"a":0,"k":[-73,8.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":5,"s":[30,37]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":10,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":15,"s":[30,83]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":20,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":25,"s":[30,42]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":30,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":35,"s":[30,104]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":40,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":45,"s":[30,45]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":50,"s":[30,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":55,"s":[30,163]},{"t":60.0000024438501,"s":[30,100]}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.20392156862745098,0.22745098039215686,0.25098039215686274,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.20392156862745098,0.22745098039215686,0.25098039215686274,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-73.472,8.472],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60.0000024438501,"st":0,"bm":0}],"markers":[]}
|
images/talk.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
images/welcome.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"v":"4.8.0","meta":{"g":"LottieFiles AE 3.1.1","a":"","k":"","d":"","tc":""},"fr":60,"ip":0,"op":493,"w":428,"h":123,"nm":"welcome","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"katman 2 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[210.962,63.445,0],"ix":2},"a":{"a":0,"k":[217.377,69.099,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.315,"y":1},"o":{"x":0.333,"y":0},"t":12,"s":[{"i":[[0,0],[-19.996,3.807],[0,0],[-18.895,3.082],[19.742,-1.29],[-24.256,-8.085],[-0.766,11.744],[5.66,-16.851],[-19.685,5.741],[-1.452,15.251],[7.149,-14.298],[-24.05,0],[-13.969,8.205],[0,0],[4.449,-18.338],[-20.828,10.921],[-24.102,3.075],[0.647,-8.405],[10.851,1.532],[-3.877,8.419],[-6.217,0.509],[-8.064,0.981],[0,0],[0,0],[-9.446,-0.88],[0,0],[-10.502,-2.2],[-11.05,-5.525],[-0.766,11.745],[5.66,-16.851],[-15.599,-0.035],[-2.016,1.583]],"o":[[0,0],[14.276,-2.719],[0,0],[15.078,-2.46],[-12.066,0.788],[15.247,5.083],[0.883,-13.542],[-5.204,15.495],[28.1,-8.195],[1.532,-16.085],[-6.678,13.356],[13.262,0],[9.918,-5.825],[0,0],[-2.158,8.896],[19.355,-10.149],[9.78,-1.247],[-0.893,11.617],[-9.912,-1.399],[6.099,-13.245],[15.145,-1.239],[7.884,-0.959],[0,0],[0,0],[10.729,1],[0,0],[10.164,2.129],[12.423,6.212],[0.884,-13.542],[-4.553,13.559],[9.878,0.022],[0,0]],"v":[[-188.452,-48.737],[-174.88,37.534],[-150.861,-18.684],[-139.413,37.589],[-115.605,-41.153],[-102.747,24.964],[-71.062,8.04],[-94.211,9.061],[-70.73,37.677],[-25.253,-28.982],[-42.615,-32.301],[-36.232,38.678],[-2.148,2.178],[14.548,-2.029],[-12.773,17.608],[15.027,35.678],[51.708,-0.699],[67.342,18.38],[44.619,38.295],[32.237,14.423],[51.708,-0.699],[79.124,17.623],[92.418,5.764],[86.665,37.388],[107.665,2.07],[112.358,29.353],[133.077,2.635],[138.465,37.258],[179.361,8.554],[156.212,9.575],[175.587,38.838],[194.876,31.741]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":110,"s":[{"i":[[0,0],[-19.996,3.807],[0,0],[-18.895,3.082],[19.742,-1.29],[-24.256,-8.085],[-0.766,11.744],[5.66,-16.851],[-19.685,5.741],[-1.452,15.251],[7.149,-14.298],[-24.05,0],[-13.969,8.205],[0,0],[4.449,-18.338],[-20.828,10.921],[-24.102,3.075],[0.647,-8.405],[10.851,1.532],[-3.877,8.419],[-6.217,0.509],[-8.064,0.981],[0,0],[0,0],[-9.446,-0.88],[0,0],[-10.502,-2.2],[-11.05,-5.525],[-0.766,11.745],[5.66,-16.851],[-15.599,-0.035],[-2.016,1.583]],"o":[[0,0],[14.276,-2.719],[0,0],[15.078,-2.46],[-12.066,0.788],[15.247,5.083],[0.883,-13.542],[-5.204,15.495],[28.1,-8.195],[1.532,-16.085],[-6.678,13.356],[13.262,0],[9.918,-5.825],[0,0],[-2.158,8.896],[19.355,-10.149],[9.78,-1.247],[-0.893,11.617],[-9.912,-1.399],[6.099,-13.245],[15.145,-1.239],[7.884,-0.959],[0,0],[0,0],[10.729,1],[0,0],[10.164,2.129],[12.423,6.212],[0.884,-13.542],[-4.553,13.559],[9.878,0.022],[0,0]],"v":[[-187.452,-42.737],[-174.88,37.534],[-150.861,-18.684],[-139.413,37.589],[-115.605,-41.153],[-102.747,24.964],[-71.062,8.04],[-94.211,9.061],[-70.73,37.677],[-25.253,-28.982],[-42.615,-32.301],[-36.232,38.678],[-2.148,2.178],[14.548,-2.029],[-12.773,17.608],[15.027,35.678],[51.708,-0.699],[67.342,18.38],[44.619,38.295],[32.237,14.423],[51.708,-0.699],[79.124,17.623],[92.418,5.764],[86.665,37.388],[107.665,2.07],[111.858,34.353],[133.077,2.635],[138.465,37.258],[179.361,8.554],[156.212,9.575],[175.587,38.838],[194.876,31.741]],"c":false}]},{"i":{"x":0.833,"y":1},"o":{"x":0.167,"y":0},"t":196,"s":[{"i":[[0,0],[-19.996,3.807],[0,0],[-18.895,3.082],[19.742,-1.29],[-24.256,-8.085],[-0.766,11.744],[5.66,-16.851],[-19.685,5.741],[-1.452,15.251],[7.149,-14.298],[-24.05,0],[-13.969,8.205],[0,0],[4.449,-18.338],[-20.828,10.921],[-24.102,3.075],[0.647,-8.405],[10.851,1.532],[-3.877,8.419],[-6.217,0.509],[-8.064,0.981],[0,0],[0,0],[-9.446,-0.88],[0,0],[-10.605,-1.634],[-11.05,-5.525],[-0.766,11.745],[5.66,-16.851],[-15.599,-0.035],[-2.016,1.583]],"o":[[0,0],[14.276,-2.719],[0,0],[15.078,-2.46],[-12.066,0.788],[15.247,5.083],[0.883,-13.542],[-5.204,15.495],[28.1,-8.195],[1.532,-16.085],[-6.678,13.356],[13.262,0],[9.918,-5.825],[0,0],[-2.158,8.896],[19.355,-10.149],[9.78,-1.247],[-0.893,11.617],[-9.912,-1.399],[6.099,-13.245],[15.145,-1.239],[7.884,-0.959],[0,0],[0,0],[10.729,1],[0,0],[12.461,1.921],[12.423,6.212],[0.884,-13.542],[-4.553,13.559],[9.878,0.022],[0,0]],"v":[[-187.452,-42.737],[-174.88,37.534],[-150.861,-18.684],[-139.413,37.589],[-115.605,-41.153],[-102.747,24.964],[-71.062,8.04],[-94.21,9.061],[-70.73,37.677],[-25.253,-28.982],[-42.615,-32.301],[-36.232,38.678],[-2.148,2.178],[14.547,-2.029],[-12.773,17.608],[15.027,35.678],[51.708,-0.699],[67.342,18.38],[44.619,38.295],[32.236,14.423],[51.708,-0.699],[79.124,17.623],[92.418,5.764],[86.665,37.388],[107.665,2.07],[111.858,35.853],[133.077,2.635],[138.465,37.258],[179.361,8.554],[156.212,9.575],[175.587,38.838],[197.876,29.741]],"c":false}]},{"t":292,"s":[{"i":[[0,0],[-19.996,3.807],[0,0],[-18.895,3.082],[19.742,-1.29],[-24.256,-8.085],[-0.766,11.744],[5.66,-16.851],[-19.685,5.741],[-1.452,15.251],[7.149,-14.298],[-24.05,0],[-13.969,8.205],[0,0],[4.449,-18.338],[-20.828,10.921],[-24.102,3.075],[0.647,-8.405],[10.851,1.532],[-3.877,8.419],[-6.217,0.509],[-8.064,0.981],[0,0],[0,0],[-9.446,-0.88],[0,0],[-10.705,-0.732],[-11.05,-5.525],[-0.766,11.745],[5.66,-16.851],[-15.599,-0.035],[-2.016,1.583]],"o":[[0,0],[14.276,-2.719],[0,0],[15.078,-2.46],[-12.066,0.788],[15.247,5.083],[0.883,-13.542],[-5.204,15.495],[28.1,-8.195],[1.532,-16.085],[-6.678,13.356],[13.262,0],[9.918,-5.825],[0,0],[-2.158,8.896],[19.355,-10.149],[9.78,-1.247],[-0.893,11.617],[-9.912,-1.399],[6.099,-13.245],[15.145,-1.239],[7.884,-0.959],[0,0],[0,0],[10.729,1],[0,0],[13.461,0.921],[12.423,6.212],[0.884,-13.542],[-4.553,13.559],[9.878,0.022],[0,0]],"v":[[-187.452,-42.737],[-174.88,37.534],[-150.861,-18.684],[-139.413,37.589],[-115.605,-41.153],[-102.747,24.964],[-71.062,8.04],[-94.211,9.061],[-70.73,37.677],[-25.253,-28.982],[-42.615,-32.301],[-36.232,38.678],[-2.148,2.178],[14.548,-2.029],[-12.773,17.608],[15.027,35.678],[51.708,-0.699],[67.342,18.38],[44.619,38.295],[32.237,14.423],[51.708,-0.699],[79.124,17.623],[92.418,5.764],[86.665,37.388],[107.665,2.07],[111.858,35.353],[133.077,2.635],[138.465,37.258],[179.361,8.554],[156.212,9.575],[175.587,38.838],[194.876,31.741]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.414],"y":[0]},"t":292,"s":[0]},{"t":470,"s":[100]}],"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.588],"y":[1]},"o":{"x":[0.409],"y":[0.273]},"t":12,"s":[0]},{"t":196,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"gs","o":{"a":0,"k":100,"ix":9},"w":{"a":0,"k":9,"ix":10},"g":{"p":11,"k":{"a":0,"k":[0,0.008,0.569,0.592,0.093,0.333,0.725,0.478,0.187,0.659,0.882,0.365,0.293,0.829,0.843,0.225,0.399,1,0.804,0.086,0.504,1,0.596,0.112,0.609,1,0.388,0.137,0.712,1,0.29,0.471,0.814,1,0.192,0.804,0.907,0.614,0.467,0.884,1,0.227,0.741,0.965],"ix":8}},"s":{"a":1,"k":[{"i":{"x":0.283,"y":1},"o":{"x":0.333,"y":0},"t":34,"s":[-253.742,-70.793],"to":[8.667,8.833],"ti":[-8.667,-8.833]},{"t":282,"s":[-201.742,-17.793]}],"ix":4},"e":{"a":1,"k":[{"i":{"x":0.283,"y":1},"o":{"x":0.333,"y":0},"t":34,"s":[118.488,29.074],"to":[10.667,-3.5],"ti":[-10.667,3.5]},{"t":282,"s":[182.488,8.074]}],"ix":5},"t":1,"lc":2,"lj":2,"bm":0,"nm":"Gradient Stroke 1","mn":"ADBE Vector Graphic - G-Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[217.377,69.099],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":608,"st":0,"bm":0}],"markers":[]}
|
initialization.py
ADDED
@@ -0,0 +1,96 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
from langchain.embeddings import OpenAIEmbeddings
|
3 |
+
from langchain.vectorstores import FAISS
|
4 |
+
from langchain.text_splitter import NLTKTextSplitter
|
5 |
+
from langchain.memory import ConversationBufferMemory
|
6 |
+
from langchain.chains import RetrievalQA, ConversationChain
|
7 |
+
from prompts.prompts import templates
|
8 |
+
from langchain.prompts.prompt import PromptTemplate
|
9 |
+
from langchain.chat_models import ChatOpenAI
|
10 |
+
from PyPDF2 import PdfReader
|
11 |
+
from prompts.prompt_selector import prompt_sector
|
12 |
+
def embedding(text):
|
13 |
+
"""embeddings"""
|
14 |
+
text_splitter = NLTKTextSplitter()
|
15 |
+
texts = text_splitter.split_text(text)
|
16 |
+
# Create emebeddings
|
17 |
+
embeddings = OpenAIEmbeddings()
|
18 |
+
docsearch = FAISS.from_texts(texts, embeddings)
|
19 |
+
return docsearch
|
20 |
+
|
21 |
+
def resume_reader(resume):
|
22 |
+
pdf_reader = PdfReader(resume)
|
23 |
+
text = ""
|
24 |
+
for page in pdf_reader.pages:
|
25 |
+
text += page.extract_text()
|
26 |
+
return text
|
27 |
+
|
28 |
+
def initialize_session_state(template=None, position=None):
|
29 |
+
""" initialize session states """
|
30 |
+
if 'jd' in st.session_state:
|
31 |
+
st.session_state.docsearch = embedding(st.session_state.jd)
|
32 |
+
else:
|
33 |
+
st.session_state.docsearch = embedding(resume_reader(st.session_state.resume))
|
34 |
+
|
35 |
+
#if 'retriever' not in st.session_state:
|
36 |
+
st.session_state.retriever = st.session_state.docsearch.as_retriever(search_type="similarity")
|
37 |
+
#if 'chain_type_kwargs' not in st.session_state:
|
38 |
+
if 'jd' in st.session_state:
|
39 |
+
Interview_Prompt = PromptTemplate(input_variables=["context", "question"],
|
40 |
+
template=template)
|
41 |
+
st.session_state.chain_type_kwargs = {"prompt": Interview_Prompt}
|
42 |
+
else:
|
43 |
+
st.session_state.chain_type_kwargs = prompt_sector(position, templates)
|
44 |
+
#if 'memory' not in st.session_state:
|
45 |
+
st.session_state.memory = ConversationBufferMemory()
|
46 |
+
# interview history
|
47 |
+
#if "history" not in st.session_state:
|
48 |
+
st.session_state.history = []
|
49 |
+
# token count
|
50 |
+
#if "token_count" not in st.session_state:
|
51 |
+
st.session_state.token_count = 0
|
52 |
+
#if "guideline" not in st.session_state:
|
53 |
+
llm = ChatOpenAI(
|
54 |
+
model_name="gpt-3.5-turbo",
|
55 |
+
temperature=0.6, )
|
56 |
+
st.session_state.guideline = RetrievalQA.from_chain_type(
|
57 |
+
llm=llm,
|
58 |
+
chain_type_kwargs=st.session_state.chain_type_kwargs, chain_type='stuff',
|
59 |
+
retriever=st.session_state.retriever, memory=st.session_state.memory).run(
|
60 |
+
"Create an interview guideline and prepare only one questions for each topic. Make sure the questions tests the technical knowledge")
|
61 |
+
# llm chain and memory
|
62 |
+
#if "screen" not in st.session_state:
|
63 |
+
llm = ChatOpenAI(
|
64 |
+
model_name="gpt-3.5-turbo",
|
65 |
+
temperature=0.8, )
|
66 |
+
PROMPT = PromptTemplate(
|
67 |
+
input_variables=["history", "input"],
|
68 |
+
template="""I want you to act as an interviewer strictly following the guideline in the current conversation.
|
69 |
+
|
70 |
+
Ask me questions and wait for my answers like a real person.
|
71 |
+
Do not write explanations.
|
72 |
+
Ask question like a real person, only one question at a time.
|
73 |
+
Do not ask the same question.
|
74 |
+
Do not repeat the question.
|
75 |
+
Do ask follow-up questions if necessary.
|
76 |
+
You name is GPTInterviewer.
|
77 |
+
I want you to only reply as an interviewer.
|
78 |
+
Do not write all the conversation at once.
|
79 |
+
If there is an error, point it out.
|
80 |
+
|
81 |
+
Current Conversation:
|
82 |
+
{history}
|
83 |
+
|
84 |
+
Candidate: {input}
|
85 |
+
AI: """)
|
86 |
+
st.session_state.screen = ConversationChain(prompt=PROMPT, llm=llm,
|
87 |
+
memory=st.session_state.memory)
|
88 |
+
#if "feedback" not in st.session_state:
|
89 |
+
llm = ChatOpenAI(
|
90 |
+
model_name = "gpt-3.5-turbo",
|
91 |
+
temperature = 0.5,)
|
92 |
+
st.session_state.feedback = ConversationChain(
|
93 |
+
prompt=PromptTemplate(input_variables = ["history", "input"], template = templates.feedback_template),
|
94 |
+
llm=llm,
|
95 |
+
memory = st.session_state.memory,
|
96 |
+
)
|
interview.py
ADDED
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
from streamlit_option_menu import option_menu
|
3 |
+
from app_utils import switch_page
|
4 |
+
from PIL import Image
|
5 |
+
from streamlit_lottie import st_lottie
|
6 |
+
from typing import Literal
|
7 |
+
from dataclasses import dataclass
|
8 |
+
import json
|
9 |
+
import base64
|
10 |
+
from langchain.memory import ConversationBufferMemory
|
11 |
+
from langchain.chains import ConversationChain, RetrievalQA
|
12 |
+
from langchain.prompts.prompt import PromptTemplate
|
13 |
+
from langchain.text_splitter import NLTKTextSplitter
|
14 |
+
from langchain.vectorstores import FAISS
|
15 |
+
import nltk
|
16 |
+
from prompts.prompts import templates
|
17 |
+
from langchain_google_genai import ChatGoogleGenerativeAI
|
18 |
+
import getpass
|
19 |
+
import os
|
20 |
+
from langchain_google_genai import GoogleGenerativeAIEmbeddings
|
21 |
+
|
22 |
+
|
23 |
+
if "GOOGLE_API_KEY" not in os.environ:
|
24 |
+
os.environ["GOOGLE_API_KEY"] = "AIzaSyCA4__JMC_ZIQ9xQegIj5LOMLhSSrn3pMw"
|
25 |
+
|
26 |
+
im = Image.open("icon.png")
|
27 |
+
|
28 |
+
def app():
|
29 |
+
lan = st.selectbox("#### Language", ["English", "中文"])
|
30 |
+
|
31 |
+
if lan == "English":
|
32 |
+
home_title = "AI Interviewer"
|
33 |
+
home_introduction = "Welcome to AI Interviewer, empowering your interview preparation with generative AI."
|
34 |
+
|
35 |
+
st.markdown(
|
36 |
+
"<style>#MainMenu{visibility:hidden;}</style>",
|
37 |
+
unsafe_allow_html=True
|
38 |
+
)
|
39 |
+
st.image(im, width=100)
|
40 |
+
st.markdown(f"""# {home_title}""", unsafe_allow_html=True)
|
41 |
+
st.markdown("""\n""")
|
42 |
+
# st.markdown("#### Greetings")
|
43 |
+
st.markdown("Welcome to AI Interviewer! 👏 AI Interviewer is your personal interviewer powered by generative AI that conducts mock interviews."
|
44 |
+
"You can upload your resume and enter job descriptions, and AI Interviewer will ask you customized questions. Additionally, you can configure your own Interviewer!")
|
45 |
+
st.markdown("""\n""")
|
46 |
+
role = st.text_input("Enter your role")
|
47 |
+
if role:
|
48 |
+
st.markdown(f"Your role is {role}")
|
49 |
+
|
50 |
+
llm = ChatGoogleGenerativeAI(
|
51 |
+
model="gemini-pro")
|
52 |
+
prompt = f"Provide the tech stack and responsibilities for the top 3 job recommendations based on the role: {role}. " + """
|
53 |
+
For each job recommendation, list the required tech stack and associated responsibilities without giving any title or role name.
|
54 |
+
Ensure the information is detailed and precise.
|
55 |
+
follwoing is for example purpose, have our response in this format:
|
56 |
+
|
57 |
+
]
|
58 |
+
|
59 |
+
"""
|
60 |
+
|
61 |
+
analysis = llm.invoke(prompt)
|
62 |
+
st.write(analysis.content)
|
63 |
+
|
64 |
+
if 'tech_stack' not in st.session_state:
|
65 |
+
st.session_state.tech_stack = ""
|
66 |
+
if 'responsibilities' not in st.session_state:
|
67 |
+
st.session_state.responsibilities = ""
|
68 |
+
|
69 |
+
with st.form(key='input_form'):
|
70 |
+
tech_stack = st.text_input("Enter preferred tech stack", key='tech_stack')
|
71 |
+
responsibilities = st.text_input("Enter responsibilities", key='responsibilities')
|
72 |
+
difficulty_level = st.selectbox("Select difficulty level", ["Easy", "Medium", "Hard"], key='difficulty_level')
|
73 |
+
certification_link = " "
|
74 |
+
certification_link = st.text_input("Enter certification link (optional)", key='certification_link')
|
75 |
+
|
76 |
+
submit_button = st.form_submit_button(label='Submit')
|
77 |
+
|
78 |
+
|
79 |
+
if submit_button:
|
80 |
+
if tech_stack and responsibilities:
|
81 |
+
llm2 = ChatGoogleGenerativeAI(model="gemini-pro")
|
82 |
+
prompt = f"""Tech stack: {tech_stack}\nResponsibilities: {responsibilities}
|
83 |
+
create a job description based on tech stack, responsibilities and give tech stack, responsibilities and qualifications for job description
|
84 |
+
example -
|
85 |
+
Tech stack: all technical stack here
|
86 |
+
Qualifications: all qualifications here
|
87 |
+
Responsibilities: all responsibilities here
|
88 |
+
"""
|
89 |
+
response = llm2.invoke(prompt)
|
90 |
+
|
91 |
+
|
92 |
+
|
93 |
+
if certification_link:
|
94 |
+
jd = response.content + f"Difficulty Level of interview is: {difficulty_level}" + f"Person has done certifications, here is certification link: {certification_link}"
|
95 |
+
else:
|
96 |
+
jd = response.content + f"Difficulty Level of interview is: {difficulty_level}"
|
97 |
+
|
98 |
+
if jd:
|
99 |
+
# Save the jd into a json file
|
100 |
+
with open("job_description.json", "w") as f:
|
101 |
+
json.dump(jd, f)
|
102 |
+
st.success("Job description saved successfully!")
|
103 |
+
|
104 |
+
llm3 = ChatGoogleGenerativeAI(model="gemini-pro")
|
105 |
+
prompt = f"The candidate is applying for {role} and selected this Tech stack: {tech_stack} " + """
|
106 |
+
Create set of DSA questions based on tech stack
|
107 |
+
give the response in the following format:
|
108 |
+
[
|
109 |
+
{"title": "Reverse String", "description": "Write a function that reverses a string."},
|
110 |
+
{"title": "Find Max", "description": "Write a function that finds the maximum value in a list."},
|
111 |
+
...
|
112 |
+
]
|
113 |
+
"""
|
114 |
+
response2 = llm3.invoke(prompt)
|
115 |
+
try:
|
116 |
+
codes = json.loads(response2.content)
|
117 |
+
with open("dsa_questions.json", "w") as f:
|
118 |
+
json.dump(codes, f)
|
119 |
+
st.success("DSA questions saved successfully!")
|
120 |
+
except json.JSONDecodeError as e:
|
121 |
+
st.error(f"Error decoding JSON: {e}")
|
interview_classic.py
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
from streamlit_option_menu import option_menu
|
3 |
+
from app_utils import switch_page
|
4 |
+
from PIL import Image
|
5 |
+
from streamlit_lottie import st_lottie
|
6 |
+
from typing import Literal
|
7 |
+
from dataclasses import dataclass
|
8 |
+
import json
|
9 |
+
import base64
|
10 |
+
from langchain.memory import ConversationBufferMemory
|
11 |
+
from langchain.chains import ConversationChain, RetrievalQA
|
12 |
+
from langchain.prompts.prompt import PromptTemplate
|
13 |
+
from langchain.text_splitter import NLTKTextSplitter
|
14 |
+
from langchain.vectorstores import FAISS
|
15 |
+
import nltk
|
16 |
+
from prompts.prompts import templates
|
17 |
+
from langchain_google_genai import ChatGoogleGenerativeAI
|
18 |
+
import getpass
|
19 |
+
import os
|
20 |
+
from langchain_google_genai import GoogleGenerativeAIEmbeddings
|
21 |
+
|
22 |
+
|
23 |
+
if "GOOGLE_API_KEY" not in os.environ:
|
24 |
+
os.environ["GOOGLE_API_KEY"] = "AIzaSyCA4__JMC_ZIQ9xQegIj5LOMLhSSrn3pMw"
|
25 |
+
|
26 |
+
im = Image.open("icon.png")
|
27 |
+
|
28 |
+
def app():
|
29 |
+
lan = st.selectbox("#### Language", ["English", "中文"])
|
30 |
+
|
31 |
+
if lan == "English":
|
32 |
+
home_title = "AI Interviewer"
|
33 |
+
home_introduction = "Welcome to AI Interviewer, empowering your interview preparation with generative AI."
|
34 |
+
|
35 |
+
st.markdown(
|
36 |
+
"<style>#MainMenu{visibility:hidden;}</style>",
|
37 |
+
unsafe_allow_html=True
|
38 |
+
)
|
39 |
+
st.image(im, width=100)
|
40 |
+
st.markdown(f"""# {home_title}""", unsafe_allow_html=True)
|
41 |
+
st.markdown("""\n""")
|
42 |
+
# st.markdown("#### Greetings")
|
43 |
+
st.markdown("Welcome to AI Interviewer! 👏 AI Interviewer is your personal interviewer powered by generative AI that conducts mock interviews."
|
44 |
+
"You can upload your resume and enter job descriptions, and AI Interviewer will ask you customized questions. Additionally, you can configure your own Interviewer!")
|
45 |
+
st.markdown("""\n""")
|
46 |
+
role = st.text_input("Enter your role")
|
47 |
+
if role:
|
48 |
+
st.markdown(f"Your role is {role}")
|
49 |
+
|
50 |
+
llm = ChatGoogleGenerativeAI(
|
51 |
+
model="gemini-pro")
|
52 |
+
prompt = f"Provide the tech stack and responsibilities for the top 3 job recommendations based on the role: {role}. " + """
|
53 |
+
For each job recommendation, list the required tech stack and associated responsibilities without giving any title or role name.
|
54 |
+
Ensure the information is detailed and precise.
|
55 |
+
follwoing is for example purpose, have our response in this format:
|
56 |
+
|
57 |
+
]
|
58 |
+
|
59 |
+
"""
|
60 |
+
|
61 |
+
analysis = llm.invoke(prompt)
|
62 |
+
st.write(analysis.content)
|
63 |
+
|
64 |
+
if 'tech_stack' not in st.session_state:
|
65 |
+
st.session_state.tech_stack = ""
|
66 |
+
if 'responsibilities' not in st.session_state:
|
67 |
+
st.session_state.responsibilities = ""
|
68 |
+
|
69 |
+
with st.form(key='input_form'):
|
70 |
+
tech_stack = st.text_input("Enter preferred tech stack", key='tech_stack')
|
71 |
+
responsibilities = st.text_input("Enter responsibilities", key='responsibilities')
|
72 |
+
difficulty_level = st.selectbox("Select difficulty level", ["Easy", "Medium", "Hard"], key='difficulty_level')
|
73 |
+
certification_link = " "
|
74 |
+
certification_link = st.text_input("Enter certification link (optional)", key='certification_link')
|
75 |
+
|
76 |
+
submit_button = st.form_submit_button(label='Submit')
|
77 |
+
|
78 |
+
|
79 |
+
if submit_button:
|
80 |
+
if tech_stack and responsibilities:
|
81 |
+
llm2 = ChatGoogleGenerativeAI(model="gemini-pro")
|
82 |
+
prompt = f"""Tech stack: {tech_stack}\nResponsibilities: {responsibilities}
|
83 |
+
create a job description based on tech stack, responsibilities and give tech stack, responsibilities and qualifications for job description
|
84 |
+
example -
|
85 |
+
Tech stack: all technical stack here
|
86 |
+
Qualifications: all qualifications here
|
87 |
+
Responsibilities: all responsibilities here
|
88 |
+
"""
|
89 |
+
response = llm2.invoke(prompt)
|
90 |
+
|
91 |
+
if certification_link:
|
92 |
+
jd = response.content + f"Difficulty Level of interview is: {difficulty_level}" + f"Person has done certifications, here is certification link: {certification_link}"
|
93 |
+
else:
|
94 |
+
jd = response.content + f"Difficulty Level of interview is: {difficulty_level}"
|
95 |
+
|
96 |
+
if jd:
|
97 |
+
# Save the jd into a json file
|
98 |
+
with open("job_description.json", "w") as f:
|
99 |
+
json.dump(jd, f)
|
100 |
+
st.success("Job description saved successfully!")
|
interview_double.py
ADDED
@@ -0,0 +1,119 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
from streamlit_option_menu import option_menu
|
3 |
+
from app_utils import switch_page
|
4 |
+
from PIL import Image
|
5 |
+
from streamlit_lottie import st_lottie
|
6 |
+
from typing import Literal
|
7 |
+
from dataclasses import dataclass
|
8 |
+
import json
|
9 |
+
import base64
|
10 |
+
from langchain.memory import ConversationBufferMemory
|
11 |
+
from langchain.chains import ConversationChain, RetrievalQA
|
12 |
+
from langchain.prompts.prompt import PromptTemplate
|
13 |
+
from langchain.text_splitter import NLTKTextSplitter
|
14 |
+
from langchain.vectorstores import FAISS
|
15 |
+
import nltk
|
16 |
+
from prompts.prompts import templates
|
17 |
+
from langchain_google_genai import ChatGoogleGenerativeAI
|
18 |
+
import getpass
|
19 |
+
import os
|
20 |
+
from langchain_google_genai import GoogleGenerativeAIEmbeddings
|
21 |
+
|
22 |
+
|
23 |
+
|
24 |
+
if "GOOGLE_API_KEY" not in os.environ:
|
25 |
+
os.environ["GOOGLE_API_KEY"] = "AIzaSyCA4__JMC_ZIQ9xQegIj5LOMLhSSrn3pMw"
|
26 |
+
|
27 |
+
im = Image.open("icon.png")
|
28 |
+
|
29 |
+
def app():
|
30 |
+
lan = st.selectbox("#### Language", ["English", "中文"])
|
31 |
+
|
32 |
+
if lan == "English":
|
33 |
+
home_title = "AI Interviewer"
|
34 |
+
home_introduction = "Welcome to AI Interviewer, empowering your interview preparation with generative AI."
|
35 |
+
|
36 |
+
st.markdown(
|
37 |
+
"<style>#MainMenu{visibility:hidden;}</style>",
|
38 |
+
unsafe_allow_html=True
|
39 |
+
)
|
40 |
+
st.image(im, width=100)
|
41 |
+
st.markdown(f"""# {home_title}""", unsafe_allow_html=True)
|
42 |
+
st.markdown("""\n""")
|
43 |
+
# st.markdown("#### Greetings")
|
44 |
+
st.markdown("Welcome to AI Interviewer! 👏 AI Interviewer is your personal interviewer powered by generative AI that conducts mock interviews."
|
45 |
+
"You can upload your resume and enter job descriptions, and AI Interviewer will ask you customized questions. Additionally, you can configure your own Interviewer!")
|
46 |
+
st.markdown("""\n""")
|
47 |
+
role = st.text_input("Enter your role")
|
48 |
+
if role:
|
49 |
+
st.markdown(f"Your role is {role}")
|
50 |
+
|
51 |
+
llm = ChatGoogleGenerativeAI(
|
52 |
+
model="gemini-pro")
|
53 |
+
llm = ChatGoogleGenerativeAI(model="gemini-pro")
|
54 |
+
prompt = f"Provide the tech stack and responsibilities for the top 3 job recommendations based on the role: {role}. " + """
|
55 |
+
For each job recommendation, list the required tech stack and associated responsibilities without giving any title or role name.
|
56 |
+
Ensure the information is detailed and precise.
|
57 |
+
|
58 |
+
For above each job recommendation, list the required tech stack and associated responsibilities in the following format too:
|
59 |
+
|
60 |
+
[
|
61 |
+
{
|
62 |
+
"tech_stack": ["tech1", "tech2", ...],
|
63 |
+
"responsibilities": ["resp1", "resp2", ...]
|
64 |
+
},
|
65 |
+
{
|
66 |
+
"tech_stack": ["tech1", "tech2", ...],
|
67 |
+
"responsibilities": ["resp1", "resp2", ...]
|
68 |
+
},
|
69 |
+
...
|
70 |
+
]
|
71 |
+
"""
|
72 |
+
try:
|
73 |
+
analysis = llm.invoke(prompt)
|
74 |
+
st.write(analysis.content)
|
75 |
+
job_recommendations = json.loads(analysis.content)
|
76 |
+
except json.JSONDecodeError:
|
77 |
+
st.error("Failed to parse the LLM response. Please ensure the LLM is returning a structured JSON-like response.")
|
78 |
+
return
|
79 |
+
except Exception as e:
|
80 |
+
st.error(f"An error occurred: {e}")
|
81 |
+
return
|
82 |
+
|
83 |
+
if job_recommendations:
|
84 |
+
# Display Selector Boxes
|
85 |
+
options = [f"Tech Stack: {rec['tech_stack']}, Responsibilities: {rec['responsibilities']}" for rec in job_recommendations]
|
86 |
+
selected_option = st.selectbox("Select your preferred tech stack and responsibilities", options)
|
87 |
+
|
88 |
+
# Form Submission
|
89 |
+
submit_button = st.button(label='Submit')
|
90 |
+
|
91 |
+
if submit_button:
|
92 |
+
selected_index = options.index(selected_option)
|
93 |
+
selected_rec = job_recommendations[selected_index]
|
94 |
+
tech_stack = ", ".join(selected_rec['tech_stack'])
|
95 |
+
responsibilities = ", ".join(selected_rec['responsibilities'])
|
96 |
+
llm2 = ChatGoogleGenerativeAI(model="gemini-pro")
|
97 |
+
prompt = f"""Tech stack: {tech_stack}\nResponsibilities: {responsibilities}
|
98 |
+
create a job description based on tech stack, responsibilities and give tech stack, responsibilities and qualifications for job description
|
99 |
+
example -
|
100 |
+
Tech stack: all technical stack here
|
101 |
+
Qualifications: all qualifications here
|
102 |
+
Responsibilities: all responsibilities here
|
103 |
+
"""
|
104 |
+
try:
|
105 |
+
response = llm2.invoke(prompt)
|
106 |
+
st.write(response.content)
|
107 |
+
jd = response.content
|
108 |
+
except Exception as e:
|
109 |
+
st.error(f"An error occurred: {e}")
|
110 |
+
return
|
111 |
+
|
112 |
+
if jd:
|
113 |
+
# Save the jd into a json file
|
114 |
+
with open("job_description.json", "w") as f:
|
115 |
+
json.dump(jd, f)
|
116 |
+
st.success("Job description saved successfully!")
|
117 |
+
|
118 |
+
if __name__ == "__main__":
|
119 |
+
app()
|
interview_selects.py
ADDED
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
from streamlit_option_menu import option_menu
|
3 |
+
from app_utils import switch_page
|
4 |
+
from PIL import Image
|
5 |
+
from streamlit_lottie import st_lottie
|
6 |
+
from typing import Literal
|
7 |
+
from dataclasses import dataclass
|
8 |
+
import json
|
9 |
+
import base64
|
10 |
+
from langchain.memory import ConversationBufferMemory
|
11 |
+
from langchain.chains import ConversationChain, RetrievalQA
|
12 |
+
from langchain.prompts.prompt import PromptTemplate
|
13 |
+
from langchain.text_splitter import NLTKTextSplitter
|
14 |
+
from langchain.vectorstores import FAISS
|
15 |
+
import nltk
|
16 |
+
from prompts.prompts import templates
|
17 |
+
from langchain_google_genai import ChatGoogleGenerativeAI
|
18 |
+
import getpass
|
19 |
+
import os
|
20 |
+
from langchain_google_genai import GoogleGenerativeAIEmbeddings
|
21 |
+
|
22 |
+
|
23 |
+
|
24 |
+
if "GOOGLE_API_KEY" not in os.environ:
|
25 |
+
os.environ["GOOGLE_API_KEY"] = "AIzaSyCA4__JMC_ZIQ9xQegIj5LOMLhSSrn3pMw"
|
26 |
+
|
27 |
+
im = Image.open("icon.png")
|
28 |
+
|
29 |
+
def app():
|
30 |
+
home_title = "AI Interviewer"
|
31 |
+
home_introduction = "Welcome to AI Interviewer, empowering your interview preparation with generative AI."
|
32 |
+
|
33 |
+
st.markdown(
|
34 |
+
"<style>#MainMenu{visibility:hidden;}</style>",
|
35 |
+
unsafe_allow_html=True
|
36 |
+
)
|
37 |
+
st.image(im, width=100)
|
38 |
+
st.markdown(f"""# {home_title}""", unsafe_allow_html=True)
|
39 |
+
st.markdown("""\n""")
|
40 |
+
# st.markdown("#### Greetings")
|
41 |
+
st.markdown("Welcome to AI Interviewer! 👏 AI Interviewer is your personal interviewer powered by generative AI that conducts mock interviews."
|
42 |
+
"You can upload your resume and enter job descriptions, and AI Interviewer will ask you customized questions. Additionally, you can configure your own Interviewer!")
|
43 |
+
st.markdown("""\n""")
|
44 |
+
role = st.text_input("Enter your role")
|
45 |
+
if role:
|
46 |
+
st.markdown(f"Your role is {role}")
|
47 |
+
|
48 |
+
llm = ChatGoogleGenerativeAI(
|
49 |
+
model="gemini-pro")
|
50 |
+
llm = ChatGoogleGenerativeAI(model="gemini-pro")
|
51 |
+
prompt = f"Provide the tech stack and responsibilities for the top 3 job recommendations based on the role: {role}. " + """
|
52 |
+
For each job recommendation, list the required tech stack and associated responsibilities without giving any title or role name.
|
53 |
+
Ensure the information is detailed and precise.
|
54 |
+
|
55 |
+
Give above tech stack and responsibilities in the following format :
|
56 |
+
|
57 |
+
[
|
58 |
+
{
|
59 |
+
"tech_stack": ["tech1", "tech2", ...],
|
60 |
+
"responsibilities": ["resp1", "resp2", ...]
|
61 |
+
},
|
62 |
+
{
|
63 |
+
"tech_stack": ["tech1", "tech2", ...],
|
64 |
+
"responsibilities": ["resp1", "resp2", ...]
|
65 |
+
},
|
66 |
+
...
|
67 |
+
]
|
68 |
+
|
69 |
+
|
70 |
+
|
71 |
+
|
72 |
+
"""
|
73 |
+
try:
|
74 |
+
analysis = llm.invoke(prompt)
|
75 |
+
st.write(analysis.content)
|
76 |
+
job_recommendations = json.loads(analysis.content)
|
77 |
+
except json.JSONDecodeError:
|
78 |
+
st.error("Failed to parse the LLM response. Please ensure the LLM is returning a structured JSON-like response.")
|
79 |
+
return
|
80 |
+
except Exception as e:
|
81 |
+
st.error(f"An error occurred: {e}")
|
82 |
+
return
|
83 |
+
|
84 |
+
if job_recommendations:
|
85 |
+
# Display Selector Boxes
|
86 |
+
options = [f"Tech Stack: {rec['tech_stack']}, Responsibilities: {rec['responsibilities']}" for rec in job_recommendations]
|
87 |
+
selected_option = st.selectbox("Select your preferred tech stack and responsibilities", options)
|
88 |
+
|
89 |
+
# Form Submission
|
90 |
+
submit_button = st.button(label='Submit')
|
91 |
+
|
92 |
+
if submit_button:
|
93 |
+
selected_index = options.index(selected_option)
|
94 |
+
selected_rec = job_recommendations[selected_index]
|
95 |
+
tech_stack = ", ".join(selected_rec['tech_stack'])
|
96 |
+
responsibilities = ", ".join(selected_rec['responsibilities'])
|
97 |
+
|
98 |
+
jd = {
|
99 |
+
"tech_stack": tech_stack,
|
100 |
+
"responsibilities": responsibilities
|
101 |
+
}
|
102 |
+
|
103 |
+
|
104 |
+
if jd:
|
105 |
+
# Save the jd into a json file
|
106 |
+
with open("job_description.json", "w") as f:
|
107 |
+
json.dump(jd, f)
|
108 |
+
st.success("Job description saved successfully!")
|
109 |
+
|
110 |
+
if __name__ == "__main__":
|
111 |
+
app()
|
job_description.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
"**Tech Stack:**\n\n* C++\n* CUDA\n* OpenCL\n* Deep learning frameworks (Caffe, Theano)\n* High-performance computing (HPC) tools\n\n**Qualifications:**\n\n* Master's or PhD degree in Computer Science, Electrical Engineering, or a related field\n* Strong programming skills in C++ and experience with CUDA and OpenCL\n* Expertise in deep learning algorithms and model optimization\n* Experience in parallelizing and distributing machine learning computations on GPUs\n* Familiarity with HPC tools and techniques\n* Excellent communication and teamwork skills\n\n**Responsibilities:**\n\n* Develop and optimize deep learning algorithms for complex tasks (e.g., image recognition, natural language processing)\n* Parallelize and distribute machine learning computations on GPUs and other accelerators\n* Tune and calibrate deep learning models for maximum performance\n* Collaborate with hardware engineers to design and implement specialized AI hardware\n* Conduct research and explore cutting-edge advancements in deep learningDifficulty Level of interview is: Easy"
|
linkedIn.py
ADDED
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import os
|
3 |
+
import json
|
4 |
+
|
5 |
+
import google.generativeai as genai
|
6 |
+
|
7 |
+
API_KEY = "AIzaSyCA4__JMC_ZIQ9xQegIj5LOMLhSSrn3pMw"
|
8 |
+
|
9 |
+
def configure_genai_api():
|
10 |
+
|
11 |
+
genai.configure(api_key=API_KEY)
|
12 |
+
generation_config = {
|
13 |
+
"temperature": 0.9,
|
14 |
+
"top_p": 1,
|
15 |
+
"top_k": 40,
|
16 |
+
"max_output_tokens": 2048,
|
17 |
+
}
|
18 |
+
safety_settings = [
|
19 |
+
{"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
20 |
+
{"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
21 |
+
{"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
22 |
+
{"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
23 |
+
]
|
24 |
+
return genai.GenerativeModel(model_name="gemini-1.0-pro",
|
25 |
+
generation_config=generation_config,
|
26 |
+
safety_settings=safety_settings)
|
27 |
+
|
28 |
+
def load_user_data():
|
29 |
+
try:
|
30 |
+
with open('gemini_responses.json', 'r') as file:
|
31 |
+
return json.load(file)
|
32 |
+
except FileNotFoundError:
|
33 |
+
st.error("User data file not found. Please ensure 'gemini_responses.json' exists.")
|
34 |
+
return {}
|
35 |
+
|
36 |
+
def load_data():
|
37 |
+
try:
|
38 |
+
with open('data.json', 'r') as file:
|
39 |
+
return json.load(file)
|
40 |
+
except FileNotFoundError:
|
41 |
+
st.error("Data file not found. Please ensure 'data.json' exists.")
|
42 |
+
return {}
|
43 |
+
|
44 |
+
def combine_responses(user_data, data, *args):
|
45 |
+
combined_responses = []
|
46 |
+
for key, value in user_data.items():
|
47 |
+
combined_responses.append(f"{key}: {value}")
|
48 |
+
combined_responses.append(f"Name: {data['name']}")
|
49 |
+
combined_responses.append(f"Email: {data['email']}")
|
50 |
+
for response_set in args:
|
51 |
+
if isinstance(response_set, dict):
|
52 |
+
combined_responses.extend(response_set.values())
|
53 |
+
elif isinstance(response_set, list):
|
54 |
+
combined_responses.extend(response_set)
|
55 |
+
combined_responses.extend(data.values()) # Add data.json values
|
56 |
+
return " ".join(combined_responses)
|
57 |
+
|
58 |
+
|
59 |
+
def app():
|
60 |
+
st.header("LinkedIn Profile Creator")
|
61 |
+
model = configure_genai_api()
|
62 |
+
if not model:
|
63 |
+
return
|
64 |
+
|
65 |
+
# Load user data
|
66 |
+
user_data = load_user_data()
|
67 |
+
data = load_data() # Add this line to load the missing 'data' argument
|
68 |
+
|
69 |
+
combined_responses_text = combine_responses(user_data, data) # Pass the 'data' argument
|
70 |
+
|
71 |
+
prompt_template = f"""
|
72 |
+
Based on the following inputs, generate a professional bio and a short header bio that could be used on LinkedIn.
|
73 |
+
{combined_responses_text}
|
74 |
+
Provide optimized content for a LinkedIn Bio, Header Bio, Experience, Skills, Certifications. (dont give education section)
|
75 |
+
"""
|
76 |
+
|
77 |
+
try:
|
78 |
+
response = model.generate_content([prompt_template])
|
79 |
+
st.subheader("Optimized LinkedIn Content")
|
80 |
+
st.write("Based on your input, here's optimized content for your LinkedIn profile:")
|
81 |
+
st.write(response.text)
|
82 |
+
except Exception as e:
|
83 |
+
st.error("An error occurred while generating your LinkedIn content. Please try again later.")
|
84 |
+
st.error(f"Error: {e}")
|
85 |
+
|
86 |
+
if __name__ == "__main__":
|
87 |
+
app()
|
linkedInv2.py
ADDED
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import google.generativeai as genai
|
3 |
+
import os
|
4 |
+
|
5 |
+
def configure_genai_api():
|
6 |
+
api_key = os.getenv("GENAI_API_KEY")
|
7 |
+
if api_key is None:
|
8 |
+
st.error("API key not found. Please set the GENAI_API_KEY environment variable.")
|
9 |
+
return None
|
10 |
+
else:
|
11 |
+
genai.configure(api_key=api_key)
|
12 |
+
generation_config = {
|
13 |
+
"temperature": 0.9,
|
14 |
+
"top_p": 1,
|
15 |
+
"top_k": 40,
|
16 |
+
"max_output_tokens": 2048,
|
17 |
+
}
|
18 |
+
safety_settings = [
|
19 |
+
{"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
20 |
+
{"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
21 |
+
{"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
22 |
+
{"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
23 |
+
]
|
24 |
+
return genai.GenerativeModel(model_name="gemini-1.0-pro",
|
25 |
+
generation_config=generation_config,
|
26 |
+
safety_settings=safety_settings)
|
27 |
+
|
28 |
+
def app():
|
29 |
+
st.header("LinkedIn Profile Creator")
|
30 |
+
model = configure_genai_api()
|
31 |
+
if not model:
|
32 |
+
return
|
33 |
+
|
34 |
+
# User input sections for experience
|
35 |
+
experiences = []
|
36 |
+
with st.form("experience_form"):
|
37 |
+
num_experiences = st.number_input("How many experiences do you want to add?", min_value=1, value=1, step=1)
|
38 |
+
for i in range(int(num_experiences)):
|
39 |
+
exp = {
|
40 |
+
"Title": st.text_input(f"Title {i+1}", placeholder="Ex: Retail Sales Manager"),
|
41 |
+
"Employment Type": st.selectbox(f"Employment Type {i+1}", ["Please select", "Full-time", "Part-time", "Self-employed", "Freelance", "Contract", "Internship"], index=0),
|
42 |
+
"Company Name": st.text_input(f"Company Name {i+1}", placeholder="Ex: Microsoft"),
|
43 |
+
"Location": st.text_input(f"Location {i+1}", placeholder="Ex: London, United Kingdom"),
|
44 |
+
"Location Type": st.selectbox(f"Location Type {i+1}", ["Please select", "On-site", "Remote", "Hybrid"], index=0),
|
45 |
+
"Is Current": st.checkbox(f"I am currently working in this role {i+1}"),
|
46 |
+
"Start Date": st.date_input(f"Start Date {i+1}"),
|
47 |
+
"End Date": st.date_input(f"End Date {i+1}") if not st.checkbox(f"End current position as of now {i+1}", value=True) else "Present",
|
48 |
+
"Industry": st.text_input(f"Industry {i+1}", placeholder="Ex: Software Development"),
|
49 |
+
"Description": st.text_area(f"Description {i+1}", placeholder="Describe your role, responsibilities, achievements...", max_chars=2000),
|
50 |
+
"Skills": st.text_input(f"Skills {i+1}", placeholder="Add skills separated by commas"),
|
51 |
+
}
|
52 |
+
experiences.append(exp)
|
53 |
+
submitted = st.form_submit_button("Submit")
|
54 |
+
|
55 |
+
if submitted and experiences:
|
56 |
+
# Generate the prompt for each experience and combine them
|
57 |
+
experience_prompts = []
|
58 |
+
for exp in experiences:
|
59 |
+
experience_prompt = f"""
|
60 |
+
Title: {exp['Title']}
|
61 |
+
Employment Type: {exp['Employment Type']}
|
62 |
+
Company Name: {exp['Company Name']}
|
63 |
+
Location: {exp['Location']}
|
64 |
+
Location Type: {exp['Location Type']}
|
65 |
+
Start Date: {exp['Start Date']}
|
66 |
+
End Date: {exp['End Date']}
|
67 |
+
Industry: {exp['Industry']}
|
68 |
+
Description: {exp['Description']}
|
69 |
+
Skills: {exp['Skills']}
|
70 |
+
"""
|
71 |
+
experience_prompts.append(experience_prompt)
|
72 |
+
|
73 |
+
combined_prompt = " ".join(experience_prompts)
|
74 |
+
prompt_template = f"""
|
75 |
+
Generate a professional LinkedIn experience section based on the following details:
|
76 |
+
{combined_prompt}
|
77 |
+
"""
|
78 |
+
|
79 |
+
try:
|
80 |
+
response = model.generate_content([prompt_template])
|
81 |
+
st.subheader("Generated Experience Section")
|
82 |
+
st.write("Based on your input, here's the generated experience section for your LinkedIn profile:")
|
83 |
+
st.write(response.text)
|
84 |
+
except Exception as e:
|
85 |
+
st.error("An error occurred while generating your LinkedIn experience section. Please try again later.")
|
86 |
+
st.error(f"Error: {e}")
|
87 |
+
|
88 |
+
if __name__ == "__main__":
|
89 |
+
app()
|
newpage.py
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import json
|
3 |
+
|
4 |
+
def app():
|
5 |
+
st.title('Gemini API Responses')
|
6 |
+
|
7 |
+
try:
|
8 |
+
# Load the responses from the file
|
9 |
+
with open('gemini_responses.json', 'r') as file:
|
10 |
+
responses = json.load(file)
|
11 |
+
except FileNotFoundError:
|
12 |
+
st.error("Responses file not found. Please run the main application first.")
|
13 |
+
return
|
14 |
+
|
15 |
+
for section_name, response_text in responses.items():
|
16 |
+
st.subheader(f"{section_name.replace('_', ' ').title()}")
|
17 |
+
st.write(response_text)
|
18 |
+
|
19 |
+
if __name__ == "__main__":
|
20 |
+
app()
|
preference.py
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import json
|
3 |
+
|
4 |
+
def app():
|
5 |
+
st.header("Career Preferences")
|
6 |
+
|
7 |
+
preferences_sections = [
|
8 |
+
"Size of Organization",
|
9 |
+
"Type of Organization",
|
10 |
+
"Industry",
|
11 |
+
"Department",
|
12 |
+
"Function"
|
13 |
+
]
|
14 |
+
|
15 |
+
preferences_questions = ["What I think I want", "What I know I don’t want"]
|
16 |
+
|
17 |
+
# Initialize preferences sets in session state if it doesn't exist
|
18 |
+
if 'preferences_sets' not in st.session_state:
|
19 |
+
st.session_state.preferences_sets = [{}]
|
20 |
+
|
21 |
+
# Function to add another set of preferences
|
22 |
+
def add_another_set():
|
23 |
+
st.session_state.preferences_sets.append({})
|
24 |
+
|
25 |
+
# Display current sets of preferences
|
26 |
+
for i, preferences_set in enumerate(st.session_state.preferences_sets):
|
27 |
+
with st.expander(f"Preferences Set {i + 1}", expanded=True):
|
28 |
+
for section in preferences_sections:
|
29 |
+
st.subheader(section)
|
30 |
+
for question in preferences_questions:
|
31 |
+
key = f"{section}_{question}_{i}"
|
32 |
+
st.session_state.preferences_sets[i][f"{section}: {question}"] = st.text_area(
|
33 |
+
label=question,
|
34 |
+
key=key,
|
35 |
+
value=preferences_set.get(f"{section}: {question}", "")
|
36 |
+
)
|
37 |
+
|
38 |
+
st.button("Add More", on_click=add_another_set)
|
39 |
+
|
40 |
+
if st.button('Save Preferences'):
|
41 |
+
save_preferences()
|
42 |
+
st.success('Preferences saved successfully!')
|
43 |
+
|
44 |
+
def save_preferences():
|
45 |
+
"""Save the preferences sets to a JSON file."""
|
46 |
+
with open('preferences_sets.json', 'w') as file:
|
47 |
+
json.dump(st.session_state['preferences_sets'], file, indent=4)
|
48 |
+
|
49 |
+
if __name__ == "__main__":
|
50 |
+
app()
|
preferences_sets.json
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[
|
2 |
+
{
|
3 |
+
"Size of Organization: What I think I want": "Large, medium, small\n\n",
|
4 |
+
"Size of Organization: What I know I don\u2019t want": "partnership, soloperentership",
|
5 |
+
"Type of Organization: What I think I want": "domestic or\ninternational\n",
|
6 |
+
"Type of Organization: What I know I don\u2019t want": "branch office, satellite\noffice, family business\n",
|
7 |
+
"Industry: What I think I want": "financial services",
|
8 |
+
"Industry: What I know I don\u2019t want": "retail, banking, insurance",
|
9 |
+
"Department: What I think I want": "Finance, operations",
|
10 |
+
"Department: What I know I don\u2019t want": "sales",
|
11 |
+
"Function: What I think I want": "team leader, manager, executive",
|
12 |
+
"Function: What I know I don\u2019t want": "executive"
|
13 |
+
}
|
14 |
+
]
|
process.py
ADDED
@@ -0,0 +1,183 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import json
|
3 |
+
import google.generativeai as genai
|
4 |
+
|
5 |
+
# Placeholder for your API key - securely manage this in your actual application
|
6 |
+
API_KEY = "AIzaSyCA4__JMC_ZIQ9xQegIj5LOMLhSSrn3pMw"
|
7 |
+
|
8 |
+
def fetch_data_from_json(filename):
|
9 |
+
"""Utility function to fetch data from a given JSON file."""
|
10 |
+
try:
|
11 |
+
with open(filename, 'r') as file:
|
12 |
+
return json.load(file)
|
13 |
+
except FileNotFoundError:
|
14 |
+
st.error(f"File {filename} not found. Please ensure it's in the correct path.")
|
15 |
+
return None
|
16 |
+
|
17 |
+
def app():
|
18 |
+
st.title('Career Insights and Recommendations')
|
19 |
+
|
20 |
+
# Paths to JSON files - adjust these paths as necessary
|
21 |
+
json_files = {
|
22 |
+
"core_values": "core_values_responses.json",
|
23 |
+
"strengths": "strength_responses.json",
|
24 |
+
"dream_job": "dream_job_info.json",
|
25 |
+
"strengths2": "dynamic_strength_responses.json",
|
26 |
+
"preferences": "preferences_sets.json",
|
27 |
+
"skills_experience": "skills_and_experience_sets.json",
|
28 |
+
"career_priorities": "career_priorities_data.json",
|
29 |
+
}
|
30 |
+
|
31 |
+
json_files["strengths"] = "strength_responses.json"
|
32 |
+
merge_json_files("strength_responses.json", "dynamic_strength_responses.json", "strength_responses.json")
|
33 |
+
|
34 |
+
|
35 |
+
|
36 |
+
comprehensive_data = {}
|
37 |
+
for key, file_path in json_files.items():
|
38 |
+
comprehensive_data[key] = fetch_data_from_json(file_path)
|
39 |
+
|
40 |
+
# Generate and display a comprehensive analysis based on all aspects
|
41 |
+
comprehensive_prompt = construct_comprehensive_prompt(comprehensive_data)
|
42 |
+
st.subheader("Comprehensive Career Analysis")
|
43 |
+
comprehensive_response_text = call_gemini(comprehensive_prompt)
|
44 |
+
st.text("Comprehensive API Response:")
|
45 |
+
st.write(comprehensive_response_text)
|
46 |
+
|
47 |
+
# Save the comprehensive response
|
48 |
+
save_responses("comprehensive_analysis", comprehensive_response_text)
|
49 |
+
|
50 |
+
|
51 |
+
|
52 |
+
def merge_json_files(file1, file2, output_file):
|
53 |
+
"""Merge the contents of two JSON files and save the result in another file."""
|
54 |
+
try:
|
55 |
+
with open(file1, 'r') as file:
|
56 |
+
data1 = json.load(file)
|
57 |
+
with open(file2, 'r') as file:
|
58 |
+
data2 = json.load(file)
|
59 |
+
|
60 |
+
# Ensure data1 and data2 are dictionaries
|
61 |
+
if not isinstance(data1, dict):
|
62 |
+
data1 = {}
|
63 |
+
if not isinstance(data2, dict):
|
64 |
+
data2 = {}
|
65 |
+
|
66 |
+
merged_data = {**data1, **data2}
|
67 |
+
|
68 |
+
with open(output_file, 'w') as file:
|
69 |
+
json.dump(merged_data, file, indent=4)
|
70 |
+
|
71 |
+
st.success(f"Merged data saved to {output_file}.")
|
72 |
+
except FileNotFoundError:
|
73 |
+
st.error("One or more input files not found. Please ensure they are in the correct path.")
|
74 |
+
|
75 |
+
|
76 |
+
def process_section(section_name, data):
|
77 |
+
"""
|
78 |
+
Processes each section individually by constructing a tailored prompt,
|
79 |
+
calling the Gemini API, and displaying the response.
|
80 |
+
"""
|
81 |
+
prompt = construct_prompt(section_name, data)
|
82 |
+
st.subheader(f"{section_name.replace('_', ' ').title()} Analysis")
|
83 |
+
response_text = call_gemini(prompt)
|
84 |
+
st.text(f"{section_name.replace('_', ' ').title()} API Response:")
|
85 |
+
st.write(response_text)
|
86 |
+
|
87 |
+
# Save the response
|
88 |
+
save_responses(section_name, response_text)
|
89 |
+
|
90 |
+
|
91 |
+
def save_responses(section_name, response_text):
|
92 |
+
"""Saves the API responses to a JSON file."""
|
93 |
+
try:
|
94 |
+
# Attempt to load existing data
|
95 |
+
with open('gemini_responses.json', 'r') as file:
|
96 |
+
responses = json.load(file)
|
97 |
+
except (FileNotFoundError, json.JSONDecodeError):
|
98 |
+
# If the file does not exist or contains invalid data, start with an empty dictionary
|
99 |
+
responses = {}
|
100 |
+
|
101 |
+
# Update the dictionary with the new response
|
102 |
+
responses[section_name] = response_text
|
103 |
+
|
104 |
+
# Save the updated dictionary back to the file
|
105 |
+
with open('gemini_responses.json', 'w') as file:
|
106 |
+
json.dump(responses, file, indent=4)
|
107 |
+
|
108 |
+
|
109 |
+
def construct_prompt(section_name, data):
|
110 |
+
"""
|
111 |
+
Constructs a detailed and tailored prompt for a specific section,
|
112 |
+
guiding the model to provide insights and recommendations based on that section's data.
|
113 |
+
"""
|
114 |
+
prompt_template = {
|
115 |
+
"career_priorities": "Analyze and evaluate user's current skill level related to these career priorities: {details}.",
|
116 |
+
"core_values": "Assess how user's current behaviours and skills align with these core values: {details}.",
|
117 |
+
"strengths": "Evaluate and highlight user's competency levels across these strengths: {details}.",
|
118 |
+
"dream_job": "Compare user's current skills and experience to the requirements of this dream job: {details}.",
|
119 |
+
"strengths2": "Summarize how user's friend's/collegs/seniors view user's capabilities based on this feedback: {details}.",
|
120 |
+
"preferences": "Judge how well user's skills and attributes fit these preferences: {details}.",
|
121 |
+
"skills_experience": "Assess user's current skill level within this area of expertise: {details}.",
|
122 |
+
}
|
123 |
+
|
124 |
+
# Constructing the tailored prompt
|
125 |
+
details = json.dumps(data, ensure_ascii=False)
|
126 |
+
prompt = prompt_template.get(section_name, "Please provide data for analysis.").format(details=details)
|
127 |
+
return prompt
|
128 |
+
|
129 |
+
def construct_comprehensive_prompt(data):
|
130 |
+
prompt_parts = [
|
131 |
+
"Given an individual's career aspirations, core values, strengths, preferences, and skills, provide a comprehensive analysis that identifies key strengths, aligns these with career values, and suggests career paths. Then, recommend the top 5 job descriptions that would be a perfect fit based on the analysis. Here are the details:",
|
132 |
+
f"Career Priorities: {json.dumps(data['career_priorities'], ensure_ascii=False)}",
|
133 |
+
f"Core Values: {json.dumps(data['core_values'], ensure_ascii=False)}",
|
134 |
+
"Rate the user's career priorities out of 100 and provide justification:",
|
135 |
+
f"Strengths: {json.dumps(data['strengths'], ensure_ascii=False)}",
|
136 |
+
"Rate the user's strengths out of 100 and provide justification:",
|
137 |
+
f"Dream Job Information: {json.dumps(data['dream_job'], ensure_ascii=False)}",
|
138 |
+
"Rate the user's dream job alignment out of 100 and provide justification:",
|
139 |
+
f"Preferences: {json.dumps(data['preferences'], ensure_ascii=False)}",
|
140 |
+
"Rate the user's preferences out of 100 and provide justification:",
|
141 |
+
f"Skills and Experience: {json.dumps(data['skills_experience'], ensure_ascii=False)}",
|
142 |
+
"Rate the user's skills and experience out of 100 and provide justification:",
|
143 |
+
"Based on the analysis, suggest 2-3 areas for mindful upskilling and professional development for the user, along with relevant certifications that would help strengthen their profile:",
|
144 |
+
"Consider the following in the further analysis:",
|
145 |
+
"- Given the strengths and dream job aspirations, what are the top industries or roles that would be a perfect fit?",
|
146 |
+
"- Based on the preferences, what work environment or company culture would be most suitable?",
|
147 |
+
"Conclude with recommendations for the top 5 open job descriptions in India aligned to the user's goals, including any specific industries or companies where these roles may be in demand currently.",
|
148 |
+
]
|
149 |
+
prompt = "\n\n".join(prompt_parts)
|
150 |
+
return prompt
|
151 |
+
|
152 |
+
def call_gemini(prompt):
|
153 |
+
"""Calls the Gemini API with the given prompt and returns the response."""
|
154 |
+
# Configure the API with your key
|
155 |
+
genai.configure(api_key=API_KEY)
|
156 |
+
|
157 |
+
# Set up the model configuration
|
158 |
+
generation_config = {
|
159 |
+
"temperature": 0.7,
|
160 |
+
"top_p": 0.95,
|
161 |
+
"max_output_tokens": 4096,
|
162 |
+
}
|
163 |
+
|
164 |
+
safety_settings = [
|
165 |
+
{"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
166 |
+
{"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
167 |
+
{"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
168 |
+
{"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
169 |
+
]
|
170 |
+
|
171 |
+
# Create the model instance
|
172 |
+
model = genai.GenerativeModel(model_name="gemini-1.0-pro",
|
173 |
+
generation_config=generation_config,
|
174 |
+
safety_settings=safety_settings)
|
175 |
+
|
176 |
+
# Generate content
|
177 |
+
response = model.generate_content([prompt])
|
178 |
+
response_text = response.text
|
179 |
+
return response_text
|
180 |
+
|
181 |
+
|
182 |
+
if __name__ == "__main__":
|
183 |
+
app()
|
prompts/__init__.py
ADDED
File without changes
|
prompts/__pycache__/__init__.cpython-311.pyc
ADDED
Binary file (174 Bytes). View file
|
|
prompts/__pycache__/prompt_selector.cpython-311.pyc
ADDED
Binary file (1.22 kB). View file
|
|
prompts/__pycache__/prompts.cpython-311.pyc
ADDED
Binary file (6.67 kB). View file
|
|
prompts/prompt_selector.py
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from langchain.prompts import PromptTemplate
|
2 |
+
def prompt_sector(position: str, prompts: classmethod) -> dict:
|
3 |
+
|
4 |
+
""" Select the prompt template based on the position """
|
5 |
+
|
6 |
+
if position == 'Data Analyst':
|
7 |
+
PROMPT = PromptTemplate(
|
8 |
+
template= prompts.da_template, input_variables=["context", "question"]
|
9 |
+
)
|
10 |
+
chain_type_kwargs = {"prompt": PROMPT}
|
11 |
+
|
12 |
+
if position == 'Software Engineer':
|
13 |
+
PROMPT = PromptTemplate(
|
14 |
+
template= prompts.swe_template, input_variables=["context", "question"]
|
15 |
+
)
|
16 |
+
chain_type_kwargs = {"prompt": PROMPT}
|
17 |
+
|
18 |
+
if position == 'Marketing':
|
19 |
+
PROMPT = PromptTemplate(
|
20 |
+
template= prompts.marketing_template, input_variables=["context", "question"]
|
21 |
+
)
|
22 |
+
chain_type_kwargs = {"prompt": PROMPT}
|
23 |
+
|
24 |
+
else:
|
25 |
+
# You can define a generic template for positions not explicitly handled above
|
26 |
+
# or provide specific instructions for handling such cases.
|
27 |
+
PROMPT = PromptTemplate(
|
28 |
+
template=prompts.generic_template, input_variables=["context", "question"]
|
29 |
+
)
|
30 |
+
chain_type_kwargs = {"prompt": PROMPT}
|
31 |
+
|
32 |
+
return chain_type_kwargs
|
33 |
+
|
34 |
+
|
35 |
+
return chain_type_kwargs
|
36 |
+
|
prompts/prompts.py
ADDED
@@ -0,0 +1,160 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Data Analyst
|
2 |
+
class templates:
|
3 |
+
|
4 |
+
""" store all prompts templates """
|
5 |
+
|
6 |
+
da_template = """
|
7 |
+
I want you to act as an interviewer. Remember, you are the interviewer not the candidate.
|
8 |
+
|
9 |
+
Let think step by step.
|
10 |
+
|
11 |
+
Based on the Resume,
|
12 |
+
Create a guideline with followiing topics for an interview to test the knowledge of the candidate on necessary skills for being a Data Analyst.
|
13 |
+
|
14 |
+
The questions should be in the context of the resume.
|
15 |
+
|
16 |
+
There are 3 main topics:
|
17 |
+
1. Background and Skills
|
18 |
+
2. Work Experience
|
19 |
+
3. Projects (if applicable)
|
20 |
+
|
21 |
+
Do not ask the same question.
|
22 |
+
Do not repeat the question.
|
23 |
+
|
24 |
+
Resume:
|
25 |
+
{context}
|
26 |
+
|
27 |
+
Question: {question}
|
28 |
+
Answer: """
|
29 |
+
|
30 |
+
# software engineer
|
31 |
+
swe_template = """
|
32 |
+
I want you to act as an interviewer. Remember, you are the interviewer not the candidate.
|
33 |
+
|
34 |
+
Let think step by step.
|
35 |
+
|
36 |
+
Based on the Resume,
|
37 |
+
Create a guideline with followiing topics for an interview to test the knowledge of the candidate on necessary skills for being a Software Engineer.
|
38 |
+
|
39 |
+
The questions should be in the context of the resume.
|
40 |
+
|
41 |
+
There are 3 main topics:
|
42 |
+
1. Background and Skills
|
43 |
+
2. Work Experience
|
44 |
+
3. Projects (if applicable)
|
45 |
+
|
46 |
+
Do not ask the same question.
|
47 |
+
Do not repeat the question.
|
48 |
+
|
49 |
+
Resume:
|
50 |
+
{context}
|
51 |
+
|
52 |
+
Question: {question}
|
53 |
+
Answer: """
|
54 |
+
|
55 |
+
# marketing
|
56 |
+
marketing_template = """
|
57 |
+
I want you to act as an interviewer. Remember, you are the interviewer not the candidate.
|
58 |
+
|
59 |
+
Let think step by step.
|
60 |
+
|
61 |
+
Based on the Resume,
|
62 |
+
Create a guideline with followiing topics for an interview to test the knowledge of the candidate on necessary skills for being a Marketing Associate.
|
63 |
+
|
64 |
+
The questions should be in the context of the resume.
|
65 |
+
|
66 |
+
There are 3 main topics:
|
67 |
+
1. Background and Skills
|
68 |
+
2. Work Experience
|
69 |
+
3. Projects (if applicable)
|
70 |
+
|
71 |
+
Do not ask the same question.
|
72 |
+
Do not repeat the question.
|
73 |
+
|
74 |
+
Resume:
|
75 |
+
{context}
|
76 |
+
|
77 |
+
Question: {question}
|
78 |
+
Answer: """
|
79 |
+
|
80 |
+
jd_template = """I want you to act as an interviewer. Remember, you are the interviewer not the candidate.
|
81 |
+
|
82 |
+
Let think step by step.
|
83 |
+
|
84 |
+
Based on the job description,
|
85 |
+
Create a guideline with following topics for an interview to test the technical knowledge of the candidate on necessary skills.
|
86 |
+
|
87 |
+
For example:
|
88 |
+
If the job description requires knowledge of data mining, GPT Interviewer will ask you questions like "Explains overfitting or How does backpropagation work?"
|
89 |
+
If the job description requrres knowldge of statistics, GPT Interviewer will ask you questions like "What is the difference between Type I and Type II error?"
|
90 |
+
|
91 |
+
Do not ask the same question.
|
92 |
+
Do not repeat the question.
|
93 |
+
|
94 |
+
Job Description:
|
95 |
+
{context}
|
96 |
+
|
97 |
+
Question: {question}
|
98 |
+
Answer: """
|
99 |
+
|
100 |
+
behavioral_template = """ I want you to act as an interviewer. Remember, you are the interviewer not the candidate.
|
101 |
+
|
102 |
+
Let think step by step.
|
103 |
+
|
104 |
+
Based on the keywords,
|
105 |
+
Create a guideline with followiing topics for an behavioral interview to test the soft skills of the candidate.
|
106 |
+
|
107 |
+
Do not ask the same question.
|
108 |
+
Do not repeat the question.
|
109 |
+
|
110 |
+
Keywords:
|
111 |
+
{context}
|
112 |
+
|
113 |
+
Question: {question}
|
114 |
+
Answer:"""
|
115 |
+
|
116 |
+
feedback_template = """ Based on the chat history, I would like you to evaluate the candidate based on the following format:
|
117 |
+
Summarization: summarize the conversation in a short paragraph.
|
118 |
+
|
119 |
+
Pros: Give positive feedback to the candidate.
|
120 |
+
|
121 |
+
Cons: Tell the candidate what he/she can improves on.
|
122 |
+
|
123 |
+
Score: Give a score to the candidate out of 100.
|
124 |
+
|
125 |
+
Sample Answers: sample answers to each of the questions in the interview guideline.
|
126 |
+
|
127 |
+
Remember, the candidate has no idea what the interview guideline is.
|
128 |
+
Sometimes the candidate may not even answer the question.
|
129 |
+
|
130 |
+
Current conversation:
|
131 |
+
{history}
|
132 |
+
|
133 |
+
Interviewer: {input}
|
134 |
+
Response: """
|
135 |
+
|
136 |
+
# Generic template for positions not explicitly mentioned
|
137 |
+
generic_template = """
|
138 |
+
I want you to act as an interviewer. Remember, you are the interviewer not the candidate.
|
139 |
+
|
140 |
+
Let's think step by step.
|
141 |
+
|
142 |
+
Based on the Resume or Job Description,
|
143 |
+
Create a guideline with the following topics for an interview to assess the overall suitability of the candidate for the position.
|
144 |
+
|
145 |
+
The questions should cover these main areas:
|
146 |
+
1. Background and Skills - Assess the candidate's educational background, certifications, and specific skills relevant to the job.
|
147 |
+
2. Work Experience - Explore the candidate's previous job roles, responsibilities, and key achievements.
|
148 |
+
3. Problem-solving and Adaptability - Evaluate the candidate's ability to solve problems, adapt to new situations, and learn new skills.
|
149 |
+
4. Motivation and Fit - Understand the candidate's motivation for applying and how they see themselves fitting within the team and contributing to the company.
|
150 |
+
|
151 |
+
Remember:
|
152 |
+
- Do not ask the same question.
|
153 |
+
- Do not repeat the question.
|
154 |
+
|
155 |
+
Context (Resume or Job Description):
|
156 |
+
{context}
|
157 |
+
|
158 |
+
Question: {question}
|
159 |
+
Answer: """
|
160 |
+
|
requirements.txt
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
google-generativeai
|
2 |
+
langchain
|
3 |
+
PyPDF2
|
4 |
+
openai
|
5 |
+
wave
|
6 |
+
streamlit==1.25.0
|
7 |
+
tiktoken
|
8 |
+
nltk
|
9 |
+
#azure-cognitiveservices-speech
|
10 |
+
streamlit-option-menu
|
11 |
+
streamlit-lottie
|
12 |
+
faiss-cpu
|
13 |
+
boto3
|
14 |
+
Ipython
|
15 |
+
langchain-google-genai
|
resume.py
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import os
|
3 |
+
import json
|
4 |
+
|
5 |
+
import google.generativeai as genai
|
6 |
+
|
7 |
+
API_KEY = "AIzaSyCA4__JMC_ZIQ9xQegIj5LOMLhSSrn3pMw"
|
8 |
+
|
9 |
+
def configure_genai_api():
|
10 |
+
|
11 |
+
genai.configure(api_key=API_KEY)
|
12 |
+
generation_config = {
|
13 |
+
"temperature": 0.9,
|
14 |
+
"top_p": 1,
|
15 |
+
"top_k": 40,
|
16 |
+
"max_output_tokens": 2048,
|
17 |
+
}
|
18 |
+
safety_settings = [
|
19 |
+
{"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
20 |
+
{"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
21 |
+
{"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
22 |
+
{"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
23 |
+
]
|
24 |
+
return genai.GenerativeModel(model_name="gemini-1.0-pro",
|
25 |
+
generation_config=generation_config,
|
26 |
+
safety_settings=safety_settings)
|
27 |
+
|
28 |
+
def load_user_data():
|
29 |
+
try:
|
30 |
+
with open('gemini_responses.json', 'r') as file:
|
31 |
+
return json.load(file)
|
32 |
+
except FileNotFoundError:
|
33 |
+
st.error("User data file not found. Please ensure 'gemini_responses.json' exists.")
|
34 |
+
return {}
|
35 |
+
|
36 |
+
def load_data():
|
37 |
+
try:
|
38 |
+
with open('data.json', 'r') as file:
|
39 |
+
return json.load(file)
|
40 |
+
except FileNotFoundError:
|
41 |
+
st.error("Data file not found. Please ensure 'data.json' exists.")
|
42 |
+
return {}
|
43 |
+
|
44 |
+
def combine_responses(user_data, data, *args):
|
45 |
+
combined_responses = []
|
46 |
+
for key, value in user_data.items():
|
47 |
+
combined_responses.append(f"{key}: {value}")
|
48 |
+
combined_responses.append(f"Name: {data['name']}")
|
49 |
+
combined_responses.append(f"Email: {data['email']}")
|
50 |
+
combined_responses.append(f"LinkedIn: {data['linkedin']}")
|
51 |
+
combined_responses.append(f"GitHub: {data['github']}")
|
52 |
+
for response_set in args:
|
53 |
+
if isinstance(response_set, dict):
|
54 |
+
combined_responses.extend(response_set.values())
|
55 |
+
elif isinstance(response_set, list):
|
56 |
+
combined_responses.extend(response_set)
|
57 |
+
combined_responses.extend(data.values()) # Add data.json values
|
58 |
+
return " ".join(combined_responses)
|
59 |
+
|
60 |
+
|
61 |
+
def app():
|
62 |
+
st.header("Resume Creator")
|
63 |
+
model = configure_genai_api()
|
64 |
+
if not model:
|
65 |
+
return
|
66 |
+
|
67 |
+
# Load user data
|
68 |
+
user_data = load_user_data()
|
69 |
+
data = load_data()
|
70 |
+
|
71 |
+
combined_responses_text = combine_responses(user_data, data) # Pass the 'data' argument
|
72 |
+
|
73 |
+
prompt_template = f"""
|
74 |
+
Based on the following inputs, print the basic details in proper manner line by line (name, github url, etc), generate a professional resume that includes sections for a Summary, Experience, Skills, Certifications (dont give education section).
|
75 |
+
{combined_responses_text}
|
76 |
+
Provide optimized content for each section of the resume to highlight the individual's qualifications, achievements, and career progression.
|
77 |
+
"""
|
78 |
+
|
79 |
+
|
80 |
+
|
81 |
+
try:
|
82 |
+
response = model.generate_content([prompt_template])
|
83 |
+
st.subheader("Resume Content")
|
84 |
+
st.write(response.text)
|
85 |
+
except Exception as e:
|
86 |
+
st.error("An error occurred while generating your Resume content. Please try again later.")
|
87 |
+
st.error(f"Error: {e}")
|
88 |
+
|
89 |
+
if __name__ == "__main__":
|
90 |
+
app()
|
resumescreen.py
ADDED
@@ -0,0 +1,193 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# langchain: https://python.langchain.com/
|
2 |
+
from dataclasses import dataclass
|
3 |
+
import streamlit as st
|
4 |
+
from langchain.callbacks import get_openai_callback
|
5 |
+
from langchain.memory import ConversationBufferMemory
|
6 |
+
from langchain.chains import RetrievalQA, ConversationChain
|
7 |
+
from langchain.prompts.prompt import PromptTemplate
|
8 |
+
from prompts.prompts import templates
|
9 |
+
from typing import Literal
|
10 |
+
from langchain.vectorstores import FAISS
|
11 |
+
from langchain.text_splitter import NLTKTextSplitter
|
12 |
+
from PyPDF2 import PdfReader
|
13 |
+
from prompts.prompt_selector import prompt_sector
|
14 |
+
from streamlit_lottie import st_lottie
|
15 |
+
import json
|
16 |
+
from IPython.display import Audio
|
17 |
+
import nltk
|
18 |
+
from langchain_google_genai import ChatGoogleGenerativeAI
|
19 |
+
import getpass
|
20 |
+
import os
|
21 |
+
from langchain_google_genai import GoogleGenerativeAIEmbeddings
|
22 |
+
|
23 |
+
@dataclass
|
24 |
+
class Message:
|
25 |
+
"""Class for keeping track of interview history."""
|
26 |
+
origin: Literal["human", "ai"]
|
27 |
+
message: str
|
28 |
+
|
29 |
+
def save_vector(resume):
|
30 |
+
"""embeddings"""
|
31 |
+
nltk.download('punkt')
|
32 |
+
pdf_reader = PdfReader(resume)
|
33 |
+
text = ""
|
34 |
+
for page in pdf_reader.pages:
|
35 |
+
text += page.extract_text()
|
36 |
+
# Split the document into chunks
|
37 |
+
text_splitter = NLTKTextSplitter()
|
38 |
+
texts = text_splitter.split_text(text)
|
39 |
+
embeddings = GoogleGenerativeAIEmbeddings(model="models/embedding-001")
|
40 |
+
docsearch = FAISS.from_texts(texts, embeddings)
|
41 |
+
return docsearch
|
42 |
+
|
43 |
+
def initialize_session_state_resume(position, resume):
|
44 |
+
# convert resume to embeddings
|
45 |
+
if 'docsearch' not in st.session_state:
|
46 |
+
st.session_state.docserch = save_vector(resume)
|
47 |
+
# retriever for resume screen
|
48 |
+
if 'retriever' not in st.session_state:
|
49 |
+
st.session_state.retriever = st.session_state.docserch.as_retriever(search_type="similarity")
|
50 |
+
# prompt for retrieving information
|
51 |
+
if 'chain_type_kwargs' not in st.session_state:
|
52 |
+
st.session_state.chain_type_kwargs = prompt_sector(position, templates)
|
53 |
+
# interview history
|
54 |
+
if "resume_history" not in st.session_state:
|
55 |
+
st.session_state.resume_history = []
|
56 |
+
st.session_state.resume_history.append(Message(origin="ai", message="Hello, I am your interivewer today. I will ask you some questions regarding your resume and your experience. Please start by saying hello or introducing yourself. Note: The maximum length of your answer is 4097 tokens!"))
|
57 |
+
# token count
|
58 |
+
if "token_count" not in st.session_state:
|
59 |
+
st.session_state.token_count = 0
|
60 |
+
# memory buffer for resume screen
|
61 |
+
if "resume_memory" not in st.session_state:
|
62 |
+
st.session_state.resume_memory = ConversationBufferMemory(human_prefix = "Candidate: ", ai_prefix = "Interviewer")
|
63 |
+
# guideline for resume screen
|
64 |
+
if "resume_guideline" not in st.session_state:
|
65 |
+
llm = ChatGoogleGenerativeAI(
|
66 |
+
model="gemini-pro")
|
67 |
+
|
68 |
+
st.session_state.resume_guideline = RetrievalQA.from_chain_type(
|
69 |
+
llm=llm,
|
70 |
+
chain_type_kwargs=st.session_state.chain_type_kwargs, chain_type='stuff',
|
71 |
+
retriever=st.session_state.retriever, memory = st.session_state.resume_memory).run("Create an interview guideline and prepare only two questions for each topic. Make sure the questions tests the knowledge")
|
72 |
+
# llm chain for resume screen
|
73 |
+
if "resume_screen" not in st.session_state:
|
74 |
+
llm = ChatGoogleGenerativeAI(
|
75 |
+
model="gemini-pro")
|
76 |
+
|
77 |
+
PROMPT = PromptTemplate(
|
78 |
+
input_variables=["history", "input"],
|
79 |
+
template= """I want you to act as an interviewer strictly following the guideline in the current conversation.
|
80 |
+
|
81 |
+
Ask me questions and wait for my answers like a human. Do not write explanations.
|
82 |
+
Candidate has no assess to the guideline.
|
83 |
+
Only ask one question at a time.
|
84 |
+
Do ask follow-up questions if you think it's necessary.
|
85 |
+
Do not ask the same question.
|
86 |
+
Do not repeat the question.
|
87 |
+
Candidate has no assess to the guideline.
|
88 |
+
You name is GPTInterviewer.
|
89 |
+
I want you to only reply as an interviewer.
|
90 |
+
Do not write all the conversation at once.
|
91 |
+
Candiate has no assess to the guideline.
|
92 |
+
|
93 |
+
Current Conversation:
|
94 |
+
{history}
|
95 |
+
|
96 |
+
Candidate: {input}
|
97 |
+
AI: """)
|
98 |
+
st.session_state.resume_screen = ConversationChain(prompt=PROMPT, llm = llm, memory = st.session_state.resume_memory)
|
99 |
+
# llm chain for generating feedback
|
100 |
+
if "resume_feedback" not in st.session_state:
|
101 |
+
llm = ChatGoogleGenerativeAI(
|
102 |
+
model="gemini-pro")
|
103 |
+
st.session_state.resume_feedback = ConversationChain(
|
104 |
+
prompt=PromptTemplate(input_variables=["history","input"], template=templates.feedback_template),
|
105 |
+
llm=llm,
|
106 |
+
memory=st.session_state.resume_memory,
|
107 |
+
)
|
108 |
+
|
109 |
+
def answer_call_back():
|
110 |
+
|
111 |
+
'''callback function for answering user input'''
|
112 |
+
|
113 |
+
# user input
|
114 |
+
human_answer = st.session_state.answer
|
115 |
+
st.session_state.history.append(
|
116 |
+
Message("human", human_answer)
|
117 |
+
)
|
118 |
+
# OpenAI answer and save to history
|
119 |
+
llm_answer = st.session_state.resume_screen.run(human_answer)
|
120 |
+
st.session_state.history.append(
|
121 |
+
Message("ai", llm_answer)
|
122 |
+
)
|
123 |
+
st.session_state.token_count += len(llm_answer.split())
|
124 |
+
return llm_answer
|
125 |
+
|
126 |
+
|
127 |
+
if "GOOGLE_API_KEY" not in os.environ:
|
128 |
+
os.environ["GOOGLE_API_KEY"] = "AIzaSyCA4__JMC_ZIQ9xQegIj5LOMLhSSrn3pMw"
|
129 |
+
|
130 |
+
def app():
|
131 |
+
|
132 |
+
st.title("Resume Screen")
|
133 |
+
|
134 |
+
st.session_state.history = []
|
135 |
+
with open('job_description.json', 'r') as f:
|
136 |
+
jd = json.load(f)
|
137 |
+
|
138 |
+
|
139 |
+
position = jd
|
140 |
+
resume = st.file_uploader("Upload your resume", type=["pdf"])
|
141 |
+
|
142 |
+
#st.toast("4097 tokens is roughly equivalent to around 800 to 1000 words or 3 minutes of speech. Please keep your answer within this limit.")
|
143 |
+
|
144 |
+
|
145 |
+
|
146 |
+
if position and resume:
|
147 |
+
# intialize session state
|
148 |
+
initialize_session_state_resume(position, resume)
|
149 |
+
credit_card_placeholder = st.empty()
|
150 |
+
col1, col2 = st.columns(2)
|
151 |
+
with col1:
|
152 |
+
feedback = st.button("Get Interview Feedback")
|
153 |
+
with col2:
|
154 |
+
guideline = st.button("Show me interview guideline!")
|
155 |
+
chat_placeholder = st.container()
|
156 |
+
answer_placeholder = st.container()
|
157 |
+
audio = None
|
158 |
+
# if submit email adress, get interview feedback imediately
|
159 |
+
if guideline:
|
160 |
+
st.markdown(st.session_state.resume_guideline)
|
161 |
+
if feedback:
|
162 |
+
evaluation = st.session_state.resume_feedback.run("please give evalution regarding the interview")
|
163 |
+
st.markdown(evaluation)
|
164 |
+
st.download_button(label="Download Interview Feedback", data=evaluation, file_name="interview_feedback.txt")
|
165 |
+
st.stop()
|
166 |
+
else:
|
167 |
+
with answer_placeholder:
|
168 |
+
voice: bool = st.checkbox("I would like to speak with AI Interviewer!")
|
169 |
+
if voice:
|
170 |
+
print("voice") #st.warning("An UnboundLocalError will occur if the microphone fails to record.")
|
171 |
+
else:
|
172 |
+
answer = st.chat_input("Your answer")
|
173 |
+
if answer:
|
174 |
+
st.session_state['answer'] = answer
|
175 |
+
audio = answer_call_back()
|
176 |
+
|
177 |
+
with chat_placeholder:
|
178 |
+
for answer in st.session_state.resume_history:
|
179 |
+
if answer.origin == 'ai':
|
180 |
+
if audio:
|
181 |
+
with st.chat_message("assistant"):
|
182 |
+
st.write(answer.message)
|
183 |
+
st.write(audio)
|
184 |
+
else:
|
185 |
+
with st.chat_message("assistant"):
|
186 |
+
st.write(answer.message)
|
187 |
+
else:
|
188 |
+
with st.chat_message("user"):
|
189 |
+
st.write(answer.message)
|
190 |
+
|
191 |
+
credit_card_placeholder.caption(f"""
|
192 |
+
Progress: {int(len(st.session_state.resume_history) / 50 * 100)}% completed.""")
|
193 |
+
|
skills.py
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
|
3 |
+
import streamlit as st
|
4 |
+
import json
|
5 |
+
|
6 |
+
def app():
|
7 |
+
st.header("Skills and Experience Exercise")
|
8 |
+
|
9 |
+
core_skills_questions = [
|
10 |
+
"Job: Title or description – where and when?",
|
11 |
+
"Skills and experience: Direct or transferable",
|
12 |
+
"Accomplishments: Measurable; if possible include examples like percentage of goal, dollars in sales, revenue growth, or savings; number of employees hired or trained",
|
13 |
+
"Benefit to the Employer: how your skills and/or experience benefit the organization and its people"
|
14 |
+
]
|
15 |
+
|
16 |
+
if 'skills_experience_sets' not in st.session_state:
|
17 |
+
st.session_state.skills_experience_sets = [{}]
|
18 |
+
|
19 |
+
# Function to add another set of questions
|
20 |
+
def add_another_set():
|
21 |
+
st.session_state.skills_experience_sets.append({})
|
22 |
+
|
23 |
+
# Display current sets of questions and responses
|
24 |
+
for i, skills_set in enumerate(st.session_state.skills_experience_sets):
|
25 |
+
with st.expander(f"Skills and Experience Set {i + 1}", expanded=True):
|
26 |
+
for question in core_skills_questions:
|
27 |
+
key = f"{question}_{i}"
|
28 |
+
st.session_state.skills_experience_sets[i][question] = st.text_area(
|
29 |
+
label=question,
|
30 |
+
key=key,
|
31 |
+
value=skills_set.get(question, "")
|
32 |
+
)
|
33 |
+
|
34 |
+
st.button("Add More", on_click=add_another_set)
|
35 |
+
|
36 |
+
if st.button('Save Skills and Experience'):
|
37 |
+
save_skills_and_experience()
|
38 |
+
st.success('Skills and Experience saved successfully!')
|
39 |
+
|
40 |
+
def save_skills_and_experience():
|
41 |
+
"""Save the skills and experience sets to a JSON file."""
|
42 |
+
with open('skills_and_experience_sets.json', 'w') as file:
|
43 |
+
json.dump(st.session_state['skills_experience_sets'], file, indent=4)
|
44 |
+
|
45 |
+
if __name__ == "__main__":
|
46 |
+
app()
|