codexunlimit 0.1.0-web.12 → 0.1.0-web.15
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.
- package/README.md +93 -75
- package/cli.mjs +2 -110
- package/codex-desktop.ps1 +85 -0
- package/package.json +33 -14
- package/runtime.mjs +1 -0
- package/shared-CUSGWETD.mjs +1 -0
- package/web/app.js +1 -154
- package/web/style.css +5 -0
- package/account-pool.mjs +0 -161
- package/app.mjs +0 -161
- package/codex-account-client.mjs +0 -53
- package/config.mjs +0 -224
- package/doctor.mjs +0 -20
- package/image-http.mjs +0 -22
- package/io.mjs +0 -5
- package/license-client.mjs +0 -150
- package/product.mjs +0 -5
- package/protocol.mjs +0 -28
- package/quota.mjs +0 -34
- package/relay.mjs +0 -156
- package/state.mjs +0 -33
- package/updates.mjs +0 -47
- package/web/markdown.js +0 -15
- package/web/messages.js +0 -66
- package/web/pool-ui.js +0 -53
- package/web/stream.js +0 -25
- package/web/updates.js +0 -26
- package/windows.mjs +0 -53
package/web/app.js
CHANGED
|
@@ -1,154 +1 @@
|
|
|
1
|
-
import {readResponseStream} from './stream.js';
|
|
2
|
-
import {mountUpdates} from './updates.js';
|
|
3
|
-
import {renderMarkdown} from './markdown.js';
|
|
4
|
-
import {mountAccounts,quotaSummary,accountOptions} from './pool-ui.js';
|
|
5
|
-
const $=s=>document.querySelector(s),esc=v=>String(v??'').replace(/[&<>"']/g,c=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]));
|
|
6
|
-
const date=v=>v?new Date(v).toLocaleString('vi-VN'):'Chưa ghi nhận';
|
|
7
|
-
const icons={home:'M3 10 12 3l9 7v10H3z M9 20v-7h6v7',chat:'M4 4h16v12H9l-5 4z',settings:'M5 6h14 M5 12h14 M5 18h14 M9 3v6 M15 9v6 M9 15v6',arrow:'m7 10 5-5 5 5 M12 5v14',plus:'M12 5v14 M5 12h14',check:'m5 12 4 4L19 6',link:'m9 15 6-6 M8 16l-2 2a4 4 0 0 1-6-6l4-4 M16 8l2-2a4 4 0 0 1 6 6l-4 4'};
|
|
8
|
-
const icon=name=>'<svg viewBox="0 0 24 24" aria-hidden="true"><path d="'+icons[name]+'"/></svg>';
|
|
9
|
-
import {errors} from './messages.js';
|
|
10
|
-
let status,csrf='',route='home',models=[],busy=false,controller,current=null,modelLoad=0,renderFrame=null,stopped=false;
|
|
11
|
-
let disposeAccounts=null;
|
|
12
|
-
let conversations=[];try{const saved=JSON.parse(localStorage.getItem('cu.conversations')??'[]');if(Array.isArray(saved))conversations=saved.filter(c=>c&&typeof c.id==='string'&&typeof c.title==='string'&&Array.isArray(c.messages)).slice(0,30).map(c=>({...c,messages:c.messages.filter(m=>m&&['user','assistant'].includes(m.role)&&typeof m.content==='string').slice(-100)}));}catch{}
|
|
13
|
-
function save(){try{localStorage.setItem('cu.conversations',JSON.stringify(conversations));}catch{notice('Trình duyệt chưa lưu được lịch sử. Giữ trang này mở để tiếp tục.');}}
|
|
14
|
-
function notice(message){$('#notice').textContent=message;$('#notice').hidden=false;setTimeout(()=>{$('#notice').hidden=true;},6000);}
|
|
15
|
-
async function api(name,data){
|
|
16
|
-
let response;try{response=await fetch('/app/api/'+name,{method:data===undefined?'GET':'POST',credentials:'same-origin',headers:data===undefined?{}:{'content-type':'application/json','x-csrf-token':csrf},body:data===undefined?undefined:JSON.stringify(data),signal:AbortSignal.timeout(65000)});}catch{throw Error(errors.local_service_unavailable);}
|
|
17
|
-
const result=await response.json();if(!response.ok)throw Error(errors[result.error]??'Chưa hoàn tất thao tác. Vui lòng thử lại hoặc liên hệ người cấp mã.');return result;
|
|
18
|
-
}
|
|
19
|
-
async function refresh(){status=await api('status');csrf=status.csrf;}
|
|
20
|
-
const licenseLabel=()=>status.license.active?'Dịch vụ đã kích hoạt':status.license.activationRequired?'Chưa kích hoạt':'Cần kiểm tra dịch vụ';
|
|
21
|
-
function shell(){
|
|
22
|
-
$('#app').innerHTML='<div class="workspace"><aside class="rail"><a class="brand" href="#home"><span class="mark">cu</span><span>Codex Unlimit<small>Không gian làm việc</small></span></a><button class="new-chat" id="new-chat">'+icon('plus')+'Cuộc trò chuyện mới</button><nav aria-label="Điều hướng">'+[['home','home','Bắt đầu'],['chat','chat','Trò chuyện'],['accounts','link','Tài khoản & quota'],['settings','settings','Cài đặt & hỗ trợ']].map(([key,i,label])=>'<a data-route="'+key+'" href="#'+key+'">'+icon(i)+label+'</a>').join('')+'</nav><div class="history-heading">Gần đây</div><div id="history" class="history"></div><div class="rail-footer"><div class="rail-foot"><span class="device-dot"></span><div>Đang chạy trên máy này</div></div><section id="client-update" aria-label="Phiên bản và cập nhật"></section></div></aside><div class="body"><header class="topbar"><span id="breadcrumb">Không gian của bạn</span><a class="service-pill" href="#settings"><span class="device-dot"></span>'+licenseLabel()+'</a></header><main id="main" tabindex="-1"></main><footer>Codex Unlimit <span>Gọn gàng hơn cho công việc mỗi ngày.</span></footer></div></div>';
|
|
23
|
-
mountUpdates($('#client-update'),{api,version:status.version,notice});
|
|
24
|
-
$('#new-chat').onclick=()=>{if(busy){notice('Dừng câu trả lời hiện tại trước khi mở cuộc trò chuyện mới.');return;}current=null;location.hash='chat';render();};render();
|
|
25
|
-
}
|
|
26
|
-
function history(){
|
|
27
|
-
$('#history').innerHTML=conversations.length?conversations.map(c=>'<button data-conversation="'+esc(c.id)+'" class="'+(current===c.id?'selected':'')+'">'+esc(c.title)+'</button>').join(''):'<p>Những cuộc trò chuyện của bạn sẽ xuất hiện ở đây.</p>';
|
|
28
|
-
document.querySelectorAll('[data-conversation]').forEach(b=>b.onclick=()=>{if(busy)return;current=b.dataset.conversation;location.hash='chat';render();});
|
|
29
|
-
}
|
|
30
|
-
function render(){
|
|
31
|
-
if(stopped)return;
|
|
32
|
-
disposeAccounts?.();disposeAccounts=null;
|
|
33
|
-
route=['home','chat','accounts','settings'].includes(location.hash.slice(1))?location.hash.slice(1):'home';
|
|
34
|
-
document.querySelectorAll('[data-route]').forEach(a=>a.setAttribute('aria-current',a.dataset.route===route?'page':'false'));
|
|
35
|
-
$('#breadcrumb').textContent=({home:'Bắt đầu sử dụng',chat:'Trò chuyện',accounts:'Tài khoản & quota',settings:'Cài đặt & hỗ trợ'})[route];history();
|
|
36
|
-
if(route==='home')home();else if(route==='settings')settings();else if(route==='accounts')disposeAccounts=mountAccounts($('#main'),{api,initial:status.accounts,isBusy:()=>busy,onChange:(data,selection)=>{status.accounts=data;if(selection){status.connected=data.rows.some(row=>row.active&&row.state==='ready');models=[];modelLoad++;}}});else chat();
|
|
37
|
-
}
|
|
38
|
-
const ready=()=>status.license.active&&status.connected;
|
|
39
|
-
function home(){
|
|
40
|
-
$('#main').innerHTML='<div class="welcome"><div class="eyebrow">Chào bạn, bắt đầu thôi</div><h1>Một nơi gọn gàng.<br>Cho công việc mỗi ngày.</h1><p>Kết nối tài khoản, bắt đầu một cuộc trò chuyện hoặc tiếp tục công việc của bạn trong Codex.</p><a class="button primary" href="#'+(ready()?'chat':'settings')+'">'+(ready()?'Bắt đầu trò chuyện':'Thiết lập ngay')+' <span aria-hidden="true">↗</span></a><span class="welcome-index" aria-hidden="true">CODEX UNLIMIT</span></div><div class="section-title"><h2>Ba bước để bắt đầu</h2><span>'+(Number(status.license.active)+Number(status.connected)+Number(status.codexConfigured))+'/3 bước hoàn tất</span></div><div class="setup-list">'+[
|
|
41
|
-
[status.license.active,'01','Kích hoạt dịch vụ','Nhập mã do người cung cấp dịch vụ gửi cho bạn.'],
|
|
42
|
-
[status.connected,'02','Kết nối tài khoản ChatGPT','Đăng nhập trong Codex, sau đó kết nối tại đây.'],
|
|
43
|
-
[status.codexConfigured,'03','Dùng cùng Codex','Bật kết nối nếu bạn muốn tiếp tục làm việc trong Codex. Bước này là tùy chọn.']
|
|
44
|
-
].map(([done,n,title,desc])=>'<a class="setup-row" href="#settings"><span class="step-number '+(done?'done':'')+'">'+(done?icon('check'):n)+'</span><div><h3>'+title+'</h3><p>'+desc+'</p></div><span class="step-state">'+(done?'Hoàn tất':'Thiết lập →')+'</span></a>').join('')+'</div><div class="workspace-note"><span class="note-symbol">i</span><p>Lịch sử trò chuyện được lưu trong trình duyệt này. Khi gửi tin nhắn, nội dung được chuyển qua dịch vụ Codex Unlimit để xử lý.</p></div>';
|
|
45
|
-
if(status.accounts)$("#main .welcome").insertAdjacentHTML('afterend',quotaSummary(status.accounts));
|
|
46
|
-
}
|
|
47
|
-
function settings(){
|
|
48
|
-
const connection=status.codex??{configured:status.codexConfigured,managed:status.codexConfigured};
|
|
49
|
-
$('#main').innerHTML=`<div class="page-title"><span class="eyebrow">Theo cách của bạn</span><h1>Cài đặt & hỗ trợ</h1><p>Kết nối, quản lý ứng dụng và xem phần cần xử lý tại một nơi.</p></div>
|
|
50
|
-
<div class="settings-grid"><div>
|
|
51
|
-
<section class="surface"><div class="section-title"><h2>Mã sử dụng</h2><span class="tag">${status.license.active?'Đã kích hoạt':'Cần kiểm tra'}</span></div>
|
|
52
|
-
<p>${status.license.active?'Sử dụng đến '+date(status.license.expiresAt)+'.':esc(errors[status.license.error]??'Nhập key bạn nhận được để kích hoạt dịch vụ trên máy này.')}</p>
|
|
53
|
-
<form id="activate"><label for="activation-key">Mã sử dụng Codex Unlimit</label><div class="input-action"><input id="activation-key" type="password" autocomplete="off" required maxlength="36" placeholder="TDH-…"><button class="primary" type="submit">Kích hoạt</button></div><p class="error" role="alert"></p></form><button class="text-button" id="renew">Kiểm tra thời hạn</button>
|
|
54
|
-
</section>
|
|
55
|
-
<section class="surface"><div class="section-title"><h2>Tài khoản ChatGPT</h2><span class="tag">${status.connected?'Đã kết nối':'Chưa kết nối'}</span></div>
|
|
56
|
-
<ol class="guide"><li>Mở Codex trên máy và đăng nhập ChatGPT.</li><li>Quay lại đây, xác nhận đồng ý rồi chọn Kết nối tài khoản.</li></ol>
|
|
57
|
-
<p class="subtext">Không cần sao chép mật khẩu hay mã đăng nhập. Phiên đăng nhập được dùng để xử lý yêu cầu qua Codex Unlimit; dịch vụ không lưu mã truy cập hoặc nội dung trò chuyện.</p>
|
|
58
|
-
<label class="privacy-choice"><input id="privacy-choice" type="checkbox" ${status.connected?'checked':''}> Tôi đồng ý dùng phiên đăng nhập để xử lý yêu cầu qua Codex Unlimit. <a href="https://codexunlimit.tudonghoa.me/privacy" target="_blank" rel="noreferrer">Quyền riêng tư</a></label>
|
|
59
|
-
<div class="settings-actions"><button id="connect" class="${status.connected?'':'primary'}">${status.connected?'Kết nối lại':'Kết nối tài khoản'}</button>${status.connected?'<button id="disconnect" class="text-button">Ngắt kết nối chat</button>':''}</div><p class="error" id="account-error" role="alert"></p>
|
|
60
|
-
</section>
|
|
61
|
-
<section class="surface"><div class="section-title"><h2>Làm việc trong Codex</h2><span class="tag">${status.codexConfigured?'Đã bật':connection.error?'Cần xử lý':'Chưa bật'}</span></div>
|
|
62
|
-
<p>${status.codexConfigured?'Codex đang được cấu hình qua ứng dụng này. Đóng và mở lại Codex sau khi thay đổi kết nối.':'Bật kết nối để dùng Codex Unlimit trong ứng dụng Codex. Cấu hình gốc được sao lưu trước khi thay đổi.'}</p>
|
|
63
|
-
${connection.error?'<p class="connection-warning">'+esc(errors[connection.error]??errors.operation_failed)+'</p>':connection.managed&&!connection.configured?'<p class="connection-warning">Cấu hình đã thay đổi kể từ lần kết nối trước. Chọn Kết nối lại với Codex để sửa kết nối của ứng dụng này.</p>':''}
|
|
64
|
-
<div class="settings-actions"><button id="sync">${status.codexConfigured?'Khôi phục kết nối ban đầu':connection.managed?'Kết nối lại với Codex':'Bật kết nối với Codex'}</button><button id="diagnose" class="text-button">Kiểm tra kết nối</button></div>
|
|
65
|
-
<p class="error" id="sync-error" role="alert"></p>
|
|
66
|
-
<ul class="connection-checks" aria-label="Trạng thái kết nối"><li><span>Key dịch vụ</span><strong>${status.license.active?'Sẵn sàng':'Cần kiểm tra'}</strong></li><li><span>Tài khoản ChatGPT</span><strong>${status.connected?'Đã kết nối':'Chưa kết nối'}</strong></li><li><span>Cấu hình Codex</span><strong>${status.codexConfigured?'Đã bật':connection.error?'Cần xử lý':'Chưa bật'}</strong></li></ul>
|
|
67
|
-
</section>
|
|
68
|
-
<section class="surface desktop-controls"><div class="section-title"><h2>Ứng dụng trên máy</h2><span class="tag">${esc(status.version)}</span></div>
|
|
69
|
-
${status.desktop?.supported?`<label class="startup-choice"><span><strong>Khởi động cùng Windows</strong><small>Chạy trong khay CU, không tự mở trình duyệt.</small></span><input id="startup-enabled" type="checkbox" ${status.desktop.startup?'checked':''}></label><p class="subtext">Biểu tượng CU nằm ở góc phải thanh tác vụ, có thể nằm trong dấu mũi tên lên. Nhấp phải để mở, khởi động lại hoặc tắt ứng dụng.</p>${!status.desktop.tray?'<button id="show-tray">Hiện biểu tượng khay CU</button>':''}`:'<p>Mở lại bằng lệnh <code>codexunlimit</code>. Đóng tab chỉ đóng trang; ứng dụng vẫn chạy nền.</p>'}
|
|
70
|
-
<div class="settings-actions"><a class="button" href="https://codexunlimit.tudonghoa.me/download#upgrade" target="_blank" rel="noreferrer">Cập nhật ứng dụng</a><button data-stop="exit">Tắt ứng dụng</button></div>
|
|
71
|
-
<details class="update-help"><summary>Chuẩn bị cập nhật hoặc gỡ</summary><p>Cài gói mới rồi mở lại: bản mới tự thay tiến trình cũ. Nếu cần dừng trước, dùng nút bên dưới; kết nối sẽ tiếp tục sau khi bạn mở bản mới.</p><button data-stop="update">Dừng để cập nhật</button><p>Để gỡ, tắt Khởi động cùng Windows, chọn Tắt ứng dụng rồi chạy <code>npm uninstall -g codexunlimit</code>.</p></details>
|
|
72
|
-
<p id="desktop-error" class="error" role="alert"></p>
|
|
73
|
-
</section>
|
|
74
|
-
</div><aside><section class="help-panel"><span class="eyebrow">Luôn có hướng dẫn</span><h2>Cần một chút trợ giúp?</h2><h3>Không kết nối được Codex</h3><p>Chọn Kiểm tra kết nối. Thông báo sẽ phân biệt lỗi key, tài khoản và cấu hình trên máy.</p><h3>Đang dùng bản native cũ?</h3><p>Mở bản cũ, khôi phục kết nối rồi tắt bản đó trước khi chuyển sang bản web.</p><h3>Mở lại ứng dụng</h3><p>Nhấp đúp biểu tượng CU trong khay Windows. Nếu ứng dụng đã tắt, chạy <code>codexunlimit</code>.</p><a href="https://codexunlimit.tudonghoa.me/portal" target="_blank" rel="noreferrer">Xem dịch vụ & thiết bị</a></section>
|
|
75
|
-
<section class="usage-note"><h2>Hoạt động trên máy</h2><strong>${status.usage.total} <small>lượt gần đây</small></strong><p>${status.usage.errors} lượt cần kiểm tra. Lưu tối đa 2.001 lượt trên máy.</p><ul>${status.recent.slice(0,5).map(item=>'<li><span>'+date(item.ts)+'</span><span>'+(item.status<400?'Hoàn tất':'Chưa hoàn tất')+'</span></li>').join('')}</ul></section>
|
|
76
|
-
</aside></div>`;
|
|
77
|
-
$('#activate').onsubmit=async event=>{event.preventDefault();await action($('#activate button'),()=>api('activate',{key:$('#activation-key').value}),$('#activate .error'));};
|
|
78
|
-
$('#renew').onclick=event=>action(event.target,()=>api('renew',{}),$('#activate .error'));
|
|
79
|
-
$('#connect').onclick=event=>action(event.target,()=>api('connect',{accepted:$('#privacy-choice').checked}),$('#account-error'));
|
|
80
|
-
if($('#disconnect'))$('#disconnect').onclick=event=>action(event.target,()=>api('disconnect',{}),$('#account-error'));
|
|
81
|
-
$('#account-error').insertAdjacentHTML('beforebegin','<p><a class="text-button" href="#accounts">Quản lý nhiều tài khoản & xem quota</a></p>');
|
|
82
|
-
$('#sync').onclick=event=>action(event.target,()=>api(status.codexConfigured?'unsync':'sync',{}),$('#sync-error'));
|
|
83
|
-
$('#diagnose').onclick=event=>action(event.target,async()=>{},$('#sync-error'),'Đã kiểm tra trạng thái kết nối.');
|
|
84
|
-
if($('#startup-enabled'))$('#startup-enabled').onchange=async event=>{const checkbox=event.target,enabled=checkbox.checked;await action(checkbox,()=>api('desktop/startup',{enabled}),$('#desktop-error'));if(checkbox.isConnected)checkbox.checked=!!status.desktop.startup;};
|
|
85
|
-
if($('#show-tray'))$('#show-tray').onclick=event=>action(event.target,()=>api('desktop/tray',{}),$('#desktop-error'));
|
|
86
|
-
document.querySelectorAll('[data-stop]').forEach(button=>button.onclick=()=>confirmStop(button.dataset.stop));
|
|
87
|
-
}
|
|
88
|
-
function confirmStop(mode){
|
|
89
|
-
const dialog=document.createElement('dialog');dialog.className='stop-dialog';dialog.setAttribute('aria-labelledby','stop-title');
|
|
90
|
-
dialog.innerHTML='<h2 id="stop-title">'+(mode==='update'?'Dừng để cập nhật?':'Tắt Codex Unlimit?')+'</h2><p>'+(mode==='update'?'Ứng dụng sẽ dừng và giữ thiết lập kết nối. Codex sẽ tạm thời không kết nối được cho đến khi bạn cài và mở bản mới.':'Các yêu cầu đang chạy sẽ dừng. Kết nối Codex được khôi phục về cấu hình ban đầu trước khi tắt. Key và dữ liệu vẫn được giữ.')+'</p><div class="settings-actions"><button id="cancel-stop" autofocus>Tiếp tục sử dụng</button><button id="confirm-stop" class="primary">'+(mode==='update'?'Dừng để cập nhật':'Khôi phục & tắt')+'</button></div><p class="error" role="alert"></p>';
|
|
91
|
-
document.body.append(dialog);dialog.addEventListener('close',()=>dialog.remove());dialog.showModal();
|
|
92
|
-
$('#cancel-stop').onclick=()=>dialog.close();
|
|
93
|
-
$('#confirm-stop').onclick=async event=>{
|
|
94
|
-
const button=event.currentTarget;button.disabled=true;
|
|
95
|
-
try{await api('stop',{mode});stopped=true;dialog.close();$('#app').innerHTML='<main class="opening"><span class="mark">cu</span><h1>Ứng dụng đã tắt</h1><p>'+(mode==='update'?'Cài gói mới, sau đó chạy lệnh bên dưới để tiếp tục.':'Kết nối Codex đã được khôi phục. Khi cần sử dụng lại, chạy lệnh bên dưới.')+'</p><code>codexunlimit</code><a href="https://codexunlimit.tudonghoa.me/download" target="_blank" rel="noreferrer">Hướng dẫn cài đặt & cập nhật</a></main>';}
|
|
96
|
-
catch(error){dialog.querySelector('.error').textContent=error.message;button.disabled=false;}
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
async function action(button,fn,error,successMessage='Đã cập nhật.'){
|
|
100
|
-
button.disabled=true;error.textContent='';let completed=false;
|
|
101
|
-
try{await fn();completed=true;await refresh();modelLoad++;models=[];shell();notice(successMessage);}
|
|
102
|
-
catch(failure){error.textContent=(completed?'Thao tác đã thực hiện nhưng chưa cập nhật được trạng thái. ':'')+failure.message;}
|
|
103
|
-
finally{button.disabled=false;}
|
|
104
|
-
}
|
|
105
|
-
function chat(){
|
|
106
|
-
const conversation=conversations.find(c=>c.id===current);
|
|
107
|
-
$('#main').innerHTML='<div class="chat-area"><div class="chat-top"><div><span class="eyebrow">Không gian trò chuyện</span><h1>'+esc(conversation?.title??'Bạn muốn làm gì hôm nay?')+'</h1></div>'+(conversation?'<button id="delete-chat" class="text-button" '+(busy?'disabled':'')+'>Xóa cuộc trò chuyện</button>':'')+'</div><div class="mobile-history"><label for="recent-chat">Cuộc trò chuyện gần đây</label><select id="recent-chat" '+(busy?'disabled':'')+'><option value="">Cuộc trò chuyện mới</option>'+conversations.map(c=>'<option value="'+esc(c.id)+'" '+(c.id===current?'selected':'')+'>'+esc(c.title)+'</option>').join('')+'</select></div><div class="chat-account-picker"><label for="chat-account">Tài khoản</label><select id="chat-account" '+(busy||!status.accounts?'disabled':'')+'>'+accountOptions(status.accounts)+'</select><a href="#accounts">Xem quota</a></div><div id="messages" class="messages" role="log" aria-label="Nội dung trò chuyện"></div><div id="chat-empty" class="chat-empty" '+(conversation?.messages.length?'hidden':'')+'><span class="chat-emblem">'+icon('chat')+'</span><h2>Từ một ý tưởng nhỏ,<br>đến công việc hoàn thành.</h2><p>Viết nội dung, tìm cách giải quyết hoặc cùng suy nghĩ.<br>Bắt đầu bằng điều bạn đang cần.</p><div class="suggestions">'+['Giúp tôi lập kế hoạch cho tuần tới','Viết một email phản hồi khách hàng','Giải thích một vấn đề theo cách dễ hiểu'].map(t=>'<button data-prompt="'+esc(t)+'">'+t+' <span>↗</span></button>').join('')+'</div></div>'+(!ready()?'<div class="setup-reminder">Hoàn tất kích hoạt và kết nối tài khoản để bắt đầu. <a href="#settings">Đi đến cài đặt →</a></div>':'')+'<form id="composer" class="composer"><label class="sr-only" for="message">Tin nhắn của bạn</label><textarea id="message" rows="3" maxlength="32000" placeholder="Viết điều bạn đang nghĩ…" '+(!ready()||busy?'disabled':'')+'></textarea><div class="composer-tools"><div><label class="sr-only" for="model">Chọn mô hình</label><select id="model" '+(busy?'disabled':'')+'><option value="">'+(ready()?'Đang tải lựa chọn…':'Kết nối tài khoản trước')+'</option></select><span class="key-hint">Enter để gửi · Shift + Enter xuống dòng</span></div><button class="send" id="send" type="submit" aria-label="Gửi tin nhắn" '+(!ready()||busy?'disabled':'')+'>'+icon('arrow')+'</button><button id="stop" type="button" '+(!busy?'hidden':'')+'>Dừng</button></div></form><p id="chat-error" class="error" role="alert"></p><p class="chat-footnote">Câu trả lời có thể chưa chính xác. Hãy kiểm tra thông tin quan trọng. Lịch sử lưu trên trình duyệt này.</p></div>';
|
|
108
|
-
paintMessages();
|
|
109
|
-
$('#chat-account').onchange=async event=>{
|
|
110
|
-
if(busy)return;event.target.disabled=true;
|
|
111
|
-
try{status.accounts=await api('accounts/select',{accountId:event.target.value});status.connected=true;models=[];modelLoad++;chat();}
|
|
112
|
-
catch(error){$('#chat-error').textContent=error.message;event.target.value=status.accounts?.activeId??'codex';event.target.disabled=false;}
|
|
113
|
-
};
|
|
114
|
-
$('#messages').onclick=async event=>{const button=event.target.closest('[data-copy-code]');if(!button)return;try{await navigator.clipboard.writeText(button.closest('.markdown-code').querySelector('pre code').textContent);button.textContent='Đã sao chép';}catch{notice('Chọn đoạn mã để sao chép thủ công.');}};
|
|
115
|
-
$('#recent-chat').onchange=e=>{if(busy)return;current=e.target.value||null;render();};
|
|
116
|
-
document.querySelectorAll('[data-prompt]').forEach(b=>b.onclick=()=>{if(!ready()){location.hash='settings';return;}$('#message').value=b.dataset.prompt;$('#message').focus();});
|
|
117
|
-
$('#composer').onsubmit=send;$('#message').onkeydown=e=>{if(e.key==='Enter'&&!e.shiftKey&&!e.isComposing){e.preventDefault();$('#composer').requestSubmit();}};
|
|
118
|
-
$('#stop').onclick=()=>controller?.abort();
|
|
119
|
-
if($('#delete-chat'))$('#delete-chat').onclick=()=>{const b=$('#delete-chat');if(b.dataset.confirm!=='yes'){b.dataset.confirm='yes';b.textContent='Bấm lần nữa để xóa';return;}conversations=conversations.filter(c=>c.id!==current);current=null;save();render();};
|
|
120
|
-
if(ready())loadModels();
|
|
121
|
-
}
|
|
122
|
-
async function loadModels(){
|
|
123
|
-
const generation=++modelLoad;
|
|
124
|
-
try{const loaded=models.length?models:(await api('models'+(status.accounts?'?accountId='+encodeURIComponent(status.accounts.activeId):''))).models;if(generation!==modelLoad||!$('#model')||!status.connected)return;models=loaded;$('#model').innerHTML=models.map(m=>'<option value="'+esc(m.id)+'">'+esc(m.name)+'</option>').join('');if(!models.length)throw Error('Tài khoản chưa có lựa chọn khả dụng. Thử kết nối lại trong cài đặt.');$('#send').disabled=busy;}
|
|
125
|
-
catch(e){if(generation===modelLoad&&$('#chat-error')){$('#chat-error').textContent=e.message;$('#send').disabled=true;}}
|
|
126
|
-
}
|
|
127
|
-
function paintMessages(){
|
|
128
|
-
if(!$('#messages'))return;const messages=conversations.find(c=>c.id===current)?.messages??[];
|
|
129
|
-
$('#messages').innerHTML=messages.map(m=>'<article class="message '+m.role+'"><span class="speaker">'+(m.role==='user'?'Bạn':'Unlimit')+'</span><div class="message-text '+(m.role==='assistant'?'markdown-body':'')+'">'+(m.role==='assistant'?renderMarkdown(m.content||(busy?'Đang soạn câu trả lời…':'Chưa nhận được câu trả lời.')):esc(m.content))+'</div>'+(m.interrupted?'<small class="interrupted">Câu trả lời chưa hoàn tất</small>':'')+'</article>').join('');
|
|
130
|
-
$('#chat-empty').hidden=!!messages.length;
|
|
131
|
-
}
|
|
132
|
-
async function send(e){
|
|
133
|
-
e.preventDefault();const value=$('#message').value.trim(),model=$('#model').value;if(busy||!value||!model||!ready())return;
|
|
134
|
-
let c=conversations.find(c=>c.id===current);if(!c){c={id:crypto.randomUUID(),title:value.slice(0,60),messages:[]};conversations.unshift(c);conversations=conversations.slice(0,30);current=c.id;}
|
|
135
|
-
if(c.messages.length>=98){$('#chat-error').textContent='Cuộc trò chuyện đã dài. Mở cuộc trò chuyện mới để tiếp tục.';return;}
|
|
136
|
-
const input=[...c.messages.filter(m=>m.content&&!m.interrupted).map(({role,content})=>({role,content})),{role:'user',content:value}];
|
|
137
|
-
if(new TextEncoder().encode(JSON.stringify({model,messages:input})).length>1048576){$('#chat-error').textContent=errors.request_too_large;return;}
|
|
138
|
-
c.messages.push({role:'user',content:value});
|
|
139
|
-
const answer={role:'assistant',content:'',interrupted:true};c.messages.push(answer);save();busy=true;controller=new AbortController();chat();history();
|
|
140
|
-
try{
|
|
141
|
-
const response=await fetch('/app/api/chat',{method:'POST',headers:{'content-type':'application/json','x-csrf-token':csrf},body:JSON.stringify({model,messages:input,accountId:status.accounts?.activeId}),signal:controller.signal});
|
|
142
|
-
if(!response.ok){const data=await response.json();throw Error(errors[data.error]??errors.service_unavailable);}
|
|
143
|
-
await readResponseStream(response.body,text=>{answer.content=text;if(route==='chat'&&renderFrame===null){
|
|
144
|
-
renderFrame=requestAnimationFrame(()=>{renderFrame=null;const box=$('#messages');if(!box)return;const nearBottom=box.scrollHeight-box.scrollTop-box.clientHeight<120;const target=box.querySelector('.message:last-child .message-text');if(target)target.innerHTML=renderMarkdown(answer.content);if(nearBottom)box.scrollTop=box.scrollHeight;});
|
|
145
|
-
}});answer.interrupted=false;
|
|
146
|
-
}catch(error){notice(error.name==='AbortError'?'Đã dừng câu trả lời.':error.message);}
|
|
147
|
-
finally{if(renderFrame!==null){cancelAnimationFrame(renderFrame);renderFrame=null;}busy=false;controller=null;save();if(route==='chat')chat();history();}
|
|
148
|
-
}
|
|
149
|
-
window.addEventListener('hashchange',()=>{if(status)render();});
|
|
150
|
-
try{
|
|
151
|
-
if(location.hash.startsWith('#ticket=')){const ticket=location.hash.slice(8);historyReplace();const result=await api('session',{ticket});csrf=result.csrf;}
|
|
152
|
-
await refresh();shell();
|
|
153
|
-
}catch(e){$('#app').innerHTML='<main class="opening"><span class="mark">cu</span><h1>Mở không gian làm việc</h1><p>'+esc(e.message)+'</p><code>codexunlimit</code><p>Chạy lệnh trên trong PowerShell (Windows) hoặc Terminal (macOS).</p><button id="retry">Thử lại</button></main>';$('#retry').onclick=()=>location.reload();}
|
|
154
|
-
function historyReplace(){window.history.replaceState(null,'','/app/#home');}
|
|
1
|
+
const _0x340c68=_0x55e4;(function(_0x88c69e,_0x205e9d){const _0x50b6c5=_0x55e4,_0x2a9cff=_0x88c69e();while(!![]){try{const _0x2f32f0=parseInt(_0x50b6c5(0x1d0))/0x1+-parseInt(_0x50b6c5(0x302))/0x2*(parseInt(_0x50b6c5(0x332))/0x3)+parseInt(_0x50b6c5(0x12f))/0x4*(parseInt(_0x50b6c5(0x371))/0x5)+-parseInt(_0x50b6c5(0x1a6))/0x6*(-parseInt(_0x50b6c5(0x2b4))/0x7)+-parseInt(_0x50b6c5(0x13b))/0x8*(-parseInt(_0x50b6c5(0x202))/0x9)+-parseInt(_0x50b6c5(0x1d6))/0xa*(parseInt(_0x50b6c5(0x1fb))/0xb)+-parseInt(_0x50b6c5(0x323))/0xc*(parseInt(_0x50b6c5(0x2e6))/0xd);if(_0x2f32f0===_0x205e9d)break;else _0x2a9cff['push'](_0x2a9cff['shift']());}catch(_0x1179d8){_0x2a9cff['push'](_0x2a9cff['shift']());}}}(_0x53a6,0x63818));async function tt(_0x3f477e,_0x185319,{maxText:_0xb7e17b=0x3e800,maxBytes:_0x1752c2=0x4*0x400*0x400}={}){const _0x50b2f4=_0x55e4;let _0x2962c4=_0x3f477e[_0x50b2f4(0x2ef)](),_0x272e9f=new TextDecoder(),_0x36daf1='',_0x44d9e7=!0x1,_0x7abf35='',_0x37d46e=0x0,_0x154cf3=()=>Error(_0x50b2f4(0x1d5));function _0x2b4620(_0x2b2b06){const _0x20a23e=_0x50b2f4;let _0x1d7a28=_0x2b2b06[_0x20a23e(0x167)]('\x0a')[_0x20a23e(0x185)](_0x3400b2=>_0x3400b2[_0x20a23e(0x34a)](_0x20a23e(0x1ee)))[_0x20a23e(0x357)](_0x38f413=>_0x38f413[_0x20a23e(0x1c1)](0x5)['trimStart']())[_0x20a23e(0x32b)]('\x0a');if(!_0x1d7a28||_0x1d7a28==='[DONE]')return;let _0x38d2fe;try{_0x38d2fe=JSON[_0x20a23e(0x336)](_0x1d7a28);}catch{throw Error(_0x20a23e(0x174));}if(_0x38d2fe[_0x20a23e(0x1b8)]===_0x20a23e(0x2dd)){if(typeof _0x38d2fe[_0x20a23e(0x17d)]!=_0x20a23e(0x254))throw Error(_0x20a23e(0x2a2));if(_0x7abf35[_0x20a23e(0x231)]+_0x38d2fe['delta']['length']>_0xb7e17b)throw _0x154cf3();_0x7abf35+=_0x38d2fe[_0x20a23e(0x17d)],_0x185319(_0x7abf35);}if(_0x38d2fe[_0x20a23e(0x1b8)]===_0x20a23e(0x2c5)&&(_0x44d9e7=!0x0,!_0x7abf35)){if(_0x7abf35=(_0x38d2fe[_0x20a23e(0x35d)]?.[_0x20a23e(0x346)]??[])[_0x20a23e(0x26b)](_0x2dba74=>_0x2dba74[_0x20a23e(0x128)]??[])[_0x20a23e(0x185)](_0x5300a1=>_0x5300a1[_0x20a23e(0x1b8)]===_0x20a23e(0x2bb))[_0x20a23e(0x357)](_0xb439e3=>_0xb439e3[_0x20a23e(0x300)])['join'](''),_0x7abf35[_0x20a23e(0x231)]>_0xb7e17b)throw _0x154cf3();_0x185319(_0x7abf35);}if([_0x20a23e(0x27e),_0x20a23e(0x27d),_0x20a23e(0x148)]['includes'](_0x38d2fe['type']))throw Error(_0x20a23e(0x321));}try{for(;;){let {value:_0x152faa,done:_0x6ed810}=await _0x2962c4[_0x50b2f4(0x337)]();if(_0x37d46e+=_0x152faa?.['byteLength']??0x0,_0x37d46e>_0x1752c2)throw _0x154cf3();_0x36daf1+=_0x272e9f[_0x50b2f4(0x20b)](_0x152faa,{'stream':!_0x6ed810})[_0x50b2f4(0x2ee)](/\r\n/g,'\x0a'),_0x36daf1=_0x36daf1['replace'](/\r\n/g,'\x0a');let _0x2994b0;for(;!_0x44d9e7&&(_0x2994b0=_0x36daf1[_0x50b2f4(0x32c)]('\x0a\x0a'))>=0x0;)_0x2b4620(_0x36daf1[_0x50b2f4(0x1c1)](0x0,_0x2994b0)),_0x36daf1=_0x36daf1[_0x50b2f4(0x1c1)](_0x2994b0+0x2);if(_0x36daf1['length']>0x2*0x400*0x400)throw Error(_0x50b2f4(0x1e9));if(_0x6ed810||_0x44d9e7)break;}if(!_0x44d9e7&&_0x36daf1[_0x50b2f4(0x15a)]()&&_0x2b4620(_0x36daf1),!_0x44d9e7)throw Error(_0x50b2f4(0x15e));if(!_0x7abf35)throw Error(_0x50b2f4(0x184));return _0x7abf35;}finally{await _0x2962c4['cancel']()['catch'](()=>{}),_0x2962c4[_0x50b2f4(0x181)]();}}var G=_0xb69e4f=>String(_0xb69e4f??'')[_0x340c68(0x2ee)](/[&<>"']/g,_0x2cfeb2=>({'&':_0x340c68(0x1ef),'<':_0x340c68(0x374),'>':'>','\x22':_0x340c68(0x22e),'\x27':_0x340c68(0x245)}[_0x2cfeb2]));function nt(_0x55a4eb,{api:_0x14405e,version:_0x357a49,notice:_0x1794aa}){const _0x25e091=_0x340c68;let _0x33438c=null,_0x4cb1c7=!0x1,_0x14e4ba=!0x1,_0x46e68f=0x0;function _0x2dea24(){const _0x31fda7=_0x55e4;if(_0x14e4ba)return;let _0x1c64e3=_0x55a4eb[_0x31fda7(0x2b8)](_0x31fda7(0x2f6))?.[_0x31fda7(0x246)]??!0x1,_0x12a8c9=_0x4cb1c7?_0x31fda7(0x25c):_0x33438c?.[_0x31fda7(0x215)]==='unavailable'?_0x31fda7(0x188):_0x33438c?.[_0x31fda7(0x14f)]?_0x31fda7(0x225)+_0x33438c[_0x31fda7(0x2c1)]:_0x31fda7(0x1c3);_0x55a4eb['innerHTML']=_0x31fda7(0x369)+(_0x1c64e3?_0x31fda7(0x1a1):'')+'><summary><span\x20class=\x22update-current\x22>Phi\xEAn\x20b\u1EA3n\x20'+G(_0x357a49)+_0x31fda7(0x187)+(_0x33438c?.[_0x31fda7(0x14f)]?_0x31fda7(0x1b2):'')+_0x31fda7(0x241)+G(_0x12a8c9)+_0x31fda7(0x1df)+(_0x33438c?.[_0x31fda7(0x33b)]&&_0x33438c?.[_0x31fda7(0x34c)]?_0x31fda7(0x146)+G(_0x33438c[_0x31fda7(0x33b)])+'\x0a'+G(_0x33438c[_0x31fda7(0x34c)])+_0x31fda7(0x20a):'')+_0x31fda7(0x35a)+(_0x4cb1c7?_0x31fda7(0x290):'')+'>Ki\u1EC3m\x20tra\x20l\u1EA1i</button><small>\u0110\xF3ng\x20cu\u1ED9c\x20tr\xF2\x20chuy\u1EC7n\x20\u0111ang\x20ch\u1EA1y\x20tr\u01B0\u1EDBc\x20khi\x20kh\u1EDFi\x20\u0111\u1ED9ng\x20l\u1EA1i.</small></div></details>',_0x55a4eb['querySelector'](_0x31fda7(0x2a4))['onclick']=()=>_0x2f017d();let _0x514e1e=_0x55a4eb[_0x31fda7(0x2b8)](_0x31fda7(0x17a));_0x514e1e&&(_0x514e1e[_0x31fda7(0x2a3)]=async()=>{const _0x13811a=_0x31fda7;try{await navigator['clipboard'][_0x13811a(0x352)](_0x33438c[_0x13811a(0x33b)]+'\x0a'+_0x33438c[_0x13811a(0x34c)]),_0x514e1e['textContent']=_0x13811a(0x278),_0x1794aa('\u0110\xE3\x20sao\x20ch\xE9p\x202\x20l\u1EC7nh\x20c\u1EADp\x20nh\u1EADt.\x20Ch\u1EA1y\x20l\u1EA7n\x20l\u01B0\u1EE3t\x20trong\x20PowerShell\x20ho\u1EB7c\x20Terminal.');}catch{_0x1794aa(_0x13811a(0x386));}});}async function _0x2f017d(){const _0x56132c=_0x55e4;if(!(_0x4cb1c7||_0x14e4ba)){_0x4cb1c7=!0x0,_0x2dea24();try{_0x33438c=await _0x14405e('updates');}catch{_0x33438c={..._0x33438c,'status':_0x56132c(0x1a2),'available':!0x1};}_0x46e68f=Date[_0x56132c(0x2f8)](),_0x4cb1c7=!0x1,_0x2dea24();}}let _0x480a60=()=>{const _0x536a3f=_0x55e4;document[_0x536a3f(0x2ae)]===_0x536a3f(0x1fe)&&Date[_0x536a3f(0x2f8)]()-_0x46e68f>=0x36ee80&&_0x2f017d();};document[_0x25e091(0x292)]('visibilitychange',_0x480a60);let _0x204889=setInterval(_0x480a60,0x36ee80);return _0x2f017d(),()=>{const _0x4a4679=_0x25e091;_0x14e4ba=!0x0,clearInterval(_0x204889),document[_0x4a4679(0x1de)](_0x4a4679(0x256),_0x480a60);};}import _0x2b61fa from'/app/vendor/markdown-it.js';var E=_0x2b61fa({'html':!0x1,'linkify':!0x1,'breaks':!0x1}),et=E[_0x340c68(0x178)][_0x340c68(0x32e)];E[_0x340c68(0x273)]=_0x2a7e7f=>/^(?:https?:\/\/|mailto:|#)/i[_0x340c68(0x2a6)](_0x2a7e7f),E[_0x340c68(0x316)][_0x340c68(0x353)][_0x340c68(0x153)]=(_0x117685,_0x131a41)=>_0x340c68(0x2c3)+et(_0x117685[_0x131a41][_0x340c68(0x128)]||'kh\xF4ng\x20c\xF3\x20m\xF4\x20t\u1EA3')+_0x340c68(0x1ab),E[_0x340c68(0x316)]['rules'][_0x340c68(0x192)]=(_0x4d6ef8,_0x74357b,_0x38497a,_0x39efef,_0x27bd4c)=>(_0x4d6ef8[_0x74357b][_0x340c68(0x305)]('target',_0x340c68(0x2c4)),_0x4d6ef8[_0x74357b][_0x340c68(0x305)](_0x340c68(0x2de),_0x340c68(0x274)),_0x27bd4c[_0x340c68(0x177)](_0x4d6ef8,_0x74357b,_0x38497a));var lt=E[_0x340c68(0x316)]['rules'][_0x340c68(0x30c)];E[_0x340c68(0x316)]['rules'][_0x340c68(0x30c)]=(_0x21b43e,_0x1a43b9,_0x54a23a,_0x42ffe9,_0x396f84)=>{const _0x277f26=_0x340c68;let _0x96da92=_0x21b43e[_0x1a43b9][_0x277f26(0x18c)][_0x277f26(0x15a)]()[_0x277f26(0x167)](/\s+/)[0x0],_0x5d0414=/^[a-z0-9_+-]{1,24}$/i[_0x277f26(0x2a6)](_0x96da92)?_0x96da92:_0x277f26(0x34e);return _0x277f26(0x18b)+et(_0x5d0414)+_0x277f26(0x14b)+lt(_0x21b43e,_0x1a43b9,_0x54a23a,_0x42ffe9,_0x396f84)+_0x277f26(0x2af);};function W(_0x4cd1bc){return E['render'](String(_0x4cd1bc??''));}var m={'codex_app_not_found':_0x340c68(0x347),'codex_app_unsupported':'M\xE1y\x20n\xE0y\x20ch\u01B0a\x20h\u1ED7\x20tr\u1EE3\x20m\u1EDF\x20l\u1EA1i\x20Codex\x20t\u1EF1\x20\u0111\u1ED9ng.\x20L\u01B0u\x20c\u1EA5u\x20h\xECnh\x20r\u1ED3i\x20t\u1EF1\x20\u0111\xF3ng\x20v\xE0\x20m\u1EDF\x20l\u1EA1i\x20Codex.','codex_app_unavailable':'Ch\u01B0a\x20\u0111\u1ECDc\x20\u0111\u01B0\u1EE3c\x20tr\u1EA1ng\x20th\xE1i\x20Codex.\x20B\u1EA1n\x20c\xF3\x20th\u1EC3\x20l\u01B0u\x20c\u1EA5u\x20h\xECnh\x20r\u1ED3i\x20t\u1EF1\x20\u0111\xF3ng\x20v\xE0\x20m\u1EDF\x20l\u1EA1i\x20\u1EE9ng\x20d\u1EE5ng.','codex_app_close_pending':_0x340c68(0x36f),'codex_app_open_failed':_0x340c68(0x158),'codex_app_timeout':_0x340c68(0x25b),'codex_app_busy':_0x340c68(0x28c),'codex_app_confirmation_required':_0x340c68(0x271),'connection_busy':_0x340c68(0x1f6),'request_clock_error':_0x340c68(0x2b6),'managed_provider_conflict':'T\xEAn\x20k\u1EBFt\x20n\u1ED1i\x20Codex\x20Unlimit\x20\u0111ang\x20\u0111\u01B0\u1EE3c\x20d\xF9ng\x20trong\x20c\u1EA5u\x20h\xECnh\x20kh\xE1c.\x20Li\xEAn\x20h\u1EC7\x20h\u1ED7\x20tr\u1EE3\x20\u0111\u1EC3\x20gi\u1EEF\x20nguy\xEAn\x20k\u1EBFt\x20n\u1ED1i\x20hi\u1EC7n\x20c\xF3.','pool_platform_unavailable':_0x340c68(0x2ca),'pool_runtime_missing':'Thi\u1EBFu\x20c\xF4ng\x20c\u1EE5\x20\u0111\u0103ng\x20nh\u1EADp\x20\u0111i\x20k\xE8m.\x20C\xE0i\x20l\u1EA1i\x20g\xF3i\x20Codex\x20Unlimit\x20b\u1EB1ng\x20npm,\x20gi\u1EEF\x20c\xE1c\x20dependency\x20t\xF9y\x20ch\u1ECDn.','pool_runtime_unavailable':'Ch\u01B0a\x20m\u1EDF\x20\u0111\u01B0\u1EE3c\x20b\u1ED9\x20qu\u1EA3n\x20l\xFD\x20t\xE0i\x20kho\u1EA3n.\x20Kh\u1EDFi\x20\u0111\u1ED9ng\x20l\u1EA1i\x20Codex\x20Unlimit\x20r\u1ED3i\x20th\u1EED\x20l\u1EA1i.','pool_provider_rejected':_0x340c68(0x1cc),'pool_request_timeout':_0x340c68(0x200),'pool_account_missing':_0x340c68(0x2bf),'pool_account_expired':_0x340c68(0x139),'pool_account_exists':_0x340c68(0x208),'pool_storage_invalid':_0x340c68(0x33e),'pool_login_pending':_0x340c68(0x385),'pool_full':_0x340c68(0x2da),'pool_login_unavailable':_0x340c68(0x1d9),'pool_login_failed':_0x340c68(0x382),'pool_login_expired':_0x340c68(0x2f1),'pool_login_interrupted':_0x340c68(0x258),'pool_quota_unavailable':_0x340c68(0x380),'connector_update_required':_0x340c68(0x29e),'request_integrity_failed':'Y\xEAu\x20c\u1EA7u\x20ch\u01B0a\x20\u0111\u01B0\u1EE3c\x20x\xE1c\x20th\u1EF1c.\x20C\u1EADp\x20nh\u1EADt\x20Codex\x20Unlimit\x20r\u1ED3i\x20th\u1EED\x20l\u1EA1i.','license_server_unavailable':'Ch\u01B0a\x20li\xEAn\x20l\u1EA1c\x20\u0111\u01B0\u1EE3c\x20m\xE1y\x20ch\u1EE7\x20ki\u1EC3m\x20tra\x20key.\x20Ki\u1EC3m\x20tra\x20m\u1EA1ng\x20r\u1ED3i\x20ch\u1ECDn\x20Ki\u1EC3m\x20tra\x20th\u1EDDi\x20h\u1EA1n.','license_service_busy':'M\xE1y\x20ch\u1EE7\x20ki\u1EC3m\x20tra\x20key\x20\u0111ang\x20b\u1EADn.\x20Ch\u1EDD\x20v\xE0i\x20gi\xE2y\x20r\u1ED3i\x20th\u1EED\x20l\u1EA1i;\x20\u0111\xE2y\x20kh\xF4ng\x20ph\u1EA3i\x20th\xF4ng\x20b\xE1o\x20key\x20h\u1EBFt\x20h\u1EA1n.','license_lease_expired':_0x340c68(0x255),'license_clock_skew':_0x340c68(0x12c),'license_response_invalid':'Th\xF4ng\x20tin\x20x\xE1c\x20th\u1EF1c\x20nh\u1EADn\x20\u0111\u01B0\u1EE3c\x20kh\xF4ng\x20h\u1EE3p\x20l\u1EC7.\x20Th\u1EED\x20l\u1EA1i\x20thao\x20t\xE1c;\x20n\u1EBFu\x20v\u1EABn\x20l\u1ED7i,\x20c\u1EADp\x20nh\u1EADt\x20Codex\x20Unlimit\x20v\xE0\x20li\xEAn\x20h\u1EC7\x20h\u1ED7\x20tr\u1EE3.','license_invalid_or_expired':'Key\x20kh\xF4ng\x20h\u1EE3p\x20l\u1EC7,\x20\u0111\xE3\x20h\u1EBFt\x20h\u1EA1n\x20ho\u1EB7c\x20b\u1ECB\x20thu\x20h\u1ED3i.\x20Ki\u1EC3m\x20tra\x20l\u1EA1i\x20m\xE3\x20ho\u1EB7c\x20li\xEAn\x20h\u1EC7\x20n\u01A1i\x20c\u1EA5p\x20key.','license_revoked':_0x340c68(0x1f1),'device_limit_reached':_0x340c68(0x243),'device_revoked':_0x340c68(0x17c),'activation_invalid':'L\u1EA7n\x20k\xEDch\x20ho\u1EA1t\x20n\xE0y\x20kh\xF4ng\x20c\xF2n\x20h\u1EE3p\x20l\u1EC7.\x20Nh\u1EADp\x20l\u1EA1i\x20key\x20\u0111\u1EC3\x20k\xEDch\x20ho\u1EA1t.','privacy_required':_0x340c68(0x23b),'request_too_large':_0x340c68(0x1b0),'open_from_command':_0x340c68(0x317),'session_expired':'Phi\xEAn\x20l\xE0m\x20vi\u1EC7c\x20\u0111\xE3\x20h\u1EBFt\x20h\u1EA1n.\x20M\u1EDF\x20l\u1EA1i\x20Codex\x20Unlimit\x20t\u1EEB\x20khay\x20Windows\x20ho\u1EB7c\x20l\u1EC7nh\x20codexunlimit.','account_required':'Ch\u01B0a\x20\u0111\u1ECDc\x20\u0111\u01B0\u1EE3c\x20phi\xEAn\x20ChatGPT\x20tr\xEAn\x20m\xE1y\x20n\xE0y.\x20M\u1EDF\x20Codex,\x20\u0111\u0103ng\x20nh\u1EADp\x20ChatGPT\x20r\u1ED3i\x20ch\u1ECDn\x20K\u1EBFt\x20n\u1ED1i\x20l\u1EA1i.','account_expired':_0x340c68(0x272),'activation_required':_0x340c68(0x293),'invalid_activation_key':_0x340c68(0x338),'usage_limit':_0x340c68(0x22d),'service_unavailable':'M\xE1y\x20ch\u1EE7\x20x\u1EED\x20l\xFD\x20ch\u01B0a\x20ph\u1EA3n\x20h\u1ED3i.\x20Th\u1EED\x20l\u1EA1i\x20sau\x20ho\u1EB7c\x20li\xEAn\x20h\u1EC7\x20h\u1ED7\x20tr\u1EE3.','local_service_unavailable':_0x340c68(0x25a),'operation_failed':_0x340c68(0x252),'models_unavailable':'Ch\u01B0a\x20t\u1EA3i\x20\u0111\u01B0\u1EE3c\x20danh\x20s\xE1ch\x20m\xF4\x20h\xECnh.\x20Ki\u1EC3m\x20tra\x20th\u1EDDi\x20h\u1EA1n\x20v\xE0\x20k\u1EBFt\x20n\u1ED1i\x20l\u1EA1i\x20t\xE0i\x20kho\u1EA3n.','invalid_message':_0x340c68(0x314),'existing_connector_review_required':_0x340c68(0x172),'active_codex_profile_requires_manual_setup':_0x340c68(0x30b),'multiline_root_config_requires_manual_setup':_0x340c68(0x320),'duplicate_provider_settings_review_required':_0x340c68(0x22a),'config_backup_missing_or_changed_review_required':_0x340c68(0x2e9),'managed_configuration_changed_review_required':'K\u1EBFt\x20n\u1ED1i\x20Codex\x20\u0111\xE3\x20\u0111\u01B0\u1EE3c\x20m\u1ED9t\x20\u1EE9ng\x20d\u1EE5ng\x20kh\xE1c\x20ch\u1EC9nh\x20s\u1EEDa.\x20Ch\u01B0a\x20ghi\x20\u0111\xE8\x20thay\x20\u0111\u1ED5i\x20\u0111\xF3;\x20h\xE3y\x20nh\u1EDD\x20h\u1ED7\x20tr\u1EE3\x20ki\u1EC3m\x20tra\x20c\u1EA5u\x20h\xECnh.','managed_configuration_already_present':_0x340c68(0x1b1),'config_target_changed_review_required':_0x340c68(0x229),'new_provider_settings_review_required':_0x340c68(0x2d1),'config_symlink_requires_manual_setup':_0x340c68(0x351),'config_permission_denied':_0x340c68(0x1f5),'config_missing':_0x340c68(0x24b),'codex_home_missing':'Ch\u01B0a\x20x\xE1c\x20\u0111\u1ECBnh\x20\u0111\u01B0\u1EE3c\x20th\u01B0\x20m\u1EE5c\x20c\u1EA5u\x20h\xECnh\x20Codex.\x20M\u1EDF\x20Codex\x20m\u1ED9t\x20l\u1EA7n\x20r\u1ED3i\x20th\u1EED\x20l\u1EA1i.','saved_root_line_corrupt':_0x340c68(0x1fd),'saved_root_line_moved':_0x340c68(0x19a),'startup_unavailable':'T\u1EF1\x20kh\u1EDFi\x20\u0111\u1ED9ng\x20c\xF9ng\x20h\u1EC7\x20\u0111i\u1EC1u\x20h\xE0nh\x20hi\u1EC7n\x20h\u1ED7\x20tr\u1EE3\x20Windows.','startup_update_failed':_0x340c68(0x121),'tray_unavailable':_0x340c68(0x2d6),'invalid_input':_0x340c68(0x17f),'clock_rollback_detected':_0x340c68(0x13d),'license_signature_invalid':_0x340c68(0x240)},k=_0x8fd8e2=>String(_0x8fd8e2??'')[_0x340c68(0x2ee)](/[&<>"']/g,_0x4edc11=>({'&':_0x340c68(0x1ef),'<':_0x340c68(0x374),'>':_0x340c68(0x16b),'\x22':_0x340c68(0x22e),'\x27':_0x340c68(0x245)}[_0x4edc11])),it=_0xebe1d7=>_0xebe1d7?new Date(_0xebe1d7)[_0x340c68(0x1a3)](_0x340c68(0x2c0)):_0x340c68(0x1f0),at=_0x1d8a5c=>_0x1d8a5c?.[_0x340c68(0x365)]||_0x1d8a5c?.['label']||'Ch\u01B0a\x20ch\u1ECDn\x20t\xE0i\x20kho\u1EA3n';function ht(_0x478200){const _0x3f7ed1=_0x340c68;return'<div\x20class=\x22local-quota-grid\x22>'+[0x12c,0x2760][_0x3f7ed1(0x357)](_0x10429f=>{const _0x3e5ff3=_0x3f7ed1;let _0x2cc778=_0x478200?.['windows']?.[_0x3e5ff3(0x134)](_0x4b2984=>_0x4b2984['minutes']===_0x10429f),_0x708793=_0x10429f===0x12c?'5\x20gi\u1EDD':'1\x20tu\u1EA7n';return _0x3e5ff3(0x136)+(_0x2cc778?.[_0x3e5ff3(0x2e5)]>=0x5a?_0x3e5ff3(0x126):'')+_0x3e5ff3(0x268)+_0x708793+'</span><strong>'+(_0x2cc778?k(_0x2cc778[_0x3e5ff3(0x2e5)][_0x3e5ff3(0x1a3)]('vi-VN'))+'%\x20<small>\u0111\xE3\x20d\xF9ng</small>':_0x3e5ff3(0x199))+_0x3e5ff3(0x2d5)+(_0x2cc778?_0x3e5ff3(0x2eb)+_0x2cc778[_0x3e5ff3(0x2e5)]+'\x22\x20aria-label=\x22Quota\x20'+_0x708793+_0x3e5ff3(0x2b0)+k(it(_0x2cc778['reset_at']))+_0x3e5ff3(0x2e2)+k(it(_0x2cc778[_0x3e5ff3(0x2ad)]))+_0x3e5ff3(0x1b7)+(_0x2cc778[_0x3e5ff3(0x265)]?_0x3e5ff3(0x149):''):'<p>Ch\u1ECDn\x20C\u1EADp\x20nh\u1EADt\x20quota\x20\u0111\u1EC3\x20ki\u1EC3m\x20tra.</p>')+_0x3e5ff3(0x2af);})['join']('')+'</div>';}function _0x55e4(_0x3785da,_0x4cc330){_0x3785da=_0x3785da-0x118;const _0x53a664=_0x53a6();let _0x55e40c=_0x53a664[_0x3785da];if(_0x55e4['svHhBU']===undefined){var _0x5c6b98=function(_0x7c5e93){const _0x44c8d8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2efbc6='',_0x2b61fa='';for(let _0x3f477e=0x0,_0x185319,_0xb7e17b,_0x1752c2=0x0;_0xb7e17b=_0x7c5e93['charAt'](_0x1752c2++);~_0xb7e17b&&(_0x185319=_0x3f477e%0x4?_0x185319*0x40+_0xb7e17b:_0xb7e17b,_0x3f477e++%0x4)?_0x2efbc6+=String['fromCharCode'](0xff&_0x185319>>(-0x2*_0x3f477e&0x6)):0x0){_0xb7e17b=_0x44c8d8['indexOf'](_0xb7e17b);}for(let _0x2962c4=0x0,_0x272e9f=_0x2efbc6['length'];_0x2962c4<_0x272e9f;_0x2962c4++){_0x2b61fa+='%'+('00'+_0x2efbc6['charCodeAt'](_0x2962c4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b61fa);};_0x55e4['xmkTcQ']=_0x5c6b98,_0x55e4['hPmacy']={},_0x55e4['svHhBU']=!![];}const _0x372121=_0x53a664[0x0];_0x55e4['rNSkIP']!==_0x372121&&(_0x55e4['hPmacy']={},_0x55e4['rNSkIP']=_0x372121);const _0x4fa6fc=_0x55e4['hPmacy'][_0x3785da];return _0x4fa6fc===undefined?(_0x55e40c=_0x55e4['xmkTcQ'](_0x55e40c),_0x55e4['hPmacy'][_0x3785da]=_0x55e40c):_0x55e40c=_0x4fa6fc,_0x55e40c;}function _0x53a6(){const _0x47d8fd=['w2rHDgeTy29UDMvYC2f0Aw9Uxq','pc9ZDhjVBMC+','q2JgSgeGBEg7NYdeKCAW4BUJyYbIAEg7G3uGDmAW4BUJBMCGA2HHEsbxAw5KB3DZlIbc4BQHBIb24BQRBIbJW7mGDgJHU4mGBEg7NYb2W6aGDog6R3qG4BUPBMCGzog7Pw5NihtHUQfPihrYyw5Nig7dOhKU','ChjLignVzgu','XjbHBMCGBEg7NYb0CSoQBIbTW6f5','i3jLBMv3','ug9VBcdeKCoJigpdSYaXmcb0W6bPigTOB+g6O24UieFHU6eGDmoGAsbRAg/HUQnUigTOW7rUzYbJW7jUigtdUw5NihrYXRdHU5TJigTOAsb0AmoQBsbT4BUBAs4','l2fWCc8JAg9Tzq','y29KzxHbCha','CMvZCg9UC2uUB3v0Chv0x3rLEhqUzgvSDge','CMvS','CxvVDgffCNjVCG','pc9OmZ48C3bHBIbJBgfZCZ0IC2v0DxaTBgfIzwWG','s+g6V3qGBUg7KwKGDmoGAsbRAg/HUQnUihrYXRdHU5TJ','pc9WpJXZBwfSBd4','pc9VChrPB24+','zxjYB3jZ','DxnLza','mtnvr210wxe','ttuGnMGXncbnnsaXmMGXncbnnsaXogGXncbnosaZDJyGtte1idL2nIbnosaXnxy2','w2rHDgeTC2vSzwn0lwfJy291BNrD','qUg6O24GC2fVigpHUQv1igJdRg5OigFHU5fJigTOW7rUzYbJW7jUig5NDxNdQM4GDUg6Uw4UienOXRbHigDOAsdeKCoOigpHUQv1igJdRg5OienVzgv4oYbOW6n5igXPW6PUigJHU4CGAog7LYb0CUg7OYdeKEg7GYbRAmo0AsbWAog7PwmU','CMvTB3zL','phbYB2DYzxnZig1HEd0ImtaWiIb2ywX1zt0I','C2v0sxrLBq','i2rPywDUB3nL','CMvWBgfJzq','z2v0uMvHzgvY','phaGy2XHC3m9iMvYCM9YiIbPzd0IC3LUyY1LCNjVCIiGCM9Szt0IywXLCNqIpJWVCd4kicaGicaGpc9Zzwn0Aw9UpGOGicaGpc9Zzwn0Aw9UpJXHC2LKzsbJBgfZCZ0IC2v0DxaTC2LKzsi+phnLy3rPB24Gy2XHC3m9iMnVzgv4lwfWCc1Wyw5LBci+phnWyw4Gy2XHC3m9iMv5zwjYB3CIpUg7Qg5NigtHU6vUzYbdB2rLEdWVC3bHBJ48Adi+','ugHPW6PUimsrXinUzYbUAog6RxaGXjhdOYbO4BQ/Dcb0Aog7NwKGz2LHBI4Gq2JHU41UifrOW6PTihtdOgKGA2HV4BQJBIdeKEg7GYbI4BQVDcdeKEg6P3uGBog6OwKU','phaGy2XHC3m9iNn1yNrLEhqIpKFdS2KGq2HHDeDqvdOG','cIaGicaGicaGpgrPDIbJBgfZCZ0IC2v0DgLUz3mTywn0Aw9UCYi+pgj1DhrVBIbPzd0IC2v0DxaTy29KzxGIignSyxnZpsjWCMLTyxj5iIa','y2HHDa','BtKGmtuGnI02ie04ide2Bc0YidjHnca0idaGmcaXltyTnMW0ltqGtte2idHSmI0YytqGncaWidaGmsa2idzSltqGna','zgv0ywLSCW','DgHLBG','BM93','ywn0AxzLswq','pgfYDgLJBguGy2XHC3m9iM1LC3nHz2uG','CMvZDgfYDa','w2rHDgeTy2fUy2vSlwXVz2LUxq','pc9WpJXKAxyGy2XHC3m9iNnLDhrPBMDZlwfJDgLVBNmIpJXIDxr0B24GAwq9iMnHBMnLBc1ZDg9WiIbHDxrVzM9JDxm+vgNHUR9WihtHU6vJihpHU60Gzog7Pw5Npc9IDxr0B24+pgj1DhrVBIbPzd0Iy29UzMLYBs1ZDg9WiIbJBgfZCZ0IChjPBwfYEsi+','i2fJA25VD2XLzgDLlxjLC3rHCNq','XjbHBMCGDog6O2KGBog7SweGy2JHU41U4OcM','Dgv4Da','XjddOYbNAgKGBMJHUQ1UiglHUQfUig3HU58GBog6OwKGq29KzxGU','mtbXCenhqwm','ihtdOgKGA2HV4BQJBI48l3a+pc9KAxy+pgzVCM0GAwq9iMfKzc1Hy2nVDw50iJ48BgfIzwWGzM9YpsjHy2nVDw50lwXHyMvSiJ5uW6PUigFHU6nPig5O4BUBpc9SywjLBd48Aw5WDxqGAwq9iMfJy291BNqTBgfIzwWIig1HEgXLBMD0Ad0InJaIihbSywnLAg9SzgvYpsjwW60Gzog7PtOGq8oHig5OW6jUlcbdW7rUzYb2AEg7H2mIpJXSywjLBcbMB3i9iMXVz2LUlw1LDgHVzci+q8oHy2GGXjheG25Nig5O4BQTCdWVBgfIzwW+phnLBgvJDcbPzd0IBg9NAw4TBwv0Ag9KiJ48B3b0Aw9UihzHBhvLpsjJAgf0z3b0iJ5n4BUFihrYyw5NimsrXinUzYbUAog6Rxa8l29WDgLVBJ48B3b0Aw9UihzHBhvLpsjJAgf0z3b0rgv2AwnLq29Kzsi+rmo5BMCGBCoJimsrXinUzYbUAog6Rxa8l29WDgLVBJ48l3nLBgvJDd48BgfIzwWGy2XHC3m9iNbYAxzHy3KTy2HVAwnLiJ48Aw5WDxqGAwq9iNbVB2WTy29UC2vUDciGDhLWzt0Iy2HLy2TIB3GIihjLCxvPCMvKpIbuW7rPimsr4BUtBMCGW70Gzmo5BMCGCgHPW6PUigpHU6DHihtdOgKGA2HV4BQJBIbUW6b5imsr4BUdihJHU60GBmo9ihNdQNuGy+g6P3uGCxvHienVzgv4ifvUBgLTAxqUpc9SywjLBd48yNv0Dg9UignSyxnZpsjWCMLTyxj5iIb0ExbLpsjZDwjTAxqIia','pgXPpG','yxr0CLnLDa','i3nLDhvWlwnVzgv4','vmoGAsbRAg/HUQnUicyGCxvVDge','pc9ZDhjVBMC+pc9SAt48BgK+phnWyw4+vmoGAsbRAg/HUQnUienOyxrhufq8l3nWyw4+phn0CM9UzZ4','ywn0AxzL','A2v5','q29KzxGGXjfHBMCGy2JHU41Uig3HU5L0ihbYB2zPBguGCMNdQM5NlIbc4BUpigZHU7fHignO4BUnBIbWCM9MAwXLihrYB25NigpHUQv1igJdRg5OienVzgv4ihrYXRdHU5TJigTOAsbI4BQTDcbR4BQ/DcbU4BUrAsWGAg/HURDJig5O4BUDigJHU5CGDhlHU6mGA2NHU4nTihrYysbWCM9MAwXLimsrW7mU','zMvUy2u','phaGy2XHC3m9iMnVBM5Ly3rPB24TD2fYBMLUzYi+q+g6PxuGAmoSBMGGXjhdOYb0Agf5imsr4BUvAs4GW4fWigtHU6vUzYbS4BQHAsdeKEg7GYbZ4BUTysbR4BQ/DcbU4BUrAsbdB2rLEcbvBMXPBwL0lJWVCd4','qLvuve9o','CgX1CW','y2HHDgDWDa','yxbWrxjYB3i','zgf0yxnLDa','y29KzxG','vgLUig5O4BQVBIbXDCoHigtdOgKGAg/HURDJign14BUzyYb0CSoYignODxNHU4DUimsrW6mGXjhHUQD5lIbiW6n5ig3HU58Gy3xHU5LJihrYW7iGy2H1EEg7H24GBEg7M2KU','w2rHDgeTCMvTB3zLlwfJy291BNrD','CMvUzgvYzxi','ugHPW6PUig3HU58GDhjHBMCGXjhdOYbO4BQ/DcbOAEg7H3uGBog7SwmUienO4BUnBIbn4BUFienVzgv4ifvUBgLTAxqGDhjVBMCGA2HHEsbxAw5KB3DZigHV4BQ3yYbJAog6OxKGBog6OwKGBog7H25OignVzgv4Dw5SAw1PDc4','s2v5imsrW6mGXjhgSog7O2mGA8oTy2GGAg/HUQf0lIbuAEg6V3aGDog7PwmGA+g6V3qGBUg7KwKGDmoGAsbRAg/HUQnUlG','pgj1DhrVBIbPzd0IzgvSzxrLlwnOyxqIignSyxnZpsj0zxH0lwj1DhrVBIiG','i3bYAxzHy3KTy2HVAwnL','DxnLCKnVzgu','s+g6V3qGBUg7KwKGBog6OwKGDUg7M2KGq29KzxG','phaGy2XHC3m9iNbVB2WTzw1HAwWIpG','rog7Q25Nimsr4BUdigpHUQ1Wig5O4BQTDd8','pc9ZCgfUpJWVzgL2pGOGicaGica8Cd4','q+g6PxuGAmoSBMGGq29KzxGGy8oZig7HU5LPigr1BMCGBMHP4BUbDsbKW7jUzYbJ4BQNBIdeKCAW4BUJyYbRAEg7G20GDhjHihrYXRdHU5TJigTOAsbZ4BUTys4Gq2JgSgeGDgHHEsdeKEg7LwKGzMLSztSGAmoJEsbSACoQBIbO4BUhigJHU5CGDhlHU6mU','q2JgSgeGAg/dOg4GDog6PxqGy8oIDsb0CUg6OYbS4BUDAs4GvNvPigZdSM5NihrO4BUTigZHUQfPlG','C3LUyW','mti4odqXmJrczfjyCwi','y29TCgXLDgu','i2fJy291BNqTzxjYB3i','AgLKzgvU','y3jLyxrLrwXLBwvUDa','qUg6RxqGA+g6V3qGBUg7KwKGDUg7M2KGq29KzxG','q+g6P24GEog7RsbSW70','BwfUywDLza','AM9PBG','Aw5KzxHpzG','phaGy2XHC3m9iNn1yNrLEhqIpKHVW6bUihtHUQv0igTLEsb2W6aGDmoGAsbRAg/HUQnUiog7NYbOywKGySAW4BUByYb0CSoQBIdeKEg7GYbI4BQTDcbR4BQ/DcbU4BUrAs48l3a+','zxnJyxbLshrTBa','pgj1DhrVBIbPzd0IC2HVDY10CMf5iJ5iAEg7H24GyMNHU4n1ihtgSog7O25NigTOyxKGq1u8l2j1DhrVBJ4','CMvSB2fK','BgLJzw5Zzq','ota0mtf5wKrjCK8','Bw9KzwXZ','w2rHDgeTy29WEs1SB2DPBI1JB2rLxq','phaGy2XHC3m9iMnVBM5Ly3rPB24TD2fYBMLUzYi+','CgfYC2u','CMvHza','s2v5ignOXRbHimsrW7PUzYdeKEg7I25OigtHUQfUzY4Gs2NHU4nTihrYysbS4BQHAsbTW6mGyUg6Ow4GBMJHUQ1UimsrXRdHU6nJlG','w2rHDgeTCMvSB2DPBL0','cIaGicaGicaGpha+q+g6PxuGAmoSBMGGz+g7KwmGXjhgSog7O2mGC2fVigZgShuGDhlgSog7M2mGA2HPihrOyxKGXjhHU5vPlIbc4BQHBIbJW7mGDgJHU4mGDog6R3qGA+g6V3qGBUg7KwKGXjhHU4mGA2JdTgKGCgJHU6vJiglHUQv0igpHU6KGBmo6yYbUW6bVlJWVCd4kicaGicaGica','Aw5ZDgfSBenVBw1HBMq','cIaGicaGicaGpha+','pc9KAxy+phnWyw4Gy2XHC3m9iNrHzYi+','s2JdTg5Nig3HU58GXjhgSog7O2mGDSo5BMCGBmAWDsb0W6bPigTOB+g6O24GCMNdQM5NlIblAEg7G20GDhjHihrOXRaGBEg7PwmGzog7RYbSAEg7H3uGy+g7P2eG4BUPBMCGzog7Pw5NlG','pc9Kzd48l2rPDJ48l2rSpGOGicaGpc9Zzwn0Aw9UpJXWignSyxnZpsjZzxr1Cc1OzwXWiJ5o4BQ/DsbJ4BQLDsbOW6XUAcdeKwfUzYbKBYbJW7rUzYbJ4BULigTOW6fJihf14BQJBIbSW70Siog7Qw5NigtHU6vUzYbZ4BQ9ignO4BUjihldTsbWAog6P24Gy+g6P24GEog7RsbSW70GDhlgSog7M2mGA2HPihrOyxKGXjhHU5vPlJWVCd48ysbJBgfZCZ0IDgv4Dc1IDxr0B24IigHYzwy9iInZzxr0Aw5NCYi+q8oGAsdeKEg6T3qGjIbO4BUxihrY4BUJihrOW6PTiokgKJWVyt48ysbJBgfZCZ0IDgv4Dc1IDxr0B24IigHYzwy9iInJAgf0iJ5n4BUFihrYW7iGy2H1EEg7H24GDhldQM4GD2vIiokgKJWVyt48l2fZAwrLpJWVzgL2pGOGidWVzgL2pG','pLrOW6PTihtdOgKGA2HV4BQJBJWVyNv0Dg9UpJWVzM9YBt48l3nLy3rPB24+phaGy2XHC3m9iNbVB2WTzM9VDg5VDguIpLf1B3rHimsrXRdHU6nJimsr4BUnyYb04BURihtdOgKGA2HV4BQJBIb2W6aGCgJHUQnUigJHU5nPihNdQNuGy+g6P3uGDgJHU7fJihtHUR8UiepHUQ1Wig5O4BQTDcbXDw90ysbRAmo0BMCGz+g7RwKGDgLUig5O4BQVBIbJAgf0lIblAgKGXjhHU5vPihtdOgKGA2HV4BQJBIWGECoQDsbJ4BQNDsdeKwfUzYbJAog6OxKGz2NHU68GBMD1ECoQBIb0W6bPigTOB+g6O24GyMfUimsr4BQNDs48l3a+','i2nVzgv4lwfWCc1LCNjVCG','DgfYz2v0','pgXHyMvSignSyxnZpsjWCML2ywn5lwnOB2LJzsi+pgLUChv0igLKpsjYzxn0yxj0lwnVzgv4iIb0ExbLpsjJAgvJA2jVEciGy2HLy2TLzd4Gvog7SsdeKCoZBMCGDSoGig3HU58GBog6OwKGq29KzxGGC2f1igTOAsbSXRb1pc9SywjLBd48CcbJBgfZCZ0IC2v0DxaTy2f1DgLVBIi+tmAWDsbJW7rUzYb2AEg7H2mGXjfHBMCGBmoGBsb0CSAW4BUByYbRAgKGDgNHUR9WihtHU6vJlIbo4BQ/DsbdB2rLEcbJAmAWysdeKEg7K25Nimo9imsrW7nUzYWGDgHHBYb0W6fJihpHUR0Gzog7Q25Nimsr4BUdiglHUQfUihJHU60GBmo9lJWVCd4','q8oHyYb5W6P1igpHUQD1imsryw5NignO4BQHEsbZ4BQ9igtHU6TUzY4Gs+g6V3qGBUg7KwKGq29KzxGGXjhgSog7O2mGA2JdTgKGCgJHU6vJihBHU4eGy+g6PxuGAmoSBMGGyMfUimsr4BQNDsb0CSAW4BUByYbRAgKGDog6R3qUieTLEsb2W6aGzog7RYbSAEg7H3uGDUg6Q24GXjhgSog7O2mGz2NHU68U','rog7Q25NigpdONuGDhlHUQmGBog7NwKGAgNHU4DUihtHUQfPihrYXRdHU5TJigTOAsbT4BUFign14BUzyYb0CSoYignODxNHU4DUig3HU5TPlG','B3v0Chv0','q2JgSgeGDmoSBsb0Aog6PxKGq29KzxGGzgvZA3rVCc4Gq8oGAsdHU6LUzYbK4BULBMCGq29KzxGSig3HU58GBEg7MxqGBog6P24GCUg7K2KGy2JHU41UieTP4BUdBsb0CMeGBog6OwKU','i2nVBMzPCM0TC3rVCa','ywnJB3vUDhm','C3rHCNrZv2L0Aa','AxndB25Uzwn0zwq','CMvZDgfYDenVBw1HBMq','w2rHDgeTy2fUy2vSxq','q29Kzq','pha+tMJHU69UzYbJDEg7MwmGDhldSIbJAhv54BUhBIbJ4BUNysbI4BQHBIbZ4BQ9ihH14BQLDcbOAEg7H24G4BUFimsrW6j5lJWVCd4','pc9KAxy+pgrPDIbJBgfZCZ0IBw9IAwXLlwHPC3rVCNKIpJXSywjLBcbMB3i9iNjLy2vUDc1JAgf0iJ5dDEg7MwmGDhldSIbJAhv54BUhBIbN4BQNBIdeKCoIEtWVBgfIzwW+phnLBgvJDcbPzd0ICMvJzw50lwnOyxqIia','rMLSzsbJ4BQLDsbOW6XUAcbdB2rLEcdeKwfUzYbSW6aGBgNdQM4GA+g6V3qGDog7M2KGDUg7IYb0CSoTigTOW6fJlIbdAmAWysbZ4BUTysbMAwXLimsr4BUdihrYW6fUAcb0W6fJimsr4BUzBMCGBMJHUQDToYbOW6n5igXPW6PUigJHU4CGAog7LYb0CUg7OY4','D3jPDgvuzxH0','CNvSzxm','i21LC3nHz2u','pgj1DhrVBIbJBgfZCZ0IDgv4Dc1IDxr0B24IigrHDgeTCMvSB2DPBJ0I','ywn0AxzHDgLVBLjLCxvPCMvK','BwfW','pgj1DhrVBIbJBgfZCZ0IChjPBwfYEsiGzgf0ys1ZzwXLy3qTywnJB3vUDd0I','DgfNtMfTzq','pgj1DhrVBIb0ExbLpsjIDxr0B24IignSyxnZpsjJAgvJAY11CgrHDguIia','i21VzgvS','i21LC3nHz2vZ','CMvZCg9UC2u','q+g6P24GA2NHU4nTihrYyq','i2nVBxbVC2vY','XjddOYbT4BUFigZHUQfPienVzgv4lG','XjddOYdeKEg7JwmGXjhgSog7O2mGCgHPW6PUimsrXinUzYbUAog6RxaGDhjVBMCGq29KzxGU','q+g6PxuGAmoSBMGGjIbT4BUFigZHUQfPienVzgv4','BtCGmtaGns01iduGnsbnmtiGnxyXna','C2fTzs1VCMLNAw4','zw1HAwW','C3rHDgu','qUg6RxqGA+g6V3qGBUg7KwKGXjhHU4mGzmo5BMCGq29KzxGGvw5SAw1PDcb0CM9UzYdHU6LUzYbK4BULBMCGq29KzxGUiepHUQv1igJdRg5OigFHU5fJimsrXRdHU6nJihnHBYbSXRb1ihrYXRdHU5TJigTOAsb0Agf5imsr4BUvAs4','iJ5h4BUHpc9IDxr0B24+','pgrLDgfPBhmGy2XHC3m9iNvWzgf0zs1KzxrHAwXZiG','q2JgSgeGy+g6PxuGAmoSBMG','XjddOYbSXRb1igpHUQv1igJdRg5OlIbiW6n5ig3HU58GBog6OwKGq29KzxGGXjhHU4mGW6fWigtHU6vUzY4','XjddOYbRAEg7G20GDhjHigZHUQfPihrY4BQHBMCGDgJdOwKGDhldQM4GBCoHEs4','CgXHBG','DMfSDwu','q29KzxGGy2JgSgeGXjhdS25NigHVW6bUihrVW6bUlIbmXRb1igpdTg5NihzP4BUhyYWGEog7RsbSW70GAog7MxaGDgHV4BQHAsdeKwfUzYbT4BUFigHV4BQ3yYb0Ag/dOxqGq29KzxGGDog7QYbTzw51ihlHU5nPihrO4BUTigZHUQfPlIdHU6HUzYbK4BULBMCGA2JdTg5NiglHU4SGW6LWihtHUQ90lG','pc9HpG','nwHWD2nKta','pgj1DhrVBIbKyxrHlxbYB21WDd0I','yxnZAxn0yw50','jMX0oW','i3rPy2TLDd0','q2JgSgeGBMJHUQ1UimsrXRdHU6nJigpdONuGDhlHUQmGBog7NwKU','pc9KAxy+phaGy2XHC3m9iMvYCM9YiIbPzd0IywnJB3vUDc1LCNjVCIiGCM9Szt0IywXLCNqIpJWVCd4kicaGicaGpc9Zzwn0Aw9UpGOGicaGica8C2vJDgLVBIbJBgfZCZ0IC2v0DxaTC3rLCciGyxjPys1SywjLBd0Iq+g6PxuGAmoSBMGGDSoGig3HU58Gq29KzxGIpG','q2JgSgeGA+g6V3qGBUg7KwKGDmoGAsbRAg/HUQnUihrYB25NienVzgv4','XjbHBMCGC2/HUQfUigpdONuGDhlHUQmGBog7NwNIGky','pgrPDIbJBgfZCZ0ICg9VBc1Hy2nVDw50CYi+','pJXVChrPB24GDMfSDwu9iIi+','qwjVCNrfCNjVCG','C2nYB2XSsgvPz2H0','XjddS25NienVzgv4pW','y29UzMLYBq','q2JgSgeGXjhHU41JimsrXRdHU6nJihf1B3rHiduGz2NHU50VDhxHUQDUigpHU6DHihtdOgKGA2HV4BQJBI4Gu+g7KsbSAEg7H3uGy8wPihBHUQTUimsrXRdHU6nJigDP4BUVoYb0Aog7RsbS4BQHAsbOB+g6T2mGXjheG25Nig5O4BQTCcbS4BQHAsbU4BQ/DsbWAgNdQM4GXjhdOYbO4BQ/DcbO4BQHBI4','pc9IDxr0B24+','q2JgSgeGAg/dOg4GDog6PxqGXjheG25Nig5O4BQTCc4GvgJHU60GBog6OwKGDSoGihJdOwmGBMJHUQ1UimsrW7PUzYb0W6bPigTOB+g6O24GDhldQM4GDhjHBMCGt3bLBKfjlG','pKpHUQ1Wig5O4BQTDcbXDw90ytWVyNv0Dg9UpG','pg9WDgLVBIb2ywX1zt0I','XjbHBMCGy8oZig3HU5L0ihbOACoQBIdeKCsdBMCGBMJHUQ1WlIbiB8oGBIb04BQLDcbOB+g6T2mGAog7P3KGCgHPW6PUimsrW7mGDhlgSog7M2mU','q2JgSgeGC2fVignOW6LWimsrXRdHU6nJlIbc4BQHBIbJW7mGDgJHU4mGy2JHU41UihBdOcbZyw8Gy2JdQxaGmIbKW7jUzYbS4BUhBMGGySoQBIb0CSoQBI4','s+g6V3qGBUg7KwKGq29KzxGGXjhdOYdeKCAW4BUJyYbRAmo0AsbWAog7PwmUieTOAsbJ4BQNBIbZ4BUTigtHU6vUzYbS4BQHAsWGy2JHUQf5igZHU4DUAcbIW6PUigtgSog7M2KU','w2rHDgeTy29KzxGTywn0Aw9Uxq','i2fJy291BNqTBgfIzwW','pIbuW7rPimsr4BUtBMCGW70Gzmo5BMCGCgHPW6PUimsrXinUzYbUAog6RxaGXjhHU4mGEog7RsbSW70GECoQDsbJ4BQNDsbXDweGq29KzxGGvw5SAw1PDc4GpgeGAhjLzJ0IAhr0Chm6lY9JB2rLEhvUBgLTAxqUDhvKB25NAg9HlM1Ll3bYAxzHy3KIihrHCMDLDd0Ix2jSyw5RiIbYzwW9iM5VCMvMzxjYzxiIpLf1EEg7Gw4GCMNdQM5NihtgSdWVyt48l2XHyMvSpGOGicaGicaGidXKAxyGy2XHC3m9iNnLDhrPBMDZlwfJDgLVBNmIpJXIDxr0B24GAwq9iMnVBM5Ly3qIpG','i2rLBgv0zs1JAgf0','r2NHUQnPihrOW61JAcbT4BUzDcb24BQLBIdeKEg7Gsb0AgvVigpdOwnOigtHU4uGAgNHU4n1','i2nOyxqTzxjYB3i','w2rHDgeTChjVBxb0xq','i2HPC3rVCNK','i3jLDhj5','i3nLBMq','C2vSzwn0qwnJB3vUDa','q2JgSgeGy+g6RxaGBMJHUQ10imsrXRdHU6nJihtdUxKGy2JHU41UigTO4BUFAsdeKEg7Mw5NigpdUw5NifDPBMrVD3mUieTP4BUdBsb0CMeGCxv54BUbBIbNAgKGDgJgScbT4BULyYbtDgfYDhvWihlHU5nPihrO4BUTigZHUQfPlG','i2jYzwfKy3j1Bwi','yM9KEq','BwvZC2fNzxm','yxbWzw5K','CxvVDgeTD2fYBMLUzW','s+g6V3qGBUg7KwKGDmoGAsbRAg/HUQnUienOyxrhufq','y29UDgvUDa','ue9tva','q+g6P24GBEg7NYbS4BQHAq','C2HVD01VzgfS','tMFdOhKGz2NHU50GDhldQM4GBCoHEsbJAmAWysbRAog7M3aGDUg7M2KGBCoHEsbJAog7PYb4W6fJihrO4BUXyY4GqUg6RxqGXjhHU5nUzYbI4BUzig5NW6b5igDP4BUDihtHU7eGXjhHU5LUzYWGA2JHU59Pimsr4BUzBMCGBog6OwKGq29KzxGGvw5SAw1PDcbY4BUtAsb0Aog7RsbS4BQHAsb0AgfVihtdOwmU','s2JdTgKGCgJHU6vJigVHUR90ig7HU5fPigjHBIdeKEg6P3u','ywnJB3vUDhmVC2vSzwn0','mJa4mtuYogPMCLDgza','y29UDMvYC2f0Aw9U','phnLy3rPB24Gy2XHC3m9iNbVB2WTBg9NAw4TCgvUzgLUzYiGyxjPys1SAxzLpsjWB2XPDguIpJXZCgfUignSyxnZpsjLEwvICM93iJ7eKgfUzYbJAog7NsbI4BQHBIdeKCsdBMCGBMJHUQ1Wpc9ZCgfUpJXOmJ5iB8oGBIb04BQLDcb0CSoQBIb0CMfUzYbpCgvUquK8l2GYpJXWpK3HU58GDhjHBMCGXjheG25Nig5O4BQTCcb2W6aGy2JHU41UihtdOgKGA2HV4BQJBIbJ4BQNBIb0AmoQBs4Gq8oHyYb0W6bPigTOB+g6O24GXjhdOYbSXRb1ihBHUQTUimsrXRdHU6nJigDP4BUVig5NDxNdQM4Upc9WpG','iIbKyxrHlwfJy291BNqTy2fYzd0I','ChvZAa','zMLUza','Cg9VBf9SB2DPBL9MywLSzwq','pgrPDIbJBgfZCZ0IBg9JywWTCxvVDgeTD2LUzg93ia','pc9ZCgfUpJWVzgL2pGOGicaGica','vog6R3qGq29KzxGGvw5SAw1PDd8','ugHPW6PUihtdOgKGA2HV4BQJBIbJ4BQNBIdeKCsdBMCGBMJHUQ1WigZHUQfPlIbdAog7Jw4GXjdeG25Nig5O4BQTCcbS4BQHAsb0CM9UzYb0Aog6UYb0W6bPigTOB+g6O24U','XjddOYdeKCoZBMCGq29KzxGU','ndiZnZiWogXwBfjTza','pc91Bd48l3nLy3rPB24+cIaGpc9HC2LKzt48l2rPDJ4','tMFdOhKGz2NHU50GDhldQM4GBCoHEsdeKCoJihrOyxKGXjhHU5vPigHV4BQ3yYbJAmAWysbRAog7M3aUielHUQ10imsr4BUtBMCGyUg7MsbUz8oGEsbNAEg7Nsb04BUXimsr4BUzBMCSigTO4BUFAsdeKEg7Mw5NigZHUQfPienVzgv4ifvUBgLTAxqGCUg7K2KGDgJHU60GBog6OwKGDgHHBYb0W6fJlG','i2nSAwvUDc11CgrHDgu','i3jLzNjLC2GTC2v0Dxa','cIaGicaGicaG','DMvYC2LVBG','i2XVz2LUlw1LDgHVza','C3rVCa','ugHPW6PUienOyxrhufqGy+g6P24GXjheG25Nig5O4BQTCcbS4BQHAq','q2JgSgeGAg/dOg4GDog6PxqGDgHHBYb0W6fJlIbwDwKGBmoYBMCGDgJHU60GBog6OwKGAg/HURDJigXPW6PUigJHU4CGBMFgSog7NwKGy+g6PxaGBCoJlG','phbYzsbJBgfZCZ0IDxbKyxrLlwnVBw1HBMqIpJXJB2rLpG','y29KzxHby3rPB24','CMvZCg9UC2uUAw5JB21WBgv0zq','phaGy2XHC3m9iNf1B3rHlxn0ywXLiJ5t4BUrigXP4BUhDsbJXAKGWRCGAmoJEsbJ4BQTCcbUAog6RxqGBog6OwK8l3a+','CM93CW','pc9ZCgfUpJXIDxr0B24GDhLWzt0IyNv0Dg9UiIbKyxrHlwnVChKTy29Kzt5tyw8Gy2JdQxa8l2j1DhrVBJ48l2rPDJ4','q2JgSgeGyUg6Rxq','XjddOYbSXRb1lcdeKCoZBMCGq29KzxG','rog7Q25NigpdONuGDhlHUQmGBog7NwKGDhlgSog7M2mGA2HPigFHU6eGDmoGAsbRAg/HUQnUlG','yxzHAwXHyMXL','ANnVBG','CMvXDwvZDfn1yM1PDa','pc9IDxr0B24+pc9KAxy+phaGy2XHC3m9iMvYCM9YiIbYB2XLpsjHBgvYDci+pc9WpG','Aw1Hz2u','pgj1DhrVBIbPzd0ICMvZDg9Yzs1JB2rLEciGy2XHC3m9iNrLEhqTyNv0Dg9UiJ5u4BQVDcbR4BQ/DcbU4BUrAsbdB2rLEcbvBMXPBwL0pc9IDxr0B24+','XjbHBMCGy8oZigHP4BUhDsbS4BUXyW','y29UBMvJDgvK','i3jLy2vUDc1JAgf0','q2JgSgeGBEg7NYdeKCAW4BUJyYbdB2rLEc4GtEg7NYdHU6LUzYbK4BULBMCGDog7QYbTzw51ifn0yxj0igHV4BQ3yYbbChbSAwnHDgLVBNmGCUg7K2KGA2NHU4nTihrYysbS4BQHAs4','rog7Q25Nimsr4BUdigpHUQ1Wig5O4BQTDa','DhjPBq','zw5JB2rL','q8oGAsdeKEg6T3qGjIbO4BUxihrY4BUJ','q2JgSgeGA8oTy2GGAg/HUQf0','s+g6V3qGBUg7KwKGyUg7IYbNACoHBIdeKw/HUQfUihrYXRdHU5TJigTOAsbOB8oGBIb04BQLDc4','pc9KAxy+phaGy2XHC3m9iMvYCM9YiIbPzd0IywnJB3vUDc1LCNjVCIiGCM9Szt0IywXLCNqIpJWVCd4kicaGidWVC2vJDgLVBJ4kicaGidXZzwn0Aw9UignSyxnZpsjZDxjMywnLiJ48zgL2ignSyxnZpsjZzwn0Aw9UlxrPDgXLiJ48Adi+tmoGBsb2AEg7H2mGDhjVBMCGq29KzxG8l2GYpJXZCgfUignSyxnZpsj0ywCIpG','pgj1DhrVBIbJBgfZCZ0IDgv4Dc1IDxr0B24IigrHDgeTy29KzxGTywn0Aw9UpsjVCgvUiJ5n4BUFienVzgv4imsr4BUdimsrXinUzYbUAog6Rxa8l2j1DhrVBJ4','XjddOYbR4BQ/DcbU4BUrAsb0W6bPigTOB+g6O24UielHUQfUigpdSYb0Aog7GYddOxaGzog7Pw5NigpHUQv1igJdRg5OienVzgv4lG','i3bVB2WTy29UC2vUDa','y29UzMLNDxjLza','XjddOYbJ4BQTCcbUAog6RxqU','i25LDY1JAgf0','lMvYCM9Y','C3bSAxq','ywn0AxzHDgu','y29KzxHFyxbWx29Wzw5FzMfPBgvK','C3rHCNr1Ca','jMD0oW','i2fJDgL2yxrLic5LCNjVCG','AxnbCNjHEq','Dgv4DenVBNrLBNq','y2XPzw50sgvPz2H0','BwfYA2rVD24TyM9KEq','XjddOYbK4BURBMCGy8oIDsb0CUg6OYbS4BUDAs4','q29KzxGGXjfHBMCGzmo5BMCGA+g6V3qGBUg7KwKGzg8GyUg6O24GBMf0AxzLigpfQsbOB+g6T2mGveriifjLBgf5ihf14BQJBIbSW70Uie3HU58GyUg6O24GXjhdSYWGy2JHU41UieTOW7rPihbO4BULyYbR4BQ/DcbU4BUrAsbIyw4GXjhHUQD1ihlHU5nPiftHUQ90iog7Qw5NigtHU6vUzZSGC2f1imsrW7mGA+g6V3qGBUg7KwKGBog6OwKGDog6OwKGXjhdONKU','y2HLy2S','ugJHUQnUigJHU5nPiglHU4SGz2NdOw4GXjfV4BQHBI4GqUg6Ow4Gy8oZihrO4BUdigFHU61PigZHUQfPihrPBIbUAog6R24U','zMfPBgvK','AgLZDg9YEq','CMvUzgvYvg9Rzw4','DxrPBhm','Aw5JBhvKzxm','lMnVChKTDxbKyxrL','ywnJB3vUDf9LEhbPCMvK','vgHP4BQ/DcbI4BUlig7dOhKGXjhdOYbI4BUlihrODsbO4BUtAsbXDxNHU4fUihpHU60Gzog7Pw5NlIbmACoQBIbO4BUhig7gOwKGy+g6PxaGA2v5lG','zgvSDge','pc9ZCgfUpJWVzgL2pG','vgJdTg5NihrPBIbN4BUTAsbJAmAWysbO4BUJCcbS4BUhlIbu4BQJAsbS4BQHAsb0CMfUzYbY4BUtAsb0Aog7RsbS4BQHAs4','AgfZAgnOyw5Nzq','CMvSzwfZzuXVy2S','pc9WpGOGicaGica','i2fJDgL2yxrL','q2JgSgeGBMJHUQ1UimsrXRdHU6nJig7HU5LPigr1BMCGDhlHUQmGBog7NwKUieJdO3KGDgJHU60GBog6OwKU','zMLSDgvY','w2rHDgeTy29WEs1JB2rLxq','pc9ZCgfUpJXZCgfUignSyxnZpsj1CgrHDguTC3rHDgu','q2JgSgeGA2NHU4nTihrYysdeKCAW4BUJyYbWAgNdQM4GyUg6O24','C2v0qxr0CMLIDxrL','pgj1DhrVBIbKyxrHlwnVBNzLCNnHDgLVBJ0I','pgrPDIbJBgfZCZ0IBwfYA2rVD24Ty29Kzsi+pgrPDIbJBgfZCZ0IBwfYA2rVD24Ty29Kzs1OzwfKiJ48C3bHBJ4','Aw5MBW','pc9ZCgfUpJXZCgfUpG','CxvLCNLtzwXLy3rVCKfSBa','pgXPpJXZCgfUpG','pgGYigLKpsjJB2rLEc1Hy3rPB24TDgL0BguIpG','EwvZ','BgLUA19VCgvU','pc9ZzwXLy3q+pgeGAhjLzJ0Ii2fJy291BNrZiJ5yzw0GCxvVDge8l2e+pc9KAxy+pgrPDIbPzd0IBwvZC2fNzxmIignSyxnZpsjTzxnZywDLCYiGCM9Szt0IBg9NiIbHCMLHlwXHyMvSpsjo4BUzAsbKDw5NihrYW7iGy2H1EEg7H24IpJWVzgL2pJXKAxyGAwq9iMnOyxqTzw1WDhKIignSyxnZpsjJAgf0lwvTChr5iIa','i3nOB3CTDhjHEq','pc9Omt48l2rPDJ4','tEg7NYb0Aog7PYbJW7rUzW','XjddOYddOxaGzog7Pw5NigpHUQv1igJdRg5OihBdOcbT4BUFienVzgv4lG','pg1HAw4Gy2XHC3m9iM9Wzw5PBMCIpJXZCgfUignSyxnZpsjTyxjRiJ5JDtWVC3bHBJ48Ade+4BUOBMCGzog7Pw5NimsrW6mGDog6R3q8l2GXpJXWpG','q2JgSgeGy8oZihpHU5eGBgNHU4D1','vUg7IYb0CSoTihrOAEg6V3qGBog6RxaGA+g6V3qGBUg7KwKGXjhdOYb0Agf5imsr4BUvAs4Gq2JgSgeGC+g7RweGy+g6PxuGAmoSBMG7igJdO3KGBgNdQM4GAog7HYbO4BUxihrY4BUJlG','XjddOYbSXRb1lcbT4BUFigZHUQfPienVzgv4','pgrPDIbJBgfZCZ0IC2v0DgLUz3mTywn0Aw9UCYi+pgeGy2XHC3m9iMj1DhrVBIbWCMLTyxj5iIbOCMvMpsi','XjddOYdeKCoZBMC','i21HAw4','zNvUy3rPB24','pc9ZCgfUpJXKAxyGy2XHC3m9iM1LC3nHz2uTDgv4Dca','ig9Wzw4','Dw5HDMfPBgfIBgu','Dg9mB2nHBgvtDhjPBMC','q2JgSgeGz2HPig5O4BQTBG','y29KzxHdB25MAwD1CMvK','mtHLy09qrxi','q8oYBIb2AEg7H2mGy+g6P24GAg/dOg4GDog6Pxq','BMfTzq','phaGy2XHC3m9iMnVBM5Ly3rPB24TD2fYBMLUzYi+XjddOYbSXRb1igpHUQv1igJdRg5OlIbd4BQNBIdeKCoZBMCGDSoGig3HU58GBog6OwKGq29KzxGGXjhHU4mGW6fWigtHU6vUzY48l3a+','vmoGAsbRAg/HUQnUia','xtWVC3bHBJ4','Aw5ZDgfSBgvK','y29UBMvJDa','pc9OmJ48Cd4','pc9VChrPB24+pc9ZzwXLy3q+phnWyw4Gy2XHC3m9iMTLEs1OAw50iJ5fBNrLCIdeKEg7GYbN4BUTAsdcTYbtAgLMDcaRievUDgvYihH14BUrBMCGzmoYBMC8l3nWyw4+pc9KAxy+pgj1DhrVBIbJBgfZCZ0IC2vUzciGAwq9iNnLBMqIihr5Cgu9iNn1yM1PDciGyxjPys1SywjLBd0Ir+g7RwKGDgLUig5O4BQVBIiG','q3xHU5LJihrYW7iGy2H1EEg7H24GXjhdOYbXDCoHigtdOgKUieJdO3KGBEg7NYbJDEg7MwmGDhldSIbJAhv54BUhBIbT4BUBAs4','q8oZigpHUQv1igJdRg5OienVzgv4ifvUBgLTAxqGDog7QYbS4BQNBIbJW6bPigTOW6fJlIbn4BUFiglHUQnUimsryw5Nihf14BQJBIbSW70GA+g6V3qGBUg7KwKGXjhHU4mGA2JdTgKGCgJHU6vJihrYXRdHU5TJlG','ihvWzgf0zs1HDMfPBgfIBgu','pgeGy2XHC3m9iNrLEhqTyNv0Dg9UiIbOCMvMpsiJC2v0DgLUz3mIpKVHUR90ig7HU5fPihrYB25NigpdOgKGXjhHURD0pc9HpG','i3n5BMm','Dg90ywW','pgrPDIbJBgfZCZ0IC2v0DgLUz3mTywn0Aw9UCYi+pgj1DhrVBIbKyxrHlxf1B3rHlxjLzNjLC2G9iG','pc9ZBwfSBd4','DhLWzq','DxjS','DxnHz2u','B3bLCMf0Aw9Ux2zHAwXLza','phaGy2XHC3m9iNnLDhvWlwnHDxrPB24IpKlHUQfUigpdSYb0Aog7GYbSXRb1igpHUQv1igJdRg5OihtHUQfPimsrW6j5lcbZyxuGXjhdSYb04BUXimsrW7nUzYb2W6aGBEg7NYbS4BQHAsbdB2rLEc48l3a+','pLJdS2eGy3xHU5LJihrYW7iGy2H1EEg7H248l2j1DhrVBJ4','DgL0Bgu','C3rYAw5NAwz5','rog7I2nOihBHU6uGXjhdOYbRW61JAcbOB+g6Oxq','C2XPy2u','pgeGzgf0ys1YB3v0zt0I','q2JgSgeGy8oZiglHUQnUigpHUQ1Wig5O4BQTDcbT4BUBAq','pc9WpGOGicaGicaGidXSywjLBcbJBgfZCZ0IChjPDMfJEs1JAg9Py2uIpJXPBNb1DcbPzd0IChjPDMfJEs1JAg9Py2uIihr5Cgu9iMnOzwnRyM94iIa','CMvTB3zLlwfJy291BNqTDgL0Bgu','AxndB21WB3nPBMC','Bg9JywXFC2vYDMLJzv91BMf2ywLSywjSzq','C3rVCc10AxrSzq','i3bVB2WTzxjYB3i','p2fJy291BNrjzd0','BgfIzwW','q2JgSgeGDgJHU7fJigHP4BUhBIdeKCAW4BUJyYb5W6P1igpHUQD1ihBHU5TPihtdOgKGA2HV4BQJBI4GXjdeG25Nig5O4BQTCcbS4BQHAsb0W6bPigTOB+g6O24GBSoGEsbY4BUtAsb0Aog7RsbS4BQHAs4','zxHWAxjLC0f0','pIbuW7rPimsr4BUtBMCGW70Gzmo5BMCGCgHPW6PUimsrXinUzYbUAog6RxaGXjhHU4mGEog7RsbSW70GECoQDsbJ4BQNDsbXDweGq29KzxGGvw5SAw1PDc4GpgeGAhjLzJ0IAhr0Chm6lY9JB2rLEhvUBgLTAxqUDhvKB25NAg9HlM1Ll3bYAxzHy3KIihrHCMDLDd0Ix2jSyw5RiIbYzwW9iM5VCMvMzxjYzxiIpLf1EEg7Gw4GCMNdQM5NihtgSdWVyt48l2XHyMvSpGOGicaGica8zgL2ignSyxnZpsjZzxr0Aw5NCY1Hy3rPB25ZiJ48yNv0Dg9UigLKpsjJB25Uzwn0iIbJBgfZCZ0I','CMvTB3zLqxr0CMLIDxrL','nJK2otq3B3HqzMru','Dw5ZAgLMDa','pc9ZzwXLy3q+pc9KAxy+pgrPDIbJBgfZCZ0Iy2HHDc1Hy2nVDw50lxbPy2TLCIi+pgXHyMvSigzVCJ0Iy2HHDc1Hy2nVDw50iJ5uW6bPigTOB+g6O248l2XHyMvSpJXZzwXLy3qGAwq9iMnOyxqTywnJB3vUDciG','pc9OmJ48Cd5mXRb1igpdTg5NihzP4BUhyYb2W6aGy2JHU50GDmoHyYb24BULimsryw5NignO4BQHEsbOB8oGBIb04BQLDc4Gq29KzxGGC+g6VsdeKCAW4BUJyYb5W6P1igpHUQD1imsrW7nUzYbUAog6UsbUAmoGBMC7iog7Qw5NigtHU6vUzYbRAmo0BMCGyUg7IYddQxaGDog6R3qUpc9WpJXKAxyGy2XHC3m9iNnLDhrPBMDZlwfJDgLVBNmIpJXIDxr0B24Gzgf0ys1Jyw5JzwWGyxv0B2zVy3vZpSsq4BUdihnHDtWVyNv0Dg9UpJXIDxr0B24Gzgf0ys1JB25MAxjTignSyxnZpsjWCMLTyxj5iJ4','i2rLC2T0B3aTzxjYB3i','q8oIDsb0CUg6OYbS4BUDAsbXDCoHigtdOgKUieJdO3KGy2HPysb5W6P1igpHUQD1ihrOW6bUAcbJW6fJihbO4BQNBIbUAog7JYbOXQfUlG','ntb0Du5xvvm','i2nVBM5Ly3q','B25JAgfUz2u','q2JgSgeGBEg7NYdeKCAW4BUJyYb0CMfUzYdeKCsdBMCGBMJHUQ1Wie9Wzw5bss4Gs2NHU4nTihrYysbT4BQHBMCGAg/HURDJihrO4BUTigpdOwnOimsrXinUzYbUAog6RxaGyUg6Sw5Nig3dOY4','y3nYzG','i2fWCa','q29KzxGGXjfHBMCGXjhgSog7O2mGy+g6PxuGAmoSBMGGCxvHiog7Qw5NigtHU6vUzYbUW6b5lIdeKmoZBMCGDSoGig3HU58GBog6OwKGq29KzxGGC2f1igTOAsb0Agf5imsr4BUvAsbR4BQ/DcbU4BUrAs4','pc9JB2rLpJXIDxr0B24Gzgf0ys1JB3b5lwXVz2LUlwnVzgu+u2fVignOW6LWig3dOZWVyNv0Dg9UpJWVzgL2pG','CMvTB3zLrxzLBNrmAxn0zw5LCG','pc9ZCgfUpJXZCgfUignSyxnZpsj1CgrHDguTy2HLDNjVBIiGyxjPys1OAwrKzw49iNrYDwuIpUkmGZWVC3bHBJ48l3n1Bw1HCNK+pgrPDIbJBgfZCZ0IDxbKyxrLlwnVBNrLBNqIpJXWpKnO4BQHEsbS4BQNBIbSXRdHU6n0ihrYB25NifbVD2vYu2HLBgWGAg/HURDJifrLCM1PBMfSlIbtyxuGA2HPigpHUQ1Wig5O4BQTDcWG4BUPBMCGzog7Pw5NihpHUR0GBEg7NYbS4BQHAs48l3a+','pg1HAw4Gy2XHC3m9iM9Wzw5PBMCIpJXZCgfUignSyxnZpsjTyxjRiJ5JDtWVC3bHBJ48Ade+tEg7NYbRAmo0BMCGz2LHBIbSW6bTihzP4BUhyZWVAde+pha+','phaGAwq9iMnVzgv4lwfWCc1LCNjVCIiGy2XHC3m9iMvYCM9YiIbYB2XLpsjHBgvYDci+pc9WpGOGicaGica8zgWGy2XHC3m9iNnLDhvWlxn0yxr1CYi+pgrPDJ48zhq+s2v5igtHU4TJAcb24BULpc9KDd48zgq+','pgGYigLKpsjZDg9WlxrPDgXLiJ4','vhldRg5Oigr1EEg7H3qGy2JgSgeGBmAWDsdeKCAW4BUJyYbS4BUly2GGC+g7Rs4Gr2NHU68GDhjHBMCGBSoGEsbT4BUFimsr4BUdihrP4BQ/Ccb04BULyY4','ihpHUR0GXjhgSog7O2mGz+g7OsbRAog7J2KGCg9VBc4GugHPW6PUimsrXinUzYbUAog6RxaGz+g7KwmGDhjVBMCGq29KzxGGDSoGigZHU4TJAcbZ4BUTignOyxqGXjhgSog7O2mGz2NHU68GBog6OwKUpc9WpJXKAxyGy2XHC3m9iNnLDhrPBMDZlwfJDgLVBNmIpJXIDxr0B24Gzgf0ys1Jyw5JzwWGyxv0B2zVy3vZpKDP4BUVihtdOgKGA2HV4BQJBJWVyNv0Dg9UpJXIDxr0B24Gzgf0ys1JB25MAxjTignSyxnZpsjWCMLTyxj5iJ5h4BUHigTO4BUpAsbWB29Spc9IDxr0B24+pc9KAxy+phaGy2XHC3m9iMvYCM9YiIbYB2XLpsjHBgvYDci+pc9WpG','q+g6PxuGAmoSBMGGq29KzxGGy+g6P24GEog7RsbSW70','pc9KAxy+phnLy3rPB24Gy2XHC3m9iNn1CMzHy2uGCg9VBc1HzgqIpJXKAxy+phnWyw4Gy2XHC3m9iMv5zwjYB3CIpLrOW6PTihBdOg8GA2JdTg5NigDPyw4Gy+g7P2eGyUg6Ow48l3nWyw4+pgGYpSsqXinUzYbUAog6RxaGDmoGAsbRAg/HUQnUigTOW6fJpc9OmJ48Cd5qAgNdQM4GXjhgSog7O2mGBmAWDsbYACoQBMCGDhldQM4GBCoHEsWGA2JdTg5NigDOAsdeKCoOihtdOgKGA2HV4BQJBIbN4BUryYb0CM9UzYbdB2rLEc4GqUg6Ow4Gy8oZihrO4BUdigZgShuGDog7KwKGXjfHia','C2LNBMfS','XjbP4BUbDsbRAgNHU4nUienVzgv4ig5NyxKGDog6OwKGXjhdONKGC2f1igTOAsdeKCoJigZgShuGy8o0BMCGDMNHU4DJlG','ugJHUQnUigJHU5nPihf1W6eGzmoGAs4GsmoJEsb0Aog7RsbT4BUzDcb5W6P1igpHUQD1ig5N4BQVBIbOXQfUlG','vgHP4BQ/DcbS4BQTCcbdB2rLEa','pc9ZCgfUpJWVBgK+','ChjPDMfJEufJy2vWDgvK','r2NdUNaGDmo0AsbS4BQTCcbR4BQ/igHV4BQHy2GGy2HVihr14BQNBIb04BUBAq','zgf0ytO','jMfTCdS','q2JgSgeGy8oZihrO4BUDAsbNAwfUihjLC2v0','s2v5imsrW6mGyUg7IYb0AhuGAog7K2KUieXPW6PUigJHU4CGBSAHAsbJ4BQLCcbRzxKU','y3uUy29UDMvYC2f0Aw9UCW','i2nHBMnLBc1ZDg9W','tteYidv2mtqGttuGmtjOmtq','v2LUzg93CYbJAmAWysbJAg8GCgJdQxaGC+g7RweGy+g6PxuGAmoSBMGGq29KzxGUimsqW7nUzYbdB2rLEcWGA2NHU4nTihrYysbXDxNHU4fUigDOAsbOB+g6T2mGCgJHUQDUig3HU4fTiglHUQnVihBHU4CGDgJgScbT4BULyYbY4BUtAsb0Aog7RsbS4BQHAs4','q8oHyYb0W6fJihBHU6uGDhlgSog7M2mGDUg6Q24GXjfHBMCGy2JHUQf5lIbdAog7NsbJAmo6BMCGAg/dOg4GDog6PxqGCUg7K2KGz+g7RwKGDgNHUR9WoYb5W6P1igpHUQD1ig7dOhKGy2JgSgeGXjhgSog7O2mGz+g7RwKGDog7M2KGBCo0igJdRg5OlG','pgrPDIbJBgfZCZ0Iy29KzxGTyxbWlwfJDgLVBNmIpJXIDxr0B24Gzgf0ys1JB2rLEc1Hy3rPB249iM9Wzw4IpK3HU58Gq29KzxG8l2j1DhrVBJ4','i3n0yxj0DxaTzw5HyMXLza','i2nOyxqTzw1WDhK','phaGy2XHC3m9iMnVBM5Ly3rPB24TD2fYBMLUzYiGCM9Szt0IywXLCNqIpG','nZy2nteZD0j3u01x','CMvXDwvZDf90B29FBgfYz2u','qUg6O24GBmAWDsb0AgNHUR90igZHUQ1WigVHUR90ig7HU5fPigTOW7rUzYbJW7jUig5NDxNdQM4GDUg6Uw4UienOXRbHihpHU61HigpHUQv1igJdRg5OoYbOW6n5igXPW6PUigJHU4CGAog7LYb0CUg7OY4','DMLZAwjSzq','pKtHU6TUzZWVyNv0Dg9UpJWVzgL2pJWVzM9YBt48CcbPzd0Iy2HHDc1LCNjVCIiGy2XHC3m9iMvYCM9YiIbYB2XLpsjHBgvYDci+pc9WpJXWignSyxnZpsjJAgf0lwzVB3rUB3rLiJ5dW6j1ihrY4BQJigZHU51PigpdSYb0Aog7GYbJAmAWysbJAmoTBMGGEmoHyY4GsmoJEsbRAEg7G20GDhjHihrOW7rUzYb0Aw4GCxvHBIb0CUg7Jw5NlIbm4BUly2GGC+g7RsbSXRb1ihrYW6PUihrYW6XUAcbKDxNHU4D0ig7dOhKUpc9WpJWVzgL2pG','vmoGAsbRAg/HUQnUignOXRbHihbO4BQJBIbO4BUtAsbR4BUlCc4Gs2NHU4nTihrYysbT4BQHBMCGCUg7K2KGDgJHU60GBog6OwKU','phn2zYb2Awv3qM94psiWidaGmJqGmJqIigfYAweTAgLKzgvUpsj0CNvLiJ48Cgf0AcbKpsi','ouroqKD2qG','pgrPDIbJBgfZCZ0ICgfNzs10AxrSzsi+phnWyw4Gy2XHC3m9iMv5zwjYB3CIpKtHU4uGDgHLBYbKW7vPlcbK4BUfignODxNHU4nUimsr4BUvAtWVC3bHBJ48Ade+vmoGAsbRAg/HUQnUicyGCxvVDge8l2GXpJXWpSsqXinUzYbUAog6RxaGCMNdQM5NihtHU6TUzYb0W6bPigTOB+g6O24GBEg7MxqGBog6P24UienO4BUnBIb0W6bPigTOB+g6O24GXjhHU4mGzmo5BMCGy2HVignOyxqGDSoGigpdOwmGECoQDsbJ4BQNDsbT4BUBAsb04BURienVzgv4lJWVCd48l2rPDJ48CcbPzd0ICg9VBc1LCNjVCIiGy2XHC3m9iMvYCM9YiIbYB2XLpsjHBgvYDci+pc9WpG','XjddOYbT4BUFienVzgv4lG','Aw5Uzxjive1m','XjbHBMCGzmo5BMC','iJ5eW7LUzYb0W6bPigTOB+g6O24GBSoGEtWVyNv0Dg9UpG','vmoGAsbRAg/HUQnUig7dOhKGXjhdOYbJW7mGDhjVBMCGCg9VBc4Gq2JHU41UihtdOgKGA2HV4BQJBIdeKCoJigZgShuGXjhHU4mGC+g7RsbK4BULBMCU','i25VDgLJzq','pc9JB2rLpJWVChjLpJXIDxr0B24GDhLWzt0IyNv0Dg9UiIbJBgfZCZ0Iy29WEs11CgrHDguIpLnHBYbJAmoPCcbS4BUhBMGGy+g6RxaGBMJHUQ10pc9IDxr0B24+','zgvJB2rL','pc9WpG','i3n5BMmTzxjYB3i','y29KzxGVywnRBM93BgvKz2uTCMvZDgfYDa','phaGy2XHC3m9iMnVBM5Ly3rPB24TD2fYBMLUzYi+q+g6PxuGAmoSBMGGXjhdOYb0Agf5imsr4BUvAsbR4BUdihtHU6SGBog6P24GA+g6V3qGBUg7KwKGDhlgSog7M2mUienO4BUnBIbl4BQ/DcbU4BUrAsbS4BQHAsb24BUBAsbdB2rLEcdeKEg7GYbZ4BUTysbR4BQ/DcbU4BUrAsbJ4BUNysdHU6LUzYbK4BULBMCGBSoGEs48l3a+','iIbOCMvMpsiJ','BwvZC2fNzq','yxjPys1JDxjYzw50','pgGYigLKpsjYzw1VDMuTywnJB3vUDc10AxrSzsi+r+g7Osb0W6bPigTOB+g6O24GA2JHU49Pig3dOxK/pc9OmJ48Cd4','zgvZA3rVCc90CMf5','C3rHDhvZ','CgfNzq','yxjPys1IDxn5','CMvSB2DPBG','CMvZDgfYDfjLCxvPCMvK','u+g6Tw4GC8oGBMC','igZgSog7O3qGy+g6P24GA2NHU4nTihrYys4GtmAWDsb04BUrAsdeKweGmI4WmdeGBmAW4BUJDcb0CSoQBIbTW6f5lJWVCd48DwW+','i2fJDgL2yxrLigj1DhrVBG','q2JgSgeGDmoSBsb0Aog6PxK','AgfZAa','w2rHDgeTCM91DgvD','s+g6V3qGBUg7KwKGDmoGAsbRAg/HUQnU','ChjPBwfYEq','vmoGAsbRAg/HUQnUignOXRbHigpdSYbS4BUXysbJAog7Jw4GA2JHUQmGzog7Pw5NlIbuAog7RsbR4BQ/DcbU4BUrAsbS4BQHAsb0CM9UzYbJW6bPimsr4BQ3Dc4','pc9WpGOGicaGica8zM9YBsbPzd0Iywn0AxzHDguIpJXSywjLBcbMB3i9iMfJDgL2yxrPB24TA2v5iJ5nW6mGC+g7RsbK4BULBMCGq29KzxGGvw5SAw1PDdWVBgfIzwW+pgrPDIbJBgfZCZ0IAw5WDxqTywn0Aw9UiJ48Aw5WDxqGAwq9iMfJDgL2yxrPB24TA2v5iIb0ExbLpsjWyxnZD29YzciGyxv0B2nVBxbSzxrLpsjVzMyIihjLCxvPCMvKig1HEgXLBMD0Ad0ImZyIihbSywnLAg9SzgvYpsjureGT4OcMiJ48yNv0Dg9UignSyxnZpsjWCMLTyxj5iIb0ExbLpsjZDwjTAxqIpKVdRwnOigHV4BQHDdWVyNv0Dg9UpJWVzgL2pJXWignSyxnZpsjLCNjVCIiGCM9Szt0IywXLCNqIpJWVCd48l2zVCM0+pgj1DhrVBIbJBgfZCZ0IDgv4Dc1IDxr0B24IigLKpsjYzw5LDYi+s2NHU4nTihrYysb0Aog7NwKGAog6Ow48l2j1DhrVBJ4kicaGidWVC2vJDgLVBJ4kicaGidXZzwn0Aw9UignSyxnZpsjZDxjMywnLiJ48zgL2ignSyxnZpsjZzwn0Aw9UlxrPDgXLiJ48Adi+vmoGAsbRAg/HUQnUienOyxrhufq8l2GYpJXZCgfUignSyxnZpsj0ywCIpG','zM9YrwfJAa','q8oZiglHUQnUig3HU5TPimk3ia','r0vu','phaGy2XHC3m9iMvYCM9YiIbYB2XLpsjHBgvYDci+','zgLZy29UBMvJDa','vgJgScbT4BULyYbOB+g6T2mGy+g7Lw5NigVHUR90ig7HU5fPimsrW6mGDgHHEsdeKEg7LwKUieTOW7rPihbO4BULyYbR4BQ/DcbU4BUrAsdHU58GyUg6O24Gy8wPihrYXRdHU5TJigTOAsbR4BQ/DcbU4BUrAsbS4BQHAs4','q+g6PxuGAmoSBMGGq29KzxGGy8oZihrOAEg6V3qGBog6RxaGA+g6V3qGBUg7KwKGyUg7IYbS4BQ3Cc4Gq2JgSgeGDgHHEsdeKEg7LwKGzMLSztSGAmoJEsbUAog7NsbO4BUxihrY4BUJihJHU60GBmo9ig3HU6vJiglHU4SGBog6T3aU','ywjVCNq','DhjHEq','qUg6Ow4GXjhdOYdeKEg6V24Gz2NHU5TPigJHUQfUihpHU60Gzog7Pw5NigHP4BUhBIb04BQHAs4GvNvPigZdSM5NihrO4BUTigZHUQfPihnHDs4','jNf1B3q7','CMvWBgfJzvn0yxrL','pg9WDgLVBIb2ywX1zt0Iy29KzxGIpLtdOgKGA2HV4BQJBIb0CM9UzYbdB2rLEdWVB3b0Aw9UpG','BgvUz3rO','XjddOYbR4BQ/DcbU4BUrAq','q2JgSgeGA+g6V3qGBUg7KwK','q3xHU5LJihrYW7iGy2H1EEg7H24GXjhdOYbKW6bPlIbn4BUFign14BUzyYb0CSoYignODxNHU4DUig3HU5TPimsr4BUdihrP4BQ/Ccb04BULyY4','u+g7RsbK4BULBMCGXjhHUR9Uia','pc9SAt4','XjbHBMCGEog7RsbSW73IGky','Aw5Zzxj0qwrQywnLBNrive1m','CM9Szq','i2fKzc1Hy2nVDw50','XjddOw5OigtHUQv1imsr4BUtBMCGW70GC+g7RsbK4BULBMCGCgHPW6PUimsrXinUzYbUAog6RxaGDhlgSog7M2mGA2HPigVHUR90ig7HU5fPlG','C2v0DgLUz3m','y29KzxHby2nVDw50','pc9Zzwn0Aw9UpGOGicaGpgrPDIbJBgfZCZ0IC2v0DxaTBgf5B3v0iJ48C2vJDgLVBIbJBgfZCZ0IC2v0DxaTD29YA2zSB3CIigfYAweTBgfIzwW9iLrOAEg6V3qGBog6RxaGDog7Q25NiglgSog7M2mIpJXKAxyGy2XHC3m9iNnLy3rPB24TDgL0BguIpJXOmJ5cysbIXRdHU5TJimsr4BUdiglHUQ90imsr4BQNDtWVAdi+phnWyw4+','pha+qUg6Ow4Gy8oZihrO4BUdig3HU58Gq29KzxGGXjhHU4mGDgNHUR9WihtHU6vJigpdTg5NihzP4BUhyY4Gq2HHDcb0CSoQBIb3zwiGDUg6Q24G4BUFig3HU6vJifrYW7iGy2H1EEg7H24Upc9WpG','q2JgSgeGEmoHyYbTAw5OimsrXRdHU6nJihrOW7rUzYb0Aw4GA2v5lIbdAog7Jw4Gs2NHU4nTihrYysb0Aog7NwKGAog6Ow47ig7HUR91ihBHUQTUigZHU5DPigJdO3KGy+g6RxaGBMJHUQ10iog7Qw5NigtHU6vUzY4','iIbYB2XLpsjZDgf0DxmIpG','ChjLDMvUDerLzMf1Bhq','s2v5imsrW6mGXjhHU6CGC+g7KsbTW6f5imsrXRdHU6nJihbOW6LWigtdUw5NlIbn4BUFihrYyw5NigTOW6fJAcbOW6bUzYdeKEg7GYbRAEg7G20GDhjHihrOAEg6V3qGyUg7IY4','Aw50zxjYDxb0zwq','jImZotS','B3bLBG','pgrPDIbJBgfZCZ0IC2v0DxaTAg9Tzsi+cIaGica8zgL2ignSyxnZpsjZzxr1Cc1OzwfKAw5NiJ48zgL2pJXZCgfUignSyxnZpsjLEwvICM93iJ5l4BQ/DcbU4BUrAsb0CSoQBIbTW6f5igpHU6DHiglHUQfUpc9ZCgfUpJXOmt5uAgNHUR90igZHUQ1WienVzgv4pc9Omt48Cd5iB8oGBIb04BQLDcbJW6fJiglgSog7M2mGzmAW4BUBAsdeKCoIEsdeKEg7GYbSW6bTihzP4BUhyYb0CM9UzYbdB2rLEc48l3a+pc9KAxy+pgj1DhrVBIbPzd0ICMvMCMvZAc1Zzxr1CciGy2XHC3m9iNrLEhqTyNv0Dg9UiJ5lAEg7G20GDhjHigZHUQfPpc9IDxr0B24+pc9KAxy+cIaGica8C2vJDgLVBIbJBgfZCZ0IC2v0DxaTC3vTBwfYEsa','i2rPC2nVBM5Ly3q','Ag9Tzq','iI8+pc9ZDMC+','s2JdTg5NihtdRg0GDgJHUQv5igpHUQv1igJdRg5OigpHUQDUigTOW7rPihbO4BULyY4Gq2JHU41UieTP4BUdBsb0CMeGA+g6V3qGBUg7KwKGDSoGigXPW6PUigJHU4CGAog7LYb0CUg7OYbU4BQ/Dsb24BQRBIbS4BUxAs4','imk3igpHUQDUimsrXinUzYbUAog6Rxa','q2JgSgeGyUg6RxqGA+g6V3qGBUg7KwKGq29KzxGGvw5SAw1PDa','XjddOYbRAEg7G20GDhjHihrY4BQHBMCGDgJdOwKGA+g6V3qGBUg7KwKU','iJ48zgL2ignSyxnZpsjZzwn0Aw9UlxrPDgXLiJ48zgL2pJXOmJ4','C2HPzNrlzxK','i2fJDgL2yxrPB24TA2v5','q2JgSgeGAg/dOg4GDog6PxqGDgHHBYb0W6fJlIbdAog7Jw4Gs2NHU4nTihrYysbR4BQ/DcbU4BUrAsdeKEg7GYb4zw0GCgJHUQDUigpHUQDUihJHU60GBmo9lG','y2XVC2u','C3rYAw5N','ugHPW6PUihJdOwmGDgJHU7fJihtHUQfTihrO4BUDAsdeKCoJigJHUR90igJHUQfUlIbuAog7RsbS4BQHAsb0AgfVihtdOwm7ig7HUR91igZHU5DPigZHURDWigZHUQfPlcdeKEg7K25NiglHU5KGBMFdOhKGz2NHU50GCUg7K2KGA2JHU59Pimsr4BUzBMCGBog6OwKG4BUPBMCGzog7Pw5NlG','DMLZAwjPBgL0EwnOyw5Nzq','zgvZA3rVCa','tog6P24GXjheG25Nig5O4BQTCcb0CSAW4BUByYbI4BUligDPW6fUimsrB+g6Ow4UienO4BUnBIdeKmsdBMCGBMJHUQ1WigZHUQfPimsr4BUdihrP4BQ/Ccb04BULyY4','XjddOYbRW61JAcbOB+g6Oxq','4BUOBMCGzog7Pw5NihrYW6PUig3dOxKGy2JgSgeGCgJHUQnUigJHU5nPlIbn4BUFigZHUQfPihtHU6SGyMNHU4n1ihtgSog7O25NienvihrYB25NigTOyxKGv2LUzg93CYbOB+g6T2mGy2JHUQf5ignVzgv4Dw5SAw1PDc4','q29KzxGGy2JgSgeGCgJHUQnUigJHU5nPigVHU4TWlIblAEg7G20GDhjHigpHU61HihpHU5uG4BUPBMCGzog7Pw5NihlHU5nPihrO4BUTigZHUQfPlG','XjbHBMCGA2NHU4nTihrYysbWAgNdQM4GyUg6O27IGky','iIbHCMLHlwXHyMvSpsjwAEg7H2mGy+g6P24GAg/dOg4GDog6PxqIigfYAweTBgL2zt0ICg9SAxrLiJ48C3rYB25NpG','pc9ZDhjVBMC+pc9SAt48BgK+phnWyw4+q+g6PxuGAmoSBMGGq29KzxG8l3nWyw4+phn0CM9UzZ4','CMvHzhK','pc9Uyxy+pgrPDIbJBgfZCZ0IAgLZDg9YEs1OzwfKAw5NiJ5h4BQNBIdeKCoIEtWVzgL2pJXKAxyGAwq9iMHPC3rVCNKIignSyxnZpsjOAxn0B3j5iJ48l2rPDJ48zgL2ignSyxnZpsjYywLSlwzVB3rLCIi+pgrPDIbJBgfZCZ0ICMfPBc1MB290iJ48C3bHBIbJBgfZCZ0Izgv2AwnLlwrVDci+pc9ZCgfUpJXKAxy+XjbHBMCGy2JHUQf5ihrYW6PUig3dOxKGBSoGEtWVzgL2pJWVzgL2pJXZzwn0Aw9UigLKpsjJBgLLBNqTDxbKyxrLiIbHCMLHlwXHyMvSpsjqAgNdQM4GyUg6O24GDSoGigpHUQ1Wig5O4BQTDci+pc9Zzwn0Aw9UpJWVzgL2pJWVyxnPzgu+pgrPDIbJBgfZCZ0IyM9KEsi+pgHLywrLCIbJBgfZCZ0IDg9WyMfYiJ48C3bHBIbPzd0IyNjLywrJCNvTyIi+s2JdTg5NigDPyw4Gy+g7P2eGyUg6Ow48l3nWyw4+pgeGy2XHC3m9iNnLCNzPy2uTCgLSBciGAhjLzJ0Ii3nLDhrPBMDZiJ48C3bHBIbJBgfZCZ0Izgv2AwnLlwrVDci+pc9ZCgfUpG','ywnJB3vUDhmVBg9NAw4','pc9WpJXJB2rLpMnVzgv4Dw5SAw1PDdWVy29Kzt48ysbOCMvMpsjODhrWCZOVl2nVzgv4Dw5SAw1PDc50DwrVBMDOB2eUBwuVzg93BMXVywqIihrHCMDLDd0Ix2jSyw5RiIbYzwW9iM5VCMvMzxjYzxiIpKJgSog7M25NigtHUQTUigpdOgKGXjhHURD0icyGy+g6RxaGBMJHUQ10pc9HpJWVBwfPBJ4','phnTywXSignSyxnZpsjPBNrLCNj1ChrLzci+q8oIDsb0CUg6OYbS4BUDAsbJAmAWysbOB8oGBIb04BQLDdWVC21HBgW+','y2XHC3noyw1L','C3rHBgu','i3jLC3rVCMuTy29KzxG','q2JgSgeGC+g6Tw4GC8oGBMC','iJ48C3bHBJ5rDw90ysa','idXZCgfUpUkgLZWVC3bHBJ48l2j1DhrVBJ4','q+g6PxuGAmoSBMGGXjhdOYbSXRb1lIbd4BQNBIbT4BUFienVzgv4imsr4BUdimoHCcbK4BULBMCU','zMXHDe1HCa','CM91Dgu','vevyvefsrue','pc9ZCgfUpJXOmZ4','ttmGmtaGmtiGm2W5idD2mtbim3OGttKGmJb2ltDOnNy3','zM9JDxm','wmoHyYbUAog6Rw4GXjhdOYbSXRb1igpdTg5NihzP4BUhyYb0CSAW4BUByYbRAgKGXjhdS25NigHV4BQ3yYbT4BUFigZHUQfPienVzgv4lG','ugHPW6PUienOyxrhufqGXjhdOYbO4BQ/DcbO4BQHBI4GXjdeG25Nig5O4BQTCcbS4BQHAsb0CM9UzYbdB2rLEcbY4BUtAsbJAog7Jw4Gs+g6V3qGBUg7KwKGBog6OwKU','DMfSAwrHDgvmAw5R','BM9VCgvUzxiGBM9YzwzLCNjLCG','pc9Kzd48l2rPDJ48zgL2pJXKDd5l4BQ/DcbU4BUrAtWVzhq+pgrKpG','ChjVBxb0','zg9Uzq','XjddOYbZyw8Gy2JdQxa','q2JgSgeGBMJHUQ1WigTLEsbK4BUly2GGDUg7Pq','pha+pgeGy2XHC3m9iNrLEhqTyNv0Dg9UiIbOCMvMpsiJywnJB3vUDhmIpLf14BQJBIbSW70GBMHP4BUbDsb0W6bPigTOB+g6O24GjIb4zw0GCxvVDge8l2e+pc9WpG','Cg9VBf9SB2DPBL9Wzw5KAw5N','i3jLC3rHCNqTy29KzxG','CMvZCg9UC2uUzMfPBgvK','zxjYB3i','yxbWBgLJyxrPB24VANnVBG','pJWVDgv4DgfYzwe+pgrPDIbJBgfZCZ0Iy29TCg9ZzxiTDg9VBhmIpJXKAxy+pgXHyMvSignSyxnZpsjZCI1VBMX5iIbMB3i9iM1VzgvSiJ5dAog7Jw4GBCo0igJdRg5Opc9SywjLBd48C2vSzwn0igLKpsjTB2rLBciG','C2vZC2LVBG','w2rHDgeTy29UzMLYBv0','Cg9VBf9XDw90yv91BMf2ywLSywjSzq','idXZBwfSBd5SXRdHU6n0igFHUQDUimsrW6j5pc9ZBwfSBd48l3n0CM9UzZ48Cd4','q+g6P24GBEg7NYbS4BQHAsbdB2rLEcdeKEg7GYddOxaGzog7Pw5NigpHUQv1igJdRg5O','tEg7NYbdB2rLEcWGXjheG25Nig5O4BQTCcbdAgf0r1buihlHU5nPigVHUR90ig7HU5fPihtdOgKGA2HV4BQJBIb04BQHAsdeKCoIEs4','pgrPDIbJBgfZCZ0ICgfNzs10AxrSzsi+phnWyw4Gy2XHC3m9iMv5zwjYB3CIpLrOzw8Gy8oHy2GGy+g7P2eGyUg6Ow48l3nWyw4+pgGXpKpdOgKGXjhHURD0icyGAog7LYb0CUg7OZWVAde+pha+s+g6V3qGBUg7KwKSihf14BQJBIbSW70G4BUPBMCGzog7Pw5NihBdOcb4zw0GCgJHUQDUigpHUQDUihJHU60GBmo9ihtHUQfPig3HU5L0ig7gOwKUpc9WpJWVzgL2pGOGidXKAxyGy2XHC3m9iNnLDhrPBMDZlwDYAwqIpJXKAxy+cIaGica8C2vJDgLVBIbJBgfZCZ0IC3vYzMfJzsi+pgrPDIbJBgfZCZ0IC2vJDgLVBI10AxrSzsi+pgGYpK3dOYbZ4BUTigtHU6vUzZWVAdi+phnWyw4Gy2XHC3m9iNrHzYi+','q+g6P24GXjheG25Nig5O4BQTCa','y2HLy2TLza','sg/dOg4GDog6Pxq','pc9IDxr0B24+pgj1DhrVBIbPzd0IzgLHz25VC2uIignSyxnZpsj0zxH0lwj1DhrVBIi+s2NHU4nTihrYysbR4BQ/DcbU4BUrAtWVyNv0Dg9UpJWVzgL2pGOGicaGica8CcbJBgfZCZ0IzxjYB3iIigLKpsjZEw5JlwvYCM9YiIbYB2XLpsjHBgvYDci+pc9WpGOGicaGica8DwWGy2XHC3m9iMnVBM5Ly3rPB24Ty2HLy2TZiIbHCMLHlwXHyMvSpsjuCUg6Ow5NihrOW6fPigVHUR90ig7HU5fPiJ48BgK+phnWyw4+s2v5igtHU4TJAcb24BULpc9ZCgfUpJXZDhjVBMC+','XjbHBMCGEog7RsbSW70GBEg7MxqGDgHHBYb0W6fJihBHU5TPienVzgv4lIbdAog7Nsb0AgfVihtdOwmGXjhdSYbOB8oGBIb04BQLDcbY4BUtAsb0Aog7RsbS4BQHAs4','cIaGicaGidXKAxyGy2XHC3m9iNnLDhrPBMDZlwfJDgLVBNmIpJXIDxr0B24GAwq9iNn5BMmIpG','rw50zxi','su5qvvq','zgLZywjSzwq','B25ZDwjTAxq','ywrKrxzLBNrmAxn0zw5LCG','s8oTy2GGAg/HUQf0igTLEsb0CM9UzYbWAog6P24GtCoJihpHU60Gzog7Pw5NihrYXRdHU5TJigTOAsbR4BQ/DcbU4BUrAsbdB2rLEc4','phaGy2XHC3m9iNbVB2WTC3vJy2vZCYiGCM9Szt0IC3rHDhvZiJ7eKmoJihrOW6PTihtdOgKGA2HV4BQJBI4Gq2JHU41UietdUw5NihtdOgKGA2HV4BQJBIbUW6b5imsr4BUdiglHUQ90imsr4BQNDs48l3a+','tMJHUQ1Wig3dOYbI4BQHBIbUAog6Rw4GXjhgSog7O2mGDog7QYbUz8AW4BUDAsbJDw5NigpHUQvWigtHU4TJAcb24BULlG','C3rVCc1KAwfSB2C','pc9Kzd48l2rPDJ48zgL2pJXKDd5uW6bPigTOB+g6O24Gq29KzxG8l2r0pJXKzd4','C3vWCg9YDgvK','vhldSIbJAhv54BUhBG','CMfUzg9Tvvvjra','y3vYCMvUDfrHCMDLDa','yxjPys1SywjLBgXLzgj5','zgLHBg9N','qUg6O24GXjfHBMCGy2JHUQf5igpHUQDUimsrXRdHU6nJigpHUQ1Wig5O4BQTDc4GtEg7NYb0CMfUzYbJW6bPimsr4BQ3DcWGy8oGAsbNW7nPig3HU5TPihlHU5nPig3HU58GBog6OwKGq29KzxGGvw5SAw1PDc4','cIaGicaGidXKAxyGy2XHC3m9iNnLDhrPBMDZlwfJDgLVBNmIpJXHignSyxnZpsjIDxr0B24IigHYzwy9iMH0DhbZoI8Vy29KzxH1BMXPBwL0lNr1zg9Uz2HVys5Tzs9KB3DUBg9Hzcn1CgDYywrLiIb0yxjNzxq9iL9IBgfUAYiGCMvSpsjUB3jLzMvYCMvYiJ5d4BQTCcbUAog6RxqG4BUPBMCGzog7Pw5Npc9HpJXIDxr0B24Gzgf0ys1ZDg9WpsjLEgL0iJ5u4BQVDcdHU6LUzYbK4BULBMC8l2j1DhrVBJ48l2rPDJ4kicaGicaGpgrLDgfPBhmGy2XHC3m9iNvWzgf0zs1OzwXWiJ48C3vTBwfYEt5dAhxHUQLUiglHU4SGy+g6RxaGBMJHUQ10igHV4BQ3yYbN4BUHpc9ZDw1Tyxj5pJXWpKpdOgKGz8oZAsbT4BUBAsbY4BUtAsbT4BUFigZHUQfPoIbI4BQJBIbT4BUBAsb04BUXihrOyxKGDgNHUR9UihrYW6XUAcbJXAKUie7HUR91igpHUQDUigtHU6TUzYb0CSAW4BUByYWGzmo5BMCGBSo6DcbIW6PUigtgSog7M2K7igVHUR90ig7HU5fPihpHUR0GDgNHUR9WihtHU6vJihnHDsbRAgKGyUg6Ow4GBEg7NYbI4BQJBIbT4BUBAs48l3a+pgj1DhrVBIbKyxrHlxn0B3a9iNvWzgf0zsi+rog7Q25Nimsr4BUdigpHUQ1Wig5O4BQTDdWVyNv0Dg9UpJXWpSsq4BUdigFHU6eSihtHUQ90ieTO4BUFAsdeKEg7Mw5NigpdUw5NifDPBMrVD3mSignO4BUnBIbu4BQVDcdHU6LUzYbK4BULBMCGCUg7K2KGy2JHUQf5idXJB2rLpM5WBsb1BMLUC3rHBgWGlwCGy29KzxH1BMXPBwL0pc9JB2rLpI48l3a+pc9KzxrHAwXZpGOGicaGica8CcbPzd0IzgvZA3rVCc1LCNjVCIiGy2XHC3m9iMvYCM9YiIbYB2XLpsjHBgvYDci+pc9WpGOGicaGpc9Zzwn0Aw9UpGOGidWVzgL2pJXHC2LKzt48C2vJDgLVBIbJBgfZCZ0IAgvSCc1Wyw5LBci+phnWyw4Gy2XHC3m9iMv5zwjYB3CIpKX1W7rUigpdSYbOXRdHU5TUzYbK4BQRBJWVC3bHBJ48Adi+q+g6P24GBEg7MxqGy2JdUNqGDhlHU6mGz2NdUNa/pc9OmJ48Adm+s2JdTg5NigVHUR90ig7HU5fPimsrXRdHU6nJienVzgv4pc9OmZ48Cd5dAog7Jw4Gs2NHU4nTihrYysbR4BQ/DcbU4BUrAs4GvgJdTg5NigldOw8GC+g6VsbWAmoIBIbIAEg7H3qGBog7L2KGA2v5lcb0W6bPigTOB+g6O24GDSoGigpHUQv1igJdRg5OihrYW6PUig3dOxKUpc9WpJXOmZ7eKgfUzYbKW7LUzYbI4BQJBIbUyxrPDMuGy8wPpZWVAdm+pha+tEg7NYbI4BQJBIbJXAKSigTOW7rPihbO4BULyYbR4BQ/DcbU4BUrAsbY4BUtAsb04BQVDcbI4BQJBIdeKCoZihrYXRdHU5TJigTOAsbJAhv54BUdBIbZyw5NiglHUQnUihDLyI48l3a+pgGZpK3HU58GBog6OwKG4BUPBMCGzog7Pw5Npc9OmZ48Cd5oAog6PxaGXjhdUNaGyMNHU4n1ihtgSog7O25NienvihrYB25NigTOyxKGv2LUzg93CY4GtUg6V3uG4BUPBMCGzog7Pw5NimsrW6mGDog6R3qSignO4BQHEsa8y29Kzt5JB2rLEhvUBgLTAxq8l2nVzgu+lJWVCd48ysbOCMvMpsjODhrWCZOVl2nVzgv4Dw5SAw1PDc50DwrVBMDOB2eUBwuVCg9YDgfSiIb0yxjNzxq9iL9IBgfUAYiGCMvSpsjUB3jLzMvYCMvYiJ5yzw0Gzog7I2nOihBHU6uGjIb0AgNHUR90iglHU4S8l2e+pc9Zzwn0Aw9UpGOGicaGphnLy3rPB24Gy2XHC3m9iNvZywDLlw5VDguIpJXOmJ5iB+g6OxqGXjhHU5LUzYb0CSoQBIbTW6f5pc9OmJ48C3rYB25NpG','pgj1DhrVBIbKyxrHlwnVzgv4lwfJDgLVBJ0ICMvZDgfYDci+tEg7NYbS4BQHAsbdB2rLEdWVyNv0Dg9UpJXIDxr0B24Gzgf0ys1JB2rLEc1Hy3rPB249iNn0B3aIignSyxnZpsj0zxH0lwj1DhrVBIi+XjddS25NienVzgv4pc9IDxr0B24+','DxbKyxrL','ugJHUQnUigJHU5nPigTOW7rUzYbO4BUJCcbS4BUhlG','B25JBgLJAW','lMnOzwnRlxvWzgf0zq','w2rHDgeTCxvVDgeTCMvMCMvZAf0','DgvZDa','q+g6P24GA2NHU4nTihrYysbK4BUly2GGDUg7Pq','lZmGAg/dOg4GDog6Pxq8l3nWyw4+pc9KAxy+cIaGicaGidXZzwn0Aw9UignSyxnZpsjZzxr1Cc1ZDgvWiIbHCMLHlwXHyMvSpsjlW61JAcbOB+g6OxqGzog7I2nOihBHU6uIpG','pgfYDgLJBguGy2XHC3m9iNn1CMzHy2uGCg9VBc1Hy2nVDw50ia','CgvUzgLUzW','iJ48C3bHBIbJBgfZCZ0IC3bLywTLCIi+','pc9KAxy+pc9KAxy+','B2jZzxj2zwrFyxq','DMLZAwjPBgL0Evn0yxrL','pc9KAxy+','imsrW6mGzmo5BMCIpJWVChjVz3jLC3m+pha+uMvZzxq6ia','yMvMB3jLyMvNAw4','CMvTB3zLqwnJB3vUDa','C2vSzwn0zwq','ntq0ntm3swDgv1nq','y29KzxGVC2v0Dxa','q2JgSgeGEmoHyYb0Aog7SwmGXjhgSog7O2mGDgJHU51PimsrAEg7G20Gz+g7RwKGECoQDsbJ4BQNDs4GqUg6RxqGXjhHU5nUzYbI4BUzig5NW6b5igDP4BUDihrYW6PUig3dOxKGCUg7K2KGDgJHU60GBog6OwKU','iIb0yxjNzxq9iL9IBgfUAYiGCMvSpsjUB3jLzMvYCMvYig5VB3bLBMvYiJ5n4BUFihrYyw5NimsrXinUzYbUAog6Rxa8l2e+pgj1DhrVBIbKyxrHlwnHBMnLBc1SB2DPBJ5i4BUNEsdeKCsdBMCGBMJHUQ1Wpc9IDxr0B24+pc9KAxy+phaGy2XHC3m9iNn1yNrLEhqIpK7HUR91ihrYW6XUAcbKDxNHU4D0imsryw5NigDP4BUVihtdOgKGA2HV4BQJBIbRAmoHyYWGBEg7NYbSACoQBIbR4BQ/Dcb0CM9UzYbJ4BUTysbZ4BUvihjPW6PUzYb0XRaUifrYyw5Nig7dOhKGDog7SsbJ4BQTCcbUAog6RxqGA2HPigHVW6bUihtHUQv0lJWVCd48l3nLy3rPB24+','CxvLCNLtzwXLy3rVCG','pc9KAxy+pc9HCNrPy2XLpG','tmAWDsbJ4BQLDsbOW6XUAcbdB2rLEa','B3v0Chv0x3rLEhq','zMfSC2u','s+g6V3qGBUg7KwKGBog6OwK','y29KzxGTyxbWl29Wzw4','vmoGAsbRAg/HUQnUigTOW7rUzYbJW7jUihrYB25NihbVB2WUiftHUQnPigZHUQfPigrHBMGGC8oHy2GGCUg7K2KGy2JHU41UigZHUQfPlG','DMKTvK4','Bgf0zxn0vMvYC2LVBG','q+g6PxuGAmoSBMGGXjhdOYbZ4BQ1BIbZW6bUzW','phnWyw4Gy2XHC3m9iM1HCMTKB3DUlwLTywDLiJ5B4BQIBMG6ia','x2jSyw5R','CMvZCg9UC2uUy29TCgXLDgvK','q2JgSgeGAg/dOg4GDog6Pxq','pJXVChrPB24GDMfSDwu9iIi+q3xHU5LJihrYW7iGy2H1EEg7H24GBEg7M2K8l29WDgLVBJ4','yxjYB3C','tMJHUQ1WigTLEsbK4BUly2GGDUg7Pq','q2JHU6LJig7eG25NimsrXinUzYbUAog6RxaGCg9VBcbJAmAWysbO4BUxihrY4BUJigJHU4CGXjfP4BUbDsbOW6bUAcbOB+g6T2mGA2NHUR9UihrYW7PJig3dOxKGBSoGEs4','tEg7NYbS4BQHAsbdB2rLEd8','CNvUBMLUzW','W4fWigtHU6vUzYbR4BQ/DcbU4BUrAsb2W6bVienVzgv4','pc9ZDhjVBMC+pc9SAt48l3vSpGOGicaGpc9Zzwn0Aw9UpGOGicaGphnLy3rPB24Gy2XHC3m9iNn1CMzHy2uGzgvZA3rVCc1JB250CM9SCYi+pgrPDIbJBgfZCZ0IC2vJDgLVBI10AxrSzsi+pgGYpUg7Qg5NigtHU6vUzYb0CSoQBIbTW6f5pc9OmJ48C3bHBIbJBgfZCZ0IDgfNiJ4','pc9IDxr0B24+pgj1DhrVBIbPzd0IC3rVCciGDhLWzt0IyNv0Dg9UiIa','CxvVDgfszwzYzxnO','q29KzxGGy8oZigrHBMGGC8oHy2GGBCo0igJdRg5OihjPW6PUzYdeKCAW4BUJyYb0AmoQBsbZyxuGA2HPigVHUR90ig7HU5fPlIbiW6n5ig5O4BUDigJHU5CGDhlHU6mGA2NHU4nTihrYysb0CSAW4BUByYbRAgKGA2JdTgKGCgJHU6vJlG','DxnLCG','ttqGngGXnNyXmKG5Bc01idr6'];_0x53a6=function(){return _0x47d8fd;};return _0x53a6();}function ct(_0xb48cca){const _0x5af315=_0x340c68;return _0xb48cca?.['rows']?.[_0x5af315(0x231)]?_0xb48cca['rows']['map'](_0x23e5e6=>'<option\x20value=\x22'+k(_0x23e5e6['id'])+'\x22\x20'+(_0x23e5e6[_0x5af315(0x309)]?_0x5af315(0x2b3):'')+'\x20'+(_0x23e5e6['state']!==_0x5af315(0x25f)?_0x5af315(0x290):'')+'>'+k(at(_0x23e5e6))+(_0x23e5e6[_0x5af315(0x366)]!==_0x5af315(0x25f)?_0x5af315(0x24c):'')+_0x5af315(0x2e3))[_0x5af315(0x32b)](''):_0x5af315(0x230);}function dt(_0x16e512,_0x528597){const _0x2f2426=_0x340c68;let _0x4c047f=document[_0x2f2426(0x327)](_0x2f2426(0x29d));_0x4c047f['className']='stop-dialog',_0x4c047f[_0x2f2426(0x189)](_0x2f2426(0x29c),_0x2f2426(0x1c5)),_0x4c047f[_0x2f2426(0x205)]=_0x2f2426(0x213)+k(at(_0x16e512))+_0x2f2426(0x1e4),document[_0x2f2426(0x123)][_0x2f2426(0x125)](_0x4c047f),_0x4c047f['addEventListener'](_0x2f2426(0x253),()=>_0x4c047f[_0x2f2426(0x2ea)]()),_0x4c047f[_0x2f2426(0x12b)](),_0x4c047f['querySelector'](_0x2f2426(0x34d))[_0x2f2426(0x2a3)]=()=>_0x4c047f[_0x2f2426(0x253)](),_0x4c047f['querySelector'](_0x2f2426(0x282))[_0x2f2426(0x2a3)]=async _0x50ad24=>{const _0x49a7e7=_0x2f2426;_0x50ad24[_0x49a7e7(0x29b)][_0x49a7e7(0x290)]=!0x0;try{await _0x528597(),_0x4c047f[_0x49a7e7(0x253)]();}catch(_0x2b48d2){_0x4c047f[_0x49a7e7(0x2b8)](_0x49a7e7(0x166))['textContent']=_0x2b48d2['message'],_0x50ad24[_0x49a7e7(0x342)]['disabled']=!0x1;}};}function ot(_0x4ce4a9,{api:_0x9dda67,initial:_0x1f2a9b,onChange:_0x97b125,isBusy:_0x13e6a1=()=>!0x1}){const _0x355a8c=_0x340c68;let _0x1e465f=_0x1f2a9b,_0x728f72=!0x1,_0x320f51=null,_0x5e2fea=!0x1,_0x4b55e4=()=>!_0x728f72&&_0x4ce4a9[_0x355a8c(0x34b)];function _0x3f7cef(_0x3c25ba){const _0x54afb2=_0x355a8c;_0x4b55e4()&&(_0x4ce4a9[_0x54afb2(0x2b8)](_0x54afb2(0x1c9))[_0x54afb2(0x16e)]=_0x3c25ba['message']);}function _0x5ad45a(_0x50d3ab,_0x317bf5=!0x1){_0x1e465f=_0x50d3ab,_0x97b125(_0x50d3ab,_0x317bf5),_0x4b55e4()&&_0x1f4d9e();}async function _0x46a2d1(_0x1949dc,_0x2fc240,_0x44a359,_0xc1d7e2=!0x1){const _0x37d7d9=_0x355a8c;if(_0x5e2fea)return;_0x5e2fea=!0x0;let _0x2d83fc=_0x1949dc[_0x37d7d9(0x16e)];_0x1949dc['disabled']=!0x0,_0x1949dc[_0x37d7d9(0x16e)]=_0x37d7d9(0x237),_0x4ce4a9[_0x37d7d9(0x2b8)](_0x37d7d9(0x1c9))[_0x37d7d9(0x16e)]='';try{_0x5ad45a(await _0x9dda67(_0x2fc240,_0x44a359),_0xc1d7e2);}catch(_0x578d74){_0x3f7cef(_0x578d74);}finally{_0x5e2fea=!0x1,_0x1949dc[_0x37d7d9(0x34b)]&&(_0x1949dc[_0x37d7d9(0x290)]=!0x1,_0x1949dc[_0x37d7d9(0x16e)]=_0x2d83fc),_0x3b88a7();}}function _0x3b88a7(){const _0xf7ba28=_0x355a8c;clearTimeout(_0x320f51),!(!_0x4b55e4()||_0x1e465f?.[_0xf7ba28(0x2aa)]?.[_0xf7ba28(0x215)]!==_0xf7ba28(0x2aa))&&(_0x320f51=setTimeout(async()=>{const _0x23cde0=_0xf7ba28;if(_0x5e2fea){_0x3b88a7();return;}try{let _0x54e661=await _0x9dda67(_0x23cde0(0x349));_0x4b55e4()&&_0x5ad45a(_0x54e661);}catch(_0x9c804e){_0x3f7cef(_0x9c804e);}_0x3b88a7();},0x5dc));}function _0x1f4d9e(){const _0x63fed3=_0x355a8c;if(!_0x4b55e4())return;let _0x3de5e7=_0x1e465f?.[_0x63fed3(0x14a)]??[],_0x122b72=_0x1e465f?.[_0x63fed3(0x2aa)];_0x4ce4a9[_0x63fed3(0x205)]=_0x63fed3(0x203)+(_0x122b72?.['status']===_0x63fed3(0x2aa)?_0x63fed3(0x131)+(_0x122b72[_0x63fed3(0x31b)]?'<div\x20class=\x22device-code\x22><code>'+k(_0x122b72[_0x63fed3(0x31b)])+_0x63fed3(0x1dd):'')+_0x63fed3(0x19c)+k(_0x122b72[_0x63fed3(0x1b9)])+_0x63fed3(0x2b7):_0x122b72?.['status']===_0x63fed3(0x175)||_0x122b72?.[_0x63fed3(0x27e)]?_0x63fed3(0x1fa)+k(m[_0x122b72[_0x63fed3(0x27e)]]??m[_0x63fed3(0x135)])+_0x63fed3(0x20c):_0x122b72?.[_0x63fed3(0x215)]===_0x63fed3(0x324)?_0x63fed3(0x294):'')+_0x63fed3(0x37a)+_0x3de5e7[_0x63fed3(0x357)](_0x2132a1=>_0x63fed3(0x2a9)+(_0x2132a1[_0x63fed3(0x309)]?'pool-active':'')+_0x63fed3(0x132)+k(_0x2132a1['id'])+_0x63fed3(0x24f)+k(_0x2132a1[_0x63fed3(0x1cb)])+'</h2>'+(_0x2132a1['email']?_0x63fed3(0x31d)+k(_0x2132a1[_0x63fed3(0x365)])+_0x63fed3(0x20c):'')+_0x63fed3(0x33d)+(_0x2132a1[_0x63fed3(0x309)]?_0x63fed3(0x206):_0x2132a1[_0x63fed3(0x366)]===_0x63fed3(0x25f)?_0x63fed3(0x21a):_0x63fed3(0x288))+_0x63fed3(0x17e)+(_0x2132a1[_0x63fed3(0x36d)]?_0x63fed3(0x2f2)+k(_0x2132a1[_0x63fed3(0x36d)])+'</p>':'')+ht(_0x2132a1)+(_0x2132a1['quotaError']?_0x63fed3(0x227)+k(m[_0x2132a1[_0x63fed3(0x2df)]]??m[_0x63fed3(0x283)])+_0x63fed3(0x20c):'')+_0x63fed3(0x1b6)+k(_0x2132a1['id'])+'\x22\x20'+(_0x2132a1[_0x63fed3(0x366)]!==_0x63fed3(0x25f)?_0x63fed3(0x290):'')+_0x63fed3(0x383)+(!_0x2132a1[_0x63fed3(0x309)]&&_0x2132a1[_0x63fed3(0x366)]===_0x63fed3(0x25f)?_0x63fed3(0x358)+k(_0x2132a1['id'])+_0x63fed3(0x207):'')+(_0x2132a1['id']!==_0x63fed3(0x313)?_0x63fed3(0x355)+k(_0x2132a1['id'])+'\x22>\u0110\u0103ng\x20nh\u1EADp\x20l\u1EA1i</button><button\x20class=\x22text-button\x22\x20data-remove-account=\x22'+k(_0x2132a1['id'])+_0x63fed3(0x368):_0x63fed3(0x1b3))+_0x63fed3(0x2b9))[_0x63fed3(0x32b)]('')+_0x63fed3(0x1e6)+(_0x1e465f?.['maxAccounts']??0xa)+_0x63fed3(0x303)+(_0x122b72?.[_0x63fed3(0x215)]==='pending'?_0x63fed3(0x290):'')+_0x63fed3(0x340),_0x4ce4a9[_0x63fed3(0x2b8)](_0x63fed3(0x23a))[_0x63fed3(0x291)]=_0xb43600=>{const _0x2fb618=_0x63fed3;_0xb43600[_0x2fb618(0x242)](),_0x46a2d1(_0xb43600['submitter'],_0x2fb618(0x261),{'label':_0x4ce4a9[_0x2fb618(0x2b8)](_0x2fb618(0x389))['value'][_0x2fb618(0x15a)]()||_0x2fb618(0x1aa)+_0x3de5e7['length'],'type':_0x4ce4a9[_0x2fb618(0x2b8)](_0x2fb618(0x142))[_0x2fb618(0x36e)],'accepted':_0x4ce4a9[_0x2fb618(0x2b8)](_0x2fb618(0x162))['checked']});},_0x4ce4a9[_0x63fed3(0x18e)](_0x63fed3(0x2a5))[_0x63fed3(0x224)](_0x2850e4=>_0x2850e4['onclick']=()=>_0x46a2d1(_0x2850e4,'quota/refresh',{'accountId':_0x2850e4[_0x63fed3(0x312)][_0x63fed3(0x2d0)]})),_0x4ce4a9[_0x63fed3(0x18e)](_0x63fed3(0x2e8))[_0x63fed3(0x224)](_0x4f3804=>_0x4f3804['onclick']=()=>{const _0x2041f0=_0x63fed3;if(_0x13e6a1())return _0x3f7cef(Error('D\u1EEBng\x20c\xE2u\x20tr\u1EA3\x20l\u1EDDi\x20\u0111ang\x20ch\u1EA1y\x20tr\u01B0\u1EDBc\x20khi\x20\u0111\u1ED5i\x20t\xE0i\x20kho\u1EA3n.'));_0x46a2d1(_0x4f3804,_0x2041f0(0x12e),{'accountId':_0x4f3804[_0x2041f0(0x312)][_0x2041f0(0x120)]},!0x0);}),_0x4ce4a9['querySelectorAll'](_0x63fed3(0x339))[_0x63fed3(0x224)](_0x22693d=>_0x22693d[_0x63fed3(0x2a3)]=()=>{const _0x45856e=_0x63fed3;if(_0x1e465f[_0x45856e(0x2aa)]?.['status']===_0x45856e(0x2aa))return _0x3f7cef(Error(m[_0x45856e(0x27b)]));_0x46a2d1(_0x22693d,'accounts/login',{'accountId':_0x22693d[_0x45856e(0x312)][_0x45856e(0x218)],'type':_0x45856e(0x310),'accepted':!0x0});}),_0x4ce4a9[_0x63fed3(0x18e)](_0x63fed3(0x315))[_0x63fed3(0x224)](_0x3338eb=>_0x3338eb['onclick']=()=>{const _0x557659=_0x63fed3;if(_0x13e6a1())return _0x3f7cef(Error(_0x557659(0x14e)));let _0x2879ab=_0x3de5e7[_0x557659(0x134)](_0x4fbe10=>_0x4fbe10['id']===_0x3338eb[_0x557659(0x312)][_0x557659(0x2b2)]);dt(_0x2879ab,async()=>_0x5ad45a(await _0x9dda67('accounts/remove',{'accountId':_0x2879ab['id']}),_0x2879ab[_0x557659(0x309)]));});let _0x3ef443=_0x4ce4a9[_0x63fed3(0x2b8)](_0x63fed3(0x2fc));_0x3ef443&&(_0x3ef443[_0x63fed3(0x2a3)]=()=>_0x46a2d1(_0x3ef443,'accounts/cancel',{}));let _0x564c40=_0x4ce4a9[_0x63fed3(0x2b8)](_0x63fed3(0x334));_0x564c40&&(_0x564c40[_0x63fed3(0x2a3)]=async()=>{const _0x21ebcd=_0x63fed3;try{await navigator['clipboard'][_0x21ebcd(0x352)](_0x122b72[_0x21ebcd(0x31b)]),_0x564c40[_0x21ebcd(0x16e)]=_0x21ebcd(0x278);}catch{_0x3f7cef(Error('H\xE3y\x20ch\u1ECDn\x20v\xE0\x20sao\x20ch\xE9p\x20m\xE3\x20\u0111ang\x20hi\u1EC3n\x20th\u1ECB.'));}}),_0x3b88a7();}return _0x1f4d9e(),_0x9dda67('accounts')[_0x355a8c(0x2f7)](_0x4be604=>{_0x4b55e4()&&_0x5ad45a(_0x4be604);})['catch'](_0x3f7cef),()=>{_0x728f72=!0x0,clearTimeout(_0x320f51);};}var e=_0x13a8a9=>document[_0x340c68(0x2b8)](_0x13a8a9),f=_0x883af3=>String(_0x883af3??'')['replace'](/[&<>"']/g,_0x18134e=>({'&':_0x340c68(0x1ef),'<':_0x340c68(0x374),'>':_0x340c68(0x16b),'\x22':'"','\x27':_0x340c68(0x245)}[_0x18134e])),X=_0x1c5608=>_0x1c5608?new Date(_0x1c5608)[_0x340c68(0x1a3)](_0x340c68(0x2c0)):_0x340c68(0x1a4),ut={'home':_0x340c68(0x26f),'chat':_0x340c68(0x2d3),'settings':_0x340c68(0x2e7),'arrow':_0x340c68(0x363),'plus':_0x340c68(0x1f4),'check':'m5\x2012\x204\x204L19\x206','link':_0x340c68(0x2f5)},D=_0x3ff6b3=>_0x340c68(0x201)+ut[_0x3ff6b3]+_0x340c68(0x24a),a,O='',K=_0x340c68(0x249),$=[],b=!0x1,R,S=null,N=0x0,H=null,Y=!0x1,Q=null,I=!0x1,T=[];try{let n=JSON[_0x340c68(0x336)](localStorage['getItem'](_0x340c68(0x1f2))??'[]');Array['isArray'](n)&&(T=n[_0x340c68(0x185)](_0x9617f7=>_0x9617f7&&typeof _0x9617f7['id']==_0x340c68(0x254)&&typeof _0x9617f7[_0x340c68(0x1be)]==_0x340c68(0x254)&&Array[_0x340c68(0x16d)](_0x9617f7[_0x340c68(0x124)]))[_0x340c68(0x1c1)](0x0,0x1e)[_0x340c68(0x357)](_0x5b1e61=>({..._0x5b1e61,'messages':_0x5b1e61[_0x340c68(0x124)][_0x340c68(0x185)](_0x21e2e4=>_0x21e2e4&&[_0x340c68(0x2d2),_0x340c68(0x373)]['includes'](_0x21e2e4[_0x340c68(0x239)])&&typeof _0x21e2e4[_0x340c68(0x128)]==_0x340c68(0x254))['slice'](-0x64)})));}catch{}function F(){const _0x34030d=_0x340c68;try{localStorage[_0x34030d(0x2ec)](_0x34030d(0x1f2),JSON[_0x34030d(0x1bf)](T));}catch{M(_0x34030d(0x1e3));}}function M(_0x3f0420){const _0x22a61d=_0x340c68;e('#notice')[_0x22a61d(0x16e)]=_0x3f0420,e('#notice')[_0x22a61d(0x326)]=!0x1,setTimeout(()=>{const _0x452cdf=_0x22a61d;e(_0x452cdf(0x209))[_0x452cdf(0x326)]=!0x0;},0x1770);}async function y(_0xb78180,_0x4a5015){const _0x112785=_0x340c68;let _0x35e08c;try{_0x35e08c=await fetch('/app/api/'+_0xb78180,{'method':_0x4a5015===void 0x0?_0x112785(0x226):'POST','credentials':_0x112785(0x364),'headers':_0x4a5015===void 0x0?{}:{'content-type':'application/json','x-csrf-token':O},'body':_0x4a5015===void 0x0?void 0x0:JSON[_0x112785(0x1bf)](_0x4a5015),'signal':AbortSignal['timeout'](0xfde8)});}catch{throw Error(m[_0x112785(0x1c7)]);}let _0x3a5c8b=await _0x35e08c[_0x112785(0x150)]();if(!_0x35e08c['ok'])throw Error(m[_0x3a5c8b['error']]??_0x112785(0x145));return _0x3a5c8b;}async function V(){const _0x1db3d6=_0x340c68;a=await y('status'),O=a[_0x1db3d6(0x1da)];}var pt=()=>a[_0x340c68(0x331)][_0x340c68(0x309)]?_0x340c68(0x1c0):a[_0x340c68(0x331)][_0x340c68(0x356)]?_0x340c68(0x15d):_0x340c68(0x2a7);function Z(){const _0x1dc310=_0x340c68;e(_0x1dc310(0x1db))[_0x1dc310(0x205)]='<div\x20class=\x22workspace\x22><aside\x20class=\x22rail\x22><a\x20class=\x22brand\x22\x20href=\x22#home\x22><span\x20class=\x22mark\x22>cu</span><span>Codex\x20Unlimit<small>Kh\xF4ng\x20gian\x20l\xE0m\x20vi\u1EC7c</small></span></a><button\x20class=\x22new-chat\x22\x20id=\x22new-chat\x22>'+D(_0x1dc310(0x30f))+'Cu\u1ED9c\x20tr\xF2\x20chuy\u1EC7n\x20m\u1EDBi</button><nav\x20aria-label=\x22\u0110i\u1EC1u\x20h\u01B0\u1EDBng\x22>'+[[_0x1dc310(0x249),'home',_0x1dc310(0x1ea)],['chat',_0x1dc310(0x2f4),'Tr\xF2\x20chuy\u1EC7n'],[_0x1dc310(0x349),'link',_0x1dc310(0x307)],['settings',_0x1dc310(0x23c),_0x1dc310(0x15c)]][_0x1dc310(0x357)](([_0x31f1de,_0x54fc8d,_0x2ce878])=>_0x1dc310(0x1c2)+_0x31f1de+_0x1dc310(0x210)+_0x31f1de+'\x22>'+D(_0x54fc8d)+_0x2ce878+_0x1dc310(0x370))[_0x1dc310(0x32b)]('')+_0x1dc310(0x260)+pt()+'</a></header><main\x20id=\x22main\x22\x20tabindex=\x22-1\x22></main><footer>Codex\x20Unlimit\x20<span>G\u1ECDn\x20g\xE0ng\x20h\u01A1n\x20cho\x20c\xF4ng\x20vi\u1EC7c\x20m\u1ED7i\x20ng\xE0y.</span></footer></div></div>',nt(e(_0x1dc310(0x13e)),{'api':y,'version':a[_0x1dc310(0x141)],'notice':M}),e(_0x1dc310(0x165))[_0x1dc310(0x2a3)]=()=>{const _0x38d8cb=_0x1dc310;if(b){M(_0x38d8cb(0x345));return;}S=null,location['hash']='chat',A();},A();}function z(){const _0x374325=_0x340c68;e(_0x374325(0x11d))[_0x374325(0x205)]=T[_0x374325(0x231)]?T[_0x374325(0x357)](_0x5110dc=>_0x374325(0x18a)+f(_0x5110dc['id'])+'\x22\x20class=\x22'+(S===_0x5110dc['id']?_0x374325(0x2b3):'')+'\x22>'+f(_0x5110dc[_0x374325(0x1be)])+'</button>')[_0x374325(0x32b)](''):_0x374325(0x34f),document['querySelectorAll'](_0x374325(0x2d4))[_0x374325(0x224)](_0x5a22ae=>_0x5a22ae[_0x374325(0x2a3)]=()=>{const _0x376e76=_0x374325;b||(S=_0x5a22ae['dataset'][_0x376e76(0x130)],location[_0x376e76(0x21e)]=_0x376e76(0x2f4),A());});}function A(){const _0x2de9e3=_0x340c68;Y||(Q?.(),Q=null,K=[_0x2de9e3(0x249),'chat',_0x2de9e3(0x349),_0x2de9e3(0x23c)]['includes'](location['hash'][_0x2de9e3(0x1c1)](0x1))?location[_0x2de9e3(0x21e)][_0x2de9e3(0x1c1)](0x1):_0x2de9e3(0x249),document['querySelectorAll'](_0x2de9e3(0x21f))[_0x2de9e3(0x224)](_0x3ff962=>_0x3ff962['setAttribute'](_0x2de9e3(0x212),_0x3ff962['dataset'][_0x2de9e3(0x26c)]===K?_0x2de9e3(0x216):_0x2de9e3(0x2bc))),e(_0x2de9e3(0x122))[_0x2de9e3(0x16e)]={'home':_0x2de9e3(0x1ea),'chat':_0x2de9e3(0x299),'accounts':_0x2de9e3(0x307),'settings':_0x2de9e3(0x15c)}[K],z(),K===_0x2de9e3(0x249)?gt():K===_0x2de9e3(0x23c)?yt():K==='accounts'?Q=ot(e('#main'),{'api':y,'initial':a[_0x2de9e3(0x349)],'isBusy':()=>b,'onChange':(_0x107f9a,_0x1a2db8)=>{const _0x4ab26e=_0x2de9e3;a['accounts']=_0x107f9a,_0x1a2db8&&(a[_0x4ab26e(0x156)]=_0x107f9a[_0x4ab26e(0x14a)]['some'](_0x283890=>_0x283890[_0x4ab26e(0x309)]&&_0x283890['state']===_0x4ab26e(0x25f)),$=[],N++);}}):j());}var L=()=>a[_0x340c68(0x331)][_0x340c68(0x309)]&&a[_0x340c68(0x156)];function gt(){const _0x43fc0c=_0x340c68;let _0x3eb1b6=a[_0x43fc0c(0x313)]??{'configured':a['codexConfigured'],'managed':a[_0x43fc0c(0x1a5)]},_0x521b4a=a[_0x43fc0c(0x2dc)]??{'supported':!0x1,'installed':!0x1,'running':!0x1},_0x15c2fc=a['codexConnected']??(a[_0x43fc0c(0x156)]&&a['codexAccount']?.[_0x43fc0c(0x14f)]!==!0x1),_0x2dc532=a['codexConfigured']&&!_0x3eb1b6['restartRequired'],_0x1eeaee=Number(a[_0x43fc0c(0x331)][_0x43fc0c(0x309)])+Number(_0x15c2fc)+Number(_0x2dc532),_0x247cc2=_0x521b4a[_0x43fc0c(0x298)]&&_0x521b4a[_0x43fc0c(0x1ac)]&&!_0x521b4a[_0x43fc0c(0x27e)],_0x2c8c4f=[];a[_0x43fc0c(0x331)][_0x43fc0c(0x309)]||_0x2c8c4f[_0x43fc0c(0x133)](a[_0x43fc0c(0x331)]['activationRequired']?_0x43fc0c(0x279):'Key\x20c\u1EA7n\x20\u0111\u01B0\u1EE3c\x20ki\u1EC3m\x20tra'),_0x15c2fc||_0x2c8c4f[_0x43fc0c(0x133)](a[_0x43fc0c(0x23d)]?.['error']===_0x43fc0c(0x17b)?_0x43fc0c(0x144):_0x43fc0c(0x378)),a[_0x43fc0c(0x1a5)]?_0x3eb1b6['restartRequired']&&_0x2c8c4f['push'](_0x43fc0c(0x285)):_0x2c8c4f[_0x43fc0c(0x133)](_0x3eb1b6['error']?_0x43fc0c(0x1e5):_0x43fc0c(0x24d));let _0x131201=(_0x28755e,_0x320e66,_0x19574d,_0x5582cd)=>'<div\x20class=\x22setup-step-heading\x22><span\x20class=\x22step-number\x20'+(_0x320e66?_0x43fc0c(0x277):'')+'\x22>'+(_0x320e66?D(_0x43fc0c(0x173)):_0x28755e)+_0x43fc0c(0x26e)+_0x19574d+_0x43fc0c(0x2e0)+(_0x320e66?_0x43fc0c(0x324):'')+'\x22>'+_0x5582cd+'</span></div>';e(_0x43fc0c(0x19e))[_0x43fc0c(0x205)]=_0x43fc0c(0x247)+(_0x2c8c4f[_0x43fc0c(0x231)]?'needs-attention':'is-ready')+_0x43fc0c(0x25d)+(_0x2c8c4f[_0x43fc0c(0x231)]?_0x43fc0c(0x1a7):_0x43fc0c(0x2c2))+'</strong>'+(_0x2c8c4f[_0x43fc0c(0x231)]?'<ul>'+_0x2c8c4f['map'](_0x9b321=>_0x43fc0c(0x304)+f(_0x9b321)+_0x43fc0c(0x236))[_0x43fc0c(0x32b)](''):_0x43fc0c(0x23f))+_0x43fc0c(0x23e)+_0x1eeaee+_0x43fc0c(0x2a8)+_0x131201('01',a['license'][_0x43fc0c(0x309)],_0x43fc0c(0x2c9),a[_0x43fc0c(0x331)][_0x43fc0c(0x309)]?_0x43fc0c(0x259):'C\u1EA7n\x20k\xEDch\x20ho\u1EA1t')+_0x43fc0c(0x33c)+(a[_0x43fc0c(0x331)][_0x43fc0c(0x309)]?_0x43fc0c(0x235)+X(a[_0x43fc0c(0x331)][_0x43fc0c(0x1cd)])+'.':f(m[a[_0x43fc0c(0x331)][_0x43fc0c(0x27e)]]??_0x43fc0c(0x295)))+'</p>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<form\x20id=\x22activate\x22><label\x20for=\x22activation-key\x22>Mã\x20sử\x20dụng\x20Codex\x20Unlimit</label><div\x20class=\x22input-action\x22><input\x20id=\x22activation-key\x22\x20type=\x22password\x22\x20autocomplete=\x22off\x22\x20required\x20maxlength=\x2236\x22\x20placeholder=\x22TDH-…\x22><button\x20class=\x22primary\x22\x20type=\x22submit\x22>Kích\x20hoạt</button></div><p\x20class=\x22error\x22\x20role=\x22alert\x22></p></form><button\x20class=\x22text-button\x22\x20id=\x22renew\x22>Kiểm\x20tra\x20thời\x20hạn</button>\x0a\x20\x20\x20\x20\x20\x20</section>\x0a\x20\x20\x20\x20\x20\x20<section\x20class=\x22setup-step\x22\x20aria-label=\x22Kết\x20nối\x20tài\x20khoản\x22>'+_0x131201('02',_0x15c2fc,_0x43fc0c(0x127),_0x15c2fc?'\u0110\xE3\x20k\u1EBFt\x20n\u1ED1i':_0x43fc0c(0x2c6))+_0x43fc0c(0x33c)+(_0x15c2fc?_0x43fc0c(0x361):f(m[a['codexAccount']?.['error']]??_0x43fc0c(0x286)))+_0x43fc0c(0x1c4)+(a[_0x43fc0c(0x1ec)]?_0x43fc0c(0x289):'')+_0x43fc0c(0x118)+(a[_0x43fc0c(0x156)]?_0x43fc0c(0x2bd):_0x43fc0c(0x220))+_0x43fc0c(0x381)+(_0x247cc2?_0x43fc0c(0x160):'')+_0x43fc0c(0x377)+_0x131201('03',_0x2dc532,_0x43fc0c(0x2cd),_0x2dc532?'\u0110\xE3\x20c\u1EA5u\x20h\xECnh':_0x3eb1b6[_0x43fc0c(0x219)]?_0x43fc0c(0x12a):'Ch\u01B0a\x20ho\xE0n\x20t\u1EA5t')+_0x43fc0c(0x33a)+(_0x3eb1b6[_0x43fc0c(0x27e)]?'<p\x20class=\x22connection-warning\x22>'+f(m[_0x3eb1b6['error']]??m[_0x43fc0c(0x1bb)])+_0x43fc0c(0x20c):_0x3eb1b6[_0x43fc0c(0x32a)]&&!a['codexConfigured']?_0x43fc0c(0x30d):'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x3eb1b6['restartRequired']?_0x43fc0c(0x1a9):'')+_0x43fc0c(0x140)+(_0x247cc2?_0x43fc0c(0x343):_0x43fc0c(0x1bc))+_0x43fc0c(0x2f3)+(!a[_0x43fc0c(0x331)]['active']||!_0x15c2fc||_0x3eb1b6[_0x43fc0c(0x27e)]?_0x43fc0c(0x290):'')+'>'+(_0x247cc2?_0x43fc0c(0x362):_0x43fc0c(0x2ba))+'</button>'+(_0x3eb1b6[_0x43fc0c(0x32a)]?_0x43fc0c(0x154):'')+'</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+(!a[_0x43fc0c(0x331)][_0x43fc0c(0x309)]||!_0x15c2fc?_0x43fc0c(0x32d):'')+(_0x3eb1b6['restartRequired']&&!_0x247cc2?'<button\x20id=\x22acknowledge-restart\x22\x20class=\x22text-button\x22>T\xF4i\x20\u0111\xE3\x20m\u1EDF\x20l\u1EA1i\x20Codex</button>':'')+_0x43fc0c(0x2f0)+(_0x521b4a[_0x43fc0c(0x27e)]?_0x43fc0c(0x35e):_0x521b4a[_0x43fc0c(0x298)]?_0x521b4a['installed']?_0x521b4a[_0x43fc0c(0x2cc)]?_0x43fc0c(0x2d8):_0x43fc0c(0x19d):_0x43fc0c(0x21d):_0x43fc0c(0x196))+_0x43fc0c(0x1ae)+(_0x521b4a[_0x43fc0c(0x27e)]?f(m[_0x521b4a[_0x43fc0c(0x27e)]]):_0x521b4a['supported']?_0x521b4a[_0x43fc0c(0x1ac)]?_0x43fc0c(0x1e8):'C\xE0i\x20Codex\x20desktop\x20v\xE0\x20m\u1EDF\x20m\u1ED9t\x20l\u1EA7n,\x20sau\x20\u0111\xF3\x20quay\x20l\u1EA1i\x20ki\u1EC3m\x20tra.':'H\u1EC7\x20\u0111i\u1EC1u\x20h\xE0nh\x20n\xE0y\x20c\u1EA7n\x20b\u1EA1n\x20t\u1EF1\x20m\u1EDF\x20v\xE0\x20\u0111\xF3ng\x20Codex.')+_0x43fc0c(0x182)+(_0x247cc2?_0x43fc0c(0x1f7)+(_0x521b4a['running']?_0x43fc0c(0x2a0):'')+'</div>':'<a\x20class=\x22button\x22\x20href=\x22https://developers.openai.com/codex/app/\x22\x20target=\x22_blank\x22\x20rel=\x22noreferrer\x22>H\u01B0\u1EDBng\x20d\u1EABn\x20c\xE0i\x20Codex\x20\u2197</a>')+_0x43fc0c(0x1e1)+(a[_0x43fc0c(0x331)]['active']?_0x43fc0c(0x155):'C\u1EA7n\x20ki\u1EC3m\x20tra')+_0x43fc0c(0x297)+(_0x15c2fc?_0x43fc0c(0x21a):_0x43fc0c(0x267))+_0x43fc0c(0x275)+(a['codexConfigured']?'\u0110\xE3\x20l\u01B0u\x20c\u1EA5u\x20h\xECnh':_0x43fc0c(0x36a))+_0x43fc0c(0x33f),e('#activate')[_0x43fc0c(0x291)]=_0x497ace=>{const _0x3184ed=_0x43fc0c;_0x497ace['preventDefault'](),C(e(_0x3184ed(0x21c)),()=>y(_0x3184ed(0x168),{'key':e('#activation-key')[_0x3184ed(0x36e)]}),e('#activate\x20.error'),_0x3184ed(0x318));},e(_0x43fc0c(0x2d9))['onclick']=_0x455149=>C(_0x455149[_0x43fc0c(0x29b)],()=>y('renew',{}),e(_0x43fc0c(0x16c))),e('#connect')['onclick']=_0x39a8e6=>C(_0x39a8e6[_0x43fc0c(0x29b)],()=>y(_0x43fc0c(0x1ad),{'accepted':e(_0x43fc0c(0x31a))[_0x43fc0c(0x289)],'source':_0x43fc0c(0x313)}),e(_0x43fc0c(0x325)),_0x43fc0c(0x161)),e(_0x43fc0c(0x13f))[_0x43fc0c(0x2a3)]=_0x1f4d61=>C(_0x1f4d61['currentTarget'],async()=>{},e(_0x43fc0c(0x20d)),_0x43fc0c(0x36c));let _0xa09637=_0x4e8bef=>y(_0x43fc0c(0x2b5),{'enabled':_0x4e8bef,'restart':!!e('#restart-codex')?.[_0x43fc0c(0x289)],'confirmed':!0x0});e(_0x43fc0c(0x306))[_0x43fc0c(0x2a3)]=_0x1ba6e5=>C(_0x1ba6e5[_0x43fc0c(0x29b)],()=>_0xa09637(!0x0),e(_0x43fc0c(0x20d)),_0x923058=>_0x923058[_0x43fc0c(0x219)]?_0x43fc0c(0x36b):_0x43fc0c(0x197)),e(_0x43fc0c(0x2fe))&&(e(_0x43fc0c(0x2fe))[_0x43fc0c(0x2a3)]=_0x2f0df4=>C(_0x2f0df4[_0x43fc0c(0x29b)],()=>y(_0x43fc0c(0x20e),{'confirmed':!0x0}),e(_0x43fc0c(0x20d)),_0x43fc0c(0x301))),e('#restart-codex')&&(e(_0x43fc0c(0x27c))[_0x43fc0c(0x1d8)]=_0x292b19=>{const _0x555066=_0x43fc0c;e(_0x555066(0x306))[_0x555066(0x16e)]=_0x292b19[_0x555066(0x342)][_0x555066(0x289)]?'C\u1EA5u\x20h\xECnh\x20&\x20m\u1EDF\x20l\u1EA1i\x20Codex':_0x555066(0x2ba);}),e(_0x43fc0c(0x266))&&(e(_0x43fc0c(0x266))[_0x43fc0c(0x2a3)]=_0x443c4e=>C(_0x443c4e[_0x43fc0c(0x29b)],()=>_0xa09637(!0x1),e('#sync-error'),_0x588c99=>_0x588c99[_0x43fc0c(0x219)]?'\u0110\xE3\x20kh\xF4i\x20ph\u1EE5c\x20c\u1EA5u\x20h\xECnh\x20g\u1ED1c.\x20M\u1EDF\x20l\u1EA1i\x20Codex\x20\u0111\u1EC3\x20\xE1p\x20d\u1EE5ng.':'\u0110\xE3\x20kh\xF4i\x20ph\u1EE5c\x20c\u1EA5u\x20h\xECnh\x20g\u1ED1c\x20v\xE0\x20m\u1EDF\x20Codex.')),document[_0x43fc0c(0x18e)](_0x43fc0c(0x388))[_0x43fc0c(0x224)](_0x521fca=>_0x521fca[_0x43fc0c(0x2a3)]=()=>{const _0x33ea47=_0x43fc0c;_0x521fca[_0x33ea47(0x312)][_0x33ea47(0x147)]===_0x33ea47(0x246)?C(_0x521fca,()=>y(_0x33ea47(0x2be),{}),e(_0x33ea47(0x341)),_0x33ea47(0x204)):mt(_0x521fca['dataset'][_0x33ea47(0x147)]);});}function mt(_0x217599){const _0x5051ee=_0x340c68;let _0x21cd34=document[_0x5051ee(0x327)](_0x5051ee(0x29d));_0x21cd34[_0x5051ee(0x264)]=_0x5051ee(0x296),_0x21cd34['setAttribute'](_0x5051ee(0x29c),'codex-action-title'),_0x21cd34[_0x5051ee(0x205)]=_0x5051ee(0x190)+(_0x217599==='restart'?_0x5051ee(0x2cb):_0x5051ee(0x37e))+_0x5051ee(0x1d3)+(_0x217599===_0x5051ee(0x2fb)?_0x5051ee(0x19b):_0x5051ee(0x14d))+_0x5051ee(0x152),document[_0x5051ee(0x123)][_0x5051ee(0x125)](_0x21cd34),_0x21cd34[_0x5051ee(0x292)](_0x5051ee(0x253),()=>_0x21cd34[_0x5051ee(0x2ea)]()),_0x21cd34[_0x5051ee(0x12b)](),_0x21cd34[_0x5051ee(0x2b8)](_0x5051ee(0x34d))[_0x5051ee(0x2a3)]=()=>_0x21cd34[_0x5051ee(0x253)](),_0x21cd34[_0x5051ee(0x2b8)](_0x5051ee(0x282))['onclick']=async _0x3c5dda=>{const _0xd9da0f=_0x5051ee;let _0x323878=_0x3c5dda['currentTarget'];_0x323878[_0xd9da0f(0x290)]=!0x0;try{await y('codex-app/'+_0x217599,{'confirmed':!0x0}),await V(),_0x21cd34[_0xd9da0f(0x253)](),Z(),M(_0x217599===_0xd9da0f(0x2fb)?_0xd9da0f(0x360):_0xd9da0f(0x13a));}catch(_0x2af289){_0x21cd34[_0xd9da0f(0x2b8)](_0xd9da0f(0x166))[_0xd9da0f(0x16e)]=_0x2af289[_0xd9da0f(0x211)],_0x323878[_0xd9da0f(0x290)]=!0x1;}};}function yt(){const _0x47278b=_0x340c68;let _0x41089f=a[_0x47278b(0x313)]??{'configured':a[_0x47278b(0x1a5)],'managed':a['codexConfigured']};e(_0x47278b(0x19e))[_0x47278b(0x205)]=_0x47278b(0x287)+(a[_0x47278b(0x331)][_0x47278b(0x309)]?_0x47278b(0x259):_0x47278b(0x35e))+_0x47278b(0x31f)+(a[_0x47278b(0x331)][_0x47278b(0x309)]?_0x47278b(0x235)+X(a[_0x47278b(0x331)][_0x47278b(0x1cd)])+'.':f(m[a[_0x47278b(0x331)][_0x47278b(0x27e)]]??'Nh\u1EADp\x20key\x20b\u1EA1n\x20nh\u1EADn\x20\u0111\u01B0\u1EE3c\x20\u0111\u1EC3\x20k\xEDch\x20ho\u1EA1t\x20d\u1ECBch\x20v\u1EE5\x20tr\xEAn\x20m\xE1y\x20n\xE0y.'))+_0x47278b(0x223)+(a[_0x47278b(0x156)]?_0x47278b(0x232):_0x47278b(0x233))+'</span></div>\x0a\x20\x20\x20\x20\x20\x20<ol\x20class=\x22guide\x22><li>Mở\x20Codex\x20trên\x20máy\x20và\x20đăng\x20nhập\x20ChatGPT.</li><li>Quay\x20lại\x20đây,\x20xác\x20nhận\x20đồng\x20ý\x20rồi\x20chọn\x20Kết\x20nối\x20tài\x20khoản.</li></ol>\x0a\x20\x20\x20\x20\x20\x20<p\x20class=\x22subtext\x22>Không\x20cần\x20sao\x20chép\x20mật\x20khẩu\x20hay\x20mã\x20đăng\x20nhập.\x20Phiên\x20đăng\x20nhập\x20được\x20dùng\x20để\x20xử\x20lý\x20yêu\x20cầu\x20qua\x20Codex\x20Unlimit;\x20dịch\x20vụ\x20không\x20lưu\x20mã\x20truy\x20cập\x20hoặc\x20nội\x20dung\x20trò\x20chuyện.</p>\x0a\x20\x20\x20\x20\x20\x20<label\x20class=\x22privacy-choice\x22><input\x20id=\x22privacy-choice\x22\x20type=\x22checkbox\x22\x20'+(a[_0x47278b(0x156)]?_0x47278b(0x289):'')+_0x47278b(0x1ce)+(a[_0x47278b(0x156)]?'':_0x47278b(0x221))+'\x22>'+(a[_0x47278b(0x156)]?_0x47278b(0x2bd):_0x47278b(0x220))+'</button>'+(a[_0x47278b(0x156)]?'<button\x20id=\x22disconnect\x22\x20class=\x22text-button\x22>Ng\u1EAFt\x20k\u1EBFt\x20n\u1ED1i\x20chat</button>':'')+_0x47278b(0x15f)+(a['codexConfigured']?'\u0110\xE3\x20b\u1EADt':_0x41089f[_0x47278b(0x27e)]?_0x47278b(0x329):_0x47278b(0x14c))+_0x47278b(0x31f)+(a[_0x47278b(0x1a5)]?_0x47278b(0x1dc):_0x47278b(0x367))+'</p>\x0a\x20\x20\x20\x20\x20\x20'+(_0x41089f[_0x47278b(0x27e)]?_0x47278b(0x335)+f(m[_0x41089f[_0x47278b(0x27e)]]??m['operation_failed'])+_0x47278b(0x20c):_0x41089f[_0x47278b(0x32a)]&&!_0x41089f[_0x47278b(0x163)]?_0x47278b(0x20f):'')+_0x47278b(0x28d)+(a[_0x47278b(0x1a5)]?_0x47278b(0x12d):_0x41089f[_0x47278b(0x32a)]?_0x47278b(0x31c):_0x47278b(0x328))+_0x47278b(0x28b)+(a[_0x47278b(0x331)][_0x47278b(0x309)]?'S\u1EB5n\x20s\xE0ng':_0x47278b(0x35e))+_0x47278b(0x308)+(a[_0x47278b(0x156)]?'\u0110\xE3\x20k\u1EBFt\x20n\u1ED1i':_0x47278b(0x233))+_0x47278b(0x25e)+(a[_0x47278b(0x1a5)]?'\u0110\xE3\x20b\u1EADt':_0x41089f[_0x47278b(0x27e)]?_0x47278b(0x329):_0x47278b(0x14c))+_0x47278b(0x2ce)+f(a[_0x47278b(0x141)])+_0x47278b(0x137)+(a[_0x47278b(0x257)]?.['supported']?'<label\x20class=\x22startup-choice\x22><span><strong>Khởi\x20động\x20cùng\x20Windows</strong><small>Chạy\x20trong\x20khay\x20CU,\x20không\x20tự\x20mở\x20trình\x20duyệt.</small></span><input\x20id=\x22startup-enabled\x22\x20type=\x22checkbox\x22\x20'+(a['desktop'][_0x47278b(0x16a)]?_0x47278b(0x289):'')+'></label><p\x20class=\x22subtext\x22>Biểu\x20tượng\x20CU\x20nằm\x20ở\x20góc\x20phải\x20thanh\x20tác\x20vụ,\x20có\x20thể\x20nằm\x20trong\x20dấu\x20mũi\x20tên\x20lên.\x20Nhấp\x20phải\x20để\x20mở,\x20khởi\x20động\x20lại\x20hoặc\x20tắt\x20ứng\x20dụng.</p>'+(a[_0x47278b(0x257)][_0x47278b(0x22c)]?'':_0x47278b(0x32f)):'<p>M\u1EDF\x20l\u1EA1i\x20b\u1EB1ng\x20l\u1EC7nh\x20<code>codexunlimit</code>.\x20\u0110\xF3ng\x20tab\x20ch\u1EC9\x20\u0111\xF3ng\x20trang;\x20\u1EE9ng\x20d\u1EE5ng\x20v\u1EABn\x20ch\u1EA1y\x20n\u1EC1n.</p>')+_0x47278b(0x29f)+a[_0x47278b(0x1ba)][_0x47278b(0x1b5)]+_0x47278b(0x284)+a['usage'][_0x47278b(0x2e4)]+_0x47278b(0x21b)+a['recent'][_0x47278b(0x1c1)](0x0,0x5)[_0x47278b(0x357)](_0x1814e0=>_0x47278b(0x18f)+X(_0x1814e0['ts'])+_0x47278b(0x18d)+(_0x1814e0[_0x47278b(0x215)]<0x190?_0x47278b(0x28a):_0x47278b(0x2c6))+_0x47278b(0x1eb))[_0x47278b(0x32b)]('')+_0x47278b(0x13c),e(_0x47278b(0x183))[_0x47278b(0x291)]=async _0x195516=>{const _0x50eef5=_0x47278b;_0x195516[_0x50eef5(0x242)](),await C(e(_0x50eef5(0x21c)),()=>y(_0x50eef5(0x168),{'key':e(_0x50eef5(0x251))[_0x50eef5(0x36e)]}),e(_0x50eef5(0x16c)));},e(_0x47278b(0x2d9))['onclick']=_0x2b428f=>C(_0x2b428f[_0x47278b(0x342)],()=>y('renew',{}),e(_0x47278b(0x16c))),e(_0x47278b(0x1d7))[_0x47278b(0x2a3)]=_0x269cf7=>C(_0x269cf7[_0x47278b(0x342)],()=>y(_0x47278b(0x1ad),{'accepted':e(_0x47278b(0x31a))[_0x47278b(0x289)]}),e(_0x47278b(0x325))),e(_0x47278b(0x248))&&(e('#disconnect')[_0x47278b(0x2a3)]=_0x5663db=>C(_0x5663db[_0x47278b(0x342)],()=>y(_0x47278b(0x228),{}),e('#account-error'))),e('#account-error')[_0x47278b(0x238)](_0x47278b(0x2b1),_0x47278b(0x27a)),e(_0x47278b(0x1b4))[_0x47278b(0x2a3)]=_0x2fe29f=>C(_0x2fe29f['target'],()=>y(a['codexConfigured']?'unsync':_0x47278b(0x322),{}),e(_0x47278b(0x20d))),e(_0x47278b(0x2ed))[_0x47278b(0x2a3)]=_0x511a67=>C(_0x511a67[_0x47278b(0x342)],async()=>{},e(_0x47278b(0x20d)),_0x47278b(0x24e)),e(_0x47278b(0x1f8))&&(e(_0x47278b(0x1f8))['onchange']=async _0x55d76a=>{const _0x3740ba=_0x47278b;let _0x449da8=_0x55d76a[_0x3740ba(0x342)],_0x398028=_0x449da8['checked'];await C(_0x449da8,()=>y('desktop/startup',{'enabled':_0x398028}),e(_0x3740ba(0x1d4))),_0x449da8[_0x3740ba(0x34b)]&&(_0x449da8[_0x3740ba(0x289)]=!!a['desktop']['startup']);}),e(_0x47278b(0x194))&&(e('#show-tray')[_0x47278b(0x2a3)]=_0x57daa4=>C(_0x57daa4['target'],()=>y(_0x47278b(0x214),{}),e(_0x47278b(0x1d4)))),document[_0x47278b(0x18e)]('[data-stop]')[_0x47278b(0x224)](_0x16b6b7=>_0x16b6b7[_0x47278b(0x2a3)]=()=>vt(_0x16b6b7['dataset'][_0x47278b(0x143)]));}function vt(_0x1e5c14){const _0x47f274=_0x340c68;let _0x12fa66=document[_0x47f274(0x327)](_0x47f274(0x29d));_0x12fa66[_0x47f274(0x264)]=_0x47f274(0x296),_0x12fa66[_0x47f274(0x189)](_0x47f274(0x29c),_0x47f274(0x1c8)),_0x12fa66['innerHTML']=_0x47f274(0x1e2)+(_0x1e5c14===_0x47f274(0x2a1)?_0x47f274(0x31e):_0x47f274(0x138))+_0x47f274(0x1ae)+(_0x1e5c14===_0x47f274(0x2a1)?'\u1EE8ng\x20d\u1EE5ng\x20s\u1EBD\x20d\u1EEBng\x20v\xE0\x20gi\u1EEF\x20thi\u1EBFt\x20l\u1EADp\x20k\u1EBFt\x20n\u1ED1i.\x20Codex\x20s\u1EBD\x20t\u1EA1m\x20th\u1EDDi\x20kh\xF4ng\x20k\u1EBFt\x20n\u1ED1i\x20\u0111\u01B0\u1EE3c\x20cho\x20\u0111\u1EBFn\x20khi\x20b\u1EA1n\x20c\xE0i\x20v\xE0\x20m\u1EDF\x20b\u1EA3n\x20m\u1EDBi.':_0x47f274(0x344))+_0x47f274(0x2fd)+(_0x1e5c14===_0x47f274(0x2a1)?_0x47f274(0x159):'Kh\xF4i\x20ph\u1EE5c\x20&\x20t\u1EAFt')+_0x47f274(0x152),document[_0x47f274(0x123)]['append'](_0x12fa66),_0x12fa66[_0x47f274(0x292)](_0x47f274(0x253),()=>_0x12fa66['remove']()),_0x12fa66[_0x47f274(0x12b)](),e(_0x47f274(0x1f3))[_0x47f274(0x2a3)]=()=>_0x12fa66[_0x47f274(0x253)](),e(_0x47f274(0x348))['onclick']=async _0x400380=>{const _0x17ea12=_0x47f274;let _0x10b610=_0x400380['currentTarget'];_0x10b610[_0x17ea12(0x290)]=!0x0;try{await y(_0x17ea12(0x143),{'mode':_0x1e5c14}),Y=!0x0,_0x12fa66[_0x17ea12(0x253)](),e(_0x17ea12(0x1db))['innerHTML']=_0x17ea12(0x198)+(_0x1e5c14===_0x17ea12(0x2a1)?'C\xE0i\x20g\xF3i\x20m\u1EDBi,\x20sau\x20\u0111\xF3\x20ch\u1EA1y\x20l\u1EC7nh\x20b\xEAn\x20d\u01B0\u1EDBi\x20\u0111\u1EC3\x20ti\u1EBFp\x20t\u1EE5c.':_0x17ea12(0x387))+_0x17ea12(0x262);}catch(_0x3bfafb){_0x12fa66['querySelector'](_0x17ea12(0x166))[_0x17ea12(0x16e)]=_0x3bfafb[_0x17ea12(0x211)],_0x10b610[_0x17ea12(0x290)]=!0x1;}};}async function C(_0x11d7da,_0x5a4dd5,_0x1c666e,_0x188c47=_0x340c68(0x164)){const _0x421488=_0x340c68;if(I){M('\u0110ang\x20x\u1EED\x20l\xFD\x20thao\x20t\xE1c\x20tr\u01B0\u1EDBc.\x20Ch\u1EDD\x20m\u1ED9t\x20ch\xFAt\x20r\u1ED3i\x20th\u1EED\x20l\u1EA1i.');return;}I=!0x0;let _0x4ef7d5=_0x11d7da[_0x421488(0x16e)];_0x11d7da[_0x421488(0x290)]=!0x0,_0x11d7da[_0x421488(0x189)](_0x421488(0x217),'true'),_0x11d7da[_0x421488(0x359)]===_0x421488(0x30e)&&(_0x11d7da[_0x421488(0x16e)]=_0x421488(0x237)),_0x1c666e['textContent']='';let _0x5b43d9=!0x1;try{let _0x40e0f2=await _0x5a4dd5();if(_0x5b43d9=!0x0,await V(),N++,$=[],Z(),_0x40e0f2?.[_0x421488(0x311)]){let _0x265865=e(_0x421488(0x20d))??e('#codex-app-error');_0x265865&&(_0x265865[_0x421488(0x16e)]=m[_0x40e0f2[_0x421488(0x311)]]??m[_0x421488(0x169)]),M(_0x421488(0x26a));}else M(typeof _0x188c47==_0x421488(0x19f)?_0x188c47(_0x40e0f2):_0x188c47);}catch(_0x516f1a){_0x1c666e[_0x421488(0x16e)]=(_0x5b43d9?'Thao\x20t\xE1c\x20\u0111\xE3\x20th\u1EF1c\x20hi\u1EC7n\x20nh\u01B0ng\x20ch\u01B0a\x20c\u1EADp\x20nh\u1EADt\x20\u0111\u01B0\u1EE3c\x20tr\u1EA1ng\x20th\xE1i.\x20':'')+_0x516f1a[_0x421488(0x211)];}finally{I=!0x1,_0x11d7da[_0x421488(0x290)]=!0x1,_0x11d7da[_0x421488(0x1cf)]('aria-busy'),_0x11d7da[_0x421488(0x34b)]&&_0x11d7da[_0x421488(0x359)]===_0x421488(0x30e)&&(_0x11d7da[_0x421488(0x16e)]=_0x4ef7d5);}}function j(){const _0x135051=_0x340c68;let _0x7d668a=T['find'](_0x1a381=>_0x1a381['id']===S);e('#main')[_0x135051(0x205)]='<div\x20class=\x22chat-area\x22><div\x20class=\x22chat-top\x22><div><span\x20class=\x22eyebrow\x22>Kh\xF4ng\x20gian\x20tr\xF2\x20chuy\u1EC7n</span><h1>'+f(_0x7d668a?.[_0x135051(0x1be)]??'B\u1EA1n\x20mu\u1ED1n\x20l\xE0m\x20g\xEC\x20h\xF4m\x20nay?')+_0x135051(0x195)+(_0x7d668a?_0x135051(0x319)+(b?_0x135051(0x290):'')+_0x135051(0x1bd):'')+_0x135051(0x350)+(b?_0x135051(0x290):'')+_0x135051(0x2c7)+T[_0x135051(0x357)](_0x570c85=>_0x135051(0x384)+f(_0x570c85['id'])+'\x22\x20'+(_0x570c85['id']===S?_0x135051(0x2b3):'')+'>'+f(_0x570c85['title'])+_0x135051(0x2e3))[_0x135051(0x32b)]('')+_0x135051(0x1d2)+(b||!a[_0x135051(0x349)]?_0x135051(0x290):'')+'>'+ct(a[_0x135051(0x349)])+_0x135051(0x193)+(_0x7d668a?.[_0x135051(0x124)][_0x135051(0x231)]?'hidden':'')+'><span\x20class=\x22chat-emblem\x22>'+D(_0x135051(0x2f4))+'</span><h2>T\u1EEB\x20m\u1ED9t\x20\xFD\x20t\u01B0\u1EDFng\x20nh\u1ECF,<br>\u0111\u1EBFn\x20c\xF4ng\x20vi\u1EC7c\x20ho\xE0n\x20th\xE0nh.</h2><p>Vi\u1EBFt\x20n\u1ED9i\x20dung,\x20t\xECm\x20c\xE1ch\x20gi\u1EA3i\x20quy\u1EBFt\x20ho\u1EB7c\x20c\xF9ng\x20suy\x20ngh\u0129.<br>B\u1EAFt\x20\u0111\u1EA7u\x20b\u1EB1ng\x20\u0111i\u1EC1u\x20b\u1EA1n\x20\u0111ang\x20c\u1EA7n.</p><div\x20class=\x22suggestions\x22>'+[_0x135051(0x1ed),'Vi\u1EBFt\x20m\u1ED9t\x20email\x20ph\u1EA3n\x20h\u1ED3i\x20kh\xE1ch\x20h\xE0ng',_0x135051(0x11a)][_0x135051(0x357)](_0x401a1e=>_0x135051(0x372)+f(_0x401a1e)+'\x22>'+_0x401a1e+_0x135051(0x269))[_0x135051(0x32b)]('')+_0x135051(0x2ac)+(L()?'':'<div\x20class=\x22setup-reminder\x22>Ho\xE0n\x20t\u1EA5t\x20k\xEDch\x20ho\u1EA1t\x20v\xE0\x20k\u1EBFt\x20n\u1ED1i\x20t\xE0i\x20kho\u1EA3n\x20\u0111\u1EC3\x20b\u1EAFt\x20\u0111\u1EA7u.\x20<a\x20href=\x22#settings\x22>\u0110i\x20\u0111\u1EBFn\x20c\xE0i\x20\u0111\u1EB7t\x20\u2192</a></div>')+'<form\x20id=\x22composer\x22\x20class=\x22composer\x22><label\x20class=\x22sr-only\x22\x20for=\x22message\x22>Tin\x20nh\u1EAFn\x20c\u1EE7a\x20b\u1EA1n</label><textarea\x20id=\x22message\x22\x20rows=\x223\x22\x20maxlength=\x2232000\x22\x20placeholder=\x22Vi\u1EBFt\x20\u0111i\u1EC1u\x20b\u1EA1n\x20\u0111ang\x20ngh\u0129\u2026\x22\x20'+(!L()||b?_0x135051(0x290):'')+_0x135051(0x280)+(b?_0x135051(0x290):'')+_0x135051(0x37b)+(L()?_0x135051(0x2ff):_0x135051(0x2e1))+_0x135051(0x1af)+(!L()||b?'disabled':'')+'>'+D(_0x135051(0x2c8))+_0x135051(0x2cf)+(b?'':_0x135051(0x326))+_0x135051(0x1ff),bt(),e('#chat-account')[_0x135051(0x1d8)]=async _0x497b40=>{const _0xd10d97=_0x135051;if(!b){_0x497b40[_0xd10d97(0x342)][_0xd10d97(0x290)]=!0x0;try{a['accounts']=await y(_0xd10d97(0x12e),{'accountId':_0x497b40['target']['value']}),a[_0xd10d97(0x156)]=!0x0,$=[],N++,j();}catch(_0x3936a7){e(_0xd10d97(0x11b))[_0xd10d97(0x16e)]=_0x3936a7[_0xd10d97(0x211)],_0x497b40[_0xd10d97(0x342)][_0xd10d97(0x36e)]=a['accounts']?.[_0xd10d97(0x2f9)]??'codex',_0x497b40[_0xd10d97(0x342)][_0xd10d97(0x290)]=!0x1;}}},e(_0x135051(0x35c))['onclick']=async _0x37f789=>{const _0x4d08c3=_0x135051;let _0x361ec6=_0x37f789[_0x4d08c3(0x342)]['closest'](_0x4d08c3(0x186));if(_0x361ec6)try{await navigator['clipboard'][_0x4d08c3(0x352)](_0x361ec6['closest']('.markdown-code')[_0x4d08c3(0x2b8)](_0x4d08c3(0x2d7))[_0x4d08c3(0x16e)]),_0x361ec6[_0x4d08c3(0x16e)]=_0x4d08c3(0x278);}catch{M('Ch\u1ECDn\x20\u0111o\u1EA1n\x20m\xE3\x20\u0111\u1EC3\x20sao\x20ch\xE9p\x20th\u1EE7\x20c\xF4ng.');}},e(_0x135051(0x157))[_0x135051(0x1d8)]=_0x3451f3=>{const _0x28f449=_0x135051;b||(S=_0x3451f3['target'][_0x28f449(0x36e)]||null,A());},document[_0x135051(0x18e)](_0x135051(0x11c))['forEach'](_0x5de16d=>_0x5de16d[_0x135051(0x2a3)]=()=>{const _0x1c0ce7=_0x135051;if(!L()){location[_0x1c0ce7(0x21e)]=_0x1c0ce7(0x23c);return;}e(_0x1c0ce7(0x354))[_0x1c0ce7(0x36e)]=_0x5de16d[_0x1c0ce7(0x312)][_0x1c0ce7(0x276)],e(_0x1c0ce7(0x354))[_0x1c0ce7(0x270)]();}),e(_0x135051(0x35f))[_0x135051(0x291)]=ft,e(_0x135051(0x354))['onkeydown']=_0x34dbb3=>{const _0x501e9c=_0x135051;_0x34dbb3[_0x501e9c(0x30a)]===_0x501e9c(0x28e)&&!_0x34dbb3[_0x501e9c(0x250)]&&!_0x34dbb3[_0x501e9c(0x1c6)]&&(_0x34dbb3[_0x501e9c(0x242)](),e('#composer')[_0x501e9c(0x151)]());},e('#stop')[_0x135051(0x2a3)]=()=>R?.[_0x135051(0x22b)](),e(_0x135051(0x119))&&(e(_0x135051(0x119))[_0x135051(0x2a3)]=()=>{const _0x179101=_0x135051;let _0x226f70=e('#delete-chat');if(_0x226f70[_0x179101(0x312)]['confirm']!==_0x179101(0x191)){_0x226f70[_0x179101(0x312)][_0x179101(0x37f)]='yes',_0x226f70[_0x179101(0x16e)]='B\u1EA5m\x20l\u1EA7n\x20n\u1EEFa\x20\u0111\u1EC3\x20x\xF3a';return;}T=T[_0x179101(0x185)](_0x15d842=>_0x15d842['id']!==S),S=null,F(),A();}),L()&&kt();}async function kt(){const _0x787511=_0x340c68;let _0x4e68cd=++N;try{let _0xdc1e89=$['length']?$:(await y(_0x787511(0x333)+(a[_0x787511(0x349)]?_0x787511(0x1ca)+encodeURIComponent(a[_0x787511(0x349)][_0x787511(0x2f9)]):'')))[_0x787511(0x333)];if(_0x4e68cd!==N||!e(_0x787511(0x35b))||!a[_0x787511(0x156)])return;if($=_0xdc1e89,e(_0x787511(0x35b))[_0x787511(0x205)]=$[_0x787511(0x357)](_0xf82cac=>_0x787511(0x384)+f(_0xf82cac['id'])+'\x22>'+f(_0xf82cac[_0x787511(0x1a8)])+_0x787511(0x2e3))[_0x787511(0x32b)](''),!$[_0x787511(0x231)])throw Error(_0x787511(0x222));e(_0x787511(0x11f))[_0x787511(0x290)]=b;}catch(_0x2e1354){_0x4e68cd===N&&e('#chat-error')&&(e(_0x787511(0x11b))[_0x787511(0x16e)]=_0x2e1354['message'],e(_0x787511(0x11f))[_0x787511(0x290)]=!0x0);}}function bt(){const _0x48c60c=_0x340c68;if(!e(_0x48c60c(0x35c)))return;let _0xa5d5d4=T['find'](_0x3a09c9=>_0x3a09c9['id']===S)?.[_0x48c60c(0x124)]??[];e(_0x48c60c(0x35c))[_0x48c60c(0x205)]=_0xa5d5d4[_0x48c60c(0x357)](_0x3891ad=>_0x48c60c(0x2fa)+_0x3891ad['role']+_0x48c60c(0x2ab)+(_0x3891ad[_0x48c60c(0x239)]===_0x48c60c(0x2d2)?'B\u1EA1n':'Unlimit')+_0x48c60c(0x1a0)+(_0x3891ad[_0x48c60c(0x239)]===_0x48c60c(0x373)?_0x48c60c(0x170):'')+'\x22>'+(_0x3891ad[_0x48c60c(0x239)]==='assistant'?W(_0x3891ad[_0x48c60c(0x128)]||(b?_0x48c60c(0x379):_0x48c60c(0x376))):f(_0x3891ad[_0x48c60c(0x128)]))+_0x48c60c(0x2af)+(_0x3891ad[_0x48c60c(0x244)]?_0x48c60c(0x263):'')+'</article>')[_0x48c60c(0x32b)](''),e(_0x48c60c(0x1f9))['hidden']=!!_0xa5d5d4['length'];}async function ft(_0x5a46f5){const _0x32b6ba=_0x340c68;_0x5a46f5[_0x32b6ba(0x242)]();let _0xbb698f=e('#message')[_0x32b6ba(0x36e)][_0x32b6ba(0x15a)](),_0x3506e3=e(_0x32b6ba(0x35b))['value'];if(b||!_0xbb698f||!_0x3506e3||!L())return;let _0x1ced94=T[_0x32b6ba(0x134)](_0x14a7f7=>_0x14a7f7['id']===S);if(_0x1ced94||(_0x1ced94={'id':crypto[_0x32b6ba(0x29a)](),'title':_0xbb698f['slice'](0x0,0x3c),'messages':[]},T[_0x32b6ba(0x1d1)](_0x1ced94),T=T['slice'](0x0,0x1e),S=_0x1ced94['id']),_0x1ced94[_0x32b6ba(0x124)][_0x32b6ba(0x231)]>=0x62){e(_0x32b6ba(0x11b))['textContent']=_0x32b6ba(0x234);return;}let _0x17beaf=[..._0x1ced94[_0x32b6ba(0x124)][_0x32b6ba(0x185)](_0x6241a3=>_0x6241a3[_0x32b6ba(0x128)]&&!_0x6241a3['interrupted'])['map'](({role:_0x1e6de0,content:_0x3ad4c9})=>({'role':_0x1e6de0,'content':_0x3ad4c9})),{'role':_0x32b6ba(0x2d2),'content':_0xbb698f}];if(new TextEncoder()[_0x32b6ba(0x15b)](JSON[_0x32b6ba(0x1bf)]({'model':_0x3506e3,'messages':_0x17beaf}))['length']>0x100000){e(_0x32b6ba(0x11b))[_0x32b6ba(0x16e)]=m[_0x32b6ba(0x1fc)];return;}_0x1ced94['messages'][_0x32b6ba(0x133)]({'role':_0x32b6ba(0x2d2),'content':_0xbb698f});let _0x1abcbe={'role':_0x32b6ba(0x373),'content':'','interrupted':!0x0};_0x1ced94['messages']['push'](_0x1abcbe),F(),b=!0x0,R=new AbortController(),j(),z();try{let _0x406941=await fetch('/app/api/chat',{'method':_0x32b6ba(0x129),'headers':{'content-type':_0x32b6ba(0x27f),'x-csrf-token':O},'body':JSON[_0x32b6ba(0x1bf)]({'model':_0x3506e3,'messages':_0x17beaf,'accountId':a['accounts']?.['activeId']}),'signal':R[_0x32b6ba(0x1e7)]});if(!_0x406941['ok']){let _0x4d615e=await _0x406941[_0x32b6ba(0x150)]();throw Error(m[_0x4d615e[_0x32b6ba(0x27e)]]??m['service_unavailable']);}await tt(_0x406941[_0x32b6ba(0x123)],_0x40ad8e=>{const _0x58d700=_0x32b6ba;_0x1abcbe[_0x58d700(0x128)]=_0x40ad8e,K==='chat'&&H===null&&(H=requestAnimationFrame(()=>{const _0x22d32e=_0x58d700;H=null;let _0x46b7cf=e(_0x22d32e(0x35c));if(!_0x46b7cf)return;let _0x530ea4=_0x46b7cf[_0x22d32e(0x37d)]-_0x46b7cf['scrollTop']-_0x46b7cf[_0x22d32e(0x16f)]<0x78,_0x52365f=_0x46b7cf[_0x22d32e(0x2b8)]('.message:last-child\x20.message-text');_0x52365f&&(_0x52365f[_0x22d32e(0x205)]=W(_0x1abcbe[_0x22d32e(0x128)])),_0x530ea4&&(_0x46b7cf['scrollTop']=_0x46b7cf[_0x22d32e(0x37d)]);}));}),_0x1abcbe[_0x32b6ba(0x244)]=!0x1;}catch(_0xaa2e50){M(_0xaa2e50[_0x32b6ba(0x1a8)]===_0x32b6ba(0x37c)?_0x32b6ba(0x171):_0xaa2e50[_0x32b6ba(0x211)]);}finally{H!==null&&(cancelAnimationFrame(H),H=null),b=!0x1,R=null,F(),K==='chat'&&j(),z();}}window[_0x340c68(0x292)](_0x340c68(0x180),()=>{a&&A();});try{if(location['hash']['startsWith'](_0x340c68(0x375))){let n=location[_0x340c68(0x21e)][_0x340c68(0x1c1)](0x8);Ct(),O=(await y(_0x340c68(0x281),{'ticket':n}))[_0x340c68(0x1da)];}await V(),Z();}catch(_0xd2be41){e('#app')[_0x340c68(0x205)]=_0x340c68(0x1e0)+f(_0xd2be41[_0x340c68(0x211)])+'</p><code>codexunlimit</code><p>Ch\u1EA1y\x20l\u1EC7nh\x20tr\xEAn\x20trong\x20PowerShell\x20(Windows)\x20ho\u1EB7c\x20Terminal\x20(macOS).</p><button\x20id=\x22retry\x22>Th\u1EED\x20l\u1EA1i</button></main>',e(_0x340c68(0x11e))[_0x340c68(0x2a3)]=()=>location[_0x340c68(0x330)]();}function Ct(){const _0x595237=_0x340c68;window[_0x595237(0x176)][_0x595237(0x22f)](null,'',_0x595237(0x2db));}var J=!0x1;window['addEventListener'](_0x340c68(0x270),async()=>{const _0x4a860d=_0x340c68;if(!(Y||b||I||J||K!==_0x4a860d(0x249)||document['querySelector']('dialog[open]')||e(_0x4a860d(0x251))?.[_0x4a860d(0x36e)]||[_0x4a860d(0x28f),_0x4a860d(0x26d)][_0x4a860d(0x179)](document['activeElement']?.['tagName']))){J=!0x0;try{await V(),K==='home'&&!e(_0x4a860d(0x251))?.['value']&&!document[_0x4a860d(0x2b8)]('dialog[open]')&&A();}catch{}finally{J=!0x1;}}});
|
package/web/style.css
CHANGED
|
@@ -51,3 +51,8 @@
|
|
|
51
51
|
/* Compact version information and update instructions at the foot of the rail. */
|
|
52
52
|
.rail{overflow-y:auto}.history{flex:1;min-height:48px}.rail-footer{margin-top:auto;flex-shrink:0;padding-top:20px}.rail-footer .rail-foot{padding:0 10px 12px;margin:0;font-size:11px}.update-details{border-top:1px solid var(--line);font-size:12px}.update-details summary{position:relative;padding:14px 26px 4px 10px;cursor:pointer;list-style:none;min-height:54px;border-radius:5px}.update-details summary::-webkit-details-marker{display:none}.update-details summary:hover{background:#ebe7df}.update-details summary:focus-visible{outline:2px solid #8b7560;outline-offset:2px}.update-current{display:block;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.update-state{display:block;font-size:11px;margin-top:5px;line-height:1.6;color:#78736a;overflow-wrap:anywhere}.update-state.update-available{color:#725035;font-weight:550}.update-available:before{content:'';display:inline-block;width:6px;height:6px;background:#a2754e;border-radius:50%;margin-right:6px;vertical-align:middle}.update-chevron{position:absolute;right:10px;top:17px;color:#8b7560}.update-details[open] .update-chevron{transform:rotate(180deg)}.update-content{padding:8px 10px 0}.update-content p,.update-content small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin:4px 0 10px}.update-command{margin:12px 0;padding:10px;background:#eae6de;border-radius:5px;white-space:pre-wrap;overflow-wrap:anywhere;color:#403b32;font:11px/1.9 Consolas,monospace;user-select:all}.update-content button{font-size:11px;min-height:34px;padding:7px 9px;max-width:100%;width:100%;margin-bottom:6px}.update-content .check-update{border:0;background:transparent;color:#78634d}.update-content small{font-size:10px;margin-top:6px}
|
|
53
53
|
@media(max-width:700px){.rail-footer{grid-column:1/-1;padding-top:0;width:100%}.rail-footer .rail-foot{display:none}.update-details summary{padding:10px 28px 8px 0;min-height:44px}.update-current,.update-state{display:inline-block}.update-state{margin:0 0 0 12px}.update-chevron{top:13px}.update-content{padding-left:0;max-width:420px}.update-command{font-size:12px}.update-content button{min-height:40px}.update-content p,.update-content small{font-size:12px}}
|
|
54
|
+
|
|
55
|
+
/* The home page is a setup workspace; chat remains a separate destination. */
|
|
56
|
+
.setup-home{max-width:1080px;margin:0 auto}.setup-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:26px}.setup-heading h1{font-size:38px;letter-spacing:-1.2px}.setup-heading p{margin-top:12px;max-width:54ch;font-size:14px}.setup-heading .eyebrow{color:#8b6248}.setup-heading>button{flex-shrink:0;margin-top:29px}.setup-summary{padding:18px 22px;margin-bottom:30px;border-left:3px solid #b98050;background:#f5eee2;border-radius:0 8px 8px 0}.setup-summary strong{font-size:14px;color:#754f31}.setup-summary ul{display:flex;flex-wrap:wrap;gap:7px 26px;margin:10px 0 0;padding-left:17px;font-size:12px;color:#775f44}.setup-summary.is-ready{border-color:#6b8564;background:#eff2e9}.setup-summary.is-ready strong{color:#4d6947}.setup-summary p{font-size:13px;margin-top:7px}.setup-layout{display:grid;grid-template-columns:minmax(0,1fr) 254px;gap:32px;align-items:start}.setup-workflow{min-width:0}.setup-workflow>.section-title{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:0}.setup-workflow>.section-title h2{font-size:19px}.setup-step{padding:24px 0;border-bottom:1px solid var(--line)}.setup-step-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}.setup-step-heading h3{font-size:17px;line-height:1.4;letter-spacing:-.25px;flex:1}.setup-step-heading .step-number{width:31px;height:31px;font-size:11px;background:#f0ece4;border-color:transparent}.setup-step-heading .step-number.done{background:#e9eee2;color:#527344}.setup-label{font-size:10px;color:#8a6948;white-space:nowrap}.setup-label.complete{color:#617553}.setup-step>p{font-size:13px;line-height:1.8;margin:12px 0 17px}.setup-step label{font-size:12px}.setup-step .privacy-choice{line-height:1.8;font-weight:400}.setup-step .settings-actions{gap:8px 16px}.setup-step .settings-actions button{font-size:12px;max-width:100%}.setup-step .input-action button{font-size:13px}.setup-step .setup-caution{font-size:11px;color:#8c7054;line-height:1.8}.setup-step .subtext{font-size:12px}.setup-side{position:sticky;top:30px;min-width:0}.codex-app-panel{padding:25px;background:#f0ece4;border-radius:10px}.codex-app-panel .eyebrow{color:#8b7056;font-size:9px}.codex-app-panel h2{font-size:24px;line-height:1.3;font-weight:500}.codex-app-panel>p{font-size:12px;line-height:1.8;margin:14px 0 20px}.codex-app-actions{display:flex;gap:9px;flex-wrap:wrap}.codex-app-actions>button{font-size:12px;flex:1 0 auto}.codex-app-actions>.text-button{flex-basis:100%;justify-content:start;font-weight:400}.codex-app-panel>.button{font-size:12px}.setup-status{font-size:11px;margin:22px 0 0;padding-top:15px;border-top:1px solid #ded6c9}.setup-status>div{display:flex;justify-content:space-between;gap:8px;margin:12px 0}.setup-status dt{color:#837867}.setup-status dd{margin:0;text-align:right;color:#504b42}.setup-side .setup-help{font-size:11px;line-height:1.9;margin:20px 0 9px;color:#8b8275}.setup-side>.text-button{display:block;text-decoration:none;font-weight:400;min-height:35px;padding:6px 0;font-size:12px}.setup-home .connection-warning{padding:12px 14px;background:#f5eadb;border-radius:5px;font-size:12px;overflow-wrap:anywhere}.setup-home .error{overflow-wrap:anywhere}.setup-home .privacy-choice input{min-width:17px;flex-shrink:0}.setup-home .privacy-choice{align-items:start}.setup-home .input-action{margin-bottom:5px}
|
|
57
|
+
@media(max-width:1120px){.setup-layout{grid-template-columns:minmax(0,1fr)}.setup-side{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px}.codex-app-panel{grid-row:span 4}.setup-side .setup-help{margin-top:0}.setup-heading h1{font-size:34px}}
|
|
58
|
+
@media(max-width:700px){.setup-heading{gap:12px;flex-wrap:wrap;margin-bottom:20px}.setup-heading h1{font-size:32px}.setup-heading>button{margin:0;padding:4px 0;min-height:34px}.setup-heading p{font-size:13px}.setup-summary{padding:15px 17px;margin-bottom:24px}.setup-summary ul{display:block;line-height:1.9}.setup-step{padding:22px 0}.setup-step-heading{gap:9px;flex-wrap:wrap}.setup-step-heading h3{font-size:16px}.setup-label{width:100%;padding-left:40px;margin-top:-7px}.setup-step .input-action{flex-wrap:wrap}.setup-step .input-action input{font-size:16px}.setup-step .settings-actions{align-items:stretch}.setup-step .settings-actions>.primary{width:100%}.setup-side{display:block}.codex-app-panel{padding:23px;margin-top:4px}.setup-side .setup-help{margin-top:18px}.setup-status{font-size:12px}.setup-workflow>.section-title h2{font-size:18px}.setup-workflow>.section-title>span{white-space:nowrap}}
|