Commit 1c52bb3a authored by Yaowentong's avatar Yaowentong

豆包新增api重试

豆包历史任务重跑
parent 82b6ccfd
import requests
import json
def get_result(prompt,country):
url = "https://api.scrapeless.com/api/v2/scraper/request"
payload = json.dumps({
"actor": "scraper.chatgpt",
"input": {
"prompt": prompt,
"country": country,
"web_search": True,
"shopping": True
}
})
headers = {
'x-api-token': 'sk_EsiHURJ1OeABPgoRfuyHP6Nt1vRQNwq1Z7uaZ2jNxeYslydgunSmWDoGybh1L5mb',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
...@@ -278,10 +278,9 @@ if __name__ == '__main__': ...@@ -278,10 +278,9 @@ if __name__ == '__main__':
'XHSA:geo:batch:list', 'XHSA:geo:batch:list',
'geo:task_commit:list'] 'geo:task_commit:list']
# mt:snipaste_v3:only_content # mt:snipaste_v3:only_content
init_redis_1 = init_redis() init_redis_4 = init_redis4()
init_redis_1.delete('DB:geo:batch:list') # print(init_redis_4.delete('mt:snipaste_v3:only_content'))
init_redis_1.delete('DB:geo:stream_batch:list') print(init_redis_4.llen('mt:snipaste_v3:only_content'))
# old_count, new_count = deduplicate_redis_list( # old_count, new_count = deduplicate_redis_list(
# redis_client8, # redis_client8,
# "geo:task_commit:list", # "geo:task_commit:list",
......
...@@ -6,9 +6,72 @@ import json ...@@ -6,9 +6,72 @@ import json
import redis import redis
from aidso_geo.models import spider_save_tos from aidso_geo.models import spider_save_tos
import aidso_geo.utils.bh_utils as bh_utils import aidso_geo.utils.bh_utils as bh_utils
from concurrent.futures import ThreadPoolExecutor, as_completed from concurrent.futures import (
ThreadPoolExecutor,
wait,
FIRST_COMPLETED,
)
MAX_WORKERS = 1
QUEUE_KEY = "geo:task_commit:JIKE:list1"
_redis8_client = None _redis8_client = None
_redis8_pool = None _redis8_pool = None
import threading
import random
REQUEST_INTERVAL = 0.6
request_rate_lock = threading.Lock()
next_request_time = 0.0
def wait_request_slot():
global next_request_time
with request_rate_lock:
now = time.monotonic()
request_time = max(now, next_request_time)
next_request_time = request_time + REQUEST_INTERVAL
wait_seconds = request_time - now
if wait_seconds > 0:
time.sleep(wait_seconds)
def request_ark(url, headers, payload, max_retries=5):
response = None
for attempt in range(max_retries):
wait_request_slot()
response = requests.post(
url,
headers=headers,
data=payload,
timeout=300,
)
if response.status_code != 429:
response.raise_for_status()
return response
retry_after = response.headers.get("Retry-After")
if retry_after:
try:
wait_seconds = float(retry_after)
except ValueError:
wait_seconds = min(2 ** attempt, 16)
else:
wait_seconds = min(2 ** attempt, 16)
wait_seconds += random.uniform(0, 0.5)
logger.warning(
f"触发429,第{attempt + 1}次重试,"
f"等待{wait_seconds:.2f}秒"
)
time.sleep(wait_seconds)
response.raise_for_status()
def init_redis8(): def init_redis8():
global _redis8_client, _redis8_pool global _redis8_client, _redis8_pool
...@@ -76,8 +139,7 @@ def get_result(prompt): ...@@ -76,8 +139,7 @@ def get_result(prompt):
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
response_text = requests.request("POST", url, headers=headers, data=payload,timeout=300) response_text = request_ark(url, headers, payload)
response_text.raise_for_status()
response_json = response_text.json() response_json = response_text.json()
result = [] result = []
for out in response_json.get('output'): for out in response_json.get('output'):
...@@ -122,8 +184,7 @@ def get_think_result(prompt): ...@@ -122,8 +184,7 @@ def get_think_result(prompt):
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
response_text = requests.request("POST", url, headers=headers, data=payload,timeout=300) response_text = request_ark(url, headers, payload)
response_text.raise_for_status()
response_json = response_text.json() response_json = response_text.json()
result = [] result = []
for out in response_json.get('output'): for out in response_json.get('output'):
...@@ -223,49 +284,54 @@ def process_task(tasks): ...@@ -223,49 +284,54 @@ def process_task(tasks):
if __name__ == "__main__": if __name__ == "__main__":
redis8 = init_redis8() redis8 = init_redis8()
future_task_map = {}
with ThreadPoolExecutor(
max_workers=MAX_WORKERS
) as executor:
while True:
while len(future_task_map) < MAX_WORKERS:
original_task = redis8.rpop(QUEUE_KEY)
if not original_task:
break
while 1: future = executor.submit(
tasks = redis8.rpop( process_task,
"geo:task_commit:JIKE:list", original_task,
1, )
) or [] future_task_map[future] = original_task
if not tasks: if not future_task_map:
time.sleep(10) logger.success("当前无任务")
logger.success('当前无任务') time.sleep(1)
continue continue
success_tasks = [] done, _ = wait(
success_original_tasks = [] tuple(future_task_map),
with ThreadPoolExecutor(max_workers=1) as executor: timeout=1,
future_task_map = { return_when=FIRST_COMPLETED,
executor.submit(process_task, task): task )
for task in tasks
}
for future in as_completed(future_task_map): for future in done:
original_task = future_task_map[future] original_task = future_task_map.pop(future)
try: try:
success_tasks.append(future.result()) success_task = future.result()
success_original_tasks.append(original_task)
except Exception as e:
print(f"任务处理失败:{e}")
redis8.lpush( insert_ok = bh_utils.insert_data(
"geo:task_commit:JIKE:list", "geo_commit_task",
original_task, [success_task],
) )
if success_tasks: if not insert_ok:
try: raise RuntimeError("数据库写入失败")
bh_utils.insert_data(
"geo_commit_task", except Exception as error:
success_tasks, logger.exception(
f"任务处理失败,重新放回队列:{error}"
) )
except Exception:
redis8.lpush( redis8.lpush(
"geo:task_commit:JIKE:list", QUEUE_KEY,
*success_original_tasks, original_task,
) )
\ No newline at end of file
raise
\ No newline at end of file
import time
from loguru import logger
import requests
import json
import redis
from aidso_geo.models import spider_save_tos
import aidso_geo.utils.bh_utils as bh_utils
from concurrent.futures import (
ThreadPoolExecutor,
wait,
FIRST_COMPLETED,
)
MAX_WORKERS = 45
QUEUE_KEY = "mt:snipaste_v3:only_content"
_redis8_client = None
_redis8_pool = None
import threading
import random
REQUEST_INTERVAL = 0.6
request_rate_lock = threading.Lock()
next_request_time = 0.0
def wait_request_slot():
global next_request_time
with request_rate_lock:
now = time.monotonic()
request_time = max(now, next_request_time)
next_request_time = request_time + REQUEST_INTERVAL
wait_seconds = request_time - now
if wait_seconds > 0:
time.sleep(wait_seconds)
def request_ark(url, headers, payload, max_retries=5):
response = None
for attempt in range(max_retries):
wait_request_slot()
response = requests.post(
url,
headers=headers,
data=payload,
timeout=300,
)
if response.status_code != 429:
response.raise_for_status()
return response
retry_after = response.headers.get("Retry-After")
if retry_after:
try:
wait_seconds = float(retry_after)
except ValueError:
wait_seconds = min(2 ** attempt, 16)
else:
wait_seconds = min(2 ** attempt, 16)
wait_seconds += random.uniform(0, 0.5)
logger.warning(
f"触发429,第{attempt + 1}次重试,"
f"等待{wait_seconds:.2f}秒"
)
time.sleep(wait_seconds)
response.raise_for_status()
def init_redis():
try:
return redis.Redis(
host="172.16.0.24",
port=6379,
db=4,
password="aiyingli@@123",
socket_timeout=5,
decode_responses=True,
)
except Exception:
logger.exception("Redis 初始化失败")
return None
def get_think_result(prompt):
url = "https://ark.cn-beijing.volces.com/api/v3/responses"
payload = json.dumps({
"model": "doubao-seed-2-1-pro-260628",
"stream": False,
"tools": [
{
"type": "doubao_app",
"feature": {
"reasoning_search": {
"type": "enabled"
}
}
}
],
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": prompt
}
]
}
]
})
headers = {
'Authorization': 'Bearer ark-7afc3be2-37a8-47fd-9f02-996258a3d305-27da0',
'ark-beta-doubao-app': 'true',
'Content-Type': 'application/json'
}
response_text = request_ark(url, headers, payload)
response_json = response_text.json()
result = []
for out in response_json.get('output'):
out_blocks = out.get('blocks')
result.extend(out_blocks)
return result
def parse_think(think_result):
think_content = ""
response_content = ""
search_word = []
quto = []
suggestions = []
for i in think_result:
if i.get('type') == 'reasoning_text':
think_content += i.get('reasoning_text')
if i.get('type') == 'reasoning_search':
think_content += "\n\n"
think_content += i.get('summary')
think_content += "\n\n"
search_word.extend(i.get('queries'))
results = i.get('results')
quto.extend(results)
if i.get('type') == 'output_text':
response_content += i.get('text')
return (search_word, quto, think_content, response_content,suggestions)
def process_task(tasks):
task_json = json.loads(tasks)
prompt = task_json.get("prompt")
reqId = task_json.get('reqId')
pt = task_json.get('pt')
logger.success(f"{reqId}开始处理")
file_path = (
f'geo_snipaste/{pt}/doubao/{reqId}/original.text'
)
(search_keyword,url_list,think_content,response_content,suggestions,) = parse_think(get_think_result(prompt))
if not response_content:
raise RuntimeError("接口返回内容为空")
spider_save_tos.process_and_save_files(
file_path,
search_keyword,
url_list,
think_content,
response_content,
suggestions,
)
task_json["insertime"] = int(time.time())
task_json["platform"] = 'DB'
logger.success(f"{reqId}处理完成")
return task_json
if __name__ == "__main__":
redis8 = init_redis()
future_task_map = {}
with ThreadPoolExecutor(
max_workers=MAX_WORKERS
) as executor:
while True:
while len(future_task_map) < MAX_WORKERS:
original_task = redis8.rpop(QUEUE_KEY)
if not original_task:
break
future = executor.submit(
process_task,
original_task,
)
future_task_map[future] = original_task
if not future_task_map:
logger.success("当前无任务")
time.sleep(1)
continue
done, _ = wait(
tuple(future_task_map),
timeout=1,
return_when=FIRST_COMPLETED,
)
for future in done:
original_task = future_task_map.pop(future)
try:
success_task = future.result()
insert_ok = bh_utils.insert_data(
"geo_third_task",
[success_task],
)
if not insert_ok:
raise RuntimeError("数据库写入失败")
except Exception as error:
logger.exception(
f"任务处理失败,重新放回队列:{error}"
)
redis8.lpush(
QUEUE_KEY,
original_task,
)
\ No newline at end of file
...@@ -3183,4 +3183,13 @@ def run_daily_pipeline_safely( ...@@ -3183,4 +3183,13 @@ def run_daily_pipeline_safely(
if __name__ == "__main__": if __name__ == "__main__":
platform = "DB"
try:
run_daily_pipeline(pt="20260810", platform="DB")
except Exception:
logger.exception(
f"[每日任务 platform={platform} count=1-99] "
f"七阶段任务执行失败"
)
start_scheduler() start_scheduler()
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -169,20 +169,17 @@ def get_result_api(): ...@@ -169,20 +169,17 @@ def get_result_api():
def task_commit_api1(): def task_commit_api1():
query_queue = bh_utils.query_data( query_queue = bh_utils.query_data(
""" """
select t1.reqId, SELECT reqId,
t1.prompt, prompt,
t1.taskId, taskId,
t1.platform, platform,
t1.type, type,
t1.insertime, insertime,
t1.status, status,
t1.thinkingEnabled, thinkingEnabled,
t1.channel channel
from (SELECT *
FROM geo_third_task_data FROM geo_third_task_data
where platform = 'DB' ) t1 where platform = 'DB' and status!='SUCCESS'
left join (select * from geo_commit_task where pt > date_format(date_sub(now(), 10), '%Y%m%d')) t2
on t1.reqId = t2.reqId where t2.status ='ING'
""" """
) )
...@@ -263,4 +260,3 @@ if __name__ == "__main__": ...@@ -263,4 +260,3 @@ if __name__ == "__main__":
logger.info("third_task_check 启动") logger.info("third_task_check 启动")
...@@ -5,9 +5,10 @@ from aidso_geo.models import spider_save_tos ...@@ -5,9 +5,10 @@ from aidso_geo.models import spider_save_tos
from aidso_geo.utils import robot_utils, tos_utils, bh_utils from aidso_geo.utils import robot_utils, tos_utils, bh_utils
from aidso_geo.utils.ai_interface import get_parse_sse_result from aidso_geo.utils.ai_interface import get_parse_sse_result
from aidso_geo.utils.tos_utils import get_string_from_tos from aidso_geo.utils.tos_utils import get_string_from_tos
from aidso_geo.config.base_config import init_redis
def doubao_process_original_data(data): def doubao_process_original_data(data):
thinking_enabled = data.get('thinkingEnabled', '0')
file_path = f'geo/{data["taskId"]}/{data["platform"]}/original.text' file_path = f'geo/{data["taskId"]}/{data["platform"]}/original.text'
url_list = "" url_list = ""
think_content = "" think_content = ""
...@@ -21,6 +22,15 @@ def doubao_process_original_data(data): ...@@ -21,6 +22,15 @@ def doubao_process_original_data(data):
try: try:
original_content = get_string_from_tos(file_path) original_content = get_string_from_tos(file_path)
try:
json_assistant = json.loads(original_content)
search_keyword = json_assistant.get('search_word')
url_list = json_assistant.get('quto')
response_content = json_assistant.get('response_content')
think_content = json_assistant.get('think_content')
suggestions = json_assistant.get('suggestions')
except Exception as e:
content_list = original_content.split("\n") content_list = original_content.split("\n")
for i in content_list: for i in content_list:
...@@ -158,7 +168,8 @@ def doubao_process_original_data(data): ...@@ -158,7 +168,8 @@ def doubao_process_original_data(data):
response_content = content_block[0].get("content").get("text_block").get("text") response_content = content_block[0].get("content").get("text_block").get("text")
suggestions = list(set(suggestions)) suggestions = list(set(suggestions))
if str(thinking_enabled) == '1' and not url_list:
return (file_path, [], [], "", "", [])
spider_save_tos.process_and_save_files(file_path, search_keyword, url_list, think_content, response_content, spider_save_tos.process_and_save_files(file_path, search_keyword, url_list, think_content, response_content,
suggestions,rich_media_block) suggestions,rich_media_block)
return (file_path, search_keyword, url_list, think_content, response_content, suggestions) return (file_path, search_keyword, url_list, think_content, response_content, suggestions)
...@@ -190,23 +201,8 @@ def doubao_process_original_data(data): ...@@ -190,23 +201,8 @@ def doubao_process_original_data(data):
if __name__ == '__main__': if __name__ == '__main__':
# task_id_list = [
# '8629188a-46c9-429f-8aa6-d342110326f0', 'ba138c4d-2bb4-45e3-bda3-ecf80553ac89', data_list = bh_utils.query_data(f"select * from geo_commit_task where taskId = '0044cabc-dd1b-493f-a68d-dc7ccdc474b6' and platform = 'DB'")
# 'e178ee36-b9ca-4f1f-802b-83b5e4b820f0', '52efa2d8-616f-48b9-b656-59833fbb91b8',
# '769570cf-c385-4ed7-8e28-f57b5f89d34b', 'cac5bbdb-2145-44a0-9b81-eb20b286d278',
# '7d8ad6ad-c784-407e-9e5f-127c15de5c9e', '6a839541-e3f3-4cd6-a33d-366b3c3297b9',
# '86bd6c56-18d4-41c4-a75a-8d15da5ca589', 'd7e86e4b-521b-4f6f-a34d-ccc7fa629e09',
# '5069cfbb-1150-4bf6-a967-698640c2ce8f', '8bc46734-3469-4681-8a0c-f048169e9486',
# '0480d9c5-0ca9-4c5f-a5c9-dfc4db3b5511', '34cfbfae-cf25-49e6-80a9-199d31813bf2',
# '1d35ff25-760d-43c4-a24f-210d74e82ffe', 'f1d7ca94-7ddf-4548-9b5f-8890d39e7b6c',
# '6fb6c767-54bf-4872-ad60-c52223238d41', '785bf969-4645-4ca7-a9c9-6a5f104a7894',
# 'e52a3c9c-720a-46c5-98f5-efb3e9d8c597', 'ccc66d28-8843-4ea0-a3b0-2700c655260b',
# '3aeee8d2-3086-48c6-a9cb-e29f4a244e34', '67660404-bac4-4bb4-80bb-4b78fd713af0',
# '4b0c64e1-8393-4638-ab98-6b14c579912c', '9217ad06-413a-4161-9be8-6150ffe7b4eb',
# 'e9b27490-6ff0-48da-91a5-3dbbb8494c1d', 'b92b318c71d54c399ed033a722c06a35'
# ]
# for task in task_id_list:
data_list = bh_utils.query_data(f"select * from geo_commit_task where taskId = '9bd06279-57d5-4da7-b8a7-f533fb7365f9' and platform = 'DB'")
# # # # # #
# # # # # #
......
...@@ -1700,10 +1700,11 @@ def platform_process(data): ...@@ -1700,10 +1700,11 @@ def platform_process(data):
commit_task(data, 'PROCESSING') commit_task(data, 'PROCESSING')
platform = data["platform"] platform = data["platform"]
channel = data.get('channel','') channel = data.get('channel','')
thinking_enabled = data.get('thinkingEnabled', '0')
reqId = data.get('reqId') reqId = data.get('reqId')
context_path = f'geo/{data["taskId"]}/{platform}/context.txt' context_path = f'geo/{data["taskId"]}/{platform}/context.txt'
response_content = None response_content = None
url_list= None
# ------------- # -------------
process_func = PLATFORM_PROCESS_MAP.get(platform) process_func = PLATFORM_PROCESS_MAP.get(platform)
...@@ -1711,12 +1712,17 @@ def platform_process(data): ...@@ -1711,12 +1712,17 @@ def platform_process(data):
if check_file_in_tos(context_path): if check_file_in_tos(context_path):
response_content = tos_utils.get_string_from_tos(context_path) response_content = tos_utils.get_string_from_tos(context_path)
elif process_func: elif process_func:
_, _, _, _, response_content, _ = process_func(data) file_path, search_keyword, url_list, think_content, response_content, suggestions = process_func(data)
# ------------- # -------------
if response_content: if response_content:
result_v2(response_content, data) result_v2(response_content, data)
if str(thinking_enabled) == '1' and platform =='DB' and not url_list:
redis_client.lpush("DB:geo:api:list", json.dumps(data))
logger.success(f"{reqId} assistant 处理")
return
else: else:
scheduler(data) scheduler(data)
else: else:
_, _, _, _, response_content, _ = process_func(data) _, _, _, _, response_content, _ = process_func(data)
if response_content: if response_content:
...@@ -2019,12 +2025,11 @@ if __name__ == '__main__': ...@@ -2019,12 +2025,11 @@ if __name__ == '__main__':
# data_list = bh_utils.query_data("select * from geo_commit_task where platform = 'DP' and thinking_enabled = 1 and insertime > 1777564800 and type!='success' order by insertime asc") # data_list = bh_utils.query_data("select * from geo_commit_task where platform = 'DP' and thinking_enabled = 1 and insertime > 1777564800 and type!='success' order by insertime asc")
data_list = bh_utils.query_data("select * from geo_commit_task where status= 'ING' and channel is null") data_list = bh_utils.query_data("select * from geo_commit_task where status !='SUCCESS'")
# data_list = bh_utils.query_data("select * from geo_commit_task where prompt = '飞鹤和君乐宝奶粉的异同点对比' and platform = 'DB'") # data_list = bh_utils.query_data("select * from geo_commit_task where prompt = '飞鹤和君乐宝奶粉的异同点对比' and platform = 'DB'")
# data_list = bh_utils.query_data("select * from geo_commit_task where pt = '20260720' and platform = 'TYQW' and type = 'success' ") # data_list = bh_utils.query_data("select * from geo_commit_task where pt = '20260720' and platform = 'TYQW' and type = 'success' ")
def handle_item(i): def handle_item(i):
logger.success(f"{i.get('taskId')} 处理成功")
i["comWordsMap"] = safe_json_loads(i.get("comWordsMap"), []) i["comWordsMap"] = safe_json_loads(i.get("comWordsMap"), [])
i["brandWords"] = safe_json_loads(i.get("brandWords"), []) i["brandWords"] = safe_json_loads(i.get("brandWords"), [])
i["comWords"] = safe_json_loads(i.get("comWords"), []) i["comWords"] = safe_json_loads(i.get("comWords"), [])
...@@ -2035,7 +2040,7 @@ if __name__ == '__main__': ...@@ -2035,7 +2040,7 @@ if __name__ == '__main__':
# commit_task(i,'ING') # commit_task(i,'ING')
return task_send_queue(i,type_t) return task_send_queue(i,type_t)
# return deepseek_data_process.deepseek_process_original_data(i) # return deepseek_data_process.deepseek_process_original_data(i)
# return platform_process(i) return platform_process(i)
# #
if data_list: if data_list:
with ThreadPoolExecutor(max_workers=50) as executor: with ThreadPoolExecutor(max_workers=50) as executor:
......
import json import json
import os, sys import os, sys
from aidso_geo.utils import bh_utils
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR) sys.path.append(BASE_DIR)
from aidso_geo.clients.tos_client import tos_client from aidso_geo.clients.tos_client import tos_client
...@@ -80,10 +83,6 @@ def get_tos_file_size(object_key: str, retry_times: int = 3): ...@@ -80,10 +83,6 @@ def get_tos_file_size(object_key: str, retry_times: int = 3):
return None return None
def save_image_to_tos(image_url, tos_path=None): def save_image_to_tos(image_url, tos_path=None):
client = tos_client.get_client() client = tos_client.get_client()
...@@ -165,3 +164,42 @@ def save_image_to_tos(image_url, tos_path=None): ...@@ -165,3 +164,42 @@ def save_image_to_tos(image_url, tos_path=None):
return None return None
def delete_file_from_tos(object_key: str) -> bool:
client = tos_client.get_client()
bucket = tos_client.bucket_name
try:
response = client.delete_object(
bucket,
object_key,
)
return response.status_code == 204
except tos.exceptions.TosServerError as error:
print(
f"TOS删除失败:key={object_key},"
f"status={error.status_code},"
f"code={error.code},"
f"request_id={error.request_id}"
)
return False
except tos.exceptions.TosClientError as error:
print(
f"TOS客户端异常:key={object_key},"
f"error={error}"
)
return False
if __name__ == '__main__':
# task_list = bh_utils.query_data("select * from geo_commit_task where pt>=20260808 and platform = 'DB' and channel is null and type !='success'")
task_list = ['98b03694-491b-4753-a934-2838ebe9ff45','f9237215-f379-4536-81a5-c1fac36a42a0','88c173f9-8be5-4096-b7fd-8ddf85eb346a','248a67a0-42e9-4998-9da3-108a9b93f2e0','3176a39c-1263-4af4-afc0-984f71fd5c8b','d1362be1-c96a-44bd-a075-699d79926d73','ce08faf0-95e0-4ef0-a9c3-42c0a86ed644','8c3afef9-d544-44f0-8890-b8f5154cfcef','4c9487d7-cdd0-4b45-ad77-773e5cad35ac','7b465be2-56c1-4965-b73f-141d1d06fa89','2026af94-02d4-4f51-b717-48082e38cf88','cf5ef2a4-d27b-4eac-8b37-57a51e0c41ee','ecc450f1-c92c-42d8-94f3-5b1cd5bae297','3bc78607-3a49-4d63-93a5-a39eccf35cd4','99e884304e974acd9d2aed9a0589b9d8','03cbd159-9b20-4c34-80ae-c397b1bba0d4','335f6fff-340f-4165-a4e6-35c8a0cbef5f','b678a878-cce6-426b-98ea-c0548bb80396','806d47d2-2c6b-45d3-8765-1202a2c36920','00cdd919-fb2b-42ac-a561-1849b41930e5','ca0440ec-e131-4e28-ac92-01a068a31a20','ec8b91cf-6c45-42a8-85ca-526840a1ebef','05c5853e-f267-4f7c-b4ef-961dfac1efd8','0968f607-9829-41cc-954b-bf93268bbb72','e5c63535-4696-41c5-9a20-fc0d935c1095','115bc358-3444-44ae-abd8-2b8bb2e05011','02f08d2d-1cbf-47f0-91b4-79c5c36960e0','bb304641-ea3a-4a97-ba75-dabc7bd83a4c','7ea98f1f-f64d-4c15-9cd1-584f4f98bc0f','963fcc18-ffdd-4f5d-b90b-60ec74f53df2','c5713101-f65c-4eb4-a36b-744cf9fabaa5','30d5f8b6-8025-4f23-afc4-905553369215','57b3b9f72d7043ec8b5ac929bf4bb190','2eb94410-2f20-4904-8f76-93fed2afc247','2eac1787-680d-498e-b58e-2e78a386a0d3','b8225a58-24a8-4a33-a2e1-b457aef5307b','a338e83fde29415e8831d06c4b58264e','3a8e9d0e-f15c-47f8-b2ef-338d3cab459a','4493bcf3-f455-467b-91ba-13368cbbe40b','6d75cd71-5ecc-40d5-b871-7d6d745cd125','4f333a26-f756-4bd7-8428-0e9ae5d4089f','c55237b5-c904-416e-be7f-e7de8fc8ef26','b3ff3957-ed6e-45b0-a35e-0cef6f42fa66','380ad2a6-9553-461d-baa0-6b6475d15561','be1089dd-ed1b-4013-8ff7-0b9869a6b089','342d4b19821f43a3bea6604b9107fdda','7ac2bf7e-31f4-4edf-8903-94781e0aab0d','f360ccfd-6a8b-4080-affe-fc735c7f4c10','ce20449a-89a8-4b0e-8ed8-d0445304a48a','6b74ace2-0e3a-46e3-ab2d-e4f52fa0fe80','ce167db3-5ba9-4339-ae2b-3f1208507665','27ace7ea-bc8b-41b5-84cb-03a77a4160e1','9295ae80-2e82-44ce-a467-b4b0310072a1','c1a85ff1-8bb4-498a-8b68-0a7c97ae8f95','b79d975b-21db-43ea-9755-f54c6b46ed8e','896c688d-334e-4577-982b-e72172560b1d','1a9658ff-96eb-4d74-8b60-c362a6e3020c','c1108b50-4185-4287-8f17-8d15f00956e0','f6457161-e218-4f51-9ae9-3302cb641582','05bda747-644e-4afb-ac51-06a7fb0d270b','2cfcc9d8-6b5a-44cd-a35f-98de75561584','90e74eca-a914-42b3-9a38-6aed6bd43f2e','c479a541-8c21-4041-a773-79210d1b72cf','2b53e359-4574-47d1-ae29-e7b47f7cdf61','69397e6f-f85c-480d-8816-29410a72ed90','da70d991-f158-4e24-9f9e-8eada9b74cfc','586a1988-43d6-4498-b433-34269be664de','19207343-1ce1-4eaa-89db-a888bc6a2aa7','a2e1bae9-65b2-4d80-9430-9caa7fca7ffa','addf50a5-683b-43bb-b90e-04d77712c2ed','3dd505d26d0c408da54bd4006bbbc4d8','2fe316a3-c010-42a8-985f-ad9bad40873f','a6c7f909-4d6d-439d-b62d-63e8e6e9436e','74a775e4-6800-4333-954d-561f5cb78ea4','55c21b90-59fc-47ab-8795-d6252b4d0a58','ebdb6dc9-8549-430d-b421-4d4e0001912c','9393e8db-94cf-4ea6-aab5-02996a1d02c2','f79afda82132482caab313bc7e9db23c','a9f6338b-8cce-42f9-9c25-445a39f7be6a','f9d5ca18-6571-4bea-ac2d-fffb70120309','dd544d92-3853-47ad-8416-0ba846ec14bf','4296b80f-d84b-43c2-8c6b-9dff502aafa1','35c03db0-d18c-4557-b34d-1ae756606b84','aebec40a157f4d8dacd8e54d76a7295f','42ee19e2-acb5-44e2-962c-a9fa91253398','cfcf3f6f-a1fd-4690-b1a0-4fc709f571fd','0d6cd8a15364433286b6db99f4f1dbe1','91080ab0-670f-44da-a102-fa9a538846d5','759864ad-5d96-4619-9fb9-60b7db5d33b3','0bef421d-5686-4bea-a63d-7afce5e14142','fad64488-549f-4329-a3a9-28547ea1dbd0','a071ea28-5f80-4f7c-b64e-563d450e36c6','44535a01-692a-43fb-83f0-6010692a2edf','26713786-d280-4cda-8f22-3ad1dc05019c','58a4fd1b-c2a2-4d50-b3eb-2ddcd3bfca3e','56d5a034-23f1-4ffc-860f-955f43ddae36','17888d9e4e7f4f4d98a40049c357bad5','0a385bf0-5580-43aa-8f0b-2a842496fac4','bd11e078-f547-4a79-8dd1-b027631f05a6','6615a576-722a-4f41-8158-a9f842eb90ba','9a829a8f-d4e8-43a5-8c97-6c76adae46b4','6128b5cb-2aa8-45de-82f3-ff4000c4f295','fe236ef5-5de5-446f-be97-a577f1e33872','ddbfeee7-2c87-4fa3-801a-41e78afa4f66','249d7eb8-dc12-4055-92b6-6c1a740065ac','609ea640-e2be-4ba6-af15-3fd663c6bdf5','652b4950-3743-4049-ab63-fba819d9f2ce','e6b8581a-1b39-4d1d-8a65-eca404f1bf33','ba0bdb21-702b-494c-97b7-1d0c0f6d5898','dd040fc5-2378-4ccc-ad09-8492f5a4d366','b055897a-31cf-442b-b8b1-5e73854b64c1','6a00a0b1-799c-43d4-a3f3-5649d9e7bb3c','558681afc08e42179a7ec94f99748f1a','c4e28ab8-29a8-4075-befb-ff0bf3da9144','e02e980d-6607-445d-8ea2-9ced2c28b369','5ff4918c-5665-47ac-8922-dcdf97d843e3','566aec3e-cd93-4057-8458-c90ec069b67f','8cdcb61f-e83d-4bca-a74e-98021f8225cc','f0ee1bf7-73e2-4b7b-94d6-11902b5941e3','00c3de51-0e46-4929-98b5-589e0aa3f186','4d85b118-75b2-4807-8801-f4022303f645','73f50a43-896a-4b97-82fa-6b02f08007dd','4aa93772-0e41-4984-bc7e-2d0149f46419','5c4e9658-2514-4c99-b92a-7496a1044caa','b99178e7f1ec431c8a68c5cc72183a86','597e9554-eed5-4ded-aea6-b495ac4d3976','cd457aa1-94a7-4937-899d-49f82637bddc','362475e9-9e90-41a7-aa85-9ca059bd6e19','d1ae6d12-d3d7-40c6-95d2-07915636230b','5376cb89-3ca7-4ec4-9d61-0d6add16bac3','65562c4d-c788-4bcf-b955-ccafc68f1281','f7cd6508c2a24da39b8bc7769b82fc7e','bcc9b203-40b1-4a83-84f6-748030b887c9','103272e3-3efb-4f40-bab8-814c6ca4ad57','d8fa6e86-1f9e-4214-8aa8-4bc4ee872cae','d5045b59bebc40e5837d0f9a17bed20a','89ed5bdd-88ec-45e8-a4d6-40a4c5bae9ae','52d9d3da-e99c-40a1-a1c7-6d2587624d4d','10bfd4f7-dd89-45db-9b94-3d9632d531ef','ae431f5a-7182-4867-8c94-d7a81c10bbe3','d9170ab4-5d60-4a25-b454-86a645191de1','3375e3a9-69c6-4baf-925b-ab1920021b00','57438275-6821-4263-8e8f-34c07b6693eb','0aed5793-856a-4266-ac81-f820cd1c3341','6f9ac094-3021-4967-a402-1d96bab43b81','c08c8545-abc6-4c5a-a9d7-67e175f1d63f','4af1b2a6-a48a-4fbd-846b-12513814dca9','4cbff8d7-d916-4f95-9ac3-7bf5a70644cf','abc856ca-14ac-4c49-b7fe-6186576ec200','2ca6fb60-eeb7-47fd-874b-824a1711f7d1','0b0ceb81-2e5d-454a-bd98-e864f1de5c7d','5b454490-ea97-4db4-84ca-46b10391aced','51eb77e4-b292-4cd2-80d5-03c7b55590ca','246f2c1d-3560-4492-b0bc-fea93c3a9744','5c986898-15cd-43f3-8d1e-73bd994a1972','27374fa6f9424e2aa0eb611d9712ce24','95a53beb-53ef-4d18-b34f-357f3ccaf323','cc9b1ff0-c70a-40f7-8109-30020857c8e6','c567ca06-46c2-4bc9-b9d6-78138aba8ca6','b4ce8a00-9cf3-46b8-8988-537514b49841','749270eb-d427-411d-94cf-15666fcc4bb2','f010bb34-763e-4964-b055-de16f24c66e2','acfe717c-b9e3-4f86-8a07-0738d0bc02f4','005b34cc-3209-4b5b-bab4-8191789bdb7e','598410e5-870b-41e5-b53e-dbdbeeb00a25','6caa024a-e854-4731-9735-cd0c27f5f827','f3afe77b-6a0e-46a4-b33d-567853d18252','e717e4e7-83b9-4dd2-97dc-529eeeab8018','afa0294d-559e-4410-87fb-03a522b57037','1f967be7-f282-4073-970b-7caf9d10499a','2f033d2e-f83b-4d6e-8986-11bd5752b62d','def574e7-acdf-4a90-af96-d9fa0bc2cf19','265d4086-57e4-4ebb-a798-1308784b820f','8e2296e8bbc54c55ade58aebd6750c78','82ff3f16-3f7b-4c92-8785-2e3d46f37633','5aa8cf62-c93c-425c-9554-7ac51d798ce0','8df919a2-dab9-4772-aed2-de554c487604','010d9e96-9e5b-4032-bff1-64a6e141c0fb','a202e2c8-a77f-49da-9f5f-8c8846680bea','25616bcf-ca0c-46d2-8ee7-c0cea8a6e9d5','ea6dad2a-03df-44d7-b6a4-e6c206f1e0aa','2d26aa0e-cea0-4fc7-a8cf-947b326a91c2','2925c865-2c92-4672-98bf-b46ec8cbd0a7','fd1053da-788f-4765-8be7-639b1a7d1955','9c16491d-06fc-4dde-94e1-2ce3faae8b42','831dae29-e686-433e-a0ae-c362b1a47d14','f71f5531-fdc9-4888-9865-14046c845421','97046e30-996b-41b8-9c9e-8cb34aba4eaf','ec058e8d-0dbf-4da5-b0e4-b5c5e7a9490b','bc28c564-2b52-4d16-9ba8-897b7f8927fd','75712086-dcfd-4542-bb45-a76ab682ecfa','9d1ebe5d-0cda-4bfc-ab22-eed4c5077242','dcebc862-6008-4380-9b0d-f16684729a35','1acc27337a0647f4867dc49c40995407','f02e088b-6556-4fac-ac29-76c4c243724c','a5659792-c4df-45eb-bd13-842db47f6256','2f5c79a1-7355-4e55-b210-3fa8d74d7a95','e6c1e6f0-553e-43bd-9b96-ec0c8deb6205','ad25e417-e0c6-4082-ab3a-a174b734c132','30c7a34b-a106-445b-b933-4d84fff8cc4a','cae23dc5-9c4d-4574-b1fc-c95c163291a0','5209d272-2faa-4ee6-a3f0-7d55ab128e32','07a61700-d8c2-483d-b410-9f2142702706','1fdc56fb-dc38-4d5c-9e15-67b83fa52c93','55aec2ee-5d7c-493e-97ff-52b5f3770992','66605418-f039-4bd9-b1c5-159e4bf80f98','bf9a7eeb-4388-4a93-9003-46da8a97873e','c12b10e3-d701-45e2-849e-adda7ab59ef0','8515d843-cce1-4312-ae54-bc0436351c8e','388588ae-a3bf-4764-9078-9a14a4ab8585','63d37148-a82f-4528-bae5-ad00c4c70eb7','3afb2bbf-79cd-487d-8237-7708e0d1ec27','631488d7-3d78-4bc4-9c6a-dbed24793ec6','730ad38f-37ca-4ba3-b0e2-6dac364d1143','dc1a6d6c-2164-4ae7-893c-c44576d11fa0','c4d1d12e-6773-47be-b416-f4965dfdbd63','7af72a16-b68a-443e-91b3-2d0d8ae8e520','2894302a-0d8a-4c60-b986-fd11c479419b','2dc01f66-86b5-4996-9b97-f61a0e888093','e8f15785-1f05-4f42-9d5c-a20a75310623','7806f4ad-4156-47ed-a6a2-0c775bb7323b','ade2560f-2065-42a4-b8f0-bc9ba80920b2','d8472283-fcfb-4dd6-87c6-23c3032228f9','787f2906-81b0-400b-a23a-eaa64cad6ce1','9df95e85-3f6d-40c6-b77a-ce16c988cc77','deb70b26-e991-43f8-876a-f2b9cdbf3f31','dc6ba467-5266-4792-aa4b-5a5caece04b2','6afa91a2-1815-404d-a30f-895dc265bc98','cdca8384-037c-4487-bff6-d008ed6f2654','02feeac2-be2e-4522-8470-2c4b2330ef60','06281dba-1c96-4a6d-b9ab-87826df45eb0','75c0787e-455a-4bb7-a05a-1e81463f5b6d','21320b0d-5169-4c28-a080-0e2fb6c704b4','b1e2e468-6f37-4b06-8c1a-5e0e6221e811','3e843af0-a01c-4364-981f-5ed2c74f43c2','ba6870ce-0b19-4716-a00e-4e5ecde20f29','2006ae42-40e1-4a23-b9de-acbf6f23b355','46a026c9-1ec8-41e8-a2ff-487409d7d93a','862a4dee-829b-42a3-9f8f-1e3ac0fe3abb','8758964b-b039-404c-b869-a00a0bd4656a','f8991644-b40b-4dc0-8984-54c9edcd3f9e','e815e523-8d79-4045-bcf9-6a6b46d079ed','2f14640a-925f-48d7-9e91-6ce3f520acaf','167837b2-c620-4327-b83a-5587b041cf7e','47d8b1cb-1b93-419b-8c82-848bc572b58f','9821003b-f3cc-4741-aca2-f7b6ce7ad170','4a4165b2-eb39-454b-a16a-0e28f5a30fc5','3f87d1ba-bbc1-40b2-bbfd-03dec0e263b4','ed3d0489-41d8-4138-a1e7-c21c5bf2c2a2','a46d2594-5a66-4d7b-8e5d-8c3053ca0b67','539fb426-1666-4bf3-994b-366d2b06245e','ce6f6c93-a802-4858-9b02-3883f186bc8e','923ae9d3-dcb3-4db3-a000-8a909b077fc8','645d31d3-bb4a-4dfa-9861-b5a606c9d764','1dd2b67e-9112-487d-ac4e-dff865dd6d7d','a3bbb89d-9d00-4c6d-b039-db9c4a2cc4a6','00ce009f-d6f4-4743-8637-74ec315687de','5a7f6b29-a16a-4791-b24f-3dc99d13b01d','48b31b11-a1cb-48d2-be64-8ae254cf4d2a','069aeacd-d003-4769-8b8c-88070844dd8d','10a41662-3317-4d35-bd67-61726ea3bdc4','0d325054-24e7-4922-974c-50034645b29d','8246e133-d131-4d19-89d3-f107aac02562','7d6cd34b-3748-4b30-8fd8-fc7d2c7212c7','a04cf018-6a9c-4e9c-96e4-c7e05f711ecb','b7576b80-482f-48d0-b29d-b2f42b36b17c','db0eaa9f-9439-48f8-a5b1-d1c6dd360282','fd115c34-f3a6-49a8-a40d-292d2da2726e','89e254f1-a8e6-40a0-8382-9f8945f78c58','b4940cd4-56e7-47d3-87ff-96d9c069e12d','bc61b843-8f3d-4423-8a82-2f3e713a5dc1','4947e09e-735c-4b33-ab1d-dd35443d4673','59ef268a-3776-4daf-956d-c728a1950568','5cdb01b5-49f1-4ca5-82a2-b4ea0ec1b8f0','c590c7fb-86bf-4baa-b12e-2c4ec5a4974e','8ee45020-efdb-429f-80ee-50aa20039cae','d9e6858b-1642-45a7-a291-6b365e603b67','d16acf9f-60cf-42e3-ae8d-1154c78223ed','b331104e-1439-41b6-9b9f-9485c08a18c0','8944d52c-2b29-47c8-be74-dee3911cb2e4','eff57581-207c-4c34-b611-b4f60f26b97a','16ec8a98-a688-4c11-bc73-ebea2b2e6e7c','0df044cf-b7cf-467e-ae34-b716fc29e6ea','51b97a11-dc55-47dc-b730-7d5a45aae085','a8cd8c1a-5d36-4420-9a32-41573dc6bcb9','ce91995c-ce04-43fc-9d2c-8446d648dd7f','9b125994-8def-49db-92b4-4eab8b19b24b','2e6adea1-7ab4-4fd0-ae16-b206b2e2d654','2ff092ed-4b9a-4157-83b1-85f7355c594a','58e45a88-e58d-4e55-8c96-8b5e9aca5e4b','eb32b585-3455-40ac-9c05-b982df148c9b','a48c58f7-759a-45b4-b8f8-529b15f5c66c','9ece4ecd-ea37-40f1-bfaa-f587c72dda4b','790a30ed-9281-4a4e-8cea-5417844115a5','25ef87c7-e431-42a5-80ce-3d66723ed74b','79b0a9be-52ff-4ed0-a0cf-b55444fa5f3a','fd6e92a6-d428-45d2-a372-b868eb2e6b79','65daf4ed-9ae3-4aae-8522-9586edc6c07c','ad67d2e9-965a-4602-b555-0578d1c7eb52','c00df4e7-aa30-4dd3-9ef8-a3ceb25288a9','b4c06816-1c32-4a91-b865-5f94fcc619ec','b6e69960-72ad-4942-991e-99199958ae0e','33674116-c629-4b73-ab57-f866cc6a36da','007bc5c0-3a41-4bb5-ae19-722665570016','bdfd8781-7fdc-4c63-a57b-8d9554f76a47','99b016eb-ccc1-49c2-ac9c-8d5fb1e44fba','6b3b1ff4-a617-4e0c-b124-0f5de89b8a0b','7c73f328-c0b5-4d07-845e-eebbe332f5bf','0c3f6e25-e5fa-4990-826b-b49fd0dc0ddf','f78d7dd1-29a3-464f-be8c-277aaac8c35e','c97df8ca-853a-43d7-84c6-e5d4b3058669','cabd2bdd-c34d-4760-827e-48770d394b2d','ad0a1b3b-c2b6-4dd5-b23c-d0f3c5dff104','36918a8d-45f3-46bf-8a6b-3e78f672c65c','0a0e48b6-f40e-4306-8d03-2382526dacf8','6db8cee8-ce19-4223-b232-e5ba04ec7eee','8b333ef9-eabf-4e91-a619-6138ab171f80','91084af7-56f9-4712-8b31-d61db91710c2','3f802c4e2980468295df433d2cfad3d0','2e14d2a9-b0e6-40f9-adfd-6e369b2874a0','20a5cfad-9b14-4526-ab5e-bfb13eea13c4','6a48eaa4-cbc4-4179-991c-179ca6fd7a18','46114ddb-0b6d-4ab8-8d3a-26b91b2c6adb','a345b8f1-feba-4b17-8e23-36a59ddd8c26','123fa63f-0773-4021-9ce0-b3aa2e707aa3','10047ea4-39c5-418a-a0a8-e9b8a46c9a22','430eac99-4c1a-4e72-91ce-b15053761523','13d2f201-b704-4f4d-9d82-cdd23b25792b','43f11e23-371c-43e7-b7e0-2cea5feed73a','648ff677-9d69-4d58-bc0c-8c7b9cbad552','f48780dd-0942-442e-8df6-368cf32039bd','6af81bca-2184-49ff-a7fc-a6c6bbfe7674','78cc524f-c804-41b1-b5e8-f0e624ed10ab','ff47ae63-88ff-4171-9038-776dcd9da8dd','8124818e-546d-49ed-8522-09a2bd905181','91ec0941-0886-420b-b0b1-684f8f7edc9d','1f09a571-c217-4411-ae31-b3fc1b0d61cf','ee2dbdf3-48c5-4c0d-970b-06c4345dd57f','35691706-9bd3-48a6-b006-23b9ef3d6f31','1a84866e-d4a4-4a7e-b3b3-10c3914e0a10','9b452481-7d84-4e1a-9c5f-2b3510e4e241','38bbdd4a-c2ff-4250-a668-de237852163e','76e5ce58-0ec3-4b54-a498-8365deb07af0','808f7228-8a1b-404e-8623-af4407a704fa','d71ee39c-617a-4454-a2b3-37a60b25adfe','6eba34fe-b401-4e7c-ad3b-c06e358f3e9f','8ba87703-01d0-4323-a2f1-e65cd72b8821','cc4c5275-14d8-4ca0-9a73-b2ea490f53e7','43ac953e-8bcd-4f35-8c0a-a649ac06a640','a35f9f8c-a781-41d4-856a-c62164ae1308','7be811be-4768-44c5-a2df-3dc4d5cb19ba','b8770ad5-0b10-4289-a86f-3c3f847be678','eb66c84a-7cdb-4a37-8fa9-a17fac28adba','f7ac8665-3aef-4b0d-981e-f0c2152b30a8','9d3217f8-a7df-49a8-9b7d-035340dec106','7fd3ae3b-c8ce-4bef-90ba-1a74e429b9df','0da145c2-7963-420a-b9a1-fe261b463cd0','ba04d188-2562-42cd-985b-652442398b26','3d39ea19-18be-4feb-a40f-f3864d509544','c37602f7-692e-4475-be9a-a65bb642523c','6fd8eba9-de13-4cfa-9545-310633f6fae5','a26b0ad7-b2ab-4d12-b48b-83345fa75faa','a01acbfa-7b2a-4b77-8900-ff04e4a9beb8','a319559b-326f-4f78-a6e9-7ff7b9ec63dd','3cbb5554-f001-432e-8920-5d0009946294','0c7d43df-4ad6-4e38-baf3-ad96de67c263','ace9299b-c5ee-4e64-a865-d78eeb35d995','a21e9edae58e4933b7b961e3719aa09a','fc440d06-8ecd-46f4-8bd8-390a3cab60ab','88e768b0-729b-4d92-8f63-6f9ce2a396be','73e853f2-896d-474c-90ba-61005b5021f4','c8152afa956f43069e1bae3ef31de46f','b1d91834-aa71-4fb6-a2f6-2f6cd13be9ea','da33a342-cec2-4352-a378-acf264e7a506','91f1b9b4-50cc-420d-890e-a34b2e8fae57','fa807bbd-fa07-4bcf-92f6-5b0149834ec9','dc77b428ecef4cf5b00213ea78ae7629','7774dc9cef034b608554ff163994eadb','10a56d5d-cdb2-4413-b30e-f16fd10ff97b','b705f79b-9b30-48e9-b39e-3d4f7d6e12b5','c421daa7fe1240d99a39d02fb096ec67','0a537bb0-1bec-4522-b5ce-4fcb7b1a37f6','e7512c20-4e24-4200-8b2c-9b3df4a51b6c','b312bbf7-083d-4438-b557-05267cbdb4f7','166f163c-1226-4d33-b9ea-df3f9896e675','3298d23e-ca40-49b6-8cc9-e66f6d4d107a','c7a155dd-451f-41db-b035-2006229ac826','8559efae-b2e9-425a-b705-b69910024599','b2a2dafa-2d12-4b0b-bf02-5a4a00b9b302','14e7a5fe-c4d5-41e6-8ceb-e764be1175e0','f1d5bfe7-9eb1-44a4-bcff-a3ee67848311','6ab1568f-693f-435c-a584-3bd1a60041ef','d427de93-5907-4bae-9af0-2164e6f1cc47','1f67bb4d-6f9f-4c38-aa8c-ab9d75123f47','d0d8b2d9-74f5-4e23-8c97-27618cc56250','0f87ca5c-987a-46c8-ad9c-a22687658b00','952d18b6-e0eb-4044-995c-69a32b656f74','3b39177b-d063-4627-a118-a2bd0141f213','757c42c2-4d5a-46fe-bc88-87ec5e040a47','524055e8-1848-431d-8821-a610f9bc6a75','cd93ceb3-10da-45ce-a7d8-92c3a4681782','d2c37549-e324-4adb-8862-91fc52156469','d38ec7ce-733b-4eda-a767-520bb55da1fd','57ecf847-99b6-4b1f-9fa3-2278708dd1db','c885a9f9-2811-4fd8-acc9-531ffed0649a','95888c92-9406-4590-9407-2c17982eb2d2','d79e0bf4-e737-4fd1-a4bc-76fce30d016c','3d7ade86-2cc9-4b9f-8f06-c2f67989662e','0d669634-2afd-4357-b562-4aaa286bb560','ceb04149-155f-4760-a9b5-7687a444a32a','70d24ad6-0485-4f35-93de-ecd189243bd7','6724f194-672e-4617-ac83-56a8a202e3c6','37a3126c-b0d0-48a1-a9a9-7782305e2119','4492a054-74de-46e7-a880-e3c66b520ab6','2cbcc81b-55fc-4528-ae47-838eb355cb71','440b39db-14fa-4f0d-9b77-8ac17be93f5e','4237971b-5d78-4b0b-a939-30fee9bb9f7b','dd13332b-e0ba-48d1-a12f-15e14321a793','e482075d9dba4db5aabde787978d2b6d','200e14ee-ff71-47bb-acfa-b5a477292002','a8b766c7-7740-47c5-b167-de195642cc93','1b94d43d-aa1f-499b-9f36-071430b58696','3ffebbe9-7fb0-4186-97c5-fa6da1183610','4f7af970ed8c41a4a65f5b36a99b511f','df10e77d-8aca-4022-992c-0fec0b7528e9','5bf47ec6-ba71-4af6-83d6-20985cf36f9a','f8de61e8-429f-4da4-8c8b-403ea95b0097','ef180db5-0c5f-4283-8d3d-6a31d09fc925','1ef175ab-7576-4290-adcb-67e5c9cca859','35e9d8c7-0d0d-4b2b-a126-b4f3f08ba3a1','86d8c2c4-8678-4fa9-92a6-98786a7e35fe','4de74150-7ab3-4d46-8c0a-01016ffe4b06','ad80dabc-3806-4183-9f16-267317a86b8a','67f23738-b583-4ceb-abdd-ca56ee0afede','8cd901e8-cc42-4b6c-a955-90b4f509a32c','5c949215-7ad0-4822-9f8e-f79f36608ef3','106377c6-9b1a-4695-a0c8-1dede02ca453','37c33e26-8092-42da-ab73-33bf08e2da6d','12705e3f-163b-4106-a497-93f06a7a18d0','8da75d23-f6ad-471b-bfc6-c353b52b22ec','2e41a19e-6771-4ea2-b84a-28d7e291ca45','74206f1c-c42f-4a8a-b692-faa6b4560eb1','61b5840c-f456-4b5b-a335-d52ff348e043','bc936e11-1cdd-4ec7-9ea4-1f81ab927a82','a3b6cb07-844e-4bf5-ad1d-1bdbc1b1c88f','30af0d87-b518-402e-8791-45cae652cb8d','97968c75-cf9a-4d58-b0ba-dd7b76d1cada','5f87ef4f-dac9-4920-8496-ee5b5b6449ce','8f505d2e-312a-4b01-8846-12ab81528653','bf7903e2-5ee0-4512-8347-12162cacf1b4','d75f0250-e823-4cce-9307-d0e3a53be576','03f229f5-c78d-4569-ae18-2c162c759f71','6ba65205-524d-45b5-b9f0-649529b55153','078488a4-284b-4d8b-a7aa-de6d7694fd01','13b352c2-5b3e-4c79-a1cf-636a46476fd2','42dd5dd6-a78e-4cad-ba60-36852c043a0a','79c6f58c-4d2a-406b-a802-bed8e29624d4','cdf7973e-ffa7-429e-a40d-2918863e4199','cfc70c67-ba82-476e-afe3-21b5061949de','ae794d34-01b2-4578-9abb-1f074e508b5e','b9a8bf9d-c2bb-4651-85b6-fb3aaa866416','6f925853-15e7-48ab-8096-e9268d7a8f9e','a0267a78-0183-48d4-b253-1091dee005f7','281f0fe0de0d4117b050294358cef0ea','368766ed-7e6b-42c7-86b0-902248023dda','642827d0-01ea-4fbe-932f-676a0059a9cf','aad9de25-479a-4972-a67a-1dd3d368e17b','5ee6f66b-3743-488d-ba6d-72a406cbe46e','d27475ff9f8046c7bf962cc123c5c910','1f16c4a5-2973-481a-8074-4117f5cc2f21','0e093959-cb91-418d-b38d-f3b72dd66efc','367d98c3-6d17-4f9b-8534-c10e97d19e98','49fc51ba-414a-4517-a582-85cb54cf5728','64ddeb85-b8b1-4eed-901d-dc63f5078c6b','3bc326719f9a418ca4c6fe8412cf4dbd','77ca5a8b-5061-43fc-904e-fce5f2d4dfcc','5888cfe4-7a0c-4a57-962c-ccc4eb60c48f','093ad19d-1462-4da4-b039-30366e460ce4','d00279ab-ecef-4dcb-a0e9-40615fde1f7e','040f06bc-b152-4b09-b174-ad0ec131782f','b3b750c3-06ed-4f66-8c3a-539f74ae664d','5832de74-6a7d-4e55-9bcd-5b790c506bef','cec09ba8-a5b9-4001-a68e-4c57313662f1','460f775dc39e43d3be166f20d4527658','8870b358-803d-451a-8169-6263b10fb27b','4d44195b-82ca-448b-9095-f9dd58f78e89','c218e104-00eb-4ff7-b47c-64bcb47df080','8d51f642-c135-4ef1-aca8-1a8f6de46201','0d12d452-5bbe-47a5-9d97-f2c761122cfd','d990e6de-fc5e-4dda-9e75-501857e1a967','8c907da6-3086-4740-9ef2-0bc7e8d66bea','8e7acec6-9e12-4e05-9a20-7475be496473','13484f39-2ddd-4b4c-97a6-f7f08751a873','ece2cede-7caf-48c8-9b49-7aadaeb1e0b7','d636a4a1-199a-4c74-b5d9-aa891eae27bb','ddbe1e0b-b878-42d0-ba27-e0a2eef9a691','1c382a20-f12d-4542-b7c8-9b86a19a7bf5','cd505855-5176-4728-83e4-541866289d47','0044cabc-dd1b-493f-a68d-dc7ccdc474b6','5b60053c-fe9c-488b-9fbd-2ee1c066f18e','b70138d2-bc1f-4441-9706-eb8f73b5e0d2','cbc08852-c94e-4ce9-9538-7176fde80654','c957822c-8f0d-47e8-ab3b-0845e5bda50d','8948fc4d-bdf2-4f2e-a7b5-8f3dbb44353f','3c346877-f21c-4fd4-9f27-532a2db25064','88be031e-136a-426f-8a49-390317c8ee70','64aae58d-8303-4952-bf1e-148ac11ad3ba','e789b2e3-42d3-405c-a231-58c2d39c106f','8306c1a5-91a8-41ee-b119-a20db057550f','bed5c6e7-fbe8-48f1-8a43-a4d0b132a8d7','2af528a6-47c6-4f45-bd84-d9423380b91b','b2d295e2-d78f-4116-a462-878f7c288927','7c6c3cab-c69a-4bc6-95aa-ee5387210895','99bf6014-9131-4e1c-950c-92a55d47b734','667f2f44-4a1e-44d1-b7bc-8dbf16b132b5','9b89cd06-9f22-49ac-85f3-721b063c0629','a4c5ff3a-28ed-4f05-ab80-94b1d9479fae','3583af2019714358907471caa7285508','9e3db54e-74ab-4f7b-bc95-6bb0b5f47b17','7e0d07d7-ba52-4a9e-aeed-b012323a532f','293753ec-756f-4c66-8b0a-4186e4ad96a1','37b6b496-d1cb-4b3a-bf8d-96ff93f5fd45','fe597e16-373b-4822-aded-c35cc0e680fa','c3e99c0d-02a4-4c46-959b-463ffa08939b','3dedd2bf-0915-4aa5-9e29-0dfab738cbe0','cf55e8be-bdea-43ea-a4dc-44d289332b17','91b5c8ba-865c-4d14-b7bc-c4397709280c','cc1ebda4-968c-4610-835a-60b8fbd41c1c','e9f7e3ae-0b3a-4b84-8aa5-a7e35ae38541','b7c87c88-157e-45dc-b0d8-60373f5757c3','4c2124e3-4680-43e3-9b75-786c518cc58a','04978713-438d-4ea1-a98a-f39bb45a280f','e2cc1abd70b946aeb66643aac327baf2','1636ba1c-447c-4e99-a4f1-e247f0e19338','f53b6415-85c6-4b9a-8ef3-93594a1573f3','92c8702847364e369b016ed6b6ee407a']
req_list = []
for i in task_list:
file = f'geo/{i}/DB/context.txt'
result = delete_file_from_tos(file)
print(req_list)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment