MeUtils 2025.4.8.20.33.43__py3-none-any.whl → 2025.4.11.17.25.15__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {MeUtils-2025.4.8.20.33.43.dist-info → MeUtils-2025.4.11.17.25.15.dist-info}/METADATA +260 -260
- {MeUtils-2025.4.8.20.33.43.dist-info → MeUtils-2025.4.11.17.25.15.dist-info}/RECORD +41 -38
- examples/_openaisdk/openai_google.py +49 -33
- meutils/apis/{google_apis → google}/audios.py +5 -2
- meutils/apis/google/chat.py +369 -0
- meutils/apis/google/files.py +29 -0
- meutils/apis/{google_apis → google}/google2openai.py +8 -4
- meutils/apis/google/images.py +27 -0
- meutils/apis/{google_apis → google}/search.py +7 -5
- meutils/apis/images/recraft.py +2 -4
- meutils/apis/jimeng/images.py +41 -8
- meutils/apis/search/metaso.py +2 -2
- meutils/apis/siliconflow/images.py +5 -3
- meutils/caches/acache.py +1 -1
- meutils/common.py +1 -0
- meutils/data/VERSION +1 -1
- meutils/decorators/catch.py +0 -8
- meutils/decorators/common.py +86 -19
- meutils/decorators/contextmanagers.py +103 -14
- meutils/decorators/demo.py +76 -14
- meutils/io/files_utils.py +2 -3
- meutils/io/openai_files.py +11 -6
- meutils/llm/check_utils.py +20 -1
- meutils/llm/openai_polling/__init__.py +11 -0
- meutils/llm/openai_polling/chat.py +45 -0
- meutils/{apis/google_apis → llm/openai_polling}/images.py +4 -2
- meutils/llm/openai_utils/common.py +1 -1
- meutils/notice/feishu.py +5 -2
- meutils/schemas/image_types.py +26 -3
- meutils/schemas/oneapi/common.py +12 -0
- meutils/schemas/openai_types.py +10 -0
- meutils/serving/fastapi/dependencies/__init__.py +4 -1
- meutils/serving/fastapi/dependencies/auth.py +10 -6
- meutils/serving/fastapi/exceptions/http_error.py +2 -2
- meutils/str_utils/__init__.py +30 -2
- meutils/apis/google_apis/common.py +0 -250
- meutils/apis/google_apis/files.py +0 -19
- {MeUtils-2025.4.8.20.33.43.dist-info → MeUtils-2025.4.11.17.25.15.dist-info}/LICENSE +0 -0
- {MeUtils-2025.4.8.20.33.43.dist-info → MeUtils-2025.4.11.17.25.15.dist-info}/WHEEL +0 -0
- {MeUtils-2025.4.8.20.33.43.dist-info → MeUtils-2025.4.11.17.25.15.dist-info}/entry_points.txt +0 -0
- {MeUtils-2025.4.8.20.33.43.dist-info → MeUtils-2025.4.11.17.25.15.dist-info}/top_level.txt +0 -0
- /meutils/apis/{google_apis → google}/__init__.py +0 -0
- /meutils/apis/{google_apis → google}/gemini_sdk.py +0 -0
@@ -0,0 +1,369 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : common
|
5
|
+
# @Time : 2025/4/2 13:03
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description : https://ai.google.dev/gemini-api/docs/openai?hl=zh-cn
|
10
|
+
# genai => openai
|
11
|
+
# https://googleapis.github.io/python-genai/genai.html#module-genai.models
|
12
|
+
|
13
|
+
|
14
|
+
from meutils.pipe import *
|
15
|
+
from meutils.decorators.retry import retrying
|
16
|
+
|
17
|
+
from meutils.io.files_utils import to_url, to_bytes, guess_mime_type
|
18
|
+
from meutils.str_utils.regular_expression import parse_url
|
19
|
+
|
20
|
+
from meutils.schemas.image_types import ImageRequest, ImagesResponse
|
21
|
+
from meutils.schemas.openai_types import chat_completion, chat_completion_chunk, CompletionRequest, CompletionUsage
|
22
|
+
|
23
|
+
from meutils.config_utils.lark_utils import get_next_token_for_polling
|
24
|
+
from google import genai
|
25
|
+
from google.genai import types
|
26
|
+
from google.genai.types import HttpOptions, GenerateContentConfig, HarmCategory, HarmBlockThreshold, Part
|
27
|
+
from google.genai.types import UserContent, ModelContent, Content
|
28
|
+
from google.genai.types import Tool, GoogleSearch
|
29
|
+
|
30
|
+
FEISHU_URL = "https://xchatllm.feishu.cn/sheets/Bmjtst2f6hfMqFttbhLcdfRJnNf?sheet=bK9ZTt" # 200
|
31
|
+
|
32
|
+
"""
|
33
|
+
Gemini 1.5 Pro 和 1.5 Flash 最多支持 3,600 个文档页面。文档页面必须采用以下文本数据 MIME 类型之一:
|
34
|
+
|
35
|
+
PDF - application/pdf
|
36
|
+
JavaScript - application/x-javascript、text/javascript
|
37
|
+
Python - application/x-python、text/x-python
|
38
|
+
TXT - text/plain
|
39
|
+
HTML - text/html
|
40
|
+
CSS - text/css
|
41
|
+
Markdown - text/md
|
42
|
+
CSV - text/csv
|
43
|
+
XML - text/xml
|
44
|
+
RTF - text/rtf
|
45
|
+
|
46
|
+
- 小文件
|
47
|
+
- 大文件: 需要等待处理
|
48
|
+
"""
|
49
|
+
tools = [
|
50
|
+
Tool(
|
51
|
+
google_search=GoogleSearch()
|
52
|
+
)
|
53
|
+
]
|
54
|
+
|
55
|
+
|
56
|
+
class Completions(object):
|
57
|
+
def __init__(self, api_key: Optional[str] = None):
|
58
|
+
self.api_key = api_key
|
59
|
+
self.base_url = "https://all.chatfire.cc/genai"
|
60
|
+
self.client = None ####
|
61
|
+
|
62
|
+
async def create_for_search(self, request: CompletionRequest):
|
63
|
+
self.client = self.client or await self.get_client()
|
64
|
+
|
65
|
+
chat = self.client.aio.chats.create(
|
66
|
+
model=request.model,
|
67
|
+
config=GenerateContentConfig(
|
68
|
+
tools=tools,
|
69
|
+
system_instruction=request.system_instruction or "请根据用户的语言偏好自动调整回复语言"
|
70
|
+
),
|
71
|
+
)
|
72
|
+
# print(response.candidates[0].grounding_metadata.search_entry_point.rendered_content)
|
73
|
+
# print(response.candidates[0].grounding_metadata.grounding_chunks)
|
74
|
+
|
75
|
+
chunks = await chat.send_message_stream(request.last_user_content)
|
76
|
+
async for chunk in chunks:
|
77
|
+
if chunk.candidates and chunk.candidates[0].content:
|
78
|
+
parts = chunk.candidates[0].content.parts or []
|
79
|
+
for part in parts:
|
80
|
+
# logger.debug(part)
|
81
|
+
if part.text:
|
82
|
+
yield part.text
|
83
|
+
|
84
|
+
if chunk.candidates and chunk.candidates[0].grounding_metadata:
|
85
|
+
grounding_chunks = chunk.candidates[0].grounding_metadata.grounding_chunks or []
|
86
|
+
for grounding_chunk in grounding_chunks:
|
87
|
+
if grounding_chunk.web:
|
88
|
+
yield f"\n\n[{grounding_chunk.web.title}]({grounding_chunk.web.uri})"
|
89
|
+
|
90
|
+
async def create_for_files(self, request: CompletionRequest):
|
91
|
+
"""todo: 大文件解析"""
|
92
|
+
self.client = self.client or await self.get_client()
|
93
|
+
|
94
|
+
contents = []
|
95
|
+
if urls := sum(request.last_urls.values(), []):
|
96
|
+
# https://ai.google.dev/gemini-api/docs/document-processing?hl=zh-cn&lang=python
|
97
|
+
file_objects = await self.upload(urls)
|
98
|
+
contents += file_objects
|
99
|
+
contents.append(request.last_user_content)
|
100
|
+
|
101
|
+
elif request.last_user_content.startswith("http"):
|
102
|
+
url, user_content = request.last_user_content.split(maxsplit=1)
|
103
|
+
file_object = await self.upload(url)
|
104
|
+
contents += [file_object, user_content]
|
105
|
+
else:
|
106
|
+
contents.append(request.last_user_content)
|
107
|
+
|
108
|
+
# logger.debug(contents)
|
109
|
+
|
110
|
+
chat = self.client.aio.chats.create( # todo: system_instruction
|
111
|
+
model=request.model,
|
112
|
+
config=GenerateContentConfig(
|
113
|
+
response_modalities=['Text'],
|
114
|
+
system_instruction=request.system_instruction
|
115
|
+
)
|
116
|
+
)
|
117
|
+
for i in range(5):
|
118
|
+
try:
|
119
|
+
chunks = await chat.send_message_stream(contents)
|
120
|
+
async for chunk in chunks:
|
121
|
+
if chunk.candidates and chunk.candidates[0].content:
|
122
|
+
parts = chunk.candidates[0].content.parts or []
|
123
|
+
for part in parts:
|
124
|
+
# logger.debug(part)
|
125
|
+
if part.text:
|
126
|
+
yield part.text
|
127
|
+
|
128
|
+
break
|
129
|
+
|
130
|
+
except Exception as e:
|
131
|
+
logger.debug(f"重试{i}: {e}")
|
132
|
+
if "The model is overloaded." in str(e):
|
133
|
+
await asyncio.sleep(1)
|
134
|
+
continue
|
135
|
+
else:
|
136
|
+
yield e
|
137
|
+
raise e
|
138
|
+
|
139
|
+
@retrying(title=__name__)
|
140
|
+
async def generate(self, request: ImageRequest): # OpenaiD3
|
141
|
+
request.model = "gemini-2.0-flash-exp-image-generation"
|
142
|
+
image, prompt = request.image_and_prompt
|
143
|
+
parts = [Part.from_text(text=prompt)]
|
144
|
+
if image:
|
145
|
+
data = await to_bytes(image)
|
146
|
+
parts.append(Part.from_bytes(data=data, mime_type="image/png"))
|
147
|
+
|
148
|
+
self.client = self.client or await self.get_client()
|
149
|
+
chat = self.client.aio.chats.create(
|
150
|
+
model=request.model,
|
151
|
+
config=GenerateContentConfig(
|
152
|
+
response_modalities=['Text', 'Image'],
|
153
|
+
)
|
154
|
+
)
|
155
|
+
image_response = ImagesResponse()
|
156
|
+
|
157
|
+
response = await chat.send_message(parts)
|
158
|
+
if response.candidates and response.candidates[0].content:
|
159
|
+
parts = response.candidates[0].content.parts or []
|
160
|
+
for part in parts:
|
161
|
+
if part.inline_data:
|
162
|
+
image_url = await to_url(part.inline_data.data, mime_type=part.inline_data.mime_type)
|
163
|
+
image_response.data.append({"url": image_url, "revised_prompt": part.text})
|
164
|
+
|
165
|
+
return image_response
|
166
|
+
|
167
|
+
async def create_for_images(self, request: CompletionRequest):
|
168
|
+
request.model = "gemini-2.0-flash-exp-image-generation" ####### 目前是强行
|
169
|
+
|
170
|
+
messages = await self.to_image_messages(request)
|
171
|
+
|
172
|
+
if len(messages) > 1:
|
173
|
+
history = messages[:-1]
|
174
|
+
message = messages[-1].parts
|
175
|
+
else:
|
176
|
+
history = []
|
177
|
+
message = messages[-1].parts
|
178
|
+
|
179
|
+
self.client = self.client or await self.get_client()
|
180
|
+
chat = self.client.aio.chats.create( # todo: system_instruction
|
181
|
+
model=request.model,
|
182
|
+
config=GenerateContentConfig(
|
183
|
+
response_modalities=['Text', 'Image'],
|
184
|
+
# system_instruction=request.system_instruction
|
185
|
+
),
|
186
|
+
history=history
|
187
|
+
)
|
188
|
+
|
189
|
+
# logger.debug(message)
|
190
|
+
|
191
|
+
# message = [
|
192
|
+
# Part.from_text(text="画条狗")
|
193
|
+
# ]
|
194
|
+
|
195
|
+
for i in range(5):
|
196
|
+
try:
|
197
|
+
chunks = await chat.send_message_stream(message)
|
198
|
+
async for chunk in chunks:
|
199
|
+
|
200
|
+
if chunk.candidates and chunk.candidates[0].content:
|
201
|
+
parts = chunk.candidates[0].content.parts or []
|
202
|
+
for part in parts:
|
203
|
+
# logger.debug(part)
|
204
|
+
if part.text:
|
205
|
+
yield part.text
|
206
|
+
|
207
|
+
if part.inline_data:
|
208
|
+
image_url = await to_url(
|
209
|
+
part.inline_data.data,
|
210
|
+
mime_type=part.inline_data.mime_type
|
211
|
+
)
|
212
|
+
yield f""
|
213
|
+
break
|
214
|
+
|
215
|
+
except Exception as e:
|
216
|
+
logger.debug(f"重试{i}: {e}")
|
217
|
+
if "The model is overloaded." in str(e):
|
218
|
+
await asyncio.sleep(1)
|
219
|
+
continue
|
220
|
+
else:
|
221
|
+
yield e
|
222
|
+
raise e
|
223
|
+
|
224
|
+
async def to_image_messages(self, request: CompletionRequest):
|
225
|
+
# 两轮即可连续编辑图片
|
226
|
+
|
227
|
+
messages = []
|
228
|
+
for m in request.messages:
|
229
|
+
contents = m.get("content")
|
230
|
+
if m.get("role") == "assistant":
|
231
|
+
assistant_content = str(contents)
|
232
|
+
if urls := parse_url(assistant_content): # assistant
|
233
|
+
datas = await asyncio.gather(*map(to_bytes, urls))
|
234
|
+
|
235
|
+
parts = [
|
236
|
+
Part.from_bytes(
|
237
|
+
data=data,
|
238
|
+
mime_type="image/png"
|
239
|
+
)
|
240
|
+
for data in datas
|
241
|
+
]
|
242
|
+
parts += [
|
243
|
+
Part.from_text(
|
244
|
+
text=request.last_assistant_content
|
245
|
+
),
|
246
|
+
]
|
247
|
+
messages.append(ModelContent(parts=parts))
|
248
|
+
|
249
|
+
elif m.get("role") == "user":
|
250
|
+
if isinstance(contents, list):
|
251
|
+
parts = []
|
252
|
+
for content in contents:
|
253
|
+
if content.get("type") == "image_url":
|
254
|
+
image_url = content.get("image_url", {}).get("url")
|
255
|
+
data = await to_bytes(image_url)
|
256
|
+
|
257
|
+
parts += [
|
258
|
+
Part.from_bytes(data=data, mime_type="image/png")
|
259
|
+
]
|
260
|
+
|
261
|
+
elif content.get("type") == "text":
|
262
|
+
text = content.get("text")
|
263
|
+
if text.startswith('http'):
|
264
|
+
image_url, text = text.split(maxsplit=1)
|
265
|
+
data = await to_bytes(image_url)
|
266
|
+
|
267
|
+
parts += [
|
268
|
+
Part.from_bytes(data=data, mime_type="image/png"),
|
269
|
+
Part.from_text(text=text)
|
270
|
+
]
|
271
|
+
else:
|
272
|
+
parts += [
|
273
|
+
Part.from_text(text=text)
|
274
|
+
]
|
275
|
+
|
276
|
+
messages.append(UserContent(parts=parts))
|
277
|
+
|
278
|
+
else: # str
|
279
|
+
if str(contents).startswith('http'): # 修正提问格式, 兼容 url
|
280
|
+
image_url, text = str(contents).split(maxsplit=1)
|
281
|
+
data = await to_bytes(image_url)
|
282
|
+
parts = [
|
283
|
+
Part.from_bytes(data=data, mime_type="image/png"),
|
284
|
+
Part.from_text(text=text)
|
285
|
+
]
|
286
|
+
else:
|
287
|
+
parts = [
|
288
|
+
Part.from_text(text=str(contents)),
|
289
|
+
]
|
290
|
+
messages.append(UserContent(parts=parts))
|
291
|
+
|
292
|
+
return messages
|
293
|
+
|
294
|
+
async def upload(self, files: Union[str, List[str]]): # => openai files
|
295
|
+
self.client = self.client or await self.get_client()
|
296
|
+
|
297
|
+
if isinstance(files, list):
|
298
|
+
return await asyncio.gather(*map(self.upload, files))
|
299
|
+
|
300
|
+
file_config = {"name": f"{shortuuid.random().lower()}", "mime_type": guess_mime_type(files)}
|
301
|
+
return await self.client.aio.files.upload(file=io.BytesIO(await to_bytes(files)), config=file_config)
|
302
|
+
|
303
|
+
async def get_client(self):
|
304
|
+
api_key = self.api_key or await get_next_token_for_polling(feishu_url=FEISHU_URL, from_redis=True)
|
305
|
+
|
306
|
+
logger.info(f"GeminiClient: {api_key}")
|
307
|
+
|
308
|
+
return genai.Client(
|
309
|
+
api_key=api_key,
|
310
|
+
http_options=HttpOptions(
|
311
|
+
base_url=self.base_url
|
312
|
+
)
|
313
|
+
)
|
314
|
+
|
315
|
+
|
316
|
+
if __name__ == '__main__':
|
317
|
+
file = "https://oss.ffire.cc/files/kling_watermark.png"
|
318
|
+
|
319
|
+
api_key = os.getenv("GOOGLE_API_KEY")
|
320
|
+
|
321
|
+
# arun(GeminiClient(api_key=api_key).upload(file))
|
322
|
+
# arun(GeminiClient(api_key=api_key).upload([file] * 2))
|
323
|
+
# arun(GeminiClient(api_key=api_key).create())
|
324
|
+
url = "https://oss.ffire.cc/files/nsfw.jpg"
|
325
|
+
content = [
|
326
|
+
|
327
|
+
# {"type": "text", "text": "https://oss.ffire.cc/files/nsfw.jpg 移除右下角的水印"},
|
328
|
+
# {"type": "text", "text": "https://oss.ffire.cc/files/kling_watermark.png 总结下"},
|
329
|
+
{"type": "text", "text": "https://oss.ffire.cc/files/nsfw.jpg 总结下"},
|
330
|
+
|
331
|
+
# {"type": "text", "text": "总结下"},
|
332
|
+
# {"type": "image_url", "image_url": {"url": url}},
|
333
|
+
|
334
|
+
# {"type": "video_url", "video_url": {"url": url}}
|
335
|
+
|
336
|
+
]
|
337
|
+
|
338
|
+
content = "亚洲多国回应“特朗普关税暂停”"
|
339
|
+
|
340
|
+
# content = "https://oss.ffire.cc/files/nsfw.jpg 移除右下角的水印"
|
341
|
+
|
342
|
+
#
|
343
|
+
request = CompletionRequest(
|
344
|
+
# model="qwen-turbo-2024-11-01",
|
345
|
+
# model="gemini-all",
|
346
|
+
# model="gemini-2.0-flash-exp-image-generation",
|
347
|
+
model="gemini-2.0-flash",
|
348
|
+
|
349
|
+
messages=[
|
350
|
+
{
|
351
|
+
'role': 'user',
|
352
|
+
'content': content
|
353
|
+
},
|
354
|
+
|
355
|
+
],
|
356
|
+
stream=True,
|
357
|
+
)
|
358
|
+
|
359
|
+
arun(Completions(api_key=api_key).create_for_search(request))
|
360
|
+
|
361
|
+
# arun(Completions(api_key=api_key).create_for_images(request))
|
362
|
+
# arun(Completions(api_key=api_key).create_for_files(request))
|
363
|
+
# request = ImageRequest(
|
364
|
+
# prompt="https://oss.ffire.cc/files/nsfw.jpg 移除右下角 白色的水印",
|
365
|
+
# # prompt="画条可爱的狗",
|
366
|
+
#
|
367
|
+
# )
|
368
|
+
#
|
369
|
+
# arun(Completions(api_key=api_key).generate(request))
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : files
|
5
|
+
# @Time : 2025/4/2 10:40
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description : todo: 一般大文件问答需要
|
10
|
+
# https://ai.google.dev/gemini-api/docs/document-processing?hl=zh-cn&lang=python
|
11
|
+
|
12
|
+
from meutils.pipe import *
|
13
|
+
|
14
|
+
file = "/Users/betterme/PycharmProjects/AI/QR.png"
|
15
|
+
#
|
16
|
+
# file_object = client.files.upload(file=file)
|
17
|
+
# prompt = "一句话总结"
|
18
|
+
|
19
|
+
# file_object = client.aio.files.upload(file=file)
|
20
|
+
|
21
|
+
|
22
|
+
async def upload(self, files: Union[str, List[str]], client: Optional[genai.Client] = None): # => openai files
|
23
|
+
client = client or await self.get_client()
|
24
|
+
|
25
|
+
if isinstance(files, list):
|
26
|
+
return await asyncio.gather(*map(self.upload, files))
|
27
|
+
|
28
|
+
file_config = {"name": f"{shortuuid.random().lower()}", "mime_type": guess_mime_type(files)}
|
29
|
+
return await client.aio.files.upload(file=io.BytesIO(await to_bytes(files)), config=file_config)
|
@@ -27,7 +27,7 @@ config = GenerateContentConfig(
|
|
27
27
|
|
28
28
|
temperature=0.7,
|
29
29
|
top_p=0.8,
|
30
|
-
response_modalities=['Text', 'Image'],
|
30
|
+
# response_modalities=['Text', 'Image'],
|
31
31
|
|
32
32
|
# 公民诚信类别的默认屏蔽阈值为 Block none(对于别名为 gemini-2.0-flash、gemini-2.0-pro-exp-02-05 和 gemini-2.0-flash-lite 的 gemini-2.0-flash-001),适用于 Google AI Studio 和 Gemini API;仅适用于 Google AI Studio 中的所有其他模型的 Block most。
|
33
33
|
# safety_settings=[
|
@@ -61,15 +61,19 @@ file = "/Users/betterme/PycharmProjects/AI/QR.png"
|
|
61
61
|
# 'futuristic scifi city with lots of greenery?')
|
62
62
|
#
|
63
63
|
# prompt = "9.11 9.8哪个大呢"
|
64
|
-
|
64
|
+
|
65
|
+
uri='https://generativelanguage.googleapis.com/v1beta/files/88n7hk8tau7g'
|
65
66
|
|
66
67
|
# client.aio.chats.create(
|
67
68
|
# model="gemini-2.0-flash-exp-image-generation",
|
68
69
|
# )
|
69
70
|
|
70
71
|
response = client.models.generate_content(
|
71
|
-
model="gemini-2.0-flash
|
72
|
-
contents=[
|
72
|
+
model="gemini-2.0-flash",
|
73
|
+
contents=[
|
74
|
+
'解释下',
|
75
|
+
Part.from_uri(file_uri=uri, mime_type='image/png')
|
76
|
+
],
|
73
77
|
|
74
78
|
# model="gemini-2.5-pro-exp-03-25",
|
75
79
|
# model="gemini-2.0-flash",
|
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : images
|
5
|
+
# @Time : 2025/4/7 13:07
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description : D3 生图、编辑图
|
10
|
+
|
11
|
+
from meutils.pipe import *
|
12
|
+
|
13
|
+
from meutils.apis.google.chat import Completions, CompletionRequest
|
14
|
+
|
15
|
+
from meutils.schemas.image_types import ImageRequest
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
async def generate(request: ImageRequest, api_key: Optional[str] = None):
|
21
|
+
request = CompletionRequest(
|
22
|
+
model="gemini-2.0-flash-exp-image-generation",
|
23
|
+
messages=[
|
24
|
+
|
25
|
+
],
|
26
|
+
)
|
27
|
+
return Completions().create_for_images(request)
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
from meutils.pipe import *
|
12
12
|
from google import genai
|
13
|
-
from google.genai.types import Tool, GenerateContentConfig, GoogleSearch,HttpOptions
|
13
|
+
from google.genai.types import Tool, GenerateContentConfig, GoogleSearch, HttpOptions, ToolCodeExecution, Retrieval
|
14
14
|
|
15
15
|
client = genai.Client(
|
16
16
|
api_key="AIzaSyD19pv1qsYjx4ZKbfH6qvNdYzHMV2TxmPU",
|
@@ -19,19 +19,20 @@ client = genai.Client(
|
|
19
19
|
)
|
20
20
|
)
|
21
21
|
|
22
|
-
|
23
22
|
google_search_tool = Tool(
|
24
|
-
google_search=GoogleSearch()
|
23
|
+
google_search=GoogleSearch(),
|
25
24
|
)
|
26
25
|
|
27
|
-
|
26
|
+
# google_search_tool = {'function_declarations': None, 'retrieval': None, 'google_search': {}, 'google_search_retrieval': None, 'code_execution': None}
|
27
|
+
print(google_search_tool.model_dump())
|
28
28
|
model_id = "gemini-2.0-flash"
|
29
29
|
|
30
30
|
response = client.models.generate_content(
|
31
31
|
model=model_id,
|
32
|
-
contents="
|
32
|
+
contents="亚洲多国回应“特朗普关税暂停”",
|
33
33
|
config=GenerateContentConfig(
|
34
34
|
tools=[google_search_tool],
|
35
|
+
system_instruction="用中文回答",
|
35
36
|
# response_modalities=["TEXT"],
|
36
37
|
)
|
37
38
|
)
|
@@ -44,3 +45,4 @@ for each in response.candidates[0].content.parts:
|
|
44
45
|
# To get grounding metadata as web content.
|
45
46
|
print(response.candidates[0].grounding_metadata.search_entry_point.rendered_content)
|
46
47
|
print(response.candidates[0].grounding_metadata.grounding_chunks)
|
48
|
+
# response.candidates[0].grounding_metadata.grounding_chunks[0].web
|
meutils/apis/images/recraft.py
CHANGED
@@ -54,10 +54,8 @@ async def generate(request: RecraftImageRequest, token: Optional[str] = None):
|
|
54
54
|
payload = request.model_dump(exclude_none=True)
|
55
55
|
logger.debug(payload)
|
56
56
|
|
57
|
-
#
|
57
|
+
# 默认 prompt_to_image
|
58
58
|
model_type = "prompt_to_image"
|
59
|
-
if request.image:
|
60
|
-
model_type = "image_to_image"
|
61
59
|
|
62
60
|
async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=60) as client:
|
63
61
|
response = await client.post(f"/queue_recraft/{model_type}", params=params, json=payload)
|
@@ -138,7 +136,7 @@ if __name__ == '__main__':
|
|
138
136
|
token = "__Host-next-auth.csrf-token=b6b37b10948a6156a1a39d09bd43ab6d0867fcd6001987531fe6f86f802bb0aa%7C3afdfd56119e801c5cb80dc96670031c85a2d9a02e8205f38fc5d6128e1a4075; _gcl_au=1.1.386131236.1736384852; _ga=GA1.1.282109674.1736384854; AMP_MKTG_7268c9db0f=JTdCJTdE; _fbp=fb.1.1736384856672.571916090953259055; _clck=2fa0yj%7C2%7Cfsf%7C0%7C1835; x-recraft-referral-code=1f1xoKVYB9; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; _uetsid=1d264620ce2611efaf8a0f99cb3bbb99; _uetvid=1d2649e0ce2611efb597376fda548d79; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJlMTcxNjRlMy0xMjU4LTQ3ZTYtYTJmYi1jN2JhM2FmNWRiZWUlMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjJlYTNmNmY4NC0zNzNhLTQ0ODgtYTRjMi1mYjgxMzk1YzNiMzElMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM2Mzg0ODU2MzQxJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczNjM4NTAzMTczNyUyQyUyMmxhc3RFdmVudElkJTIyJTNBNjQlMkMlMjJwYWdlQ291bnRlciUyMiUzQTEzJTdE; _clsk=szrjt7%7C1736385032306%7C11%7C1%7Cq.clarity.ms%2Fcollect; _ga_ME15C3DGRL=GS1.1.1736384853.1.1.1736385032.0.0.0; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..SyUWD5O3-8Fu7f9K.jbfQGmUTAstB_wL4cyqA7QcbWKp4AFMnouf-WtJnwaPC4gIfu7iuNkXmrvbfp2YsqFJzSIl-5MvZrXt-bhk-DJtwqAdPzTw6sSa33I3IHWSS3TVlVFc9Ze-HT_6dIeMpIiN-rCSNGdpmtkEJLp_3WrCSGPB0NbJLLL_MGg6cQdS5WYz4trehD8sPSQUgYlTw_VaMImqVZOxKujLLgmGfgYdV8nl9p-JmFHMbpfcgn-yXqLca8E50sQOWldPw0p4RqsYyByUANX1POJAW33rm9fsRDHEKtVxOtlW5Hy1jev__V9UqSrhcvH_OQREngiQGYbtD0qLogeUg-vbL0VUAL-9USzXIn2Una3lP04lp3m_NKldiSShXsHJT8RW8IAl7K28ILGilA1fgx0V09JFIHhM4fX-hrPzqoh-BuxaaiF5czEHTtTPLXmnV1UiQgZVmfgliI2e_r9J3WtF-SgSc1Il2cvwxAsp66p5cjixFbpj7AULPXndQniHhTiU9zgDDdv-fEf0arKzW2w0--zwSmYizXMMpNblgxZ9k51CdOBCAM9YGtzDaB-NSA8I9RuHzmgXMvT5GMZSiezuoLdRRcVpuJBz-XF0v9QoQz7SQt6aMaCCTa-fxee--nfYZELu1Uhh90StcuT84VOAlx-wg6FxPEDI6cjlVtKuzcN_RMVYbWKO2z5xLw4zlqyGBleRjt7hNNt-IeCbGuaDxgbUViwhNr_qdh-_ZjQlz_FL4rzlJwPrl6puOsydFF8NIy0MU9oBdelGTtG8LwzNnOW_hGdqEfhXfDP9mzv4Fs4kqGNQxvT0PU2NQ5hIOTb540yHqTGb3kihXPaZL4YregR2-UPRxOM1qmWwgRZ93d9m0BUplhO9s9U2hYoLhp01ID8kiNi2AWp0hRcalh6PwgqSdzgbif3IH8AcHRJpnV2pRSbD7k883O6ukkItWPE-ysv-ak_Hl8FR046xjDaX1ITtyrJmTzFqQ627PGuOt01RmsVMOb1IFCcx4Fr4AYwOMDY0RDk1YxIUUqU4kyMZMVlMrI_ITcrYshdJwdr4k3hNk51gS3QUrhIDnUq93mvUSidSUy_jX47H-ORf9Al5poN3vNJPye9ogASdqRr2psn1UpceMzrejXz_xDSBllWGlSyAmHDlXniKfzGSbRtqET9xRZfy7X0iOGd0WW2Sb9BkI2OE6h2abFkeSmTXJTMaZXhQ244XkhvDVnps1QX4mdSIa1Js0Pb73DcWLV5TR1sTVxm5h9c1l5r-YxWQ9hjF3A43_V0Jp9ATDlcPIjewTqAcPuuNhcQRR6i7pt2CadiFpfT-h7DA1PvPRo7ReySBzDK9VhnlvodflQugnxj5gsRljH6r43s4OrgpJwCtENl-_yw4jDJCCXkJwHfLpSKhLR6CFSM52vrMa9fWg7iW1C4HIVVqyqIwC98-CTe5jYDMKrX_g40oDZL3XEhFCTfzl5o_UfqXJEWlDKZ0D_Aig7iNLDOEq3cwK9QDiP4-bX6jtM1zkltpCY-HPpwTXbtV4iIP6usg9lSJgCDgJjaS39rpBVYSrj-Y_PtPlPW5rJMVkSnp_f_J7uAwQWnluuEpxrb0Ap-vF4Vk4q9gBESbnk3PBg8wfFPC1GesPI4HyG8Jy3oIss8pDXba6D70soJiozgBcPTSxdeDIP1CXsRN2wiItYHeyslQE-_egn8oezT9__8LyVrY8guv14Nu-WGPx3R9xzpHn4TPY3nJQ6bU9H0PlB0qmJLsSh6tWtJ0Yl8-NMlEKr9WkcjOJB-QpFiDEyw3V7r65U5b_BOaNpzRA5OUJ_ZmCfufmyfnHm8R6mE5wqrwUfmxYBRfP_w8_ix58zwTzFsLe7Fii5_J411vqxFHefcljnpgFgf1UIOoAPBUfygBTVdpdJcWzA2QXNI9lKxUIC6pLme9rpNlXE2bCE1cn74qA974x1gBjZ5B_FVsmkYhFRwSboi8ypRFA1F6EWwSNO-LUQH8uVbrDisjjjAX19xq_Sibwq5P-dZMY6aLCuInQjfWic5NGsjjwh4xtBv3FTyt1nvt9SonxdsJi_wvcjEoCVyP7PfYy5Eo-MkOpznzGYc9slQscUhKPihaB7wlAJZxe99tBUHLJI6XoI1o2Z3G4KGRK6PTO_THOTVFBylKTMbg_jvHw63TL4-LNlhJ2efmSjnEZqpGkgIUb8wYSoG3OR-v3H7WPvvAtJAs-NfvQXSGaFZ3O-LnStvyT869zXwP9U6_NZjml7gB9iA0cZVw4o5tAFI5DPVstJAqSrjIW59cpTxxDo2zeBdl8aq5FoKIZ63w8QebUeibLT8_lejsWQtg8RX4WrSTbuZN-gtCsMY4Q-TY4gJtVygtjz44QMzYDXq0G5mlqnPanLvR9tOfZODm8z87e355KdmD7pI305NimlYjMAFECfAaQN4G3oDZiDb85KkO92JXlVwWbo1xfbx4FTikedjY-BI1ErQB5gxTgPo252aw5r9fItydPBE_nuZU211tc41k8IF2F_cbSZ9tUjZz14yb4Ux4RWUdtHs3y7Jh9_5Pj0dnS3dEgJ-7jlhz-v2tmrcgzcEKqDPQGdhKfLl__AMM_11LqMuvj0boYiiaDx8DHN95J_d48um0YvB5IU3sQucEXiRK2j8FpAXc9ptQqPTGdSzz4VhIE0EIzZIV3QqqaRqH6ZEXcNuV_DXwl6HOjui78yu-rpqz50E9fxePaV5LHPbzXp_ZEOLrWonqo9ZAIHzWhCbVM_vMxK7CnrfmhW4ow8l71maoD0ToyTW7J0KbegCnEVyVhAF-IqYc98gq0vEbfgH42JKk07-8v1gVNQ6TZpAbtgajdrRe9XCuR58f_dt7_y8xWLXw_tINMB-x5MLNbdomfSMsit9Vfl29Yr8yD4KIkYhsfhl-nH-7ntrx4KkkLdLoNhKbhdI7o7NO1zdJ22ur7op4YlAWSNq5q-q2uhF3bKTkYhAIJ2FnPZpYmv7NoldLkAML79C7xtbZTJ0ZgXCjxzbEI50-9qvhEMSNm5AjZLrE3tTp6GVJWfIvjb3HmTvEAxR3rRefzzTaKW-MO9t3OurUPood1vkMR7oQzQY_n6DaZKUcxA6L8sK8s2MfEb78h_ZKeKDRAFsnspHdVTYf4xEu_SbXyDYbx2vBU2beXYdhzcdLWff32f3jioAf_q8hk2wKAcj2Spik7Ng-HPbme3XPD0w1b6d266bJ8GIWCUoGmJ9Wm0UalL-ZnoX16yN9El_wfOEoXBFWRe56Ur1ih6ZwZkcuCMZcnUAlXaL3JGgrxtwQjUtuSPSAo7kBZGIS7xXzFL7aJOi9ctqBAJVH0C3g8TJcW7ilF-qzEwrOoo1zWfLQpxMXhg8XKLDzOPAFBwyEOlDaRdoj20aE6NTeWST-X3QEufdM0PE0uB3FAhYWTPyILrAulrIsMJphGU-9sABotQs9apb8Vvekzou3oQ02Nr8n_CHVdDfE7m9I1lOxnB8Yz78oJhBs0WAbcZL9Vy-c-RVBauUMgceqSyQJ3uHR3iWsze4yeVOb4LE4nUxsfBMHQhW-Via3wFpInCCJxS3je2wtiyDTztuMNN8Mxn_GuTJ1i-KkDdvWiAL9c4zg_6HQfsMpLXQXpJ4Ovk-wUAV_NaW9NnVXHR-ygTcsf-BUHEV6dm0EPEk3tNVdlOTMDzXeYmpXn7xSSPuHglNcLnCzbmiANoqs1N5knV9_gVx49MLkYzE2rK_xdAFZUgiR4uujQ16mWNHtzrUUZOWmPu0HrAt2cJsz0snCfakahNceO3di-MQCDppMUnoSlq2ZnRcsMYu_n7mjOP6suimdawk9Ik1y_RpJ1O92UjKl63SqTtknADbwywiDiLr62V59YEUxKhGIaNrg; __Secure-next-auth.session-token.1=q9Nx6cKkfa0ZpdMRs7aQg5BCEByRK-upafTx1BRw9yA7R30AXoMtQfz6ExKBqsbpyVHqJFnLBQuZqJEi_Bmk34FeYJrUjD1ddsPmEex0ftUACPSugpdrgsTxc8CN0f4a8t_m8wTHxhQWbE5_GT-A4Hb4T68U9pDkzA1kWMVHkQ6h1x7HyW_Ykh1KXejgZFJBhdvv4dAKpv0ckYCNXwJVgVwCKGCNikx-ubtZ-5XDX5ZquUNzVEGpx1cr-F4e0-aw8CDQmdZ0Zh7VHV5DKL7SkQW20FHjpiK-J6gdkkjGFX7EybuEM1KCZ-KI_9hna9JzZc52f_yyoN05hqTzWmfh4aFeQL3j1nErMn23uiava2BfKIoQ59dKWOO5zos66El2TtIFerhUFJDyt8sUOcybCWsmmf05oSeLzHeaJYBA8j7SP.FYyhM198a9ZP-Ep6hZRQNQ"
|
139
137
|
token = "__Host-next-auth.csrf-token=b6b37b10948a6156a1a39d09bd43ab6d0867fcd6001987531fe6f86f802bb0aa%7C3afdfd56119e801c5cb80dc96670031c85a2d9a02e8205f38fc5d6128e1a4075; _gcl_au=1.1.386131236.1736384852; _ga=GA1.1.282109674.1736384854; AMP_MKTG_7268c9db0f=JTdCJTdE; _fbp=fb.1.1736384856672.571916090953259055; _clck=2fa0yj%7C2%7Cfsf%7C0%7C1835; x-recraft-referral-code=1f1xoKVYB9; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; _uetsid=1d264620ce2611efaf8a0f99cb3bbb99; _uetvid=1d2649e0ce2611efb597376fda548d79; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..WqFwC8QbnjwUkMxi.RYqiKFIQTVwJF5azhoAlOscRiivJrpL5fRaArVfPstl4mOB0YTUtp3l7TMKbGEsM8nV2DW68eRarLqQeVjq0eKzD4MNuvuKy0y0phQTMs7vKlKCM5UgWMxz3Uz30f7GmH6s4D0aFDGbJ6upcsUqZ0BMwY2KkXId5uilh0jrDhinv5ZCIQA0o89Nf_lOcapGVsEi4OdYhe8fDDuhaI8x8TnkTQcDjwijc44WWUQg5vXJusYAVRbXR0-hO_fLl7verrBVKWPKXsP_tbRSk2TIqTavXoP-RcHI55R-vQD0G3lbl0hkjiDhWZ8SG2g3_KkbnF9XovoilxZpguNUSqLLHevldctBrMDG9vnoG6FRVwmPF8T5IxVYnkCb5IiyIJLMAOWlVlcNmKM2n2N-_iW21-skyqq0O0sUpukL0gFLp5UlpKtXUbTOMaD60Ja0D7n2THWO3yWrlTmXJ641igNxsAfb8iMuN9XpVSLTGmSVoojIQkbb41Br5ZmAdlH3D9X2u7cZD756HkOG4LhWp6rjaoUwDY1XBMjSxs9lOOGQGnr7xfmVC7fSWDuRhHxwF0C9PUbndo3zv12A437VASNXzuJ7W-nvBP0i7PUw09bKgYTsUyytFwBiRFW_Lj3l5Fcu0qrXQBosvdZvgS3QNEMqOWPWiyQBI5NatP8ZSQuquzvNDRt4typ5T6YP6NEqqMwSLRL6mwA1_ZquU78kygEUFYq5fUtUoWoW8CdbHsZe8DvN0fIhW2iAguey5hj7Dwg3xstOM-aDyRMbY-ML__zTi0w-TB0XzJ9NSXe8a1b3vvjzNqNWmeUwF4eT2KAloIvKRrlWZRC3OedxI8aRvoVGcnWqpRsvZNgUY3blfxG9lR1KrNgAcDhcRB3Si3APLlUT5Uv0MzfZKwWtZ16lLNmY6bRnlQO_IGRVvGWp0tXiwMAR6vXEhq3FqEOMy9W1JW2MVS9s_mpOrloRr4CIxtDbrE90Pjhm1wPzC43OMGsm2gxU8JTaRtWftnZ6EUlO2rski0Ep2Kl_iTwotDVPZY3RV9B8GWTfmJ8mU2EPTjlKcpeyPGiLdZkI4r5HGT6Bt9sv3JXQeU64ecmhbDEr9zrDVRDJlt3nGsQlDq21xkOsQw6nyFjg0cw_i5sGqkyLEQgkfVHGaNuUy_aP7us-DHeLCgusM0qFjsGh6TqY536AxlecGZr5Xh7FOEgVcNHfmT8gTRGPJuqMU_c8kyWqhihx_vm1dTTkHF0O4LJ3W9c-8sAQhsHvzsGGoEBkCi3TaTlBAcJ1_4ix1ITj21Ix1Udmc4cvNE5NRW_aBiwGQvrKlT7qvpxzzHZd-zpF2jAN78bGm6-jK2WSy59-y4FN9ZUrG1QwG5n-3rFiSl-pqRY3Bybx4ANnEU1cbf-0rnL-R3rcbCOEcMOf3CWc78PraUa7sqoV4tnmJdSwjmpVPmptOs2b9bbg6B7XqAsYX9PlkSAztLJQlVIUD4et0O1MOf5nSCmOG-x4cb1wtw8O2ZKea963732M9MUpiw9jBn2sAQbH5cufD0xlXGuVzn8gkDzOb007V018t--yJmbYcvDgMbp7VPESkQdtVMScn-jcpzNrdqDRIUjehEseVuULZhlv4HKopQjNrnyEenZb7kbeogISNKAa5zVKLKots1L9kTHkyziYdcv8bETD53c1CiIekupheQO32zXFc5KDeoTyQNi0O4KKpSCKSlp8GtmNt1q5--y8z1mmFru0xQeTcFG7rgm-q3u6lIQuxRM5n-hHdosYhRsJmX_AOlzw7UpagoV90hzxfGQwa5Oa9OHfoisF5-ueVsibMe-mqWct6OVV9Rke_7lPfjhVbQUS1-Y73MJJF1H5uW8b88GZqPIFxNTb8P-1ACFCWFpvCJRHjJ2rNP5AF1VtSKIgitmaNVwmqcwCwXOpGO7KqSqfKiIBGgik2t7T_joJjwZetvjpnZ-apNCJpmqtJc1rEfDGDBQvaXEuIJ3aB2nB1f4JNqxUatW9D_QMuLHvKmKPlRBQRtHMA7p-XFaJHQm4U-yhz75eGMCfcT7ik-3i8QNFJwwrZcWVbDNqdExmpV0hiE9fjgbmhU5OkoysPgrZfn0WSfo1Cdccb8WQuR8Kn_xj9cCqUjLm79mrsfUzLDsQOgIRBeiUoAH3oQKfI5Iqp2tquOHWb8SyZwENkpKPnipX_60G7BxcqpB5WI6-3MIilfH9itqdYYKImNncuVEzNZX-b2STHKxX1ESCgeb-Hq6SUuEwQtHK0lFnw_Jom8he6ShB-n4a2s6dBO4zT_awB4LZF42-ri7ewlONh2WzLTGW-lK7JNLPEfeXWR-jye7ALwGA2UEtXisMUhEMpuCt2La5EiCKBaw6deGygVbJ2t6dEbkSSEAoZONHctgqmZ9dNMaXC9Hyyo5sPKZPo8uXtJSslyHJlMvgY4W8Uj41IP3Umw1-j_FjYjWiOc5BFAvSbLczgWoXWqbcDa2plXnUmty9OTHw02dZb4opkhLi43ONSodwHqHGWyTgH3kdRhFYV-2uwkSVF8nZG0RHxEDGB3knN6HoHji2LJcn9TwZzOQDaG5sJzrVI12ZLPUx3KSxrygZ6d7KFJpXmi7jXe2kyExrO_HtpNebKq__h776GvuWsx887t2T-DoA1XFoNxbSWIDBaaRrrrMQnTubI7Dl6gs3ea7z2hmDFYcwrqb0r9bDBgx7yhSPjn3AgoRs43NYRe1gVoURcHduyFS6DM7wncDDMIyz3bgEtvJ4YPI2oPIH74MHDJOR1yUt6OmGMqIs_XbuekM9bi91iNAxwcIgdnYWTGUiR2Vk6O2VqqheOwAXn-_G16oGocsaLoOzu22ywuK6xNcleypBc_vyaPuoDmIlxxNvApurczDFHbTOvlq19G-CcP34gKlW_VLe_1KSA8W5cnH28yllZhzTUs14UpxLC6uV6VarxVqrUCLeWgvJ3Nc0pXiBE4ZwZuwWMzYWGSi2VtPeShJwhYpRlyt-AZLgXmNMpN4cGqxaFLhiD3m3M5r8ZzsBE_krksF4x-dfptxE18DRSZ5mQ9iF8BEl73VX5s88L4hDBZn9up6hAG-rTVVr3JOT85KYhvXfll92al7kgmYxNF3UVsHBTX8XxtiQx14wKm5gRwLtbBxeuD7HdU3cyqZgvrBrQlISH8p5ghqULI_BFIuXEN8uD52RE3vXrb9gUEMSAWeo7CS_xx-XwSVsfbnMBwzqFe7AcYDGfe38zpCi-oh9sCJjAAXN-KD40UZB7ld-kx3DrDjmRLnp1-gO0Sl4CKti9MFZboe_gxODqG070Cok0niSsoxJdLnfhcYw_JN5fWfhJOzTxRP7l4CXq74ji7ltw7N_EgYUzIONC3nAxZrU746soEvWcUNLmXyYEow3XWyTddMcenK7tLkveetyVXrQRnR7-n0y-WHKpA0dN8ZdnCM4j_z7wkoO4FN3GxGAL9Y0hi--9th4XbP8p_r6VLJ4SQNIuIKuyxRB6Y2NPFNnrOLlXuZiM9OUuFGO8Kz2qU0mPswV805wFCNh2bGNnSPOamizz4LernNK84t6_GM4NgoN7yTaBEX-Ng1EvnJhEfcZtwI3oSXBuLn7ufbWupHMJZfggEZ2FV5y3-w6SQymrpUSBnDZh1LpmibK1cGnJjAB7-1sWmTGUnV75j-qWMh97bPqJi8Uty5tYbgpulO-P4n1KTuCqGXbLDwINu_FNcmOEreQYJcEX1i0QOEoVblu5eJqC5kBPkBPEC1bVhNl3D2Ufdd3i2XCbxvfCoyc5eysl35Od1Hxst-KLZ4tmYI_pTNlI-JqwuKC2RUzJXVqiXpmaAk8jT592uFJs28jlLiB4TmWQ3L48kCnLaya0c_AFhGecdHEbbEy; __Secure-next-auth.session-token.1=twI76zjwWsf6cDBVpwTSlQGNTowWAosArlcPKymXnMkcNljStgeFkom9k95zpiXIDpFsiJB-PTLuGBj_3HmZUpEm5MuHUgbQKSFPio2l7wRW6a98uWicEzF4fcCjGz9OrDwBUnUxjcNnXue0alwa6AhF5T1B79ibZHjBtGq4IYsmt_l9mHR4wsRNXV0w_zCOhQfH1R8sczNff7eKcVnDo14FeadzZEqSNoKGU1C_6TZMOa7zzETGQPekh279ylKUaOZ9EshI_P3aRw71XNEdE2C-uOMZPuJIA3zPBvgYxdfppBXENTh8quyQAzHFmIMubPMg2zCNTD6ANvC5eTEH1B675sA9emI9DnC2UJVmNBJQPIpkncxQd98eaeYS0tHaUyzD7HQFJBFQOCmEh-ORdrJVoab1A36idPdzLusO0Tm1e.ZrEoUqMjNICG-4yAF6sAPw; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJlMTcxNjRlMy0xMjU4LTQ3ZTYtYTJmYi1jN2JhM2FmNWRiZWUlMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjJlYTNmNmY4NC0zNzNhLTQ0ODgtYTRjMi1mYjgxMzk1YzNiMzElMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM2Mzg0ODU2MzQxJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczNjM4NTAzMDcxOSUyQyUyMmxhc3RFdmVudElkJTIyJTNBNjElMkMlMjJwYWdlQ291bnRlciUyMiUzQTEyJTdE; _clsk=szrjt7%7C1736385030758%7C10%7C1%7Cq.clarity.ms%2Fcollect; _ga_ME15C3DGRL=GS1.1.1736384853.1.1.1736385031.0.0.0"
|
140
138
|
token = "__Host-next-auth.csrf-token=b6b37b10948a6156a1a39d09bd43ab6d0867fcd6001987531fe6f86f802bb0aa%7C3afdfd56119e801c5cb80dc96670031c85a2d9a02e8205f38fc5d6128e1a4075; _gcl_au=1.1.386131236.1736384852; _ga=GA1.1.282109674.1736384854; AMP_MKTG_7268c9db0f=JTdCJTdE; _fbp=fb.1.1736384856672.571916090953259055; _clck=2fa0yj%7C2%7Cfsf%7C0%7C1835; x-recraft-referral-code=1f1xoKVYB9; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; _uetsid=1d264620ce2611efaf8a0f99cb3bbb99; _uetvid=1d2649e0ce2611efb597376fda548d79; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJlMTcxNjRlMy0xMjU4LTQ3ZTYtYTJmYi1jN2JhM2FmNWRiZWUlMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjJlYTNmNmY4NC0zNzNhLTQ0ODgtYTRjMi1mYjgxMzk1YzNiMzElMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM2Mzg0ODU2MzQxJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczNjM4NTAzMTczNyUyQyUyMmxhc3RFdmVudElkJTIyJTNBNjQlMkMlMjJwYWdlQ291bnRlciUyMiUzQTEzJTdE; _clsk=szrjt7%7C1736385032306%7C11%7C1%7Cq.clarity.ms%2Fcollect; _ga_ME15C3DGRL=GS1.1.1736384853.1.1.1736385032.0.0.0; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..SyUWD5O3-8Fu7f9K.jbfQGmUTAstB_wL4cyqA7QcbWKp4AFMnouf-WtJnwaPC4gIfu7iuNkXmrvbfp2YsqFJzSIl-5MvZrXt-bhk-DJtwqAdPzTw6sSa33I3IHWSS3TVlVFc9Ze-HT_6dIeMpIiN-rCSNGdpmtkEJLp_3WrCSGPB0NbJLLL_MGg6cQdS5WYz4trehD8sPSQUgYlTw_VaMImqVZOxKujLLgmGfgYdV8nl9p-JmFHMbpfcgn-yXqLca8E50sQOWldPw0p4RqsYyByUANX1POJAW33rm9fsRDHEKtVxOtlW5Hy1jev__V9UqSrhcvH_OQREngiQGYbtD0qLogeUg-vbL0VUAL-9USzXIn2Una3lP04lp3m_NKldiSShXsHJT8RW8IAl7K28ILGilA1fgx0V09JFIHhM4fX-hrPzqoh-BuxaaiF5czEHTtTPLXmnV1UiQgZVmfgliI2e_r9J3WtF-SgSc1Il2cvwxAsp66p5cjixFbpj7AULPXndQniHhTiU9zgDDdv-fEf0arKzW2w0--zwSmYizXMMpNblgxZ9k51CdOBCAM9YGtzDaB-NSA8I9RuHzmgXMvT5GMZSiezuoLdRRcVpuJBz-XF0v9QoQz7SQt6aMaCCTa-fxee--nfYZELu1Uhh90StcuT84VOAlx-wg6FxPEDI6cjlVtKuzcN_RMVYbWKO2z5xLw4zlqyGBleRjt7hNNt-IeCbGuaDxgbUViwhNr_qdh-_ZjQlz_FL4rzlJwPrl6puOsydFF8NIy0MU9oBdelGTtG8LwzNnOW_hGdqEfhXfDP9mzv4Fs4kqGNQxvT0PU2NQ5hIOTb540yHqTGb3kihXPaZL4YregR2-UPRxOM1qmWwgRZ93d9m0BUplhO9s9U2hYoLhp01ID8kiNi2AWp0hRcalh6PwgqSdzgbif3IH8AcHRJpnV2pRSbD7k883O6ukkItWPE-ysv-ak_Hl8FR046xjDaX1ITtyrJmTzFqQ627PGuOt01RmsVMOb1IFCcx4Fr4AYwOMDY0RDk1YxIUUqU4kyMZMVlMrI_ITcrYshdJwdr4k3hNk51gS3QUrhIDnUq93mvUSidSUy_jX47H-ORf9Al5poN3vNJPye9ogASdqRr2psn1UpceMzrejXz_xDSBllWGlSyAmHDlXniKfzGSbRtqET9xRZfy7X0iOGd0WW2Sb9BkI2OE6h2abFkeSmTXJTMaZXhQ244XkhvDVnps1QX4mdSIa1Js0Pb73DcWLV5TR1sTVxm5h9c1l5r-YxWQ9hjF3A43_V0Jp9ATDlcPIjewTqAcPuuNhcQRR6i7pt2CadiFpfT-h7DA1PvPRo7ReySBzDK9VhnlvodflQugnxj5gsRljH6r43s4OrgpJwCtENl-_yw4jDJCCXkJwHfLpSKhLR6CFSM52vrMa9fWg7iW1C4HIVVqyqIwC98-CTe5jYDMKrX_g40oDZL3XEhFCTfzl5o_UfqXJEWlDKZ0D_Aig7iNLDOEq3cwK9QDiP4-bX6jtM1zkltpCY-HPpwTXbtV4iIP6usg9lSJgCDgJjaS39rpBVYSrj-Y_PtPlPW5rJMVkSnp_f_J7uAwQWnluuEpxrb0Ap-vF4Vk4q9gBESbnk3PBg8wfFPC1GesPI4HyG8Jy3oIss8pDXba6D70soJiozgBcPTSxdeDIP1CXsRN2wiItYHeyslQE-_egn8oezT9__8LyVrY8guv14Nu-WGPx3R9xzpHn4TPY3nJQ6bU9H0PlB0qmJLsSh6tWtJ0Yl8-NMlEKr9WkcjOJB-QpFiDEyw3V7r65U5b_BOaNpzRA5OUJ_ZmCfufmyfnHm8R6mE5wqrwUfmxYBRfP_w8_ix58zwTzFsLe7Fii5_J411vqxFHefcljnpgFgf1UIOoAPBUfygBTVdpdJcWzA2QXNI9lKxUIC6pLme9rpNlXE2bCE1cn74qA974x1gBjZ5B_FVsmkYhFRwSboi8ypRFA1F6EWwSNO-LUQH8uVbrDisjjjAX19xq_Sibwq5P-dZMY6aLCuInQjfWic5NGsjjwh4xtBv3FTyt1nvt9SonxdsJi_wvcjEoCVyP7PfYy5Eo-MkOpznzGYc9slQscUhKPihaB7wlAJZxe99tBUHLJI6XoI1o2Z3G4KGRK6PTO_THOTVFBylKTMbg_jvHw63TL4-LNlhJ2efmSjnEZqpGkgIUb8wYSoG3OR-v3H7WPvvAtJAs-NfvQXSGaFZ3O-LnStvyT869zXwP9U6_NZjml7gB9iA0cZVw4o5tAFI5DPVstJAqSrjIW59cpTxxDo2zeBdl8aq5FoKIZ63w8QebUeibLT8_lejsWQtg8RX4WrSTbuZN-gtCsMY4Q-TY4gJtVygtjz44QMzYDXq0G5mlqnPanLvR9tOfZODm8z87e355KdmD7pI305NimlYjMAFECfAaQN4G3oDZiDb85KkO92JXlVwWbo1xfbx4FTikedjY-BI1ErQB5gxTgPo252aw5r9fItydPBE_nuZU211tc41k8IF2F_cbSZ9tUjZz14yb4Ux4RWUdtHs3y7Jh9_5Pj0dnS3dEgJ-7jlhz-v2tmrcgzcEKqDPQGdhKfLl__AMM_11LqMuvj0boYiiaDx8DHN95J_d48um0YvB5IU3sQucEXiRK2j8FpAXc9ptQqPTGdSzz4VhIE0EIzZIV3QqqaRqH6ZEXcNuV_DXwl6HOjui78yu-rpqz50E9fxePaV5LHPbzXp_ZEOLrWonqo9ZAIHzWhCbVM_vMxK7CnrfmhW4ow8l71maoD0ToyTW7J0KbegCnEVyVhAF-IqYc98gq0vEbfgH42JKk07-8v1gVNQ6TZpAbtgajdrRe9XCuR58f_dt7_y8xWLXw_tINMB-x5MLNbdomfSMsit9Vfl29Yr8yD4KIkYhsfhl-nH-7ntrx4KkkLdLoNhKbhdI7o7NO1zdJ22ur7op4YlAWSNq5q-q2uhF3bKTkYhAIJ2FnPZpYmv7NoldLkAML79C7xtbZTJ0ZgXCjxzbEI50-9qvhEMSNm5AjZLrE3tTp6GVJWfIvjb3HmTvEAxR3rRefzzTaKW-MO9t3OurUPood1vkMR7oQzQY_n6DaZKUcxA6L8sK8s2MfEb78h_ZKeKDRAFsnspHdVTYf4xEu_SbXyDYbx2vBU2beXYdhzcdLWff32f3jioAf_q8hk2wKAcj2Spik7Ng-HPbme3XPD0w1b6d266bJ8GIWCUoGmJ9Wm0UalL-ZnoX16yN9El_wfOEoXBFWRe56Ur1ih6ZwZkcuCMZcnUAlXaL3JGgrxtwQjUtuSPSAo7kBZGIS7xXzFL7aJOi9ctqBAJVH0C3g8TJcW7ilF-qzEwrOoo1zWfLQpxMXhg8XKLDzOPAFBwyEOlDaRdoj20aE6NTeWST-X3QEufdM0PE0uB3FAhYWTPyILrAulrIsMJphGU-9sABotQs9apb8Vvekzou3oQ02Nr8n_CHVdDfE7m9I1lOxnB8Yz78oJhBs0WAbcZL9Vy-c-RVBauUMgceqSyQJ3uHR3iWsze4yeVOb4LE4nUxsfBMHQhW-Via3wFpInCCJxS3je2wtiyDTztuMNN8Mxn_GuTJ1i-KkDdvWiAL9c4zg_6HQfsMpLXQXpJ4Ovk-wUAV_NaW9NnVXHR-ygTcsf-BUHEV6dm0EPEk3tNVdlOTMDzXeYmpXn7xSSPuHglNcLnCzbmiANoqs1N5knV9_gVx49MLkYzE2rK_xdAFZUgiR4uujQ16mWNHtzrUUZOWmPu0HrAt2cJsz0snCfakahNceO3di-MQCDppMUnoSlq2ZnRcsMYu_n7mjOP6suimdawk9Ik1y_RpJ1O92UjKl63SqTtknADbwywiDiLr62V59YEUxKhGIaNrg; __Secure-next-auth.session-token.1=q9Nx6cKkfa0ZpdMRs7aQg5BCEByRK-upafTx1BRw9yA7R30AXoMtQfz6ExKBqsbpyVHqJFnLBQuZqJEi_Bmk34FeYJrUjD1ddsPmEex0ftUACPSugpdrgsTxc8CN0f4a8t_m8wTHxhQWbE5_GT-A4Hb4T68U9pDkzA1kWMVHkQ6h1x7HyW_Ykh1KXejgZFJBhdvv4dAKpv0ckYCNXwJVgVwCKGCNikx-ubtZ-5XDX5ZquUNzVEGpx1cr-F4e0-aw8CDQmdZ0Zh7VHV5DKL7SkQW20FHjpiK-J6gdkkjGFX7EybuEM1KCZ-KI_9hna9JzZc52f_yyoN05hqTzWmfh4aFeQL3j1nErMn23uiava2BfKIoQ59dKWOO5zos66El2TtIFerhUFJDyt8sUOcybCWsmmf05oSeLzHeaJYBA8j7SP.FYyhM198a9ZP-Ep6hZRQNQ"
|
141
|
-
token= "__Host-next-auth.csrf-token=14ca9d794219c34aca808cdc2a310d73ae76584a7bc746518742db0ac0baadd1%7C74c6e91fc8b1400a4035ce81d78e6a0516c8283e7c2a9104b3d75d93441a83ae; _gcl_au=1.1.526202796.1738463460; _ga=GA1.1.1626801434.1738463460; AMP_MKTG_7268c9db0f=JTdCJTdE; x-recraft-referral-code=7d7RbMefDM; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..GN6pvZZE1X-avzQn.7TBThGPGii6nH6hS8TWazy7XV9Mk22vd2sqPfoHKuEbesS_pITSQc1kUchGlB_HQ_Lx8EldQGvzeVbFil6mBb4tqjNxJFecSHeDgLubqE0u5ueA-ZF4rf6Xz44NGnx-zJr6iA_rD7319KiL4-WWm57Ds5UJ_jo410_018LlUuWme0G2RKMwPySVL3Jg8Zyma5Z-twK50W8WRkwp07xiCZFXIQK6wLu_TvBYBwjVFa0wNJmyRCirM9YHKOsqVMIKP38q679Cd8S9A0s2T7SjLDm_5rme6TtaGq7Xye0cZLuARf_h2oX79Rm3XDPWYXjEJ6OMpNnlB1uvslb8Lbq0GkVAEYJbgc5PgQ2aD7WjqX8omU1uj1HVIXxr3lxDuSyvBPz_16Fkf7wMOI_OVQDCujAh4hdyNGVJ-vBuybQ6yo0vYF0S5X2_lUJqcwchUtwDneBXUUl3kI8JiZf8YF0kROkqkW82bFycQDtaNNFtwdFWyVhC7_L7gYpYpk0QrFJ7MVN25J8xbggLVRKrl-9gZ-55I9IkmM-iAtSuvTzTvqc9NzzRnoRPBDuwPwyKok2TE93QnAPQIzUacXIdZdkjTue-jymc60QrjBRGTIsIC93KD67vYdEH8vb1V0fiiqS4MkGfSpMA4NFaTpRECwqGcNzLj6XTrLGzl8Z2RO9tBWxqtq2Qfggyb8Oxftsab8hTjarw2b8mSSeyy2mnh_sIZiwM5Pl4ZDSYX9TsCdqNnOXyIGEWZCb5fb1rKSALKHrt71QZJXRETZCfJB-ndqw8I3l8rOhKuW0iio58umegRJYyFsJ6UY___fjBLz-0AwqSecklqkt8WDSaymIqR79YiGVjHt_qKLS1M43nVnp5TFneV9yorWPL6Oa2R0TAjU2fWjiaUohlI4XPSNlRXSz9m5EvYKJvKxMdRnZdx7UeZn2rP-C7K5xcjURm0QwXrcWL883DhDiYWrE3Y0IoG-U1n4MhosGeVnJA7FYeOSlpHZs0Re7Aud9nrLo3lWxyRHM9mTjBOTnpRWP5xwAneyM52FT78-RkVBrcaXc60UyK8h1WIxmLDWPIIvDI-W4wlR0SYDRUP7t_8dFXT7NCZXSzskNFa9wmPPWvh4__CXXFWwW2J5X_x_6iLfsBX8C5KsPKeRNplhWJqKM-50Vwk5gM9JtYGjsguKWrAqPbacs-cuexbg-_WwU1trXv6hc28pMU2RJ8FNk4t7OCrhbuwt-PSdAO2bksP8QFKEez8w1mfptn3DN8mFaranAzgwdo-xD0v2Ew2C_oqoYUahxVrKMHqEYSd_bQnLylaftMfYGBNU0WuY7bcvRtJp3DGfQrHTF76ZA5AqgPKFwlmE_5pa-1xb5slX76bFAm1NKhgZZDpGyeqEobp_3u4yXhJTHVHYQuFHNFQm6ZDsepFh8SLR-dWlyrYsu3KHQUcZAMzOW4jiTc7SK37z03ONM5kgw2o_MRcdmvpIMBHCwuGjwLSUxCmora5cDKQY49gKWu778wfeUw-RJIdg4TZzsRM3OV3FnyN7koaWF-D5HdOP0H2v3zre9DtY5N-3_iIo1Fa9F1Pd59X3Oz1wpJ7Yjuam-mboCXgIfQ9q-dn4vGoxdqBqyvDM9IZV8N1MnjxoG6m3BOTdLR90aaYqHKSkDE3ks4oaE2CfGuhK0hHKcnXcEFXm81Mx-eJ90rFTmYOdlId0e19mk5tu-Cbj79MbBpx5cRfojiTqrQH-AIXXRa8aBr4QxAW_p1iDnAQ9owtX8dvbacg_VKhB0IOLlBaDfDmDAwBkvMWwBnaYThOsbIOWQhH-dPBndW8G7ycKJ2xtK0PHApsn0iAujAuPUTYeobNgKdfNHu5eXwaRltkuH8jvDbcxj5m4ajsVX7qA7N8uod6TIVyh_5Hvp1iRQHjtOC6_pI7hCnC_5B9mwaXsYPQqPiP-h7sv8CoG6KQ5UlE7_SkHXpfjEsI9RWETa8YPDTHek4k4bz0Y4VIIov_sBXsqLR3ZnNMdzsbCekfMqXtzgw6I1UqzzPVew4mA0J7qC3WHW6XK2a7sxnO4y-R4njEf7W6a8nEj4n6bwfKeozaQ_mvKVekVUR1ocjD94PYBzGb_DTpToeEz8f5RS6csXMWM1BORz2pF6N-mOH_H4g-0qGdIwh5rdRu2xcZX_VGR3_vVjvm2svnSvdKEsVn4cRcytt10iiDTPw-RQVW_DdkuXOK9CPN2WJDBtSkEEwLlNTHjRxPzamsnKB2fQe02suVPpU2dfF5qy4pKXLeKabT4Ky_Ih4Yb4ez6oy2fUknvKS2JKeorGk6lWrDGlyGX36IJO6fbDQogn5ba98E5IYWCKOknszOtT36QqAywyqja_dBRepAtI1YNN5DNNryH1AnF7d4q38l1O_PPbAXrk_taIAo225y-Cwsdp3f2hOINdAORsRa5GuFXeED1MOsFMpHX7C1atdGaZGi2ypZ6plvG70fxoVw9GLrWItUStCq5i8And6ZKXd815nI7yAW0lQv3RCBRqUuoWX5E3F8-bTv4aBlM4Q3gkh6_H2GhYYmRUwA8ASeCdEeOCw-kZ_wm742k99x2N65uBWLBe7T40zYWPGBafTxcPnBrcLw2xLlEIj2KeyZ7hYDhZdeoC5plS1Qxwxw2m53g8e8K_fOgELtMfB6mr32EdSjNqnx5WNZ7NNqq8ROj6vtfGK7y5cqC7ZkoKOkK6z9KO7pyDxZ9Mj221lQte7h7hzb676GiErrovAu2pCwWT9RVNUntK6mz2W7A97tjyKOz2VuLzhPBE_WAYyYSZ0Ykl4QKAU7cpmoaXNBs58YGm_H7cSOu3_4yEIuKh_O-pggiBfdxKKDiK3Mt7jeNV98-YCUlLmZEv5yWkjBsmm2LUEgX2w6DVUUUJwy5ongmXDktpViHLLMubj9PW5GGfJPsMuXEOfUTTL1C7wnMJzWzco4y11YmzRiSlCuKkPCMcT5_yhZvAZRyyrPUOBUftcOKUbBh4oBYIN3RbT1v4sMTjSGzYez52Sisb18InbQDM0zn0j88HRorWH6bxpKDb_PvmTebrhDIiWXbI3Zlm4NCQm7NZWicEFK-1fR46b5qRD80tp_cq8BWfECvvFfcT2NzO1rMhl6xIY5-TBWXIM6-qd1Pbd3xOdLRQPotxbZimS--dFBsLvrK3Ginax_mqc01AIXcjph23oQbQ9gnQzgtwicPafnQaOEcdR-moB9ca6oEShgymUyy_XcK6UdKpy4xI1yZsQ9omcquT_s8hzVrLEXwlwtUSzfqvH9pMCIjASWqMeRkfEojrjJd4th122hn2al7s2TbmPSXDOn0iHjh8N5aLcZbG_J9x6qwnpjMwDiGpU2Il3AlXuL0IaMFKukUbx_xKz4DoHsnJMMGsJfItAzyFbLPsPlVq3I97qwTZNUHqATjW3U9AO-PntTdK0OOSu3YbbJ2dk_A-SI1oK3O64Ie-u8rS2dFRmyUT_wYOcXL5cJ_-3HPz2xsO2SzRA7c8G-LsNCSSVSv9Vd5HBQhHA5IxsCptmFZ9OIkHFqeA5wcCYuhMHqSaC6kbPClyEExzaPsrJI6-SJUd86psoJn8dmn4I31WNf_5STzPBeii6qBYbLVIfiwXJckk0M-hvDeQfCyzRpKHeCslGkm6kziutEvfS0yZwZgDpBpGevyOcPCxYicpZSzUxEvsVCjtB9NBcIEHmm8Ho_JjiebQ3HcrchWFAYYU8XScsvkpfVqF71lut7ik7VOFcmQ3a35_zEA9kzYLKvmC49nyIMIkWDR5iCKW63rw2-6PzSTzSjf_xb_VADIYdat8a-i96mCbhtah6WH7Y5tTQKUYRWLUYib6kE8hwPy7jyHX0IMebioaklJKaU_G1tBYDsF4Q; __Secure-next-auth.session-token.1=12vFH4Zo9AA6uZzZrVWEaWBTWDlMDYiDUP5HUYoEOv3R3ksn-sPq93b2jISpNOW9RecN5E_5NXB76IfeH-VZauOwKzd4Kc37Mf6EM4gwXALfqMGsvFX8DlW6MkwbNqZ14WbE1pR_KhKVYrdB6ZX6J4ZlscRoqPB-A7GpvOtVPUComrZg00-evxSWcyKvLsCW1NNqqnXA-7J94rJJBdsS6j1c3s5KiCqB1Ptr1eTeWanjxkjNfSewVQqX6WVytsLnsVE9KqmJGZiz0zIFvnLPQwSv1Bg0IFzt8UF4J1PXrQaIbwIvqmNj7BU3589K2Rb58tarZoZ-ogxZG5ZneR1CWLSlRJDhsnOvAXubqD0EuT_POI7EXdrfsNiifr7knH_xxEu7iqxzpXsDMuaO_pxzwkPuKFtcxDkVOJH-TY5njugFS.Jodtt7brKicBj8c26v0T3A; _ga_ME15C3DGRL=GS1.1.1738463460.1.1.1738463490.0.0.0; _clck=1l7d1gy%7C2%7Cft3%7C0%7C1859; _clsk=1uwygz6%7C1738463492407%7C1%7C1%7Co.clarity.ms%2Fcollect; _uetsid=be5a5d90e10d11efbff71f781c6cba79; _uetvid=be5abc90e10d11ef9a96119e1652d011; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI2ZTNiMzU3NC1lOThlLTQ2OWEtYWIzOS0xM2ZhM2M4NTdjNDglMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjIyNzA0ZWQ4MC01YWExLTQ3YWUtOTRkYi0wNmQxZWZhODBjYTYlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM4NDYzNDYxMjMzJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczODQ2MzUyMjQ1NSUyQyUyMmxhc3RFdmVudElkJTIyJTNBMTklMkMlMjJwYWdlQ291bnRlciUyMiUzQTMlN0Q="
|
139
|
+
token = "__Host-next-auth.csrf-token=14ca9d794219c34aca808cdc2a310d73ae76584a7bc746518742db0ac0baadd1%7C74c6e91fc8b1400a4035ce81d78e6a0516c8283e7c2a9104b3d75d93441a83ae; _gcl_au=1.1.526202796.1738463460; _ga=GA1.1.1626801434.1738463460; AMP_MKTG_7268c9db0f=JTdCJTdE; x-recraft-referral-code=7d7RbMefDM; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..GN6pvZZE1X-avzQn.7TBThGPGii6nH6hS8TWazy7XV9Mk22vd2sqPfoHKuEbesS_pITSQc1kUchGlB_HQ_Lx8EldQGvzeVbFil6mBb4tqjNxJFecSHeDgLubqE0u5ueA-ZF4rf6Xz44NGnx-zJr6iA_rD7319KiL4-WWm57Ds5UJ_jo410_018LlUuWme0G2RKMwPySVL3Jg8Zyma5Z-twK50W8WRkwp07xiCZFXIQK6wLu_TvBYBwjVFa0wNJmyRCirM9YHKOsqVMIKP38q679Cd8S9A0s2T7SjLDm_5rme6TtaGq7Xye0cZLuARf_h2oX79Rm3XDPWYXjEJ6OMpNnlB1uvslb8Lbq0GkVAEYJbgc5PgQ2aD7WjqX8omU1uj1HVIXxr3lxDuSyvBPz_16Fkf7wMOI_OVQDCujAh4hdyNGVJ-vBuybQ6yo0vYF0S5X2_lUJqcwchUtwDneBXUUl3kI8JiZf8YF0kROkqkW82bFycQDtaNNFtwdFWyVhC7_L7gYpYpk0QrFJ7MVN25J8xbggLVRKrl-9gZ-55I9IkmM-iAtSuvTzTvqc9NzzRnoRPBDuwPwyKok2TE93QnAPQIzUacXIdZdkjTue-jymc60QrjBRGTIsIC93KD67vYdEH8vb1V0fiiqS4MkGfSpMA4NFaTpRECwqGcNzLj6XTrLGzl8Z2RO9tBWxqtq2Qfggyb8Oxftsab8hTjarw2b8mSSeyy2mnh_sIZiwM5Pl4ZDSYX9TsCdqNnOXyIGEWZCb5fb1rKSALKHrt71QZJXRETZCfJB-ndqw8I3l8rOhKuW0iio58umegRJYyFsJ6UY___fjBLz-0AwqSecklqkt8WDSaymIqR79YiGVjHt_qKLS1M43nVnp5TFneV9yorWPL6Oa2R0TAjU2fWjiaUohlI4XPSNlRXSz9m5EvYKJvKxMdRnZdx7UeZn2rP-C7K5xcjURm0QwXrcWL883DhDiYWrE3Y0IoG-U1n4MhosGeVnJA7FYeOSlpHZs0Re7Aud9nrLo3lWxyRHM9mTjBOTnpRWP5xwAneyM52FT78-RkVBrcaXc60UyK8h1WIxmLDWPIIvDI-W4wlR0SYDRUP7t_8dFXT7NCZXSzskNFa9wmPPWvh4__CXXFWwW2J5X_x_6iLfsBX8C5KsPKeRNplhWJqKM-50Vwk5gM9JtYGjsguKWrAqPbacs-cuexbg-_WwU1trXv6hc28pMU2RJ8FNk4t7OCrhbuwt-PSdAO2bksP8QFKEez8w1mfptn3DN8mFaranAzgwdo-xD0v2Ew2C_oqoYUahxVrKMHqEYSd_bQnLylaftMfYGBNU0WuY7bcvRtJp3DGfQrHTF76ZA5AqgPKFwlmE_5pa-1xb5slX76bFAm1NKhgZZDpGyeqEobp_3u4yXhJTHVHYQuFHNFQm6ZDsepFh8SLR-dWlyrYsu3KHQUcZAMzOW4jiTc7SK37z03ONM5kgw2o_MRcdmvpIMBHCwuGjwLSUxCmora5cDKQY49gKWu778wfeUw-RJIdg4TZzsRM3OV3FnyN7koaWF-D5HdOP0H2v3zre9DtY5N-3_iIo1Fa9F1Pd59X3Oz1wpJ7Yjuam-mboCXgIfQ9q-dn4vGoxdqBqyvDM9IZV8N1MnjxoG6m3BOTdLR90aaYqHKSkDE3ks4oaE2CfGuhK0hHKcnXcEFXm81Mx-eJ90rFTmYOdlId0e19mk5tu-Cbj79MbBpx5cRfojiTqrQH-AIXXRa8aBr4QxAW_p1iDnAQ9owtX8dvbacg_VKhB0IOLlBaDfDmDAwBkvMWwBnaYThOsbIOWQhH-dPBndW8G7ycKJ2xtK0PHApsn0iAujAuPUTYeobNgKdfNHu5eXwaRltkuH8jvDbcxj5m4ajsVX7qA7N8uod6TIVyh_5Hvp1iRQHjtOC6_pI7hCnC_5B9mwaXsYPQqPiP-h7sv8CoG6KQ5UlE7_SkHXpfjEsI9RWETa8YPDTHek4k4bz0Y4VIIov_sBXsqLR3ZnNMdzsbCekfMqXtzgw6I1UqzzPVew4mA0J7qC3WHW6XK2a7sxnO4y-R4njEf7W6a8nEj4n6bwfKeozaQ_mvKVekVUR1ocjD94PYBzGb_DTpToeEz8f5RS6csXMWM1BORz2pF6N-mOH_H4g-0qGdIwh5rdRu2xcZX_VGR3_vVjvm2svnSvdKEsVn4cRcytt10iiDTPw-RQVW_DdkuXOK9CPN2WJDBtSkEEwLlNTHjRxPzamsnKB2fQe02suVPpU2dfF5qy4pKXLeKabT4Ky_Ih4Yb4ez6oy2fUknvKS2JKeorGk6lWrDGlyGX36IJO6fbDQogn5ba98E5IYWCKOknszOtT36QqAywyqja_dBRepAtI1YNN5DNNryH1AnF7d4q38l1O_PPbAXrk_taIAo225y-Cwsdp3f2hOINdAORsRa5GuFXeED1MOsFMpHX7C1atdGaZGi2ypZ6plvG70fxoVw9GLrWItUStCq5i8And6ZKXd815nI7yAW0lQv3RCBRqUuoWX5E3F8-bTv4aBlM4Q3gkh6_H2GhYYmRUwA8ASeCdEeOCw-kZ_wm742k99x2N65uBWLBe7T40zYWPGBafTxcPnBrcLw2xLlEIj2KeyZ7hYDhZdeoC5plS1Qxwxw2m53g8e8K_fOgELtMfB6mr32EdSjNqnx5WNZ7NNqq8ROj6vtfGK7y5cqC7ZkoKOkK6z9KO7pyDxZ9Mj221lQte7h7hzb676GiErrovAu2pCwWT9RVNUntK6mz2W7A97tjyKOz2VuLzhPBE_WAYyYSZ0Ykl4QKAU7cpmoaXNBs58YGm_H7cSOu3_4yEIuKh_O-pggiBfdxKKDiK3Mt7jeNV98-YCUlLmZEv5yWkjBsmm2LUEgX2w6DVUUUJwy5ongmXDktpViHLLMubj9PW5GGfJPsMuXEOfUTTL1C7wnMJzWzco4y11YmzRiSlCuKkPCMcT5_yhZvAZRyyrPUOBUftcOKUbBh4oBYIN3RbT1v4sMTjSGzYez52Sisb18InbQDM0zn0j88HRorWH6bxpKDb_PvmTebrhDIiWXbI3Zlm4NCQm7NZWicEFK-1fR46b5qRD80tp_cq8BWfECvvFfcT2NzO1rMhl6xIY5-TBWXIM6-qd1Pbd3xOdLRQPotxbZimS--dFBsLvrK3Ginax_mqc01AIXcjph23oQbQ9gnQzgtwicPafnQaOEcdR-moB9ca6oEShgymUyy_XcK6UdKpy4xI1yZsQ9omcquT_s8hzVrLEXwlwtUSzfqvH9pMCIjASWqMeRkfEojrjJd4th122hn2al7s2TbmPSXDOn0iHjh8N5aLcZbG_J9x6qwnpjMwDiGpU2Il3AlXuL0IaMFKukUbx_xKz4DoHsnJMMGsJfItAzyFbLPsPlVq3I97qwTZNUHqATjW3U9AO-PntTdK0OOSu3YbbJ2dk_A-SI1oK3O64Ie-u8rS2dFRmyUT_wYOcXL5cJ_-3HPz2xsO2SzRA7c8G-LsNCSSVSv9Vd5HBQhHA5IxsCptmFZ9OIkHFqeA5wcCYuhMHqSaC6kbPClyEExzaPsrJI6-SJUd86psoJn8dmn4I31WNf_5STzPBeii6qBYbLVIfiwXJckk0M-hvDeQfCyzRpKHeCslGkm6kziutEvfS0yZwZgDpBpGevyOcPCxYicpZSzUxEvsVCjtB9NBcIEHmm8Ho_JjiebQ3HcrchWFAYYU8XScsvkpfVqF71lut7ik7VOFcmQ3a35_zEA9kzYLKvmC49nyIMIkWDR5iCKW63rw2-6PzSTzSjf_xb_VADIYdat8a-i96mCbhtah6WH7Y5tTQKUYRWLUYib6kE8hwPy7jyHX0IMebioaklJKaU_G1tBYDsF4Q; __Secure-next-auth.session-token.1=12vFH4Zo9AA6uZzZrVWEaWBTWDlMDYiDUP5HUYoEOv3R3ksn-sPq93b2jISpNOW9RecN5E_5NXB76IfeH-VZauOwKzd4Kc37Mf6EM4gwXALfqMGsvFX8DlW6MkwbNqZ14WbE1pR_KhKVYrdB6ZX6J4ZlscRoqPB-A7GpvOtVPUComrZg00-evxSWcyKvLsCW1NNqqnXA-7J94rJJBdsS6j1c3s5KiCqB1Ptr1eTeWanjxkjNfSewVQqX6WVytsLnsVE9KqmJGZiz0zIFvnLPQwSv1Bg0IFzt8UF4J1PXrQaIbwIvqmNj7BU3589K2Rb58tarZoZ-ogxZG5ZneR1CWLSlRJDhsnOvAXubqD0EuT_POI7EXdrfsNiifr7knH_xxEu7iqxzpXsDMuaO_pxzwkPuKFtcxDkVOJH-TY5njugFS.Jodtt7brKicBj8c26v0T3A; _ga_ME15C3DGRL=GS1.1.1738463460.1.1.1738463490.0.0.0; _clck=1l7d1gy%7C2%7Cft3%7C0%7C1859; _clsk=1uwygz6%7C1738463492407%7C1%7C1%7Co.clarity.ms%2Fcollect; _uetsid=be5a5d90e10d11efbff71f781c6cba79; _uetvid=be5abc90e10d11ef9a96119e1652d011; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI2ZTNiMzU3NC1lOThlLTQ2OWEtYWIzOS0xM2ZhM2M4NTdjNDglMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjIyNzA0ZWQ4MC01YWExLTQ3YWUtOTRkYi0wNmQxZWZhODBjYTYlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM4NDYzNDYxMjMzJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczODQ2MzUyMjQ1NSUyQyUyMmxhc3RFdmVudElkJTIyJTNBMTklMkMlMjJwYWdlQ291bnRlciUyMiUzQTMlN0Q="
|
142
140
|
token = "__Host-next-auth.csrf-token=57a886df76b501a8467d75e3ea1c22afeac547c8d7a4ea3a54f4adb1f70a5953%7Cef1d0022dea0bdcd86790555817fc6c9862b563a388ea57c03ebfa073cdf2976; _gcl_au=1.1.643138976.1740644316; _ga=GA1.1.1825767211.1740644316; AMP_MKTG_7268c9db0f=JTdCJTdE; x-recraft-referral-code=xrTsvlkNBB; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..8f2HiURsmryfKBj5.eE15I7cyLAqMkb7m_0r2GhaiWdZlN9fq4hxdgZk88X5xxStF66xOFJqDZN3GGAWUwaA1ikliDDtkEBYVcVtx17hbcjDkw6DPKiPDwLzMZe-RNwJHliNWt3jAsW3UjtbPqaTyKTlOhiu5R70tKb4M8zD3v-nYeStZ_aQk36O22LTYURWddGoozjsDCwgIPnZ4gBCwK_DqOsK_TnTvZhshPaYWlwdvoxiH_WMiE1WGLlguSsXWnEaiXNcQlM5o4SpVeqfSqrv3uTapLagjHcZbx_fJtvruCW1ItXvyFNW89M1xdmaIodX8D_HKfsKZLyDknYkbLeXbVedLZm9zxfF7THlEavPKkihQkid7spBLxEl4uA4xX4-Wk19KXLiHAgbyj8eqRB8Md3Ru5qNwX4RUGRcLtSxMkyz-L2k11QtolHjeCSzCao0roh6nB3xDywKPiSorPcLKQ-OoErqu4VnW2YzLjngUfZiDo6MOEkAkbuF2vN_GV9cD2Lbskyu1dB8YTC0o0D3x1RJ544I3YfibP5FG6TNkXvYNBYisowyddpeQCuciaVyqjYDEFUosfN0Ro7hk8JN0Bcd3vgmEBbrJ2YovPTBnTqnf3FcX0YVtVqrpFWz3rJPM8u76g4UclwBSpV4BKsYrvrA1PlC11CGNgDADzmKr9F_kWRnya05SeZ5kZ8J6-BXfUKiRBKupUDK5A9qk7E6c5DzYxTvYsfXIlxubTs8PdR7dqSEoD1ZEsPglOvNWilz961vv6JEeWPFKx8kWfeeEE7EbgmriDcIzOwhdnUzsUlAQHAdk9w2SdZSAb17RuBm0--Ua58ChhCgpiiFl_P2cCrvRP7NuzqaD-2Jcs1yMC-YnYXbGzqQmOVlEwuAaszKwoirGbfQRIkHkrhCTFknHkcGu5iKzST0efJS-ymgOQSG9bBkpY237PDiC_Cfm-bOoSe0yGf3JQKwJvvY6Y1sruiEfTZqjawJ9RC0hPBluXzD8pnKm6qM1OlgI1J-tpzn8iG4E_b60eY4QeSwP8Xf7qodzAGhTtcLa4_vMffz0xH3jmEBzUCjNC4d0k8SFe9-2scg04AGFhFpQ9R__pNyte4I5OWYBm_6JBRFfSn8UrAAtoneyXbVts13MKieYZKwhYg2OoM1ggzVIjMqQntv0wQgsQhM9ecXYbOKj3C0IfsjC6IqhYCPmWHKvt-Kk0M13A2lSuym1NAwgV2CE3HvgYSDve17RP0AZpCIGrrtTacbDfIDA7stpYZSs852xr3BNhLo64Qnit6jU3yds02SxKlfAUBZvuEA8fViTObbGeylK5uS4nxpGOwFhiKp0oN3GH_VApw6jqPu5XnR8Zb7uXSgGQU23mJxuzVaOMPF92ZfXvirw2kQPUKo9y5sPCok-tqlh3YS6ed-WMBBO11Mnfahas4IoMvjceKfXJF9LlvoA4TZ43r2ZxfM1joI3cbxZGo7juJ_vbCh9858rY7ZYOdOl0ov9gRKPHoitH83zTP5FIKwcGSqkxwdFIkaeS7pkaNnC61nw6u_-eAKLpjt2z9yyyRTKVdihdfrTr_gkY9UUAPPp84R9UaYRYcviTsXQOx_TCAhFHb_CJMmvGmncb8pTQvxWiZnWiYlLd6CvFQDBqpYrjTs6WjPqVHNfejYJUdOWjv0soFdZngbos1BgPEw5umujqk0IOO3CyxJ6KHZDdbV-kKX1SgSdm5SLQ-DkQppx3AdeXiN1r0tvVzLguUJ8nS6MaoPYUZeSC4LYuAXcZf0LCbKIc8fmPdCDYq2ZDX9rYiAO7I9PoZdY9xLotBFlU6uYdVR8KvLemWEpnJq_08lMoOSNSkNY5Ofnr5A6BxEEmCYiBxU3zWRmUu2_KRq0oTODKBYYGktWsbzjCZKosgPNh2eD1FDw_r1S3dqE8kUWsxhrBptagB0v7ftvK2g1SH19W0Wda0lFsS-zLqAXYH2QLjzHci8rMyrSCsA8-bEB8gQd_q1uAhgiMP2wnObGoEzFCgIVIKJgylEaDE6RhNo4kO-wORl1_-AS0eDVohaTx_9_rVyvu-r82QsTJrjddUOKgr2D2rSoO0vOa-uy9jKSg9vAY5EOEeQww2_rCNmJfuaLGDIKMelWGr1H1Hd-dZ1BWncRFnRgduN5uRJWaMLCuDdAIqsv_k7xx0Zux9EkiFQwivEpRTHoEIzh1_a6i4zTua2uOCARGhFvScmkEnX0LBCjkbnK1H_0iJ7MWMVbIjq1YH07NxIbz0DV2bJ50Gavi87QAngRAAECOmL5oHuk-pNjSsMn7ZCguKozXivTNiaPHTSdOiTHzydPpX8vkvszoAEXcf3gadmiVROtpzz-nueExobACcU8Omlc1Vet_hlryV1P2OewpbnY9JAqZJfv5XYnKkGty_EQHMZepdJ2UAd7QIGixtM8ZeYjPth24dNH2oFR8lydTGVxCALzd4sgW3f8uPXmXxMZTTmO6j7GI2CWm6TLxQc4vIq_5NFu9jjIT2VLufzDCaevauZBP3li8w9difYCjVS5NGqE1JKLVmmrQTeiCd4rpsa2J6KOerCC7WdwjD3tRvYcOwz8u2i0_gP4RfKGuCeHJV3h5fa9Hp9HTPbVz1mhPjKQewhnuBvpX7ylL6fTFXj0DiKUR_oI8WIhxsNhGEvIxeitEwFIdpBhS1zkyp_9JYwu1BfFgnRFweNl15Zx_yLAQj4oVkN15RNOVgKsVkn0S9jaMT_L7vbzFkxdxYgtPyla95xS823hpQ0v5LbaoFDY-NKL7sXiRG_Bc1ujmnNcYysoL5DAWXfUnBf9Wh_DDqUFwpjaBRAuAGYEPz3BEXFJ60Hspax2OE_RKIw-mFACf4X0REqeeTy0AHvDqZ_fznRTH2bUCSuEPTXszr886FIGTe8mwmEgjRJfGvFuQmeABijIMTOYBDrcRD0vmjFrM-XG1cPckvrkmIND5szQQwCEw_QIXdH2KRfoBsWAH5rQUCnVGMftu4SWhiy6vL0Q1gEVFUk3GGxUaugSDgQKbibY7IYxXatqvdUISgYL5lmPGS6dYIN7mtjHdVDpt-4yG56ZbeVabhVzNxTlYZ5udm7eakwyMOog0nv2iGyWEP1f0kV1Q9VGA_r1f0zTioT1v_85nd4VVs8zM9jufuJdZhv4_OMrfzu9A9lOXAokKM2aQc5MWdhwyTsmBSaAt-73lp-UAtpyRrFY_4Ljqg5AQzYoIr8R2PHz9Xwe-h0_7Bt82NHYJhpJo8pwwUA9gneQsrK6y8RFLEYfp0_gEg_U0vdrw_hZaXQtaSJgHMSjdniPS0ubvbvrpWXNzy1SvclMYPEJS8KwfJ9rSgsfUqobaVFaZ6nwmo6-c2Cm4IZ2PmxPs8bOtgi_JeHLrG8fD1OP36_HHNlWA9_nxXpnQbwCiL6XJrBl1n6unEpsKtTSq4SOrLAhGsGP0fK9Y2IRvLAUpq1qgwGFVnSPUHmnIuQ7AIe5GzCXs_c7tdz1y0kJ-z2o1ZdIoBPlG8-p_CEb4iPHbMfR4_i00Bfox7HK--ajFgqKgxDhDp53wziW4MGaRYLfKiR9IGzMoMGj-wCqlWtasFqsbe2qWlmSaJGR6TtyWqb28D1H5WO44Z__DxwNcxCKsHi5nhgPTACObFrt02QAkcoxeQg6MRoQ2aJN9CnpstpIVuIcDk4wa0Ay1_l6FIKgJ5nucZaiLehrSiQQrK0LI_oIzEd2XDlao2Dx9vKEx65rTXYQ0KH1DPTkBynZbMY2uffOhYrC1YHZm4H4VPQ3hSJP9sQIcam7MrQADQLIXLO1ESYmEW4CUPQ7v9Z_yyDFfpudD_TkwJfhCpstNPB1Zqcuvm-Kwjk1rIUIVKmVsf8UebzbrQ5ACAWlrjGmuHlSnIeD-6c; __Secure-next-auth.session-token.1=nWFZ4KrnoE0thoRpHK7gAozIJCt3l7M8VkzPxSypdlUUPewpPu0mS6YMouSZhgu7i2M6jB2-fTwSmK0r7mLKUyzJsBHaQsmm7_ELVEPX5Wm1704a2ktPIAU9JTDfOC5kQzR6XFiO8PCyBOBIlJGJ4mz3qtLCYq48g8_ZYwdcLTcaQlDUuG0s5NF2CmC-7yHfIbePvYRTQL8I5bSwDjLKUl2geru6mURBhYNE6gvBLJfD6P7J1qT6gHZqeUqOtEgDG9dBIQPbyvgp7wdL0oqT7DHqsY2Ap0jFGspzCXzVri5AOHJ-JL9gf1cnz8AOBlqDVZyqvwLwDLHK5GrNBknSfHajQuI47imwmSOLJ_J_DLMzHivmvZeps4xYgdV6hSzKVLbOoqxOZEjaexqgOqVQ7fSphBPfhUWOd55opsEURinGY.4EDW8XkvsgX7oYL2QJIQsw; _clck=x6jacq%7C2%7Cfts%7C0%7C1884; _clsk=10ppugy%7C1740644423156%7C2%7C1%7Cj.clarity.ms%2Fcollect; _uetsid=711f1780f4e311efabc199bd18469bf3; _uetvid=711f3de0f4e311efaab61f90155799d0; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJjMDBkNTMwZS05ODBmLTRiYTEtOWM5Yy03OTI1Yjk1YmNmMTklMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjI3MGFjZDNhZS1lOTc0LTQ0NzktOWFiMy1mOTVjZjhmMDliMzAlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzQwNjQ0MzE2MzcxJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTc0MDY0NDUxNzg4OCUyQyUyMmxhc3RFdmVudElkJTIyJTNBMjAlMkMlMjJwYWdlQ291bnRlciUyMiUzQTUlN0Q=; _ga_ME15C3DGRL=GS1.1.1740644316.1.1.1740644518.0.0.0"
|
143
141
|
token = "_ga=GA1.1.435165527.1730362257; _fbp=fb.1.1730362257600.714008794112161913; AMP_MKTG_7268c9db0f=JTdCJTdE; _tt_enable_cookie=1; _pin_unauth=dWlkPU0yWmxPR1JsWkRJdE5qZGlZeTAwTWpNeUxXRmpNVEV0TlRrd1l6RTNZelEwTldZMw; __zlcmid=1OVn8OoYVNvKEWM; _ga_ME15C3DGRL=deleted; _ttp=412qSInHGw3jjdyNR6K4tBIYmNZ.tt.1; _ga_ME15C3DGRL=deleted; _gcl_au=1.1.2067403346.1738419969; __Host-next-auth.csrf-token=5cfd5777503aaf893675384ab5f6593dc0f3edd3124eca8b6bb3dff0f8409f13%7Cba49eb364136b7db8c219b5811426904290873f7fff13b4eb6b7a2dbe262478f; _uetsid=9038cc00057711f080b179cdde2f6e44; _uetvid=a8a766f0975f11ef9b7921e48a0cd258; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2F; _clck=uflztg%7C2%7Cfud%7C0%7C1765; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..bHsv4OVYnK4Bfrjd.nYBb4bhbylF9t1Ci5kPZ4phnQ0TzNfI6BuJO-lC4-P5-lnSHG5cNt6Ieqjjt5EewH5-npFscwB--mqgmaDh_4jLmV0zt3wBeZwCfz3L8SzXQIiLYTohCten-q5hwtb2ys6-_3K_lOhhYsgmky3wHTrW_ltBmw_5j6vr5USamtS0uVCn0iW-TYj_hx3mlV0TLP6hF1_xafhAnt4vyBsVL5yKP7PaPcw8r2pDLPbywTUgopXbru0vvKikFWSPrfsYYmKkyoxPuoCUxUaLSCgFbO-j6ESpuSgL0ayWmLYbCBOZ7FxwTBIBD_SEA0k7X8cBB2XrNiBxgenwW6YMw-C3whEXqvK1g-doDFk3dSXKtzQKb0x5loVhJa3YQm7xmMpilpJI3fdDMiWmqwCt19dLPOtliwH-A2QOIFPn3O20QVWHPxqBUA6Luats4MkSrUEsH77GaXJ0GtK726Pi_EZAM1VaZ3Z1-2e3jtlPRtw29XJ_QNYqQiA_RSbxq9E9ZjRcj-f8yD4L2ZYgV_yU9xGOrbrb7N9qu9swY4bMltmH56KWOqFFPVCALwIlqZQ6Zl0tTk7kIdl0QWPgDcweKlmEofB7A7AJc9jjWEO1zI3qJ14YlWVtnm4t51mDgdcvmuEsumtqeVMBpJlDFJIEng7FXQYpwuxVUYHWIsJmM2ANK7yPEhOQJWfn8Yr3m2iH3gCkhsraRh_9dFvGEQX_vqzAJDuaeIaAzUXqOOifE-UUuGaKSlKO7VRJkLEG4M2ncYr6cjYM5RkRY_9-WgTUxiwS8pDI2ER4TJZ0blv85-TYfai-1TDz2pwwjMo1Sfl546ofiNNjDx88hwRqf2JJpmCH7GyHopEd-oPHhiDMDcj9c_X-lZGi1SirelDy9QROX5uadflKx0IWIKalAsYVdcQXfLhBbODiaxJKpQ-zwVIxSTjYvVWB1dD3FB2_gVwfKftYSspzZyxJlxAn4Qe12uFOPU3sVf8xEd5qddW6wkh20gBwBDEaPP-oJRU0tHa_04_eHr_FfQnI89AE5a8vI_96zeV-tCohiOhpkOWLfmW7QHw6X3JhefZpeCwpNtkg7P8YlCBXlURKB3SiPE7hO524M7ZVEDcaFDOJbfucqTw8wJC0SKJuSjEePo_66JHgzbl2J1QFfo4wCB5LsTuwkCmQ8HK6flG8aQiCAC3eL34uZAWJpjNRDQNhND2fzsRP8XOC9agVY-eyFebDzWe3_4m8OrcxCpG-SZDTq6orYrU64tMSzpJUj4xSieKve8ZOHrx1Wqeuyxy9eIOJtdsre5jyP_jzesC4p7fK-cnJcrV421Wt7OHTqjhKB2YQBPtwpk2SQ0JNn6g61O4SBuqIbAKIAFIhVVHumjNnmwzDElDM0lfo8B4TncfIaIXqqGIZ17vhL9EzGoYGNgWC31YfFTHPDqK0bjkRIiUxIT7XGnPRmu7JdvHd_D2Kc7v-cnTdjSW_wfw8Pk1UECgLzQqLbgYlwbGqaACYtszR8JgSqi3n_14eV_8FG3uZhllgplvOzYo4GjBtutsmOB0_ayXi5TR6myH9wVC6HpNT1TdY-8lvMi6t9TvRQdqj_shlS2ZEgknyOQmIdGOBbTTUc5inDIL2tvlMbeXWfpr6oxHt7rHnufkI9kBEAD6OfgoVAxxn5b8joOtZMvgb_mlFjazPDxRReRN1MgmitFEe1X_HNTAmzy8kF-KnPlRkqpBJAf4V9cdFl9E3RhYnvq8ZevWhKlEvdNy3PqCvqJvWC8fXGyk0dxqTFydx56AEmANqy_xXQIzb8Hc5pXHhR81eUOXWYZ6j7cc3b86OyEZJVefvca4hRcbtR-hbbkci8UI4aERBLdHps3TGFVSim1cj92X2KXRyIHJ1qmONZq5BjEkxaX4J_CZ6lhscTP-KjbUssP7apmSvggZccNR3_Vwwgyev8eFc0nIptRUnvJ922olflkHz4ZW3Gmr_oAsu3AFgMTTNFJbIZ8c3UH6IDLZ-RhMeoOQSJRXuTPUfxONvpts3aYeaaALMMFHhSSPQAMMGpOI48inNzfyIZqn6KxISLIXnF81JIVa6OhuWHr-pyOqoODW3cXktPNa9tJ48kFvVjakt1H8q4HMpPvnp_kEfTrfAbuQh9zsSvWVdORr-J3y-CrfEJdGQ3VlHed8zubxBa3glyS3zDduufgB1lqO84PDFufF1-o6HbW_Niu0yAgXJkdXRwPpzzGPNmx10Q87spZfc--0_OfPuDro9Q3DCFBsqZ9wUrfz6rjdrh0jZYCDrmZGxY7RxH3qhhc1CD4xkWxj4zcKJ-5N0-VrR--OzIm8R9O0M_254kFfDyjMKRK-iGKxS_hGkW5pQzDj9SVDDrCGi7ZevOJcPSoU4yUzIVD-SKLox5x3GcXDuo0ESCba6hPVaFwrMiyXzIRFzcjSiexD_J03z-oW-Ij_JAOMA6meT5DgNmE7N0RVtS1XaFNxDCtGLr-_CzYY55GM-9fyNyrB33cv0yWjAhDH6JPw_BwgWAOlghNIZGRolqxVyEe9A2PYtRHLkt8ZxzLpbGq-aJLMinl0WhKdaN_PnjtJHoJP7fg3Q_TmbeX7wbZ6ynXE3J7x2TZ59hti0N38lYEpEWGuFCX2LtRqD9Z5lQ0cf1Ase0gxkwtS3SfRtIwGnzKIp0kJRhC33nF9EcuXAuXVZMFcF4fXhizldHKYsYYalvKzRs4UtCtvp4r9ALnVYdrQCY_n-ShB0gFqh9Mrz5K_jJnetzeMD5YmjinigAAVZFtGxOAihkynhGPFV5Vk-DVey4YnVJVawwD9ASAcfgvbGQP9Kqy45Mmi7VuuUA7vv_koYjDT10XBT10ycftO2M_g0n8dago7QTI4EeqAxqURuOinPZnKRK_9o8RB1pqNtWxnBK2eSl78ayZl9JWJ0BXvr2sFN12p9N9ZhJveBah7s1RP1WA-pX7jeUh2Wopfuxj8tmbzsmBaesiKai5CawpROF6a2W7UabgjUNsr4-zlvUTYrsbPyNo1CmuXX7zn4QoghUCFE7SitBwQcRtfSjCDGgoKbuyaCD_Jxneli_Oiq4PK82CWiR5D8zuFQtmRJPJTrwB79FXN6VlFgx05Kt3nu19q_xYSRSNv9LDATVKS5IbN0x2yc6BYVS-6IfIemmXl0NYAm_F5w6BofdvW_vdkp9Jxg0UCS67cY703OmcgynbQmgNF2w_XVE5wK9ywUvb9WPhrNB_M0tYvzgTY8NV1JTLr4HObgglp5mL6w7ibhyUyg_MJvJsin1cOHRkWLuophDwQ3k1HtOgNuLreMuOncqSZKbAvoZ6y7kqF3-anmrTT07LBa7-GTkCECfqBDNfU1Pk_IOcm0AlCSvZGJ0gamxg-7wW_nhyjFntNHgjNfgP13VU7wXmet9QEjiixcJFQMnM46Mg9VTGeqKH9Qi5dyyBg_cXeMTpInOmjDRTpYSC6tSxae1sfnmIAbsk9ym8i7gljJzEygHoDpB-l-hYLGfgsjPUnKI4FKemySkAxvWVxUtGXSv3Pl3FqfJWZ0ZlegbXG-7djX-tDXJceFm-ngb677AjUMhMGlqg9DH2KL8lDt07fZhG6EJ2F3xTxHsxnKPslPjtRf5NKxXILNtkNaQsB7kbe1IrIIGc_tAGqxdqT5N7rret13xJT6KcUxkH8_In-G2Rx-eRgmAGWwzIBOHrx-0ZFa-NpVdNZvzv7RK7yu5x-NuVQxlba3uGlVt1MTjCZbhn9FoYlgsPq12fsCW2PT0bDwm6vj5ljqdikV7ogiBoHeaQLAoEWLVtJTlLiZx75FgToZnq_ilB2Tw3peZHZ3Lty5_ptFM58HMJRXyft9iH2sXTIis2i10HivBoBc5fyF665Z7SYqEb92d4eP; __Secure-next-auth.session-token.1=kQDEHp1J3BMtWxdMvYs5k0MRRd3WRd1vWreEihIYUnq6unDQrnXBwk-2vwCOnxqXkasyA3Ap-lSS2JmVdFArAUJ-Y7hM9SmVW6LSQB_BFD1pFwaG7roTPLJFn70ObqoWzSDSFLkhDXdaptO3ucyPB-IQwuiOJGl9BBDNyuF0uIYIENJVE-9-6OlaxaIy03GXwGGL4IxGIkM3v6jwOVDC6c1fk400mAsPzV5Vd0nc9Ojc4g6QyXxpIjHzhatO8tKWVKmO7Xuh7SPTDPBw-3UowZdzk88NHlByhr62pCih_jt0v_b1wG_fOLShvnomHkPWuAt0D8GFDux0y0gJHGjELj3q5Yksx6rE0Ic_xblTr6t69fkqrooNmB5FxMM2zn5lbKE7YWOq9SUtomTHSWyMLEqtm42fN7Pfle0LVcdVqvlIF.c4xlgU1j3VbPIYlvavqVxw; _ga_ME15C3DGRL=GS1.1.1742467142.46.1.1742467222.0.0.0; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI2OTE1YzI1My1jMTJjLTQ5ODYtYjM3Ni0xMTI3Y2ZmMTFlMjglMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjIxZTIxNWUzMi1lZDdjLTQ5NGEtOTExZS1lMmVmMjIzMTRhYjUlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzQyNDY3MTQyNTk4JTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTc0MjQ2NzI0NTEzOSUyQyUyMmxhc3RFdmVudElkJTIyJTNBMjQlMkMlMjJwYWdlQ291bnRlciUyMiUzQTMlN0Q="
|
144
142
|
# arun(get_access_token())
|