bytefun-ai-mcp
Version:
ByteFun AI MCP服务 - 打通产品设计、UI设计、代码开发的服务平台,支持设计稿转代码和跨平台原生代码开发
93 lines (89 loc) • 17.5 kB
JavaScript
export const functionalModulePromptTemplate = `# 你是专业的APP或者网站应用架构专家,现在需要你根据用户描述,理解核心思路,严格按步骤执行,完成各个功能模块的'.bytefun/{数字序号}-{模块英文名字}-module-business-logic.json'
## **默认功能设计规则**
- 如用户没在描述中明确指明该功能模块或页面的业务逻辑,那就默认必须遵守\`默认功能设计规则\`
- 不存在权限请求页面,所有权限请求必须使用弹框的交互方式,而且是遵循"即用即取"(Just-in-Time)的原则
- 网络错误与重试、数据加载、数据缓存、数据持久化、空状态、搜索历史等是当前页面展示就行,是绝对不能设计成页面的。
{{functionalModule}}
## 执行以下功能模块设计的2个步骤,完成该功能模块的设计
### 首先、阅读\`.bytefun/产品需求文档.md\`文件里面的对应模块的需求描述,并结合\`默认功能设计规则\`以及你的经验,先思考该功能模块需要的页面列表,得出\`pageList\`
### 最后、完善编写'.bytefun/{数字序号}-{模块英文名字}-module-business-logic.json'
- 依据第1步的得出的\`pageList\`,完善填充里面json的值
- 不得修改和删除\`.bytefun/{数字序号}-{模块英文名字}-module-business-logic.json\`里面的任何一个json字段名字,只能修改字段值或添加相同结构的json对象
`;
export const startUpBusinessLogic = `
- 启动功能模块
- 不存在权限请求页面,所有权限请求必须使用弹框的交互方式,而且是遵循"即用即取"(Just-in-Time)的原则
- 绝对不会有任何关于隐私协议/服务条款页的逻辑
- 闪屏页
- 一般设置1秒跳过就行,注意是1秒
- 如果有闪屏页,那么启动后第一个页面必须是闪屏页,闪屏页不会有跳到登录页的路径,只有跳到引导页或首页的路径
- 闪屏页不做任何业务逻辑,不请求任何网络接口,只需判断是否首次启动,如果首次启动就x秒后跳到引导页,如果不是首次启动就跳到首页
- ❌ 闪屏页绝对禁止做的事情:
- 请求任何网络接口
- 请求版本更新API接口
- 跳到隐私协议/服务条款页
- 弹出任何其他弹框
- 任何权限请求
- 引导页
- 引导页告页不会有跳到登录页的路径,只有跳到首页的路径
- 不会有任何网络请求、业务逻辑,引导页仅仅是一个展示静态数据的页面
- 不需要自动轮播
- 一般整个页面只有一个轮播组件、轮播指示器和底部一个按钮,底部按钮在非第一页时显示下一步,在最后一页时显示立即体验
`;
export const accountBusinessLogic = `
- 账号功能模块(一般包含以下8个页面)
- 登录页
- 登录页一般有以下两种页面结构,可以随机选择:
1. 一般页面组成是:带返回按钮的顶部标题栏、应用logo、欢迎、tab切换登录方式(验证码登录、账号密码登录)、勾选阅读用户协议和隐私协议、登录按钮、登录按钮下方一行显示'新用户注册'和'忘记密码'两个文字按钮、其他第三方登录(微信、QQ、微博)
2. 一般页面组成是:带返回按钮的顶部标题栏、应用logo、欢迎、多状态容器(验证码登录表单状态和账号密码登录表单状态)、勾选阅读用户协议和隐私协议、登录按钮、登录按钮下方一行显示'新用户注册'和'验证码登录/账号密码登录'和'忘记密码'三个文字按钮、其他第三方登录(微信、QQ、微博)
- 登录页是用户点击需要登录才能访问的页面时,才会跳转到的页面,而不是从闪屏页判断是否需要登录然后跳进去
- 注意,隐私协议、用户协议都不得使用弹框或侧滑面板,必须使用跳转页面来实现
- 注册页
- 一般页面需要有顶部标题栏、应用logo、欢迎等
- 注册的方式一般只需要一种方式:手机验证码注册
- 注意,隐私协议、用户协议都不得使用弹框或侧滑面板,必须使用跳转页面来实现
- 验证码输入页
- 一般验证码的输入是一行横排显示6个35px的输入框,每个输入框所有padding都是0,并且输入完一个数字自动聚焦到下一个数字输入框,数字居中
- 忘记密码页
- 修改密码页
- 账号注销页
- 用户协议页
- 用户协议的内容写死即可,不需要网络API请求,也就不需要loading、加载失败、多状态容器等,就是一个简单的页面
- 一般是多点协议,每一点是一个标题一个内容
- 底部不需要同意等操作按钮的,这只是一个展示页面
- 隐私协议页
- 隐私协议的内容写死即可,不需要网络API请求,也就不需要loading、加载失败、多状态容器等,就是一个简单的html页面
- 一般是多点协议,每一点是一个标题一个内容
- 底部不需要同意等操作按钮的,这只是一个展示页面
`;
export const homeBusinessLogic = `
- 首页功能模块
- 首页
- 进入首页一般需要请求app版本更新API接口,判断是否需要更新,如果需要更新就弹出更新弹框,如果不需要那就不做任何事情
- 进入首页还要读取本地数据:全局配置数据。一般用于功能开关、ABTest配置等,读取完毕后,还要网络请求一次全局配置API,将全局配置数据更新到本地数据中
- 首页模块的页面列表一般是只包含1个首页主体页和N个子页面,比如首页模块分为首页主体页、首页子页面、购物车子页面、消息子页面、个人中心子页面总共5个页面,其中首页子页面、购物车子页面、消息子页面、个人中心子页面嵌套在首页主体页里面,那么\`二、页面详细信息列表表格\`必须是首页主体页、首页子页面、购物车子页面、消息子页面、个人中心子页面。
- 所有子页面也是独立设计的页面,也必须加入到pageRequirements.pageList队列里
- 需要在.bytefun/project.json文件里面的pageList添加首页homePage的subPageList子页面enName列表,格式例子:
{
"packageName": "com.mycompany.myapp",
"versionName": "1.0.0",
"versionCode": 1,
...其他属性,
{
"enName": "homePage",
"subPageList": [
"xxxPage",
"xxxPage",
...
]
}
}
- 分类子页面
- 分类子页面一般使用分类tab选项卡来实现,是一个tab页面
`;
export const searchBusinessLogic = `
- 搜索功能模块
- 搜索页
- 搜索页一般由搜索栏、多状态容器组成,其中多状态由5个状态组成:默认状态(包括热门搜索、搜索历史)、搜索中状态、搜索空数据状态、搜索网络错误状态、搜索有数据结果状态(搜索结果列表)
`;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25EZXNpZ24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZnVuY3Rpb25EZXNpZ24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUc7Ozs7Ozs7Ozs7Ozs7OztDQWU3QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FtQm5DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXlCbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0F3QmhDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRzs7OztDQUlsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGZ1bmN0aW9uYWxNb2R1bGVQcm9tcHRUZW1wbGF0ZSA9IGAjIOS9oOaYr+S4k+S4mueahEFQUOaIluiAhee9keermeW6lOeUqOaetuaehOS4k+Wutu+8jOeOsOWcqOmcgOimgeS9oOagueaNrueUqOaIt+aPj+i/sO+8jOeQhuino+aguOW/g+aAnei3r++8jOS4peagvOaMieatpemqpOaJp+ihjO+8jOWujOaIkOWQhOS4quWKn+iDveaooeWdl+eahCcuYnl0ZWZ1bi975pWw5a2X5bqP5Y+3fS175qih5Z2X6Iux5paH5ZCN5a2XfS1tb2R1bGUtYnVzaW5lc3MtbG9naWMuanNvbidcblxuIyMgKirpu5jorqTlip/og73orr7orqHop4TliJkqKlxuLSDlpoLnlKjmiLfmsqHlnKjmj4/ov7DkuK3mmI7noa7mjIfmmI7or6Xlip/og73mqKHlnZfmiJbpobXpnaLnmoTkuJrliqHpgLvovpHvvIzpgqPlsLHpu5jorqTlv4XpobvpgbXlrohcXGDpu5jorqTlip/og73orr7orqHop4TliJlcXGBcbi0g5LiN5a2Y5Zyo5p2D6ZmQ6K+35rGC6aG16Z2i77yM5omA5pyJ5p2D6ZmQ6K+35rGC5b+F6aG75L2/55So5by55qGG55qE5Lqk5LqS5pa55byP77yM6ICM5LiU5piv6YG15b6qXCLljbPnlKjljbPlj5ZcIu+8iEp1c3QtaW4tVGltZe+8ieeahOWOn+WImVxuLSDnvZHnu5zplJnor6/kuI7ph43or5XjgIHmlbDmja7liqDovb3jgIHmlbDmja7nvJPlrZjjgIHmlbDmja7mjIHkuYXljJbjgIHnqbrnirbmgIHjgIHmkJzntKLljoblj7LnrYnmmK/lvZPliY3pobXpnaLlsZXnpLrlsLHooYzvvIzmmK/nu53lr7nkuI3og73orr7orqHmiJDpobXpnaLnmoTjgIJcbnt7ZnVuY3Rpb25hbE1vZHVsZX19XG5cbiMjIOaJp+ihjOS7peS4i+WKn+iDveaooeWdl+iuvuiuoeeahDLkuKrmraXpqqTvvIzlrozmiJDor6Xlip/og73mqKHlnZfnmoTorr7orqFcblxuIyMjIOmmluWFiOOAgemYheivu1xcYC5ieXRlZnVuL+S6p+WTgemcgOaxguaWh+ahoy5tZFxcYOaWh+S7tumHjOmdoueahOWvueW6lOaooeWdl+eahOmcgOaxguaPj+i/sO+8jOW5tue7k+WQiFxcYOm7mOiupOWKn+iDveiuvuiuoeinhOWImVxcYOS7peWPiuS9oOeahOe7j+mqjO+8jOWFiOaAneiAg+ivpeWKn+iDveaooeWdl+mcgOimgeeahOmhtemdouWIl+ihqO+8jOW+l+WHulxcYHBhZ2VMaXN0XFxgXG4gICAgIFxuIyMjIOacgOWQjuOAgeWujOWWhOe8luWGmScuYnl0ZWZ1bi975pWw5a2X5bqP5Y+3fS175qih5Z2X6Iux5paH5ZCN5a2XfS1tb2R1bGUtYnVzaW5lc3MtbG9naWMuanNvbidcbi0g5L6d5o2u56ysMeatpeeahOW+l+WHuueahFxcYHBhZ2VMaXN0XFxg77yM5a6M5ZaE5aGr5YWF6YeM6Z2ianNvbueahOWAvFxuLSDkuI3lvpfkv67mlLnlkozliKDpmaRcXGAuYnl0ZWZ1bi975pWw5a2X5bqP5Y+3fS175qih5Z2X6Iux5paH5ZCN5a2XfS1tb2R1bGUtYnVzaW5lc3MtbG9naWMuanNvblxcYOmHjOmdoueahOS7u+S9leS4gOS4qmpzb27lrZfmrrXlkI3lrZfvvIzlj6rog73kv67mlLnlrZfmrrXlgLzmiJbmt7vliqDnm7jlkIznu5PmnoTnmoRqc29u5a+56LGhXG5gO1xuXG5leHBvcnQgY29uc3Qgc3RhcnRVcEJ1c2luZXNzTG9naWMgPSBgXG4tIOWQr+WKqOWKn+iDveaooeWdl1xuICAtIOS4jeWtmOWcqOadg+mZkOivt+axgumhtemdou+8jOaJgOacieadg+mZkOivt+axguW/hemhu+S9v+eUqOW8ueahhueahOS6pOS6kuaWueW8j++8jOiAjOS4lOaYr+mBteW+qlwi5Y2z55So5Y2z5Y+WXCLvvIhKdXN0LWluLVRpbWXvvInnmoTljp/liJlcbiAgLSDnu53lr7nkuI3kvJrmnInku7vkvZXlhbPkuo7pmpDnp4HljY/orq4v5pyN5Yqh5p2h5qy+6aG155qE6YC76L6RXG4gIC0g6Zeq5bGP6aG1XG4gICAgLSDkuIDoiKzorr7nva4x56eS6Lez6L+H5bCx6KGM77yM5rOo5oSP5pivMeenklxuICAgIC0g5aaC5p6c5pyJ6Zeq5bGP6aG177yM6YKj5LmI5ZCv5Yqo5ZCO56ys5LiA5Liq6aG16Z2i5b+F6aG75piv6Zeq5bGP6aG177yM6Zeq5bGP6aG15LiN5Lya5pyJ6Lez5Yiw55m75b2V6aG155qE6Lev5b6E77yM5Y+q5pyJ6Lez5Yiw5byV5a+86aG15oiW6aaW6aG155qE6Lev5b6EXG4gICAgLSDpl6rlsY/pobXkuI3lgZrku7vkvZXkuJrliqHpgLvovpHvvIzkuI3or7fmsYLku7vkvZXnvZHnu5zmjqXlj6PvvIzlj6rpnIDliKTmlq3mmK/lkKbpppbmrKHlkK/liqjvvIzlpoLmnpzpppbmrKHlkK/liqjlsLF456eS5ZCO6Lez5Yiw5byV5a+86aG177yM5aaC5p6c5LiN5piv6aaW5qyh5ZCv5Yqo5bCx6Lez5Yiw6aaW6aG1XG4gICAgLSDinYwg6Zeq5bGP6aG157ud5a+556aB5q2i5YGa55qE5LqL5oOF77yaXG4gICAgICAtIOivt+axguS7u+S9lee9kee7nOaOpeWPo1xuICAgICAgLSDor7fmsYLniYjmnKzmm7TmlrBBUEnmjqXlj6NcbiAgICAgIC0g6Lez5Yiw6ZqQ56eB5Y2P6K6uL+acjeWKoeadoeasvumhtVxuICAgICAgLSDlvLnlh7rku7vkvZXlhbbku5blvLnmoYZcbiAgICAgIC0g5Lu75L2V5p2D6ZmQ6K+35rGCXG4gIC0g5byV5a+86aG1XG4gICAgLSDlvJXlr7zpobXlkYrpobXkuI3kvJrmnInot7PliLDnmbvlvZXpobXnmoTot6/lvoTvvIzlj6rmnInot7PliLDpppbpobXnmoTot6/lvoRcbiAgICAtIOS4jeS8muacieS7u+S9lee9kee7nOivt+axguOAgeS4muWKoemAu+i+ke+8jOW8leWvvOmhteS7heS7heaYr+S4gOS4quWxleekuumdmeaAgeaVsOaNrueahOmhtemdolxuICAgIC0g5LiN6ZyA6KaB6Ieq5Yqo6L2u5pKtXG4gICAgLSDkuIDoiKzmlbTkuKrpobXpnaLlj6rmnInkuIDkuKrova7mkq3nu4Tku7bjgIHova7mkq3mjIfnpLrlmajlkozlupXpg6jkuIDkuKrmjInpkq7vvIzlupXpg6jmjInpkq7lnKjpnZ7nrKzkuIDpobXml7bmmL7npLrkuIvkuIDmraXvvIzlnKjmnIDlkI7kuIDpobXml7bmmL7npLrnq4vljbPkvZPpqoxcbmA7XG5cbmV4cG9ydCBjb25zdCBhY2NvdW50QnVzaW5lc3NMb2dpYyA9IGBcbi0g6LSm5Y+35Yqf6IO95qih5Z2X77yI5LiA6Iis5YyF5ZCr5Lul5LiLOOS4qumhtemdou+8iVxuICAtIOeZu+W9lemhtVxuICAgIC0g55m75b2V6aG15LiA6Iis5pyJ5Lul5LiL5Lik56eN6aG16Z2i57uT5p6E77yM5Y+v5Lul6ZqP5py66YCJ5oup77yaXG4gICAgICAxLiDkuIDoiKzpobXpnaLnu4TmiJDmmK/vvJrluKbov5Tlm57mjInpkq7nmoTpobbpg6jmoIfpopjmoI/jgIHlupTnlKhsb2dv44CB5qyi6L+O44CBdGFi5YiH5o2i55m75b2V5pa55byPKOmqjOivgeeggeeZu+W9leOAgei0puWPt+WvhueggeeZu+W9lSnjgIHli77pgInpmIXor7vnlKjmiLfljY/orq7lkozpmpDnp4HljY/orq7jgIHnmbvlvZXmjInpkq7jgIHnmbvlvZXmjInpkq7kuIvmlrnkuIDooYzmmL7npLon5paw55So5oi35rOo5YaMJ+WSjCflv5jorrDlr4bnoIEn5Lik5Liq5paH5a2X5oyJ6ZKu44CB5YW25LuW56ys5LiJ5pa555m75b2V77yI5b6u5L+h44CBUVHjgIHlvq7ljZrvvIlcbiAgICAgIDIuIOS4gOiIrOmhtemdoue7hOaIkOaYr++8muW4pui/lOWbnuaMiemSrueahOmhtumDqOagh+mimOagj+OAgeW6lOeUqGxvZ2/jgIHmrKLov47jgIHlpJrnirbmgIHlrrnlmago6aqM6K+B56CB55m75b2V6KGo5Y2V54q25oCB5ZKM6LSm5Y+35a+G56CB55m75b2V6KGo5Y2V54q25oCBKeOAgeWLvumAiemYheivu+eUqOaIt+WNj+iuruWSjOmakOengeWNj+iuruOAgeeZu+W9leaMiemSruOAgeeZu+W9leaMiemSruS4i+aWueS4gOihjOaYvuekuifmlrDnlKjmiLfms6jlhown5ZKMJ+mqjOivgeeggeeZu+W9lS/otKblj7flr4bnoIHnmbvlvZUn5ZKMJ+W/mOiusOWvhueggSfkuInkuKrmloflrZfmjInpkq7jgIHlhbbku5bnrKzkuInmlrnnmbvlvZXvvIjlvq7kv6HjgIFRUeOAgeW+ruWNmu+8iVxuICAgIC0g55m75b2V6aG15piv55So5oi354K55Ye76ZyA6KaB55m75b2V5omN6IO96K6/6Zeu55qE6aG16Z2i5pe277yM5omN5Lya6Lez6L2s5Yiw55qE6aG16Z2i77yM6ICM5LiN5piv5LuO6Zeq5bGP6aG15Yik5pat5piv5ZCm6ZyA6KaB55m75b2V54S25ZCO6Lez6L+b5Y67XG4gICAgLSDms6jmhI/vvIzpmpDnp4HljY/orq7jgIHnlKjmiLfljY/orq7pg73kuI3lvpfkvb/nlKjlvLnmoYbmiJbkvqfmu5HpnaLmnb/vvIzlv4Xpobvkvb/nlKjot7PovazpobXpnaLmnaXlrp7njrBcbiAgLSDms6jlhozpobVcbiAgICAtIOS4gOiIrOmhtemdoumcgOimgeaciemhtumDqOagh+mimOagj+OAgeW6lOeUqGxvZ2/jgIHmrKLov47nrYlcbiAgICAtIOazqOWGjOeahOaWueW8j+S4gOiIrOWPqumcgOimgeS4gOenjeaWueW8j++8muaJi+acuumqjOivgeeggeazqOWGjFxuICAgIC0g5rOo5oSP77yM6ZqQ56eB5Y2P6K6u44CB55So5oi35Y2P6K6u6YO95LiN5b6X5L2/55So5by55qGG5oiW5L6n5ruR6Z2i5p2/77yM5b+F6aG75L2/55So6Lez6L2s6aG16Z2i5p2l5a6e546wXG4gIC0g6aqM6K+B56CB6L6T5YWl6aG1XG4gICAgLSDkuIDoiKzpqozor4HnoIHnmoTovpPlhaXmmK/kuIDooYzmqKrmjpLmmL7npLo25LiqMzVweOeahOi+k+WFpeahhu+8jOavj+S4qui+k+WFpeahhuaJgOaciXBhZGRpbmfpg73mmK8w77yM5bm25LiU6L6T5YWl5a6M5LiA5Liq5pWw5a2X6Ieq5Yqo6IGa54Sm5Yiw5LiL5LiA5Liq5pWw5a2X6L6T5YWl5qGG77yM5pWw5a2X5bGF5LitXG4gIC0g5b+Y6K6w5a+G56CB6aG1XG4gIC0g5L+u5pS55a+G56CB6aG1XG4gIC0g6LSm5Y+35rOo6ZSA6aG1XG4gIC0g55So5oi35Y2P6K6u6aG1XG4gICAgLSDnlKjmiLfljY/orq7nmoTlhoXlrrnlhpnmrbvljbPlj6/vvIzkuI3pnIDopoHnvZHnu5xBUEnor7fmsYLvvIzkuZ/lsLHkuI3pnIDopoFsb2FkaW5n44CB5Yqg6L295aSx6LSl44CB5aSa54q25oCB5a655Zmo562J77yM5bCx5piv5LiA5Liq566A5Y2V55qE6aG16Z2iXG4gICAgLSDkuIDoiKzmmK/lpJrngrnljY/orq7vvIzmr4/kuIDngrnmmK/kuIDkuKrmoIfpopjkuIDkuKrlhoXlrrlcbiAgICAtIOW6lemDqOS4jemcgOimgeWQjOaEj+etieaTjeS9nOaMiemSrueahO+8jOi/meWPquaYr+S4gOS4quWxleekuumhtemdolxuICAtIOmakOengeWNj+iurumhtVxuICAgIC0g6ZqQ56eB5Y2P6K6u55qE5YaF5a655YaZ5q275Y2z5Y+v77yM5LiN6ZyA6KaB572R57ucQVBJ6K+35rGC77yM5Lmf5bCx5LiN6ZyA6KaBbG9hZGluZ+OAgeWKoOi9veWksei0peOAgeWkmueKtuaAgeWuueWZqOetie+8jOWwseaYr+S4gOS4queugOWNleeahGh0bWzpobXpnaJcbiAgICAtIOS4gOiIrOaYr+WkmueCueWNj+iuru+8jOavj+S4gOeCueaYr+S4gOS4quagh+mimOS4gOS4quWGheWuuVxuICAgIC0g5bqV6YOo5LiN6ZyA6KaB5ZCM5oSP562J5pON5L2c5oyJ6ZKu55qE77yM6L+Z5Y+q5piv5LiA5Liq5bGV56S66aG16Z2iXG5gO1xuXG5leHBvcnQgY29uc3QgaG9tZUJ1c2luZXNzTG9naWMgPSBgXG4tIOmmlumhteWKn+iDveaooeWdl1xuICAtIOmmlumhtVxuICAgIC0g6L+b5YWl6aaW6aG15LiA6Iis6ZyA6KaB6K+35rGCYXBw54mI5pys5pu05pawQVBJ5o6l5Y+j77yM5Yik5pat5piv5ZCm6ZyA6KaB5pu05paw77yM5aaC5p6c6ZyA6KaB5pu05paw5bCx5by55Ye65pu05paw5by55qGG77yM5aaC5p6c5LiN6ZyA6KaB6YKj5bCx5LiN5YGa5Lu75L2V5LqL5oOFXG4gICAgLSDov5vlhaXpppbpobXov5jopoHor7vlj5bmnKzlnLDmlbDmja7vvJrlhajlsYDphY3nva7mlbDmja7jgILkuIDoiKznlKjkuo7lip/og73lvIDlhbPjgIFBQlRlc3TphY3nva7nrYnvvIzor7vlj5blrozmr5XlkI7vvIzov5jopoHnvZHnu5zor7fmsYLkuIDmrKHlhajlsYDphY3nva5BUEnvvIzlsIblhajlsYDphY3nva7mlbDmja7mm7TmlrDliLDmnKzlnLDmlbDmja7kuK1cbiAgICAtIOmmlumhteaooeWdl+eahOmhtemdouWIl+ihqOS4gOiIrOaYr+WPquWMheWQqzHkuKrpppbpobXkuLvkvZPpobXlkoxO5Liq5a2Q6aG16Z2i77yM5q+U5aaC6aaW6aG15qih5Z2X5YiG5Li66aaW6aG15Li75L2T6aG144CB6aaW6aG15a2Q6aG16Z2i44CB6LSt54mp6L2m5a2Q6aG16Z2i44CB5raI5oGv5a2Q6aG16Z2i44CB5Liq5Lq65Lit5b+D5a2Q6aG16Z2i5oC75YWxNeS4qumhtemdou+8jOWFtuS4remmlumhteWtkOmhtemdouOAgei0reeJqei9puWtkOmhtemdouOAgea2iOaBr+WtkOmhtemdouOAgeS4quS6uuS4reW/g+WtkOmhtemdouW1jOWll+WcqOmmlumhteS4u+S9k+mhtemHjOmdou+8jOmCo+S5iFxcYOS6jOOAgemhtemdouivpue7huS/oeaBr+WIl+ihqOihqOagvFxcYOW/hemhu+aYr+mmlumhteS4u+S9k+mhteOAgemmlumhteWtkOmhtemdouOAgei0reeJqei9puWtkOmhtemdouOAgea2iOaBr+WtkOmhtemdouOAgeS4quS6uuS4reW/g+WtkOmhtemdouOAglxuICAgIC0g5omA5pyJ5a2Q6aG16Z2i5Lmf5piv54us56uL6K6+6K6h55qE6aG16Z2i77yM5Lmf5b+F6aG75Yqg5YWl5YiwcGFnZVJlcXVpcmVtZW50cy5wYWdlTGlzdOmYn+WIl+mHjFxuICAgIC0g6ZyA6KaB5ZyoLmJ5dGVmdW4vcHJvamVjdC5qc29u5paH5Lu26YeM6Z2i55qEcGFnZUxpc3Tmt7vliqDpppbpobVob21lUGFnZeeahHN1YlBhZ2VMaXN05a2Q6aG16Z2iZW5OYW1l5YiX6KGo77yM5qC85byP5L6L5a2Q77yaXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJwYWNrYWdlTmFtZVwiOiBcImNvbS5teWNvbXBhbnkubXlhcHBcIixcbiAgICAgICAgICAgIFwidmVyc2lvbk5hbWVcIjogXCIxLjAuMFwiLFxuICAgICAgICAgICAgXCJ2ZXJzaW9uQ29kZVwiOiAxLFxuICAgICAgICAgICAgLi4u5YW25LuW5bGe5oCnLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBcImVuTmFtZVwiOiBcImhvbWVQYWdlXCIsXG4gICAgICAgICAgICAgIFwic3ViUGFnZUxpc3RcIjogW1xuICAgICAgICAgICAgICAgIFwieHh4UGFnZVwiLFxuICAgICAgICAgICAgICAgIFwieHh4UGFnZVwiLFxuICAgICAgICAgICAgICAgIC4uLlxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAtIOWIhuexu+WtkOmhtemdolxuICAgIC0g5YiG57G75a2Q6aG16Z2i5LiA6Iis5L2/55So5YiG57G7dGFi6YCJ6aG55Y2h5p2l5a6e546w77yM5piv5LiA5LiqdGFi6aG16Z2iXG5gO1xuXG5leHBvcnQgY29uc3Qgc2VhcmNoQnVzaW5lc3NMb2dpYyA9IGBcbi0g5pCc57Si5Yqf6IO95qih5Z2XXG4gIC0g5pCc57Si6aG1XG4gICAgLSDmkJzntKLpobXkuIDoiKznlLHmkJzntKLmoI/jgIHlpJrnirbmgIHlrrnlmajnu4TmiJDvvIzlhbbkuK3lpJrnirbmgIHnlLE15Liq54q25oCB57uE5oiQ77ya6buY6K6k54q25oCB77yI5YyF5ous54Ot6Zeo5pCc57Si44CB5pCc57Si5Y6G5Y+y77yJ44CB5pCc57Si5Lit54q25oCB44CB5pCc57Si56m65pWw5o2u54q25oCB44CB5pCc57Si572R57uc6ZSZ6K+v54q25oCB44CB5pCc57Si5pyJ5pWw5o2u57uT5p6c54q25oCB77yI5pCc57Si57uT5p6c5YiX6KGo77yJXG5gOyJdfQ==