diff --git a/OpenFRP.har b/OpenFRP.har
new file mode 100644
index 0000000..6f411df
--- /dev/null
+++ b/OpenFRP.har
@@ -0,0 +1,506 @@
+[
+ {
+ "comment": "登录",
+ "request": {
+ "method": "POST",
+ "url": "https://console.openfrp.net/web/user/login",
+ "headers": [
+ {
+ "name": "Host",
+ "value": "console.openfrp.net"
+ },
+ {
+ "name": "Connection",
+ "value": "keep-alive"
+ },
+ {
+ "name": "sec-ch-ua",
+ "value": "\"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\", \"Not=A?Brand\";v=\"24\""
+ },
+ {
+ "name": "Accept",
+ "value": "application/json, text/plain, */*"
+ },
+ {
+ "name": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "name": "sec-ch-ua-mobile",
+ "value": "?0"
+ },
+ {
+ "name": "User-Agent",
+ "value": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"
+ },
+ {
+ "name": "sec-ch-ua-platform",
+ "value": "\"Windows\""
+ },
+ {
+ "name": "Origin",
+ "value": "https://console.openfrp.net"
+ },
+ {
+ "name": "Sec-Fetch-Site",
+ "value": "same-origin"
+ },
+ {
+ "name": "Sec-Fetch-Mode",
+ "value": "cors"
+ },
+ {
+ "name": "Sec-Fetch-Dest",
+ "value": "empty"
+ },
+ {
+ "name": "Referer",
+ "value": "https://console.openfrp.net/"
+ },
+ {
+ "name": "Accept-Encoding",
+ "value": "gzip, deflate, br"
+ },
+ {
+ "name": "Accept-Language",
+ "value": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6"
+ }
+ ],
+ "cookies": [],
+ "data": "{\"user\":\"{{username}}\",\"password\":\"{{password}}\"}",
+ "mimeType": "application/json"
+ },
+ "rule": {
+ "success_asserts": [
+ {
+ "re": "200",
+ "from": "status"
+ },
+ {
+ "re": "\"flag\":true",
+ "from": "content"
+ }
+ ],
+ "failed_asserts": [
+ {
+ "re": "\"flag\":false",
+ "from": "content"
+ }
+ ],
+ "extract_variables": [
+ {
+ "name": "session",
+ "re": "\"data\":\"(.+?)\",",
+ "from": "content"
+ },
+ {
+ "name": "auth",
+ "re": "Authorization: (.+)",
+ "from": "header"
+ }
+ ]
+ }
+ },
+ {
+ "request": {
+ "method": "POST",
+ "url": "https://console.openfrp.net/web/frp/api/getUserInfo",
+ "headers": [
+ {
+ "name": "Host",
+ "value": "console.openfrp.net"
+ },
+ {
+ "name": "Connection",
+ "value": "keep-alive"
+ },
+ {
+ "name": "sec-ch-ua",
+ "value": "\"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\", \"Not=A?Brand\";v=\"24\""
+ },
+ {
+ "name": "Accept",
+ "value": "application/json, text/plain, */*"
+ },
+ {
+ "name": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "name": "sec-ch-ua-mobile",
+ "value": "?0"
+ },
+ {
+ "name": "Authorization",
+ "value": "{{auth}}"
+ },
+ {
+ "name": "User-Agent",
+ "value": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"
+ },
+ {
+ "name": "sec-ch-ua-platform",
+ "value": "\"Windows\""
+ },
+ {
+ "name": "Origin",
+ "value": "https://console.openfrp.net"
+ },
+ {
+ "name": "Sec-Fetch-Site",
+ "value": "same-origin"
+ },
+ {
+ "name": "Sec-Fetch-Mode",
+ "value": "cors"
+ },
+ {
+ "name": "Sec-Fetch-Dest",
+ "value": "empty"
+ },
+ {
+ "name": "Referer",
+ "value": "https://console.openfrp.net/home/dashboard"
+ },
+ {
+ "name": "Accept-Encoding",
+ "value": "gzip, deflate, br"
+ },
+ {
+ "name": "Accept-Language",
+ "value": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6"
+ }
+ ],
+ "cookies": [],
+ "data": "{\"session\":\"{{session}}\"}",
+ "mimeType": "application/json"
+ },
+ "rule": {
+ "success_asserts": [
+ {
+ "re": "200",
+ "from": "status"
+ }
+ ],
+ "failed_asserts": [],
+ "extract_variables": []
+ }
+ },
+ {
+ "request": {
+ "method": "POST",
+ "url": "https://console.openfrp.net/web/frp/api/getSignInfo",
+ "headers": [
+ {
+ "name": "Host",
+ "value": "console.openfrp.net"
+ },
+ {
+ "name": "Connection",
+ "value": "keep-alive"
+ },
+ {
+ "name": "sec-ch-ua",
+ "value": "\"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\", \"Not=A?Brand\";v=\"24\""
+ },
+ {
+ "name": "Accept",
+ "value": "application/json, text/plain, */*"
+ },
+ {
+ "name": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "name": "sec-ch-ua-mobile",
+ "value": "?0"
+ },
+ {
+ "name": "Authorization",
+ "value": "{{auth}}"
+ },
+ {
+ "name": "User-Agent",
+ "value": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"
+ },
+ {
+ "name": "sec-ch-ua-platform",
+ "value": "\"Windows\""
+ },
+ {
+ "name": "Origin",
+ "value": "https://console.openfrp.net"
+ },
+ {
+ "name": "Sec-Fetch-Site",
+ "value": "same-origin"
+ },
+ {
+ "name": "Sec-Fetch-Mode",
+ "value": "cors"
+ },
+ {
+ "name": "Sec-Fetch-Dest",
+ "value": "empty"
+ },
+ {
+ "name": "Referer",
+ "value": "https://console.openfrp.net/home/user"
+ },
+ {
+ "name": "Accept-Encoding",
+ "value": "gzip, deflate, br"
+ },
+ {
+ "name": "Accept-Language",
+ "value": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6"
+ }
+ ],
+ "cookies": [],
+ "data": "{\"session\":\"{{session}}\"}",
+ "mimeType": "application/json"
+ },
+ "rule": {
+ "success_asserts": [
+ {
+ "re": "200",
+ "from": "status"
+ }
+ ],
+ "failed_asserts": [],
+ "extract_variables": [
+ {
+ "name": "log_totalsign",
+ "re": "\"totalsign\":\"(.+?)\"",
+ "from": "content"
+ },
+ {
+ "name": "log_totaltraffic",
+ "re": "\"totaltraffic\":\"(.+?)\"",
+ "from": "content"
+ },
+ {
+ "name": "raw_signdate",
+ "re": "\"signdate\":(.+?)}",
+ "from": "content"
+ }
+ ]
+ }
+ },
+ {
+ "request": {
+ "method": "POST",
+ "url": "https://console.openfrp.net/web/frp/api/userSign",
+ "headers": [
+ {
+ "name": "Host",
+ "value": "console.openfrp.net"
+ },
+ {
+ "name": "Connection",
+ "value": "keep-alive"
+ },
+ {
+ "name": "sec-ch-ua",
+ "value": "\"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\", \"Not=A?Brand\";v=\"24\""
+ },
+ {
+ "name": "Accept",
+ "value": "application/json, text/plain, */*"
+ },
+ {
+ "name": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "name": "sec-ch-ua-mobile",
+ "value": "?0"
+ },
+ {
+ "name": "Authorization",
+ "value": "{{auth}}"
+ },
+ {
+ "name": "User-Agent",
+ "value": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"
+ },
+ {
+ "name": "sec-ch-ua-platform",
+ "value": "\"Windows\""
+ },
+ {
+ "name": "Origin",
+ "value": "https://console.openfrp.net"
+ },
+ {
+ "name": "Sec-Fetch-Site",
+ "value": "same-origin"
+ },
+ {
+ "name": "Sec-Fetch-Mode",
+ "value": "cors"
+ },
+ {
+ "name": "Sec-Fetch-Dest",
+ "value": "empty"
+ },
+ {
+ "name": "Referer",
+ "value": "https://console.openfrp.net/home/user"
+ },
+ {
+ "name": "Accept-Encoding",
+ "value": "gzip, deflate, br"
+ },
+ {
+ "name": "Accept-Language",
+ "value": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6"
+ }
+ ],
+ "cookies": [],
+ "data": "{\"session\":\"{{session}}\"}",
+ "mimeType": "application/json"
+ },
+ "rule": {
+ "success_asserts": [
+ {
+ "re": "200",
+ "from": "status"
+ }
+ ],
+ "failed_asserts": [],
+ "extract_variables": []
+ }
+ },
+ {
+ "request": {
+ "method": "POST",
+ "url": "https://console.openfrp.net/web/frp/api/getSignInfo",
+ "headers": [
+ {
+ "name": "Host",
+ "value": "console.openfrp.net"
+ },
+ {
+ "name": "Connection",
+ "value": "keep-alive"
+ },
+ {
+ "name": "sec-ch-ua",
+ "value": "\"Google Chrome\";v=\"103\", \"Chromium\";v=\"103\", \"Not=A?Brand\";v=\"24\""
+ },
+ {
+ "name": "Accept",
+ "value": "application/json, text/plain, */*"
+ },
+ {
+ "name": "Content-Type",
+ "value": "application/json"
+ },
+ {
+ "name": "sec-ch-ua-mobile",
+ "value": "?0"
+ },
+ {
+ "name": "Authorization",
+ "value": "{{auth}}"
+ },
+ {
+ "name": "User-Agent",
+ "value": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"
+ },
+ {
+ "name": "sec-ch-ua-platform",
+ "value": "\"Windows\""
+ },
+ {
+ "name": "Origin",
+ "value": "https://console.openfrp.net"
+ },
+ {
+ "name": "Sec-Fetch-Site",
+ "value": "same-origin"
+ },
+ {
+ "name": "Sec-Fetch-Mode",
+ "value": "cors"
+ },
+ {
+ "name": "Sec-Fetch-Dest",
+ "value": "empty"
+ },
+ {
+ "name": "Referer",
+ "value": "https://console.openfrp.net/home/user"
+ },
+ {
+ "name": "Accept-Encoding",
+ "value": "gzip, deflate, br"
+ },
+ {
+ "name": "Accept-Language",
+ "value": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6"
+ }
+ ],
+ "cookies": [],
+ "data": "{\"session\":\"{{session}}\"}",
+ "mimeType": "application/json"
+ },
+ "rule": {
+ "success_asserts": [
+ {
+ "re": "200",
+ "from": "status"
+ }
+ ],
+ "failed_asserts": [],
+ "extract_variables": [
+ {
+ "name": "log_totalsign",
+ "re": "\"totalsign\":\"(.+?)\"",
+ "from": "content"
+ },
+ {
+ "name": "log_totaltraffic",
+ "re": "\"totaltraffic\":\"(.+?)\"",
+ "from": "content"
+ },
+ {
+ "name": "raw_signdate",
+ "re": "\"signdate\":(.+?)}",
+ "from": "content"
+ }
+ ]
+ }
+ },
+ {
+ "comment": "生成日志",
+ "request": {
+ "method": "POST",
+ "url": "api://util/urldecode",
+ "headers": [],
+ "cookies": [],
+ "data": "content=累计签到: {{log_totalsign}} , 累计流量: {{log_totaltraffic}}"
+ },
+ "rule": {
+ "success_asserts": [
+ {
+ "re": "200",
+ "from": "status"
+ },
+ {
+ "re": "\"状态\": \"200\"",
+ "from": "content"
+ }
+ ],
+ "failed_asserts": [],
+ "extract_variables": [
+ {
+ "name": "__log__",
+ "re": "\"转换后\": \"(.*)\"",
+ "from": "content"
+ }
+ ]
+ }
+ }
+]
\ No newline at end of file
diff --git a/tpls_history.json b/tpls_history.json
index bf9b89a..18efc40 100644
--- a/tpls_history.json
+++ b/tpls_history.json
@@ -2604,6 +2604,18 @@
"date": "2023-06-20 20:28:43",
"version": "20230620",
"commenturl": "https://github.com/qd-today/templates/issues/367"
+ },
+ "OpenFRP": {
+ "name": "OpenFRP",
+ "author": "github-h",
+ "url": "https://raw.githubusercontent.com/qd-today/templates/master/OpenFRP.har",
+ "update": false,
+ "comments": "username:账号 password:密码
每日领取流量
https://console.openfrp.net",
+ "filename": "OpenFRP.har",
+ "content": "W3siY29tbWVudCI6ICLnmbvlvZUiLCAicmVxdWVzdCI6IHsibWV0aG9kIjogIlBPU1QiLCAidXJsIjogImh0dHBzOi8vY29uc29sZS5vcGVuZnJwLm5ldC93ZWIvdXNlci9sb2dpbiIsICJoZWFkZXJzIjogW3sibmFtZSI6ICJIb3N0IiwgInZhbHVlIjogImNvbnNvbGUub3BlbmZycC5uZXQifSwgeyJuYW1lIjogIkNvbm5lY3Rpb24iLCAidmFsdWUiOiAia2VlcC1hbGl2ZSJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiR29vZ2xlIENocm9tZVwiO3Y9XCIxMDNcIiwgXCJDaHJvbWl1bVwiO3Y9XCIxMDNcIiwgXCJOb3Q9QT9CcmFuZFwiO3Y9XCIyNFwiIn0sIHsibmFtZSI6ICJBY2NlcHQiLCAidmFsdWUiOiAiYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qIn0sIHsibmFtZSI6ICJDb250ZW50LVR5cGUiLCAidmFsdWUiOiAiYXBwbGljYXRpb24vanNvbiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAiVXNlci1BZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2LjE7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMDMuMC4wLjAgU2FmYXJpLzUzNy4zNiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJPcmlnaW4iLCAidmFsdWUiOiAiaHR0cHM6Ly9jb25zb2xlLm9wZW5mcnAubmV0In0sIHsibmFtZSI6ICJTZWMtRmV0Y2gtU2l0ZSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbiJ9LCB7Im5hbWUiOiAiU2VjLUZldGNoLU1vZGUiLCAidmFsdWUiOiAiY29ycyJ9LCB7Im5hbWUiOiAiU2VjLUZldGNoLURlc3QiLCAidmFsdWUiOiAiZW1wdHkifSwgeyJuYW1lIjogIlJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly9jb25zb2xlLm9wZW5mcnAubmV0LyJ9LCB7Im5hbWUiOiAiQWNjZXB0LUVuY29kaW5nIiwgInZhbHVlIjogImd6aXAsIGRlZmxhdGUsIGJyIn0sIHsibmFtZSI6ICJBY2NlcHQtTGFuZ3VhZ2UiLCAidmFsdWUiOiAiemgtQ04semg7cT0wLjksZW47cT0wLjgsZW4tR0I7cT0wLjcsZW4tVVM7cT0wLjYifV0sICJjb29raWVzIjogW10sICJkYXRhIjogIntcInVzZXJcIjpcInt7dXNlcm5hbWV9fVwiLFwicGFzc3dvcmRcIjpcInt7cGFzc3dvcmR9fVwifSIsICJtaW1lVHlwZSI6ICJhcHBsaWNhdGlvbi9qc29uIn0sICJydWxlIjogeyJzdWNjZXNzX2Fzc2VydHMiOiBbeyJyZSI6ICIyMDAiLCAiZnJvbSI6ICJzdGF0dXMifSwgeyJyZSI6ICJcImZsYWdcIjp0cnVlIiwgImZyb20iOiAiY29udGVudCJ9XSwgImZhaWxlZF9hc3NlcnRzIjogW3sicmUiOiAiXCJmbGFnXCI6ZmFsc2UiLCAiZnJvbSI6ICJjb250ZW50In1dLCAiZXh0cmFjdF92YXJpYWJsZXMiOiBbeyJuYW1lIjogInNlc3Npb24iLCAicmUiOiAiXCJkYXRhXCI6XCIoLis/KVwiLCIsICJmcm9tIjogImNvbnRlbnQifSwgeyJuYW1lIjogImF1dGgiLCAicmUiOiAiQXV0aG9yaXphdGlvbjogKC4rKSIsICJmcm9tIjogImhlYWRlciJ9XX19LCB7InJlcXVlc3QiOiB7Im1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICJodHRwczovL2NvbnNvbGUub3BlbmZycC5uZXQvd2ViL2ZycC9hcGkvZ2V0VXNlckluZm8iLCAiaGVhZGVycyI6IFt7Im5hbWUiOiAiSG9zdCIsICJ2YWx1ZSI6ICJjb25zb2xlLm9wZW5mcnAubmV0In0sIHsibmFtZSI6ICJDb25uZWN0aW9uIiwgInZhbHVlIjogImtlZXAtYWxpdmUifSwgeyJuYW1lIjogInNlYy1jaC11YSIsICJ2YWx1ZSI6ICJcIkdvb2dsZSBDaHJvbWVcIjt2PVwiMTAzXCIsIFwiQ2hyb21pdW1cIjt2PVwiMTAzXCIsIFwiTm90PUE/QnJhbmRcIjt2PVwiMjRcIiJ9LCB7Im5hbWUiOiAiQWNjZXB0IiwgInZhbHVlIjogImFwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW4sICovKiJ9LCB7Im5hbWUiOiAiQ29udGVudC1UeXBlIiwgInZhbHVlIjogImFwcGxpY2F0aW9uL2pzb24ifSwgeyJuYW1lIjogInNlYy1jaC11YS1tb2JpbGUiLCAidmFsdWUiOiAiPzAifSwgeyJuYW1lIjogIkF1dGhvcml6YXRpb24iLCAidmFsdWUiOiAie3thdXRofX0ifSwgeyJuYW1lIjogIlVzZXItQWdlbnQiLCAidmFsdWUiOiAiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgNi4xOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTAzLjAuMC4wIFNhZmFyaS81MzcuMzYifSwgeyJuYW1lIjogInNlYy1jaC11YS1wbGF0Zm9ybSIsICJ2YWx1ZSI6ICJcIldpbmRvd3NcIiJ9LCB7Im5hbWUiOiAiT3JpZ2luIiwgInZhbHVlIjogImh0dHBzOi8vY29uc29sZS5vcGVuZnJwLm5ldCJ9LCB7Im5hbWUiOiAiU2VjLUZldGNoLVNpdGUiLCAidmFsdWUiOiAic2FtZS1vcmlnaW4ifSwgeyJuYW1lIjogIlNlYy1GZXRjaC1Nb2RlIiwgInZhbHVlIjogImNvcnMifSwgeyJuYW1lIjogIlNlYy1GZXRjaC1EZXN0IiwgInZhbHVlIjogImVtcHR5In0sIHsibmFtZSI6ICJSZWZlcmVyIiwgInZhbHVlIjogImh0dHBzOi8vY29uc29sZS5vcGVuZnJwLm5ldC9ob21lL2Rhc2hib2FyZCJ9LCB7Im5hbWUiOiAiQWNjZXB0LUVuY29kaW5nIiwgInZhbHVlIjogImd6aXAsIGRlZmxhdGUsIGJyIn0sIHsibmFtZSI6ICJBY2NlcHQtTGFuZ3VhZ2UiLCAidmFsdWUiOiAiemgtQ04semg7cT0wLjksZW47cT0wLjgsZW4tR0I7cT0wLjcsZW4tVVM7cT0wLjYifV0sICJjb29raWVzIjogW10sICJkYXRhIjogIntcInNlc3Npb25cIjpcInt7c2Vzc2lvbn19XCJ9IiwgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL2pzb24ifSwgInJ1bGUiOiB7InN1Y2Nlc3NfYXNzZXJ0cyI6IFt7InJlIjogIjIwMCIsICJmcm9tIjogInN0YXR1cyJ9XSwgImZhaWxlZF9hc3NlcnRzIjogW10sICJleHRyYWN0X3ZhcmlhYmxlcyI6IFtdfX0sIHsicmVxdWVzdCI6IHsibWV0aG9kIjogIlBPU1QiLCAidXJsIjogImh0dHBzOi8vY29uc29sZS5vcGVuZnJwLm5ldC93ZWIvZnJwL2FwaS9nZXRTaWduSW5mbyIsICJoZWFkZXJzIjogW3sibmFtZSI6ICJIb3N0IiwgInZhbHVlIjogImNvbnNvbGUub3BlbmZycC5uZXQifSwgeyJuYW1lIjogIkNvbm5lY3Rpb24iLCAidmFsdWUiOiAia2VlcC1hbGl2ZSJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhIiwgInZhbHVlIjogIlwiR29vZ2xlIENocm9tZVwiO3Y9XCIxMDNcIiwgXCJDaHJvbWl1bVwiO3Y9XCIxMDNcIiwgXCJOb3Q9QT9CcmFuZFwiO3Y9XCIyNFwiIn0sIHsibmFtZSI6ICJBY2NlcHQiLCAidmFsdWUiOiAiYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qIn0sIHsibmFtZSI6ICJDb250ZW50LVR5cGUiLCAidmFsdWUiOiAiYXBwbGljYXRpb24vanNvbiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLW1vYmlsZSIsICJ2YWx1ZSI6ICI/MCJ9LCB7Im5hbWUiOiAiQXV0aG9yaXphdGlvbiIsICJ2YWx1ZSI6ICJ7e2F1dGh9fSJ9LCB7Im5hbWUiOiAiVXNlci1BZ2VudCIsICJ2YWx1ZSI6ICJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2LjE7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMDMuMC4wLjAgU2FmYXJpLzUzNy4zNiJ9LCB7Im5hbWUiOiAic2VjLWNoLXVhLXBsYXRmb3JtIiwgInZhbHVlIjogIlwiV2luZG93c1wiIn0sIHsibmFtZSI6ICJPcmlnaW4iLCAidmFsdWUiOiAiaHR0cHM6Ly9jb25zb2xlLm9wZW5mcnAubmV0In0sIHsibmFtZSI6ICJTZWMtRmV0Y2gtU2l0ZSIsICJ2YWx1ZSI6ICJzYW1lLW9yaWdpbiJ9LCB7Im5hbWUiOiAiU2VjLUZldGNoLU1vZGUiLCAidmFsdWUiOiAiY29ycyJ9LCB7Im5hbWUiOiAiU2VjLUZldGNoLURlc3QiLCAidmFsdWUiOiAiZW1wdHkifSwgeyJuYW1lIjogIlJlZmVyZXIiLCAidmFsdWUiOiAiaHR0cHM6Ly9jb25zb2xlLm9wZW5mcnAubmV0L2hvbWUvdXNlciJ9LCB7Im5hbWUiOiAiQWNjZXB0LUVuY29kaW5nIiwgInZhbHVlIjogImd6aXAsIGRlZmxhdGUsIGJyIn0sIHsibmFtZSI6ICJBY2NlcHQtTGFuZ3VhZ2UiLCAidmFsdWUiOiAiemgtQ04semg7cT0wLjksZW47cT0wLjgsZW4tR0I7cT0wLjcsZW4tVVM7cT0wLjYifV0sICJjb29raWVzIjogW10sICJkYXRhIjogIntcInNlc3Npb25cIjpcInt7c2Vzc2lvbn19XCJ9IiwgIm1pbWVUeXBlIjogImFwcGxpY2F0aW9uL2pzb24ifSwgInJ1bGUiOiB7InN1Y2Nlc3NfYXNzZXJ0cyI6IFt7InJlIjogIjIwMCIsICJmcm9tIjogInN0YXR1cyJ9XSwgImZhaWxlZF9hc3NlcnRzIjogW10sICJleHRyYWN0X3ZhcmlhYmxlcyI6IFt7Im5hbWUiOiAibG9nX3RvdGFsc2lnbiIsICJyZSI6ICJcInRvdGFsc2lnblwiOlwiKC4rPylcIiIsICJmcm9tIjogImNvbnRlbnQifSwgeyJuYW1lIjogImxvZ190b3RhbHRyYWZmaWMiLCAicmUiOiAiXCJ0b3RhbHRyYWZmaWNcIjpcIiguKz8pXCIiLCAiZnJvbSI6ICJjb250ZW50In0sIHsibmFtZSI6ICJyYXdfc2lnbmRhdGUiLCAicmUiOiAiXCJzaWduZGF0ZVwiOiguKz8pfSIsICJmcm9tIjogImNvbnRlbnQifV19fSwgeyJyZXF1ZXN0IjogeyJtZXRob2QiOiAiUE9TVCIsICJ1cmwiOiAiaHR0cHM6Ly9jb25zb2xlLm9wZW5mcnAubmV0L3dlYi9mcnAvYXBpL3VzZXJTaWduIiwgImhlYWRlcnMiOiBbeyJuYW1lIjogIkhvc3QiLCAidmFsdWUiOiAiY29uc29sZS5vcGVuZnJwLm5ldCJ9LCB7Im5hbWUiOiAiQ29ubmVjdGlvbiIsICJ2YWx1ZSI6ICJrZWVwLWFsaXZlIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJHb29nbGUgQ2hyb21lXCI7dj1cIjEwM1wiLCBcIkNocm9taXVtXCI7dj1cIjEwM1wiLCBcIk5vdD1BP0JyYW5kXCI7dj1cIjI0XCIifSwgeyJuYW1lIjogIkFjY2VwdCIsICJ2YWx1ZSI6ICJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L3BsYWluLCAqLyoifSwgeyJuYW1lIjogIkNvbnRlbnQtVHlwZSIsICJ2YWx1ZSI6ICJhcHBsaWNhdGlvbi9qc29uIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJBdXRob3JpemF0aW9uIiwgInZhbHVlIjogInt7YXV0aH19In0sIHsibmFtZSI6ICJVc2VyLUFnZW50IiwgInZhbHVlIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDYuMTsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEwMy4wLjAuMCBTYWZhcmkvNTM3LjM2In0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifSwgeyJuYW1lIjogIk9yaWdpbiIsICJ2YWx1ZSI6ICJodHRwczovL2NvbnNvbGUub3BlbmZycC5uZXQifSwgeyJuYW1lIjogIlNlYy1GZXRjaC1TaXRlIiwgInZhbHVlIjogInNhbWUtb3JpZ2luIn0sIHsibmFtZSI6ICJTZWMtRmV0Y2gtTW9kZSIsICJ2YWx1ZSI6ICJjb3JzIn0sIHsibmFtZSI6ICJTZWMtRmV0Y2gtRGVzdCIsICJ2YWx1ZSI6ICJlbXB0eSJ9LCB7Im5hbWUiOiAiUmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL2NvbnNvbGUub3BlbmZycC5uZXQvaG9tZS91c2VyIn0sIHsibmFtZSI6ICJBY2NlcHQtRW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIifSwgeyJuYW1lIjogIkFjY2VwdC1MYW5ndWFnZSIsICJ2YWx1ZSI6ICJ6aC1DTix6aDtxPTAuOSxlbjtxPTAuOCxlbi1HQjtxPTAuNyxlbi1VUztxPTAuNiJ9XSwgImNvb2tpZXMiOiBbXSwgImRhdGEiOiAie1wic2Vzc2lvblwiOlwie3tzZXNzaW9ufX1cIn0iLCAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vanNvbiJ9LCAicnVsZSI6IHsic3VjY2Vzc19hc3NlcnRzIjogW3sicmUiOiAiMjAwIiwgImZyb20iOiAic3RhdHVzIn1dLCAiZmFpbGVkX2Fzc2VydHMiOiBbXSwgImV4dHJhY3RfdmFyaWFibGVzIjogW119fSwgeyJyZXF1ZXN0IjogeyJtZXRob2QiOiAiUE9TVCIsICJ1cmwiOiAiaHR0cHM6Ly9jb25zb2xlLm9wZW5mcnAubmV0L3dlYi9mcnAvYXBpL2dldFNpZ25JbmZvIiwgImhlYWRlcnMiOiBbeyJuYW1lIjogIkhvc3QiLCAidmFsdWUiOiAiY29uc29sZS5vcGVuZnJwLm5ldCJ9LCB7Im5hbWUiOiAiQ29ubmVjdGlvbiIsICJ2YWx1ZSI6ICJrZWVwLWFsaXZlIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEiLCAidmFsdWUiOiAiXCJHb29nbGUgQ2hyb21lXCI7dj1cIjEwM1wiLCBcIkNocm9taXVtXCI7dj1cIjEwM1wiLCBcIk5vdD1BP0JyYW5kXCI7dj1cIjI0XCIifSwgeyJuYW1lIjogIkFjY2VwdCIsICJ2YWx1ZSI6ICJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L3BsYWluLCAqLyoifSwgeyJuYW1lIjogIkNvbnRlbnQtVHlwZSIsICJ2YWx1ZSI6ICJhcHBsaWNhdGlvbi9qc29uIn0sIHsibmFtZSI6ICJzZWMtY2gtdWEtbW9iaWxlIiwgInZhbHVlIjogIj8wIn0sIHsibmFtZSI6ICJBdXRob3JpemF0aW9uIiwgInZhbHVlIjogInt7YXV0aH19In0sIHsibmFtZSI6ICJVc2VyLUFnZW50IiwgInZhbHVlIjogIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDYuMTsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEwMy4wLjAuMCBTYWZhcmkvNTM3LjM2In0sIHsibmFtZSI6ICJzZWMtY2gtdWEtcGxhdGZvcm0iLCAidmFsdWUiOiAiXCJXaW5kb3dzXCIifSwgeyJuYW1lIjogIk9yaWdpbiIsICJ2YWx1ZSI6ICJodHRwczovL2NvbnNvbGUub3BlbmZycC5uZXQifSwgeyJuYW1lIjogIlNlYy1GZXRjaC1TaXRlIiwgInZhbHVlIjogInNhbWUtb3JpZ2luIn0sIHsibmFtZSI6ICJTZWMtRmV0Y2gtTW9kZSIsICJ2YWx1ZSI6ICJjb3JzIn0sIHsibmFtZSI6ICJTZWMtRmV0Y2gtRGVzdCIsICJ2YWx1ZSI6ICJlbXB0eSJ9LCB7Im5hbWUiOiAiUmVmZXJlciIsICJ2YWx1ZSI6ICJodHRwczovL2NvbnNvbGUub3BlbmZycC5uZXQvaG9tZS91c2VyIn0sIHsibmFtZSI6ICJBY2NlcHQtRW5jb2RpbmciLCAidmFsdWUiOiAiZ3ppcCwgZGVmbGF0ZSwgYnIifSwgeyJuYW1lIjogIkFjY2VwdC1MYW5ndWFnZSIsICJ2YWx1ZSI6ICJ6aC1DTix6aDtxPTAuOSxlbjtxPTAuOCxlbi1HQjtxPTAuNyxlbi1VUztxPTAuNiJ9XSwgImNvb2tpZXMiOiBbXSwgImRhdGEiOiAie1wic2Vzc2lvblwiOlwie3tzZXNzaW9ufX1cIn0iLCAibWltZVR5cGUiOiAiYXBwbGljYXRpb24vanNvbiJ9LCAicnVsZSI6IHsic3VjY2Vzc19hc3NlcnRzIjogW3sicmUiOiAiMjAwIiwgImZyb20iOiAic3RhdHVzIn1dLCAiZmFpbGVkX2Fzc2VydHMiOiBbXSwgImV4dHJhY3RfdmFyaWFibGVzIjogW3sibmFtZSI6ICJsb2dfdG90YWxzaWduIiwgInJlIjogIlwidG90YWxzaWduXCI6XCIoLis/KVwiIiwgImZyb20iOiAiY29udGVudCJ9LCB7Im5hbWUiOiAibG9nX3RvdGFsdHJhZmZpYyIsICJyZSI6ICJcInRvdGFsdHJhZmZpY1wiOlwiKC4rPylcIiIsICJmcm9tIjogImNvbnRlbnQifSwgeyJuYW1lIjogInJhd19zaWduZGF0ZSIsICJyZSI6ICJcInNpZ25kYXRlXCI6KC4rPyl9IiwgImZyb20iOiAiY29udGVudCJ9XX19LCB7ImNvbW1lbnQiOiAi55Sf5oiQ5pel5b+XIiwgInJlcXVlc3QiOiB7Im1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICJhcGk6Ly91dGlsL3VybGRlY29kZSIsICJoZWFkZXJzIjogW10sICJjb29raWVzIjogW10sICJkYXRhIjogImNvbnRlbnQ957Sv6K6h562+5YiwOiB7e2xvZ190b3RhbHNpZ259fSAsIOe0r+iuoea1gemHjzoge3tsb2dfdG90YWx0cmFmZmljfX0ifSwgInJ1bGUiOiB7InN1Y2Nlc3NfYXNzZXJ0cyI6IFt7InJlIjogIjIwMCIsICJmcm9tIjogInN0YXR1cyJ9LCB7InJlIjogIlwi54q25oCBXCI6IFwiMjAwXCIiLCAiZnJvbSI6ICJjb250ZW50In1dLCAiZmFpbGVkX2Fzc2VydHMiOiBbXSwgImV4dHJhY3RfdmFyaWFibGVzIjogW3sibmFtZSI6ICJfX2xvZ19fIiwgInJlIjogIlwi6L2s5o2i5ZCOXCI6IFwiKC4qKVwiIiwgImZyb20iOiAiY29udGVudCJ9XX19XQ==",
+ "date": "2023-06-27 16:18:25",
+ "version": "20230627",
+ "commenturl": "https://github.com/qd-today/templates/issues/378"
}
}
}
\ No newline at end of file