merge: keep remote updates + local SSH tunnel chapter (Navicat)

This commit is contained in:
2026-04-14 12:10:54 +08:00
275 changed files with 27285 additions and 26991 deletions

View File

@@ -70,6 +70,10 @@ WX_MINI_APPSECRET=d326aaf93eb4d106e35592667ef022f5
# ---- 微信公众号 ----
WX_OA_APPID=wx7a1c6f324182bc83
WX_OA_APPSECRET=a90ba94e3a2dca8d09656dcc364e1df0
# wxserver OAuth 回调基础地址,优先于 WX_OA_REDIRECT_DOMAIN_KEY
# api 与 wxserver 共用 api.ROOT_DOMAIN通过 /wx/ 前缀区分
# 回调完整地址为WX_OA_REDIRECT_DOMAIN + /auth/oa/callback
# WX_OA_REDIRECT_DOMAIN= (由 docker-compose.yml 自动注入,无需在此配置)
WX_OA_REDIRECT_DOMAIN_KEY=minipro_api_url
# ---- 微信支付 (dlweb) ----
@@ -99,75 +103,19 @@ DLWEB_PORT=8082
# WXSERVER_PORT 同时用于容器内监听和宿主机映射
# ---- 域名配置 (只需填写父域名) ----
# 三个子域名由 docker-compose.yml 自动推导,无需单独配置:
# API_DOMAIN = api.<ROOT_DOMAIN>
# DLWEB_DOMAIN = dlapi.<ROOT_DOMAIN>
# WX_DOMAIN = wxapi.<ROOT_DOMAIN>
# 所有子域名由 docker-compose.yml 从 ROOT_DOMAIN 自动拼接,无需单独配置:
# api.ROOT_DOMAIN API 服务
# dlapi.ROOT_DOMAIN 代理管理后台
# api.ROOT_DOMAIN API 服务(含 wxserver /wx/ 路由)
# api2.ROOT_DOMAIN API2 服务
# sdk.ROOT_DOMAIN SDK 域名
# open.ROOT_DOMAIN 活动/图片资源
ROOT_DOMAIN=daoqijuyou77.cn
# ---- SSL 证书 (Let's Encrypt) ----
# 用于接收证书到期提醒邮件(必填)
SSL_EMAIL=lanterngames@163.com
# ============================================
# 站点域名配置PHP env() 和 Docker entrypoint 使用)
# ============================================
# 以下变量均由 docker-compose.yml 从 ROOT_DOMAIN 自动推导注入,无需手动配置:
# DLWEB_API_BASE_URL = https://dlapi.<ROOT_DOMAIN> (dlweb 本身 API 基地址)
# DLWEB_SDK_API_URL = https://api.<ROOT_DOMAIN> (sdk login/pay指向 api 容器)
# DLWEB_DL_API_V3_URL = https://dlapi.<ROOT_DOMAIN> (tangjian.js 推广 API)
# SITE_API_URL = https://api.<ROOT_DOMAIN> (支付表单 action 域名)
# SITE_PAY_NOTIFY_URL = https://api.<ROOT_DOMAIN> (微信支付异步回调)
# SITE_OPEN_URL = http://open.<ROOT_DOMAIN> (活动/市场图片前缀)
# 如需覆盖某个子域名(非标准命名),取消注释并填写:
# API_DOMAIN=api.daoqijuyou77.cn
# DLWEB_DOMAIN=dlapi.daoqijuyou77.cn
# WX_DOMAIN=wxapi.daoqijuyou77.cn
# SITE_API_URL=https://api.daoqijuyou77.cn
# SITE_PAY_NOTIFY_URL=https://api.daoqijuyou77.cn
# SITE_OPEN_URL=http://open.daoqijuyou77.cn
# API2 / SDK 域名(使用独立域名时才需要配置)
# SITE_API2_URL=https://api2.tscce.cn
# SITE_SDK_DOMAIN=sdk.tscce.cn
# QQ 登录回调地址
# QQ_CALLBACK_URL=http://syhd.daoqijuyou77.cn
# ============================================
# DLWEB 前端域名配置Docker entrypoint sed 替换使用)
# ============================================
# 结算后台地址
# DLWEB_SETTLE_URL=http://dlsettle.daoqijuyou77.cn/mobile/
# DLWEB_SETTLE_FULL_URL=http://dlsettle.tscce.cn
# 默认头像地址
# DLWEB_AVATAR_URL=https://dlwebv3.tscce.cn/images/noavatar.png
# DLWEB_SDK_API2_URL=https://api2.tscce.cn
# DLWEB 代理测试/管理地址
# DLWEB_PROXY_URL=https://proxytest.tscce.cn
# DLWEB_PROXY_77_URL=https://proxytest.daoqijuyou77.cn
# DLWEB_DL_API_V3_URL 由 docker-compose.yml 自动推导(= https://dlapi.<ROOT_DOMAIN>),无需配置
# 运营后台地址
# DLWEB_OPERATE_URL=https://operate.daoqijuyou77.cn
# 下载页 CDN/图片地址
# DLWEB_DOWNLOAD_CDN_URL=http://tsqiniu1.tscce.cn
# DLWEB_GAME_IMAGE_URL=http://tsgames.daoqijuyou77.cn
# DLWEB_SKYGAMES_URL=https://skygames.tscce.cn
# 游戏服务查询地址
# SITE_GAME_SERVICE_URL=http://ylyxservice1.daoqijuyou77.cn:1089/index.html
# ============================================
# 定时同步任务 (Synchronize.php)
# ============================================

17
codes/agent/game-docker/.gitattributes vendored Normal file
View File

@@ -0,0 +1,17 @@
# Docker 项目中所有脚本和配置文件必须使用 LF 行尾符,否则容器中无法正常工作
*.sh text eol=lf
*.php text eol=lf
*.conf text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
*.env text eol=lf
*.sql text eol=lf
*.ini text eol=lf
*.json text eol=lf
*.js text eol=lf
*.html text eol=lf
*.css text eol=lf
*.xml text eol=lf
*.htaccess text eol=lf
Dockerfile text eol=lf
docker-compose*.yml text eol=lf

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
e8c43dd296b1de0360e899de7964eea9

View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="14" height="14" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="refresh" sketch:type="MSArtboardGroup" fill="#4a4a4a">
<g sketch:type="MSLayerGroup" id="Shape">
<path d="M12.0002593,6.53352696 L12.0002593,6.53352696 C12.0002593,9.47472987 9.75656368,11.866805 7.00045379,11.866805 C5.36610095,11.866805 3.91598491,11.0262677 3.00333208,9.73070553 L4.50027875,8.13327801 L0,8.13327801 L0,12.9340802 L1.57681287,11.2518438 C2.86011747,12.9282714 4.81211995,14 7.00045379,14 C10.8659778,14 14,10.6574071 14,6.53333333 L12.0002593,6.53333333 L12.0002593,6.53352696 Z" sketch:type="MSShapeGroup"/>
<path d="M6.99972773,-8.8817842e-16 C3.13420374,-8.8817842e-16 0,3.34332115 0,7.46666667 L1.99992221,7.46666667 C1.99992221,4.52584507 4.24252875,2.13349928 6.99990924,2.13349928 C8.63262845,2.13349928 10.0843781,2.97334682 10.997394,4.26874098 L9.49990276,5.86654221 L14,5.86654221 L14,1.06771765 L12.4228241,2.74954235 C11.139701,1.07275132 9.1873355,-8.8817842e-16 6.99972773,-8.8817842e-16 Z" sketch:type="MSShapeGroup"/>
</g>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="14" height="14" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="refresh" sketch:type="MSArtboardGroup" fill="#4a4a4a">
<g sketch:type="MSLayerGroup" id="Shape">
<path d="M12.0002593,6.53352696 L12.0002593,6.53352696 C12.0002593,9.47472987 9.75656368,11.866805 7.00045379,11.866805 C5.36610095,11.866805 3.91598491,11.0262677 3.00333208,9.73070553 L4.50027875,8.13327801 L0,8.13327801 L0,12.9340802 L1.57681287,11.2518438 C2.86011747,12.9282714 4.81211995,14 7.00045379,14 C10.8659778,14 14,10.6574071 14,6.53333333 L12.0002593,6.53333333 L12.0002593,6.53352696 Z" sketch:type="MSShapeGroup"/>
<path d="M6.99972773,-8.8817842e-16 C3.13420374,-8.8817842e-16 0,3.34332115 0,7.46666667 L1.99992221,7.46666667 C1.99992221,4.52584507 4.24252875,2.13349928 6.99990924,2.13349928 C8.63262845,2.13349928 10.0843781,2.97334682 10.997394,4.26874098 L9.49990276,5.86654221 L14,5.86654221 L14,1.06771765 L12.4228241,2.74954235 C11.139701,1.07275132 9.1873355,-8.8817842e-16 6.99972773,-8.8817842e-16 Z" sketch:type="MSShapeGroup"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="14" height="14" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="refresh_hover" sketch:type="MSArtboardGroup" fill="#0069d9">
<g id="refresh" sketch:type="MSLayerGroup">
<path d="M12.0002593,6.53352696 L12.0002593,6.53352696 C12.0002593,9.47472987 9.75656368,11.866805 7.00045379,11.866805 C5.36610095,11.866805 3.91598491,11.0262677 3.00333208,9.73070553 L4.50027875,8.13327801 L0,8.13327801 L0,12.9340802 L1.57681287,11.2518438 C2.86011747,12.9282714 4.81211995,14 7.00045379,14 C10.8659778,14 14,10.6574071 14,6.53333333 L12.0002593,6.53333333 L12.0002593,6.53352696 Z" id="Shape" sketch:type="MSShapeGroup"/>
<path d="M6.99972773,-8.8817842e-16 C3.13420374,-8.8817842e-16 0,3.34332115 0,7.46666667 L1.99992221,7.46666667 C1.99992221,4.52584507 4.24252875,2.13349928 6.99990924,2.13349928 C8.63262845,2.13349928 10.0843781,2.97334682 10.997394,4.26874098 L9.49990276,5.86654221 L14,5.86654221 L14,1.06771765 L12.4228241,2.74954235 C11.139701,1.07275132 9.1873355,-8.8817842e-16 6.99972773,-8.8817842e-16 Z" id="Shape" sketch:type="MSShapeGroup"/>
</g>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="14" height="14" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="refresh_hover" sketch:type="MSArtboardGroup" fill="#0069d9">
<g id="refresh" sketch:type="MSLayerGroup">
<path d="M12.0002593,6.53352696 L12.0002593,6.53352696 C12.0002593,9.47472987 9.75656368,11.866805 7.00045379,11.866805 C5.36610095,11.866805 3.91598491,11.0262677 3.00333208,9.73070553 L4.50027875,8.13327801 L0,8.13327801 L0,12.9340802 L1.57681287,11.2518438 C2.86011747,12.9282714 4.81211995,14 7.00045379,14 C10.8659778,14 14,10.6574071 14,6.53333333 L12.0002593,6.53333333 L12.0002593,6.53352696 Z" id="Shape" sketch:type="MSShapeGroup"/>
<path d="M6.99972773,-8.8817842e-16 C3.13420374,-8.8817842e-16 0,3.34332115 0,7.46666667 L1.99992221,7.46666667 C1.99992221,4.52584507 4.24252875,2.13349928 6.99990924,2.13349928 C8.63262845,2.13349928 10.0843781,2.97334682 10.997394,4.26874098 L9.49990276,5.86654221 L14,5.86654221 L14,1.06771765 L12.4228241,2.74954235 C11.139701,1.07275132 9.1873355,-8.8817842e-16 6.99972773,-8.8817842e-16 Z" id="Shape" sketch:type="MSShapeGroup"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>variables_hover</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="variables_hover" sketch:type="MSArtboardGroup" fill="#C2C2C2">
<path d="M3.58240732,20.9963951 C2.42916084,19.6949228 1.54379163,18.3237493 0.926273126,16.8828335 C0.308754621,15.4419177 0,13.9456046 0,12.3938491 C0,9.92677251 0.936487526,7.67425807 2.80949067,5.63623824 C3.93819999,4.39912445 5.50446516,3.18705716 7.50833315,2 L7.94999981,2.42905466 C6.64953038,3.48739478 5.73757964,4.33655697 5.21412025,4.9765667 C4.69066085,5.61657644 4.13858305,6.67668839 3.55787029,8.15693437 C3.206171,9.05080271 2.91786371,10.0608588 2.69293975,11.1871329 C2.46801579,12.313407 2.3555555,13.5451391 2.3555555,14.8823662 C2.3555555,16.0908762 2.50073151,17.1313233 2.7910879,18.0037388 C3.08144428,18.8761543 3.53741965,19.7628584 4.15902768,20.6638777 L3.58240732,20.9963951 Z M13.0038593,9.88387938 C13.8186147,8.77548263 14.47434,7.99782883 14.9710549,7.55089466 C15.4677698,7.10396049 15.9519702,6.88049676 16.4236707,6.88049676 C16.9882818,6.88049676 17.3777862,7.07356942 17.5921955,7.45972055 C17.7065472,7.65994706 17.7637221,7.9030756 17.7637221,8.18911347 C17.7637221,8.48230229 17.6457988,8.75045877 17.4099485,8.99359096 C17.1740983,9.23672315 16.8882235,9.35828742 16.5523156,9.35828742 C16.3450533,9.35828742 16.1109933,9.27962818 15.8501286,9.12230735 C15.589264,8.96498653 15.3909384,8.88632729 15.2551458,8.88632729 C14.9907077,8.88632729 14.7387805,9.02219324 14.4993568,9.29392922 C14.2599331,9.5656652 13.8472013,10.1413078 13.2611492,11.0208742 L13.464837,12.0935109 C13.5720417,12.6441338 13.6613776,13.0964244 13.7328473,13.4503962 C13.8043171,13.8043681 13.8829327,14.131519 13.9686964,14.4318588 C14.083048,14.8466137 14.1973979,15.1469489 14.3117496,15.3328736 C14.4261012,15.5187982 14.5940526,15.6117591 14.8156089,15.6117591 C15.0157243,15.6117591 15.2587178,15.4651669 15.5445969,15.1719781 C15.7018304,15.0146572 15.9412505,14.7250482 16.2628645,14.3031424 L16.7131218,14.614207 C16.334332,15.2506413 15.8429847,15.8548872 15.2390652,16.4269629 C14.6351456,16.9990387 14.0437422,17.2850723 13.464837,17.2850723 C12.9788426,17.2850723 12.5786179,17.0848488 12.2641509,16.6843957 C12.0854765,16.4698673 11.9282454,16.1766829 11.7924528,15.8048337 C11.7209831,15.6117581 11.6227136,15.2703055 11.4976415,14.7804657 C11.3725694,14.2906258 11.2921671,13.9885029 11.2564322,13.8740877 L11.1063465,14.1315205 C10.3987958,15.3471815 9.88064773,16.1373492 9.55188679,16.5020475 C9.05874539,17.0455195 8.48699582,17.3172514 7.83662093,17.3172514 C7.46497813,17.3172514 7.14158228,17.190324 6.86642367,16.9364653 C6.59126506,16.6826067 6.45368782,16.3697575 6.45368782,15.9979083 C6.45368782,15.6904176 6.55553071,15.4061717 6.75921955,15.1451621 C6.96290839,14.8841526 7.24699646,14.7536498 7.61149228,14.7536498 C7.83304856,14.7536498 8.10641633,14.832309 8.43160377,14.9896298 C8.75679122,15.1469507 8.96941059,15.2256099 9.06946827,15.2256099 C9.29102455,15.2256099 9.48220331,15.1272858 9.64301029,14.9306348 C9.80381727,14.7339838 10.1200663,14.245939 10.5917667,13.4664858 L11.0205832,12.7585456 C10.9491134,12.4582058 10.8722846,12.0899376 10.7900943,11.6537298 C10.7079041,11.2175221 10.6239284,10.7705946 10.5381647,10.312934 L10.3666381,9.40119288 C10.2451395,8.74330578 10.052174,8.31067999 9.78773585,8.10330254 C9.63764934,7.98173644 9.39108233,7.92095431 9.04802744,7.92095431 C9.01229256,7.92095431 8.92653012,7.92631744 8.79073756,7.93704386 C8.654945,7.94777028 8.51915448,7.96028425 8.38336192,7.97458614 L8.38336192,7.38463598 C9.02658984,7.30597557 9.73234321,7.20586381 10.5006432,7.08429772 C11.2689432,6.96273163 11.7817311,6.87692155 12.0390223,6.82686492 C12.2534316,7.11290279 12.4303166,7.45971851 12.5696827,7.86732247 C12.7090487,8.27492644 12.8144651,8.70755223 12.8859348,9.16521282 L13.0038593,9.88387938 Z M20.3688408,2 C21.7596773,3.58751018 22.7025684,5.08561105 23.1975426,6.49434756 C23.6925167,7.90308407 23.9400001,9.26174358 23.9400001,10.5703668 C23.9400001,12.165028 23.6270666,13.5397768 23.0011902,14.6946548 C22.3753138,15.8495327 21.5919573,16.8989183 20.6510974,17.8428433 C19.8656839,18.6294475 18.9002943,19.4106767 17.7548995,20.1865544 C16.6095048,20.9624321 16.171807,21.2323763 16.4417929,20.9963951 L16,20.556614 C17.23539,19.5626324 18.0780606,18.7974926 18.5280371,18.2611716 C19.2070925,17.4459637 19.8288689,16.3054048 20.3933849,14.8394607 C20.8269986,13.723913 21.1337961,12.6030189 21.3137867,11.4767448 C21.4937773,10.3504707 21.5837713,9.2295766 21.5837713,8.1140289 C21.5837713,7.04138689 21.4569616,6.05993417 21.2033385,5.1696413 C20.9497154,4.27934843 20.4752019,3.33364991 19.7797836,2.33251736 L20.3688408,2 Z" id="(x)-copy" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>variables_hover</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="variables_hover" sketch:type="MSArtboardGroup" fill="#C2C2C2">
<path d="M3.58240732,20.9963951 C2.42916084,19.6949228 1.54379163,18.3237493 0.926273126,16.8828335 C0.308754621,15.4419177 0,13.9456046 0,12.3938491 C0,9.92677251 0.936487526,7.67425807 2.80949067,5.63623824 C3.93819999,4.39912445 5.50446516,3.18705716 7.50833315,2 L7.94999981,2.42905466 C6.64953038,3.48739478 5.73757964,4.33655697 5.21412025,4.9765667 C4.69066085,5.61657644 4.13858305,6.67668839 3.55787029,8.15693437 C3.206171,9.05080271 2.91786371,10.0608588 2.69293975,11.1871329 C2.46801579,12.313407 2.3555555,13.5451391 2.3555555,14.8823662 C2.3555555,16.0908762 2.50073151,17.1313233 2.7910879,18.0037388 C3.08144428,18.8761543 3.53741965,19.7628584 4.15902768,20.6638777 L3.58240732,20.9963951 Z M13.0038593,9.88387938 C13.8186147,8.77548263 14.47434,7.99782883 14.9710549,7.55089466 C15.4677698,7.10396049 15.9519702,6.88049676 16.4236707,6.88049676 C16.9882818,6.88049676 17.3777862,7.07356942 17.5921955,7.45972055 C17.7065472,7.65994706 17.7637221,7.9030756 17.7637221,8.18911347 C17.7637221,8.48230229 17.6457988,8.75045877 17.4099485,8.99359096 C17.1740983,9.23672315 16.8882235,9.35828742 16.5523156,9.35828742 C16.3450533,9.35828742 16.1109933,9.27962818 15.8501286,9.12230735 C15.589264,8.96498653 15.3909384,8.88632729 15.2551458,8.88632729 C14.9907077,8.88632729 14.7387805,9.02219324 14.4993568,9.29392922 C14.2599331,9.5656652 13.8472013,10.1413078 13.2611492,11.0208742 L13.464837,12.0935109 C13.5720417,12.6441338 13.6613776,13.0964244 13.7328473,13.4503962 C13.8043171,13.8043681 13.8829327,14.131519 13.9686964,14.4318588 C14.083048,14.8466137 14.1973979,15.1469489 14.3117496,15.3328736 C14.4261012,15.5187982 14.5940526,15.6117591 14.8156089,15.6117591 C15.0157243,15.6117591 15.2587178,15.4651669 15.5445969,15.1719781 C15.7018304,15.0146572 15.9412505,14.7250482 16.2628645,14.3031424 L16.7131218,14.614207 C16.334332,15.2506413 15.8429847,15.8548872 15.2390652,16.4269629 C14.6351456,16.9990387 14.0437422,17.2850723 13.464837,17.2850723 C12.9788426,17.2850723 12.5786179,17.0848488 12.2641509,16.6843957 C12.0854765,16.4698673 11.9282454,16.1766829 11.7924528,15.8048337 C11.7209831,15.6117581 11.6227136,15.2703055 11.4976415,14.7804657 C11.3725694,14.2906258 11.2921671,13.9885029 11.2564322,13.8740877 L11.1063465,14.1315205 C10.3987958,15.3471815 9.88064773,16.1373492 9.55188679,16.5020475 C9.05874539,17.0455195 8.48699582,17.3172514 7.83662093,17.3172514 C7.46497813,17.3172514 7.14158228,17.190324 6.86642367,16.9364653 C6.59126506,16.6826067 6.45368782,16.3697575 6.45368782,15.9979083 C6.45368782,15.6904176 6.55553071,15.4061717 6.75921955,15.1451621 C6.96290839,14.8841526 7.24699646,14.7536498 7.61149228,14.7536498 C7.83304856,14.7536498 8.10641633,14.832309 8.43160377,14.9896298 C8.75679122,15.1469507 8.96941059,15.2256099 9.06946827,15.2256099 C9.29102455,15.2256099 9.48220331,15.1272858 9.64301029,14.9306348 C9.80381727,14.7339838 10.1200663,14.245939 10.5917667,13.4664858 L11.0205832,12.7585456 C10.9491134,12.4582058 10.8722846,12.0899376 10.7900943,11.6537298 C10.7079041,11.2175221 10.6239284,10.7705946 10.5381647,10.312934 L10.3666381,9.40119288 C10.2451395,8.74330578 10.052174,8.31067999 9.78773585,8.10330254 C9.63764934,7.98173644 9.39108233,7.92095431 9.04802744,7.92095431 C9.01229256,7.92095431 8.92653012,7.92631744 8.79073756,7.93704386 C8.654945,7.94777028 8.51915448,7.96028425 8.38336192,7.97458614 L8.38336192,7.38463598 C9.02658984,7.30597557 9.73234321,7.20586381 10.5006432,7.08429772 C11.2689432,6.96273163 11.7817311,6.87692155 12.0390223,6.82686492 C12.2534316,7.11290279 12.4303166,7.45971851 12.5696827,7.86732247 C12.7090487,8.27492644 12.8144651,8.70755223 12.8859348,9.16521282 L13.0038593,9.88387938 Z M20.3688408,2 C21.7596773,3.58751018 22.7025684,5.08561105 23.1975426,6.49434756 C23.6925167,7.90308407 23.9400001,9.26174358 23.9400001,10.5703668 C23.9400001,12.165028 23.6270666,13.5397768 23.0011902,14.6946548 C22.3753138,15.8495327 21.5919573,16.8989183 20.6510974,17.8428433 C19.8656839,18.6294475 18.9002943,19.4106767 17.7548995,20.1865544 C16.6095048,20.9624321 16.171807,21.2323763 16.4417929,20.9963951 L16,20.556614 C17.23539,19.5626324 18.0780606,18.7974926 18.5280371,18.2611716 C19.2070925,17.4459637 19.8288689,16.3054048 20.3933849,14.8394607 C20.8269986,13.723913 21.1337961,12.6030189 21.3137867,11.4767448 C21.4937773,10.3504707 21.5837713,9.2295766 21.5837713,8.1140289 C21.5837713,7.04138689 21.4569616,6.05993417 21.2033385,5.1696413 C20.9497154,4.27934843 20.4752019,3.33364991 19.7797836,2.33251736 L20.3688408,2 Z" id="(x)-copy" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>variables_on</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="variables_on" sketch:type="MSArtboardGroup" fill="#62666B">
<path d="M3.58240732,20.9963951 C2.42916084,19.6949228 1.54379163,18.3237493 0.926273126,16.8828335 C0.308754621,15.4419177 0,13.9456046 0,12.3938491 C0,9.92677251 0.936487526,7.67425807 2.80949067,5.63623824 C3.93819999,4.39912445 5.50446516,3.18705716 7.50833315,2 L7.94999981,2.42905466 C6.64953038,3.48739478 5.73757964,4.33655697 5.21412025,4.9765667 C4.69066085,5.61657644 4.13858305,6.67668839 3.55787029,8.15693437 C3.206171,9.05080271 2.91786371,10.0608588 2.69293975,11.1871329 C2.46801579,12.313407 2.3555555,13.5451391 2.3555555,14.8823662 C2.3555555,16.0908762 2.50073151,17.1313233 2.7910879,18.0037388 C3.08144428,18.8761543 3.53741965,19.7628584 4.15902768,20.6638777 L3.58240732,20.9963951 Z M13.0038593,9.88387938 C13.8186147,8.77548263 14.47434,7.99782883 14.9710549,7.55089466 C15.4677698,7.10396049 15.9519702,6.88049676 16.4236707,6.88049676 C16.9882818,6.88049676 17.3777862,7.07356942 17.5921955,7.45972055 C17.7065472,7.65994706 17.7637221,7.9030756 17.7637221,8.18911347 C17.7637221,8.48230229 17.6457988,8.75045877 17.4099485,8.99359096 C17.1740983,9.23672315 16.8882235,9.35828742 16.5523156,9.35828742 C16.3450533,9.35828742 16.1109933,9.27962818 15.8501286,9.12230735 C15.589264,8.96498653 15.3909384,8.88632729 15.2551458,8.88632729 C14.9907077,8.88632729 14.7387805,9.02219324 14.4993568,9.29392922 C14.2599331,9.5656652 13.8472013,10.1413078 13.2611492,11.0208742 L13.464837,12.0935109 C13.5720417,12.6441338 13.6613776,13.0964244 13.7328473,13.4503962 C13.8043171,13.8043681 13.8829327,14.131519 13.9686964,14.4318588 C14.083048,14.8466137 14.1973979,15.1469489 14.3117496,15.3328736 C14.4261012,15.5187982 14.5940526,15.6117591 14.8156089,15.6117591 C15.0157243,15.6117591 15.2587178,15.4651669 15.5445969,15.1719781 C15.7018304,15.0146572 15.9412505,14.7250482 16.2628645,14.3031424 L16.7131218,14.614207 C16.334332,15.2506413 15.8429847,15.8548872 15.2390652,16.4269629 C14.6351456,16.9990387 14.0437422,17.2850723 13.464837,17.2850723 C12.9788426,17.2850723 12.5786179,17.0848488 12.2641509,16.6843957 C12.0854765,16.4698673 11.9282454,16.1766829 11.7924528,15.8048337 C11.7209831,15.6117581 11.6227136,15.2703055 11.4976415,14.7804657 C11.3725694,14.2906258 11.2921671,13.9885029 11.2564322,13.8740877 L11.1063465,14.1315205 C10.3987958,15.3471815 9.88064773,16.1373492 9.55188679,16.5020475 C9.05874539,17.0455195 8.48699582,17.3172514 7.83662093,17.3172514 C7.46497813,17.3172514 7.14158228,17.190324 6.86642367,16.9364653 C6.59126506,16.6826067 6.45368782,16.3697575 6.45368782,15.9979083 C6.45368782,15.6904176 6.55553071,15.4061717 6.75921955,15.1451621 C6.96290839,14.8841526 7.24699646,14.7536498 7.61149228,14.7536498 C7.83304856,14.7536498 8.10641633,14.832309 8.43160377,14.9896298 C8.75679122,15.1469507 8.96941059,15.2256099 9.06946827,15.2256099 C9.29102455,15.2256099 9.48220331,15.1272858 9.64301029,14.9306348 C9.80381727,14.7339838 10.1200663,14.245939 10.5917667,13.4664858 L11.0205832,12.7585456 C10.9491134,12.4582058 10.8722846,12.0899376 10.7900943,11.6537298 C10.7079041,11.2175221 10.6239284,10.7705946 10.5381647,10.312934 L10.3666381,9.40119288 C10.2451395,8.74330578 10.052174,8.31067999 9.78773585,8.10330254 C9.63764934,7.98173644 9.39108233,7.92095431 9.04802744,7.92095431 C9.01229256,7.92095431 8.92653012,7.92631744 8.79073756,7.93704386 C8.654945,7.94777028 8.51915448,7.96028425 8.38336192,7.97458614 L8.38336192,7.38463598 C9.02658984,7.30597557 9.73234321,7.20586381 10.5006432,7.08429772 C11.2689432,6.96273163 11.7817311,6.87692155 12.0390223,6.82686492 C12.2534316,7.11290279 12.4303166,7.45971851 12.5696827,7.86732247 C12.7090487,8.27492644 12.8144651,8.70755223 12.8859348,9.16521282 L13.0038593,9.88387938 Z M20.3688408,2 C21.7596773,3.58751018 22.7025684,5.08561105 23.1975426,6.49434756 C23.6925167,7.90308407 23.9400001,9.26174358 23.9400001,10.5703668 C23.9400001,12.165028 23.6270666,13.5397768 23.0011902,14.6946548 C22.3753138,15.8495327 21.5919573,16.8989183 20.6510974,17.8428433 C19.8656839,18.6294475 18.9002943,19.4106767 17.7548995,20.1865544 C16.6095048,20.9624321 16.171807,21.2323763 16.4417929,20.9963951 L16,20.556614 C17.23539,19.5626324 18.0780606,18.7974926 18.5280371,18.2611716 C19.2070925,17.4459637 19.8288689,16.3054048 20.3933849,14.8394607 C20.8269986,13.723913 21.1337961,12.6030189 21.3137867,11.4767448 C21.4937773,10.3504707 21.5837713,9.2295766 21.5837713,8.1140289 C21.5837713,7.04138689 21.4569616,6.05993417 21.2033385,5.1696413 C20.9497154,4.27934843 20.4752019,3.33364991 19.7797836,2.33251736 L20.3688408,2 Z" id="(x)-copy" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>variables_on</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="variables_on" sketch:type="MSArtboardGroup" fill="#62666B">
<path d="M3.58240732,20.9963951 C2.42916084,19.6949228 1.54379163,18.3237493 0.926273126,16.8828335 C0.308754621,15.4419177 0,13.9456046 0,12.3938491 C0,9.92677251 0.936487526,7.67425807 2.80949067,5.63623824 C3.93819999,4.39912445 5.50446516,3.18705716 7.50833315,2 L7.94999981,2.42905466 C6.64953038,3.48739478 5.73757964,4.33655697 5.21412025,4.9765667 C4.69066085,5.61657644 4.13858305,6.67668839 3.55787029,8.15693437 C3.206171,9.05080271 2.91786371,10.0608588 2.69293975,11.1871329 C2.46801579,12.313407 2.3555555,13.5451391 2.3555555,14.8823662 C2.3555555,16.0908762 2.50073151,17.1313233 2.7910879,18.0037388 C3.08144428,18.8761543 3.53741965,19.7628584 4.15902768,20.6638777 L3.58240732,20.9963951 Z M13.0038593,9.88387938 C13.8186147,8.77548263 14.47434,7.99782883 14.9710549,7.55089466 C15.4677698,7.10396049 15.9519702,6.88049676 16.4236707,6.88049676 C16.9882818,6.88049676 17.3777862,7.07356942 17.5921955,7.45972055 C17.7065472,7.65994706 17.7637221,7.9030756 17.7637221,8.18911347 C17.7637221,8.48230229 17.6457988,8.75045877 17.4099485,8.99359096 C17.1740983,9.23672315 16.8882235,9.35828742 16.5523156,9.35828742 C16.3450533,9.35828742 16.1109933,9.27962818 15.8501286,9.12230735 C15.589264,8.96498653 15.3909384,8.88632729 15.2551458,8.88632729 C14.9907077,8.88632729 14.7387805,9.02219324 14.4993568,9.29392922 C14.2599331,9.5656652 13.8472013,10.1413078 13.2611492,11.0208742 L13.464837,12.0935109 C13.5720417,12.6441338 13.6613776,13.0964244 13.7328473,13.4503962 C13.8043171,13.8043681 13.8829327,14.131519 13.9686964,14.4318588 C14.083048,14.8466137 14.1973979,15.1469489 14.3117496,15.3328736 C14.4261012,15.5187982 14.5940526,15.6117591 14.8156089,15.6117591 C15.0157243,15.6117591 15.2587178,15.4651669 15.5445969,15.1719781 C15.7018304,15.0146572 15.9412505,14.7250482 16.2628645,14.3031424 L16.7131218,14.614207 C16.334332,15.2506413 15.8429847,15.8548872 15.2390652,16.4269629 C14.6351456,16.9990387 14.0437422,17.2850723 13.464837,17.2850723 C12.9788426,17.2850723 12.5786179,17.0848488 12.2641509,16.6843957 C12.0854765,16.4698673 11.9282454,16.1766829 11.7924528,15.8048337 C11.7209831,15.6117581 11.6227136,15.2703055 11.4976415,14.7804657 C11.3725694,14.2906258 11.2921671,13.9885029 11.2564322,13.8740877 L11.1063465,14.1315205 C10.3987958,15.3471815 9.88064773,16.1373492 9.55188679,16.5020475 C9.05874539,17.0455195 8.48699582,17.3172514 7.83662093,17.3172514 C7.46497813,17.3172514 7.14158228,17.190324 6.86642367,16.9364653 C6.59126506,16.6826067 6.45368782,16.3697575 6.45368782,15.9979083 C6.45368782,15.6904176 6.55553071,15.4061717 6.75921955,15.1451621 C6.96290839,14.8841526 7.24699646,14.7536498 7.61149228,14.7536498 C7.83304856,14.7536498 8.10641633,14.832309 8.43160377,14.9896298 C8.75679122,15.1469507 8.96941059,15.2256099 9.06946827,15.2256099 C9.29102455,15.2256099 9.48220331,15.1272858 9.64301029,14.9306348 C9.80381727,14.7339838 10.1200663,14.245939 10.5917667,13.4664858 L11.0205832,12.7585456 C10.9491134,12.4582058 10.8722846,12.0899376 10.7900943,11.6537298 C10.7079041,11.2175221 10.6239284,10.7705946 10.5381647,10.312934 L10.3666381,9.40119288 C10.2451395,8.74330578 10.052174,8.31067999 9.78773585,8.10330254 C9.63764934,7.98173644 9.39108233,7.92095431 9.04802744,7.92095431 C9.01229256,7.92095431 8.92653012,7.92631744 8.79073756,7.93704386 C8.654945,7.94777028 8.51915448,7.96028425 8.38336192,7.97458614 L8.38336192,7.38463598 C9.02658984,7.30597557 9.73234321,7.20586381 10.5006432,7.08429772 C11.2689432,6.96273163 11.7817311,6.87692155 12.0390223,6.82686492 C12.2534316,7.11290279 12.4303166,7.45971851 12.5696827,7.86732247 C12.7090487,8.27492644 12.8144651,8.70755223 12.8859348,9.16521282 L13.0038593,9.88387938 Z M20.3688408,2 C21.7596773,3.58751018 22.7025684,5.08561105 23.1975426,6.49434756 C23.6925167,7.90308407 23.9400001,9.26174358 23.9400001,10.5703668 C23.9400001,12.165028 23.6270666,13.5397768 23.0011902,14.6946548 C22.3753138,15.8495327 21.5919573,16.8989183 20.6510974,17.8428433 C19.8656839,18.6294475 18.9002943,19.4106767 17.7548995,20.1865544 C16.6095048,20.9624321 16.171807,21.2323763 16.4417929,20.9963951 L16,20.556614 C17.23539,19.5626324 18.0780606,18.7974926 18.5280371,18.2611716 C19.2070925,17.4459637 19.8288689,16.3054048 20.3933849,14.8394607 C20.8269986,13.723913 21.1337961,12.6030189 21.3137867,11.4767448 C21.4937773,10.3504707 21.5837713,9.2295766 21.5837713,8.1140289 C21.5837713,7.04138689 21.4569616,6.05993417 21.2033385,5.1696413 C20.9497154,4.27934843 20.4752019,3.33364991 19.7797836,2.33251736 L20.3688408,2 Z" id="(x)-copy" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>variables_off</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="variables_off" sketch:type="MSArtboardGroup" fill="#FFFFFF">
<path d="M3.58240732,20.9963951 C2.42916084,19.6949228 1.54379163,18.3237493 0.926273126,16.8828335 C0.308754621,15.4419177 0,13.9456046 0,12.3938491 C0,9.92677251 0.936487526,7.67425807 2.80949067,5.63623824 C3.93819999,4.39912445 5.50446516,3.18705716 7.50833315,2 L7.94999981,2.42905466 C6.64953038,3.48739478 5.73757964,4.33655697 5.21412025,4.9765667 C4.69066085,5.61657644 4.13858305,6.67668839 3.55787029,8.15693437 C3.206171,9.05080271 2.91786371,10.0608588 2.69293975,11.1871329 C2.46801579,12.313407 2.3555555,13.5451391 2.3555555,14.8823662 C2.3555555,16.0908762 2.50073151,17.1313233 2.7910879,18.0037388 C3.08144428,18.8761543 3.53741965,19.7628584 4.15902768,20.6638777 L3.58240732,20.9963951 Z M13.0038593,9.88387938 C13.8186147,8.77548263 14.47434,7.99782883 14.9710549,7.55089466 C15.4677698,7.10396049 15.9519702,6.88049676 16.4236707,6.88049676 C16.9882818,6.88049676 17.3777862,7.07356942 17.5921955,7.45972055 C17.7065472,7.65994706 17.7637221,7.9030756 17.7637221,8.18911347 C17.7637221,8.48230229 17.6457988,8.75045877 17.4099485,8.99359096 C17.1740983,9.23672315 16.8882235,9.35828742 16.5523156,9.35828742 C16.3450533,9.35828742 16.1109933,9.27962818 15.8501286,9.12230735 C15.589264,8.96498653 15.3909384,8.88632729 15.2551458,8.88632729 C14.9907077,8.88632729 14.7387805,9.02219324 14.4993568,9.29392922 C14.2599331,9.5656652 13.8472013,10.1413078 13.2611492,11.0208742 L13.464837,12.0935109 C13.5720417,12.6441338 13.6613776,13.0964244 13.7328473,13.4503962 C13.8043171,13.8043681 13.8829327,14.131519 13.9686964,14.4318588 C14.083048,14.8466137 14.1973979,15.1469489 14.3117496,15.3328736 C14.4261012,15.5187982 14.5940526,15.6117591 14.8156089,15.6117591 C15.0157243,15.6117591 15.2587178,15.4651669 15.5445969,15.1719781 C15.7018304,15.0146572 15.9412505,14.7250482 16.2628645,14.3031424 L16.7131218,14.614207 C16.334332,15.2506413 15.8429847,15.8548872 15.2390652,16.4269629 C14.6351456,16.9990387 14.0437422,17.2850723 13.464837,17.2850723 C12.9788426,17.2850723 12.5786179,17.0848488 12.2641509,16.6843957 C12.0854765,16.4698673 11.9282454,16.1766829 11.7924528,15.8048337 C11.7209831,15.6117581 11.6227136,15.2703055 11.4976415,14.7804657 C11.3725694,14.2906258 11.2921671,13.9885029 11.2564322,13.8740877 L11.1063465,14.1315205 C10.3987958,15.3471815 9.88064773,16.1373492 9.55188679,16.5020475 C9.05874539,17.0455195 8.48699582,17.3172514 7.83662093,17.3172514 C7.46497813,17.3172514 7.14158228,17.190324 6.86642367,16.9364653 C6.59126506,16.6826067 6.45368782,16.3697575 6.45368782,15.9979083 C6.45368782,15.6904176 6.55553071,15.4061717 6.75921955,15.1451621 C6.96290839,14.8841526 7.24699646,14.7536498 7.61149228,14.7536498 C7.83304856,14.7536498 8.10641633,14.832309 8.43160377,14.9896298 C8.75679122,15.1469507 8.96941059,15.2256099 9.06946827,15.2256099 C9.29102455,15.2256099 9.48220331,15.1272858 9.64301029,14.9306348 C9.80381727,14.7339838 10.1200663,14.245939 10.5917667,13.4664858 L11.0205832,12.7585456 C10.9491134,12.4582058 10.8722846,12.0899376 10.7900943,11.6537298 C10.7079041,11.2175221 10.6239284,10.7705946 10.5381647,10.312934 L10.3666381,9.40119288 C10.2451395,8.74330578 10.052174,8.31067999 9.78773585,8.10330254 C9.63764934,7.98173644 9.39108233,7.92095431 9.04802744,7.92095431 C9.01229256,7.92095431 8.92653012,7.92631744 8.79073756,7.93704386 C8.654945,7.94777028 8.51915448,7.96028425 8.38336192,7.97458614 L8.38336192,7.38463598 C9.02658984,7.30597557 9.73234321,7.20586381 10.5006432,7.08429772 C11.2689432,6.96273163 11.7817311,6.87692155 12.0390223,6.82686492 C12.2534316,7.11290279 12.4303166,7.45971851 12.5696827,7.86732247 C12.7090487,8.27492644 12.8144651,8.70755223 12.8859348,9.16521282 L13.0038593,9.88387938 Z M20.3688408,2 C21.7596773,3.58751018 22.7025684,5.08561105 23.1975426,6.49434756 C23.6925167,7.90308407 23.9400001,9.26174358 23.9400001,10.5703668 C23.9400001,12.165028 23.6270666,13.5397768 23.0011902,14.6946548 C22.3753138,15.8495327 21.5919573,16.8989183 20.6510974,17.8428433 C19.8656839,18.6294475 18.9002943,19.4106767 17.7548995,20.1865544 C16.6095048,20.9624321 16.171807,21.2323763 16.4417929,20.9963951 L16,20.556614 C17.23539,19.5626324 18.0780606,18.7974926 18.5280371,18.2611716 C19.2070925,17.4459637 19.8288689,16.3054048 20.3933849,14.8394607 C20.8269986,13.723913 21.1337961,12.6030189 21.3137867,11.4767448 C21.4937773,10.3504707 21.5837713,9.2295766 21.5837713,8.1140289 C21.5837713,7.04138689 21.4569616,6.05993417 21.2033385,5.1696413 C20.9497154,4.27934843 20.4752019,3.33364991 19.7797836,2.33251736 L20.3688408,2 Z" id="(x)-copy" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>variables_off</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="variables_off" sketch:type="MSArtboardGroup" fill="#FFFFFF">
<path d="M3.58240732,20.9963951 C2.42916084,19.6949228 1.54379163,18.3237493 0.926273126,16.8828335 C0.308754621,15.4419177 0,13.9456046 0,12.3938491 C0,9.92677251 0.936487526,7.67425807 2.80949067,5.63623824 C3.93819999,4.39912445 5.50446516,3.18705716 7.50833315,2 L7.94999981,2.42905466 C6.64953038,3.48739478 5.73757964,4.33655697 5.21412025,4.9765667 C4.69066085,5.61657644 4.13858305,6.67668839 3.55787029,8.15693437 C3.206171,9.05080271 2.91786371,10.0608588 2.69293975,11.1871329 C2.46801579,12.313407 2.3555555,13.5451391 2.3555555,14.8823662 C2.3555555,16.0908762 2.50073151,17.1313233 2.7910879,18.0037388 C3.08144428,18.8761543 3.53741965,19.7628584 4.15902768,20.6638777 L3.58240732,20.9963951 Z M13.0038593,9.88387938 C13.8186147,8.77548263 14.47434,7.99782883 14.9710549,7.55089466 C15.4677698,7.10396049 15.9519702,6.88049676 16.4236707,6.88049676 C16.9882818,6.88049676 17.3777862,7.07356942 17.5921955,7.45972055 C17.7065472,7.65994706 17.7637221,7.9030756 17.7637221,8.18911347 C17.7637221,8.48230229 17.6457988,8.75045877 17.4099485,8.99359096 C17.1740983,9.23672315 16.8882235,9.35828742 16.5523156,9.35828742 C16.3450533,9.35828742 16.1109933,9.27962818 15.8501286,9.12230735 C15.589264,8.96498653 15.3909384,8.88632729 15.2551458,8.88632729 C14.9907077,8.88632729 14.7387805,9.02219324 14.4993568,9.29392922 C14.2599331,9.5656652 13.8472013,10.1413078 13.2611492,11.0208742 L13.464837,12.0935109 C13.5720417,12.6441338 13.6613776,13.0964244 13.7328473,13.4503962 C13.8043171,13.8043681 13.8829327,14.131519 13.9686964,14.4318588 C14.083048,14.8466137 14.1973979,15.1469489 14.3117496,15.3328736 C14.4261012,15.5187982 14.5940526,15.6117591 14.8156089,15.6117591 C15.0157243,15.6117591 15.2587178,15.4651669 15.5445969,15.1719781 C15.7018304,15.0146572 15.9412505,14.7250482 16.2628645,14.3031424 L16.7131218,14.614207 C16.334332,15.2506413 15.8429847,15.8548872 15.2390652,16.4269629 C14.6351456,16.9990387 14.0437422,17.2850723 13.464837,17.2850723 C12.9788426,17.2850723 12.5786179,17.0848488 12.2641509,16.6843957 C12.0854765,16.4698673 11.9282454,16.1766829 11.7924528,15.8048337 C11.7209831,15.6117581 11.6227136,15.2703055 11.4976415,14.7804657 C11.3725694,14.2906258 11.2921671,13.9885029 11.2564322,13.8740877 L11.1063465,14.1315205 C10.3987958,15.3471815 9.88064773,16.1373492 9.55188679,16.5020475 C9.05874539,17.0455195 8.48699582,17.3172514 7.83662093,17.3172514 C7.46497813,17.3172514 7.14158228,17.190324 6.86642367,16.9364653 C6.59126506,16.6826067 6.45368782,16.3697575 6.45368782,15.9979083 C6.45368782,15.6904176 6.55553071,15.4061717 6.75921955,15.1451621 C6.96290839,14.8841526 7.24699646,14.7536498 7.61149228,14.7536498 C7.83304856,14.7536498 8.10641633,14.832309 8.43160377,14.9896298 C8.75679122,15.1469507 8.96941059,15.2256099 9.06946827,15.2256099 C9.29102455,15.2256099 9.48220331,15.1272858 9.64301029,14.9306348 C9.80381727,14.7339838 10.1200663,14.245939 10.5917667,13.4664858 L11.0205832,12.7585456 C10.9491134,12.4582058 10.8722846,12.0899376 10.7900943,11.6537298 C10.7079041,11.2175221 10.6239284,10.7705946 10.5381647,10.312934 L10.3666381,9.40119288 C10.2451395,8.74330578 10.052174,8.31067999 9.78773585,8.10330254 C9.63764934,7.98173644 9.39108233,7.92095431 9.04802744,7.92095431 C9.01229256,7.92095431 8.92653012,7.92631744 8.79073756,7.93704386 C8.654945,7.94777028 8.51915448,7.96028425 8.38336192,7.97458614 L8.38336192,7.38463598 C9.02658984,7.30597557 9.73234321,7.20586381 10.5006432,7.08429772 C11.2689432,6.96273163 11.7817311,6.87692155 12.0390223,6.82686492 C12.2534316,7.11290279 12.4303166,7.45971851 12.5696827,7.86732247 C12.7090487,8.27492644 12.8144651,8.70755223 12.8859348,9.16521282 L13.0038593,9.88387938 Z M20.3688408,2 C21.7596773,3.58751018 22.7025684,5.08561105 23.1975426,6.49434756 C23.6925167,7.90308407 23.9400001,9.26174358 23.9400001,10.5703668 C23.9400001,12.165028 23.6270666,13.5397768 23.0011902,14.6946548 C22.3753138,15.8495327 21.5919573,16.8989183 20.6510974,17.8428433 C19.8656839,18.6294475 18.9002943,19.4106767 17.7548995,20.1865544 C16.6095048,20.9624321 16.171807,21.2323763 16.4417929,20.9963951 L16,20.556614 C17.23539,19.5626324 18.0780606,18.7974926 18.5280371,18.2611716 C19.2070925,17.4459637 19.8288689,16.3054048 20.3933849,14.8394607 C20.8269986,13.723913 21.1337961,12.6030189 21.3137867,11.4767448 C21.4937773,10.3504707 21.5837713,9.2295766 21.5837713,8.1140289 C21.5837713,7.04138689 21.4569616,6.05993417 21.2033385,5.1696413 C20.9497154,4.27934843 20.4752019,3.33364991 19.7797836,2.33251736 L20.3688408,2 Z" id="(x)-copy" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="8px" height="14px" viewBox="0 0 8 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>back</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="back" sketch:type="MSArtboardGroup" fill="#4A4A4A">
<path d="M2.05455283,7.19050037 L6.95392196,1.7467569 C7.27096861,1.39448283 7.24241116,0.85189118 6.89013709,0.534844521 C6.53786303,0.217797863 5.99527138,0.246355318 5.67822472,0.598629383 L0.357495052,6.51055123 C0.320312757,6.53732245 0.284790616,6.56743203 0.251342669,6.60087998 C-0.0837808905,6.93600354 -0.0837808895,7.47934618 0.251342671,7.81446974 L5.91476158,13.4778886 C6.24988515,13.8130122 6.79322779,13.8130122 7.12835135,13.4778886 C7.46347491,13.1427651 7.46347491,12.5994224 7.12835135,12.2642989 L2.05455283,7.19050037 Z" id="Shape" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="8px" height="14px" viewBox="0 0 8 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>back</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="back" sketch:type="MSArtboardGroup" fill="#4A4A4A">
<path d="M2.05455283,7.19050037 L6.95392196,1.7467569 C7.27096861,1.39448283 7.24241116,0.85189118 6.89013709,0.534844521 C6.53786303,0.217797863 5.99527138,0.246355318 5.67822472,0.598629383 L0.357495052,6.51055123 C0.320312757,6.53732245 0.284790616,6.56743203 0.251342669,6.60087998 C-0.0837808905,6.93600354 -0.0837808895,7.47934618 0.251342671,7.81446974 L5.91476158,13.4778886 C6.24988515,13.8130122 6.79322779,13.8130122 7.12835135,13.4778886 C7.46347491,13.1427651 7.46347491,12.5994224 7.12835135,12.2642989 L2.05455283,7.19050037 Z" id="Shape" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="8px" height="14px" viewBox="0 0 8 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>back_hover</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="back_hover" sketch:type="MSArtboardGroup" fill="#138CDE">
<path d="M2.05455283,7.19050037 L6.95392196,1.7467569 C7.27096861,1.39448283 7.24241116,0.85189118 6.89013709,0.534844521 C6.53786303,0.217797863 5.99527138,0.246355318 5.67822472,0.598629383 L0.357495052,6.51055123 C0.320312757,6.53732245 0.284790616,6.56743203 0.251342669,6.60087998 C-0.0837808905,6.93600354 -0.0837808895,7.47934618 0.251342671,7.81446974 L5.91476158,13.4778886 C6.24988515,13.8130122 6.79322779,13.8130122 7.12835135,13.4778886 C7.46347491,13.1427651 7.46347491,12.5994224 7.12835135,12.2642989 L2.05455283,7.19050037 Z" id="Shape" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="8px" height="14px" viewBox="0 0 8 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>back_hover</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="back_hover" sketch:type="MSArtboardGroup" fill="#138CDE">
<path d="M2.05455283,7.19050037 L6.95392196,1.7467569 C7.27096861,1.39448283 7.24241116,0.85189118 6.89013709,0.534844521 C6.53786303,0.217797863 5.99527138,0.246355318 5.67822472,0.598629383 L0.357495052,6.51055123 C0.320312757,6.53732245 0.284790616,6.56743203 0.251342669,6.60087998 C-0.0837808905,6.93600354 -0.0837808895,7.47934618 0.251342671,7.81446974 L5.91476158,13.4778886 C6.24988515,13.8130122 6.79322779,13.8130122 7.12835135,13.4778886 C7.46347491,13.1427651 7.46347491,12.5994224 7.12835135,12.2642989 L2.05455283,7.19050037 Z" id="Shape" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="13px" height="13px" viewBox="0 0 13 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>note</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="note" sketch:type="MSArtboardGroup">
<rect id="Rectangle-40" fill="#4A4A4A" sketch:type="MSShapeGroup" x="0" y="0" width="13" height="13"></rect>
<path d="M2.81818182,4 L10.1818182,4 L11,4 L11,3 L10.1818182,3 L2.81818182,3 L2,3 L2,4 L2.81818182,4 L2.81818182,4 Z" id="Shape" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
<path d="M2.81818182,7 L10.1818182,7 L11,7 L11,6 L10.1818182,6 L2.81818182,6 L2,6 L2,7 L2.81818182,7 L2.81818182,7 Z" id="Shape-Copy" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
<path d="M2.81818182,10 L10.1818182,10 L11,10 L11,9 L10.1818182,9 L2.81818182,9 L2,9 L2,10 L2.81818182,10 L2.81818182,10 Z" id="Shape-Copy-2" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="13px" height="13px" viewBox="0 0 13 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>note</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="note" sketch:type="MSArtboardGroup">
<rect id="Rectangle-40" fill="#4A4A4A" sketch:type="MSShapeGroup" x="0" y="0" width="13" height="13"></rect>
<path d="M2.81818182,4 L10.1818182,4 L11,4 L11,3 L10.1818182,3 L2.81818182,3 L2,3 L2,4 L2.81818182,4 L2.81818182,4 Z" id="Shape" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
<path d="M2.81818182,7 L10.1818182,7 L11,7 L11,6 L10.1818182,6 L2.81818182,6 L2,6 L2,7 L2.81818182,7 L2.81818182,7 Z" id="Shape-Copy" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
<path d="M2.81818182,10 L10.1818182,10 L11,10 L11,9 L10.1818182,9 L2.81818182,9 L2,9 L2,10 L2.81818182,10 L2.81818182,10 Z" id="Shape-Copy-2" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="13px" height="13px" viewBox="0 0 13 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>note_hover</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="note_hover" sketch:type="MSArtboardGroup">
<rect id="Rectangle-40" fill="#138CDE" sketch:type="MSShapeGroup" x="0" y="0" width="13" height="13"></rect>
<path d="M2.81818182,4 L10.1818182,4 L11,4 L11,3 L10.1818182,3 L2.81818182,3 L2,3 L2,4 L2.81818182,4 L2.81818182,4 Z" id="Shape" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
<path d="M2.81818182,7 L10.1818182,7 L11,7 L11,6 L10.1818182,6 L2.81818182,6 L2,6 L2,7 L2.81818182,7 L2.81818182,7 Z" id="Shape-Copy" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
<path d="M2.81818182,10 L10.1818182,10 L11,10 L11,9 L10.1818182,9 L2.81818182,9 L2,9 L2,10 L2.81818182,10 L2.81818182,10 Z" id="Shape-Copy-2" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="13px" height="13px" viewBox="0 0 13 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>note_hover</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="note_hover" sketch:type="MSArtboardGroup">
<rect id="Rectangle-40" fill="#138CDE" sketch:type="MSShapeGroup" x="0" y="0" width="13" height="13"></rect>
<path d="M2.81818182,4 L10.1818182,4 L11,4 L11,3 L10.1818182,3 L2.81818182,3 L2,3 L2,4 L2.81818182,4 L2.81818182,4 Z" id="Shape" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
<path d="M2.81818182,7 L10.1818182,7 L11,7 L11,6 L10.1818182,6 L2.81818182,6 L2,6 L2,7 L2.81818182,7 L2.81818182,7 Z" id="Shape-Copy" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
<path d="M2.81818182,10 L10.1818182,10 L11,10 L11,9 L10.1818182,9 L2.81818182,9 L2,9 L2,10 L2.81818182,10 L2.81818182,10 Z" id="Shape-Copy-2" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="13px" height="13px" viewBox="0 0 13 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>note_on</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="note_on" sketch:type="MSArtboardGroup">
<rect id="Rectangle-40" fill="#138CDE" sketch:type="MSShapeGroup" x="0" y="0" width="13" height="13"></rect>
<path d="M2.81818182,4 L10.1818182,4 L11,4 L11,3 L10.1818182,3 L2.81818182,3 L2,3 L2,4 L2.81818182,4 L2.81818182,4 Z" id="Shape" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
<path d="M2.81818182,7 L10.1818182,7 L11,7 L11,6 L10.1818182,6 L2.81818182,6 L2,6 L2,7 L2.81818182,7 L2.81818182,7 Z" id="Shape-Copy" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
<path d="M2.81818182,10 L10.1818182,10 L11,10 L11,9 L10.1818182,9 L2.81818182,9 L2,9 L2,10 L2.81818182,10 L2.81818182,10 Z" id="Shape-Copy-2" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="13px" height="13px" viewBox="0 0 13 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>note_on</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="note_on" sketch:type="MSArtboardGroup">
<rect id="Rectangle-40" fill="#138CDE" sketch:type="MSShapeGroup" x="0" y="0" width="13" height="13"></rect>
<path d="M2.81818182,4 L10.1818182,4 L11,4 L11,3 L10.1818182,3 L2.81818182,3 L2,3 L2,4 L2.81818182,4 L2.81818182,4 Z" id="Shape" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
<path d="M2.81818182,7 L10.1818182,7 L11,7 L11,6 L10.1818182,6 L2.81818182,6 L2,6 L2,7 L2.81818182,7 L2.81818182,7 Z" id="Shape-Copy" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
<path d="M2.81818182,10 L10.1818182,10 L11,10 L11,9 L10.1818182,9 L2.81818182,9 L2,9 L2,10 L2.81818182,10 L2.81818182,10 Z" id="Shape-Copy-2" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="8px" height="14px" viewBox="0 0 8 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>forward</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="forward" sketch:type="MSArtboardGroup" fill="#4A4A4A">
<path d="M5.36658239,6.83451096 L0.504510351,1.43220869 C0.187463692,1.07993462 0.216021147,0.537342972 0.568295213,0.220296313 C0.920569278,-0.0967503457 1.46316093,-0.0681928903 1.78020759,0.284081175 L7.13813599,6.23733496 C7.24341927,6.35431637 7.31059146,6.49228484 7.34045407,6.63601181 C7.43282137,6.93106571 7.36212046,7.26615242 7.12835135,7.49992153 L1.46493243,13.1633404 C1.12980887,13.498464 0.586466228,13.498464 0.251342669,13.1633404 C-0.0837808905,12.8282169 -0.0837808895,12.2848742 0.251342671,11.9497507 L5.36658239,6.83451096 Z" id="Shape" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="8px" height="14px" viewBox="0 0 8 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>forward</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="forward" sketch:type="MSArtboardGroup" fill="#4A4A4A">
<path d="M5.36658239,6.83451096 L0.504510351,1.43220869 C0.187463692,1.07993462 0.216021147,0.537342972 0.568295213,0.220296313 C0.920569278,-0.0967503457 1.46316093,-0.0681928903 1.78020759,0.284081175 L7.13813599,6.23733496 C7.24341927,6.35431637 7.31059146,6.49228484 7.34045407,6.63601181 C7.43282137,6.93106571 7.36212046,7.26615242 7.12835135,7.49992153 L1.46493243,13.1633404 C1.12980887,13.498464 0.586466228,13.498464 0.251342669,13.1633404 C-0.0837808905,12.8282169 -0.0837808895,12.2848742 0.251342671,11.9497507 L5.36658239,6.83451096 Z" id="Shape" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="8px" height="14px" viewBox="0 0 8 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>forward_hover</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="forward_hover" sketch:type="MSArtboardGroup" fill="#138CDE">
<path d="M5.36658239,6.83451096 L0.504510351,1.43220869 C0.187463692,1.07993462 0.216021147,0.537342972 0.568295213,0.220296313 C0.920569278,-0.0967503457 1.46316093,-0.0681928903 1.78020759,0.284081175 L7.13813599,6.23733496 C7.24341927,6.35431637 7.31059146,6.49228484 7.34045407,6.63601181 C7.43282137,6.93106571 7.36212046,7.26615242 7.12835135,7.49992153 L1.46493243,13.1633404 C1.12980887,13.498464 0.586466228,13.498464 0.251342669,13.1633404 C-0.0837808905,12.8282169 -0.0837808895,12.2848742 0.251342671,11.9497507 L5.36658239,6.83451096 Z" id="Shape" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="8px" height="14px" viewBox="0 0 8 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>forward_hover</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="forward_hover" sketch:type="MSArtboardGroup" fill="#138CDE">
<path d="M5.36658239,6.83451096 L0.504510351,1.43220869 C0.187463692,1.07993462 0.216021147,0.537342972 0.568295213,0.220296313 C0.920569278,-0.0967503457 1.46316093,-0.0681928903 1.78020759,0.284081175 L7.13813599,6.23733496 C7.24341927,6.35431637 7.31059146,6.49228484 7.34045407,6.63601181 C7.43282137,6.93106571 7.36212046,7.26615242 7.12835135,7.49992153 L1.46493243,13.1633404 C1.12980887,13.498464 0.586466228,13.498464 0.251342669,13.1633404 C-0.0837808905,12.8282169 -0.0837808895,12.2848742 0.251342671,11.9497507 L5.36658239,6.83451096 Z" id="Shape" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="25" height="29" viewBox="0 0 25 29" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="Page-1" fill="none" fill-rule="evenodd">
<g id="notes_hover" fill="#c2c2c2">
<path d="M23.0173953,0 C24.1123577,0 25,0.894046985 25,1.98073526 L25,26.8366451 C25,27.930575 24.1102368,28.8173804 23.0173953,28.8173804 L1.98260467,28.8173804 C0.887642344,28.8173804 0,27.9233334 0,26.8366451 L0,1.98073526 C0,0.886805381 0.889763236,0 1.98260467,0 L23.0173953,0 Z M3,3 L22,3 L22,26 L3,26 L3,3 Z" id="Path"/>
<path d="M19,23 L19,21 L5,21 L5,23 L19,23 Z M19,18 L19,16 L5,16 L5,18 L19,18 Z M6.0989011,13 L11.9010989,13 L13,13 L13,11 L11.9010989,11 L6.0989011,11 L5,11 L5,13 L6.0989011,13 L6.0989011,13 Z M11.9010989,8.06681692 L13,8.06681692 L13,6.06681692 L11.9010989,6.06681692 L6.0989011,6.06681692 L5,6.06681692 L5,8.06681692 L6.0989011,8.06681692 L11.9010989,8.06681692 Z M15,6 L19,6 L19,13 L15,13 L15,6 Z" id="Notes-Icon"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="25" height="29" viewBox="0 0 25 29" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="Page-1" fill="none" fill-rule="evenodd">
<g id="notes_hover" fill="#c2c2c2">
<path d="M23.0173953,0 C24.1123577,0 25,0.894046985 25,1.98073526 L25,26.8366451 C25,27.930575 24.1102368,28.8173804 23.0173953,28.8173804 L1.98260467,28.8173804 C0.887642344,28.8173804 0,27.9233334 0,26.8366451 L0,1.98073526 C0,0.886805381 0.889763236,0 1.98260467,0 L23.0173953,0 Z M3,3 L22,3 L22,26 L3,26 L3,3 Z" id="Path"/>
<path d="M19,23 L19,21 L5,21 L5,23 L19,23 Z M19,18 L19,16 L5,16 L5,18 L19,18 Z M6.0989011,13 L11.9010989,13 L13,13 L13,11 L11.9010989,11 L6.0989011,11 L5,11 L5,13 L6.0989011,13 L6.0989011,13 Z M11.9010989,8.06681692 L13,8.06681692 L13,6.06681692 L11.9010989,6.06681692 L6.0989011,6.06681692 L5,6.06681692 L5,8.06681692 L6.0989011,8.06681692 L11.9010989,8.06681692 Z M15,6 L19,6 L19,13 L15,13 L15,6 Z" id="Notes-Icon"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1013 B

After

Width:  |  Height:  |  Size: 1022 B

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="25" height="29" viewBox="0 0 25 29" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="Page-1" fill="none" fill-rule="evenodd">
<g id="notes_off" fill="#62666b">
<path d="M23.0173953,0 C24.1123577,0 25,0.894046985 25,1.98073526 L25,26.8366451 C25,27.930575 24.1102368,28.8173804 23.0173953,28.8173804 L1.98260467,28.8173804 C0.887642344,28.8173804 0,27.9233334 0,26.8366451 L0,1.98073526 C0,0.886805381 0.889763236,0 1.98260467,0 L23.0173953,0 Z M3,3 L22,3 L22,26 L3,26 L3,3 Z" id="Path"/>
<path d="M19,23 L19,21 L5,21 L5,23 L19,23 Z M19,18 L19,16 L5,16 L5,18 L19,18 Z M6.0989011,13 L11.9010989,13 L13,13 L13,11 L11.9010989,11 L6.0989011,11 L5,11 L5,13 L6.0989011,13 L6.0989011,13 Z M11.9010989,8.06681692 L13,8.06681692 L13,6.06681692 L11.9010989,6.06681692 L6.0989011,6.06681692 L5,6.06681692 L5,8.06681692 L6.0989011,8.06681692 L11.9010989,8.06681692 Z M15,6 L19,6 L19,13 L15,13 L15,6 Z" id="Notes-Icon"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="25" height="29" viewBox="0 0 25 29" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="Page-1" fill="none" fill-rule="evenodd">
<g id="notes_off" fill="#62666b">
<path d="M23.0173953,0 C24.1123577,0 25,0.894046985 25,1.98073526 L25,26.8366451 C25,27.930575 24.1102368,28.8173804 23.0173953,28.8173804 L1.98260467,28.8173804 C0.887642344,28.8173804 0,27.9233334 0,26.8366451 L0,1.98073526 C0,0.886805381 0.889763236,0 1.98260467,0 L23.0173953,0 Z M3,3 L22,3 L22,26 L3,26 L3,3 Z" id="Path"/>
<path d="M19,23 L19,21 L5,21 L5,23 L19,23 Z M19,18 L19,16 L5,16 L5,18 L19,18 Z M6.0989011,13 L11.9010989,13 L13,13 L13,11 L11.9010989,11 L6.0989011,11 L5,11 L5,13 L6.0989011,13 L6.0989011,13 Z M11.9010989,8.06681692 L13,8.06681692 L13,6.06681692 L11.9010989,6.06681692 L6.0989011,6.06681692 L5,6.06681692 L5,8.06681692 L6.0989011,8.06681692 L11.9010989,8.06681692 Z M15,6 L19,6 L19,13 L15,13 L15,6 Z" id="Notes-Icon"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1011 B

After

Width:  |  Height:  |  Size: 1020 B

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="25" height="29" viewBox="0 0 25 29" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="Page-1" fill="none" fill-rule="evenodd">
<g id="notes_on" fill="#ffffff">
<path d="M23.0173953,0 C24.1123577,0 25,0.894046985 25,1.98073526 L25,26.8366451 C25,27.930575 24.1102368,28.8173804 23.0173953,28.8173804 L1.98260467,28.8173804 C0.887642344,28.8173804 0,27.9233334 0,26.8366451 L0,1.98073526 C0,0.886805381 0.889763236,0 1.98260467,0 L23.0173953,0 Z M3,3 L22,3 L22,26 L3,26 L3,3 Z" id="Path"/>
<path d="M19,23 L19,21 L5,21 L5,23 L19,23 Z M19,18 L19,16 L5,16 L5,18 L19,18 Z M6.0989011,13 L11.9010989,13 L13,13 L13,11 L11.9010989,11 L6.0989011,11 L5,11 L5,13 L6.0989011,13 L6.0989011,13 Z M11.9010989,8.06681692 L13,8.06681692 L13,6.06681692 L11.9010989,6.06681692 L6.0989011,6.06681692 L5,6.06681692 L5,8.06681692 L6.0989011,8.06681692 L11.9010989,8.06681692 Z M15,6 L19,6 L19,13 L15,13 L15,6 Z" id="Notes-Icon"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="25" height="29" viewBox="0 0 25 29" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="Page-1" fill="none" fill-rule="evenodd">
<g id="notes_on" fill="#ffffff">
<path d="M23.0173953,0 C24.1123577,0 25,0.894046985 25,1.98073526 L25,26.8366451 C25,27.930575 24.1102368,28.8173804 23.0173953,28.8173804 L1.98260467,28.8173804 C0.887642344,28.8173804 0,27.9233334 0,26.8366451 L0,1.98073526 C0,0.886805381 0.889763236,0 1.98260467,0 L23.0173953,0 Z M3,3 L22,3 L22,26 L3,26 L3,3 Z" id="Path"/>
<path d="M19,23 L19,21 L5,21 L5,23 L19,23 Z M19,18 L19,16 L5,16 L5,18 L19,18 Z M6.0989011,13 L11.9010989,13 L13,13 L13,11 L11.9010989,11 L6.0989011,11 L5,11 L5,13 L6.0989011,13 L6.0989011,13 Z M11.9010989,8.06681692 L13,8.06681692 L13,6.06681692 L11.9010989,6.06681692 L6.0989011,6.06681692 L5,6.06681692 L5,8.06681692 L6.0989011,8.06681692 L11.9010989,8.06681692 Z M15,6 L19,6 L19,13 L15,13 L15,6 Z" id="Notes-Icon"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1010 B

After

Width:  |  Height:  |  Size: 1019 B

View File

@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="13" height="13" viewBox="0 0 13 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="flow" sketch:type="MSArtboardGroup">
<rect id="Rectangle-38" fill="#62666b" sketch:type="MSShapeGroup" x="1" y="10" width="3" height="3"/>
<rect id="Rectangle-38-Copy" fill="#62666b" sketch:type="MSShapeGroup" x="9" y="10" width="3" height="3"/>
<path d="M6.90806226,0.277785818 C8.60537484,1.36088413 12,3.52708074 12,3.52708074 L6.47274687,7 L1,3.52708074 L6.47274687,0 C6.47274687,0 6.76295713,0.185190545 6.90806226,0.277785818 Z" id="Shape" fill="#62666b" sketch:type="MSShapeGroup"/>
<path d="M7.33917705,2.07093789 C8.05945137,2.55245016 9.5,3.51547471 9.5,3.51547471 L6.48513465,5.5 L3.5,3.51547471 L6.48513465,1.5 C6.48513465,1.5 7.05449625,1.88062526 7.33917705,2.07093789 Z" id="Shape-Copy-3" fill="#ffffff" sketch:type="MSShapeGroup"/>
<path d="M2.45,9 L10.55,9 L11,9 L11,8 L10.55,8 L2.45,8 L2,8 L2,9 L2.45,9 L2.45,9 Z" id="Shape" fill="#62666b" sketch:type="MSShapeGroup"/>
<path d="M7,7.66666667 L7,6.33333333 L7,6 L6,6 L6,6.33333333 L6,7.66666667 L6,8 L7,8 L7,7.66666667 L7,7.66666667 Z" id="Shape" fill="#62666b" sketch:type="MSShapeGroup"/>
<path d="M3,10.6666667 L3,9.33333333 L3,9 L2,9 L2,9.33333333 L2,10.6666667 L2,11 L3,11 L3,10.6666667 L3,10.6666667 Z" id="Shape-Copy" fill="#62666b" sketch:type="MSShapeGroup"/>
<path d="M11,10.6666667 L11,9.33333333 L11,9 L10,9 L10,9.33333333 L10,10.6666667 L10,11 L11,11 L11,10.6666667 L11,10.6666667 Z" id="Shape-Copy-2" fill="#62666b" sketch:type="MSShapeGroup"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="13" height="13" viewBox="0 0 13 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="flow" sketch:type="MSArtboardGroup">
<rect id="Rectangle-38" fill="#62666b" sketch:type="MSShapeGroup" x="1" y="10" width="3" height="3"/>
<rect id="Rectangle-38-Copy" fill="#62666b" sketch:type="MSShapeGroup" x="9" y="10" width="3" height="3"/>
<path d="M6.90806226,0.277785818 C8.60537484,1.36088413 12,3.52708074 12,3.52708074 L6.47274687,7 L1,3.52708074 L6.47274687,0 C6.47274687,0 6.76295713,0.185190545 6.90806226,0.277785818 Z" id="Shape" fill="#62666b" sketch:type="MSShapeGroup"/>
<path d="M7.33917705,2.07093789 C8.05945137,2.55245016 9.5,3.51547471 9.5,3.51547471 L6.48513465,5.5 L3.5,3.51547471 L6.48513465,1.5 C6.48513465,1.5 7.05449625,1.88062526 7.33917705,2.07093789 Z" id="Shape-Copy-3" fill="#ffffff" sketch:type="MSShapeGroup"/>
<path d="M2.45,9 L10.55,9 L11,9 L11,8 L10.55,8 L2.45,8 L2,8 L2,9 L2.45,9 L2.45,9 Z" id="Shape" fill="#62666b" sketch:type="MSShapeGroup"/>
<path d="M7,7.66666667 L7,6.33333333 L7,6 L6,6 L6,6.33333333 L6,7.66666667 L6,8 L7,8 L7,7.66666667 L7,7.66666667 Z" id="Shape" fill="#62666b" sketch:type="MSShapeGroup"/>
<path d="M3,10.6666667 L3,9.33333333 L3,9 L2,9 L2,9.33333333 L2,10.6666667 L2,11 L3,11 L3,10.6666667 L3,10.6666667 Z" id="Shape-Copy" fill="#62666b" sketch:type="MSShapeGroup"/>
<path d="M11,10.6666667 L11,9.33333333 L11,9 L10,9 L10,9.33333333 L10,10.6666667 L10,11 L11,11 L11,10.6666667 L11,10.6666667 Z" id="Shape-Copy-2" fill="#62666b" sketch:type="MSShapeGroup"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="15" height="12" viewBox="0 0 15 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="folder_closed" sketch:type="MSArtboardGroup" fill="#61666b">
<path d="M0.499076843,0 L0.499076843,0 L6,0 L8.06262207,1.99523926 L15,2 L15,11.4996527 C15,11.7759869 14.7763174,12 14.5009232,12 L0.499076843,12 C0.223444314,12 0,11.7709994 0,11.4996527 L0,0.500347316 C0,0.224013124 0.223682597,0 0.499076843,0 L0.499076843,0 Z" id="Shape" sketch:type="MSShapeGroup"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="15" height="12" viewBox="0 0 15 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="folder_closed" sketch:type="MSArtboardGroup" fill="#61666b">
<path d="M0.499076843,0 L0.499076843,0 L6,0 L8.06262207,1.99523926 L15,2 L15,11.4996527 C15,11.7759869 14.7763174,12 14.5009232,12 L0.499076843,12 C0.223444314,12 0,11.7709994 0,11.4996527 L0,0.500347316 C0,0.224013124 0.223682597,0 0.499076843,0 L0.499076843,0 Z" id="Shape" sketch:type="MSShapeGroup"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 676 B

After

Width:  |  Height:  |  Size: 684 B

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="15" height="12" viewBox="0 0 15 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="folder_open" sketch:type="MSArtboardGroup" fill="#61666b">
<path d="M0.499076843,0 L0.499076843,0 L6,0 L8.06262207,1.99523926 L15,2 L15,11.4996527 C15,11.7759869 14.7763174,12 14.5009232,12 L0.499076843,12 C0.223444314,12 0,11.7709994 0,11.4996527 L0,0.500347316 C0,0.224013124 0.223682597,0 0.499076843,0 L0.499076843,0 Z M2,2 L2,10.0000001 L13,10 L13,3.9946841 L7.25300762,3.99468413 L5.08392334,2 L2,2 Z" id="Shape" sketch:type="MSShapeGroup"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="15" height="12" viewBox="0 0 15 12" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="folder_open" sketch:type="MSArtboardGroup" fill="#61666b">
<path d="M0.499076843,0 L0.499076843,0 L6,0 L8.06262207,1.99523926 L15,2 L15,11.4996527 C15,11.7759869 14.7763174,12 14.5009232,12 L0.499076843,12 C0.223444314,12 0,11.7709994 0,11.4996527 L0,0.500347316 C0,0.224013124 0.223682597,0 0.499076843,0 L0.499076843,0 Z M2,2 L2,10.0000001 L13,10 L13,3.9946841 L7.25300762,3.99468413 L5.08392334,2 L2,2 Z" id="Shape" sketch:type="MSShapeGroup"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 758 B

After

Width:  |  Height:  |  Size: 766 B

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>hotspots</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="hotspots" sketch:type="MSArtboardGroup" fill="#4A4A4A">
<path d="M10.2600169,19.1602222 C7.96869248,19.1439638 6.84386902,17.3383469 6.84386902,15.4953111 C6.84386902,13.5882366 8.46249009,11.826828 10.5143142,11.826828 C12.5661382,11.826828 14.1882121,12.7932695 14.2045264,14.9307568 C14.2052709,15.0283039 14.2045264,15.1095983 14.1882118,15.2071482 L15.9836055,15.6786396 C15.9999201,15.5160564 15.9999201,15.3697315 15.9999201,15.2071483 C16.0162346,12.166843 13.5325041,10 10.4979998,10 C7.46349545,10 5,12.4550059 5,15.4953112 C5,18.5356166 7.16975376,21 10.2205726,21 C10.383718,21 10.5468634,20.9837417 10.7100088,20.9837417 L10.537364,19.1439638 C10.4394768,19.1439638 10.3579016,19.1609167 10.2600169,19.1602222 Z M15.4241629,20.2605722 C15.346898,20.2915532 13.7706948,23.8078983 13.7706948,23.8078983 C13.6316181,24.133199 13.106217,24.0247654 12.9671402,23.6375028 L10.0310755,15.5049865 C9.90745171,15.1796858 10.1701522,14.9163472 10.5101176,15.0247807 L18.6383811,17.9369961 C19.0247054,18.0919012 19.1328762,18.6030879 18.8083638,18.757993 L15.4241629,20.2605722 Z" id="Shape" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>hotspots</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="hotspots" sketch:type="MSArtboardGroup" fill="#4A4A4A">
<path d="M10.2600169,19.1602222 C7.96869248,19.1439638 6.84386902,17.3383469 6.84386902,15.4953111 C6.84386902,13.5882366 8.46249009,11.826828 10.5143142,11.826828 C12.5661382,11.826828 14.1882121,12.7932695 14.2045264,14.9307568 C14.2052709,15.0283039 14.2045264,15.1095983 14.1882118,15.2071482 L15.9836055,15.6786396 C15.9999201,15.5160564 15.9999201,15.3697315 15.9999201,15.2071483 C16.0162346,12.166843 13.5325041,10 10.4979998,10 C7.46349545,10 5,12.4550059 5,15.4953112 C5,18.5356166 7.16975376,21 10.2205726,21 C10.383718,21 10.5468634,20.9837417 10.7100088,20.9837417 L10.537364,19.1439638 C10.4394768,19.1439638 10.3579016,19.1609167 10.2600169,19.1602222 Z M15.4241629,20.2605722 C15.346898,20.2915532 13.7706948,23.8078983 13.7706948,23.8078983 C13.6316181,24.133199 13.106217,24.0247654 12.9671402,23.6375028 L10.0310755,15.5049865 C9.90745171,15.1796858 10.1701522,14.9163472 10.5101176,15.0247807 L18.6383811,17.9369961 C19.0247054,18.0919012 19.1328762,18.6030879 18.8083638,18.757993 L15.4241629,20.2605722 Z" id="Shape" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>hotspots_hover</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="hotspots_hover" sketch:type="MSArtboardGroup" fill="#138CDE">
<path d="M10.2600169,19.1602222 C7.96869248,19.1439638 6.84386902,17.3383469 6.84386902,15.4953111 C6.84386902,13.5882366 8.46249009,11.826828 10.5143142,11.826828 C12.5661382,11.826828 14.1882121,12.7932695 14.2045264,14.9307568 C14.2052709,15.0283039 14.2045264,15.1095983 14.1882118,15.2071482 L15.9836055,15.6786396 C15.9999201,15.5160564 15.9999201,15.3697315 15.9999201,15.2071483 C16.0162346,12.166843 13.5325041,10 10.4979998,10 C7.46349545,10 5,12.4550059 5,15.4953112 C5,18.5356166 7.16975376,21 10.2205726,21 C10.383718,21 10.5468634,20.9837417 10.7100088,20.9837417 L10.537364,19.1439638 C10.4394768,19.1439638 10.3579016,19.1609167 10.2600169,19.1602222 Z M15.4241629,20.2605722 C15.346898,20.2915532 13.7706948,23.8078983 13.7706948,23.8078983 C13.6316181,24.133199 13.106217,24.0247654 12.9671402,23.6375028 L10.0310755,15.5049865 C9.90745171,15.1796858 10.1701522,14.9163472 10.5101176,15.0247807 L18.6383811,17.9369961 C19.0247054,18.0919012 19.1328762,18.6030879 18.8083638,18.757993 L15.4241629,20.2605722 Z" id="Shape" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>hotspots_hover</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="hotspots_hover" sketch:type="MSArtboardGroup" fill="#138CDE">
<path d="M10.2600169,19.1602222 C7.96869248,19.1439638 6.84386902,17.3383469 6.84386902,15.4953111 C6.84386902,13.5882366 8.46249009,11.826828 10.5143142,11.826828 C12.5661382,11.826828 14.1882121,12.7932695 14.2045264,14.9307568 C14.2052709,15.0283039 14.2045264,15.1095983 14.1882118,15.2071482 L15.9836055,15.6786396 C15.9999201,15.5160564 15.9999201,15.3697315 15.9999201,15.2071483 C16.0162346,12.166843 13.5325041,10 10.4979998,10 C7.46349545,10 5,12.4550059 5,15.4953112 C5,18.5356166 7.16975376,21 10.2205726,21 C10.383718,21 10.5468634,20.9837417 10.7100088,20.9837417 L10.537364,19.1439638 C10.4394768,19.1439638 10.3579016,19.1609167 10.2600169,19.1602222 Z M15.4241629,20.2605722 C15.346898,20.2915532 13.7706948,23.8078983 13.7706948,23.8078983 C13.6316181,24.133199 13.106217,24.0247654 12.9671402,23.6375028 L10.0310755,15.5049865 C9.90745171,15.1796858 10.1701522,14.9163472 10.5101176,15.0247807 L18.6383811,17.9369961 C19.0247054,18.0919012 19.1328762,18.6030879 18.8083638,18.757993 L15.4241629,20.2605722 Z" id="Shape" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>hotspots_on</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="hotspots_on" sketch:type="MSArtboardGroup" fill="#138CDE">
<path d="M10.2600169,19.1602222 C7.96869248,19.1439638 6.84386902,17.3383469 6.84386902,15.4953111 C6.84386902,13.5882366 8.46249009,11.826828 10.5143142,11.826828 C12.5661382,11.826828 14.1882121,12.7932695 14.2045264,14.9307568 C14.2052709,15.0283039 14.2045264,15.1095983 14.1882118,15.2071482 L15.9836055,15.6786396 C15.9999201,15.5160564 15.9999201,15.3697315 15.9999201,15.2071483 C16.0162346,12.166843 13.5325041,10 10.4979998,10 C7.46349545,10 5,12.4550059 5,15.4953112 C5,18.5356166 7.16975376,21 10.2205726,21 C10.383718,21 10.5468634,20.9837417 10.7100088,20.9837417 L10.537364,19.1439638 C10.4394768,19.1439638 10.3579016,19.1609167 10.2600169,19.1602222 Z M15.4241629,20.2605722 C15.346898,20.2915532 13.7706948,23.8078983 13.7706948,23.8078983 C13.6316181,24.133199 13.106217,24.0247654 12.9671402,23.6375028 L10.0310755,15.5049865 C9.90745171,15.1796858 10.1701522,14.9163472 10.5101176,15.0247807 L18.6383811,17.9369961 C19.0247054,18.0919012 19.1328762,18.6030879 18.8083638,18.757993 L15.4241629,20.2605722 Z" id="Shape" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>hotspots_on</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="hotspots_on" sketch:type="MSArtboardGroup" fill="#138CDE">
<path d="M10.2600169,19.1602222 C7.96869248,19.1439638 6.84386902,17.3383469 6.84386902,15.4953111 C6.84386902,13.5882366 8.46249009,11.826828 10.5143142,11.826828 C12.5661382,11.826828 14.1882121,12.7932695 14.2045264,14.9307568 C14.2052709,15.0283039 14.2045264,15.1095983 14.1882118,15.2071482 L15.9836055,15.6786396 C15.9999201,15.5160564 15.9999201,15.3697315 15.9999201,15.2071483 C16.0162346,12.166843 13.5325041,10 10.4979998,10 C7.46349545,10 5,12.4550059 5,15.4953112 C5,18.5356166 7.16975376,21 10.2205726,21 C10.383718,21 10.5468634,20.9837417 10.7100088,20.9837417 L10.537364,19.1439638 C10.4394768,19.1439638 10.3579016,19.1609167 10.2600169,19.1602222 Z M15.4241629,20.2605722 C15.346898,20.2915532 13.7706948,23.8078983 13.7706948,23.8078983 C13.6316181,24.133199 13.106217,24.0247654 12.9671402,23.6375028 L10.0310755,15.5049865 C9.90745171,15.1796858 10.1701522,14.9163472 10.5101176,15.0247807 L18.6383811,17.9369961 C19.0247054,18.0919012 19.1328762,18.6030879 18.8083638,18.757993 L15.4241629,20.2605722 Z" id="Shape" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="10px" height="13px" viewBox="0 0 10 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: sketchtool 3.4 (375) - http://www.bohemiancoding.com/sketch -->
<title>Note Copy</title>
<desc>Created with sketchtool.</desc>
<defs></defs>
<g id="Axshare---Web-View" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="Share-Pages" sketch:type="MSArtboardGroup" transform="translate(-191.000000, -354.000000)" fill="#62666B">
<g id="Left-Display-Panel" sketch:type="MSLayerGroup" transform="translate(174.000000, 125.000000)">
<g id="Pages" transform="translate(12.000000, 88.632812)" sketch:type="MSShapeGroup">
<path d="M7,141.36569 L7,141.36569 L7,152.368685 C7,151.816811 6.55191214,151.367188 5.99539757,151.367188 L14.0046024,151.367188 C13.4449244,151.367188 13,151.810421 13,152.368685 L13,141.36569 C13,141.917564 13.4480879,142.367188 14.0046024,142.367188 L5.99539757,142.367188 C6.55507559,142.367188 7,141.923954 7,141.36569 L7,141.36569 Z M5,141.36569 C5,140.814232 5.4556644,140.367188 5.99539757,140.367188 L14.0046024,140.367188 C14.5543453,140.367188 15,140.814677 15,141.36569 L15,152.368685 C15,152.920143 14.5443356,153.367188 14.0046024,153.367188 L5.99539757,153.367188 C5.44565467,153.367188 5,152.919698 5,152.368685 L5,141.36569 L5,141.36569 Z M8,149.367188 L12,149.367188 L12,148.367188 L8,148.367188 L8,149.367188 L8,149.367188 Z M8,147.367188 L12,147.367188 L12,146.367188 L8,146.367188 L8,147.367188 L8,147.367188 Z M8,145.367188 L12,145.367188 L12,144.367188 L8,144.367188 L8,145.367188 L8,145.367188 Z" id="Note-Copy"></path>
</g>
</g>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="10px" height="13px" viewBox="0 0 10 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: sketchtool 3.4 (375) - http://www.bohemiancoding.com/sketch -->
<title>Note Copy</title>
<desc>Created with sketchtool.</desc>
<defs></defs>
<g id="Axshare---Web-View" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="Share-Pages" sketch:type="MSArtboardGroup" transform="translate(-191.000000, -354.000000)" fill="#62666B">
<g id="Left-Display-Panel" sketch:type="MSLayerGroup" transform="translate(174.000000, 125.000000)">
<g id="Pages" transform="translate(12.000000, 88.632812)" sketch:type="MSShapeGroup">
<path d="M7,141.36569 L7,141.36569 L7,152.368685 C7,151.816811 6.55191214,151.367188 5.99539757,151.367188 L14.0046024,151.367188 C13.4449244,151.367188 13,151.810421 13,152.368685 L13,141.36569 C13,141.917564 13.4480879,142.367188 14.0046024,142.367188 L5.99539757,142.367188 C6.55507559,142.367188 7,141.923954 7,141.36569 L7,141.36569 Z M5,141.36569 C5,140.814232 5.4556644,140.367188 5.99539757,140.367188 L14.0046024,140.367188 C14.5543453,140.367188 15,140.814677 15,141.36569 L15,152.368685 C15,152.920143 14.5443356,153.367188 14.0046024,153.367188 L5.99539757,153.367188 C5.44565467,153.367188 5,152.919698 5,152.368685 L5,141.36569 L5,141.36569 Z M8,149.367188 L12,149.367188 L12,148.367188 L8,148.367188 L8,149.367188 L8,149.367188 Z M8,147.367188 L12,147.367188 L12,146.367188 L8,146.367188 L8,147.367188 L8,147.367188 Z M8,145.367188 L12,145.367188 L12,144.367188 L8,144.367188 L8,145.367188 L8,145.367188 Z" id="Note-Copy"></path>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="10" height="13" viewBox="0 0 10 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="page" sketch:type="MSArtboardGroup" fill="#62666b">
<path d="M0.997057016,0 L6.85693359,0 L10,3.36083984 L10,12.0047461 C10,12.5544097 9.5443356,13 9.00460243,13 L0.995397568,13 C0.445654671,13 0,12.5525106 0,12.0014977 L0,0.998502329 C0,0.44704472 0.449902564,0 0.997057016,0 Z M2,10.9999996 L8,10.9999996 L8,4.0219117 L6.00872803,1.99999996 L2.00000005,1.99999996 L2,10.9999996 Z" id="Shape" sketch:type="MSShapeGroup"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="10" height="13" viewBox="0 0 10 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="page" sketch:type="MSArtboardGroup" fill="#62666b">
<path d="M0.997057016,0 L6.85693359,0 L10,3.36083984 L10,12.0047461 C10,12.5544097 9.5443356,13 9.00460243,13 L0.995397568,13 C0.445654671,13 0,12.5525106 0,12.0014977 L0,0.998502329 C0,0.44704472 0.449902564,0 0.997057016,0 Z M2,10.9999996 L8,10.9999996 L8,4.0219117 L6.00872803,1.99999996 L2.00000005,1.99999996 L2,10.9999996 Z" id="Shape" sketch:type="MSShapeGroup"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 733 B

After

Width:  |  Height:  |  Size: 741 B

View File

@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>share</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="share" sketch:type="MSArtboardGroup" fill="#4A4A4A">
<g id="Shape-+-arrows110-copy" sketch:type="MSLayerGroup" transform="translate(4.000000, 7.000000)">
<path d="M3,6.5138325 L3,14.988934 L13,14.988934 L13,6.011066 L11.0463867,6.011066 L11.0463867,4 L15,4 L15,17 L1,17 L1,4 L3,6.5138325 Z" id="Shape" sketch:type="MSShapeGroup" transform="translate(8.000000, 10.500000) scale(-1, 1) translate(-8.000000, -10.500000) "></path>
<g id="arrows110-copy" transform="translate(8.263140, 7.580127) rotate(-30.000000) translate(-8.263140, -7.580127) translate(1.763140, 2.580127)" sketch:type="MSShapeGroup">
<g id="Capa_1" transform="translate(6.373914, 4.615044) rotate(-4.000000) translate(-6.373914, -4.615044) translate(0.373914, 0.615044)">
<path d="M0.908391223,7.22924417 C0.908391223,3.43005369 5.41839122,2.62076798 6.46601027,2.48405369 L6.46601027,0.740815597 C6.46601027,0.654910835 6.51315313,0.576339406 6.58910551,0.534958454 C6.66610551,0.49514893 6.75724837,0.500910835 6.82796265,0.547529882 L11.6480579,3.79200607 C11.7114388,3.83495845 11.7496769,3.90619655 11.7496769,3.98529179 C11.7496769,4.06229179 11.7114388,4.13405369 11.6480579,4.17700607 L6.8305817,7.42095845 C6.75881979,7.46810131 6.66662932,7.47333941 6.59120075,7.43300607 C6.51472456,7.39214893 6.4675817,7.31305369 6.4675817,7.22662512 L6.4675817,5.35138703 C5.70962932,5.35610131 5.08210551,5.38962512 4.55986741,5.45248226 C2.05343884,5.74948226 1.38348646,7.25438703 1.35624837,7.3188156 C1.31905789,7.40524417 1.23420075,7.46076798 1.14148646,7.46076798 C1.12577218,7.4618156 1.11005789,7.46076798 1.09591503,7.45762512 C0.985915033,7.4345775 0.908391223,7.33924417 0.908391223,7.22924417 Z" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>share</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="share" sketch:type="MSArtboardGroup" fill="#4A4A4A">
<g id="Shape-+-arrows110-copy" sketch:type="MSLayerGroup" transform="translate(4.000000, 7.000000)">
<path d="M3,6.5138325 L3,14.988934 L13,14.988934 L13,6.011066 L11.0463867,6.011066 L11.0463867,4 L15,4 L15,17 L1,17 L1,4 L3,6.5138325 Z" id="Shape" sketch:type="MSShapeGroup" transform="translate(8.000000, 10.500000) scale(-1, 1) translate(-8.000000, -10.500000) "></path>
<g id="arrows110-copy" transform="translate(8.263140, 7.580127) rotate(-30.000000) translate(-8.263140, -7.580127) translate(1.763140, 2.580127)" sketch:type="MSShapeGroup">
<g id="Capa_1" transform="translate(6.373914, 4.615044) rotate(-4.000000) translate(-6.373914, -4.615044) translate(0.373914, 0.615044)">
<path d="M0.908391223,7.22924417 C0.908391223,3.43005369 5.41839122,2.62076798 6.46601027,2.48405369 L6.46601027,0.740815597 C6.46601027,0.654910835 6.51315313,0.576339406 6.58910551,0.534958454 C6.66610551,0.49514893 6.75724837,0.500910835 6.82796265,0.547529882 L11.6480579,3.79200607 C11.7114388,3.83495845 11.7496769,3.90619655 11.7496769,3.98529179 C11.7496769,4.06229179 11.7114388,4.13405369 11.6480579,4.17700607 L6.8305817,7.42095845 C6.75881979,7.46810131 6.66662932,7.47333941 6.59120075,7.43300607 C6.51472456,7.39214893 6.4675817,7.31305369 6.4675817,7.22662512 L6.4675817,5.35138703 C5.70962932,5.35610131 5.08210551,5.38962512 4.55986741,5.45248226 C2.05343884,5.74948226 1.38348646,7.25438703 1.35624837,7.3188156 C1.31905789,7.40524417 1.23420075,7.46076798 1.14148646,7.46076798 C1.12577218,7.4618156 1.11005789,7.46076798 1.09591503,7.45762512 C0.985915033,7.4345775 0.908391223,7.33924417 0.908391223,7.22924417 Z" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>share_hover</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="share_hover" sketch:type="MSArtboardGroup" fill="#138CDE">
<g id="Shape-+-arrows110-copy" sketch:type="MSLayerGroup" transform="translate(4.000000, 7.000000)">
<path d="M3,6.5138325 L3,14.988934 L13,14.988934 L13,6.011066 L11.0463867,6.011066 L11.0463867,4 L15,4 L15,17 L1,17 L1,4 L3,6.5138325 Z" id="Shape" sketch:type="MSShapeGroup" transform="translate(8.000000, 10.500000) scale(-1, 1) translate(-8.000000, -10.500000) "></path>
<g id="arrows110-copy" transform="translate(8.263140, 7.580127) rotate(-30.000000) translate(-8.263140, -7.580127) translate(1.763140, 2.580127)" sketch:type="MSShapeGroup">
<g id="Capa_1" transform="translate(6.373914, 4.615044) rotate(-4.000000) translate(-6.373914, -4.615044) translate(0.373914, 0.615044)">
<path d="M0.908391223,7.22924417 C0.908391223,3.43005369 5.41839122,2.62076798 6.46601027,2.48405369 L6.46601027,0.740815597 C6.46601027,0.654910835 6.51315313,0.576339406 6.58910551,0.534958454 C6.66610551,0.49514893 6.75724837,0.500910835 6.82796265,0.547529882 L11.6480579,3.79200607 C11.7114388,3.83495845 11.7496769,3.90619655 11.7496769,3.98529179 C11.7496769,4.06229179 11.7114388,4.13405369 11.6480579,4.17700607 L6.8305817,7.42095845 C6.75881979,7.46810131 6.66662932,7.47333941 6.59120075,7.43300607 C6.51472456,7.39214893 6.4675817,7.31305369 6.4675817,7.22662512 L6.4675817,5.35138703 C5.70962932,5.35610131 5.08210551,5.38962512 4.55986741,5.45248226 C2.05343884,5.74948226 1.38348646,7.25438703 1.35624837,7.3188156 C1.31905789,7.40524417 1.23420075,7.46076798 1.14148646,7.46076798 C1.12577218,7.4618156 1.11005789,7.46076798 1.09591503,7.45762512 C0.985915033,7.4345775 0.908391223,7.33924417 0.908391223,7.22924417 Z" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>share_hover</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="share_hover" sketch:type="MSArtboardGroup" fill="#138CDE">
<g id="Shape-+-arrows110-copy" sketch:type="MSLayerGroup" transform="translate(4.000000, 7.000000)">
<path d="M3,6.5138325 L3,14.988934 L13,14.988934 L13,6.011066 L11.0463867,6.011066 L11.0463867,4 L15,4 L15,17 L1,17 L1,4 L3,6.5138325 Z" id="Shape" sketch:type="MSShapeGroup" transform="translate(8.000000, 10.500000) scale(-1, 1) translate(-8.000000, -10.500000) "></path>
<g id="arrows110-copy" transform="translate(8.263140, 7.580127) rotate(-30.000000) translate(-8.263140, -7.580127) translate(1.763140, 2.580127)" sketch:type="MSShapeGroup">
<g id="Capa_1" transform="translate(6.373914, 4.615044) rotate(-4.000000) translate(-6.373914, -4.615044) translate(0.373914, 0.615044)">
<path d="M0.908391223,7.22924417 C0.908391223,3.43005369 5.41839122,2.62076798 6.46601027,2.48405369 L6.46601027,0.740815597 C6.46601027,0.654910835 6.51315313,0.576339406 6.58910551,0.534958454 C6.66610551,0.49514893 6.75724837,0.500910835 6.82796265,0.547529882 L11.6480579,3.79200607 C11.7114388,3.83495845 11.7496769,3.90619655 11.7496769,3.98529179 C11.7496769,4.06229179 11.7114388,4.13405369 11.6480579,4.17700607 L6.8305817,7.42095845 C6.75881979,7.46810131 6.66662932,7.47333941 6.59120075,7.43300607 C6.51472456,7.39214893 6.4675817,7.31305369 6.4675817,7.22662512 L6.4675817,5.35138703 C5.70962932,5.35610131 5.08210551,5.38962512 4.55986741,5.45248226 C2.05343884,5.74948226 1.38348646,7.25438703 1.35624837,7.3188156 C1.31905789,7.40524417 1.23420075,7.46076798 1.14148646,7.46076798 C1.12577218,7.4618156 1.11005789,7.46076798 1.09591503,7.45762512 C0.985915033,7.4345775 0.908391223,7.33924417 0.908391223,7.22924417 Z" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>share_on</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="share_on" sketch:type="MSArtboardGroup" fill="#138CDE">
<g id="Shape-+-arrows110-copy" sketch:type="MSLayerGroup" transform="translate(4.000000, 7.000000)">
<path d="M3,6.5138325 L3,14.988934 L13,14.988934 L13,6.011066 L11.0463867,6.011066 L11.0463867,4 L15,4 L15,17 L1,17 L1,4 L3,6.5138325 Z" id="Shape" sketch:type="MSShapeGroup" transform="translate(8.000000, 10.500000) scale(-1, 1) translate(-8.000000, -10.500000) "></path>
<g id="arrows110-copy" transform="translate(8.263140, 7.580127) rotate(-30.000000) translate(-8.263140, -7.580127) translate(1.763140, 2.580127)" sketch:type="MSShapeGroup">
<g id="Capa_1" transform="translate(6.373914, 4.615044) rotate(-4.000000) translate(-6.373914, -4.615044) translate(0.373914, 0.615044)">
<path d="M0.908391223,7.22924417 C0.908391223,3.43005369 5.41839122,2.62076798 6.46601027,2.48405369 L6.46601027,0.740815597 C6.46601027,0.654910835 6.51315313,0.576339406 6.58910551,0.534958454 C6.66610551,0.49514893 6.75724837,0.500910835 6.82796265,0.547529882 L11.6480579,3.79200607 C11.7114388,3.83495845 11.7496769,3.90619655 11.7496769,3.98529179 C11.7496769,4.06229179 11.7114388,4.13405369 11.6480579,4.17700607 L6.8305817,7.42095845 C6.75881979,7.46810131 6.66662932,7.47333941 6.59120075,7.43300607 C6.51472456,7.39214893 6.4675817,7.31305369 6.4675817,7.22662512 L6.4675817,5.35138703 C5.70962932,5.35610131 5.08210551,5.38962512 4.55986741,5.45248226 C2.05343884,5.74948226 1.38348646,7.25438703 1.35624837,7.3188156 C1.31905789,7.40524417 1.23420075,7.46076798 1.14148646,7.46076798 C1.12577218,7.4618156 1.11005789,7.46076798 1.09591503,7.45762512 C0.985915033,7.4345775 0.908391223,7.33924417 0.908391223,7.22924417 Z" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>share_on</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="share_on" sketch:type="MSArtboardGroup" fill="#138CDE">
<g id="Shape-+-arrows110-copy" sketch:type="MSLayerGroup" transform="translate(4.000000, 7.000000)">
<path d="M3,6.5138325 L3,14.988934 L13,14.988934 L13,6.011066 L11.0463867,6.011066 L11.0463867,4 L15,4 L15,17 L1,17 L1,4 L3,6.5138325 Z" id="Shape" sketch:type="MSShapeGroup" transform="translate(8.000000, 10.500000) scale(-1, 1) translate(-8.000000, -10.500000) "></path>
<g id="arrows110-copy" transform="translate(8.263140, 7.580127) rotate(-30.000000) translate(-8.263140, -7.580127) translate(1.763140, 2.580127)" sketch:type="MSShapeGroup">
<g id="Capa_1" transform="translate(6.373914, 4.615044) rotate(-4.000000) translate(-6.373914, -4.615044) translate(0.373914, 0.615044)">
<path d="M0.908391223,7.22924417 C0.908391223,3.43005369 5.41839122,2.62076798 6.46601027,2.48405369 L6.46601027,0.740815597 C6.46601027,0.654910835 6.51315313,0.576339406 6.58910551,0.534958454 C6.66610551,0.49514893 6.75724837,0.500910835 6.82796265,0.547529882 L11.6480579,3.79200607 C11.7114388,3.83495845 11.7496769,3.90619655 11.7496769,3.98529179 C11.7496769,4.06229179 11.7114388,4.13405369 11.6480579,4.17700607 L6.8305817,7.42095845 C6.75881979,7.46810131 6.66662932,7.47333941 6.59120075,7.43300607 C6.51472456,7.39214893 6.4675817,7.31305369 6.4675817,7.22662512 L6.4675817,5.35138703 C5.70962932,5.35610131 5.08210551,5.38962512 4.55986741,5.45248226 C2.05343884,5.74948226 1.38348646,7.25438703 1.35624837,7.3188156 C1.31905789,7.40524417 1.23420075,7.46076798 1.14148646,7.46076798 C1.12577218,7.4618156 1.11005789,7.46076798 1.09591503,7.45762512 C0.985915033,7.4345775 0.908391223,7.33924417 0.908391223,7.22924417 Z" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="28" height="25" viewBox="0 0 28 25" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="Page-1" fill="none" fill-rule="evenodd">
<g id="sitemap_hover" fill="#c2c2c2">
<path d="M15.0769202,12.075687 C16.0025381,12.0747431 23.334246,12.0672274 23.3613141,12.0659607 C23.5843981,12.0570264 23.8391114,12.0778205 24.1023486,12.158165 C24.70215,12.3412347 25.1279338,12.7935747 25.1255962,13.4263338 C25.1350698,13.5358966 25.1336637,17.7446923 25.1336637,17.7446923 L27.2852264,17.7446923 C27.679985,17.7446923 28,18.0681173 28,18.4512133 L28,24.1360483 C28,24.5262491 27.6806299,24.8425693 27.2852264,24.8425693 L20.8173377,24.8425693 C20.4225791,24.8425693 20.1025641,24.5191443 20.1025641,24.1360483 L20.1025641,18.4512133 C20.1025641,18.0610125 20.4219342,17.7446923 20.8173377,17.7446923 L22.999217,17.7446923 C23.0002943,17.4922611 23.0135831,14.1836367 22.9699915,14.18501 C22.9699915,14.18501 15.9798277,14.1909772 15.0769231,14.1861662 L15.0769231,17.7446923 L12.9230769,17.7446923 L12.923077,14.18501 L5.04768254,14.18501 C5.00409091,14.1836367 5.01737968,17.4922611 5.01845697,17.7446923 L7.18266231,17.7446923 C7.57742086,17.7446923 7.8974359,18.0681173 7.8974359,18.4512133 L7.8974359,24.1360483 C7.8974359,24.5262491 7.57806576,24.8425693 7.18266231,24.8425693 L0.714773589,24.8425693 C0.320015036,24.8425693 0,24.5191443 0,24.1360483 L0,18.4512133 C0,18.0610125 0.319370135,17.7446923 0.714773589,17.7446923 L2.88401029,17.7446923 C2.88401029,17.7446923 2.8826042,13.5358966 2.89207782,13.4263338 C2.8897402,12.7935747 3.31552395,12.3412347 3.91532541,12.158165 C4.17856258,12.0778205 4.43327588,12.0570264 4.65635992,12.0659607 C4.68525201,12.0673127 4.68525201,12.0673127 4.70009595,12.0683487 L12.923077,12.0746184 L12.923077,8.51745232 L10.0502068,8.51745232 C9.65428852,8.51745232 9.33333333,8.1939588 9.33333333,7.80590911 L9.33333333,0.711543208 C9.33333333,0.318568745 9.64387004,0 10.0502068,0 L17.9497932,0 C18.3457115,0 18.6666667,0.323493518 18.6666667,0.711543208 L18.6666667,7.80590911 C18.6666667,8.19888358 18.35613,8.51745232 17.9497932,8.51745232 L15.0769232,8.51745232 L15.0769231,12.075687 Z M10.0512821,18.4512133 C10.0512821,18.0610125 10.3706522,17.7446923 10.7660556,17.7446923 L17.2339444,17.7446923 C17.6287029,17.7446923 17.9487179,18.0681173 17.9487179,18.4512133 L17.9487179,24.1360483 C17.9487179,24.5262491 17.6293478,24.8425693 17.2339444,24.8425693 L10.7660556,24.8425693 C10.3712971,24.8425693 10.0512821,24.5191443 10.0512821,24.1360483 L10.0512821,18.4512133 Z"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="28" height="25" viewBox="0 0 28 25" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="Page-1" fill="none" fill-rule="evenodd">
<g id="sitemap_hover" fill="#c2c2c2">
<path d="M15.0769202,12.075687 C16.0025381,12.0747431 23.334246,12.0672274 23.3613141,12.0659607 C23.5843981,12.0570264 23.8391114,12.0778205 24.1023486,12.158165 C24.70215,12.3412347 25.1279338,12.7935747 25.1255962,13.4263338 C25.1350698,13.5358966 25.1336637,17.7446923 25.1336637,17.7446923 L27.2852264,17.7446923 C27.679985,17.7446923 28,18.0681173 28,18.4512133 L28,24.1360483 C28,24.5262491 27.6806299,24.8425693 27.2852264,24.8425693 L20.8173377,24.8425693 C20.4225791,24.8425693 20.1025641,24.5191443 20.1025641,24.1360483 L20.1025641,18.4512133 C20.1025641,18.0610125 20.4219342,17.7446923 20.8173377,17.7446923 L22.999217,17.7446923 C23.0002943,17.4922611 23.0135831,14.1836367 22.9699915,14.18501 C22.9699915,14.18501 15.9798277,14.1909772 15.0769231,14.1861662 L15.0769231,17.7446923 L12.9230769,17.7446923 L12.923077,14.18501 L5.04768254,14.18501 C5.00409091,14.1836367 5.01737968,17.4922611 5.01845697,17.7446923 L7.18266231,17.7446923 C7.57742086,17.7446923 7.8974359,18.0681173 7.8974359,18.4512133 L7.8974359,24.1360483 C7.8974359,24.5262491 7.57806576,24.8425693 7.18266231,24.8425693 L0.714773589,24.8425693 C0.320015036,24.8425693 0,24.5191443 0,24.1360483 L0,18.4512133 C0,18.0610125 0.319370135,17.7446923 0.714773589,17.7446923 L2.88401029,17.7446923 C2.88401029,17.7446923 2.8826042,13.5358966 2.89207782,13.4263338 C2.8897402,12.7935747 3.31552395,12.3412347 3.91532541,12.158165 C4.17856258,12.0778205 4.43327588,12.0570264 4.65635992,12.0659607 C4.68525201,12.0673127 4.68525201,12.0673127 4.70009595,12.0683487 L12.923077,12.0746184 L12.923077,8.51745232 L10.0502068,8.51745232 C9.65428852,8.51745232 9.33333333,8.1939588 9.33333333,7.80590911 L9.33333333,0.711543208 C9.33333333,0.318568745 9.64387004,0 10.0502068,0 L17.9497932,0 C18.3457115,0 18.6666667,0.323493518 18.6666667,0.711543208 L18.6666667,7.80590911 C18.6666667,8.19888358 18.35613,8.51745232 17.9497932,8.51745232 L15.0769232,8.51745232 L15.0769231,12.075687 Z M10.0512821,18.4512133 C10.0512821,18.0610125 10.3706522,17.7446923 10.7660556,17.7446923 L17.2339444,17.7446923 C17.6287029,17.7446923 17.9487179,18.0681173 17.9487179,18.4512133 L17.9487179,24.1360483 C17.9487179,24.5262491 17.6293478,24.8425693 17.2339444,24.8425693 L10.7660556,24.8425693 C10.3712971,24.8425693 10.0512821,24.5191443 10.0512821,24.1360483 L10.0512821,18.4512133 Z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="28" height="25" viewBox="0 0 28 25" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="Page-1" fill="none" fill-rule="evenodd">
<g id="sitemap_off" fill="#62666b">
<path d="M15.0769202,12.075687 C16.0025381,12.0747431 23.334246,12.0672274 23.3613141,12.0659607 C23.5843981,12.0570264 23.8391114,12.0778205 24.1023486,12.158165 C24.70215,12.3412347 25.1279338,12.7935747 25.1255962,13.4263338 C25.1350698,13.5358966 25.1336637,17.7446923 25.1336637,17.7446923 L27.2852264,17.7446923 C27.679985,17.7446923 28,18.0681173 28,18.4512133 L28,24.1360483 C28,24.5262491 27.6806299,24.8425693 27.2852264,24.8425693 L20.8173377,24.8425693 C20.4225791,24.8425693 20.1025641,24.5191443 20.1025641,24.1360483 L20.1025641,18.4512133 C20.1025641,18.0610125 20.4219342,17.7446923 20.8173377,17.7446923 L22.999217,17.7446923 C23.0002943,17.4922611 23.0135831,14.1836367 22.9699915,14.18501 C22.9699915,14.18501 15.9798277,14.1909772 15.0769231,14.1861662 L15.0769231,17.7446923 L12.9230769,17.7446923 L12.923077,14.18501 L5.04768254,14.18501 C5.00409091,14.1836367 5.01737968,17.4922611 5.01845697,17.7446923 L7.18266231,17.7446923 C7.57742086,17.7446923 7.8974359,18.0681173 7.8974359,18.4512133 L7.8974359,24.1360483 C7.8974359,24.5262491 7.57806576,24.8425693 7.18266231,24.8425693 L0.714773589,24.8425693 C0.320015036,24.8425693 0,24.5191443 0,24.1360483 L0,18.4512133 C0,18.0610125 0.319370135,17.7446923 0.714773589,17.7446923 L2.88401029,17.7446923 C2.88401029,17.7446923 2.8826042,13.5358966 2.89207782,13.4263338 C2.8897402,12.7935747 3.31552395,12.3412347 3.91532541,12.158165 C4.17856258,12.0778205 4.43327588,12.0570264 4.65635992,12.0659607 C4.68525201,12.0673127 4.68525201,12.0673127 4.70009595,12.0683487 L12.923077,12.0746184 L12.923077,8.51745232 L10.0502068,8.51745232 C9.65428852,8.51745232 9.33333333,8.1939588 9.33333333,7.80590911 L9.33333333,0.711543208 C9.33333333,0.318568745 9.64387004,0 10.0502068,0 L17.9497932,0 C18.3457115,0 18.6666667,0.323493518 18.6666667,0.711543208 L18.6666667,7.80590911 C18.6666667,8.19888358 18.35613,8.51745232 17.9497932,8.51745232 L15.0769232,8.51745232 L15.0769231,12.075687 Z M10.0512821,18.4512133 C10.0512821,18.0610125 10.3706522,17.7446923 10.7660556,17.7446923 L17.2339444,17.7446923 C17.6287029,17.7446923 17.9487179,18.0681173 17.9487179,18.4512133 L17.9487179,24.1360483 C17.9487179,24.5262491 17.6293478,24.8425693 17.2339444,24.8425693 L10.7660556,24.8425693 C10.3712971,24.8425693 10.0512821,24.5191443 10.0512821,24.1360483 L10.0512821,18.4512133 Z"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="28" height="25" viewBox="0 0 28 25" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="Page-1" fill="none" fill-rule="evenodd">
<g id="sitemap_off" fill="#62666b">
<path d="M15.0769202,12.075687 C16.0025381,12.0747431 23.334246,12.0672274 23.3613141,12.0659607 C23.5843981,12.0570264 23.8391114,12.0778205 24.1023486,12.158165 C24.70215,12.3412347 25.1279338,12.7935747 25.1255962,13.4263338 C25.1350698,13.5358966 25.1336637,17.7446923 25.1336637,17.7446923 L27.2852264,17.7446923 C27.679985,17.7446923 28,18.0681173 28,18.4512133 L28,24.1360483 C28,24.5262491 27.6806299,24.8425693 27.2852264,24.8425693 L20.8173377,24.8425693 C20.4225791,24.8425693 20.1025641,24.5191443 20.1025641,24.1360483 L20.1025641,18.4512133 C20.1025641,18.0610125 20.4219342,17.7446923 20.8173377,17.7446923 L22.999217,17.7446923 C23.0002943,17.4922611 23.0135831,14.1836367 22.9699915,14.18501 C22.9699915,14.18501 15.9798277,14.1909772 15.0769231,14.1861662 L15.0769231,17.7446923 L12.9230769,17.7446923 L12.923077,14.18501 L5.04768254,14.18501 C5.00409091,14.1836367 5.01737968,17.4922611 5.01845697,17.7446923 L7.18266231,17.7446923 C7.57742086,17.7446923 7.8974359,18.0681173 7.8974359,18.4512133 L7.8974359,24.1360483 C7.8974359,24.5262491 7.57806576,24.8425693 7.18266231,24.8425693 L0.714773589,24.8425693 C0.320015036,24.8425693 0,24.5191443 0,24.1360483 L0,18.4512133 C0,18.0610125 0.319370135,17.7446923 0.714773589,17.7446923 L2.88401029,17.7446923 C2.88401029,17.7446923 2.8826042,13.5358966 2.89207782,13.4263338 C2.8897402,12.7935747 3.31552395,12.3412347 3.91532541,12.158165 C4.17856258,12.0778205 4.43327588,12.0570264 4.65635992,12.0659607 C4.68525201,12.0673127 4.68525201,12.0673127 4.70009595,12.0683487 L12.923077,12.0746184 L12.923077,8.51745232 L10.0502068,8.51745232 C9.65428852,8.51745232 9.33333333,8.1939588 9.33333333,7.80590911 L9.33333333,0.711543208 C9.33333333,0.318568745 9.64387004,0 10.0502068,0 L17.9497932,0 C18.3457115,0 18.6666667,0.323493518 18.6666667,0.711543208 L18.6666667,7.80590911 C18.6666667,8.19888358 18.35613,8.51745232 17.9497932,8.51745232 L15.0769232,8.51745232 L15.0769231,12.075687 Z M10.0512821,18.4512133 C10.0512821,18.0610125 10.3706522,17.7446923 10.7660556,17.7446923 L17.2339444,17.7446923 C17.6287029,17.7446923 17.9487179,18.0681173 17.9487179,18.4512133 L17.9487179,24.1360483 C17.9487179,24.5262491 17.6293478,24.8425693 17.2339444,24.8425693 L10.7660556,24.8425693 C10.3712971,24.8425693 10.0512821,24.5191443 10.0512821,24.1360483 L10.0512821,18.4512133 Z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="28" height="25" viewBox="0 0 28 25" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="Page-1" fill="none" fill-rule="evenodd">
<g id="sitemap_on" fill="#ffffff">
<path d="M15.0769202,12.075687 C16.0025381,12.0747431 23.334246,12.0672274 23.3613141,12.0659607 C23.5843981,12.0570264 23.8391114,12.0778205 24.1023486,12.158165 C24.70215,12.3412347 25.1279338,12.7935747 25.1255962,13.4263338 C25.1350698,13.5358966 25.1336637,17.7446923 25.1336637,17.7446923 L27.2852264,17.7446923 C27.679985,17.7446923 28,18.0681173 28,18.4512133 L28,24.1360483 C28,24.5262491 27.6806299,24.8425693 27.2852264,24.8425693 L20.8173377,24.8425693 C20.4225791,24.8425693 20.1025641,24.5191443 20.1025641,24.1360483 L20.1025641,18.4512133 C20.1025641,18.0610125 20.4219342,17.7446923 20.8173377,17.7446923 L22.999217,17.7446923 C23.0002943,17.4922611 23.0135831,14.1836367 22.9699915,14.18501 C22.9699915,14.18501 15.9798277,14.1909772 15.0769231,14.1861662 L15.0769231,17.7446923 L12.9230769,17.7446923 L12.923077,14.18501 L5.04768254,14.18501 C5.00409091,14.1836367 5.01737968,17.4922611 5.01845697,17.7446923 L7.18266231,17.7446923 C7.57742086,17.7446923 7.8974359,18.0681173 7.8974359,18.4512133 L7.8974359,24.1360483 C7.8974359,24.5262491 7.57806576,24.8425693 7.18266231,24.8425693 L0.714773589,24.8425693 C0.320015036,24.8425693 0,24.5191443 0,24.1360483 L0,18.4512133 C0,18.0610125 0.319370135,17.7446923 0.714773589,17.7446923 L2.88401029,17.7446923 C2.88401029,17.7446923 2.8826042,13.5358966 2.89207782,13.4263338 C2.8897402,12.7935747 3.31552395,12.3412347 3.91532541,12.158165 C4.17856258,12.0778205 4.43327588,12.0570264 4.65635992,12.0659607 C4.68525201,12.0673127 4.68525201,12.0673127 4.70009595,12.0683487 L12.923077,12.0746184 L12.923077,8.51745232 L10.0502068,8.51745232 C9.65428852,8.51745232 9.33333333,8.1939588 9.33333333,7.80590911 L9.33333333,0.711543208 C9.33333333,0.318568745 9.64387004,0 10.0502068,0 L17.9497932,0 C18.3457115,0 18.6666667,0.323493518 18.6666667,0.711543208 L18.6666667,7.80590911 C18.6666667,8.19888358 18.35613,8.51745232 17.9497932,8.51745232 L15.0769232,8.51745232 L15.0769231,12.075687 Z M10.0512821,18.4512133 C10.0512821,18.0610125 10.3706522,17.7446923 10.7660556,17.7446923 L17.2339444,17.7446923 C17.6287029,17.7446923 17.9487179,18.0681173 17.9487179,18.4512133 L17.9487179,24.1360483 C17.9487179,24.5262491 17.6293478,24.8425693 17.2339444,24.8425693 L10.7660556,24.8425693 C10.3712971,24.8425693 10.0512821,24.5191443 10.0512821,24.1360483 L10.0512821,18.4512133 Z"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="28" height="25" viewBox="0 0 28 25" version="1.1" xmlns="http://www.w3.org/2000/svg">
<g id="Page-1" fill="none" fill-rule="evenodd">
<g id="sitemap_on" fill="#ffffff">
<path d="M15.0769202,12.075687 C16.0025381,12.0747431 23.334246,12.0672274 23.3613141,12.0659607 C23.5843981,12.0570264 23.8391114,12.0778205 24.1023486,12.158165 C24.70215,12.3412347 25.1279338,12.7935747 25.1255962,13.4263338 C25.1350698,13.5358966 25.1336637,17.7446923 25.1336637,17.7446923 L27.2852264,17.7446923 C27.679985,17.7446923 28,18.0681173 28,18.4512133 L28,24.1360483 C28,24.5262491 27.6806299,24.8425693 27.2852264,24.8425693 L20.8173377,24.8425693 C20.4225791,24.8425693 20.1025641,24.5191443 20.1025641,24.1360483 L20.1025641,18.4512133 C20.1025641,18.0610125 20.4219342,17.7446923 20.8173377,17.7446923 L22.999217,17.7446923 C23.0002943,17.4922611 23.0135831,14.1836367 22.9699915,14.18501 C22.9699915,14.18501 15.9798277,14.1909772 15.0769231,14.1861662 L15.0769231,17.7446923 L12.9230769,17.7446923 L12.923077,14.18501 L5.04768254,14.18501 C5.00409091,14.1836367 5.01737968,17.4922611 5.01845697,17.7446923 L7.18266231,17.7446923 C7.57742086,17.7446923 7.8974359,18.0681173 7.8974359,18.4512133 L7.8974359,24.1360483 C7.8974359,24.5262491 7.57806576,24.8425693 7.18266231,24.8425693 L0.714773589,24.8425693 C0.320015036,24.8425693 0,24.5191443 0,24.1360483 L0,18.4512133 C0,18.0610125 0.319370135,17.7446923 0.714773589,17.7446923 L2.88401029,17.7446923 C2.88401029,17.7446923 2.8826042,13.5358966 2.89207782,13.4263338 C2.8897402,12.7935747 3.31552395,12.3412347 3.91532541,12.158165 C4.17856258,12.0778205 4.43327588,12.0570264 4.65635992,12.0659607 C4.68525201,12.0673127 4.68525201,12.0673127 4.70009595,12.0683487 L12.923077,12.0746184 L12.923077,8.51745232 L10.0502068,8.51745232 C9.65428852,8.51745232 9.33333333,8.1939588 9.33333333,7.80590911 L9.33333333,0.711543208 C9.33333333,0.318568745 9.64387004,0 10.0502068,0 L17.9497932,0 C18.3457115,0 18.6666667,0.323493518 18.6666667,0.711543208 L18.6666667,7.80590911 C18.6666667,8.19888358 18.35613,8.51745232 17.9497932,8.51745232 L15.0769232,8.51745232 L15.0769231,12.075687 Z M10.0512821,18.4512133 C10.0512821,18.0610125 10.3706522,17.7446923 10.7660556,17.7446923 L17.2339444,17.7446923 C17.6287029,17.7446923 17.9487179,18.0681173 17.9487179,18.4512133 L17.9487179,24.1360483 C17.9487179,24.5262491 17.6293478,24.8425693 17.2339444,24.8425693 L10.7660556,24.8425693 C10.3712971,24.8425693 10.0512821,24.5191443 10.0512821,24.1360483 L10.0512821,18.4512133 Z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>views</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="views" sketch:type="MSArtboardGroup" fill="#4A4A4A">
<path d="M3,16 L9,16 L9,24 L3,24 L3,16 Z M11,22 L18.9936523,22 L18.9936523,13 L7.02722168,13 L7.02722168,14.0028076 L5.15063477,14.0028076 L5.15063477,11 L20.9936523,11 L20.9936523,24 L11,24 L11,22 Z" id="Rectangle-18" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>views</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="views" sketch:type="MSArtboardGroup" fill="#4A4A4A">
<path d="M3,16 L9,16 L9,24 L3,24 L3,16 Z M11,22 L18.9936523,22 L18.9936523,13 L7.02722168,13 L7.02722168,14.0028076 L5.15063477,14.0028076 L5.15063477,11 L20.9936523,11 L20.9936523,24 L11,24 L11,22 Z" id="Rectangle-18" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 886 B

After

Width:  |  Height:  |  Size: 897 B

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>views_hover</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="views_hover" sketch:type="MSArtboardGroup" fill="#138CDE">
<path d="M3,16 L9,16 L9,24 L3,24 L3,16 Z M11,22 L18.9936523,22 L18.9936523,13 L7.02722168,13 L7.02722168,14.0028076 L5.15063477,14.0028076 L5.15063477,11 L20.9936523,11 L20.9936523,24 L11,24 L11,22 Z" id="Rectangle-18" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>views_hover</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="views_hover" sketch:type="MSArtboardGroup" fill="#138CDE">
<path d="M3,16 L9,16 L9,24 L3,24 L3,16 Z M11,22 L18.9936523,22 L18.9936523,13 L7.02722168,13 L7.02722168,14.0028076 L5.15063477,14.0028076 L5.15063477,11 L20.9936523,11 L20.9936523,24 L11,24 L11,22 Z" id="Rectangle-18" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 898 B

After

Width:  |  Height:  |  Size: 909 B

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>views_on</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="views_on" sketch:type="MSArtboardGroup" fill="#138CDE">
<path d="M3,16 L9,16 L9,24 L3,24 L3,16 Z M11,22 L18.9936523,22 L18.9936523,13 L7.02722168,13 L7.02722168,14.0028076 L5.15063477,14.0028076 L5.15063477,11 L20.9936523,11 L20.9936523,24 L11,24 L11,22 Z" id="Rectangle-18" sketch:type="MSShapeGroup"></path>
</g>
</g>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.5.2 (25235) - http://www.bohemiancoding.com/sketch -->
<title>views_on</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="views_on" sketch:type="MSArtboardGroup" fill="#138CDE">
<path d="M3,16 L9,16 L9,24 L3,24 L3,16 Z M11,22 L18.9936523,22 L18.9936523,13 L7.02722168,13 L7.02722168,14.0028076 L5.15063477,14.0028076 L5.15063477,11 L20.9936523,11 L20.9936523,24 L11,24 L11,22 Z" id="Rectangle-18" sketch:type="MSShapeGroup"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 892 B

After

Width:  |  Height:  |  Size: 903 B

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="18" height="10" viewBox="0 0 18 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="close" sketch:type="MSArtboardGroup" fill="#ffffff">
<path d="M8.67067845,9.27101296 L8.65428726,9.28839318 L8.03983472,8.71618141 L0.614452539,1.80125987 L0,1.22904809 L1.15167591,0.00788171237 L1.76612845,0.580093485 L8.66273008,7.00258569 L15.5677952,0.572211772 L16.1822478,0 L17.3339237,1.22116638 L16.7194712,1.79337815 L9.29408898,8.70829969 L8.67963644,9.28051147 L8.67067845,9.27101296 Z" id="Shape" sketch:type="MSShapeGroup"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="18" height="10" viewBox="0 0 18 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="close" sketch:type="MSArtboardGroup" fill="#ffffff">
<path d="M8.67067845,9.27101296 L8.65428726,9.28839318 L8.03983472,8.71618141 L0.614452539,1.80125987 L0,1.22904809 L1.15167591,0.00788171237 L1.76612845,0.580093485 L8.66273008,7.00258569 L15.5677952,0.572211772 L16.1822478,0 L17.3339237,1.22116638 L16.7194712,1.79337815 L9.29408898,8.70829969 L8.67963644,9.28051147 L8.67067845,9.27101296 Z" id="Shape" sketch:type="MSShapeGroup"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 748 B

After

Width:  |  Height:  |  Size: 756 B

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="19" height="10" viewBox="0 0 19 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="close_hover" sketch:type="MSArtboardGroup" transform="translate(0.667847, 0.000000)" fill="#8f949a">
<path d="M8.67067845,9.27101296 L8.65428726,9.28839318 L8.03983472,8.71618141 L0.614452539,1.80125987 L0,1.22904809 L1.15167591,0.00788171237 L1.76612845,0.580093485 L8.66273008,7.00258569 L15.5677952,0.572211772 L16.1822478,0 L17.3339237,1.22116638 L16.7194712,1.79337815 L9.29408898,8.70829969 L8.67963644,9.28051147 L8.67067845,9.27101296 Z" id="Shape" sketch:type="MSShapeGroup"/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="19" height="10" viewBox="0 0 19 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="close_hover" sketch:type="MSArtboardGroup" transform="translate(0.667847, 0.000000)" fill="#8f949a">
<path d="M8.67067845,9.27101296 L8.65428726,9.28839318 L8.03983472,8.71618141 L0.614452539,1.80125987 L0,1.22904809 L1.15167591,0.00788171237 L1.76612845,0.580093485 L8.66273008,7.00258569 L15.5677952,0.572211772 L16.1822478,0 L17.3339237,1.22116638 L16.7194712,1.79337815 L9.29408898,8.70829969 L8.67963644,9.28051147 L8.67067845,9.27101296 Z" id="Shape" sketch:type="MSShapeGroup"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 796 B

After

Width:  |  Height:  |  Size: 804 B

View File

@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="58" height="2" viewBox="0 0 58 2" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<defs>
<path id="path-1" d="M245.5,521 L305.5,521" stroke-linejoin="round" stroke="#bababa" stroke-dasharray="1 8" stroke-width="2" stroke-linecap="round"/>
</defs>
<g id="Axshare---Web-View" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="Share-Page-Notes-Copy" sketch:type="MSArtboardGroup" transform="translate(-244.000000, -520.000000)">
<g id="divider">
<use xlink:href="#path-1"/>
</g>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="58" height="2" viewBox="0 0 58 2" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<defs>
<path id="path-1" d="M245.5,521 L305.5,521" stroke-linejoin="round" stroke="#bababa" stroke-dasharray="1 8" stroke-width="2" stroke-linecap="round"/>
</defs>
<g id="Axshare---Web-View" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="Share-Page-Notes-Copy" sketch:type="MSArtboardGroup" transform="translate(-244.000000, -520.000000)">
<g id="divider">
<use xlink:href="#path-1"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 691 B

After

Width:  |  Height:  |  Size: 704 B

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="18" height="10" viewBox="0 0 18 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="expand" sketch:type="MSArtboardGroup" transform="translate(0.333924, 0.000000)" fill="#ffffff">
<path d="M8.67067845,9.27101296 L8.65428726,9.28839318 L8.03983472,8.71618141 L0.614452539,1.80125987 L0,1.22904809 L1.15167591,0.00788171237 L1.76612845,0.580093485 L8.66273008,7.00258569 L15.5677952,0.572211772 L16.1822478,0 L17.3339237,1.22116638 L16.7194712,1.79337815 L9.29408898,8.70829969 L8.67963644,9.28051147 L8.67067845,9.27101296 Z" id="Shape" sketch:type="MSShapeGroup" transform="translate(8.666962, 4.644197) scale(1, -1) translate(-8.666962, -4.644197) "/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="18" height="10" viewBox="0 0 18 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="expand" sketch:type="MSArtboardGroup" transform="translate(0.333924, 0.000000)" fill="#ffffff">
<path d="M8.67067845,9.27101296 L8.65428726,9.28839318 L8.03983472,8.71618141 L0.614452539,1.80125987 L0,1.22904809 L1.15167591,0.00788171237 L1.76612845,0.580093485 L8.66273008,7.00258569 L15.5677952,0.572211772 L16.1822478,0 L17.3339237,1.22116638 L16.7194712,1.79337815 L9.29408898,8.70829969 L8.67963644,9.28051147 L8.67067845,9.27101296 Z" id="Shape" sketch:type="MSShapeGroup" transform="translate(8.666962, 4.644197) scale(1, -1) translate(-8.666962, -4.644197) "/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 879 B

After

Width:  |  Height:  |  Size: 887 B

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="18" height="10" viewBox="0 0 18 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="expand_hover" sketch:type="MSArtboardGroup" transform="translate(0.001771, 0.000000)" fill="#8f949a">
<path d="M8.67067845,9.27101296 L8.65428726,9.28839318 L8.03983472,8.71618141 L0.614452539,1.80125987 L0,1.22904809 L1.15167591,0.00788171237 L1.76612845,0.580093485 L8.66273008,7.00258569 L15.5677952,0.572211772 L16.1822478,0 L17.3339237,1.22116638 L16.7194712,1.79337815 L9.29408898,8.70829969 L8.67963644,9.28051147 L8.67067845,9.27101296 Z" id="Shape" sketch:type="MSShapeGroup" transform="translate(8.666962, 4.644197) scale(1, -1) translate(-8.666962, -4.644197) "/>
</g>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="18" height="10" viewBox="0 0 18 10" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<g id="Page-1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="expand_hover" sketch:type="MSArtboardGroup" transform="translate(0.001771, 0.000000)" fill="#8f949a">
<path d="M8.67067845,9.27101296 L8.65428726,9.28839318 L8.03983472,8.71618141 L0.614452539,1.80125987 L0,1.22904809 L1.15167591,0.00788171237 L1.76612845,0.580093485 L8.66273008,7.00258569 L15.5677952,0.572211772 L16.1822478,0 L17.3339237,1.22116638 L16.7194712,1.79337815 L9.29408898,8.70829969 L8.67963644,9.28051147 L8.67067845,9.27101296 Z" id="Shape" sketch:type="MSShapeGroup" transform="translate(8.666962, 4.644197) scale(1, -1) translate(-8.666962, -4.644197) "/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 885 B

After

Width:  |  Height:  |  Size: 893 B

View File

@@ -1,439 +1,439 @@
<?php
defined('IN_IA') or exit('Access Denied');
use phprs\ezsql\Sql;
define('AUTHTYPE_WECHAT', 0);
define('AUTHTYPE_QQ', 1);
define('AUTHTYPE_JKX', 2);
define('AUTHTYPE_MEMBER', 3);
define('AUTHTYPE_NIUNIUGAME', 4);
// 查询指定的openId和门店Key查询是否存在全局用户信息
function getUserByOpenId($market_key, $UId, $type, $db)
{
$userInfo = array();
switch ($type)
{
case AUTHTYPE_WECHAT: // 微信用户信息查询
$userInfo = Sql::select('a.*')
->from('syweb_users a,syweb_users_weixin b')
->where('b.uid=a.id and b.openid=? and a.market_key=?', $UId, $market_key)
->get($db, null);
break;
case AUTHTYPE_QQ: // QQ用户信息查询
$userInfo = Sql::select('a.*')
->from('syweb_users a,syweb_users_qq b')
->where('b.uid=a.id and b.openid=? and a.market_key=?', $UId, $market_key)
->get($db, null);
break;
case AUTHTYPE_JKX: // 聚开心会员信息查询
$userInfo = Sql::select('a.*')
->from('syweb_users a,syweb_users_jkx b')
->where('b.uid=a.id and b.username=? and a.market_key=?', $UId, $market_key)
->get($db, null);
break;
case AUTHTYPE_MEMBER: // 会员注册登录
$userInfo = Sql::select('a.*')
->from('syweb_users a,syweb_users_normal b')
->where('b.uid=a.id and b.username=? and a.market_key=?', $UId, $market_key)
->get($db, null);
break;
case AUTHTYPE_NIUNIUGAME: // 友乐牛牛注册登录
$userInfo = Sql::select('a.*')
->from('syweb_users a,syweb_users_ylnn b')
->where('b.uid=a.id and b.user_key=? and a.market_key=?', $UId, $market_key)
->get($db, null);
break;
default:
break;
}
if (!empty($userInfo) && count($userInfo) > 0)
{
return $userInfo[0];
}
return null;
}
// 查询指定的openId微信用户是否存在
function getUserById($id, $db)
{
$userInfo = Sql::select('a.*')
->from('syweb_users a')
->where('a.id=?', $id)
->get($db, null);
if (count($userInfo) > 0)
{
return $userInfo[0];
}
return null;
}
// 根据UID查询微信粉丝详细信息
function getWeixinUserByUId($uid, $db)
{
$weixinUserInfo = Sql::select('a.*')
->from('syweb_users_weixin a')
->where('a.uid=?', $uid)
->get($db, null);
if (count($weixinUserInfo) > 0)
{
return $weixinUserInfo[0];
}
return null;
}
// 根据UID查询聚开心粉丝详细信息
function getJkxUserByUId($uid, $db)
{
$weixinUserInfo = Sql::select('a.*')
->from('syweb_users_jkx a')
->where('a.uid=?', $uid)
->get($db, null);
if (count($weixinUserInfo) > 0)
{
return $weixinUserInfo[0];
}
return null;
}
// 根据UID查询友乐牛牛粉丝详细信息
function getYlnnUserByUId($uid, $db)
{
$userInfo = Sql::select('a.*')
->from('syweb_users_ylnn a')
->where('a.uid=?', $uid)
->get($db, null);
if (count($userInfo) > 0)
{
return $userInfo[0];
}
return null;
}
// 根据UID查询微信粉丝详细信息
function getQqUserByUId($uid, $db)
{
$qqUserInfo = Sql::select('syweb_users_qq.*')
->from('syweb_users_qq')
->where('syweb_users_qq.uid=?', $uid)
->get($db, null);
if (!empty($qqUserInfo) > 0 && count($qqUserInfo) > 0)
{
return $qqUserInfo[0];
}
return null;
}
// 增加/更新用户信息
function updateUserInfo($scode, $auth_type, $username, $market_key, $db, $pdo)
{
// 首先验证指定的账号在全局用户信息中是否存在对应的记录
$user_exist = Sql::select('a.id')
->from('syweb_users a')
->where('a.openid=? and a.market_key=? and a.auth_type=?', $username, $market_key, $auth_type)
->get($db, null);
// 循环创建用户全局唯一ID(临时绑定20分钟有效)
$sid = random(32, false);
while (true)
{
$sid_exist = Sql::select('a.sid')
->from('syweb_users a')
->where('a.sid=?', $sid)
->get($db, null);
if ($sid_exist)
{
$sid = random(32, false);
}
else
{
break;
}
}
// 循环创建access_id(长时间绑定30天有效)
$access_id = "gm_" . random(13, false);
while (true)
{
$access_id_exist = Sql::select('a.sid')
->from('syweb_users a')
->where('a.access_id=?', $access_id)
->get($db, null);
if ($access_id_exist)
{
$access_id_exist = "gm_" . random(13, false);
}
else
{
break;
}
}
$access_key = random(36, false);
while (true)
{
$access_key_exist = Sql::select('a.sid')
->from('syweb_users a')
->where('a.access_key=?', $access_key)
->get($db, null);
if ($access_key_exist)
{
$access_key = random(36, false);
}
else
{
break;
}
}
//SID过期时间(默认2天内有效)
$sid_expire_time = time() + (2 * 24 * 60 * 60);
//AccessToken过期时间(默认两个月内有效)
$access_expire_time = time() + (60 * 24 * 60 * 60);
// 假如当前username不存在则新增一条对应的全局用户记录
if (empty($user_exist) || count($user_exist) <= 0)
{
$insertData = array();
$insertData['main_account_id'] = ""; // 默认没有绑定主账户
$insertData['sid'] = $sid;
$insertData['scode'] = $scode;
$insertData['sid_expire_time'] = $sid_expire_time;
$insertData['access_id'] = $access_id;
$insertData['access_key'] = $access_key;
$insertData['access_expire_time'] = $access_expire_time;
$insertData['market_key'] = $market_key;
$insertData['auth_type'] = $auth_type;
$insertData['openid'] = $username;
$insertData['market_jifen'] = 0;
$insertData['create_time'] = TIMESTAMP;
$id = Sql::insertInto('syweb_users')->values($insertData)->exec($pdo)->lastInsertId();
if (!$id)
{
return -1;
}
return $id;
}
else
{
// 假如当前username存在则修改一条对应的全局用户记录
$updateData = array();
$updateData['sid'] = $sid;
$updateData['scode'] = $scode;
$updateData['sid_expire_time'] = $sid_expire_time;
$updateData['access_id'] = $access_id;
$updateData['access_key'] = $access_key;
$updateData['access_expire_time'] = $access_expire_time;
$updateData['auth_type'] = $auth_type;
Sql::update('syweb_users')->setArgs($updateData)->where('openid=? and market_key=? and auth_type=?', $username, $market_key, $auth_type)->exec($pdo);
return $user_exist[0]["id"];
}
}
// 更新微信用户信息
function updateWeixinUserInfo($weixinUserInfo, $db, $pdo)
{
$uid_exist = Sql::select('a.id')
->from('syweb_users_weixin a')
->where('a.uid=? and a.openid=?', $weixinUserInfo["uid"], $weixinUserInfo["openid"])
->get($db, null);
if (empty($uid_exist) || count($uid_exist) <= 0)
{
// 假如当前uid不存在
$insertData = array();
$insertData['uid'] = $weixinUserInfo["uid"];
$insertData['nickname'] = $weixinUserInfo["nickname"];
$insertData['sex'] = $weixinUserInfo["sex"];
$insertData['province'] = $weixinUserInfo["province"];
$insertData['city'] = $weixinUserInfo["city"];
$insertData['country'] = $weixinUserInfo["country"];
$insertData['headimgurl'] = $weixinUserInfo["headimgurl"];
$insertData['privilege'] = $weixinUserInfo["privilege"];
$insertData['subscribe'] = $weixinUserInfo["subscribe"];
$insertData['subscribe_time'] = $weixinUserInfo["subscribe_time"];
$insertData['openid'] = $weixinUserInfo["openid"];
$insertData['unionid'] = $weixinUserInfo["unionid"];
$id = Sql::insertInto('syweb_users_weixin')->values($insertData)->exec($pdo)->lastInsertId();
if (!$id)
{
return -1;
}
return $id;
}
else
{
$updateData = array();
$updateData['nickname'] = $weixinUserInfo["nickname"];
$updateData['sex'] = $weixinUserInfo["sex"];
$updateData['province'] = $weixinUserInfo["province"];
$updateData['city'] = $weixinUserInfo["city"];
$updateData['country'] = $weixinUserInfo["country"];
$updateData['headimgurl'] = $weixinUserInfo["headimgurl"];
$updateData['privilege'] = $weixinUserInfo["privilege"];
$updateData['subscribe'] = $weixinUserInfo["subscribe"];
$updateData['subscribe_time'] = $weixinUserInfo["subscribe_time"];
$updateData['unionid'] = $weixinUserInfo["unionid"];
Sql::update('syweb_users_weixin')->setArgs($updateData)->where('uid=? and openid=?', $weixinUserInfo["uid"], $weixinUserInfo["openid"])->exec($pdo);
return $uid_exist["id"];
}
}
// 更新QQ用户信息
function updateQqUserInfo($qqUserInfo, $db, $pdo)
{
$uid_exist = Sql::select('syweb_users_qq.id')
->from('syweb_users_qq')
->where('syweb_users_qq.uid=? and syweb_users_qq.openid=?', $qqUserInfo["uid"], $qqUserInfo["openid"])
->get($db, null);
if (empty($uid_exist))
{
// 假如当前uid不存在
$insertData = array();
$insertData['uid'] = $qqUserInfo["uid"];
$insertData['gender'] = $qqUserInfo["gender"];
$insertData['nickname'] = $qqUserInfo["nickname"];
$insertData['province'] = $qqUserInfo["province"];
$insertData['city'] = $qqUserInfo["city"];
$insertData['year'] = $qqUserInfo["year"];
$insertData['figureurl_qq_1'] = $qqUserInfo["figureurl_qq_1"];
$insertData['figureurl_qq_2'] = $qqUserInfo["figureurl_qq_2"];
$insertData['figureurl'] = $qqUserInfo["figureurl"];
$insertData['figureurl_1'] = $qqUserInfo["figureurl_1"];
$insertData['figureurl_2'] = $qqUserInfo["figureurl_2"];
$insertData['vip'] = $qqUserInfo["vip"];
$insertData['level'] = $qqUserInfo["level"];
$insertData['is_yellow_year_vip'] = $qqUserInfo["is_yellow_year_vip"];
$insertData['yellow_vip_level'] = $qqUserInfo["yellow_vip_level"];
$insertData['openid'] = $qqUserInfo["openid"];
$id = Sql::insertInto('syweb_users_qq')->values($insertData)->exec($pdo)->lastInsertId();
if (!$id)
{
return -1;
}
return $id;
}
else
{
$updateData = array();
$updateData['gender'] = $qqUserInfo["gender"];
$updateData['nickname'] = $qqUserInfo["nickname"];
$updateData['province'] = $qqUserInfo["province"];
$updateData['city'] = $qqUserInfo["city"];
$updateData['year'] = $qqUserInfo["year"];
$updateData['figureurl_qq_1'] = $qqUserInfo["figureurl_qq_1"];
$updateData['figureurl_qq_2'] = $qqUserInfo["figureurl_qq_2"];
$updateData['figureurl'] = $qqUserInfo["figureurl"];
$updateData['figureurl_1'] = $qqUserInfo["figureurl_1"];
$updateData['figureurl_2'] = $qqUserInfo["figureurl_2"];
$updateData['vip'] = $qqUserInfo["vip"];
$updateData['level'] = $qqUserInfo["level"];
$updateData['is_yellow_year_vip'] = $qqUserInfo["is_yellow_year_vip"];
$updateData['yellow_vip_level'] = $qqUserInfo["yellow_vip_level"];
Sql::update('syweb_users_qq')->setArgs($updateData)->where('uid=? and openid=?', $qqUserInfo["uid"], $qqUserInfo["openid"])->exec($pdo);
return $uid_exist["id"];
}
}
// 更新聚开心用户信息
function updateJkxUserInfo($userInfo, $db, $pdo)
{
$uid_exist = Sql::select('a.id')
->from('syweb_users_jkx a')
->where('a.uid=? and a.username=?', $userInfo["uid"], $userInfo["username"])
->get($db, null);
if (empty($uid_exist) || count($uid_exist) <= 0)
{
// 假如当前uid不存在
$insertData = array();
$insertData['uid'] = $userInfo["uid"];
$insertData['level'] = $userInfo["level"];
$insertData['enum'] = $userInfo["enum"];
$insertData['realname'] = $userInfo["realname"];
$insertData['tel'] = $userInfo["tel"];
$insertData['headimgurl'] = $userInfo["headimgurl"];
$insertData['username'] = $userInfo["username"];
$insertData['integral'] = $userInfo["integral"];
$id = Sql::insertInto('syweb_users_jkx')->values($insertData)->exec($pdo)->lastInsertId();
if (!$id)
{
return -1;
}
return $id;
}
else
{
$updateData = array();
$updateData['level'] = $userInfo["level"];
$updateData['enum'] = $userInfo["enum"];
$updateData['realname'] = $userInfo["realname"];
$updateData['tel'] = $userInfo["tel"];
$updateData['headimgurl'] = $userInfo["headimgurl"];
$updateData['integral'] = $userInfo["integral"];
Sql::update('syweb_users_jkx')->setArgs($updateData)->where('uid=? and username=?', $userInfo["uid"], $userInfo["username"])->exec($pdo);
return $uid_exist["id"];
}
}
// 更新友乐牛牛用户信息
function updateYlnnUserInfo($userInfo, $db, $pdo)
{
$uid_exist = Sql::select('a.id')
->from('syweb_users_ylnn a')
->where('a.uid=? and a.user_key=?', $userInfo["uid"], $userInfo["user_key"])
->get($db, null);
if (empty($uid_exist) || count($uid_exist) <= 0)
{
// 假如当前uid不存在
$insertData = array();
$insertData['uid'] = $userInfo["uid"];
$insertData['user_key'] = $userInfo["user_key"];
$insertData['agent_key'] = $userInfo["agent_key"];
$insertData['game_key'] = $userInfo["game_key"];
$insertData['player_key'] = $userInfo["player_key"];
$insertData['headimgurl'] = $userInfo["headimgurl"];
$insertData['nickname'] = $userInfo["nickname"];
$id = Sql::insertInto('syweb_users_ylnn')->values($insertData)->exec($pdo)->lastInsertId();
if (!$id)
{
return -1;
}
return $id;
}
else
{
$updateData = array();
$updateData['agent_key'] = $userInfo["agent_key"];
$updateData['game_key'] = $userInfo["game_key"];
$updateData['player_key'] = $userInfo["player_key"];
$updateData['headimgurl'] = $userInfo["headimgurl"];
$updateData['nickname'] = $userInfo["nickname"];
Sql::update('syweb_users_ylnn')->setArgs($updateData)->where('uid=? and user_key=?', $userInfo["uid"], $userInfo["user_key"])->exec($pdo);
return $uid_exist["id"];
}
<?php
defined('IN_IA') or exit('Access Denied');
use phprs\ezsql\Sql;
define('AUTHTYPE_WECHAT', 0);
define('AUTHTYPE_QQ', 1);
define('AUTHTYPE_JKX', 2);
define('AUTHTYPE_MEMBER', 3);
define('AUTHTYPE_NIUNIUGAME', 4);
// 查询指定的openId和门店Key查询是否存在全局用户信息
function getUserByOpenId($market_key, $UId, $type, $db)
{
$userInfo = array();
switch ($type)
{
case AUTHTYPE_WECHAT: // 微信用户信息查询
$userInfo = Sql::select('a.*')
->from('syweb_users a,syweb_users_weixin b')
->where('b.uid=a.id and b.openid=? and a.market_key=?', $UId, $market_key)
->get($db, null);
break;
case AUTHTYPE_QQ: // QQ用户信息查询
$userInfo = Sql::select('a.*')
->from('syweb_users a,syweb_users_qq b')
->where('b.uid=a.id and b.openid=? and a.market_key=?', $UId, $market_key)
->get($db, null);
break;
case AUTHTYPE_JKX: // 聚开心会员信息查询
$userInfo = Sql::select('a.*')
->from('syweb_users a,syweb_users_jkx b')
->where('b.uid=a.id and b.username=? and a.market_key=?', $UId, $market_key)
->get($db, null);
break;
case AUTHTYPE_MEMBER: // 会员注册登录
$userInfo = Sql::select('a.*')
->from('syweb_users a,syweb_users_normal b')
->where('b.uid=a.id and b.username=? and a.market_key=?', $UId, $market_key)
->get($db, null);
break;
case AUTHTYPE_NIUNIUGAME: // 友乐牛牛注册登录
$userInfo = Sql::select('a.*')
->from('syweb_users a,syweb_users_ylnn b')
->where('b.uid=a.id and b.user_key=? and a.market_key=?', $UId, $market_key)
->get($db, null);
break;
default:
break;
}
if (!empty($userInfo) && count($userInfo) > 0)
{
return $userInfo[0];
}
return null;
}
// 查询指定的openId微信用户是否存在
function getUserById($id, $db)
{
$userInfo = Sql::select('a.*')
->from('syweb_users a')
->where('a.id=?', $id)
->get($db, null);
if (count($userInfo) > 0)
{
return $userInfo[0];
}
return null;
}
// 根据UID查询微信粉丝详细信息
function getWeixinUserByUId($uid, $db)
{
$weixinUserInfo = Sql::select('a.*')
->from('syweb_users_weixin a')
->where('a.uid=?', $uid)
->get($db, null);
if (count($weixinUserInfo) > 0)
{
return $weixinUserInfo[0];
}
return null;
}
// 根据UID查询聚开心粉丝详细信息
function getJkxUserByUId($uid, $db)
{
$weixinUserInfo = Sql::select('a.*')
->from('syweb_users_jkx a')
->where('a.uid=?', $uid)
->get($db, null);
if (count($weixinUserInfo) > 0)
{
return $weixinUserInfo[0];
}
return null;
}
// 根据UID查询友乐牛牛粉丝详细信息
function getYlnnUserByUId($uid, $db)
{
$userInfo = Sql::select('a.*')
->from('syweb_users_ylnn a')
->where('a.uid=?', $uid)
->get($db, null);
if (count($userInfo) > 0)
{
return $userInfo[0];
}
return null;
}
// 根据UID查询微信粉丝详细信息
function getQqUserByUId($uid, $db)
{
$qqUserInfo = Sql::select('syweb_users_qq.*')
->from('syweb_users_qq')
->where('syweb_users_qq.uid=?', $uid)
->get($db, null);
if (!empty($qqUserInfo) > 0 && count($qqUserInfo) > 0)
{
return $qqUserInfo[0];
}
return null;
}
// 增加/更新用户信息
function updateUserInfo($scode, $auth_type, $username, $market_key, $db, $pdo)
{
// 首先验证指定的账号在全局用户信息中是否存在对应的记录
$user_exist = Sql::select('a.id')
->from('syweb_users a')
->where('a.openid=? and a.market_key=? and a.auth_type=?', $username, $market_key, $auth_type)
->get($db, null);
// 循环创建用户全局唯一ID(临时绑定20分钟有效)
$sid = random(32, false);
while (true)
{
$sid_exist = Sql::select('a.sid')
->from('syweb_users a')
->where('a.sid=?', $sid)
->get($db, null);
if ($sid_exist)
{
$sid = random(32, false);
}
else
{
break;
}
}
// 循环创建access_id(长时间绑定30天有效)
$access_id = "gm_" . random(13, false);
while (true)
{
$access_id_exist = Sql::select('a.sid')
->from('syweb_users a')
->where('a.access_id=?', $access_id)
->get($db, null);
if ($access_id_exist)
{
$access_id_exist = "gm_" . random(13, false);
}
else
{
break;
}
}
$access_key = random(36, false);
while (true)
{
$access_key_exist = Sql::select('a.sid')
->from('syweb_users a')
->where('a.access_key=?', $access_key)
->get($db, null);
if ($access_key_exist)
{
$access_key = random(36, false);
}
else
{
break;
}
}
//SID过期时间(默认2天内有效)
$sid_expire_time = time() + (2 * 24 * 60 * 60);
//AccessToken过期时间(默认两个月内有效)
$access_expire_time = time() + (60 * 24 * 60 * 60);
// 假如当前username不存在则新增一条对应的全局用户记录
if (empty($user_exist) || count($user_exist) <= 0)
{
$insertData = array();
$insertData['main_account_id'] = ""; // 默认没有绑定主账户
$insertData['sid'] = $sid;
$insertData['scode'] = $scode;
$insertData['sid_expire_time'] = $sid_expire_time;
$insertData['access_id'] = $access_id;
$insertData['access_key'] = $access_key;
$insertData['access_expire_time'] = $access_expire_time;
$insertData['market_key'] = $market_key;
$insertData['auth_type'] = $auth_type;
$insertData['openid'] = $username;
$insertData['market_jifen'] = 0;
$insertData['create_time'] = TIMESTAMP;
$id = Sql::insertInto('syweb_users')->values($insertData)->exec($pdo)->lastInsertId();
if (!$id)
{
return -1;
}
return $id;
}
else
{
// 假如当前username存在则修改一条对应的全局用户记录
$updateData = array();
$updateData['sid'] = $sid;
$updateData['scode'] = $scode;
$updateData['sid_expire_time'] = $sid_expire_time;
$updateData['access_id'] = $access_id;
$updateData['access_key'] = $access_key;
$updateData['access_expire_time'] = $access_expire_time;
$updateData['auth_type'] = $auth_type;
Sql::update('syweb_users')->setArgs($updateData)->where('openid=? and market_key=? and auth_type=?', $username, $market_key, $auth_type)->exec($pdo);
return $user_exist[0]["id"];
}
}
// 更新微信用户信息
function updateWeixinUserInfo($weixinUserInfo, $db, $pdo)
{
$uid_exist = Sql::select('a.id')
->from('syweb_users_weixin a')
->where('a.uid=? and a.openid=?', $weixinUserInfo["uid"], $weixinUserInfo["openid"])
->get($db, null);
if (empty($uid_exist) || count($uid_exist) <= 0)
{
// 假如当前uid不存在
$insertData = array();
$insertData['uid'] = $weixinUserInfo["uid"];
$insertData['nickname'] = $weixinUserInfo["nickname"];
$insertData['sex'] = $weixinUserInfo["sex"];
$insertData['province'] = $weixinUserInfo["province"];
$insertData['city'] = $weixinUserInfo["city"];
$insertData['country'] = $weixinUserInfo["country"];
$insertData['headimgurl'] = $weixinUserInfo["headimgurl"];
$insertData['privilege'] = $weixinUserInfo["privilege"];
$insertData['subscribe'] = $weixinUserInfo["subscribe"];
$insertData['subscribe_time'] = $weixinUserInfo["subscribe_time"];
$insertData['openid'] = $weixinUserInfo["openid"];
$insertData['unionid'] = $weixinUserInfo["unionid"];
$id = Sql::insertInto('syweb_users_weixin')->values($insertData)->exec($pdo)->lastInsertId();
if (!$id)
{
return -1;
}
return $id;
}
else
{
$updateData = array();
$updateData['nickname'] = $weixinUserInfo["nickname"];
$updateData['sex'] = $weixinUserInfo["sex"];
$updateData['province'] = $weixinUserInfo["province"];
$updateData['city'] = $weixinUserInfo["city"];
$updateData['country'] = $weixinUserInfo["country"];
$updateData['headimgurl'] = $weixinUserInfo["headimgurl"];
$updateData['privilege'] = $weixinUserInfo["privilege"];
$updateData['subscribe'] = $weixinUserInfo["subscribe"];
$updateData['subscribe_time'] = $weixinUserInfo["subscribe_time"];
$updateData['unionid'] = $weixinUserInfo["unionid"];
Sql::update('syweb_users_weixin')->setArgs($updateData)->where('uid=? and openid=?', $weixinUserInfo["uid"], $weixinUserInfo["openid"])->exec($pdo);
return $uid_exist["id"];
}
}
// 更新QQ用户信息
function updateQqUserInfo($qqUserInfo, $db, $pdo)
{
$uid_exist = Sql::select('syweb_users_qq.id')
->from('syweb_users_qq')
->where('syweb_users_qq.uid=? and syweb_users_qq.openid=?', $qqUserInfo["uid"], $qqUserInfo["openid"])
->get($db, null);
if (empty($uid_exist))
{
// 假如当前uid不存在
$insertData = array();
$insertData['uid'] = $qqUserInfo["uid"];
$insertData['gender'] = $qqUserInfo["gender"];
$insertData['nickname'] = $qqUserInfo["nickname"];
$insertData['province'] = $qqUserInfo["province"];
$insertData['city'] = $qqUserInfo["city"];
$insertData['year'] = $qqUserInfo["year"];
$insertData['figureurl_qq_1'] = $qqUserInfo["figureurl_qq_1"];
$insertData['figureurl_qq_2'] = $qqUserInfo["figureurl_qq_2"];
$insertData['figureurl'] = $qqUserInfo["figureurl"];
$insertData['figureurl_1'] = $qqUserInfo["figureurl_1"];
$insertData['figureurl_2'] = $qqUserInfo["figureurl_2"];
$insertData['vip'] = $qqUserInfo["vip"];
$insertData['level'] = $qqUserInfo["level"];
$insertData['is_yellow_year_vip'] = $qqUserInfo["is_yellow_year_vip"];
$insertData['yellow_vip_level'] = $qqUserInfo["yellow_vip_level"];
$insertData['openid'] = $qqUserInfo["openid"];
$id = Sql::insertInto('syweb_users_qq')->values($insertData)->exec($pdo)->lastInsertId();
if (!$id)
{
return -1;
}
return $id;
}
else
{
$updateData = array();
$updateData['gender'] = $qqUserInfo["gender"];
$updateData['nickname'] = $qqUserInfo["nickname"];
$updateData['province'] = $qqUserInfo["province"];
$updateData['city'] = $qqUserInfo["city"];
$updateData['year'] = $qqUserInfo["year"];
$updateData['figureurl_qq_1'] = $qqUserInfo["figureurl_qq_1"];
$updateData['figureurl_qq_2'] = $qqUserInfo["figureurl_qq_2"];
$updateData['figureurl'] = $qqUserInfo["figureurl"];
$updateData['figureurl_1'] = $qqUserInfo["figureurl_1"];
$updateData['figureurl_2'] = $qqUserInfo["figureurl_2"];
$updateData['vip'] = $qqUserInfo["vip"];
$updateData['level'] = $qqUserInfo["level"];
$updateData['is_yellow_year_vip'] = $qqUserInfo["is_yellow_year_vip"];
$updateData['yellow_vip_level'] = $qqUserInfo["yellow_vip_level"];
Sql::update('syweb_users_qq')->setArgs($updateData)->where('uid=? and openid=?', $qqUserInfo["uid"], $qqUserInfo["openid"])->exec($pdo);
return $uid_exist["id"];
}
}
// 更新聚开心用户信息
function updateJkxUserInfo($userInfo, $db, $pdo)
{
$uid_exist = Sql::select('a.id')
->from('syweb_users_jkx a')
->where('a.uid=? and a.username=?', $userInfo["uid"], $userInfo["username"])
->get($db, null);
if (empty($uid_exist) || count($uid_exist) <= 0)
{
// 假如当前uid不存在
$insertData = array();
$insertData['uid'] = $userInfo["uid"];
$insertData['level'] = $userInfo["level"];
$insertData['enum'] = $userInfo["enum"];
$insertData['realname'] = $userInfo["realname"];
$insertData['tel'] = $userInfo["tel"];
$insertData['headimgurl'] = $userInfo["headimgurl"];
$insertData['username'] = $userInfo["username"];
$insertData['integral'] = $userInfo["integral"];
$id = Sql::insertInto('syweb_users_jkx')->values($insertData)->exec($pdo)->lastInsertId();
if (!$id)
{
return -1;
}
return $id;
}
else
{
$updateData = array();
$updateData['level'] = $userInfo["level"];
$updateData['enum'] = $userInfo["enum"];
$updateData['realname'] = $userInfo["realname"];
$updateData['tel'] = $userInfo["tel"];
$updateData['headimgurl'] = $userInfo["headimgurl"];
$updateData['integral'] = $userInfo["integral"];
Sql::update('syweb_users_jkx')->setArgs($updateData)->where('uid=? and username=?', $userInfo["uid"], $userInfo["username"])->exec($pdo);
return $uid_exist["id"];
}
}
// 更新友乐牛牛用户信息
function updateYlnnUserInfo($userInfo, $db, $pdo)
{
$uid_exist = Sql::select('a.id')
->from('syweb_users_ylnn a')
->where('a.uid=? and a.user_key=?', $userInfo["uid"], $userInfo["user_key"])
->get($db, null);
if (empty($uid_exist) || count($uid_exist) <= 0)
{
// 假如当前uid不存在
$insertData = array();
$insertData['uid'] = $userInfo["uid"];
$insertData['user_key'] = $userInfo["user_key"];
$insertData['agent_key'] = $userInfo["agent_key"];
$insertData['game_key'] = $userInfo["game_key"];
$insertData['player_key'] = $userInfo["player_key"];
$insertData['headimgurl'] = $userInfo["headimgurl"];
$insertData['nickname'] = $userInfo["nickname"];
$id = Sql::insertInto('syweb_users_ylnn')->values($insertData)->exec($pdo)->lastInsertId();
if (!$id)
{
return -1;
}
return $id;
}
else
{
$updateData = array();
$updateData['agent_key'] = $userInfo["agent_key"];
$updateData['game_key'] = $userInfo["game_key"];
$updateData['player_key'] = $userInfo["player_key"];
$updateData['headimgurl'] = $userInfo["headimgurl"];
$updateData['nickname'] = $userInfo["nickname"];
Sql::update('syweb_users_ylnn')->setArgs($updateData)->where('uid=? and user_key=?', $userInfo["uid"], $userInfo["user_key"])->exec($pdo);
return $uid_exist["id"];
}
}

View File

@@ -1,44 +1,44 @@
# ezsql
An an easy-to-use SQL builder.
## HOW TO USE
$db = new \PDO($dsn, $username, $passwd);
### SELECT
$res = Sql::select('a, b')
->from('table')
->leftJoin('table1')->on('table.id=table1.id')
->where('a=?',1)
->groupBy('b')->having('sum(b)=?', 2)
->orderBy('c', Sql::$ORDER_BY_ASC)
->limit(0,1)
->forUpdate()->of('d')
->get($db);
### UPDATE
$rows = Sql::update('table')
->set('a', 1)
->where('b=?', 2)
->orderBy('c', Sql::$ORDER_BY_ASC)
->limit(1)
->exec($db)
->rows
### INSERT
$newId = Sql::insertInto('table')
->values(['a'=>1])
->exec($db)
->lastInsertId()
### DELETE
$rows = Sql::deleteFrom('table')
->where('b=?', 2)
->orderBy('c', Sql::$ORDER_BY_ASC)
->limit(1)
->exec($db)
->rows
# ezsql
An an easy-to-use SQL builder.
## HOW TO USE
$db = new \PDO($dsn, $username, $passwd);
### SELECT
$res = Sql::select('a, b')
->from('table')
->leftJoin('table1')->on('table.id=table1.id')
->where('a=?',1)
->groupBy('b')->having('sum(b)=?', 2)
->orderBy('c', Sql::$ORDER_BY_ASC)
->limit(0,1)
->forUpdate()->of('d')
->get($db);
### UPDATE
$rows = Sql::update('table')
->set('a', 1)
->where('b=?', 2)
->orderBy('c', Sql::$ORDER_BY_ASC)
->limit(1)
->exec($db)
->rows
### INSERT
$newId = Sql::insertInto('table')
->values(['a'=>1])
->exec($db)
->lastInsertId()
### DELETE
$rows = Sql::deleteFrom('table')
->where('b=?', 2)
->orderBy('c', Sql::$ORDER_BY_ASC)
->limit(1)
->exec($db)
->rows

View File

@@ -1,96 +1,96 @@
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>支付提示</title>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<meta name="format-detection" content="telephone=no"/>
<meta name="format-detection" content="email=no"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"/>
<style>
*, :before, :after {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, legend, input, textarea, p, blockquote, th, td {
margin: 0;
padding: 0
}
table {
border-collapse: collapse;
border-spacing: 0
}
fieldset, img {
border: 0
}
li {
list-style: none
}
caption, th {
text-align: left
}
q:before, q:after {
content: ""
}
input:password {
ime-mode: disabled
}
:focus {
outline: 0
}
html, body {
-webkit-touch-callout: none;
touch-callout: none;
-webkit-user-select: none;
user-select: none;
-webkit-tap-highlight-color: transparent;
tap-highlight-color: transparent;
height: 100%;
margin: 0;
padding: 0;
text-align: center;
font-size: 15px;
font-weight: 300;
font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif
}
a {
text-decoration: none
}
body {
background: #F4F4F8
}
</style>
</head>
<body>
<iframe width='100%' height='100%' id="alipayFrame" name="alipayFrame" style="position:absolute;z-index:4;left:0px;top:0px;bottom:0px;" frameborder="no" marginheight="0" marginwidth="0"></iframe>
<script type="text/javascript" src="ap.js"></script>
<script>
if (location.hash.indexOf('error') != -1) {
alert('参数错误,请检查');
} else {
var getQueryString = function (url, name) {
var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i");
if (reg.test(url)) return RegExp.$2.replace(/\+/g, " ");
};
var param = getQueryString(location.href, 'goto') || '';
var iframe = document.getElementById('alipayFrame');
iframe.src = _AP.decode(param);
}
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
WeixinJSBridge.call('hideToolbar');
WeixinJSBridge.call('showOptionMenu');
});
</script>
</body>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>支付提示</title>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<meta name="format-detection" content="telephone=no"/>
<meta name="format-detection" content="email=no"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"/>
<style>
*, :before, :after {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, legend, input, textarea, p, blockquote, th, td {
margin: 0;
padding: 0
}
table {
border-collapse: collapse;
border-spacing: 0
}
fieldset, img {
border: 0
}
li {
list-style: none
}
caption, th {
text-align: left
}
q:before, q:after {
content: ""
}
input:password {
ime-mode: disabled
}
:focus {
outline: 0
}
html, body {
-webkit-touch-callout: none;
touch-callout: none;
-webkit-user-select: none;
user-select: none;
-webkit-tap-highlight-color: transparent;
tap-highlight-color: transparent;
height: 100%;
margin: 0;
padding: 0;
text-align: center;
font-size: 15px;
font-weight: 300;
font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif
}
a {
text-decoration: none
}
body {
background: #F4F4F8
}
</style>
</head>
<body>
<iframe width='100%' height='100%' id="alipayFrame" name="alipayFrame" style="position:absolute;z-index:4;left:0px;top:0px;bottom:0px;" frameborder="no" marginheight="0" marginwidth="0"></iframe>
<script type="text/javascript" src="ap.js"></script>
<script>
if (location.hash.indexOf('error') != -1) {
alert('参数错误,请检查');
} else {
var getQueryString = function (url, name) {
var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i");
if (reg.test(url)) return RegExp.$2.replace(/\+/g, " ");
};
var param = getQueryString(location.href, 'goto') || '';
var iframe = document.getElementById('alipayFrame');
iframe.src = _AP.decode(param);
}
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
WeixinJSBridge.call('hideToolbar');
WeixinJSBridge.call('showOptionMenu');
});
</script>
</body>
</html>

View File

@@ -1,12 +1,12 @@
2016-12-07 10:38:04 {"scene":"bar_code","out_trade_no":"1231231231231231","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"1231","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-07 10:40:24 {"scene":"bar_code","out_trade_no":"1231231231231231","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"1231","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-07 10:44:54 {"scene":"bar_code","out_trade_no":"1231231231231231","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"1231","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-07 10:45:02 {"scene":"bar_code","out_trade_no":"1231231231231231","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"1231","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-07 10:45:39 {"scene":"bar_code","out_trade_no":"1231231231231231","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"1231","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-07 10:49:17 {"scene":"bar_code","out_trade_no":"1231231231231231","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"1231","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-07 10:53:43 {"scene":"bar_code","out_trade_no":"1231231231231231","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"1231","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-09 04:07:41 {"scene":"bar_code","out_trade_no":"2016120912341","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"2.1测试","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-09 04:08:38 {"scene":"bar_code","out_trade_no":"2016120912341","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"2.1测试","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-09 04:09:08 {"out_trade_no":"2016120912341"}
2016-12-10 11:37:27 {"out_trade_no":"2016120912341"}
2016-12-10 11:39:41 {"out_trade_no":"2016120912341"}
2016-12-07 10:38:04 {"scene":"bar_code","out_trade_no":"1231231231231231","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"1231","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-07 10:40:24 {"scene":"bar_code","out_trade_no":"1231231231231231","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"1231","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-07 10:44:54 {"scene":"bar_code","out_trade_no":"1231231231231231","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"1231","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-07 10:45:02 {"scene":"bar_code","out_trade_no":"1231231231231231","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"1231","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-07 10:45:39 {"scene":"bar_code","out_trade_no":"1231231231231231","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"1231","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-07 10:49:17 {"scene":"bar_code","out_trade_no":"1231231231231231","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"1231","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-07 10:53:43 {"scene":"bar_code","out_trade_no":"1231231231231231","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"1231","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-09 04:07:41 {"scene":"bar_code","out_trade_no":"2016120912341","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"2.1测试","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-09 04:08:38 {"scene":"bar_code","out_trade_no":"2016120912341","total_amount":"0.01","auth_code":"1231231231231","timeout_express":"5m","subject":"2.1测试","body":"购买商品2件共15.00元","undiscountable_amount":"0.01","extend_params":{"sys_service_provider_id":""},"goods_detail":[{"goods_id":"good_id001","goods_name":"XXX商品1","price":3000,"quantity":1},{"goods_id":"good_id002","goods_name":"XXX商品2","price":1000,"quantity":1}],"store_id":"test_store_id","operator_id":"test_operator_id","alipay_store_id":"test_alipay_store_id"}
2016-12-09 04:09:08 {"out_trade_no":"2016120912341"}
2016-12-10 11:37:27 {"out_trade_no":"2016120912341"}
2016-12-10 11:39:41 {"out_trade_no":"2016120912341"}

View File

@@ -1,9 +1,9 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvFUyXSULufEwRk4wh9Mi
l5LxPqNToMCxQ5Arepajy/b2nMsXWvkQK1qdkftVoWrQlgjhVhgwVwRBaCZ8yfAH
eBBLep8LObpl5p6RIAeaH2XIzpk3OFfDiZ3KmYpDFudueNCZj/JtOhsvAtCqSe/J
30OzJ7f20i/pQPcIEijSoCrm7hR1wkb1RbFrMh+l6E06OP8ITpj2KDCSI20J5b6q
TpR9db7Pkwus2wA9JSqmWlnTHsxfLcNrJPkfMY6YLfXj96b0SbRt77SbpKvj96Cm
OCIfNy3XQbA5eJj0wPFnaForUgmMvb/qmZ2VTNOzh6o34cgUWZy401O0VU/1hTji
FQIDAQAB
-----END PUBLIC KEY-----
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvFUyXSULufEwRk4wh9Mi
l5LxPqNToMCxQ5Arepajy/b2nMsXWvkQK1qdkftVoWrQlgjhVhgwVwRBaCZ8yfAH
eBBLep8LObpl5p6RIAeaH2XIzpk3OFfDiZ3KmYpDFudueNCZj/JtOhsvAtCqSe/J
30OzJ7f20i/pQPcIEijSoCrm7hR1wkb1RbFrMh+l6E06OP8ITpj2KDCSI20J5b6q
TpR9db7Pkwus2wA9JSqmWlnTHsxfLcNrJPkfMY6YLfXj96b0SbRt77SbpKvj96Cm
OCIfNy3XQbA5eJj0wPFnaForUgmMvb/qmZ2VTNOzh6o34cgUWZy401O0VU/1hTji
FQIDAQAB
-----END PUBLIC KEY-----

View File

@@ -1,9 +1,9 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvFUyXSULufEwRk4wh9Mi
l5LxPqNToMCxQ5Arepajy/b2nMsXWvkQK1qdkftVoWrQlgjhVhgwVwRBaCZ8yfAH
eBBLep8LObpl5p6RIAeaH2XIzpk3OFfDiZ3KmYpDFudueNCZj/JtOhsvAtCqSe/J
30OzJ7f20i/pQPcIEijSoCrm7hR1wkb1RbFrMh+l6E06OP8ITpj2KDCSI20J5b6q
TpR9db7Pkwus2wA9JSqmWlnTHsxfLcNrJPkfMY6YLfXj96b0SbRt77SbpKvj96Cm
OCIfNy3XQbA5eJj0wPFnaForUgmMvb/qmZ2VTNOzh6o34cgUWZy401O0VU/1hTji
FQIDAQAB
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvFUyXSULufEwRk4wh9Mi
l5LxPqNToMCxQ5Arepajy/b2nMsXWvkQK1qdkftVoWrQlgjhVhgwVwRBaCZ8yfAH
eBBLep8LObpl5p6RIAeaH2XIzpk3OFfDiZ3KmYpDFudueNCZj/JtOhsvAtCqSe/J
30OzJ7f20i/pQPcIEijSoCrm7hR1wkb1RbFrMh+l6E06OP8ITpj2KDCSI20J5b6q
TpR9db7Pkwus2wA9JSqmWlnTHsxfLcNrJPkfMY6YLfXj96b0SbRt77SbpKvj96Cm
OCIfNy3XQbA5eJj0wPFnaForUgmMvb/qmZ2VTNOzh6o34cgUWZy401O0VU/1hTji
FQIDAQAB
-----END PUBLIC KEY-----

View File

@@ -1,6 +1,6 @@
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIgHnOn7LLILlKETd6BFRJ0Gqg
S2Y3mn1wMQmyh9zEyWlz5p1zrahRahbXAfCfSqshSNfqOmAQzSHRVjCqjsAw1jyq
rXaPdKBmr90DIpIxmIyKXv4GGAkPyJ/6FTFY99uhpiq0qadD/uSzQsefWo0aTvP/
65zi3eof7TcZ32oWpwIDAQAB
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIgHnOn7LLILlKETd6BFRJ0Gqg
S2Y3mn1wMQmyh9zEyWlz5p1zrahRahbXAfCfSqshSNfqOmAQzSHRVjCqjsAw1jyq
rXaPdKBmr90DIpIxmIyKXv4GGAkPyJ/6FTFY99uhpiq0qadD/uSzQsefWo0aTvP/
65zi3eof7TcZ32oWpwIDAQAB
-----END PUBLIC KEY-----

View File

@@ -1,27 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAw18JxZZ7BGeN+7eEexkX9H8b/ABlowO1xMha8g4f9R9o7qUw
7EFMs90je1OpB+Pd778Shb5JuZgb85bcLtzZAZY1FCsN6z9jQhCQ0DeRVfvRvCmZ
17ow6AOn0pX47NtEpxn27jF2r29hsz5C4UgH2nysjRDZbCkZK1684UA7diuY2vqK
IpW8J2lnu3idXPUwq88xNiyKO3hFGQvFFBlsjbBubuDI6vk+dngRphOXgQP8gviL
sx0L78a5kgIws/nEsXDLiXxnkigsL8DHewVYcOibaw/Rg0uyCNnSLQ7QnjAj35IP
7diUr1owKNaLCYq8wuDzcYqjeZdMgshK3+ixvQIDAQABAoIBAHugIdDT3df1pxSH
Fd/HCy99VznpDmdOq7Bvj4znfzVewMlx4jk9QMn3vsIFOEpz2DYi1BepR4GXTOig
p4dH3FFyuPegHtijba2aSehXoTGlfRvxvxWRDe1ikslgePl37kNG3MfwqMduVYZU
eYGQUNfiWFWTOeGFSBX3htGKEZY990LGFDsPyM2yGKmL6Z+/SgPuwlgcpCHViMS6
EYJ0uLEuk5oFYiqUAmS+5IkUxIXkKBONMOfiDi3OXltah9gvbKHVDlgG6qif3Ad+
6IYpd1YRX0DMp6ROKDg7pIyF53keor2nRKtEquE+61QWUsiIGz8FaBvcqk/P0X8R
QLU+gskCgYEA+r7WhdUHOiz29n5lwA/xIBY91E0NOWssPiClnr0ftcnD3/SqMj6a
gFukM0OpF4grnqSL/igyhmTtDr69kgh+ov1o0K2v9MXaxENPErHE/M5GMv3dKMVb
V2v0F3EfnbPN+cy0T1W7fkiEyP0ht+r/sNtA2dsBF7t+mjLrUWaNoxsCgYEAx3cj
Bd0n9d0YKgcHzqwwCy5vQsSoXsMTgJRaHFYF+qImLyLCLKTM/SPk6TZYGBL3OGAA
sWoOheORNLwgKox4vmgg0czwMvIqSgM3neoLDMIAfZ/BpqZFtn3PcIgwNuJ+VuOO
JDzXenGv7bOtknG6EyhNsaY2V993t70l1M1zdAcCgYEA5agOoatYoD74vxFLrlqr
laDpZl5gI1v2vLx4FOjRd1XiEmhrzfMq3S+SN+XbpJLyqK27DsDQbelYei3XQT6I
hk4lRyQdycnBsgqYDN5HNujSwPdlLWd9XpegjCvvMiiyGf4Uk6lJPcO74r59uI8D
O3/FaQO+f3cZ4K+MehS820sCgYEAk718pXU/ie5vXYHDmKMVGtMT+eJry3S2V0CK
1f4pg5Dis3sNU7/lTYJupQZpjbtOfeUt3jrt8uGxxdup/5n4PSAnXv5q03FnPVbQ
tRiLgrGXZ3UTHHp/nEHnijR1cdGlPnph6BlgiQL4ChpR7+xopJPvqCuyiLeultt0
0AA1CbUCgYEAnt5Wmu92uMaEbj4Zptdkup/MivABqTav7Bl6PxNjh04pBNMz08pT
dYezYjZf1hlfsTxxDGQdZCOjGXQSX8k4EWx+xT/EdZh0E36qcOxPEcoroQAAj8LT
QW5goRowdehK26Tg9MzBcQlffvjBGzPyYfUQhdGqd7g30gEpj32AKME=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAw18JxZZ7BGeN+7eEexkX9H8b/ABlowO1xMha8g4f9R9o7qUw
7EFMs90je1OpB+Pd778Shb5JuZgb85bcLtzZAZY1FCsN6z9jQhCQ0DeRVfvRvCmZ
17ow6AOn0pX47NtEpxn27jF2r29hsz5C4UgH2nysjRDZbCkZK1684UA7diuY2vqK
IpW8J2lnu3idXPUwq88xNiyKO3hFGQvFFBlsjbBubuDI6vk+dngRphOXgQP8gviL
sx0L78a5kgIws/nEsXDLiXxnkigsL8DHewVYcOibaw/Rg0uyCNnSLQ7QnjAj35IP
7diUr1owKNaLCYq8wuDzcYqjeZdMgshK3+ixvQIDAQABAoIBAHugIdDT3df1pxSH
Fd/HCy99VznpDmdOq7Bvj4znfzVewMlx4jk9QMn3vsIFOEpz2DYi1BepR4GXTOig
p4dH3FFyuPegHtijba2aSehXoTGlfRvxvxWRDe1ikslgePl37kNG3MfwqMduVYZU
eYGQUNfiWFWTOeGFSBX3htGKEZY990LGFDsPyM2yGKmL6Z+/SgPuwlgcpCHViMS6
EYJ0uLEuk5oFYiqUAmS+5IkUxIXkKBONMOfiDi3OXltah9gvbKHVDlgG6qif3Ad+
6IYpd1YRX0DMp6ROKDg7pIyF53keor2nRKtEquE+61QWUsiIGz8FaBvcqk/P0X8R
QLU+gskCgYEA+r7WhdUHOiz29n5lwA/xIBY91E0NOWssPiClnr0ftcnD3/SqMj6a
gFukM0OpF4grnqSL/igyhmTtDr69kgh+ov1o0K2v9MXaxENPErHE/M5GMv3dKMVb
V2v0F3EfnbPN+cy0T1W7fkiEyP0ht+r/sNtA2dsBF7t+mjLrUWaNoxsCgYEAx3cj
Bd0n9d0YKgcHzqwwCy5vQsSoXsMTgJRaHFYF+qImLyLCLKTM/SPk6TZYGBL3OGAA
sWoOheORNLwgKox4vmgg0czwMvIqSgM3neoLDMIAfZ/BpqZFtn3PcIgwNuJ+VuOO
JDzXenGv7bOtknG6EyhNsaY2V993t70l1M1zdAcCgYEA5agOoatYoD74vxFLrlqr
laDpZl5gI1v2vLx4FOjRd1XiEmhrzfMq3S+SN+XbpJLyqK27DsDQbelYei3XQT6I
hk4lRyQdycnBsgqYDN5HNujSwPdlLWd9XpegjCvvMiiyGf4Uk6lJPcO74r59uI8D
O3/FaQO+f3cZ4K+MehS820sCgYEAk718pXU/ie5vXYHDmKMVGtMT+eJry3S2V0CK
1f4pg5Dis3sNU7/lTYJupQZpjbtOfeUt3jrt8uGxxdup/5n4PSAnXv5q03FnPVbQ
tRiLgrGXZ3UTHHp/nEHnijR1cdGlPnph6BlgiQL4ChpR7+xopJPvqCuyiLeultt0
0AA1CbUCgYEAnt5Wmu92uMaEbj4Zptdkup/MivABqTav7Bl6PxNjh04pBNMz08pT
dYezYjZf1hlfsTxxDGQdZCOjGXQSX8k4EWx+xT/EdZh0E36qcOxPEcoroQAAj8LT
QW5goRowdehK26Tg9MzBcQlffvjBGzPyYfUQhdGqd7g30gEpj32AKME=
-----END RSA PRIVATE KEY-----

View File

@@ -1,9 +1,9 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw18JxZZ7BGeN+7eEexkX
9H8b/ABlowO1xMha8g4f9R9o7qUw7EFMs90je1OpB+Pd778Shb5JuZgb85bcLtzZ
AZY1FCsN6z9jQhCQ0DeRVfvRvCmZ17ow6AOn0pX47NtEpxn27jF2r29hsz5C4UgH
2nysjRDZbCkZK1684UA7diuY2vqKIpW8J2lnu3idXPUwq88xNiyKO3hFGQvFFBls
jbBubuDI6vk+dngRphOXgQP8gviLsx0L78a5kgIws/nEsXDLiXxnkigsL8DHewVY
cOibaw/Rg0uyCNnSLQ7QnjAj35IP7diUr1owKNaLCYq8wuDzcYqjeZdMgshK3+ix
vQIDAQAB
-----END PUBLIC KEY-----
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw18JxZZ7BGeN+7eEexkX
9H8b/ABlowO1xMha8g4f9R9o7qUw7EFMs90je1OpB+Pd778Shb5JuZgb85bcLtzZ
AZY1FCsN6z9jQhCQ0DeRVfvRvCmZ17ow6AOn0pX47NtEpxn27jF2r29hsz5C4UgH
2nysjRDZbCkZK1684UA7diuY2vqKIpW8J2lnu3idXPUwq88xNiyKO3hFGQvFFBls
jbBubuDI6vk+dngRphOXgQP8gviLsx0L78a5kgIws/nEsXDLiXxnkigsL8DHewVY
cOibaw/Rg0uyCNnSLQ7QnjAj35IP7diUr1owKNaLCYq8wuDzcYqjeZdMgshK3+ix
vQIDAQAB
-----END PUBLIC KEY-----

View File

@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDDXwnFlnsEZ437
t4R7GRf0fxv8AGWjA7XEyFryDh/1H2jupTDsQUyz3SN7U6kH493vvxKFvkm5mBvz
ltwu3NkBljUUKw3rP2NCEJDQN5FV+9G8KZnXujDoA6fSlfjs20SnGfbuMXavb2Gz
PkLhSAfafKyNENlsKRkrXrzhQDt2K5ja+ooilbwnaWe7eJ1c9TCrzzE2LIo7eEUZ
C8UUGWyNsG5u4Mjq+T52eBGmE5eBA/yC+IuzHQvvxrmSAjCz+cSxcMuJfGeSKCwv
wMd7BVhw6JtrD9GDS7II2dItDtCeMCPfkg/t2JSvWjAo1osJirzC4PNxiqN5l0yC
yErf6LG9AgMBAAECggEAe6Ah0NPd1/WnFIcV38cLL31XOekOZ06rsG+PjOd/NV7A
yXHiOT1Ayfe+wgU4SnPYNiLUF6lHgZdM6KCnh0fcUXK496Ae2KNtrZpJ6FehMaV9
G/G/FZEN7WKSyWB4+XfuQ0bcx/Cox25VhlR5gZBQ1+JYVZM54YVIFfeG0YoRlj33
QsYUOw/IzbIYqYvpn79KA+7CWBykIdWIxLoRgnS4sS6TmgViKpQCZL7kiRTEheQo
E40w5+IOLc5eW1qH2C9sodUOWAbqqJ/cB37ohil3VhFfQMynpE4oODukjIXneR6i
vadEq0Sq4T7rVBZSyIgbPwVoG9yqT8/RfxFAtT6CyQKBgQD6vtaF1Qc6LPb2fmXA
D/EgFj3UTQ05ayw+IKWevR+1ycPf9KoyPpqAW6QzQ6kXiCuepIv+KDKGZO0Ovr2S
CH6i/WjQra/0xdrEQ08SscT8zkYy/d0oxVtXa/QXcR+ds835zLRPVbt+SITI/SG3
6v+w20DZ2wEXu36aMutRZo2jGwKBgQDHdyMF3Sf13RgqBwfOrDALLm9CxKhewxOA
lFocVgX6oiYvIsIspMz9I+TpNlgYEvc4YACxag6F45E0vCAqjHi+aCDRzPAy8ipK
Azed6gsMwgB9n8GmpkW2fc9wiDA24n5W444kPNd6ca/ts62ScboTKE2xpjZX33e3
vSXUzXN0BwKBgQDlqA6hq1igPvi/EUuuWquVoOlmXmAjW/a8vHgU6NF3VeISaGvN
8yrdL5I35dukkvKorbsOwNBt6Vh6LddBPoiGTiVHJB3JycGyCpgM3kc26NLA92Ut
Z31el6CMK+8yKLIZ/hSTqUk9w7vivn24jwM7f8VpA75/dxngr4x6FLzbSwKBgQCT
vXyldT+J7m9dgcOYoxUa0xP54mvLdLZXQIrV/imDkOKzew1Tv+VNgm6lBmmNu059
5S3eOu3y4bHF26n/mfg9ICde/mrTcWc9VtC1GIuCsZdndRMcen+cQeeKNHVx0aU+
emHoGWCJAvgKGlHv7Gikk++oK7KIt66W23TQADUJtQKBgQCe3laa73a4xoRuPhmm
12S6n8yK8AGpNq/sGXo/E2OHTikE0zPTylN1h7NiNl/WGV+xPHEMZB1kI6MZdBJf
yTgRbH7FP8R1mHQTfqpw7E8RyiuhAACPwtNBbmChGjB16ErbpOD0zMFxCV9++MEb
M/Jh9RCF0ap3uDfSASmPfYAowQ==
-----END PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDDXwnFlnsEZ437
t4R7GRf0fxv8AGWjA7XEyFryDh/1H2jupTDsQUyz3SN7U6kH493vvxKFvkm5mBvz
ltwu3NkBljUUKw3rP2NCEJDQN5FV+9G8KZnXujDoA6fSlfjs20SnGfbuMXavb2Gz
PkLhSAfafKyNENlsKRkrXrzhQDt2K5ja+ooilbwnaWe7eJ1c9TCrzzE2LIo7eEUZ
C8UUGWyNsG5u4Mjq+T52eBGmE5eBA/yC+IuzHQvvxrmSAjCz+cSxcMuJfGeSKCwv
wMd7BVhw6JtrD9GDS7II2dItDtCeMCPfkg/t2JSvWjAo1osJirzC4PNxiqN5l0yC
yErf6LG9AgMBAAECggEAe6Ah0NPd1/WnFIcV38cLL31XOekOZ06rsG+PjOd/NV7A
yXHiOT1Ayfe+wgU4SnPYNiLUF6lHgZdM6KCnh0fcUXK496Ae2KNtrZpJ6FehMaV9
G/G/FZEN7WKSyWB4+XfuQ0bcx/Cox25VhlR5gZBQ1+JYVZM54YVIFfeG0YoRlj33
QsYUOw/IzbIYqYvpn79KA+7CWBykIdWIxLoRgnS4sS6TmgViKpQCZL7kiRTEheQo
E40w5+IOLc5eW1qH2C9sodUOWAbqqJ/cB37ohil3VhFfQMynpE4oODukjIXneR6i
vadEq0Sq4T7rVBZSyIgbPwVoG9yqT8/RfxFAtT6CyQKBgQD6vtaF1Qc6LPb2fmXA
D/EgFj3UTQ05ayw+IKWevR+1ycPf9KoyPpqAW6QzQ6kXiCuepIv+KDKGZO0Ovr2S
CH6i/WjQra/0xdrEQ08SscT8zkYy/d0oxVtXa/QXcR+ds835zLRPVbt+SITI/SG3
6v+w20DZ2wEXu36aMutRZo2jGwKBgQDHdyMF3Sf13RgqBwfOrDALLm9CxKhewxOA
lFocVgX6oiYvIsIspMz9I+TpNlgYEvc4YACxag6F45E0vCAqjHi+aCDRzPAy8ipK
Azed6gsMwgB9n8GmpkW2fc9wiDA24n5W444kPNd6ca/ts62ScboTKE2xpjZX33e3
vSXUzXN0BwKBgQDlqA6hq1igPvi/EUuuWquVoOlmXmAjW/a8vHgU6NF3VeISaGvN
8yrdL5I35dukkvKorbsOwNBt6Vh6LddBPoiGTiVHJB3JycGyCpgM3kc26NLA92Ut
Z31el6CMK+8yKLIZ/hSTqUk9w7vivn24jwM7f8VpA75/dxngr4x6FLzbSwKBgQCT
vXyldT+J7m9dgcOYoxUa0xP54mvLdLZXQIrV/imDkOKzew1Tv+VNgm6lBmmNu059
5S3eOu3y4bHF26n/mfg9ICde/mrTcWc9VtC1GIuCsZdndRMcen+cQeeKNHVx0aU+
emHoGWCJAvgKGlHv7Gikk++oK7KIt66W23TQADUJtQKBgQCe3laa73a4xoRuPhmm
12S6n8yK8AGpNq/sGXo/E2OHTikE0zPTylN1h7NiNl/WGV+xPHEMZB1kI6MZdBJf
yTgRbH7FP8R1mHQTfqpw7E8RyiuhAACPwtNBbmChGjB16ErbpOD0zMFxCV9++MEb
M/Jh9RCF0ap3uDfSASmPfYAowQ==
-----END PRIVATE KEY-----

View File

@@ -1,9 +1,9 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgnSAehzAw6FfIvgETqoW
FUlEdbqvnbJvJYMUjAP1BLEMwXHaXSS6tepeJod6HG/uiGeO5McArfbXzOEhPhWC
PobmdOLS3lCY4EV1Mhwzw+IWO/fQaZiWsNirD9X4QBO7LNtV4wVD41Rfr0Uik8Kd
GgGhq7EVpWNeHbNm08oEpvV+A/z2huezkF72EbAItNp6OH+L0HNJhJhlo0YA/EQn
lN0L6WmsEGCatyDoMtpzeJ62IabweSbrwGu1jJWJrl+NtmiEIresZdtJ75GBlWRW
lbUjDU4emnnAcqiCvcrhCmWCETiShiICsAHeyccfz2TFd1XU4lSLI8mYvp7tN33j
XQIDAQAB
-----END PUBLIC KEY-----
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgnSAehzAw6FfIvgETqoW
FUlEdbqvnbJvJYMUjAP1BLEMwXHaXSS6tepeJod6HG/uiGeO5McArfbXzOEhPhWC
PobmdOLS3lCY4EV1Mhwzw+IWO/fQaZiWsNirD9X4QBO7LNtV4wVD41Rfr0Uik8Kd
GgGhq7EVpWNeHbNm08oEpvV+A/z2huezkF72EbAItNp6OH+L0HNJhJhlo0YA/EQn
lN0L6WmsEGCatyDoMtpzeJ62IabweSbrwGu1jJWJrl+NtmiEIresZdtJ75GBlWRW
lbUjDU4emnnAcqiCvcrhCmWCETiShiICsAHeyccfz2TFd1XU4lSLI8mYvp7tN33j
XQIDAQAB
-----END PUBLIC KEY-----

View File

@@ -1,27 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAneTAMQZ5ThzNry7Zvs/jkbxXGJkKvc1UWe/0EqwTek35Cgox
yXYqV+atf6zotDeQUZIx//LPG6SoGaT/KICO+hVNOvPpIHRIoVs1PF5IWncES+1a
MNTafsyBor4YXRP2WbC129NqBfWzfBotQF8qWS2cC5byFDMqjbkCYrSg7tCRxEvH
nbJV5sSWQmQ6UF1QsVuGAx9+hmvV3M58BQUluRtINYUezMWl3CV1nzp8/oxAbyFT
joDf0ybPx+VzYGUsXSqJgVMuFqK/rJmUYI9KoP+XWZBDf1727/MT2veljP1YlEtZ
AquH8mlQl6bBOSC23+fqaSBZokLZTQUinw5v1QIDAQABAoIBABzpw6v2lIYSTjPz
L1p6tSB9zbEqbUYecIDbqOU2b4ao+p61CTLsGYrpKgJERoSh3CKj09Ybv4M/Xqz7
guIG0KfI+NB/08Pmp1os2o3IchVmz/mbaDWi9LPdfSuxBcMdobIA4vxzNWoL+ScT
oA+2nYmhCX8xz/iU+gjjxSUQEJxKeY81LfokHMn8/YyCioUkzr3zg8DHWxWdQwgC
2DE0yMLVRnoOBN9Ykfsoo2qe7dX8zksvs4p+yI9Vaj+Ov+SoE8jysEzmBuWvfrA9
eyuE5DFErl+G6gvy3VLZU5d2mX4umsmqYCxgabF6ldQ/lpi+NFv3r/eFT+YBe1iM
5XXHi8ECgYEAzhbdkGjbUvxunvSx2nGk/z4pqx+gc1H/FJXJRk8YBfMPO3dfhcqp
qW49FyV5E/Bng7Zm5gC9N24tIk+QB+D5nM/PPL3aofjvMBVTCGISnCqtdyO0Z0Xf
sDvXBdfC9mSvNiYWgL301dNzd8Ef17MckWcchHvfKDBAgu84U7DeV3ECgYEAxCHX
p1F3BVhTdXKZM96mJWfMWC8XzU0ej6IQ6p9bpMNAeeOokzLB1PjDTcnu9v9Idigv
i0Oxt36jQEY/ShrthkW8i40W+yyaktw8o+ghWI59/bvxXx4x1jp2k5Lpk6T2+XJi
SNGo+mUB2aF848HFJvCn0Yo/u9D9jTWKzup/VKUCgYA+NpjcJ0tOWfXq9mNaVkRA
6Tsa9YkyRuaCCFWia+4MnbtTcE3dzbg59ZVrj1xlsIUPNdkKRd7ZBOGLIgmQ11GD
DRi6dXWyv7s1ALr4JOMJUbjb5mNnaaiFQws+MEwipXJfHlBcvPtUMWkCFcLPErrl
CgOJ2vsa3rYa0KxoV1RHgQKBgGWGLx9JKBb4NZtiCrOy2MYcCMbM+cEn3l3zQlZw
zvtmpoVxtt0bNQKNEmu9z5jDZDrlalboX6HgR5kJw9EUR0dt6b9C9VZnLExA/JLL
ohc5CzbAhpz6AEooUSDqt0XZ6o4NC5suDA4xItgIo6ExuGADyprIuVz7PYRO5t9c
uzSRAoGBAKUmhfipb6TlMpFaP/igia0rEUeOGD293VYSPgYdkVhfKm/IOpZtvcuE
+bwAEVKsLZ49Gt5vALWRwF3TiyhJxRF8BmNQGmJZSBt6D+S9c1TKJNhRl1N+p3Pd
67MFdi2wWVv5c19jc6RIA5qBPMN4hkvsS7F9j+0ShlYyP4vTypHr
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAneTAMQZ5ThzNry7Zvs/jkbxXGJkKvc1UWe/0EqwTek35Cgox
yXYqV+atf6zotDeQUZIx//LPG6SoGaT/KICO+hVNOvPpIHRIoVs1PF5IWncES+1a
MNTafsyBor4YXRP2WbC129NqBfWzfBotQF8qWS2cC5byFDMqjbkCYrSg7tCRxEvH
nbJV5sSWQmQ6UF1QsVuGAx9+hmvV3M58BQUluRtINYUezMWl3CV1nzp8/oxAbyFT
joDf0ybPx+VzYGUsXSqJgVMuFqK/rJmUYI9KoP+XWZBDf1727/MT2veljP1YlEtZ
AquH8mlQl6bBOSC23+fqaSBZokLZTQUinw5v1QIDAQABAoIBABzpw6v2lIYSTjPz
L1p6tSB9zbEqbUYecIDbqOU2b4ao+p61CTLsGYrpKgJERoSh3CKj09Ybv4M/Xqz7
guIG0KfI+NB/08Pmp1os2o3IchVmz/mbaDWi9LPdfSuxBcMdobIA4vxzNWoL+ScT
oA+2nYmhCX8xz/iU+gjjxSUQEJxKeY81LfokHMn8/YyCioUkzr3zg8DHWxWdQwgC
2DE0yMLVRnoOBN9Ykfsoo2qe7dX8zksvs4p+yI9Vaj+Ov+SoE8jysEzmBuWvfrA9
eyuE5DFErl+G6gvy3VLZU5d2mX4umsmqYCxgabF6ldQ/lpi+NFv3r/eFT+YBe1iM
5XXHi8ECgYEAzhbdkGjbUvxunvSx2nGk/z4pqx+gc1H/FJXJRk8YBfMPO3dfhcqp
qW49FyV5E/Bng7Zm5gC9N24tIk+QB+D5nM/PPL3aofjvMBVTCGISnCqtdyO0Z0Xf
sDvXBdfC9mSvNiYWgL301dNzd8Ef17MckWcchHvfKDBAgu84U7DeV3ECgYEAxCHX
p1F3BVhTdXKZM96mJWfMWC8XzU0ej6IQ6p9bpMNAeeOokzLB1PjDTcnu9v9Idigv
i0Oxt36jQEY/ShrthkW8i40W+yyaktw8o+ghWI59/bvxXx4x1jp2k5Lpk6T2+XJi
SNGo+mUB2aF848HFJvCn0Yo/u9D9jTWKzup/VKUCgYA+NpjcJ0tOWfXq9mNaVkRA
6Tsa9YkyRuaCCFWia+4MnbtTcE3dzbg59ZVrj1xlsIUPNdkKRd7ZBOGLIgmQ11GD
DRi6dXWyv7s1ALr4JOMJUbjb5mNnaaiFQws+MEwipXJfHlBcvPtUMWkCFcLPErrl
CgOJ2vsa3rYa0KxoV1RHgQKBgGWGLx9JKBb4NZtiCrOy2MYcCMbM+cEn3l3zQlZw
zvtmpoVxtt0bNQKNEmu9z5jDZDrlalboX6HgR5kJw9EUR0dt6b9C9VZnLExA/JLL
ohc5CzbAhpz6AEooUSDqt0XZ6o4NC5suDA4xItgIo6ExuGADyprIuVz7PYRO5t9c
uzSRAoGBAKUmhfipb6TlMpFaP/igia0rEUeOGD293VYSPgYdkVhfKm/IOpZtvcuE
+bwAEVKsLZ49Gt5vALWRwF3TiyhJxRF8BmNQGmJZSBt6D+S9c1TKJNhRl1N+p3Pd
67MFdi2wWVv5c19jc6RIA5qBPMN4hkvsS7F9j+0ShlYyP4vTypHr
-----END RSA PRIVATE KEY-----

View File

@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCd5MAxBnlOHM2v
Ltm+z+ORvFcYmQq9zVRZ7/QSrBN6TfkKCjHJdipX5q1/rOi0N5BRkjH/8s8bpKgZ
pP8ogI76FU068+kgdEihWzU8XkhadwRL7Vow1Np+zIGivhhdE/ZZsLXb02oF9bN8
Gi1AXypZLZwLlvIUMyqNuQJitKDu0JHES8edslXmxJZCZDpQXVCxW4YDH36Ga9Xc
znwFBSW5G0g1hR7MxaXcJXWfOnz+jEBvIVOOgN/TJs/H5XNgZSxdKomBUy4Wor+s
mZRgj0qg/5dZkEN/Xvbv8xPa96WM/ViUS1kCq4fyaVCXpsE5ILbf5+ppIFmiQtlN
BSKfDm/VAgMBAAECggEAHOnDq/aUhhJOM/MvWnq1IH3NsSptRh5wgNuo5TZvhqj6
nrUJMuwZiukqAkRGhKHcIqPT1hu/gz9erPuC4gbQp8j40H/Tw+anWizajchyFWbP
+ZtoNaL0s919K7EFwx2hsgDi/HM1agv5JxOgD7adiaEJfzHP+JT6COPFJRAQnEp5
jzUt+iQcyfz9jIKKhSTOvfODwMdbFZ1DCALYMTTIwtVGeg4E31iR+yijap7t1fzO
Sy+zin7Ij1VqP46/5KgTyPKwTOYG5a9+sD17K4TkMUSuX4bqC/LdUtlTl3aZfi6a
yapgLGBpsXqV1D+WmL40W/ev94VP5gF7WIzldceLwQKBgQDOFt2QaNtS/G6e9LHa
caT/PimrH6BzUf8UlclGTxgF8w87d1+Fyqmpbj0XJXkT8GeDtmbmAL03bi0iT5AH
4Pmcz888vdqh+O8wFVMIYhKcKq13I7RnRd+wO9cF18L2ZK82JhaAvfTV03N3wR/X
sxyRZxyEe98oMECC7zhTsN5XcQKBgQDEIdenUXcFWFN1cpkz3qYlZ8xYLxfNTR6P
ohDqn1ukw0B546iTMsHU+MNNye72/0h2KC+LQ7G3fqNARj9KGu2GRbyLjRb7LJqS
3Dyj6CFYjn39u/FfHjHWOnaTkumTpPb5cmJI0aj6ZQHZoXzjwcUm8KfRij+70P2N
NYrO6n9UpQKBgD42mNwnS05Z9er2Y1pWREDpOxr1iTJG5oIIVaJr7gydu1NwTd3N
uDn1lWuPXGWwhQ812QpF3tkE4YsiCZDXUYMNGLp1dbK/uzUAuvgk4wlRuNvmY2dp
qIVDCz4wTCKlcl8eUFy8+1QxaQIVws8SuuUKA4na+xrethrQrGhXVEeBAoGAZYYv
H0koFvg1m2IKs7LYxhwIxsz5wSfeXfNCVnDO+2amhXG23Rs1Ao0Sa73PmMNkOuVq
VuhfoeBHmQnD0RRHR23pv0L1VmcsTED8ksuiFzkLNsCGnPoASihRIOq3Rdnqjg0L
my4MDjEi2AijoTG4YAPKmsi5XPs9hE7m31y7NJECgYEApSaF+KlvpOUykVo/+KCJ
rSsRR44YPb3dVhI+Bh2RWF8qb8g6lm29y4T5vAARUqwtnj0a3m8AtZHAXdOLKEnF
EXwGY1AaYllIG3oP5L1zVMok2FGXU36nc93rswV2LbBZW/lzX2NzpEgDmoE8w3iG
S+xLsX2P7RKGVjI/i9PKkes=
-----END PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCd5MAxBnlOHM2v
Ltm+z+ORvFcYmQq9zVRZ7/QSrBN6TfkKCjHJdipX5q1/rOi0N5BRkjH/8s8bpKgZ
pP8ogI76FU068+kgdEihWzU8XkhadwRL7Vow1Np+zIGivhhdE/ZZsLXb02oF9bN8
Gi1AXypZLZwLlvIUMyqNuQJitKDu0JHES8edslXmxJZCZDpQXVCxW4YDH36Ga9Xc
znwFBSW5G0g1hR7MxaXcJXWfOnz+jEBvIVOOgN/TJs/H5XNgZSxdKomBUy4Wor+s
mZRgj0qg/5dZkEN/Xvbv8xPa96WM/ViUS1kCq4fyaVCXpsE5ILbf5+ppIFmiQtlN
BSKfDm/VAgMBAAECggEAHOnDq/aUhhJOM/MvWnq1IH3NsSptRh5wgNuo5TZvhqj6
nrUJMuwZiukqAkRGhKHcIqPT1hu/gz9erPuC4gbQp8j40H/Tw+anWizajchyFWbP
+ZtoNaL0s919K7EFwx2hsgDi/HM1agv5JxOgD7adiaEJfzHP+JT6COPFJRAQnEp5
jzUt+iQcyfz9jIKKhSTOvfODwMdbFZ1DCALYMTTIwtVGeg4E31iR+yijap7t1fzO
Sy+zin7Ij1VqP46/5KgTyPKwTOYG5a9+sD17K4TkMUSuX4bqC/LdUtlTl3aZfi6a
yapgLGBpsXqV1D+WmL40W/ev94VP5gF7WIzldceLwQKBgQDOFt2QaNtS/G6e9LHa
caT/PimrH6BzUf8UlclGTxgF8w87d1+Fyqmpbj0XJXkT8GeDtmbmAL03bi0iT5AH
4Pmcz888vdqh+O8wFVMIYhKcKq13I7RnRd+wO9cF18L2ZK82JhaAvfTV03N3wR/X
sxyRZxyEe98oMECC7zhTsN5XcQKBgQDEIdenUXcFWFN1cpkz3qYlZ8xYLxfNTR6P
ohDqn1ukw0B546iTMsHU+MNNye72/0h2KC+LQ7G3fqNARj9KGu2GRbyLjRb7LJqS
3Dyj6CFYjn39u/FfHjHWOnaTkumTpPb5cmJI0aj6ZQHZoXzjwcUm8KfRij+70P2N
NYrO6n9UpQKBgD42mNwnS05Z9er2Y1pWREDpOxr1iTJG5oIIVaJr7gydu1NwTd3N
uDn1lWuPXGWwhQ812QpF3tkE4YsiCZDXUYMNGLp1dbK/uzUAuvgk4wlRuNvmY2dp
qIVDCz4wTCKlcl8eUFy8+1QxaQIVws8SuuUKA4na+xrethrQrGhXVEeBAoGAZYYv
H0koFvg1m2IKs7LYxhwIxsz5wSfeXfNCVnDO+2amhXG23Rs1Ao0Sa73PmMNkOuVq
VuhfoeBHmQnD0RRHR23pv0L1VmcsTED8ksuiFzkLNsCGnPoASihRIOq3Rdnqjg0L
my4MDjEi2AijoTG4YAPKmsi5XPs9hE7m31y7NJECgYEApSaF+KlvpOUykVo/+KCJ
rSsRR44YPb3dVhI+Bh2RWF8qb8g6lm29y4T5vAARUqwtnj0a3m8AtZHAXdOLKEnF
EXwGY1AaYllIG3oP5L1zVMok2FGXU36nc93rswV2LbBZW/lzX2NzpEgDmoE8w3iG
S+xLsX2P7RKGVjI/i9PKkes=
-----END PRIVATE KEY-----

View File

@@ -1,9 +1,9 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAneTAMQZ5ThzNry7Zvs/j
kbxXGJkKvc1UWe/0EqwTek35CgoxyXYqV+atf6zotDeQUZIx//LPG6SoGaT/KICO
+hVNOvPpIHRIoVs1PF5IWncES+1aMNTafsyBor4YXRP2WbC129NqBfWzfBotQF8q
WS2cC5byFDMqjbkCYrSg7tCRxEvHnbJV5sSWQmQ6UF1QsVuGAx9+hmvV3M58BQUl
uRtINYUezMWl3CV1nzp8/oxAbyFTjoDf0ybPx+VzYGUsXSqJgVMuFqK/rJmUYI9K
oP+XWZBDf1727/MT2veljP1YlEtZAquH8mlQl6bBOSC23+fqaSBZokLZTQUinw5v
1QIDAQAB
-----END PUBLIC KEY-----
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAneTAMQZ5ThzNry7Zvs/j
kbxXGJkKvc1UWe/0EqwTek35CgoxyXYqV+atf6zotDeQUZIx//LPG6SoGaT/KICO
+hVNOvPpIHRIoVs1PF5IWncES+1aMNTafsyBor4YXRP2WbC129NqBfWzfBotQF8q
WS2cC5byFDMqjbkCYrSg7tCRxEvHnbJV5sSWQmQ6UF1QsVuGAx9+hmvV3M58BQUl
uRtINYUezMWl3CV1nzp8/oxAbyFTjoDf0ybPx+VzYGUsXSqJgVMuFqK/rJmUYI9K
oP+XWZBDf1727/MT2veljP1YlEtZAquH8mlQl6bBOSC23+fqaSBZokLZTQUinw5v
1QIDAQAB
-----END PUBLIC KEY-----

View File

@@ -1,6 +1,6 @@
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnxj/9qwVfgoUh/y2W89L6BkRA
FljhNhgPdyPuBV64bfQNN1PjbCzkIM6qRdKBoLPXmKKMiFYnkd6rAoprih3/PrQE
B/VsW8OoM8fxn67UDYuyBTqA23MML9q1+ilIZwBC2AQ2UBVOrFXfFl75p6/B5Ksi
NG9zpgmLCUYuLkxpLQIDAQAB
-----END PUBLIC KEY-----
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnxj/9qwVfgoUh/y2W89L6BkRA
FljhNhgPdyPuBV64bfQNN1PjbCzkIM6qRdKBoLPXmKKMiFYnkd6rAoprih3/PrQE
B/VsW8OoM8fxn67UDYuyBTqA23MML9q1+ilIZwBC2AQ2UBVOrFXfFl75p6/B5Ksi
NG9zpgmLCUYuLkxpLQIDAQAB
-----END PUBLIC KEY-----

View File

@@ -1,9 +1,9 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvFUyXSULufEwRk4wh9Mi
l5LxPqNToMCxQ5Arepajy/b2nMsXWvkQK1qdkftVoWrQlgjhVhgwVwRBaCZ8yfAH
eBBLep8LObpl5p6RIAeaH2XIzpk3OFfDiZ3KmYpDFudueNCZj/JtOhsvAtCqSe/J
30OzJ7f20i/pQPcIEijSoCrm7hR1wkb1RbFrMh+l6E06OP8ITpj2KDCSI20J5b6q
TpR9db7Pkwus2wA9JSqmWlnTHsxfLcNrJPkfMY6YLfXj96b0SbRt77SbpKvj96Cm
OCIfNy3XQbA5eJj0wPFnaForUgmMvb/qmZ2VTNOzh6o34cgUWZy401O0VU/1hTji
FQIDAQAB
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvFUyXSULufEwRk4wh9Mi
l5LxPqNToMCxQ5Arepajy/b2nMsXWvkQK1qdkftVoWrQlgjhVhgwVwRBaCZ8yfAH
eBBLep8LObpl5p6RIAeaH2XIzpk3OFfDiZ3KmYpDFudueNCZj/JtOhsvAtCqSe/J
30OzJ7f20i/pQPcIEijSoCrm7hR1wkb1RbFrMh+l6E06OP8ITpj2KDCSI20J5b6q
TpR9db7Pkwus2wA9JSqmWlnTHsxfLcNrJPkfMY6YLfXj96b0SbRt77SbpKvj96Cm
OCIfNy3XQbA5eJj0wPFnaForUgmMvb/qmZ2VTNOzh6o34cgUWZy401O0VU/1hTji
FQIDAQAB
-----END PUBLIC KEY-----

View File

@@ -1,6 +1,6 @@
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIgHnOn7LLILlKETd6BFRJ0Gqg
S2Y3mn1wMQmyh9zEyWlz5p1zrahRahbXAfCfSqshSNfqOmAQzSHRVjCqjsAw1jyq
rXaPdKBmr90DIpIxmIyKXv4GGAkPyJ/6FTFY99uhpiq0qadD/uSzQsefWo0aTvP/
65zi3eof7TcZ32oWpwIDAQAB
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIgHnOn7LLILlKETd6BFRJ0Gqg
S2Y3mn1wMQmyh9zEyWlz5p1zrahRahbXAfCfSqshSNfqOmAQzSHRVjCqjsAw1jyq
rXaPdKBmr90DIpIxmIyKXv4GGAkPyJ/6FTFY99uhpiq0qadD/uSzQsefWo0aTvP/
65zi3eof7TcZ32oWpwIDAQAB
-----END PUBLIC KEY-----

View File

@@ -1,14 +1,14 @@
-----BEGIN DSA PARAMETERS-----
MIICLAKCAQEAgKPTclpK1TEOHWRlzYeV1h8L0INJXLHzvE8kzquYOLNymfCbKevw
8cAI1PQQWSGe2nKMzmnCS1J7L1cE6hP7Zffj71X2uvNJE7e3OasfnqqRY1zAmluh
bFdP+6iMSP/mMxiGwOr59ZHGSBk7wz4RzPPr3Ab2+BwtqNvUkimqmGO9TNJFgS8Z
WISuel0db/R8H4NMW52IvRukKUG4zt27AIVa1n1YLNqlyUzrPWums13wxyUEoayA
FJt0pNozjujn9aR/u6k3lvm3TOB4ialigNHYdbtTfhcUN/fzOATDwfUzx7XWf/9T
ln7cDt/kJ8QF4uVhrtlloeebKfAB9MxugQIhALoerZx4xxyKh5UwFP2mIMs1jccp
rHx6xSpqTpjfBtfZAoIBAE2+dWH2Xs2Iy2hdpge7GCt+c75jjqsrebth28m3DPXC
Ioql+Zb21es9qa69RUO2ybPZv5IIoDFH4WNhZ4u0eiH0ClrJX5h3aTbGggi+m3XE
CfNzAh6ZLzrpibZ05gK4Bqu0OSNJ43OknK0GrCWw0vKod9trN0ik1Yfs6ZTtMydX
Q5ltF4HRWFyZ4UW7VzB7NNT4O5cfbzVx2IgGJv/xAlAev+E3G78CF9S7u1RHsb51
YTCEkUtIMzZOkcgz2gOpWBdSCOV/noafe/+EmpSp9ZdeIXtzSHUutnxLCuaomrur
pnN2n7W/kEhP0tphKF5CeNoLOAM6C+IwIDK87KQ6Vck=
-----END DSA PARAMETERS-----
-----BEGIN DSA PARAMETERS-----
MIICLAKCAQEAgKPTclpK1TEOHWRlzYeV1h8L0INJXLHzvE8kzquYOLNymfCbKevw
8cAI1PQQWSGe2nKMzmnCS1J7L1cE6hP7Zffj71X2uvNJE7e3OasfnqqRY1zAmluh
bFdP+6iMSP/mMxiGwOr59ZHGSBk7wz4RzPPr3Ab2+BwtqNvUkimqmGO9TNJFgS8Z
WISuel0db/R8H4NMW52IvRukKUG4zt27AIVa1n1YLNqlyUzrPWums13wxyUEoayA
FJt0pNozjujn9aR/u6k3lvm3TOB4ialigNHYdbtTfhcUN/fzOATDwfUzx7XWf/9T
ln7cDt/kJ8QF4uVhrtlloeebKfAB9MxugQIhALoerZx4xxyKh5UwFP2mIMs1jccp
rHx6xSpqTpjfBtfZAoIBAE2+dWH2Xs2Iy2hdpge7GCt+c75jjqsrebth28m3DPXC
Ioql+Zb21es9qa69RUO2ybPZv5IIoDFH4WNhZ4u0eiH0ClrJX5h3aTbGggi+m3XE
CfNzAh6ZLzrpibZ05gK4Bqu0OSNJ43OknK0GrCWw0vKod9trN0ik1Yfs6ZTtMydX
Q5ltF4HRWFyZ4UW7VzB7NNT4O5cfbzVx2IgGJv/xAlAev+E3G78CF9S7u1RHsb51
YTCEkUtIMzZOkcgz2gOpWBdSCOV/noafe/+EmpSp9ZdeIXtzSHUutnxLCuaomrur
pnN2n7W/kEhP0tphKF5CeNoLOAM6C+IwIDK87KQ6Vck=
-----END DSA PARAMETERS-----

View File

@@ -1,20 +1,20 @@
-----BEGIN DSA PRIVATE KEY-----
MIIDVgIBAAKCAQEAgKPTclpK1TEOHWRlzYeV1h8L0INJXLHzvE8kzquYOLNymfCb
Kevw8cAI1PQQWSGe2nKMzmnCS1J7L1cE6hP7Zffj71X2uvNJE7e3OasfnqqRY1zA
mluhbFdP+6iMSP/mMxiGwOr59ZHGSBk7wz4RzPPr3Ab2+BwtqNvUkimqmGO9TNJF
gS8ZWISuel0db/R8H4NMW52IvRukKUG4zt27AIVa1n1YLNqlyUzrPWums13wxyUE
oayAFJt0pNozjujn9aR/u6k3lvm3TOB4ialigNHYdbtTfhcUN/fzOATDwfUzx7XW
f/9Tln7cDt/kJ8QF4uVhrtlloeebKfAB9MxugQIhALoerZx4xxyKh5UwFP2mIMs1
jccprHx6xSpqTpjfBtfZAoIBAE2+dWH2Xs2Iy2hdpge7GCt+c75jjqsrebth28m3
DPXCIoql+Zb21es9qa69RUO2ybPZv5IIoDFH4WNhZ4u0eiH0ClrJX5h3aTbGggi+
m3XECfNzAh6ZLzrpibZ05gK4Bqu0OSNJ43OknK0GrCWw0vKod9trN0ik1Yfs6ZTt
MydXQ5ltF4HRWFyZ4UW7VzB7NNT4O5cfbzVx2IgGJv/xAlAev+E3G78CF9S7u1RH
sb51YTCEkUtIMzZOkcgz2gOpWBdSCOV/noafe/+EmpSp9ZdeIXtzSHUutnxLCuao
mrurpnN2n7W/kEhP0tphKF5CeNoLOAM6C+IwIDK87KQ6VckCggEAIpevJpRxdhuw
6O8RIdCsHQiUJlUMYhB3qZUIo9cKR7KARdIQ1ZSdWabIFFGbUqfyNirkEmxXGDmO
vnuOXJt2ysaExePrs5uOXNPjCg9DmplEUjzzNOCTKuFDnD4FZIYfFJqV+NZHhn7T
Yi6kuTDdqHkqLDzTeTFHCoAREEsuvR89/aEKIKztSTM6M8XjNxRq2O/jMprKKpAZ
oa+kj+FNP2tE+Z3VU+vj2OXTZ5lzQkx1A+Uuft9Oxgaz7I2bHh37m3nYOzeKgzoz
8qMFz61dtGXI9Q0pa9GAjiwGREUAhQa86y2M6iyTSXNBZMe7b441ycK817QQz9eI
7TUJBg5YngIhAJGgfWLNZBEIZUxKbuZl2jg+JbCVrLpq0UGKzCia5x4o
-----END DSA PRIVATE KEY-----
-----BEGIN DSA PRIVATE KEY-----
MIIDVgIBAAKCAQEAgKPTclpK1TEOHWRlzYeV1h8L0INJXLHzvE8kzquYOLNymfCb
Kevw8cAI1PQQWSGe2nKMzmnCS1J7L1cE6hP7Zffj71X2uvNJE7e3OasfnqqRY1zA
mluhbFdP+6iMSP/mMxiGwOr59ZHGSBk7wz4RzPPr3Ab2+BwtqNvUkimqmGO9TNJF
gS8ZWISuel0db/R8H4NMW52IvRukKUG4zt27AIVa1n1YLNqlyUzrPWums13wxyUE
oayAFJt0pNozjujn9aR/u6k3lvm3TOB4ialigNHYdbtTfhcUN/fzOATDwfUzx7XW
f/9Tln7cDt/kJ8QF4uVhrtlloeebKfAB9MxugQIhALoerZx4xxyKh5UwFP2mIMs1
jccprHx6xSpqTpjfBtfZAoIBAE2+dWH2Xs2Iy2hdpge7GCt+c75jjqsrebth28m3
DPXCIoql+Zb21es9qa69RUO2ybPZv5IIoDFH4WNhZ4u0eiH0ClrJX5h3aTbGggi+
m3XECfNzAh6ZLzrpibZ05gK4Bqu0OSNJ43OknK0GrCWw0vKod9trN0ik1Yfs6ZTt
MydXQ5ltF4HRWFyZ4UW7VzB7NNT4O5cfbzVx2IgGJv/xAlAev+E3G78CF9S7u1RH
sb51YTCEkUtIMzZOkcgz2gOpWBdSCOV/noafe/+EmpSp9ZdeIXtzSHUutnxLCuao
mrurpnN2n7W/kEhP0tphKF5CeNoLOAM6C+IwIDK87KQ6VckCggEAIpevJpRxdhuw
6O8RIdCsHQiUJlUMYhB3qZUIo9cKR7KARdIQ1ZSdWabIFFGbUqfyNirkEmxXGDmO
vnuOXJt2ysaExePrs5uOXNPjCg9DmplEUjzzNOCTKuFDnD4FZIYfFJqV+NZHhn7T
Yi6kuTDdqHkqLDzTeTFHCoAREEsuvR89/aEKIKztSTM6M8XjNxRq2O/jMprKKpAZ
oa+kj+FNP2tE+Z3VU+vj2OXTZ5lzQkx1A+Uuft9Oxgaz7I2bHh37m3nYOzeKgzoz
8qMFz61dtGXI9Q0pa9GAjiwGREUAhQa86y2M6iyTSXNBZMe7b441ycK817QQz9eI
7TUJBg5YngIhAJGgfWLNZBEIZUxKbuZl2jg+JbCVrLpq0UGKzCia5x4o
-----END DSA PRIVATE KEY-----

View File

@@ -1,15 +1,15 @@
-----BEGIN PRIVATE KEY-----
MIICZQIBADCCAjkGByqGSM44BAEwggIsAoIBAQCAo9NyWkrVMQ4dZGXNh5XWHwvQ
g0lcsfO8TyTOq5g4s3KZ8Jsp6/DxwAjU9BBZIZ7acozOacJLUnsvVwTqE/tl9+Pv
Vfa680kTt7c5qx+eqpFjXMCaW6FsV0/7qIxI/+YzGIbA6vn1kcZIGTvDPhHM8+vc
Bvb4HC2o29SSKaqYY71M0kWBLxlYhK56XR1v9Hwfg0xbnYi9G6QpQbjO3bsAhVrW
fVgs2qXJTOs9a6azXfDHJQShrIAUm3Sk2jOO6Of1pH+7qTeW+bdM4HiJqWKA0dh1
u1N+FxQ39/M4BMPB9TPHtdZ//1OWftwO3+QnxAXi5WGu2WWh55sp8AH0zG6BAiEA
uh6tnHjHHIqHlTAU/aYgyzWNxymsfHrFKmpOmN8G19kCggEATb51YfZezYjLaF2m
B7sYK35zvmOOqyt5u2HbybcM9cIiiqX5lvbV6z2prr1FQ7bJs9m/kgigMUfhY2Fn
i7R6IfQKWslfmHdpNsaCCL6bdcQJ83MCHpkvOumJtnTmArgGq7Q5I0njc6ScrQas
JbDS8qh322s3SKTVh+zplO0zJ1dDmW0XgdFYXJnhRbtXMHs01Pg7lx9vNXHYiAYm
//ECUB6/4TcbvwIX1Lu7VEexvnVhMISRS0gzNk6RyDPaA6lYF1II5X+ehp97/4Sa
lKn1l14he3NIdS62fEsK5qiau6umc3aftb+QSE/S2mEoXkJ42gs4AzoL4jAgMrzs
pDpVyQQjAiEAkaB9Ys1kEQhlTEpu5mXaOD4lsJWsumrRQYrMKJrnHig=
-----END PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIICZQIBADCCAjkGByqGSM44BAEwggIsAoIBAQCAo9NyWkrVMQ4dZGXNh5XWHwvQ
g0lcsfO8TyTOq5g4s3KZ8Jsp6/DxwAjU9BBZIZ7acozOacJLUnsvVwTqE/tl9+Pv
Vfa680kTt7c5qx+eqpFjXMCaW6FsV0/7qIxI/+YzGIbA6vn1kcZIGTvDPhHM8+vc
Bvb4HC2o29SSKaqYY71M0kWBLxlYhK56XR1v9Hwfg0xbnYi9G6QpQbjO3bsAhVrW
fVgs2qXJTOs9a6azXfDHJQShrIAUm3Sk2jOO6Of1pH+7qTeW+bdM4HiJqWKA0dh1
u1N+FxQ39/M4BMPB9TPHtdZ//1OWftwO3+QnxAXi5WGu2WWh55sp8AH0zG6BAiEA
uh6tnHjHHIqHlTAU/aYgyzWNxymsfHrFKmpOmN8G19kCggEATb51YfZezYjLaF2m
B7sYK35zvmOOqyt5u2HbybcM9cIiiqX5lvbV6z2prr1FQ7bJs9m/kgigMUfhY2Fn
i7R6IfQKWslfmHdpNsaCCL6bdcQJ83MCHpkvOumJtnTmArgGq7Q5I0njc6ScrQas
JbDS8qh322s3SKTVh+zplO0zJ1dDmW0XgdFYXJnhRbtXMHs01Pg7lx9vNXHYiAYm
//ECUB6/4TcbvwIX1Lu7VEexvnVhMISRS0gzNk6RyDPaA6lYF1II5X+ehp97/4Sa
lKn1l14he3NIdS62fEsK5qiau6umc3aftb+QSE/S2mEoXkJ42gs4AzoL4jAgMrzs
pDpVyQQjAiEAkaB9Ys1kEQhlTEpu5mXaOD4lsJWsumrRQYrMKJrnHig=
-----END PRIVATE KEY-----

View File

@@ -1,20 +1,20 @@
-----BEGIN PUBLIC KEY-----
MIIDRjCCAjkGByqGSM44BAEwggIsAoIBAQCAo9NyWkrVMQ4dZGXNh5XWHwvQg0lc
sfO8TyTOq5g4s3KZ8Jsp6/DxwAjU9BBZIZ7acozOacJLUnsvVwTqE/tl9+PvVfa6
80kTt7c5qx+eqpFjXMCaW6FsV0/7qIxI/+YzGIbA6vn1kcZIGTvDPhHM8+vcBvb4
HC2o29SSKaqYY71M0kWBLxlYhK56XR1v9Hwfg0xbnYi9G6QpQbjO3bsAhVrWfVgs
2qXJTOs9a6azXfDHJQShrIAUm3Sk2jOO6Of1pH+7qTeW+bdM4HiJqWKA0dh1u1N+
FxQ39/M4BMPB9TPHtdZ//1OWftwO3+QnxAXi5WGu2WWh55sp8AH0zG6BAiEAuh6t
nHjHHIqHlTAU/aYgyzWNxymsfHrFKmpOmN8G19kCggEATb51YfZezYjLaF2mB7sY
K35zvmOOqyt5u2HbybcM9cIiiqX5lvbV6z2prr1FQ7bJs9m/kgigMUfhY2Fni7R6
IfQKWslfmHdpNsaCCL6bdcQJ83MCHpkvOumJtnTmArgGq7Q5I0njc6ScrQasJbDS
8qh322s3SKTVh+zplO0zJ1dDmW0XgdFYXJnhRbtXMHs01Pg7lx9vNXHYiAYm//EC
UB6/4TcbvwIX1Lu7VEexvnVhMISRS0gzNk6RyDPaA6lYF1II5X+ehp97/4SalKn1
l14he3NIdS62fEsK5qiau6umc3aftb+QSE/S2mEoXkJ42gs4AzoL4jAgMrzspDpV
yQOCAQUAAoIBACKXryaUcXYbsOjvESHQrB0IlCZVDGIQd6mVCKPXCkeygEXSENWU
nVmmyBRRm1Kn8jYq5BJsVxg5jr57jlybdsrGhMXj67ObjlzT4woPQ5qZRFI88zTg
kyrhQ5w+BWSGHxSalfjWR4Z+02IupLkw3ah5Kiw803kxRwqAERBLLr0fPf2hCiCs
7UkzOjPF4zcUatjv4zKayiqQGaGvpI/hTT9rRPmd1VPr49jl02eZc0JMdQPlLn7f
TsYGs+yNmx4d+5t52Ds3ioM6M/KjBc+tXbRlyPUNKWvRgI4sBkRFAIUGvOstjOos
k0lzQWTHu2+ONcnCvNe0EM/XiO01CQYOWJ4=
-----END PUBLIC KEY-----
-----BEGIN PUBLIC KEY-----
MIIDRjCCAjkGByqGSM44BAEwggIsAoIBAQCAo9NyWkrVMQ4dZGXNh5XWHwvQg0lc
sfO8TyTOq5g4s3KZ8Jsp6/DxwAjU9BBZIZ7acozOacJLUnsvVwTqE/tl9+PvVfa6
80kTt7c5qx+eqpFjXMCaW6FsV0/7qIxI/+YzGIbA6vn1kcZIGTvDPhHM8+vcBvb4
HC2o29SSKaqYY71M0kWBLxlYhK56XR1v9Hwfg0xbnYi9G6QpQbjO3bsAhVrWfVgs
2qXJTOs9a6azXfDHJQShrIAUm3Sk2jOO6Of1pH+7qTeW+bdM4HiJqWKA0dh1u1N+
FxQ39/M4BMPB9TPHtdZ//1OWftwO3+QnxAXi5WGu2WWh55sp8AH0zG6BAiEAuh6t
nHjHHIqHlTAU/aYgyzWNxymsfHrFKmpOmN8G19kCggEATb51YfZezYjLaF2mB7sY
K35zvmOOqyt5u2HbybcM9cIiiqX5lvbV6z2prr1FQ7bJs9m/kgigMUfhY2Fni7R6
IfQKWslfmHdpNsaCCL6bdcQJ83MCHpkvOumJtnTmArgGq7Q5I0njc6ScrQasJbDS
8qh322s3SKTVh+zplO0zJ1dDmW0XgdFYXJnhRbtXMHs01Pg7lx9vNXHYiAYm//EC
UB6/4TcbvwIX1Lu7VEexvnVhMISRS0gzNk6RyDPaA6lYF1II5X+ehp97/4SalKn1
l14he3NIdS62fEsK5qiau6umc3aftb+QSE/S2mEoXkJ42gs4AzoL4jAgMrzspDpV
yQOCAQUAAoIBACKXryaUcXYbsOjvESHQrB0IlCZVDGIQd6mVCKPXCkeygEXSENWU
nVmmyBRRm1Kn8jYq5BJsVxg5jr57jlybdsrGhMXj67ObjlzT4woPQ5qZRFI88zTg
kyrhQ5w+BWSGHxSalfjWR4Z+02IupLkw3ah5Kiw803kxRwqAERBLLr0fPf2hCiCs
7UkzOjPF4zcUatjv4zKayiqQGaGvpI/hTT9rRPmd1VPr49jl02eZc0JMdQPlLn7f
TsYGs+yNmx4d+5t52Ds3ioM6M/KjBc+tXbRlyPUNKWvRgI4sBkRFAIUGvOstjOos
k0lzQWTHu2+ONcnCvNe0EM/XiO01CQYOWJ4=
-----END PUBLIC KEY-----

View File

@@ -1,27 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAtgbJTdvige33WyEzA7KbQcanKbvKnHmPIbqmjciUXy/U66sZ
7tACprXAJfgviZJain8ecMFLKj/U4sWYDmSwdcv20h8iHF5rzmqBww0n2W0qZGK2
6QGxHQLOHA38K7kepBEPbl0sJI3l6OfX7s6L4G664xMlvmlAGx+AtXZ9ZhrsF1Yp
k/6t88VYhevGwhA8+gtSrbcCNMgk7gZbauWwwjjSJ5rLpGykDU86EOKpZrjFeoa0
b/TP+hqxHICxuDtzTkBX9Ola0jqJ0J0Gh5leJBkn2jDu4JN52Od5kj5NjJRXC7To
H2qcS9QlEkFFJMqE5jdoO7Hq/kA+FdEVnS++kwIDAQABAoIBAH/MofdtQ0nQBtRP
qd6VvtXeoKz3cViNLEYVIyz2v91Y2tgfyFRYbRQZFXBTISUowTLt7zRhMeHW8SPK
cWjhntcFviRmwW9Dh9NkCfklOm44bAQRHrTXgD+LIaSm2P7luTKd28Sz2/NKQTpV
1NCQ6bpIZCRb5CsdAGpKovZE2+QcIMmSMIaa9pgFZIMa/pLL2QBHBGhuu2uUZAeH
571dbNB2tsnELtL2fVInjKRjY7clXA9PKnkq6RhiV8jrhNDeyuV3ldKq93ELA3qS
GsZtC4v5swapuhJpBA4NsltrI5+QBOfUFU4u1w3GolBe+wNvyMHAtVTHFW0U4AII
oJY490kCgYEA6YLKq+gKcZIyBqwfQAZW37wYt8fDD34hk5AFXh7Xb/dSNOrwQnDi
0BrYsxIPRRPgdoQyJuT9+u/SlkQtfIQfq/VWaSHuSBNaUDeQ+bLriXmLK4TZ0+65
Bnx0UJiPHCfiFZC68o0Au5vmlrG1bWzhztNJKXsYIvgG9sUJHZ8eft8CgYEAx46l
xeT+0RpgqOcBE6Ori5YhoAw1MC84sY8TWRQ8Fd02onyDw+LGV5RSP3gzuc/FR5Yw
cjCqAgayPGuPRNL4LaC/uEyMLZQ6Xq0g6tydIPohTMPUfp3enuskXCB4qGmZkTmW
QgxeLQ+/LVdxR5hs7LNM1QpWxYwtjjPUd37Oms0CgYABrLRzYyigA+Jj9dwLg4Af
/qNWvhICDG+FNWU0dZgp72YhhwXOFC0sPOUM87Y0Up4re2s4qC/CGvIxra990xy/
CPVjr6Cb17ewF5XslIHn7H05BKzjPjUJfN8ArPdpxkdyzCTrFGPK9KVEs2WPsVY1
O4Ksz3su1QSHxIX6NmfrlQKBgQCLZFbjPqvHwBcYpBOadk8Td9ERDLXybGm7jWdE
Z9/4ncbWBQe9QqCs+EvjTcFD35+7+2rnuJpoQ+koTzGKL5tvs8N3pvCbvdhv3ZsK
swOGz3GHP5skvn2MoE+Lkpr1eJ3uVT1h8WWvMDqoH1ZfXldnl27puQkXgG0p0YZt
2cPTWQKBgFN0b4B71vSWGzo5LFnlF69tNmjInxVjTxu9i7aCVb/gcFvRRl/EXWvP
suGCuuGOaQ7U5YCTBXx1LPRlUt0MsY96N8RwC07b7O2W4PyeZcXyNtlrnwa0EPSj
hOEMQj6AUm+TgLpUtqb93mj78tnWNX2KnxvLZ8pXjFBxTj+G5Wi4
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAtgbJTdvige33WyEzA7KbQcanKbvKnHmPIbqmjciUXy/U66sZ
7tACprXAJfgviZJain8ecMFLKj/U4sWYDmSwdcv20h8iHF5rzmqBww0n2W0qZGK2
6QGxHQLOHA38K7kepBEPbl0sJI3l6OfX7s6L4G664xMlvmlAGx+AtXZ9ZhrsF1Yp
k/6t88VYhevGwhA8+gtSrbcCNMgk7gZbauWwwjjSJ5rLpGykDU86EOKpZrjFeoa0
b/TP+hqxHICxuDtzTkBX9Ola0jqJ0J0Gh5leJBkn2jDu4JN52Od5kj5NjJRXC7To
H2qcS9QlEkFFJMqE5jdoO7Hq/kA+FdEVnS++kwIDAQABAoIBAH/MofdtQ0nQBtRP
qd6VvtXeoKz3cViNLEYVIyz2v91Y2tgfyFRYbRQZFXBTISUowTLt7zRhMeHW8SPK
cWjhntcFviRmwW9Dh9NkCfklOm44bAQRHrTXgD+LIaSm2P7luTKd28Sz2/NKQTpV
1NCQ6bpIZCRb5CsdAGpKovZE2+QcIMmSMIaa9pgFZIMa/pLL2QBHBGhuu2uUZAeH
571dbNB2tsnELtL2fVInjKRjY7clXA9PKnkq6RhiV8jrhNDeyuV3ldKq93ELA3qS
GsZtC4v5swapuhJpBA4NsltrI5+QBOfUFU4u1w3GolBe+wNvyMHAtVTHFW0U4AII
oJY490kCgYEA6YLKq+gKcZIyBqwfQAZW37wYt8fDD34hk5AFXh7Xb/dSNOrwQnDi
0BrYsxIPRRPgdoQyJuT9+u/SlkQtfIQfq/VWaSHuSBNaUDeQ+bLriXmLK4TZ0+65
Bnx0UJiPHCfiFZC68o0Au5vmlrG1bWzhztNJKXsYIvgG9sUJHZ8eft8CgYEAx46l
xeT+0RpgqOcBE6Ori5YhoAw1MC84sY8TWRQ8Fd02onyDw+LGV5RSP3gzuc/FR5Yw
cjCqAgayPGuPRNL4LaC/uEyMLZQ6Xq0g6tydIPohTMPUfp3enuskXCB4qGmZkTmW
QgxeLQ+/LVdxR5hs7LNM1QpWxYwtjjPUd37Oms0CgYABrLRzYyigA+Jj9dwLg4Af
/qNWvhICDG+FNWU0dZgp72YhhwXOFC0sPOUM87Y0Up4re2s4qC/CGvIxra990xy/
CPVjr6Cb17ewF5XslIHn7H05BKzjPjUJfN8ArPdpxkdyzCTrFGPK9KVEs2WPsVY1
O4Ksz3su1QSHxIX6NmfrlQKBgQCLZFbjPqvHwBcYpBOadk8Td9ERDLXybGm7jWdE
Z9/4ncbWBQe9QqCs+EvjTcFD35+7+2rnuJpoQ+koTzGKL5tvs8N3pvCbvdhv3ZsK
swOGz3GHP5skvn2MoE+Lkpr1eJ3uVT1h8WWvMDqoH1ZfXldnl27puQkXgG0p0YZt
2cPTWQKBgFN0b4B71vSWGzo5LFnlF69tNmjInxVjTxu9i7aCVb/gcFvRRl/EXWvP
suGCuuGOaQ7U5YCTBXx1LPRlUt0MsY96N8RwC07b7O2W4PyeZcXyNtlrnwa0EPSj
hOEMQj6AUm+TgLpUtqb93mj78tnWNX2KnxvLZ8pXjFBxTj+G5Wi4
-----END RSA PRIVATE KEY-----

View File

@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC2BslN2+KB7fdb
ITMDsptBxqcpu8qceY8huqaNyJRfL9Trqxnu0AKmtcAl+C+JklqKfx5wwUsqP9Ti
xZgOZLB1y/bSHyIcXmvOaoHDDSfZbSpkYrbpAbEdAs4cDfwruR6kEQ9uXSwkjeXo
59fuzovgbrrjEyW+aUAbH4C1dn1mGuwXVimT/q3zxViF68bCEDz6C1KttwI0yCTu
Bltq5bDCONInmsukbKQNTzoQ4qlmuMV6hrRv9M/6GrEcgLG4O3NOQFf06VrSOonQ
nQaHmV4kGSfaMO7gk3nY53mSPk2MlFcLtOgfapxL1CUSQUUkyoTmN2g7ser+QD4V
0RWdL76TAgMBAAECggEAf8yh921DSdAG1E+p3pW+1d6grPdxWI0sRhUjLPa/3Vja
2B/IVFhtFBkVcFMhJSjBMu3vNGEx4dbxI8pxaOGe1wW+JGbBb0OH02QJ+SU6bjhs
BBEetNeAP4shpKbY/uW5Mp3bxLPb80pBOlXU0JDpukhkJFvkKx0Aakqi9kTb5Bwg
yZIwhpr2mAVkgxr+ksvZAEcEaG67a5RkB4fnvV1s0Ha2ycQu0vZ9UieMpGNjtyVc
D08qeSrpGGJXyOuE0N7K5XeV0qr3cQsDepIaxm0Li/mzBqm6EmkEDg2yW2sjn5AE
59QVTi7XDcaiUF77A2/IwcC1VMcVbRTgAgigljj3SQKBgQDpgsqr6ApxkjIGrB9A
BlbfvBi3x8MPfiGTkAVeHtdv91I06vBCcOLQGtizEg9FE+B2hDIm5P3679KWRC18
hB+r9VZpIe5IE1pQN5D5suuJeYsrhNnT7rkGfHRQmI8cJ+IVkLryjQC7m+aWsbVt
bOHO00kpexgi+Ab2xQkdnx5+3wKBgQDHjqXF5P7RGmCo5wETo6uLliGgDDUwLzix
jxNZFDwV3TaifIPD4sZXlFI/eDO5z8VHljByMKoCBrI8a49E0vgtoL+4TIwtlDpe
rSDq3J0g+iFMw9R+nd6e6yRcIHioaZmROZZCDF4tD78tV3FHmGzss0zVClbFjC2O
M9R3fs6azQKBgAGstHNjKKAD4mP13AuDgB/+o1a+EgIMb4U1ZTR1mCnvZiGHBc4U
LSw85QzztjRSnit7azioL8Ia8jGtr33THL8I9WOvoJvXt7AXleyUgefsfTkErOM+
NQl83wCs92nGR3LMJOsUY8r0pUSzZY+xVjU7gqzPey7VBIfEhfo2Z+uVAoGBAItk
VuM+q8fAFxikE5p2TxN30REMtfJsabuNZ0Rn3/idxtYFB71CoKz4S+NNwUPfn7v7
aue4mmhD6ShPMYovm2+zw3em8Ju92G/dmwqzA4bPcYc/myS+fYygT4uSmvV4ne5V
PWHxZa8wOqgfVl9eV2eXbum5CReAbSnRhm3Zw9NZAoGAU3RvgHvW9JYbOjksWeUX
r202aMifFWNPG72LtoJVv+BwW9FGX8Rda8+y4YK64Y5pDtTlgJMFfHUs9GVS3Qyx
j3o3xHALTtvs7Zbg/J5lxfI22WufBrQQ9KOE4QxCPoBSb5OAulS2pv3eaPvy2dY1
fYqfG8tnyleMUHFOP4blaLg=
-----END PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC2BslN2+KB7fdb
ITMDsptBxqcpu8qceY8huqaNyJRfL9Trqxnu0AKmtcAl+C+JklqKfx5wwUsqP9Ti
xZgOZLB1y/bSHyIcXmvOaoHDDSfZbSpkYrbpAbEdAs4cDfwruR6kEQ9uXSwkjeXo
59fuzovgbrrjEyW+aUAbH4C1dn1mGuwXVimT/q3zxViF68bCEDz6C1KttwI0yCTu
Bltq5bDCONInmsukbKQNTzoQ4qlmuMV6hrRv9M/6GrEcgLG4O3NOQFf06VrSOonQ
nQaHmV4kGSfaMO7gk3nY53mSPk2MlFcLtOgfapxL1CUSQUUkyoTmN2g7ser+QD4V
0RWdL76TAgMBAAECggEAf8yh921DSdAG1E+p3pW+1d6grPdxWI0sRhUjLPa/3Vja
2B/IVFhtFBkVcFMhJSjBMu3vNGEx4dbxI8pxaOGe1wW+JGbBb0OH02QJ+SU6bjhs
BBEetNeAP4shpKbY/uW5Mp3bxLPb80pBOlXU0JDpukhkJFvkKx0Aakqi9kTb5Bwg
yZIwhpr2mAVkgxr+ksvZAEcEaG67a5RkB4fnvV1s0Ha2ycQu0vZ9UieMpGNjtyVc
D08qeSrpGGJXyOuE0N7K5XeV0qr3cQsDepIaxm0Li/mzBqm6EmkEDg2yW2sjn5AE
59QVTi7XDcaiUF77A2/IwcC1VMcVbRTgAgigljj3SQKBgQDpgsqr6ApxkjIGrB9A
BlbfvBi3x8MPfiGTkAVeHtdv91I06vBCcOLQGtizEg9FE+B2hDIm5P3679KWRC18
hB+r9VZpIe5IE1pQN5D5suuJeYsrhNnT7rkGfHRQmI8cJ+IVkLryjQC7m+aWsbVt
bOHO00kpexgi+Ab2xQkdnx5+3wKBgQDHjqXF5P7RGmCo5wETo6uLliGgDDUwLzix
jxNZFDwV3TaifIPD4sZXlFI/eDO5z8VHljByMKoCBrI8a49E0vgtoL+4TIwtlDpe
rSDq3J0g+iFMw9R+nd6e6yRcIHioaZmROZZCDF4tD78tV3FHmGzss0zVClbFjC2O
M9R3fs6azQKBgAGstHNjKKAD4mP13AuDgB/+o1a+EgIMb4U1ZTR1mCnvZiGHBc4U
LSw85QzztjRSnit7azioL8Ia8jGtr33THL8I9WOvoJvXt7AXleyUgefsfTkErOM+
NQl83wCs92nGR3LMJOsUY8r0pUSzZY+xVjU7gqzPey7VBIfEhfo2Z+uVAoGBAItk
VuM+q8fAFxikE5p2TxN30REMtfJsabuNZ0Rn3/idxtYFB71CoKz4S+NNwUPfn7v7
aue4mmhD6ShPMYovm2+zw3em8Ju92G/dmwqzA4bPcYc/myS+fYygT4uSmvV4ne5V
PWHxZa8wOqgfVl9eV2eXbum5CReAbSnRhm3Zw9NZAoGAU3RvgHvW9JYbOjksWeUX
r202aMifFWNPG72LtoJVv+BwW9FGX8Rda8+y4YK64Y5pDtTlgJMFfHUs9GVS3Qyx
j3o3xHALTtvs7Zbg/J5lxfI22WufBrQQ9KOE4QxCPoBSb5OAulS2pv3eaPvy2dY1
fYqfG8tnyleMUHFOP4blaLg=
-----END PRIVATE KEY-----

View File

@@ -1,9 +1,9 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtgbJTdvige33WyEzA7Kb
QcanKbvKnHmPIbqmjciUXy/U66sZ7tACprXAJfgviZJain8ecMFLKj/U4sWYDmSw
dcv20h8iHF5rzmqBww0n2W0qZGK26QGxHQLOHA38K7kepBEPbl0sJI3l6OfX7s6L
4G664xMlvmlAGx+AtXZ9ZhrsF1Ypk/6t88VYhevGwhA8+gtSrbcCNMgk7gZbauWw
wjjSJ5rLpGykDU86EOKpZrjFeoa0b/TP+hqxHICxuDtzTkBX9Ola0jqJ0J0Gh5le
JBkn2jDu4JN52Od5kj5NjJRXC7ToH2qcS9QlEkFFJMqE5jdoO7Hq/kA+FdEVnS++
kwIDAQAB
-----END PUBLIC KEY-----
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtgbJTdvige33WyEzA7Kb
QcanKbvKnHmPIbqmjciUXy/U66sZ7tACprXAJfgviZJain8ecMFLKj/U4sWYDmSw
dcv20h8iHF5rzmqBww0n2W0qZGK26QGxHQLOHA38K7kepBEPbl0sJI3l6OfX7s6L
4G664xMlvmlAGx+AtXZ9ZhrsF1Ypk/6t88VYhevGwhA8+gtSrbcCNMgk7gZbauWw
wjjSJ5rLpGykDU86EOKpZrjFeoa0b/TP+hqxHICxuDtzTkBX9Ola0jqJ0J0Gh5le
JBkn2jDu4JN52Od5kj5NjJRXC7ToH2qcS9QlEkFFJMqE5jdoO7Hq/kA+FdEVnS++
kwIDAQAB
-----END PUBLIC KEY-----

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,10 @@
<?php
Interface LtSessionStore
{
public function open($save_path, $name);
public function close();
public function read($id);
public function write($id, $data);
public function destroy($id);
public function gc($maxlifetime=0);
}
<?php
Interface LtSessionStore
{
public function open($save_path, $name);
public function close();
public function read($id);
public function write($id, $data);
public function destroy($id);
public function gc($maxlifetime=0);
}

View File

@@ -1,51 +1,51 @@
一、免责申明:
此DEMO仅供参考实际开发中需要结合具体业务场景修改使用。
二、demo的运行环境适用于php5.5以上的开发环境
代码简要说明
wappay文件夹下
buildermodel ---------- 对应的接口的bizcontent业务参数进行封装处理且做了json转换比字符串传参更佳方便。
service->AlipayTradeService.php ---------- 所有接口中使用的方法。
AlipayTradeService.php 文件内方法说明
1、SDK请求方法
aopclientRequestExecute($request,$ispage=false)
$request对应接口请求的对象
$ispage是否为页面跳转请求手机网站支付必须为页面跳转查询退款则可以无需页面跳转
2、手机网站支付接口的方法
wapPay($builder,$return_url,$notify_url)
$builder业务参数使用buildmodel中的对象生成。
$return_url同步跳转地址
$notify_url异步通知地址
3、手机网站查询接口
Query($builder)
$builder业务参数使用buildmodel中的对象生成。
4、手机网站退款接口
Refund($builder)
$builder业务参数使用buildmodel中的对象生成。
5、手机网站关闭接口
Close($builder)
$builder业务参数使用buildmodel中的对象生成。
6、手机网站退款查询接口
refundQuery($builder)
$builder业务参数使用buildmodel中的对象生成。
7、手机网站账单下载接口
downloadurlQuery($builder)
$builder业务参数使用buildmodel中的对象生成。
8、支付宝返回的信息验签
check($arr)
$arr收到的支付宝返回信息数组
9、打印日志
writeLog($text)
一、免责申明:
此DEMO仅供参考实际开发中需要结合具体业务场景修改使用。
二、demo的运行环境适用于php5.5以上的开发环境
代码简要说明
wappay文件夹下
buildermodel ---------- 对应的接口的bizcontent业务参数进行封装处理且做了json转换比字符串传参更佳方便。
service->AlipayTradeService.php ---------- 所有接口中使用的方法。
AlipayTradeService.php 文件内方法说明
1、SDK请求方法
aopclientRequestExecute($request,$ispage=false)
$request对应接口请求的对象
$ispage是否为页面跳转请求手机网站支付必须为页面跳转查询退款则可以无需页面跳转
2、手机网站支付接口的方法
wapPay($builder,$return_url,$notify_url)
$builder业务参数使用buildmodel中的对象生成。
$return_url同步跳转地址
$notify_url异步通知地址
3、手机网站查询接口
Query($builder)
$builder业务参数使用buildmodel中的对象生成。
4、手机网站退款接口
Refund($builder)
$builder业务参数使用buildmodel中的对象生成。
5、手机网站关闭接口
Close($builder)
$builder业务参数使用buildmodel中的对象生成。
6、手机网站退款查询接口
refundQuery($builder)
$builder业务参数使用buildmodel中的对象生成。
7、手机网站账单下载接口
downloadurlQuery($builder)
$builder业务参数使用buildmodel中的对象生成。
8、支付宝返回的信息验签
check($arr)
$arr收到的支付宝返回信息数组
9、打印日志
writeLog($text)
$text要打印的字符串

View File

@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>IapppayCpSyncForPHP_20150901</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>net.sourceforge.phpeclipse.parserbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>net.sourceforge.phpeclipse.phpnature</nature>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>IapppayCpSyncForPHP_20150901</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>net.sourceforge.phpeclipse.parserbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>net.sourceforge.phpeclipse.phpnature</nature>
</natures>
</projectDescription>

View File

@@ -1,2 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -1,222 +1,222 @@
╭──────────────────────────────────────╮
────┤ 银联全渠道支付插件包说明 ├────
╰──────────────────────────────────────╯
  接口名称:银联全渠道支付统一接入接口
    代码版本1.1
开发语言PHP
版 权:银联全渠道
  制 作 者:银联全渠道
联系方式WZ
─────────────────────────────────
───────
代码文件结构
───────
├gbk.func┈┈┈┈┈┈┈┈┈┈工具类文件夹
│ │
│ ├encryptParams.php┈┈┈┈┈┈┈┈┈┈┈ 对卡号cvn2密码cvn2有效期处理类
│ │
│ ├PinBlock.php ┈┈┈┈┈┈┈┈┈┈密码解析类
│ │
│ ├httpClient.php┈┈┈┈┈┈┈┈┈后台交易通信处理类
│ │
│ ├SDKConfig.php ┈┈┈┈┈┈┈┈┈ 配置信息类
│ │
│ ├PublicEncrypte.php ┈┈┈┈┈┈┈┈┈┈ 密码/签名类
│ │
│ └common.php ┈┈┈┈┈┈┈┈报文方法类
│ │
│ └secureUtil.php┈┈┈┈┈┈┈┈签名/验签类
│ │
│ └log.class.php ┈┈┈┈┈┈┈┈日志打印工具类
※注意※
openssl证书需下载使用 其中的php_openssl.dll,ssleay32.dll,libeay32.dll3个文件拷到windows/system32/文件夹下在重启Apache服务
─────────
主要类文件函数说明
─────────
--------------------------------------------------------------------
SDKConfig.php
签名证书路径
const SDK_SIGN_CERT_PATH = '';
签名证书密码
const SDK_SIGN_CERT_PWD = '';
验签证书
const SDK_VERIFY_CERT_PATH = '';
密码加密证书
const SDK_ENCRYPT_CERT_PATH = '';
验签证书路径
const SDK_VERIFY_CERT_DIR = '';
前台请求地址
const SDK_FRONT_TRANS_URL = '';
后台返回结果地址
const SDK_BACK_TRANS_URL = '';
批量交易
const SDK_BATCH_TRANS_URL = '';
批量交易状态查询
const SDK_BATCH_QUERY_URL = '';
单笔查询请求地址
const SDK_SINGLE_QUERY_URL = '';
文件传输请求地址
const SDK_FILE_QUERY_URL = '';
前台通知地址
const SDK_FRONT_NOTIFY_URL = '';
后台通知地址
const SDK_BACK_NOTIFY_URL = '';
文件下载目录
const SDK_FILE_DOWN_PATH = '';
日志 目录
const SDK_LOG_FILE_PATH = '';
日志级别
const SDK_LOG_LEVEL = '';
有卡交易地址
const SDK_Card_Request_Url = '';
App交易地址
const SDK_App_Request_Url = '';
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
common.php
function coverParamsToString($param)
功能:数组 排序后转化为字体串
function coverStringToArray($val )
功能:字符串转换为 数组
function deal_params(&$params)
功能:处理返回报文 解码客户信息 , 如果编码为GBK 则转为utf-8
function deflate_file(&$params)
功能:处理压缩文件
function deal_file($params)
功能:处理报文文件
function create_html($params, $action)
功能:构造自动提交表单
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
HttpClient.php
function sendHttpRequest($params, $url)
功能建立请求以模拟远程HTTP的POST请求方式构造并获取银联的处理结果
function getRequestParamString($params)
功能:组装报文
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
encryptParams.php
function encrypt_params(&$params)
功能:对卡号 | cvn2 | 密码 | cvn2有效期进行处理
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
PinBlock.php
function Pin2PinBlock( &$sPin )
功能密码转pin 验证转换
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
PublicEncrypte.php
function EncryptedPin$sPin, $sCardNo ,$sPubKeyURL
功能证书Id验证密码方法
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
secureUtil.php
function sign(&$params)
功能:签名方法
function verify($params)
功能:验签方法
function getPulbicKeyByCertId($certId)
功能根据证书ID加载证书方法
function getCertId($cert_path)
功能取证书ID方法
function getCertIdByCerPath($cert_path)
功能:取证书类型方法
function getPublicKey($cert_path)
功能:取证书公钥 -验签
function getPrivateKey($cert_path)
功能:返回(签名)证书私钥
function encryptPan($pan)
功能:加密卡号方法
function encryptPin($pan, $pwd)
功能pin加密方法
function encryptCvn2($cvn2)
功能cvn2加密方法
function encryptDate($certDate)
功能:有效期加密方法
╭──────────────────────────────────────╮
────┤ 银联全渠道支付插件包说明 ├────
╰──────────────────────────────────────╯
  接口名称:银联全渠道支付统一接入接口
    代码版本1.1
开发语言PHP
版 权:银联全渠道
  制 作 者:银联全渠道
联系方式WZ
─────────────────────────────────
───────
代码文件结构
───────
├gbk.func┈┈┈┈┈┈┈┈┈┈工具类文件夹
│ │
│ ├encryptParams.php┈┈┈┈┈┈┈┈┈┈┈ 对卡号cvn2密码cvn2有效期处理类
│ │
│ ├PinBlock.php ┈┈┈┈┈┈┈┈┈┈密码解析类
│ │
│ ├httpClient.php┈┈┈┈┈┈┈┈┈后台交易通信处理类
│ │
│ ├SDKConfig.php ┈┈┈┈┈┈┈┈┈ 配置信息类
│ │
│ ├PublicEncrypte.php ┈┈┈┈┈┈┈┈┈┈ 密码/签名类
│ │
│ └common.php ┈┈┈┈┈┈┈┈报文方法类
│ │
│ └secureUtil.php┈┈┈┈┈┈┈┈签名/验签类
│ │
│ └log.class.php ┈┈┈┈┈┈┈┈日志打印工具类
※注意※
openssl证书需下载使用 其中的php_openssl.dll,ssleay32.dll,libeay32.dll3个文件拷到windows/system32/文件夹下在重启Apache服务
─────────
主要类文件函数说明
─────────
--------------------------------------------------------------------
SDKConfig.php
签名证书路径
const SDK_SIGN_CERT_PATH = '';
签名证书密码
const SDK_SIGN_CERT_PWD = '';
验签证书
const SDK_VERIFY_CERT_PATH = '';
密码加密证书
const SDK_ENCRYPT_CERT_PATH = '';
验签证书路径
const SDK_VERIFY_CERT_DIR = '';
前台请求地址
const SDK_FRONT_TRANS_URL = '';
后台返回结果地址
const SDK_BACK_TRANS_URL = '';
批量交易
const SDK_BATCH_TRANS_URL = '';
批量交易状态查询
const SDK_BATCH_QUERY_URL = '';
单笔查询请求地址
const SDK_SINGLE_QUERY_URL = '';
文件传输请求地址
const SDK_FILE_QUERY_URL = '';
前台通知地址
const SDK_FRONT_NOTIFY_URL = '';
后台通知地址
const SDK_BACK_NOTIFY_URL = '';
文件下载目录
const SDK_FILE_DOWN_PATH = '';
日志 目录
const SDK_LOG_FILE_PATH = '';
日志级别
const SDK_LOG_LEVEL = '';
有卡交易地址
const SDK_Card_Request_Url = '';
App交易地址
const SDK_App_Request_Url = '';
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
common.php
function coverParamsToString($param)
功能:数组 排序后转化为字体串
function coverStringToArray($val )
功能:字符串转换为 数组
function deal_params(&$params)
功能:处理返回报文 解码客户信息 , 如果编码为GBK 则转为utf-8
function deflate_file(&$params)
功能:处理压缩文件
function deal_file($params)
功能:处理报文文件
function create_html($params, $action)
功能:构造自动提交表单
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
HttpClient.php
function sendHttpRequest($params, $url)
功能建立请求以模拟远程HTTP的POST请求方式构造并获取银联的处理结果
function getRequestParamString($params)
功能:组装报文
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
encryptParams.php
function encrypt_params(&$params)
功能:对卡号 | cvn2 | 密码 | cvn2有效期进行处理
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
PinBlock.php
function Pin2PinBlock( &$sPin )
功能密码转pin 验证转换
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
PublicEncrypte.php
function EncryptedPin$sPin, $sCardNo ,$sPubKeyURL
功能证书Id验证密码方法
┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉
secureUtil.php
function sign(&$params)
功能:签名方法
function verify($params)
功能:验签方法
function getPulbicKeyByCertId($certId)
功能根据证书ID加载证书方法
function getCertId($cert_path)
功能取证书ID方法
function getCertIdByCerPath($cert_path)
功能:取证书类型方法
function getPublicKey($cert_path)
功能:取证书公钥 -验签
function getPrivateKey($cert_path)
功能:返回(签名)证书私钥
function encryptPan($pan)
功能:加密卡号方法
function encryptPin($pan, $pwd)
功能pin加密方法
function encryptCvn2($cvn2)
功能cvn2加密方法
function encryptDate($certDate)
功能:有效期加密方法

View File

@@ -1,26 +1,26 @@
-----BEGIN CERTIFICATE-----
MIIEYjCCA8ugAwIBAgIDEOVzMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYDVQQGEwJD
TjESMBAGA1UECBMJR3Vhbmdkb25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UE
ChMHVGVuY2VudDEMMAoGA1UECxMDV1hHMRMwEQYDVQQDEwpNbXBheW1jaENBMR8w
HQYJKoZIhvcNAQkBFhBtbXBheW1jaEB0ZW5jZW50MB4XDTE2MDIwMzA0NDAwN1oX
DTI2MDEzMTA0NDAwN1owgZIxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rv
bmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQ4wDAYDVQQL
EwVNTVBheTEnMCUGA1UEAxQe5rGf6KW/5aSp55ub572R57uc5pyJ6ZmQ5YWs5Y+4
MREwDwYDVQQEEwgxMDY4NjEyMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAOw+QLt0FlpT6IxEKR30JSyVIYy9ShS9KMfjNsLOUZLQyNmZhov+E6PdcUTs
6YwylWEOfmFKqIiVZG2zd2xlq7qEu8aD9Fk/xxO7RRJP4vnkmUyNLaK5d+Kxc/77
q8HWZWUyDuCoxEsRuEVez8fkMBbtyqzlysf0V4hrUMdxreIJDqcQbRTCfi4j7D2h
WSb6/xC5xxFC7xr1TdBatCeLaYWiYuMnlUrdC3sXvE+qhFsjxDqM8n+iOVByIQ4R
lOtV8wEKWIRMwgK5WSd4Fetdl+vsRwkdEZwTKli8MDqBTCqJnzYPosXuE0pY8xr6
nBHkq6mrFskyhso+BLb6svHNfHMCAwEAAaOCAUYwggFCMAkGA1UdEwQCMAAwLAYJ
YIZIAYb4QgENBB8WHSJDRVMtQ0EgR2VuZXJhdGUgQ2VydGlmaWNhdGUiMB0GA1Ud
DgQWBBQ8viOAiSWjFdhsowaiKzIiAloafzCBvwYDVR0jBIG3MIG0gBQ+BSb2ImK0
FVuIzWR+sNRip+WGdKGBkKSBjTCBijELMAkGA1UEBhMCQ04xEjAQBgNVBAgTCUd1
YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNVBAoTB1RlbmNlbnQxDDAK
BgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEfMB0GCSqGSIb3DQEJARYQ
bW1wYXltY2hAdGVuY2VudIIJALtUlyu8AOhXMA4GA1UdDwEB/wQEAwIGwDAWBgNV
HSUBAf8EDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOBgQCPgdGBRrVE5Fet
w/Mi8NMMgOcxZGs/xHZKtw/kHaZqWfmEGa4W5+X3juVG6TrYuek+2RwGE6qfLhAG
HtiESs2Pvws1WbUSaFeyjWFzgbcyjMlj/3DS+J2Hq4voRSBruxJ0DaunwTzlwtIn
MaKfGusX4QlLZIa3Ga+37bHKp29HEA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEYjCCA8ugAwIBAgIDEOVzMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYDVQQGEwJD
TjESMBAGA1UECBMJR3Vhbmdkb25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UE
ChMHVGVuY2VudDEMMAoGA1UECxMDV1hHMRMwEQYDVQQDEwpNbXBheW1jaENBMR8w
HQYJKoZIhvcNAQkBFhBtbXBheW1jaEB0ZW5jZW50MB4XDTE2MDIwMzA0NDAwN1oX
DTI2MDEzMTA0NDAwN1owgZIxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rv
bmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQ4wDAYDVQQL
EwVNTVBheTEnMCUGA1UEAxQe5rGf6KW/5aSp55ub572R57uc5pyJ6ZmQ5YWs5Y+4
MREwDwYDVQQEEwgxMDY4NjEyMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAOw+QLt0FlpT6IxEKR30JSyVIYy9ShS9KMfjNsLOUZLQyNmZhov+E6PdcUTs
6YwylWEOfmFKqIiVZG2zd2xlq7qEu8aD9Fk/xxO7RRJP4vnkmUyNLaK5d+Kxc/77
q8HWZWUyDuCoxEsRuEVez8fkMBbtyqzlysf0V4hrUMdxreIJDqcQbRTCfi4j7D2h
WSb6/xC5xxFC7xr1TdBatCeLaYWiYuMnlUrdC3sXvE+qhFsjxDqM8n+iOVByIQ4R
lOtV8wEKWIRMwgK5WSd4Fetdl+vsRwkdEZwTKli8MDqBTCqJnzYPosXuE0pY8xr6
nBHkq6mrFskyhso+BLb6svHNfHMCAwEAAaOCAUYwggFCMAkGA1UdEwQCMAAwLAYJ
YIZIAYb4QgENBB8WHSJDRVMtQ0EgR2VuZXJhdGUgQ2VydGlmaWNhdGUiMB0GA1Ud
DgQWBBQ8viOAiSWjFdhsowaiKzIiAloafzCBvwYDVR0jBIG3MIG0gBQ+BSb2ImK0
FVuIzWR+sNRip+WGdKGBkKSBjTCBijELMAkGA1UEBhMCQ04xEjAQBgNVBAgTCUd1
YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNVBAoTB1RlbmNlbnQxDDAK
BgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEfMB0GCSqGSIb3DQEJARYQ
bW1wYXltY2hAdGVuY2VudIIJALtUlyu8AOhXMA4GA1UdDwEB/wQEAwIGwDAWBgNV
HSUBAf8EDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOBgQCPgdGBRrVE5Fet
w/Mi8NMMgOcxZGs/xHZKtw/kHaZqWfmEGa4W5+X3juVG6TrYuek+2RwGE6qfLhAG
HtiESs2Pvws1WbUSaFeyjWFzgbcyjMlj/3DS+J2Hq4voRSBruxJ0DaunwTzlwtIn
MaKfGusX4QlLZIa3Ga+37bHKp29HEA==
-----END CERTIFICATE-----

View File

@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEugIBADANBgkqhkiG9w0BAQEFAASCBKQwggSgAgEAAoIBAQDsPkC7dBZaU+iM
RCkd9CUslSGMvUoUvSjH4zbCzlGS0MjZmYaL/hOj3XFE7OmMMpVhDn5hSqiIlWRt
s3dsZau6hLvGg/RZP8cTu0UST+L55JlMjS2iuXfisXP++6vB1mVlMg7gqMRLEbhF
Xs/H5DAW7cqs5crH9FeIa1DHca3iCQ6nEG0Uwn4uI+w9oVkm+v8QuccRQu8a9U3Q
WrQni2mFomLjJ5VK3Qt7F7xPqoRbI8Q6jPJ/ojlQciEOEZTrVfMBCliETMICuVkn
eBXrXZfr7EcJHRGcEypYvDA6gUwqiZ82D6LF7hNKWPMa+pwR5KupqxbJMobKPgS2
+rLxzXxzAgMBAAECggEALiMOQ02tm+BtNw+MtCPdKrLJRZImKJy0nSz7odnnRnPt
9cks5KQvM75og5x9E/tA/x50gg2xklMStPXqqcnFWvzXKzLUAqYY+/qDx8rAOitx
4OhldDUie6xKSg7egVGcpcG79BYhl8OTKEEW9SPUXHX+MfwCuUA35BWJRhomalEY
csgdCV+g95zcSGHAJAg4Hd1cl/FLVujMyIogdhXtR3lJvfLGNS95fSnELfPG45RR
38d1NPdV28zv7y/nMnypnJ5ccp3vl3TYl8OsSNttLkchFVpuB4p2/3Ze3fe3LtAU
luAJ5xpU790LyaFm7CDo1kcSMasRZgLTecfqJRa/8QKBgQD4dIPFLKKE4fusdVr3
EbwwF4Lco8n9Osv3RYgvcjXNlP54iv2APOUiNGpf/nKtVuQDhrzYrbRpQ9h1gImH
JRj/xmw8nCMa77fZX6MxUopJ+f0f2Eeogei8GR+4QgD0/buZZA0IFTmSPx3Uqqky
DN+7BbEOU2kNbBACqbairX2fqQKBgQDzas127uRh4X4JtpfHb2zZX2SXEzUnZU8g
jR/TDNp+AnhoXpg1LYmHdKfac+bWNZvUs7TMi6cSF3cXvSNwMbqyraWrFBk1CZir
gwVbE1xau2I8H2wI4BJCC+ZZCqGPY4s1n/5jbFCnzZEDORwjkEDnxq5l0AdgqhTG
vCv2kJR8uwKBgEVgY5sfR5JLd/dEHc53yVC0f/oUUka/sEyvwcNd5OAvBo+qX/b7
ChBvCnUbm/IDHVBOw1TNzF7Ibx0Ac2alWUGyqm6SOss+vNuZ9PvEzJCzmZbW0cuf
2tkLOuw8of/HCide5LSpGJZZwX6s2On85kxW3oXdjKwOzLmxoinyv+1hAoGACv9r
UxFODkIS4Lt4NhGJuHR/5fd/Mk14er8FjhKJmKHh8M09UUHCcfVKVCtiZZE8fiq0
Y313yfB3eAIapMoKZmJEFuusi+HoHO+pgUjppkvLD25YAjqleIhzGtjJHeJgesbE
xpcxObOm9p9Q7yZoWFB4tq7kdnCYybXcwqIbo1sCf0HF5pBw9vqB94Pm5QkkEz/l
i7vFKDGciivLV5GpINAZ7Bp6FVzUEyLBtWO50KyLwL/VHIiPJG2p3appShNnKyPN
Ve9NuFqSSFfKygSvHne4uceuY/wW9wDK6io5KPhGHjdE3K4fpXR/xU417wk0sQCo
X6obKKFmExUdyqWiNrs=
-----END PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEugIBADANBgkqhkiG9w0BAQEFAASCBKQwggSgAgEAAoIBAQDsPkC7dBZaU+iM
RCkd9CUslSGMvUoUvSjH4zbCzlGS0MjZmYaL/hOj3XFE7OmMMpVhDn5hSqiIlWRt
s3dsZau6hLvGg/RZP8cTu0UST+L55JlMjS2iuXfisXP++6vB1mVlMg7gqMRLEbhF
Xs/H5DAW7cqs5crH9FeIa1DHca3iCQ6nEG0Uwn4uI+w9oVkm+v8QuccRQu8a9U3Q
WrQni2mFomLjJ5VK3Qt7F7xPqoRbI8Q6jPJ/ojlQciEOEZTrVfMBCliETMICuVkn
eBXrXZfr7EcJHRGcEypYvDA6gUwqiZ82D6LF7hNKWPMa+pwR5KupqxbJMobKPgS2
+rLxzXxzAgMBAAECggEALiMOQ02tm+BtNw+MtCPdKrLJRZImKJy0nSz7odnnRnPt
9cks5KQvM75og5x9E/tA/x50gg2xklMStPXqqcnFWvzXKzLUAqYY+/qDx8rAOitx
4OhldDUie6xKSg7egVGcpcG79BYhl8OTKEEW9SPUXHX+MfwCuUA35BWJRhomalEY
csgdCV+g95zcSGHAJAg4Hd1cl/FLVujMyIogdhXtR3lJvfLGNS95fSnELfPG45RR
38d1NPdV28zv7y/nMnypnJ5ccp3vl3TYl8OsSNttLkchFVpuB4p2/3Ze3fe3LtAU
luAJ5xpU790LyaFm7CDo1kcSMasRZgLTecfqJRa/8QKBgQD4dIPFLKKE4fusdVr3
EbwwF4Lco8n9Osv3RYgvcjXNlP54iv2APOUiNGpf/nKtVuQDhrzYrbRpQ9h1gImH
JRj/xmw8nCMa77fZX6MxUopJ+f0f2Eeogei8GR+4QgD0/buZZA0IFTmSPx3Uqqky
DN+7BbEOU2kNbBACqbairX2fqQKBgQDzas127uRh4X4JtpfHb2zZX2SXEzUnZU8g
jR/TDNp+AnhoXpg1LYmHdKfac+bWNZvUs7TMi6cSF3cXvSNwMbqyraWrFBk1CZir
gwVbE1xau2I8H2wI4BJCC+ZZCqGPY4s1n/5jbFCnzZEDORwjkEDnxq5l0AdgqhTG
vCv2kJR8uwKBgEVgY5sfR5JLd/dEHc53yVC0f/oUUka/sEyvwcNd5OAvBo+qX/b7
ChBvCnUbm/IDHVBOw1TNzF7Ibx0Ac2alWUGyqm6SOss+vNuZ9PvEzJCzmZbW0cuf
2tkLOuw8of/HCide5LSpGJZZwX6s2On85kxW3oXdjKwOzLmxoinyv+1hAoGACv9r
UxFODkIS4Lt4NhGJuHR/5fd/Mk14er8FjhKJmKHh8M09UUHCcfVKVCtiZZE8fiq0
Y313yfB3eAIapMoKZmJEFuusi+HoHO+pgUjppkvLD25YAjqleIhzGtjJHeJgesbE
xpcxObOm9p9Q7yZoWFB4tq7kdnCYybXcwqIbo1sCf0HF5pBw9vqB94Pm5QkkEz/l
i7vFKDGciivLV5GpINAZ7Bp6FVzUEyLBtWO50KyLwL/VHIiPJG2p3appShNnKyPN
Ve9NuFqSSFfKygSvHne4uceuY/wW9wDK6io5KPhGHjdE3K4fpXR/xU417wk0sQCo
X6obKKFmExUdyqWiNrs=
-----END PRIVATE KEY-----

View File

@@ -1,19 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
-----END CERTIFICATE-----

View File

@@ -1,20 +1,20 @@
欢迎使用微信支付!
微信支付API共四份证书pkcs12格式、证书pem格式、证书密钥pem格式、CA证书,为接口中强制要求时需携带的证书文件。
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
不同开发语言下的证书格式不同,以下为说明指引:
证书pkcs12格式apiclient_cert.p12
包含了私钥信息的证书文件为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
部分安全性要求较高的API需要使用该证书来确认您的调用身份
windows上可以直接双击导入系统导入过程中会提示输入证书密码证书密码默认为您的商户ID10010000
证书pem格式apiclient_cert.pem
从apiclient_cert.p12中导出证书部分的文件为pem格式请妥善保管不要泄漏和被他人复制
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
证书密钥pem格式apiclient_key.pem
从apiclient_cert.p12中导出密钥部分的文件为pem格式
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
CA证书rootca.pem
微信支付api服务器上也部署了证明微信支付身份的服务器证书您在使用api进行调用时也需要验证所调用服务器及域名的真实性
该文件为签署微信支付证书的权威机构的根证书,可以用来验证微信支付服务器证书的真实性
欢迎使用微信支付!
微信支付API共四份证书pkcs12格式、证书pem格式、证书密钥pem格式、CA证书,为接口中强制要求时需携带的证书文件。
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
不同开发语言下的证书格式不同,以下为说明指引:
证书pkcs12格式apiclient_cert.p12
包含了私钥信息的证书文件为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
部分安全性要求较高的API需要使用该证书来确认您的调用身份
windows上可以直接双击导入系统导入过程中会提示输入证书密码证书密码默认为您的商户ID10010000
证书pem格式apiclient_cert.pem
从apiclient_cert.p12中导出证书部分的文件为pem格式请妥善保管不要泄漏和被他人复制
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
证书密钥pem格式apiclient_key.pem
从apiclient_cert.p12中导出密钥部分的文件为pem格式
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
CA证书rootca.pem
微信支付api服务器上也部署了证明微信支付身份的服务器证书您在使用api进行调用时也需要验证所调用服务器及域名的真实性
该文件为签署微信支付证书的权威机构的根证书,可以用来验证微信支付服务器证书的真实性
某些环境和工具已经内置了若干权威机构的根证书,无需引用该证书也可以正常进行验证,这里提供给您在未内置所必须根证书的环境中载入使用

View File

@@ -1,26 +1,26 @@
-----BEGIN CERTIFICATE-----
MIIEazCCA9SgAwIBAgIDFIzzMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYDVQQGEwJD
TjESMBAGA1UECBMJR3Vhbmdkb25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UE
ChMHVGVuY2VudDEMMAoGA1UECxMDV1hHMRMwEQYDVQQDEwpNbXBheW1jaENBMR8w
HQYJKoZIhvcNAQkBFhBtbXBheW1jaEB0ZW5jZW50MB4XDTE2MDMwNzA5MTAxOVoX
DTI2MDMwNTA5MTAxOVowgZsxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rv
bmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQ4wDAYDVQQL
EwVNTVBheTEwMC4GA1UEAxQn5Y2X5piM5biC57qs5bqm5paH5YyW5Lyg5aqS5pyJ
6ZmQ5YWs5Y+4MREwDwYDVQQEEwgxMTQ5OTYzODCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAKnCWH1h9+C1ql7MxGqz3h2AA1fDIKmDu7sETB5gmPY8bu1t
1GaxiZb5771jEWMa14/cjUtvTaRgCb0fwANIaP+eeovEC2alZLxytTAgLgsiToxt
8Q6NP4xQBfYmyL3bswggnr1EKIC2Kr8HMcxFb04xJVAx0h4RHqZYd/0q/t1vV1re
yv2VZR+g+E7SGhO2GiKHn9C74QZWU5qe4PDblwLjqYZbxOQslF433zY7DkTrAg7m
wxNxKBXRH3ddvVdVWH0uq1pbuZ9oYJsjhuWARr1BlmUhwXGeXiTiIkSBbO8cxauX
XtsthCjKnn1zHHUcNWKb6n4AS/pqaTALBI4xEZ8CAwEAAaOCAUYwggFCMAkGA1Ud
EwQCMAAwLAYJYIZIAYb4QgENBB8WHSJDRVMtQ0EgR2VuZXJhdGUgQ2VydGlmaWNh
dGUiMB0GA1UdDgQWBBQQMIGcrddYlWvqyEDH28EqxguTATCBvwYDVR0jBIG3MIG0
gBQ+BSb2ImK0FVuIzWR+sNRip+WGdKGBkKSBjTCBijELMAkGA1UEBhMCQ04xEjAQ
BgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNVBAoTB1Rl
bmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEfMB0GCSqG
SIb3DQEJARYQbW1wYXltY2hAdGVuY2VudIIJALtUlyu8AOhXMA4GA1UdDwEB/wQE
AwIGwDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOBgQAU
kvUtbEqjnzI+96Q2i+CqouD5b1VaRppaRFfbuE9oBNwouS3Im/EtIBI+LV4pQmYM
x64fdPZp7sxseOciX1qAruoYSB7mjSdiqB3vbk6hJ62viA2jqzXO4ol+ghKC5nmO
lJIBZaHJZB8jXkxIbeMlLu8EiJMi/VyL6dlGk82fLg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEazCCA9SgAwIBAgIDFIzzMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYDVQQGEwJD
TjESMBAGA1UECBMJR3Vhbmdkb25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UE
ChMHVGVuY2VudDEMMAoGA1UECxMDV1hHMRMwEQYDVQQDEwpNbXBheW1jaENBMR8w
HQYJKoZIhvcNAQkBFhBtbXBheW1jaEB0ZW5jZW50MB4XDTE2MDMwNzA5MTAxOVoX
DTI2MDMwNTA5MTAxOVowgZsxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rv
bmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQ4wDAYDVQQL
EwVNTVBheTEwMC4GA1UEAxQn5Y2X5piM5biC57qs5bqm5paH5YyW5Lyg5aqS5pyJ
6ZmQ5YWs5Y+4MREwDwYDVQQEEwgxMTQ5OTYzODCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAKnCWH1h9+C1ql7MxGqz3h2AA1fDIKmDu7sETB5gmPY8bu1t
1GaxiZb5771jEWMa14/cjUtvTaRgCb0fwANIaP+eeovEC2alZLxytTAgLgsiToxt
8Q6NP4xQBfYmyL3bswggnr1EKIC2Kr8HMcxFb04xJVAx0h4RHqZYd/0q/t1vV1re
yv2VZR+g+E7SGhO2GiKHn9C74QZWU5qe4PDblwLjqYZbxOQslF433zY7DkTrAg7m
wxNxKBXRH3ddvVdVWH0uq1pbuZ9oYJsjhuWARr1BlmUhwXGeXiTiIkSBbO8cxauX
XtsthCjKnn1zHHUcNWKb6n4AS/pqaTALBI4xEZ8CAwEAAaOCAUYwggFCMAkGA1Ud
EwQCMAAwLAYJYIZIAYb4QgENBB8WHSJDRVMtQ0EgR2VuZXJhdGUgQ2VydGlmaWNh
dGUiMB0GA1UdDgQWBBQQMIGcrddYlWvqyEDH28EqxguTATCBvwYDVR0jBIG3MIG0
gBQ+BSb2ImK0FVuIzWR+sNRip+WGdKGBkKSBjTCBijELMAkGA1UEBhMCQ04xEjAQ
BgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNVBAoTB1Rl
bmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEfMB0GCSqG
SIb3DQEJARYQbW1wYXltY2hAdGVuY2VudIIJALtUlyu8AOhXMA4GA1UdDwEB/wQE
AwIGwDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOBgQAU
kvUtbEqjnzI+96Q2i+CqouD5b1VaRppaRFfbuE9oBNwouS3Im/EtIBI+LV4pQmYM
x64fdPZp7sxseOciX1qAruoYSB7mjSdiqB3vbk6hJ62viA2jqzXO4ol+ghKC5nmO
lJIBZaHJZB8jXkxIbeMlLu8EiJMi/VyL6dlGk82fLg==
-----END CERTIFICATE-----

View File

@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCpwlh9Yffgtape
zMRqs94dgANXwyCpg7u7BEweYJj2PG7tbdRmsYmW+e+9YxFjGteP3I1Lb02kYAm9
H8ADSGj/nnqLxAtmpWS8crUwIC4LIk6MbfEOjT+MUAX2Jsi927MIIJ69RCiAtiq/
BzHMRW9OMSVQMdIeER6mWHf9Kv7db1da3sr9lWUfoPhO0hoTthoih5/Qu+EGVlOa
nuDw25cC46mGW8TkLJReN982Ow5E6wIO5sMTcSgV0R93Xb1XVVh9LqtaW7mfaGCb
I4blgEa9QZZlIcFxnl4k4iJEgWzvHMWrl17bLYQoyp59cxx1HDVim+p+AEv6amkw
CwSOMRGfAgMBAAECggEATNaK9zXA3RVdaEuHHEUN5Ixs9ux7fD8EWkI3sghHNC1m
iFGOMm1pucynlzGgTRt5NsS9r8dRfXV68v/MCbBc1lcFYP37qxpx3lqNaJsoPCHr
K+UXl16XxQrzp9cmRcmL38HkGAchziCmeJDpGWzUVLAqE4J5eOKG3QRuS0mK0u81
5lU9X29CYab05jrm/4lhQUijR6ubt8XRz6Gpskzf3hvMpiScHSEK8qCRfa6IV9z4
G6cjwAM9kd8IT8lxCEvA2AQIHBtmwYcSBqfD2o40SBUVqwMlaH+4KtR+5y/VJ7H1
lF3oogknpWGRgMqSIq2jA7Z3nAZY3SmCihG9C7NaAQKBgQDXwoBBn5y8ZfDYK16X
qiFG78zbi0Bmni8wmyPX4jcvSjA69GWJvx1XBXFFle/sDP74p+6Wv5suZTx93jMI
yaMs67vRzA7neLzFsT8R/QZb93bdvXPDPwORqGE5i9NnXPGzqPXh/UCkLW1u+4Lz
5iqeUj5L+RTP48rBJgO8rFPkCQKBgQDJa4kIf43FBhqHTvK0cgA+iEDw3linHZOV
sfzjU8N0VH4KTrTDABQkC+dtdKj52Ax8WSr93vXBK8bxR9KacQDL/AESKtown8j8
R5Bp13mDS+y1VxphynK/99ZvP5g8mZArFhHpHzi8O1qArZrwG4LNCp9itYqmCMuR
gFNwf/ZCZwKBgDMzNLxd5BPRHRYvNINJHBx5S2PN57pyT0B5kEfqpq3SLR/QX0gQ
0iWUZQzeR9D8RIU9VKDxVyHrZC96SyIKt24xgqCGjALh4+oF5bGfGaM5VjvIeXAb
w/0MuAWv6Lrek3zO24qFTpGnNhDgHnNCa1qmqaHdudKbe8HaA4kCW+YBAoGAVci+
7CenMaqP0eEF7WRARmGxhuSrzUEDglXz5r3eGMWDiNBMnGCEM3X+ctekwAQMDUnM
zaMP9921NT3prG1EcZw6uIoXs23aI9g24V0sG4dSoUkfq1aV2LytT2Q+alDc3fzg
U/FAMKr2uKc3vdt5seo8R8YZ7u0ABlApOVjGgTECgYAf7HvCi4SPe7vkaWA3XkYK
LQ1TFgKlcXHXdQA/EkvQ2bXiEDIvB+3jpYN9OUgzVA8AmA7V5ExLhz+QMBIwZQjN
xejgan72hzn01MCd3Ldg8KWfQ4Wvey8S4AHNYi1tj/0xOV1hUROIZFtdMVWxjQ6K
DyE+u6fwkPfMD9qNi/v7Nw==
-----END PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCpwlh9Yffgtape
zMRqs94dgANXwyCpg7u7BEweYJj2PG7tbdRmsYmW+e+9YxFjGteP3I1Lb02kYAm9
H8ADSGj/nnqLxAtmpWS8crUwIC4LIk6MbfEOjT+MUAX2Jsi927MIIJ69RCiAtiq/
BzHMRW9OMSVQMdIeER6mWHf9Kv7db1da3sr9lWUfoPhO0hoTthoih5/Qu+EGVlOa
nuDw25cC46mGW8TkLJReN982Ow5E6wIO5sMTcSgV0R93Xb1XVVh9LqtaW7mfaGCb
I4blgEa9QZZlIcFxnl4k4iJEgWzvHMWrl17bLYQoyp59cxx1HDVim+p+AEv6amkw
CwSOMRGfAgMBAAECggEATNaK9zXA3RVdaEuHHEUN5Ixs9ux7fD8EWkI3sghHNC1m
iFGOMm1pucynlzGgTRt5NsS9r8dRfXV68v/MCbBc1lcFYP37qxpx3lqNaJsoPCHr
K+UXl16XxQrzp9cmRcmL38HkGAchziCmeJDpGWzUVLAqE4J5eOKG3QRuS0mK0u81
5lU9X29CYab05jrm/4lhQUijR6ubt8XRz6Gpskzf3hvMpiScHSEK8qCRfa6IV9z4
G6cjwAM9kd8IT8lxCEvA2AQIHBtmwYcSBqfD2o40SBUVqwMlaH+4KtR+5y/VJ7H1
lF3oogknpWGRgMqSIq2jA7Z3nAZY3SmCihG9C7NaAQKBgQDXwoBBn5y8ZfDYK16X
qiFG78zbi0Bmni8wmyPX4jcvSjA69GWJvx1XBXFFle/sDP74p+6Wv5suZTx93jMI
yaMs67vRzA7neLzFsT8R/QZb93bdvXPDPwORqGE5i9NnXPGzqPXh/UCkLW1u+4Lz
5iqeUj5L+RTP48rBJgO8rFPkCQKBgQDJa4kIf43FBhqHTvK0cgA+iEDw3linHZOV
sfzjU8N0VH4KTrTDABQkC+dtdKj52Ax8WSr93vXBK8bxR9KacQDL/AESKtown8j8
R5Bp13mDS+y1VxphynK/99ZvP5g8mZArFhHpHzi8O1qArZrwG4LNCp9itYqmCMuR
gFNwf/ZCZwKBgDMzNLxd5BPRHRYvNINJHBx5S2PN57pyT0B5kEfqpq3SLR/QX0gQ
0iWUZQzeR9D8RIU9VKDxVyHrZC96SyIKt24xgqCGjALh4+oF5bGfGaM5VjvIeXAb
w/0MuAWv6Lrek3zO24qFTpGnNhDgHnNCa1qmqaHdudKbe8HaA4kCW+YBAoGAVci+
7CenMaqP0eEF7WRARmGxhuSrzUEDglXz5r3eGMWDiNBMnGCEM3X+ctekwAQMDUnM
zaMP9921NT3prG1EcZw6uIoXs23aI9g24V0sG4dSoUkfq1aV2LytT2Q+alDc3fzg
U/FAMKr2uKc3vdt5seo8R8YZ7u0ABlApOVjGgTECgYAf7HvCi4SPe7vkaWA3XkYK
LQ1TFgKlcXHXdQA/EkvQ2bXiEDIvB+3jpYN9OUgzVA8AmA7V5ExLhz+QMBIwZQjN
xejgan72hzn01MCd3Ldg8KWfQ4Wvey8S4AHNYi1tj/0xOV1hUROIZFtdMVWxjQ6K
DyE+u6fwkPfMD9qNi/v7Nw==
-----END PRIVATE KEY-----

View File

@@ -1,26 +1,26 @@
-----BEGIN CERTIFICATE-----
MIIEYjCCA8ugAwIBAgIDI9viMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYDVQQGEwJD
TjESMBAGA1UECBMJR3Vhbmdkb25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UE
ChMHVGVuY2VudDEMMAoGA1UECxMDV1hHMRMwEQYDVQQDEwpNbXBheW1jaENBMR8w
HQYJKoZIhvcNAQkBFhBtbXBheW1jaEB0ZW5jZW50MB4XDTE2MDUwNjA1MTAwNloX
DTI2MDUwNDA1MTAwNlowgZIxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rv
bmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQ4wDAYDVQQL
EwVNTVBheTEnMCUGA1UEAxQe5rGf6KW/5LqR5a6256eR5oqA5pyJ6ZmQ5YWs5Y+4
MREwDwYDVQQEEwgxMjA0MjQ0NzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAKMJHRRqSqelvD7BJ/EsWXNkJEmOJW+dsB0/Zc4phMK+oh06FdNr57Ekk2Ga
5vo4fLIw0VEXN49P4XKZRhVKwupVGocIe97/ovt2vzg8uqD4H/Go9Dxc3bphGkzo
0s0ps5Gy5TW0zOVwotBxDwd7tMs2++JzJ2ZcnesqNfYiHYsTb+ljIAYP0bCaYGNi
3NDbaykV9f1BkfgddV1LPn1XGRsOQFMcsjhRGP8TFGs0aLU5Rhm0jimmF4yvZwS7
81Ah8wBquTCwy9+qrW+SCHmMFpftPmcKWTqhb683GX99l1+wKhWhTvab1UH5eQPR
U+mk2Hak1kSFapTY1ojvlWerB/sCAwEAAaOCAUYwggFCMAkGA1UdEwQCMAAwLAYJ
YIZIAYb4QgENBB8WHSJDRVMtQ0EgR2VuZXJhdGUgQ2VydGlmaWNhdGUiMB0GA1Ud
DgQWBBQG9ruoebdmJpnT3uFhkzVHdpEtUDCBvwYDVR0jBIG3MIG0gBQ+BSb2ImK0
FVuIzWR+sNRip+WGdKGBkKSBjTCBijELMAkGA1UEBhMCQ04xEjAQBgNVBAgTCUd1
YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNVBAoTB1RlbmNlbnQxDDAK
BgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEfMB0GCSqGSIb3DQEJARYQ
bW1wYXltY2hAdGVuY2VudIIJALtUlyu8AOhXMA4GA1UdDwEB/wQEAwIGwDAWBgNV
HSUBAf8EDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOBgQBX1xDB9Og/B9lQ
roNlzQcm/LEhRZ1YIgDY8SkuXRBcXRcxpUY45oI8XrpCYEGAfjIxuSC8v1kgduSR
Moy/06aaKT4AGO8z6q2jhBAywKEWGqqkPgiGe/meuba5z/0rSp32dC7upMVW4hlC
F9udaeeGcWiq4qi34nDvg10GgtIZEQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEYjCCA8ugAwIBAgIDI9viMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYDVQQGEwJD
TjESMBAGA1UECBMJR3Vhbmdkb25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UE
ChMHVGVuY2VudDEMMAoGA1UECxMDV1hHMRMwEQYDVQQDEwpNbXBheW1jaENBMR8w
HQYJKoZIhvcNAQkBFhBtbXBheW1jaEB0ZW5jZW50MB4XDTE2MDUwNjA1MTAwNloX
DTI2MDUwNDA1MTAwNlowgZIxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rv
bmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQ4wDAYDVQQL
EwVNTVBheTEnMCUGA1UEAxQe5rGf6KW/5LqR5a6256eR5oqA5pyJ6ZmQ5YWs5Y+4
MREwDwYDVQQEEwgxMjA0MjQ0NzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAKMJHRRqSqelvD7BJ/EsWXNkJEmOJW+dsB0/Zc4phMK+oh06FdNr57Ekk2Ga
5vo4fLIw0VEXN49P4XKZRhVKwupVGocIe97/ovt2vzg8uqD4H/Go9Dxc3bphGkzo
0s0ps5Gy5TW0zOVwotBxDwd7tMs2++JzJ2ZcnesqNfYiHYsTb+ljIAYP0bCaYGNi
3NDbaykV9f1BkfgddV1LPn1XGRsOQFMcsjhRGP8TFGs0aLU5Rhm0jimmF4yvZwS7
81Ah8wBquTCwy9+qrW+SCHmMFpftPmcKWTqhb683GX99l1+wKhWhTvab1UH5eQPR
U+mk2Hak1kSFapTY1ojvlWerB/sCAwEAAaOCAUYwggFCMAkGA1UdEwQCMAAwLAYJ
YIZIAYb4QgENBB8WHSJDRVMtQ0EgR2VuZXJhdGUgQ2VydGlmaWNhdGUiMB0GA1Ud
DgQWBBQG9ruoebdmJpnT3uFhkzVHdpEtUDCBvwYDVR0jBIG3MIG0gBQ+BSb2ImK0
FVuIzWR+sNRip+WGdKGBkKSBjTCBijELMAkGA1UEBhMCQ04xEjAQBgNVBAgTCUd1
YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNVBAoTB1RlbmNlbnQxDDAK
BgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEfMB0GCSqGSIb3DQEJARYQ
bW1wYXltY2hAdGVuY2VudIIJALtUlyu8AOhXMA4GA1UdDwEB/wQEAwIGwDAWBgNV
HSUBAf8EDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOBgQBX1xDB9Og/B9lQ
roNlzQcm/LEhRZ1YIgDY8SkuXRBcXRcxpUY45oI8XrpCYEGAfjIxuSC8v1kgduSR
Moy/06aaKT4AGO8z6q2jhBAywKEWGqqkPgiGe/meuba5z/0rSp32dC7upMVW4hlC
F9udaeeGcWiq4qi34nDvg10GgtIZEQ==
-----END CERTIFICATE-----

View File

@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCjCR0Uakqnpbw+
wSfxLFlzZCRJjiVvnbAdP2XOKYTCvqIdOhXTa+exJJNhmub6OHyyMNFRFzePT+Fy
mUYVSsLqVRqHCHve/6L7dr84PLqg+B/xqPQ8XN26YRpM6NLNKbORsuU1tMzlcKLQ
cQ8He7TLNvvicydmXJ3rKjX2Ih2LE2/pYyAGD9GwmmBjYtzQ22spFfX9QZH4HXVd
Sz59VxkbDkBTHLI4URj/ExRrNGi1OUYZtI4ppheMr2cEu/NQIfMAarkwsMvfqq1v
kgh5jBaX7T5nClk6oW+vNxl/fZdfsCoVoU72m9VB+XkD0VPppNh2pNZEhWqU2NaI
75Vnqwf7AgMBAAECggEAG1ZS3vJ3tCaxKuCefu0NzrBy+TZxhoatWiogOvJxRWpL
qpTrxfio7+YPJGWh50EDf6l535wB//DH/7w9qSJRDpPYj93XT2wT+xBNPfPI42bX
jGDlGx4DO9Y+X7kGZ8pfRsX1cwzu8mXxlvvuJjYS+aQtliny6FINVLpONAhCZehG
3G8GY3Gc7lOR0oNOOO13inL+BxJtsoqWfzXqXXT6hXuiXdBJ9fgQ35wpQwO9nxo2
3BKuJD0z2z06bZS0Y+Vq4oy/SkhSV6lxpWWZxMkagrghqq4VpfDKC3bGpzDeHhFi
hW02Lq12zpFcavc6PlFMuE9cgu/CGClzF+54nc7FMQKBgQDWB6cMcFIBc/3MhvuZ
NKCNpu9QvI0ta5I+WxaLaDGeyOOqboV+K1hSezoXnWBCYEsHvr/QRLbZtKuIrXud
1obSbimPAf+oDleUQAC7b5xTQWhs0KsyPJ3oeV7N1Ihk+/X2eKYwLCRa5GAdbmor
Sws07VssbRY2KwgaePIV2UZw0wKBgQDDAYlRkJHYWF5rmn72WvA8uKDAjd+uoYzY
Pr4b/8yany3rnKMi2imbippHEVE2FWIGk/LleeGcdkNVquGFDgeHWqfPj2cdJ8f3
pKvC6F63EKmSIidT0C4pBMOtBczXR8Kq6qH/sXpy1xtxbXtZ+Jp0C3bKwHtFd8fC
e7ifWUrTOQKBgCbWNKW5K+g/l+opBDaEqi2KARrxW9zGDD9sX+bj/T0Gzuj6LRb7
3ob4/U2TrQfeWT8KidvM3DEc65Ndh3TYnJZKjxf4EN/52kJ4aqmYUxF4aO513tq6
zRyGCYHn8ugAIF2c/ur215H2psowYuuALoRoHYcuND2YCVxkXelBB9spAoGAaNSH
nGhqbvI6eAAK5qbGZO4fxMPADqHcFFfOXUDrHegaiIGhFVhQa8Rb4X6GuNtP4hdg
yUn3JeRRmFkPeTash3ANrD/7/6lmD1Pf3hyK5kC3184ydBUC65wbEQWAM+7o0Hbn
9YvUNq46m4RuflRtu5p6Fs7YteSJZ5yZCFi5J8kCgYAlWHO1QiEC0ITue2aIKZhT
MmUzl601jG+/T6WoI50JB60RZt6SIPwF881pDt3UmPgAqIxVav5Dbh27P34r8dNE
4ACaxVFUJhjB0l4oWmSH72zibn5XtanoKPHyKQAn7/Pu7SzDrka5ulUn9tYsRmPW
Jfw2Cj+hnWXZZms+9YCboA==
-----END PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCjCR0Uakqnpbw+
wSfxLFlzZCRJjiVvnbAdP2XOKYTCvqIdOhXTa+exJJNhmub6OHyyMNFRFzePT+Fy
mUYVSsLqVRqHCHve/6L7dr84PLqg+B/xqPQ8XN26YRpM6NLNKbORsuU1tMzlcKLQ
cQ8He7TLNvvicydmXJ3rKjX2Ih2LE2/pYyAGD9GwmmBjYtzQ22spFfX9QZH4HXVd
Sz59VxkbDkBTHLI4URj/ExRrNGi1OUYZtI4ppheMr2cEu/NQIfMAarkwsMvfqq1v
kgh5jBaX7T5nClk6oW+vNxl/fZdfsCoVoU72m9VB+XkD0VPppNh2pNZEhWqU2NaI
75Vnqwf7AgMBAAECggEAG1ZS3vJ3tCaxKuCefu0NzrBy+TZxhoatWiogOvJxRWpL
qpTrxfio7+YPJGWh50EDf6l535wB//DH/7w9qSJRDpPYj93XT2wT+xBNPfPI42bX
jGDlGx4DO9Y+X7kGZ8pfRsX1cwzu8mXxlvvuJjYS+aQtliny6FINVLpONAhCZehG
3G8GY3Gc7lOR0oNOOO13inL+BxJtsoqWfzXqXXT6hXuiXdBJ9fgQ35wpQwO9nxo2
3BKuJD0z2z06bZS0Y+Vq4oy/SkhSV6lxpWWZxMkagrghqq4VpfDKC3bGpzDeHhFi
hW02Lq12zpFcavc6PlFMuE9cgu/CGClzF+54nc7FMQKBgQDWB6cMcFIBc/3MhvuZ
NKCNpu9QvI0ta5I+WxaLaDGeyOOqboV+K1hSezoXnWBCYEsHvr/QRLbZtKuIrXud
1obSbimPAf+oDleUQAC7b5xTQWhs0KsyPJ3oeV7N1Ihk+/X2eKYwLCRa5GAdbmor
Sws07VssbRY2KwgaePIV2UZw0wKBgQDDAYlRkJHYWF5rmn72WvA8uKDAjd+uoYzY
Pr4b/8yany3rnKMi2imbippHEVE2FWIGk/LleeGcdkNVquGFDgeHWqfPj2cdJ8f3
pKvC6F63EKmSIidT0C4pBMOtBczXR8Kq6qH/sXpy1xtxbXtZ+Jp0C3bKwHtFd8fC
e7ifWUrTOQKBgCbWNKW5K+g/l+opBDaEqi2KARrxW9zGDD9sX+bj/T0Gzuj6LRb7
3ob4/U2TrQfeWT8KidvM3DEc65Ndh3TYnJZKjxf4EN/52kJ4aqmYUxF4aO513tq6
zRyGCYHn8ugAIF2c/ur215H2psowYuuALoRoHYcuND2YCVxkXelBB9spAoGAaNSH
nGhqbvI6eAAK5qbGZO4fxMPADqHcFFfOXUDrHegaiIGhFVhQa8Rb4X6GuNtP4hdg
yUn3JeRRmFkPeTash3ANrD/7/6lmD1Pf3hyK5kC3184ydBUC65wbEQWAM+7o0Hbn
9YvUNq46m4RuflRtu5p6Fs7YteSJZ5yZCFi5J8kCgYAlWHO1QiEC0ITue2aIKZhT
MmUzl601jG+/T6WoI50JB60RZt6SIPwF881pDt3UmPgAqIxVav5Dbh27P34r8dNE
4ACaxVFUJhjB0l4oWmSH72zibn5XtanoKPHyKQAn7/Pu7SzDrka5ulUn9tYsRmPW
Jfw2Cj+hnWXZZms+9YCboA==
-----END PRIVATE KEY-----

View File

@@ -1,19 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
-----END CERTIFICATE-----

View File

@@ -1,20 +1,20 @@
欢迎使用微信支付!
微信支付API共四份证书pkcs12格式、证书pem格式、证书密钥pem格式、CA证书,为接口中强制要求时需携带的证书文件。
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
不同开发语言下的证书格式不同,以下为说明指引:
证书pkcs12格式apiclient_cert.p12
包含了私钥信息的证书文件为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
部分安全性要求较高的API需要使用该证书来确认您的调用身份
windows上可以直接双击导入系统导入过程中会提示输入证书密码证书密码默认为您的商户ID10010000
证书pem格式apiclient_cert.pem
从apiclient_cert.p12中导出证书部分的文件为pem格式请妥善保管不要泄漏和被他人复制
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
证书密钥pem格式apiclient_key.pem
从apiclient_cert.p12中导出密钥部分的文件为pem格式
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
CA证书rootca.pem
微信支付api服务器上也部署了证明微信支付身份的服务器证书您在使用api进行调用时也需要验证所调用服务器及域名的真实性
该文件为签署微信支付证书的权威机构的根证书,可以用来验证微信支付服务器证书的真实性
欢迎使用微信支付!
微信支付API共四份证书pkcs12格式、证书pem格式、证书密钥pem格式、CA证书,为接口中强制要求时需携带的证书文件。
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
不同开发语言下的证书格式不同,以下为说明指引:
证书pkcs12格式apiclient_cert.p12
包含了私钥信息的证书文件为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
部分安全性要求较高的API需要使用该证书来确认您的调用身份
windows上可以直接双击导入系统导入过程中会提示输入证书密码证书密码默认为您的商户ID10010000
证书pem格式apiclient_cert.pem
从apiclient_cert.p12中导出证书部分的文件为pem格式请妥善保管不要泄漏和被他人复制
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
证书密钥pem格式apiclient_key.pem
从apiclient_cert.p12中导出密钥部分的文件为pem格式
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
CA证书rootca.pem
微信支付api服务器上也部署了证明微信支付身份的服务器证书您在使用api进行调用时也需要验证所调用服务器及域名的真实性
该文件为签署微信支付证书的权威机构的根证书,可以用来验证微信支付服务器证书的真实性
某些环境和工具已经内置了若干权威机构的根证书,无需引用该证书也可以正常进行验证,这里提供给您在未内置所必须根证书的环境中载入使用

View File

@@ -1,26 +1,26 @@
-----BEGIN CERTIFICATE-----
MIIEZjCCA8+gAwIBAgIEAWC1DTANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC
Q04xEjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNV
BAoTB1RlbmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEf
MB0GCSqGSIb3DQEJARYQbW1wYXltY2hAdGVuY2VudDAeFw0xNzA3MjUwMjI1NTda
Fw0yNzA3MjMwMjI1NTdaMIGVMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdk
b25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UEChMHVGVuY2VudDEOMAwGA1UE
CxMFTU1QYXkxKjAoBgNVBAMUIeS4iumltuW4guS8iua1quS/oeaBr+aciemZkOWF
rOWPuDERMA8GA1UEBBMIMTIwNDY3NzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQC5hYq9PSLruYqD7l+BDdLu3paqxBZcxkETopE7TiJR9i4crDZQpFYn
qeF10DuYPPxZedDoW1MWms56u4nyhrwPOx8A+aIWXZKoPhb3TmO7oVC7B9nO6dzT
CK84iwdJk60rAl11nrf8sjHUSsq6jdYt5HeVZSJX0zLKUx6JB0QYouiPbLyVlPfc
2ZcLd5A6cNj/Wfgpf7OLNtUnK40Zd7N4CBPPQpIW72lR8dNIjuTaP2uZv5IlFTXD
hllFTsSKPey/diWegP5rDGWVwVuzlTKpPAroxBO8JHDbWLtTdXo/o++8c/Tl4/p1
BVOYDyrDCfp+//7tx3FxBW4TG1WjVR83AgMBAAGjggFGMIIBQjAJBgNVHRMEAjAA
MCwGCWCGSAGG+EIBDQQfFh0iQ0VTLUNBIEdlbmVyYXRlIENlcnRpZmljYXRlIjAd
BgNVHQ4EFgQUg/gk5Vl0YXBLqldA5sO1VQsZPjswgb8GA1UdIwSBtzCBtIAUPgUm
9iJitBVbiM1kfrDUYqflhnShgZCkgY0wgYoxCzAJBgNVBAYTAkNOMRIwEAYDVQQI
EwlHdWFuZ2RvbmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50
MQwwCgYDVQQLEwNXWEcxEzARBgNVBAMTCk1tcGF5bWNoQ0ExHzAdBgkqhkiG9w0B
CQEWEG1tcGF5bWNoQHRlbmNlbnSCCQC7VJcrvADoVzAOBgNVHQ8BAf8EBAMCBsAw
FgYDVR0lAQH/BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEAspt9yTXN
gSsm1mJQlDFNXi/3Ped4DxQOWAQZ9Dlkpvga9BJ59f3pxqQX8l4IrNlwCSsXbotv
V5tBUe+F39hgZDLhvwQIqN6vkf1Oa4rfhxja4bA3MOpyz3jHB2bRDa9bPniiJKAm
la9nieIxBpFk2/uNU0fJF2jW0VDNGu2/m9Y=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEZjCCA8+gAwIBAgIEAWC1DTANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC
Q04xEjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNV
BAoTB1RlbmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEf
MB0GCSqGSIb3DQEJARYQbW1wYXltY2hAdGVuY2VudDAeFw0xNzA3MjUwMjI1NTda
Fw0yNzA3MjMwMjI1NTdaMIGVMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdk
b25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UEChMHVGVuY2VudDEOMAwGA1UE
CxMFTU1QYXkxKjAoBgNVBAMUIeS4iumltuW4guS8iua1quS/oeaBr+aciemZkOWF
rOWPuDERMA8GA1UEBBMIMTIwNDY3NzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQC5hYq9PSLruYqD7l+BDdLu3paqxBZcxkETopE7TiJR9i4crDZQpFYn
qeF10DuYPPxZedDoW1MWms56u4nyhrwPOx8A+aIWXZKoPhb3TmO7oVC7B9nO6dzT
CK84iwdJk60rAl11nrf8sjHUSsq6jdYt5HeVZSJX0zLKUx6JB0QYouiPbLyVlPfc
2ZcLd5A6cNj/Wfgpf7OLNtUnK40Zd7N4CBPPQpIW72lR8dNIjuTaP2uZv5IlFTXD
hllFTsSKPey/diWegP5rDGWVwVuzlTKpPAroxBO8JHDbWLtTdXo/o++8c/Tl4/p1
BVOYDyrDCfp+//7tx3FxBW4TG1WjVR83AgMBAAGjggFGMIIBQjAJBgNVHRMEAjAA
MCwGCWCGSAGG+EIBDQQfFh0iQ0VTLUNBIEdlbmVyYXRlIENlcnRpZmljYXRlIjAd
BgNVHQ4EFgQUg/gk5Vl0YXBLqldA5sO1VQsZPjswgb8GA1UdIwSBtzCBtIAUPgUm
9iJitBVbiM1kfrDUYqflhnShgZCkgY0wgYoxCzAJBgNVBAYTAkNOMRIwEAYDVQQI
EwlHdWFuZ2RvbmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50
MQwwCgYDVQQLEwNXWEcxEzARBgNVBAMTCk1tcGF5bWNoQ0ExHzAdBgkqhkiG9w0B
CQEWEG1tcGF5bWNoQHRlbmNlbnSCCQC7VJcrvADoVzAOBgNVHQ8BAf8EBAMCBsAw
FgYDVR0lAQH/BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEAspt9yTXN
gSsm1mJQlDFNXi/3Ped4DxQOWAQZ9Dlkpvga9BJ59f3pxqQX8l4IrNlwCSsXbotv
V5tBUe+F39hgZDLhvwQIqN6vkf1Oa4rfhxja4bA3MOpyz3jHB2bRDa9bPniiJKAm
la9nieIxBpFk2/uNU0fJF2jW0VDNGu2/m9Y=
-----END CERTIFICATE-----

View File

@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC5hYq9PSLruYqD
7l+BDdLu3paqxBZcxkETopE7TiJR9i4crDZQpFYnqeF10DuYPPxZedDoW1MWms56
u4nyhrwPOx8A+aIWXZKoPhb3TmO7oVC7B9nO6dzTCK84iwdJk60rAl11nrf8sjHU
Ssq6jdYt5HeVZSJX0zLKUx6JB0QYouiPbLyVlPfc2ZcLd5A6cNj/Wfgpf7OLNtUn
K40Zd7N4CBPPQpIW72lR8dNIjuTaP2uZv5IlFTXDhllFTsSKPey/diWegP5rDGWV
wVuzlTKpPAroxBO8JHDbWLtTdXo/o++8c/Tl4/p1BVOYDyrDCfp+//7tx3FxBW4T
G1WjVR83AgMBAAECggEAMRyF9sSpaueKIJTI2XwUW8G29uvD07lz3sPJWH69nR7j
ZBm+oyht2kAhfDOsowd58iHKSMhsPW6rvFfLE9XREOMguPxciTkqKrmNENjClBgH
LAvO//Ruzbrdz8UWH8clL16H6SwkHpP5lu5Zrnr/uNRjR7wnFELHjkHksnem8jIy
pT2xROerN2TzoprF/ESWKunTXw6eFotmRL5CLlRzd3QGWewr8bE1btkja2C63Oh7
r7IYJbeFyJAf7pNdYP0159wF4Ou6OTHRTXBqtNM/liJ0+gZu3/if9D90qjTkbiRv
IzZBUGJyciZDWRE1+EQMQsV3zIfoL47FTA1bl0KjKQKBgQDbvoJf3Fnp0EvR5aPR
cQdNiEnaq9wtt05fW8agoNeylChoZw5al41g6O2TF+fNMtWCbYJyj95ZDGhr4CVq
QUz02UL6gLoHevFwedlG05Yw+azecv053dhEeZtLarP3GS+Crr8XYleiMY3lJBBW
Pnx3PHklI0s2raDDMD5ttiXGlQKBgQDYIY0r1BZa7SLRpw2fuZmsDbDzQtn4SW55
1eSE4EpkjYeb+SDuzByAUNaIdPDWu74CujVdNM3d2alsF/vcZa1UMkC3295SMIOg
4OqpY7U4ljkG8YdE9e3a0+4Hk0RMlRizAG9myxLVHn4YAhnoG0iyvzuaHooHzeZr
Ec53GASXmwKBgCVMbOzAhjJ9vKDgDbJbMRYj8AVB7pmD57Wf6lMRegtBwqoV9AXE
e6bbYpf5EsttuXfuBppTeTY8OO02mqMyelGFHy1N9EWYxKqGxC6Vc4TUnFcVxY2w
7iiRS569edaTW9EewCjD9IP/TUp7mJpK+O10QkvfdcDOL99xrOcKZ9cRAoGBALIQ
YmiboZdkC+3Cvhy8Ivl3hjPE/iPrC9Pg/xbiWygg2nsMc6+KBmlJMJbYEZw4rUE9
/L0/xeRjcYwW7nAUbQsTI/LWeIIqaiffZjYMab+nNHCeCR4tp7tEI7WmBP07UVAY
qa9825UuPCC3inSKFgj+OLKvOnVXk+DemMXRyebFAoGBAJ9BVDxOD+ZM5+JgJbVr
M7wCviZMcs1RBGZXT5Zv2dHOvHwzZm8+My4ZN2Qkn1P0U91dcJcOlHeSIZg3cdn5
JLPBF752joNVrUkb09Ysz9G3fLPbwmasnhQpGL9qKx5VIb/aUF2nvHMzGx3QB/Rb
jJVyR3ycVyx2qzPlM/JSGVKO
-----END PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC5hYq9PSLruYqD
7l+BDdLu3paqxBZcxkETopE7TiJR9i4crDZQpFYnqeF10DuYPPxZedDoW1MWms56
u4nyhrwPOx8A+aIWXZKoPhb3TmO7oVC7B9nO6dzTCK84iwdJk60rAl11nrf8sjHU
Ssq6jdYt5HeVZSJX0zLKUx6JB0QYouiPbLyVlPfc2ZcLd5A6cNj/Wfgpf7OLNtUn
K40Zd7N4CBPPQpIW72lR8dNIjuTaP2uZv5IlFTXDhllFTsSKPey/diWegP5rDGWV
wVuzlTKpPAroxBO8JHDbWLtTdXo/o++8c/Tl4/p1BVOYDyrDCfp+//7tx3FxBW4T
G1WjVR83AgMBAAECggEAMRyF9sSpaueKIJTI2XwUW8G29uvD07lz3sPJWH69nR7j
ZBm+oyht2kAhfDOsowd58iHKSMhsPW6rvFfLE9XREOMguPxciTkqKrmNENjClBgH
LAvO//Ruzbrdz8UWH8clL16H6SwkHpP5lu5Zrnr/uNRjR7wnFELHjkHksnem8jIy
pT2xROerN2TzoprF/ESWKunTXw6eFotmRL5CLlRzd3QGWewr8bE1btkja2C63Oh7
r7IYJbeFyJAf7pNdYP0159wF4Ou6OTHRTXBqtNM/liJ0+gZu3/if9D90qjTkbiRv
IzZBUGJyciZDWRE1+EQMQsV3zIfoL47FTA1bl0KjKQKBgQDbvoJf3Fnp0EvR5aPR
cQdNiEnaq9wtt05fW8agoNeylChoZw5al41g6O2TF+fNMtWCbYJyj95ZDGhr4CVq
QUz02UL6gLoHevFwedlG05Yw+azecv053dhEeZtLarP3GS+Crr8XYleiMY3lJBBW
Pnx3PHklI0s2raDDMD5ttiXGlQKBgQDYIY0r1BZa7SLRpw2fuZmsDbDzQtn4SW55
1eSE4EpkjYeb+SDuzByAUNaIdPDWu74CujVdNM3d2alsF/vcZa1UMkC3295SMIOg
4OqpY7U4ljkG8YdE9e3a0+4Hk0RMlRizAG9myxLVHn4YAhnoG0iyvzuaHooHzeZr
Ec53GASXmwKBgCVMbOzAhjJ9vKDgDbJbMRYj8AVB7pmD57Wf6lMRegtBwqoV9AXE
e6bbYpf5EsttuXfuBppTeTY8OO02mqMyelGFHy1N9EWYxKqGxC6Vc4TUnFcVxY2w
7iiRS569edaTW9EewCjD9IP/TUp7mJpK+O10QkvfdcDOL99xrOcKZ9cRAoGBALIQ
YmiboZdkC+3Cvhy8Ivl3hjPE/iPrC9Pg/xbiWygg2nsMc6+KBmlJMJbYEZw4rUE9
/L0/xeRjcYwW7nAUbQsTI/LWeIIqaiffZjYMab+nNHCeCR4tp7tEI7WmBP07UVAY
qa9825UuPCC3inSKFgj+OLKvOnVXk+DemMXRyebFAoGBAJ9BVDxOD+ZM5+JgJbVr
M7wCviZMcs1RBGZXT5Zv2dHOvHwzZm8+My4ZN2Qkn1P0U91dcJcOlHeSIZg3cdn5
JLPBF752joNVrUkb09Ysz9G3fLPbwmasnhQpGL9qKx5VIb/aUF2nvHMzGx3QB/Rb
jJVyR3ycVyx2qzPlM/JSGVKO
-----END PRIVATE KEY-----

View File

@@ -1,19 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
-----END CERTIFICATE-----

View File

@@ -1,18 +1,18 @@
欢迎使用微信支付!
附件中的三份文件证书pkcs12格式、证书pem格式、证书密钥pem格式,为接口中强制要求时需携带的证书文件。
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
不同开发语言下的证书格式不同,以下为说明指引:
证书pkcs12格式apiclient_cert.p12
包含了私钥信息的证书文件为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
部分安全性要求较高的API需要使用该证书来确认您的调用身份
windows上可以直接双击导入系统导入过程中会提示输入证书密码证书密码默认为您的商户ID10010000
证书pem格式apiclient_cert.pem
从apiclient_cert.p12中导出证书部分的文件为pem格式请妥善保管不要泄漏和被他人复制
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
证书密钥pem格式apiclient_key.pem
从apiclient_cert.p12中导出密钥部分的文件为pem格式
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
备注说明:
欢迎使用微信支付!
附件中的三份文件证书pkcs12格式、证书pem格式、证书密钥pem格式,为接口中强制要求时需携带的证书文件。
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
不同开发语言下的证书格式不同,以下为说明指引:
证书pkcs12格式apiclient_cert.p12
包含了私钥信息的证书文件为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
部分安全性要求较高的API需要使用该证书来确认您的调用身份
windows上可以直接双击导入系统导入过程中会提示输入证书密码证书密码默认为您的商户ID10010000
证书pem格式apiclient_cert.pem
从apiclient_cert.p12中导出证书部分的文件为pem格式请妥善保管不要泄漏和被他人复制
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
证书密钥pem格式apiclient_key.pem
从apiclient_cert.p12中导出密钥部分的文件为pem格式
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
备注说明:
由于绝大部分操作系统已内置了微信支付服务器证书的根CA证书, 2018年3月6日后, 不再提供CA证书文件rootca.pem下载

View File

@@ -1,26 +1,26 @@
-----BEGIN CERTIFICATE-----
MIIEYzCCA8ygAwIBAgIEAdXMTjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC
Q04xEjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNV
BAoTB1RlbmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEf
MB0GCSqGSIb3DQEJARYQbW1wYXltY2hAdGVuY2VudDAeFw0xODAzMjQwMTU2Mzha
Fw0yODAzMjEwMTU2MzhaMIGSMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdk
b25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UEChMHVGVuY2VudDEOMAwGA1UE
CxMFTU1QYXkxJzAlBgNVBAMUHuaxn+ilv+Wkqeebm+e9kee7nOaciemZkOWFrOWP
uDERMA8GA1UEBBMIMTI0NDk3NjkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQDErnYk0r3LopXoX4ar754FFSrfR3VqZiFyQVUbSrzsdkt1eV3ImwOv1ted
iLH/+qwDsKGPDfFVIztLo7nISRFlXfuYKMavi1g0Z4ZSqptJIhqmW3By5RY7oXBm
tWxdgQKawEeEE/l10clQhZHKCtSby399hA6mYhcDs7XANFFzLWtLw8lbsqhKETaF
RofCwi68uP18OBAkNDSZX7NnGtH7BWneTilqtppeD7oVh26Y4RyVSnz6/lIHFn0H
3Bk8WcfAdtIJyFjNP1M5NmO8CLnQn9ru28QJ4j0j3whnZFsAeQSxo0EhqWCA81JX
kZU69+3syYK470tdZn4r73fjO6VHAgMBAAGjggFGMIIBQjAJBgNVHRMEAjAAMCwG
CWCGSAGG+EIBDQQfFh0iQ0VTLUNBIEdlbmVyYXRlIENlcnRpZmljYXRlIjAdBgNV
HQ4EFgQUIfA/oAUCBxi66JhojpXx9yURofowgb8GA1UdIwSBtzCBtIAUPgUm9iJi
tBVbiM1kfrDUYqflhnShgZCkgY0wgYoxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlH
dWFuZ2RvbmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQww
CgYDVQQLEwNXWEcxEzARBgNVBAMTCk1tcGF5bWNoQ0ExHzAdBgkqhkiG9w0BCQEW
EG1tcGF5bWNoQHRlbmNlbnSCCQC7VJcrvADoVzAOBgNVHQ8BAf8EBAMCBsAwFgYD
VR0lAQH/BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEACrdyhUP/F+4P
cpb5MAezafFGyYftZ0mlHaUScwqSVDUnm7VZeMHV8MqHYVoedoVOMFVq+gGrl5kh
77KocrWNrG2mnf9fGRm7WD6dtiihQKGRAf3DWIPGVlwGbiRlBg27AMVnZn7GpIUs
j9yZuDQindR2/UpGCWwrYkGoumEeuok=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEYzCCA8ygAwIBAgIEAdXMTjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC
Q04xEjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNV
BAoTB1RlbmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEf
MB0GCSqGSIb3DQEJARYQbW1wYXltY2hAdGVuY2VudDAeFw0xODAzMjQwMTU2Mzha
Fw0yODAzMjEwMTU2MzhaMIGSMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdk
b25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UEChMHVGVuY2VudDEOMAwGA1UE
CxMFTU1QYXkxJzAlBgNVBAMUHuaxn+ilv+Wkqeebm+e9kee7nOaciemZkOWFrOWP
uDERMA8GA1UEBBMIMTI0NDk3NjkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQDErnYk0r3LopXoX4ar754FFSrfR3VqZiFyQVUbSrzsdkt1eV3ImwOv1ted
iLH/+qwDsKGPDfFVIztLo7nISRFlXfuYKMavi1g0Z4ZSqptJIhqmW3By5RY7oXBm
tWxdgQKawEeEE/l10clQhZHKCtSby399hA6mYhcDs7XANFFzLWtLw8lbsqhKETaF
RofCwi68uP18OBAkNDSZX7NnGtH7BWneTilqtppeD7oVh26Y4RyVSnz6/lIHFn0H
3Bk8WcfAdtIJyFjNP1M5NmO8CLnQn9ru28QJ4j0j3whnZFsAeQSxo0EhqWCA81JX
kZU69+3syYK470tdZn4r73fjO6VHAgMBAAGjggFGMIIBQjAJBgNVHRMEAjAAMCwG
CWCGSAGG+EIBDQQfFh0iQ0VTLUNBIEdlbmVyYXRlIENlcnRpZmljYXRlIjAdBgNV
HQ4EFgQUIfA/oAUCBxi66JhojpXx9yURofowgb8GA1UdIwSBtzCBtIAUPgUm9iJi
tBVbiM1kfrDUYqflhnShgZCkgY0wgYoxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlH
dWFuZ2RvbmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQww
CgYDVQQLEwNXWEcxEzARBgNVBAMTCk1tcGF5bWNoQ0ExHzAdBgkqhkiG9w0BCQEW
EG1tcGF5bWNoQHRlbmNlbnSCCQC7VJcrvADoVzAOBgNVHQ8BAf8EBAMCBsAwFgYD
VR0lAQH/BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEACrdyhUP/F+4P
cpb5MAezafFGyYftZ0mlHaUScwqSVDUnm7VZeMHV8MqHYVoedoVOMFVq+gGrl5kh
77KocrWNrG2mnf9fGRm7WD6dtiihQKGRAf3DWIPGVlwGbiRlBg27AMVnZn7GpIUs
j9yZuDQindR2/UpGCWwrYkGoumEeuok=
-----END CERTIFICATE-----

View File

@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDErnYk0r3LopXo
X4ar754FFSrfR3VqZiFyQVUbSrzsdkt1eV3ImwOv1tediLH/+qwDsKGPDfFVIztL
o7nISRFlXfuYKMavi1g0Z4ZSqptJIhqmW3By5RY7oXBmtWxdgQKawEeEE/l10clQ
hZHKCtSby399hA6mYhcDs7XANFFzLWtLw8lbsqhKETaFRofCwi68uP18OBAkNDSZ
X7NnGtH7BWneTilqtppeD7oVh26Y4RyVSnz6/lIHFn0H3Bk8WcfAdtIJyFjNP1M5
NmO8CLnQn9ru28QJ4j0j3whnZFsAeQSxo0EhqWCA81JXkZU69+3syYK470tdZn4r
73fjO6VHAgMBAAECggEBAIj8slDnb0X70cltb1ElrbwAiEHHdaJLzBPWKT6/CWLw
6ZHCnG1yeljonHieksulflV7mqsWnPYdedkvCeDT84fUs73A+NGfjinByS6eoVWI
qWMg4OtFX/zcbns69WUSzAuYzLbTaraDDWJGBcrhTD/OttdnOQTt4PW1H2vlhK1g
xgQmWajElq/CJtk+uhpwnNRsJTLCDI8xsxsOYIKUyf0oFVYrH57QktFlXI6brfnJ
94GQ6O0BfWr0U06Rzq5ouSfdHnPdNOhI6DIJzArVa7yNMI5/alA3m2Ev47DCjTGl
YGOpZ3/8jPZoqNkApFxHgyq9PCHAPA8hKp71KIs7BpECgYEA7RVmIEIsmFac3kKb
19RcuuH4iIyOG/oVWsup7Lbm/vl9SFbBJJMObBUToLy6qlnCHaNHQvgMfst369vO
vGI7PwzisQ4267FA4LN5KEUzp69st700iB4Pn8vnFPcje7x3SFNPQQVmZ7/m7HKx
vTXhYFj+NYbCoBe69OKkBRbYgB0CgYEA1F/SKKldr19u9/IN5zCMd/Fb+q4BVgvS
lh4O/yMIRDHO6spSVYN/HkpI7x2vraL2NFnYAXUERjl9WlEvQ5F4wLb0DYFAUyJa
2SlhZnc3eOLz6eOpzzMBMzerHHoZsThCd661Y5WA06en44vIVkr921pW9NvH7rMa
5cpJ5GCHhbMCgYBNEX+5TMmiW8VymsR+TJI4Tey0trwbbBg1A6+hO3Orvv5y3YC7
mvI9QDy5K6Cib7siV0l7A5dMQGgjS7jQlD4eKNooJC7GP0CPyse/x38bK3Nz5xWE
igEaOPZNYmkud/1ujWZeBJtdboxqoH4Wu8UfxM4eKEhsMkqcAHDBFsQaIQKBgCrg
7d2n1HKEIjONe6Eh/Dp7UMbcOwjUekA08XIx8IlURSLClr0NP60t8mvU4pN8Q5lu
Sl6A8cv774M8wP4zcN34Em5nmkUuuoj+AdxeVaTirbybar2a3rMomjO1s1pEsabY
b2cb2FbjktIudtR1b6vKIaRue3+GSff7T8/8bWBhAoGAFg6paqQIBKYNSdfcvbfi
x3YWECDtCLlXFiWha2pHtRE8CfLfSftZQ/49CnNw6EwtPXqgqRGIv4RqXfxYbwYA
RWIGNUYToXI/jeSRpxtpFrlOroF5NhEBulD9Ti9/PgPs0cU0OPqWoxDPvg742stR
uRbAYzG0KnwnasmutR5hjv8=
-----END PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDErnYk0r3LopXo
X4ar754FFSrfR3VqZiFyQVUbSrzsdkt1eV3ImwOv1tediLH/+qwDsKGPDfFVIztL
o7nISRFlXfuYKMavi1g0Z4ZSqptJIhqmW3By5RY7oXBmtWxdgQKawEeEE/l10clQ
hZHKCtSby399hA6mYhcDs7XANFFzLWtLw8lbsqhKETaFRofCwi68uP18OBAkNDSZ
X7NnGtH7BWneTilqtppeD7oVh26Y4RyVSnz6/lIHFn0H3Bk8WcfAdtIJyFjNP1M5
NmO8CLnQn9ru28QJ4j0j3whnZFsAeQSxo0EhqWCA81JXkZU69+3syYK470tdZn4r
73fjO6VHAgMBAAECggEBAIj8slDnb0X70cltb1ElrbwAiEHHdaJLzBPWKT6/CWLw
6ZHCnG1yeljonHieksulflV7mqsWnPYdedkvCeDT84fUs73A+NGfjinByS6eoVWI
qWMg4OtFX/zcbns69WUSzAuYzLbTaraDDWJGBcrhTD/OttdnOQTt4PW1H2vlhK1g
xgQmWajElq/CJtk+uhpwnNRsJTLCDI8xsxsOYIKUyf0oFVYrH57QktFlXI6brfnJ
94GQ6O0BfWr0U06Rzq5ouSfdHnPdNOhI6DIJzArVa7yNMI5/alA3m2Ev47DCjTGl
YGOpZ3/8jPZoqNkApFxHgyq9PCHAPA8hKp71KIs7BpECgYEA7RVmIEIsmFac3kKb
19RcuuH4iIyOG/oVWsup7Lbm/vl9SFbBJJMObBUToLy6qlnCHaNHQvgMfst369vO
vGI7PwzisQ4267FA4LN5KEUzp69st700iB4Pn8vnFPcje7x3SFNPQQVmZ7/m7HKx
vTXhYFj+NYbCoBe69OKkBRbYgB0CgYEA1F/SKKldr19u9/IN5zCMd/Fb+q4BVgvS
lh4O/yMIRDHO6spSVYN/HkpI7x2vraL2NFnYAXUERjl9WlEvQ5F4wLb0DYFAUyJa
2SlhZnc3eOLz6eOpzzMBMzerHHoZsThCd661Y5WA06en44vIVkr921pW9NvH7rMa
5cpJ5GCHhbMCgYBNEX+5TMmiW8VymsR+TJI4Tey0trwbbBg1A6+hO3Orvv5y3YC7
mvI9QDy5K6Cib7siV0l7A5dMQGgjS7jQlD4eKNooJC7GP0CPyse/x38bK3Nz5xWE
igEaOPZNYmkud/1ujWZeBJtdboxqoH4Wu8UfxM4eKEhsMkqcAHDBFsQaIQKBgCrg
7d2n1HKEIjONe6Eh/Dp7UMbcOwjUekA08XIx8IlURSLClr0NP60t8mvU4pN8Q5lu
Sl6A8cv774M8wP4zcN34Em5nmkUuuoj+AdxeVaTirbybar2a3rMomjO1s1pEsabY
b2cb2FbjktIudtR1b6vKIaRue3+GSff7T8/8bWBhAoGAFg6paqQIBKYNSdfcvbfi
x3YWECDtCLlXFiWha2pHtRE8CfLfSftZQ/49CnNw6EwtPXqgqRGIv4RqXfxYbwYA
RWIGNUYToXI/jeSRpxtpFrlOroF5NhEBulD9Ti9/PgPs0cU0OPqWoxDPvg742stR
uRbAYzG0KnwnasmutR5hjv8=
-----END PRIVATE KEY-----

View File

@@ -1,18 +1,18 @@
欢迎使用微信支付!
附件中的三份文件证书pkcs12格式、证书pem格式、证书密钥pem格式,为接口中强制要求时需携带的证书文件。
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
不同开发语言下的证书格式不同,以下为说明指引:
证书pkcs12格式apiclient_cert.p12
包含了私钥信息的证书文件为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
部分安全性要求较高的API需要使用该证书来确认您的调用身份
windows上可以直接双击导入系统导入过程中会提示输入证书密码证书密码默认为您的商户ID10010000
证书pem格式apiclient_cert.pem
从apiclient_cert.p12中导出证书部分的文件为pem格式请妥善保管不要泄漏和被他人复制
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
证书密钥pem格式apiclient_key.pem
从apiclient_cert.p12中导出密钥部分的文件为pem格式
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
备注说明:
欢迎使用微信支付!
附件中的三份文件证书pkcs12格式、证书pem格式、证书密钥pem格式,为接口中强制要求时需携带的证书文件。
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
不同开发语言下的证书格式不同,以下为说明指引:
证书pkcs12格式apiclient_cert.p12
包含了私钥信息的证书文件为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
部分安全性要求较高的API需要使用该证书来确认您的调用身份
windows上可以直接双击导入系统导入过程中会提示输入证书密码证书密码默认为您的商户ID10010000
证书pem格式apiclient_cert.pem
从apiclient_cert.p12中导出证书部分的文件为pem格式请妥善保管不要泄漏和被他人复制
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
证书密钥pem格式apiclient_key.pem
从apiclient_cert.p12中导出密钥部分的文件为pem格式
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
备注说明:
由于绝大部分操作系统已内置了微信支付服务器证书的根CA证书, 2018年3月6日后, 不再提供CA证书文件rootca.pem下载

View File

@@ -1,26 +1,26 @@
-----BEGIN CERTIFICATE-----
MIIEYjCCA8ugAwIBAgIDKzqrMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYDVQQGEwJD
TjESMBAGA1UECBMJR3Vhbmdkb25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UE
ChMHVGVuY2VudDEMMAoGA1UECxMDV1hHMRMwEQYDVQQDEwpNbXBheW1jaENBMR8w
HQYJKoZIhvcNAQkBFhBtbXBheW1jaEB0ZW5jZW50MB4XDTE2MDYwNjA1MzAwNFoX
DTI2MDYwNDA1MzAwNFowgZIxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rv
bmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQ4wDAYDVQQL
EwVNTVBheTEnMCUGA1UEAxQe5rGf6KW/5LqR5a6256eR5oqA5pyJ6ZmQ5YWs5Y+4
MREwDwYDVQQEEwgxMjcxNzUwODCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAMFQt5XNX8LigHtIrqhv8yGivPkRLPrsiNi1a2h8EYu3C409o/q4uwAuGH7s
Fl/7ccH/+fY1qmfDt2MR5dAMZqV3/l7RG4bEPtJTEwNd6nzFvYZDcv7/KSdGDeF4
dhNpT9oE0LaiC6P0Zdeur3AA92WbH2eN80IARYHp7vQQ4mXpxIJSB7jK93jCeCee
Ss6ZZuk8PU/8b/B76XdwQ3R8eNvIqctjvWujVg/bA24TeGZEkBOHB4sXDpw8gHrX
7sxYKcNIW6ZIy9/MKCS3hWbojp2JQq2FBktArmZ8pO++P2xpy86BK+x+hHc+ewKK
dtOXGUI8Uxq08odZn8LzSpf9nJkCAwEAAaOCAUYwggFCMAkGA1UdEwQCMAAwLAYJ
YIZIAYb4QgENBB8WHSJDRVMtQ0EgR2VuZXJhdGUgQ2VydGlmaWNhdGUiMB0GA1Ud
DgQWBBTIHrH8dXCHClscuO+GWQNVDiL9hjCBvwYDVR0jBIG3MIG0gBQ+BSb2ImK0
FVuIzWR+sNRip+WGdKGBkKSBjTCBijELMAkGA1UEBhMCQ04xEjAQBgNVBAgTCUd1
YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNVBAoTB1RlbmNlbnQxDDAK
BgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEfMB0GCSqGSIb3DQEJARYQ
bW1wYXltY2hAdGVuY2VudIIJALtUlyu8AOhXMA4GA1UdDwEB/wQEAwIGwDAWBgNV
HSUBAf8EDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOBgQBouw/N2u/qILi6
rpxauVLzCLaDzMiewSpezEQq/jL44rxDkC6dvbphT7vYO487h1k2GfnbUA7R9Hsi
W6l4bfRdHOLFYmF5nuXJSrgtsjko+iUQ+MJm/M2pb8ndHzZb5jq2MdQAN1VlIxdo
uOgQ2R2OKSKNlQV6Ls4zHQ3uBPcd5g==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEYjCCA8ugAwIBAgIDKzqrMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYDVQQGEwJD
TjESMBAGA1UECBMJR3Vhbmdkb25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UE
ChMHVGVuY2VudDEMMAoGA1UECxMDV1hHMRMwEQYDVQQDEwpNbXBheW1jaENBMR8w
HQYJKoZIhvcNAQkBFhBtbXBheW1jaEB0ZW5jZW50MB4XDTE2MDYwNjA1MzAwNFoX
DTI2MDYwNDA1MzAwNFowgZIxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rv
bmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQ4wDAYDVQQL
EwVNTVBheTEnMCUGA1UEAxQe5rGf6KW/5LqR5a6256eR5oqA5pyJ6ZmQ5YWs5Y+4
MREwDwYDVQQEEwgxMjcxNzUwODCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAMFQt5XNX8LigHtIrqhv8yGivPkRLPrsiNi1a2h8EYu3C409o/q4uwAuGH7s
Fl/7ccH/+fY1qmfDt2MR5dAMZqV3/l7RG4bEPtJTEwNd6nzFvYZDcv7/KSdGDeF4
dhNpT9oE0LaiC6P0Zdeur3AA92WbH2eN80IARYHp7vQQ4mXpxIJSB7jK93jCeCee
Ss6ZZuk8PU/8b/B76XdwQ3R8eNvIqctjvWujVg/bA24TeGZEkBOHB4sXDpw8gHrX
7sxYKcNIW6ZIy9/MKCS3hWbojp2JQq2FBktArmZ8pO++P2xpy86BK+x+hHc+ewKK
dtOXGUI8Uxq08odZn8LzSpf9nJkCAwEAAaOCAUYwggFCMAkGA1UdEwQCMAAwLAYJ
YIZIAYb4QgENBB8WHSJDRVMtQ0EgR2VuZXJhdGUgQ2VydGlmaWNhdGUiMB0GA1Ud
DgQWBBTIHrH8dXCHClscuO+GWQNVDiL9hjCBvwYDVR0jBIG3MIG0gBQ+BSb2ImK0
FVuIzWR+sNRip+WGdKGBkKSBjTCBijELMAkGA1UEBhMCQ04xEjAQBgNVBAgTCUd1
YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNVBAoTB1RlbmNlbnQxDDAK
BgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEfMB0GCSqGSIb3DQEJARYQ
bW1wYXltY2hAdGVuY2VudIIJALtUlyu8AOhXMA4GA1UdDwEB/wQEAwIGwDAWBgNV
HSUBAf8EDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOBgQBouw/N2u/qILi6
rpxauVLzCLaDzMiewSpezEQq/jL44rxDkC6dvbphT7vYO487h1k2GfnbUA7R9Hsi
W6l4bfRdHOLFYmF5nuXJSrgtsjko+iUQ+MJm/M2pb8ndHzZb5jq2MdQAN1VlIxdo
uOgQ2R2OKSKNlQV6Ls4zHQ3uBPcd5g==
-----END CERTIFICATE-----

View File

@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDBULeVzV/C4oB7
SK6ob/Mhorz5ESz67IjYtWtofBGLtwuNPaP6uLsALhh+7BZf+3HB//n2Napnw7dj
EeXQDGald/5e0RuGxD7SUxMDXep8xb2GQ3L+/yknRg3heHYTaU/aBNC2oguj9GXX
rq9wAPdlmx9njfNCAEWB6e70EOJl6cSCUge4yvd4wngnnkrOmWbpPD1P/G/we+l3
cEN0fHjbyKnLY71ro1YP2wNuE3hmRJAThweLFw6cPIB61+7MWCnDSFumSMvfzCgk
t4Vm6I6diUKthQZLQK5mfKTvvj9sacvOgSvsfoR3PnsCinbTlxlCPFMatPKHWZ/C
80qX/ZyZAgMBAAECggEAGMoVAKy5XvBUsXp8izTv5JxNx1KghfzW/5MkFt3yEgyC
+rWw1XHi6P8APSZhKCXCTLJah2wSUgQS/C1LXwZ4Ezfz8oy2Du4TcD0e7wuYCjAB
QbpcgL6PtG2TUhp0acDTcI21hfX5sCii9ql77czx7KGbwVe+nfQS9bnd3oZbwd2j
OXFqTRcBtDFyQL20DhNe70EtNOBwMfLpPKRv2sTQ4ONuRHj6PxebAntSUqunpZpb
Thyh4vd13Tr7p7jt4jPLsHwfrAgs+m7T7PojcfDtJhYVloXHff12v75zTzbLXzAq
K1OleCt2XLVA/Dc9ueq9lJwCBU6QKx4nLRQNT8tRQQKBgQDiL8QHyRVVRXwOIJFI
nq8ao/ZRIjaAoc4ykb7RHRD9M9qy+PShyrQPH9yFhaZJhRSAoktRAaZMgKw+qKx2
AFI81uTi8skZ3EEY7/kJ4YBmZFHtvt25z+K/1TCY6e8X41IkTmNZzr6X6LF7AxIb
qvDVn3nxEJi2UIpuaeQC4UA8tQKBgQDay8XQN82NY41gVcPgUgy/8e00P+DUjNj+
rbbqJBoZo6fOXzCjurWzj6oHC/IMHXDa6X91ugQq3/RjXkaYQodkFLm79LEDNMZy
4fJ/iiXHQ3mBJOUDgLL1WqxVsHPP/Tn5Rm17+eX8JeVovcmwyCH0NiU+Df3ZtfJW
K0TR5Ijy1QKBgH0kuG0mUGtReoXGdxua0H8I4KubJlSdMZzBDrZcQp4VJpeHLrKl
mGIV2sj1XT+oJePV5532L7B8MNCqOmE/ZEDNFO6MLb/lIQ9PFpbk8Um1j67ev4aj
Am3o4m54YBTzbOsxg76YqNMbp7bLyCUOuxk2lx1NdXDJtw3IAKOnRQdRAoGBANP9
H5pQlv5o+G/gaTqNBQFs29EGG0aVeSG5GkLd29P/tvTDUhMxMh/aEHlnX4vRcqkI
F5DvPF52QwmMLIYV36xeUF8GBAQBPE3PEe/04AmjHLS+FI5CQiJrShJ0NqHMzkDx
td6rD+Qwq4fCawq3vf4qAAeR8uTf3v8SSUm8TdxJAoGAc2vfH5EeriwsKFhNbgg0
dUvi0HjfksaUnLDTp6I2ZwgIIMohiYyvK2G0nMOUqjXaVWISebmXI9l7dD0WWiB1
5oEdvzYSgXts3tG8PsluIYEdN/mMwnOSpZlMda0wK5SEXf7Okjn3b+I6cxryrWsk
Uq3cA5DteK4q4AskLnpHK3w=
-----END PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDBULeVzV/C4oB7
SK6ob/Mhorz5ESz67IjYtWtofBGLtwuNPaP6uLsALhh+7BZf+3HB//n2Napnw7dj
EeXQDGald/5e0RuGxD7SUxMDXep8xb2GQ3L+/yknRg3heHYTaU/aBNC2oguj9GXX
rq9wAPdlmx9njfNCAEWB6e70EOJl6cSCUge4yvd4wngnnkrOmWbpPD1P/G/we+l3
cEN0fHjbyKnLY71ro1YP2wNuE3hmRJAThweLFw6cPIB61+7MWCnDSFumSMvfzCgk
t4Vm6I6diUKthQZLQK5mfKTvvj9sacvOgSvsfoR3PnsCinbTlxlCPFMatPKHWZ/C
80qX/ZyZAgMBAAECggEAGMoVAKy5XvBUsXp8izTv5JxNx1KghfzW/5MkFt3yEgyC
+rWw1XHi6P8APSZhKCXCTLJah2wSUgQS/C1LXwZ4Ezfz8oy2Du4TcD0e7wuYCjAB
QbpcgL6PtG2TUhp0acDTcI21hfX5sCii9ql77czx7KGbwVe+nfQS9bnd3oZbwd2j
OXFqTRcBtDFyQL20DhNe70EtNOBwMfLpPKRv2sTQ4ONuRHj6PxebAntSUqunpZpb
Thyh4vd13Tr7p7jt4jPLsHwfrAgs+m7T7PojcfDtJhYVloXHff12v75zTzbLXzAq
K1OleCt2XLVA/Dc9ueq9lJwCBU6QKx4nLRQNT8tRQQKBgQDiL8QHyRVVRXwOIJFI
nq8ao/ZRIjaAoc4ykb7RHRD9M9qy+PShyrQPH9yFhaZJhRSAoktRAaZMgKw+qKx2
AFI81uTi8skZ3EEY7/kJ4YBmZFHtvt25z+K/1TCY6e8X41IkTmNZzr6X6LF7AxIb
qvDVn3nxEJi2UIpuaeQC4UA8tQKBgQDay8XQN82NY41gVcPgUgy/8e00P+DUjNj+
rbbqJBoZo6fOXzCjurWzj6oHC/IMHXDa6X91ugQq3/RjXkaYQodkFLm79LEDNMZy
4fJ/iiXHQ3mBJOUDgLL1WqxVsHPP/Tn5Rm17+eX8JeVovcmwyCH0NiU+Df3ZtfJW
K0TR5Ijy1QKBgH0kuG0mUGtReoXGdxua0H8I4KubJlSdMZzBDrZcQp4VJpeHLrKl
mGIV2sj1XT+oJePV5532L7B8MNCqOmE/ZEDNFO6MLb/lIQ9PFpbk8Um1j67ev4aj
Am3o4m54YBTzbOsxg76YqNMbp7bLyCUOuxk2lx1NdXDJtw3IAKOnRQdRAoGBANP9
H5pQlv5o+G/gaTqNBQFs29EGG0aVeSG5GkLd29P/tvTDUhMxMh/aEHlnX4vRcqkI
F5DvPF52QwmMLIYV36xeUF8GBAQBPE3PEe/04AmjHLS+FI5CQiJrShJ0NqHMzkDx
td6rD+Qwq4fCawq3vf4qAAeR8uTf3v8SSUm8TdxJAoGAc2vfH5EeriwsKFhNbgg0
dUvi0HjfksaUnLDTp6I2ZwgIIMohiYyvK2G0nMOUqjXaVWISebmXI9l7dD0WWiB1
5oEdvzYSgXts3tG8PsluIYEdN/mMwnOSpZlMda0wK5SEXf7Okjn3b+I6cxryrWsk
Uq3cA5DteK4q4AskLnpHK3w=
-----END PRIVATE KEY-----

View File

@@ -1,26 +1,26 @@
-----BEGIN CERTIFICATE-----
MIIEbDCCA9WgAwIBAgIEAgSijTANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC
Q04xEjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNV
BAoTB1RlbmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEf
MB0GCSqGSIb3DQEJARYQbW1wYXltY2hAdGVuY2VudDAeFw0xODA2MTUwMzMwNTFa
Fw0yODA2MTIwMzMwNTFaMIGbMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdk
b25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UEChMHVGVuY2VudDEOMAwGA1UE
CxMFTU1QYXkxMDAuBgNVBAMUJ+emj+W7uuWQm+aYk+mBk+e9kee7nOenkeaKgOac
iemZkOWFrOWPuDERMA8GA1UEBBMIMTQ1OTQ3NDAwggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQDIqmQiBJ1ZEvcWTl2TnnizE4MkCwUl0+EtivS+aF8ZfIDV
aC6CZIyvLatq847rr252rQYkItdqSYNx9fK1TFiPsJ6kW8IlvhEYtS8z/tN5DhYV
+FOlKQXMhdZlc7HMxU8ZSSN6L/C9nTQVHBUhgH2kyG7GFL3BxU+PjiJGXjAiqtFH
fQcBdF1D3lg/jxlgXSAGmGSw7f2D4G0RxxBjodBXT2hQ75syqZIdCp57LR/SCeao
UaNaX4gCsiWd/jvk5EERmDCKMOHAnVC75If1BWjTdOmdeDOOPo9UP68KX7XlIpJk
wb4hIg0gUW9F7WPnBO8TamZu6pjK5HKlzaENeuANAgMBAAGjggFGMIIBQjAJBgNV
HRMEAjAAMCwGCWCGSAGG+EIBDQQfFh0iQ0VTLUNBIEdlbmVyYXRlIENlcnRpZmlj
YXRlIjAdBgNVHQ4EFgQUw6vc4Vl+4BidEyfoYFZSDMyI4Tgwgb8GA1UdIwSBtzCB
tIAUPgUm9iJitBVbiM1kfrDUYqflhnShgZCkgY0wgYoxCzAJBgNVBAYTAkNOMRIw
EAYDVQQIEwlHdWFuZ2RvbmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdU
ZW5jZW50MQwwCgYDVQQLEwNXWEcxEzARBgNVBAMTCk1tcGF5bWNoQ0ExHzAdBgkq
hkiG9w0BCQEWEG1tcGF5bWNoQHRlbmNlbnSCCQC7VJcrvADoVzAOBgNVHQ8BAf8E
BAMCBsAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEA
MjahXrdYVSNLGhYDyrNnh1ozd+CQShBTrdkLGjjVuGzC5frc/+31FCBcO7kTddJK
N75ttAbkuejSzpLxZHTNBoTG9RAveTcbKMEH4i95TcRkTpHcFLnO6LKAFAkJQbC8
friAP5g1vbc0eWzHv/OBCT/YojQDQJgAPBJ3nZZt+bQ=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEbDCCA9WgAwIBAgIEAgSijTANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC
Q04xEjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNV
BAoTB1RlbmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEf
MB0GCSqGSIb3DQEJARYQbW1wYXltY2hAdGVuY2VudDAeFw0xODA2MTUwMzMwNTFa
Fw0yODA2MTIwMzMwNTFaMIGbMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdk
b25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UEChMHVGVuY2VudDEOMAwGA1UE
CxMFTU1QYXkxMDAuBgNVBAMUJ+emj+W7uuWQm+aYk+mBk+e9kee7nOenkeaKgOac
iemZkOWFrOWPuDERMA8GA1UEBBMIMTQ1OTQ3NDAwggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQDIqmQiBJ1ZEvcWTl2TnnizE4MkCwUl0+EtivS+aF8ZfIDV
aC6CZIyvLatq847rr252rQYkItdqSYNx9fK1TFiPsJ6kW8IlvhEYtS8z/tN5DhYV
+FOlKQXMhdZlc7HMxU8ZSSN6L/C9nTQVHBUhgH2kyG7GFL3BxU+PjiJGXjAiqtFH
fQcBdF1D3lg/jxlgXSAGmGSw7f2D4G0RxxBjodBXT2hQ75syqZIdCp57LR/SCeao
UaNaX4gCsiWd/jvk5EERmDCKMOHAnVC75If1BWjTdOmdeDOOPo9UP68KX7XlIpJk
wb4hIg0gUW9F7WPnBO8TamZu6pjK5HKlzaENeuANAgMBAAGjggFGMIIBQjAJBgNV
HRMEAjAAMCwGCWCGSAGG+EIBDQQfFh0iQ0VTLUNBIEdlbmVyYXRlIENlcnRpZmlj
YXRlIjAdBgNVHQ4EFgQUw6vc4Vl+4BidEyfoYFZSDMyI4Tgwgb8GA1UdIwSBtzCB
tIAUPgUm9iJitBVbiM1kfrDUYqflhnShgZCkgY0wgYoxCzAJBgNVBAYTAkNOMRIw
EAYDVQQIEwlHdWFuZ2RvbmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdU
ZW5jZW50MQwwCgYDVQQLEwNXWEcxEzARBgNVBAMTCk1tcGF5bWNoQ0ExHzAdBgkq
hkiG9w0BCQEWEG1tcGF5bWNoQHRlbmNlbnSCCQC7VJcrvADoVzAOBgNVHQ8BAf8E
BAMCBsAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEA
MjahXrdYVSNLGhYDyrNnh1ozd+CQShBTrdkLGjjVuGzC5frc/+31FCBcO7kTddJK
N75ttAbkuejSzpLxZHTNBoTG9RAveTcbKMEH4i95TcRkTpHcFLnO6LKAFAkJQbC8
friAP5g1vbc0eWzHv/OBCT/YojQDQJgAPBJ3nZZt+bQ=
-----END CERTIFICATE-----

View File

@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDIqmQiBJ1ZEvcW
Tl2TnnizE4MkCwUl0+EtivS+aF8ZfIDVaC6CZIyvLatq847rr252rQYkItdqSYNx
9fK1TFiPsJ6kW8IlvhEYtS8z/tN5DhYV+FOlKQXMhdZlc7HMxU8ZSSN6L/C9nTQV
HBUhgH2kyG7GFL3BxU+PjiJGXjAiqtFHfQcBdF1D3lg/jxlgXSAGmGSw7f2D4G0R
xxBjodBXT2hQ75syqZIdCp57LR/SCeaoUaNaX4gCsiWd/jvk5EERmDCKMOHAnVC7
5If1BWjTdOmdeDOOPo9UP68KX7XlIpJkwb4hIg0gUW9F7WPnBO8TamZu6pjK5HKl
zaENeuANAgMBAAECggEBAJBsEiVprNWvEKa9QBw+siAwqvIF/G59UFO27u8br1Zo
hVES6mZud9KczALtyK9YU+iWHxVi/idBQZmDqmtRx2ujcopYgCMp6KQfwxlpDkrS
GJM3Zvw3yjSpHuVln1IBsCxCt4X5ewr9Wb7Xt12lXMh8eT2XL/uGRvzLD2AV6g8I
G71NFJ/UwAlsnCvmyClNU0Ty2Nub0G+5qlaNx5DuoFxgBU8AfAOGWGgM8Buseqsq
2OOXgDf6McfPg7XM+sACyhzbxjKdt9oWOOSDzm7GfFwfikfbL2evU0kJW9CKvrDq
XYLm6YK8pvi6YSsLyz1z8bt1eRnYN4lf1iGpfvoSrwECgYEA6FXc/Qnhr9DL7zH7
+lO4dGhgHbdEjSDUys7ZhoKqhc45pVlYLaDKws9n+mBEYTlpmWbrHrhdafUjZ/VI
9sPnhvAyhxXXkdy3m1ZVrSX1D0YnWaKwre+Wv6cS2EhS7Gj0MYca+ri82K3g7fa7
i8j7qh7t12gq7riWs53B0azoUusCgYEA3Rq9HpCIFX3x5wJxfiMayhYGGLLc9KqL
qoKJVk29tc7mr5uC39Pa1liMR30OIzNXrsibHx8WCYxVtlXyfPt8f5prB4JlPS11
we4WC9vNbHf2g/Srx/LlUfnI8sDMcaDHIsqF3vhXFZcT9+a+k0qAgMo+ccP2c7Oy
TtPx7cBYqucCgYEApVKD36Kqb1rZ4qjkrmnodRzYWAzSwMG96VprOuW7xV7Lcjcz
IbSq0xiW2nip76zU0Y2EfOWfwwfmW9EUTFN2anR839bRAD/YfrZeXMkHqgi3c3bq
1boIwPN322MLbqH4MU38CrBt4JlJ1sqdBYjMW2+Kup6q/hdnVQRKqJKq9mUCgYBw
89/5ZUyf7h9OLGleTwC4jFfA9l76fsWq7dTLShvIbVJcE83gGpKJPeMsAi7evLPm
joTweSkA57hB1dZzEuafKXvT8kFV54to7wBEPp3K893zu2KmWufb4QdPPD81LTWO
CHgrWCLk3LFOy4pAJKdRJACSjdGxefN1YcEN/F1PsQKBgGuwRgSieqhtjAI4IFTQ
FqTYLON0Om1A6LSGNNib59R78/f/74D2qtE70GugfEYQEK92sXXyybHBveT/jIBv
nz1qGxBK0PAgJurEslwLIGybPkO1M2VxOXpXqhyjcuurCv5hr0e1KkrTaNfsaDpn
vcaZwqWYDHMAQ3gaREpRNp/y
-----END PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDIqmQiBJ1ZEvcW
Tl2TnnizE4MkCwUl0+EtivS+aF8ZfIDVaC6CZIyvLatq847rr252rQYkItdqSYNx
9fK1TFiPsJ6kW8IlvhEYtS8z/tN5DhYV+FOlKQXMhdZlc7HMxU8ZSSN6L/C9nTQV
HBUhgH2kyG7GFL3BxU+PjiJGXjAiqtFHfQcBdF1D3lg/jxlgXSAGmGSw7f2D4G0R
xxBjodBXT2hQ75syqZIdCp57LR/SCeaoUaNaX4gCsiWd/jvk5EERmDCKMOHAnVC7
5If1BWjTdOmdeDOOPo9UP68KX7XlIpJkwb4hIg0gUW9F7WPnBO8TamZu6pjK5HKl
zaENeuANAgMBAAECggEBAJBsEiVprNWvEKa9QBw+siAwqvIF/G59UFO27u8br1Zo
hVES6mZud9KczALtyK9YU+iWHxVi/idBQZmDqmtRx2ujcopYgCMp6KQfwxlpDkrS
GJM3Zvw3yjSpHuVln1IBsCxCt4X5ewr9Wb7Xt12lXMh8eT2XL/uGRvzLD2AV6g8I
G71NFJ/UwAlsnCvmyClNU0Ty2Nub0G+5qlaNx5DuoFxgBU8AfAOGWGgM8Buseqsq
2OOXgDf6McfPg7XM+sACyhzbxjKdt9oWOOSDzm7GfFwfikfbL2evU0kJW9CKvrDq
XYLm6YK8pvi6YSsLyz1z8bt1eRnYN4lf1iGpfvoSrwECgYEA6FXc/Qnhr9DL7zH7
+lO4dGhgHbdEjSDUys7ZhoKqhc45pVlYLaDKws9n+mBEYTlpmWbrHrhdafUjZ/VI
9sPnhvAyhxXXkdy3m1ZVrSX1D0YnWaKwre+Wv6cS2EhS7Gj0MYca+ri82K3g7fa7
i8j7qh7t12gq7riWs53B0azoUusCgYEA3Rq9HpCIFX3x5wJxfiMayhYGGLLc9KqL
qoKJVk29tc7mr5uC39Pa1liMR30OIzNXrsibHx8WCYxVtlXyfPt8f5prB4JlPS11
we4WC9vNbHf2g/Srx/LlUfnI8sDMcaDHIsqF3vhXFZcT9+a+k0qAgMo+ccP2c7Oy
TtPx7cBYqucCgYEApVKD36Kqb1rZ4qjkrmnodRzYWAzSwMG96VprOuW7xV7Lcjcz
IbSq0xiW2nip76zU0Y2EfOWfwwfmW9EUTFN2anR839bRAD/YfrZeXMkHqgi3c3bq
1boIwPN322MLbqH4MU38CrBt4JlJ1sqdBYjMW2+Kup6q/hdnVQRKqJKq9mUCgYBw
89/5ZUyf7h9OLGleTwC4jFfA9l76fsWq7dTLShvIbVJcE83gGpKJPeMsAi7evLPm
joTweSkA57hB1dZzEuafKXvT8kFV54to7wBEPp3K893zu2KmWufb4QdPPD81LTWO
CHgrWCLk3LFOy4pAJKdRJACSjdGxefN1YcEN/F1PsQKBgGuwRgSieqhtjAI4IFTQ
FqTYLON0Om1A6LSGNNib59R78/f/74D2qtE70GugfEYQEK92sXXyybHBveT/jIBv
nz1qGxBK0PAgJurEslwLIGybPkO1M2VxOXpXqhyjcuurCv5hr0e1KkrTaNfsaDpn
vcaZwqWYDHMAQ3gaREpRNp/y
-----END PRIVATE KEY-----

View File

@@ -1,18 +1,18 @@
欢迎使用微信支付!
附件中的三份文件证书pkcs12格式、证书pem格式、证书密钥pem格式,为接口中强制要求时需携带的证书文件。
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
不同开发语言下的证书格式不同,以下为说明指引:
证书pkcs12格式apiclient_cert.p12
包含了私钥信息的证书文件为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
部分安全性要求较高的API需要使用该证书来确认您的调用身份
windows上可以直接双击导入系统导入过程中会提示输入证书密码证书密码默认为您的商户ID10010000
证书pem格式apiclient_cert.pem
从apiclient_cert.p12中导出证书部分的文件为pem格式请妥善保管不要泄漏和被他人复制
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
证书密钥pem格式apiclient_key.pem
从apiclient_cert.p12中导出密钥部分的文件为pem格式
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
备注说明:
欢迎使用微信支付!
附件中的三份文件证书pkcs12格式、证书pem格式、证书密钥pem格式,为接口中强制要求时需携带的证书文件。
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
不同开发语言下的证书格式不同,以下为说明指引:
证书pkcs12格式apiclient_cert.p12
包含了私钥信息的证书文件为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
部分安全性要求较高的API需要使用该证书来确认您的调用身份
windows上可以直接双击导入系统导入过程中会提示输入证书密码证书密码默认为您的商户ID10010000
证书pem格式apiclient_cert.pem
从apiclient_cert.p12中导出证书部分的文件为pem格式请妥善保管不要泄漏和被他人复制
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
证书密钥pem格式apiclient_key.pem
从apiclient_cert.p12中导出密钥部分的文件为pem格式
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
备注说明:
由于绝大部分操作系统已内置了微信支付服务器证书的根CA证书, 2018年3月6日后, 不再提供CA证书文件rootca.pem下载

View File

@@ -1,26 +1,26 @@
-----BEGIN CERTIFICATE-----
MIIEYzCCA8ygAwIBAgIEAdibtDANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC
Q04xEjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNV
BAoTB1RlbmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEf
MB0GCSqGSIb3DQEJARYQbW1wYXltY2hAdGVuY2VudDAeFw0xODAzMjcwMTM1MjZa
Fw0yODAzMjQwMTM1MjZaMIGSMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdk
b25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UEChMHVGVuY2VudDEOMAwGA1UE
CxMFTU1QYXkxJzAlBgNVBAMUHuaxn+ilv+Wkqeebm+e9kee7nOaciemZkOWFrOWP
uDERMA8GA1UEBBMIMTUxODk1NTQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC7Czq0IV1MdUywAltpzJr9hiDoK3lnqo1VP+oU7rP0D7jC6EzcCjx8J9sL
ukF+AAJVypYvK8seSXgKS5+x2LL0JbBQtvGJLYy5MM9t0w4xwhT6MV7xO1CkTNdJ
gBsS9H+bU66WNWh4mkDmdVoA02bCYErkzQ0JDwr6GN8WZp4j2TNWQ8MHsKFNGRML
sGAJwP7DVezy9Id503hTDHVn9naw13JjGXI6J20WUiBmeyxDO538Vgy2psrJCKM5
jOHjRWnKnGoi7bUpu2xjcWgib5fjV3dFTyjqRoH0ciM+uc96z9Amk8WEXY0sRM1l
PwZzgeB998pZQOcYjlMpAhXbogZNAgMBAAGjggFGMIIBQjAJBgNVHRMEAjAAMCwG
CWCGSAGG+EIBDQQfFh0iQ0VTLUNBIEdlbmVyYXRlIENlcnRpZmljYXRlIjAdBgNV
HQ4EFgQUWv5LtuMGBrWRp0fqeygAYwx5Pt8wgb8GA1UdIwSBtzCBtIAUPgUm9iJi
tBVbiM1kfrDUYqflhnShgZCkgY0wgYoxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlH
dWFuZ2RvbmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQww
CgYDVQQLEwNXWEcxEzARBgNVBAMTCk1tcGF5bWNoQ0ExHzAdBgkqhkiG9w0BCQEW
EG1tcGF5bWNoQHRlbmNlbnSCCQC7VJcrvADoVzAOBgNVHQ8BAf8EBAMCBsAwFgYD
VR0lAQH/BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEAvSZI4FwJ29hQ
2tL7iS3gLhB3K0exK9lQfBQ6JQAfoFmvXQUtA23H41AEKFjt/INB0DL7JhEMEa9H
aykFFO+qrjzut6HU25mFcVSsfTC5F6mtf/K5KPTRw6X5QQHNBazYH3Q4IiPJWAMX
gc3OOYfC21kUXyC4KlE4gpfwcKsZcLc=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEYzCCA8ygAwIBAgIEAdibtDANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC
Q04xEjAQBgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNV
BAoTB1RlbmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEf
MB0GCSqGSIb3DQEJARYQbW1wYXltY2hAdGVuY2VudDAeFw0xODAzMjcwMTM1MjZa
Fw0yODAzMjQwMTM1MjZaMIGSMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR3Vhbmdk
b25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UEChMHVGVuY2VudDEOMAwGA1UE
CxMFTU1QYXkxJzAlBgNVBAMUHuaxn+ilv+Wkqeebm+e9kee7nOaciemZkOWFrOWP
uDERMA8GA1UEBBMIMTUxODk1NTQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQC7Czq0IV1MdUywAltpzJr9hiDoK3lnqo1VP+oU7rP0D7jC6EzcCjx8J9sL
ukF+AAJVypYvK8seSXgKS5+x2LL0JbBQtvGJLYy5MM9t0w4xwhT6MV7xO1CkTNdJ
gBsS9H+bU66WNWh4mkDmdVoA02bCYErkzQ0JDwr6GN8WZp4j2TNWQ8MHsKFNGRML
sGAJwP7DVezy9Id503hTDHVn9naw13JjGXI6J20WUiBmeyxDO538Vgy2psrJCKM5
jOHjRWnKnGoi7bUpu2xjcWgib5fjV3dFTyjqRoH0ciM+uc96z9Amk8WEXY0sRM1l
PwZzgeB998pZQOcYjlMpAhXbogZNAgMBAAGjggFGMIIBQjAJBgNVHRMEAjAAMCwG
CWCGSAGG+EIBDQQfFh0iQ0VTLUNBIEdlbmVyYXRlIENlcnRpZmljYXRlIjAdBgNV
HQ4EFgQUWv5LtuMGBrWRp0fqeygAYwx5Pt8wgb8GA1UdIwSBtzCBtIAUPgUm9iJi
tBVbiM1kfrDUYqflhnShgZCkgY0wgYoxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlH
dWFuZ2RvbmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQww
CgYDVQQLEwNXWEcxEzARBgNVBAMTCk1tcGF5bWNoQ0ExHzAdBgkqhkiG9w0BCQEW
EG1tcGF5bWNoQHRlbmNlbnSCCQC7VJcrvADoVzAOBgNVHQ8BAf8EBAMCBsAwFgYD
VR0lAQH/BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADgYEAvSZI4FwJ29hQ
2tL7iS3gLhB3K0exK9lQfBQ6JQAfoFmvXQUtA23H41AEKFjt/INB0DL7JhEMEa9H
aykFFO+qrjzut6HU25mFcVSsfTC5F6mtf/K5KPTRw6X5QQHNBazYH3Q4IiPJWAMX
gc3OOYfC21kUXyC4KlE4gpfwcKsZcLc=
-----END CERTIFICATE-----

View File

@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC7Czq0IV1MdUyw
AltpzJr9hiDoK3lnqo1VP+oU7rP0D7jC6EzcCjx8J9sLukF+AAJVypYvK8seSXgK
S5+x2LL0JbBQtvGJLYy5MM9t0w4xwhT6MV7xO1CkTNdJgBsS9H+bU66WNWh4mkDm
dVoA02bCYErkzQ0JDwr6GN8WZp4j2TNWQ8MHsKFNGRMLsGAJwP7DVezy9Id503hT
DHVn9naw13JjGXI6J20WUiBmeyxDO538Vgy2psrJCKM5jOHjRWnKnGoi7bUpu2xj
cWgib5fjV3dFTyjqRoH0ciM+uc96z9Amk8WEXY0sRM1lPwZzgeB998pZQOcYjlMp
AhXbogZNAgMBAAECggEBAJrA5LYKcNYEqwlpOdbkWUvvQKS264Cw5LSm5/aftLX2
mAhzCLx5n6edlicy2GL2gPgYYH/wvOJ3KOFjxmHwB8fmsuVlJ5w22pqSXtzf5XuX
t6F1Xbc7OzJk/S6r1jqtnjKWXvmagLBf99h1OZ07S2cBIpYBbYqULqHUGCfBiY/g
BoEvZvA3ViK4W0APQNCi2GEHbCkLewBFyquuBSw1frefjFa0HKdR/v/XRaZx2OpS
uPrxK7nwwHl4PdcSp7R/vUBGImIx8j9ecFgItq8spaaa1oGBxpgYpxLNFZVBRr+b
keaD87Ywmdge8C6Xgv6Dj2FK2cxl1zadYhyHBqlCdOECgYEA72VIZl7UHrwbBJ3/
5Ylvy2ww9LSz1nj8KVnv7Mqq5uxYo9g6NcPtHC8p4y9CNb2I2d9H125hwIzCUJ3o
hdFM4jQTM740ovrK9xfkuOZQGpMryacxTa5LXA7Le+zQLmjD9tCS0RLKjP1IxMIJ
r+jbq3LEbW8hkHhYYkfE06Y1RQkCgYEAyARi+n9QKPKMw/oq59rvAg+HX6oe4xjK
+0ltDh7lFlw3SiJNxKwhw5jOjoknEo5jGS61H+KWBEy/mvIFAmASf2a9sz2PBE5e
vjoGJjcnmfcXtPGBsjA7weiO+/ON87nRo2tAAYj1AkRUjQhqFL3TLXPjbo6A8BGd
7ENMgxdlrCUCgYBzvl5g0Fxyd7QAaXu9uNNKYQbSaUPB4EDapVcw/1PdzkuU/Ag4
0n+jbtIruz+hx/+Qhzmu2Pl+JRAV9iLkACvR+ieGjuHYIrVa/jxhgUkdcCZtmt5l
lm1tFuIfCoIkzhZhELrLRvCTdipmpwIUANukaxq5Zk+uD+F7swNg6S08MQKBgQCY
xpD7mQcXX7yZbJodIqLwxf+22HBjMerI6Zq88Gg3HhS1MWKJWJkpl6wePzBzAgM7
luuOATpo6l5n8XhWCh/W5Bj9sYVt2paPYi6UPginl46qDNXtzt22DPY6CBxjD4nK
8v6erYfHRX33g3fTg/KrgxsytPJTbIFdl0H314U3aQKBgA1T6PFKA14VI6sgjxuT
I+j5JSnu0BnRecsWiDdT5oi+UEkQ0QIvBOzpLe5SQnqO9LMSo9mRW/UjRCUvFWjQ
XQBcdmWX01bb5bAs1K9dePuMR8QLuRBDTsAYfx3GttC9QgwAHdNVR9NvkuVeb8Ar
Y5QC0ufmlFpBTHzYmdMuS/VF
-----END PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC7Czq0IV1MdUyw
AltpzJr9hiDoK3lnqo1VP+oU7rP0D7jC6EzcCjx8J9sLukF+AAJVypYvK8seSXgK
S5+x2LL0JbBQtvGJLYy5MM9t0w4xwhT6MV7xO1CkTNdJgBsS9H+bU66WNWh4mkDm
dVoA02bCYErkzQ0JDwr6GN8WZp4j2TNWQ8MHsKFNGRMLsGAJwP7DVezy9Id503hT
DHVn9naw13JjGXI6J20WUiBmeyxDO538Vgy2psrJCKM5jOHjRWnKnGoi7bUpu2xj
cWgib5fjV3dFTyjqRoH0ciM+uc96z9Amk8WEXY0sRM1lPwZzgeB998pZQOcYjlMp
AhXbogZNAgMBAAECggEBAJrA5LYKcNYEqwlpOdbkWUvvQKS264Cw5LSm5/aftLX2
mAhzCLx5n6edlicy2GL2gPgYYH/wvOJ3KOFjxmHwB8fmsuVlJ5w22pqSXtzf5XuX
t6F1Xbc7OzJk/S6r1jqtnjKWXvmagLBf99h1OZ07S2cBIpYBbYqULqHUGCfBiY/g
BoEvZvA3ViK4W0APQNCi2GEHbCkLewBFyquuBSw1frefjFa0HKdR/v/XRaZx2OpS
uPrxK7nwwHl4PdcSp7R/vUBGImIx8j9ecFgItq8spaaa1oGBxpgYpxLNFZVBRr+b
keaD87Ywmdge8C6Xgv6Dj2FK2cxl1zadYhyHBqlCdOECgYEA72VIZl7UHrwbBJ3/
5Ylvy2ww9LSz1nj8KVnv7Mqq5uxYo9g6NcPtHC8p4y9CNb2I2d9H125hwIzCUJ3o
hdFM4jQTM740ovrK9xfkuOZQGpMryacxTa5LXA7Le+zQLmjD9tCS0RLKjP1IxMIJ
r+jbq3LEbW8hkHhYYkfE06Y1RQkCgYEAyARi+n9QKPKMw/oq59rvAg+HX6oe4xjK
+0ltDh7lFlw3SiJNxKwhw5jOjoknEo5jGS61H+KWBEy/mvIFAmASf2a9sz2PBE5e
vjoGJjcnmfcXtPGBsjA7weiO+/ON87nRo2tAAYj1AkRUjQhqFL3TLXPjbo6A8BGd
7ENMgxdlrCUCgYBzvl5g0Fxyd7QAaXu9uNNKYQbSaUPB4EDapVcw/1PdzkuU/Ag4
0n+jbtIruz+hx/+Qhzmu2Pl+JRAV9iLkACvR+ieGjuHYIrVa/jxhgUkdcCZtmt5l
lm1tFuIfCoIkzhZhELrLRvCTdipmpwIUANukaxq5Zk+uD+F7swNg6S08MQKBgQCY
xpD7mQcXX7yZbJodIqLwxf+22HBjMerI6Zq88Gg3HhS1MWKJWJkpl6wePzBzAgM7
luuOATpo6l5n8XhWCh/W5Bj9sYVt2paPYi6UPginl46qDNXtzt22DPY6CBxjD4nK
8v6erYfHRX33g3fTg/KrgxsytPJTbIFdl0H314U3aQKBgA1T6PFKA14VI6sgjxuT
I+j5JSnu0BnRecsWiDdT5oi+UEkQ0QIvBOzpLe5SQnqO9LMSo9mRW/UjRCUvFWjQ
XQBcdmWX01bb5bAs1K9dePuMR8QLuRBDTsAYfx3GttC9QgwAHdNVR9NvkuVeb8Ar
Y5QC0ufmlFpBTHzYmdMuS/VF
-----END PRIVATE KEY-----

View File

@@ -1,19 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
-----END CERTIFICATE-----

View File

@@ -1,18 +1,18 @@
欢迎使用微信支付!
附件中的三份文件证书pkcs12格式、证书pem格式、证书密钥pem格式,为接口中强制要求时需携带的证书文件。
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
不同开发语言下的证书格式不同,以下为说明指引:
证书pkcs12格式apiclient_cert.p12
包含了私钥信息的证书文件为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
部分安全性要求较高的API需要使用该证书来确认您的调用身份
windows上可以直接双击导入系统导入过程中会提示输入证书密码证书密码默认为您的商户ID10010000
证书pem格式apiclient_cert.pem
从apiclient_cert.p12中导出证书部分的文件为pem格式请妥善保管不要泄漏和被他人复制
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
证书密钥pem格式apiclient_key.pem
从apiclient_cert.p12中导出密钥部分的文件为pem格式
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
备注说明:
欢迎使用微信支付!
附件中的三份文件证书pkcs12格式、证书pem格式、证书密钥pem格式,为接口中强制要求时需携带的证书文件。
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
不同开发语言下的证书格式不同,以下为说明指引:
证书pkcs12格式apiclient_cert.p12
包含了私钥信息的证书文件为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
部分安全性要求较高的API需要使用该证书来确认您的调用身份
windows上可以直接双击导入系统导入过程中会提示输入证书密码证书密码默认为您的商户ID10010000
证书pem格式apiclient_cert.pem
从apiclient_cert.p12中导出证书部分的文件为pem格式请妥善保管不要泄漏和被他人复制
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
证书密钥pem格式apiclient_key.pem
从apiclient_cert.p12中导出密钥部分的文件为pem格式
部分开发语言和环境不能直接使用p12文件而需要使用pem所以为了方便您使用已为您直接提供
您也可以使用openssl命令来自己导出openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
备注说明:
由于绝大部分操作系统已内置了微信支付服务器证书的根CA证书, 2018年3月6日后, 不再提供CA证书文件rootca.pem下载

View File

@@ -1,26 +1,26 @@
-----BEGIN CERTIFICATE-----
MIIEazCCA9SgAwIBAgIDdCZUMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYDVQQGEwJD
TjESMBAGA1UECBMJR3Vhbmdkb25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UE
ChMHVGVuY2VudDEMMAoGA1UECxMDV1hHMRMwEQYDVQQDEwpNbXBheW1jaENBMR8w
HQYJKoZIhvcNAQkBFhBtbXBheW1jaEB0ZW5jZW50MB4XDTE2MTIzMDA3NTA1M1oX
DTI2MTIyODA3NTA1M1owgZsxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rv
bmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQ4wDAYDVQQL
EwVNTVBheTEwMC4GA1UEAxQn5rGf6KW/5riU5LmQ5a62572R57uc56eR5oqA5pyJ
6ZmQ5YWs5Y+4MREwDwYDVQQEEwgxNzY2NTIwMjCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAKHpH7LqOvYdWFl3mLUc7gG8/9E90d0gN83xhWvegah7VT3s
oOJoygX4599jcgVFZXVWiyEzqTRZZQ7f5FeDSb9ZynBg6fanYb1C/FqswN3pYJWy
d+a+Op2XsT7QoSK+4Eev/vqP6OX9xt3Kys4tu2190XvScI2Gsk5So31zkrIkHX3W
HLCa+J/cI2cbcR4pSsJRBGgvLNxbfes98xUPqI9j9Ui0KT/5+4qgmvKbXuwvmOYQ
h9m62+K4H+33V/ANetNouIJWh92LSorlDzRtazZSMth4utTw9WRy0mVRu7qd6s7A
aMv+uslrrRnzIbjf0cZDUAXRn0U3POwIkaIgpp8CAwEAAaOCAUYwggFCMAkGA1Ud
EwQCMAAwLAYJYIZIAYb4QgENBB8WHSJDRVMtQ0EgR2VuZXJhdGUgQ2VydGlmaWNh
dGUiMB0GA1UdDgQWBBTHAqvjBd+m7degGIxTjZBKj22lkzCBvwYDVR0jBIG3MIG0
gBQ+BSb2ImK0FVuIzWR+sNRip+WGdKGBkKSBjTCBijELMAkGA1UEBhMCQ04xEjAQ
BgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNVBAoTB1Rl
bmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEfMB0GCSqG
SIb3DQEJARYQbW1wYXltY2hAdGVuY2VudIIJALtUlyu8AOhXMA4GA1UdDwEB/wQE
AwIGwDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOBgQAa
caf82+6e5AgCTOyP6Ozq1+ao1nWVjzgMy4yRKmsUUczf/v+rUdz8U7UFZ1ICN3NY
bs57gJ/ZLSHtCk/L6AkvBwY+ri0iC2oD88AiMjdycgyjHHoheEYSV6T3qLwkMqZY
FCXJMDqIgoakpVv+l+du1kJVoOwAY1M9SHN791z5nw==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEazCCA9SgAwIBAgIDdCZUMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYDVQQGEwJD
TjESMBAGA1UECBMJR3Vhbmdkb25nMREwDwYDVQQHEwhTaGVuemhlbjEQMA4GA1UE
ChMHVGVuY2VudDEMMAoGA1UECxMDV1hHMRMwEQYDVQQDEwpNbXBheW1jaENBMR8w
HQYJKoZIhvcNAQkBFhBtbXBheW1jaEB0ZW5jZW50MB4XDTE2MTIzMDA3NTA1M1oX
DTI2MTIyODA3NTA1M1owgZsxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHdWFuZ2Rv
bmcxETAPBgNVBAcTCFNoZW56aGVuMRAwDgYDVQQKEwdUZW5jZW50MQ4wDAYDVQQL
EwVNTVBheTEwMC4GA1UEAxQn5rGf6KW/5riU5LmQ5a62572R57uc56eR5oqA5pyJ
6ZmQ5YWs5Y+4MREwDwYDVQQEEwgxNzY2NTIwMjCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAKHpH7LqOvYdWFl3mLUc7gG8/9E90d0gN83xhWvegah7VT3s
oOJoygX4599jcgVFZXVWiyEzqTRZZQ7f5FeDSb9ZynBg6fanYb1C/FqswN3pYJWy
d+a+Op2XsT7QoSK+4Eev/vqP6OX9xt3Kys4tu2190XvScI2Gsk5So31zkrIkHX3W
HLCa+J/cI2cbcR4pSsJRBGgvLNxbfes98xUPqI9j9Ui0KT/5+4qgmvKbXuwvmOYQ
h9m62+K4H+33V/ANetNouIJWh92LSorlDzRtazZSMth4utTw9WRy0mVRu7qd6s7A
aMv+uslrrRnzIbjf0cZDUAXRn0U3POwIkaIgpp8CAwEAAaOCAUYwggFCMAkGA1Ud
EwQCMAAwLAYJYIZIAYb4QgENBB8WHSJDRVMtQ0EgR2VuZXJhdGUgQ2VydGlmaWNh
dGUiMB0GA1UdDgQWBBTHAqvjBd+m7degGIxTjZBKj22lkzCBvwYDVR0jBIG3MIG0
gBQ+BSb2ImK0FVuIzWR+sNRip+WGdKGBkKSBjTCBijELMAkGA1UEBhMCQ04xEjAQ
BgNVBAgTCUd1YW5nZG9uZzERMA8GA1UEBxMIU2hlbnpoZW4xEDAOBgNVBAoTB1Rl
bmNlbnQxDDAKBgNVBAsTA1dYRzETMBEGA1UEAxMKTW1wYXltY2hDQTEfMB0GCSqG
SIb3DQEJARYQbW1wYXltY2hAdGVuY2VudIIJALtUlyu8AOhXMA4GA1UdDwEB/wQE
AwIGwDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOBgQAa
caf82+6e5AgCTOyP6Ozq1+ao1nWVjzgMy4yRKmsUUczf/v+rUdz8U7UFZ1ICN3NY
bs57gJ/ZLSHtCk/L6AkvBwY+ri0iC2oD88AiMjdycgyjHHoheEYSV6T3qLwkMqZY
FCXJMDqIgoakpVv+l+du1kJVoOwAY1M9SHN791z5nw==
-----END CERTIFICATE-----

View File

@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCh6R+y6jr2HVhZ
d5i1HO4BvP/RPdHdIDfN8YVr3oGoe1U97KDiaMoF+OffY3IFRWV1VoshM6k0WWUO
3+RXg0m/WcpwYOn2p2G9QvxarMDd6WCVsnfmvjqdl7E+0KEivuBHr/76j+jl/cbd
ysrOLbttfdF70nCNhrJOUqN9c5KyJB191hywmvif3CNnG3EeKUrCUQRoLyzcW33r
PfMVD6iPY/VItCk/+fuKoJrym17sL5jmEIfZutviuB/t91fwDXrTaLiCVofdi0qK
5Q80bWs2UjLYeLrU8PVkctJlUbu6nerOwGjL/rrJa60Z8yG439HGQ1AF0Z9FNzzs
CJGiIKafAgMBAAECggEAahlcPmAjlxgPx0EJ/tUgWl9BvBoopiDwsLHuXouGp6N6
boPbwcItcNB1EfwWwcGCBOxba7xwyu8xvBeXiIluEEiE0jOP3aQ99kopGDpQgJro
QfCbhcduncrDyYfpr90pF5ELI6KeWeh9IuY7E/T/93YVinCSdQupWI3quNC9dqIN
EgYKDctBFGe+f1KtzcJfUWDeD8MWTOqhDnt77gxekFxli4O//ARDRN6i1mZjU/Bo
GH02DsdK/rA12qGhrfJP6sfyNoBlTBIurUT7VG9AIT2UknG+uH4qLGCEMU09cKzg
F1cH+6qsI6s03tfQK8voYtGvK4fg1KXrolaQgL4mQQKBgQDQhOjUdpfsz1KyRZKd
s41aovGi1dkzZS4AXWbIGW1ovB7IdbGd/NZq7N194SbG5+sn7JFED6statvV/gwa
7XviGWAWh4AWnQT3A+EH6x0izRLs3iQB3x6JnL6tDdA3XfcwvSAUjicHP+HTfJPK
6zqY5Mihz07r6lt6tg01DYOnjwKBgQDGx0oI0JQML6tLfK7EReBmOQ0lmbh5Jkst
Hzm2V2Uuc11FGQ47AU3wlMkWk5OCURgOQWoZnxYlAhy2OB8MnAQku0ZAWSwjeHEW
vZu+XQFVFMs23FVb/dD5eB7eJSCNKSugzhHgs6nNj5MreHU+3cmJDTJThwBU+kY1
QZGe8TUH8QKBgQCBFBVxGCy5yik98/Vrq+9v0PhVvZ1jxFlynl72tU7WC8Xef4TA
8PfmXtRJjSvM61nVcAsIn85uIf0N/eKOdL5AW0bxC1YOKYseQgd2OGPj3CDAAk81
3WFw/FfIlolzDLbtM9X9A3ZDdZccrLxsW6r9ZHqSN9t6DKwuTS3lzoTWHwKBgBdd
HzeQBIa2J6UUv5n0OJ7rP79WpRcgSB/Cls720L638pOHkWOgEKAhbM1JhUIA9Bng
2G6wgzLQX72PNR8PS3Fhza0MjiKRKoGowaCLX/e3HPeSyDmqyKA53S7xIDVXTHh3
ICTQGTo/EOZAH0/HU8PXGD43FPPoAs6JqWsMINaRAoGAJA7PlrCzd4rbm0IOFqj+
rsF16/NqS3GN34j74JWvTxkDew7sa2hmsndZAVsn+6l7PT3pxzRiq0lDFt8NiciO
oc4dTRcvKFQMcfClYlE9/PckFKZpCl/XDfNirwEJilTY4E5kLWG1Jsrf7k5F/Q99
AY3pNzVB+L03PIBLjvAdBXI=
-----END PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCh6R+y6jr2HVhZ
d5i1HO4BvP/RPdHdIDfN8YVr3oGoe1U97KDiaMoF+OffY3IFRWV1VoshM6k0WWUO
3+RXg0m/WcpwYOn2p2G9QvxarMDd6WCVsnfmvjqdl7E+0KEivuBHr/76j+jl/cbd
ysrOLbttfdF70nCNhrJOUqN9c5KyJB191hywmvif3CNnG3EeKUrCUQRoLyzcW33r
PfMVD6iPY/VItCk/+fuKoJrym17sL5jmEIfZutviuB/t91fwDXrTaLiCVofdi0qK
5Q80bWs2UjLYeLrU8PVkctJlUbu6nerOwGjL/rrJa60Z8yG439HGQ1AF0Z9FNzzs
CJGiIKafAgMBAAECggEAahlcPmAjlxgPx0EJ/tUgWl9BvBoopiDwsLHuXouGp6N6
boPbwcItcNB1EfwWwcGCBOxba7xwyu8xvBeXiIluEEiE0jOP3aQ99kopGDpQgJro
QfCbhcduncrDyYfpr90pF5ELI6KeWeh9IuY7E/T/93YVinCSdQupWI3quNC9dqIN
EgYKDctBFGe+f1KtzcJfUWDeD8MWTOqhDnt77gxekFxli4O//ARDRN6i1mZjU/Bo
GH02DsdK/rA12qGhrfJP6sfyNoBlTBIurUT7VG9AIT2UknG+uH4qLGCEMU09cKzg
F1cH+6qsI6s03tfQK8voYtGvK4fg1KXrolaQgL4mQQKBgQDQhOjUdpfsz1KyRZKd
s41aovGi1dkzZS4AXWbIGW1ovB7IdbGd/NZq7N194SbG5+sn7JFED6statvV/gwa
7XviGWAWh4AWnQT3A+EH6x0izRLs3iQB3x6JnL6tDdA3XfcwvSAUjicHP+HTfJPK
6zqY5Mihz07r6lt6tg01DYOnjwKBgQDGx0oI0JQML6tLfK7EReBmOQ0lmbh5Jkst
Hzm2V2Uuc11FGQ47AU3wlMkWk5OCURgOQWoZnxYlAhy2OB8MnAQku0ZAWSwjeHEW
vZu+XQFVFMs23FVb/dD5eB7eJSCNKSugzhHgs6nNj5MreHU+3cmJDTJThwBU+kY1
QZGe8TUH8QKBgQCBFBVxGCy5yik98/Vrq+9v0PhVvZ1jxFlynl72tU7WC8Xef4TA
8PfmXtRJjSvM61nVcAsIn85uIf0N/eKOdL5AW0bxC1YOKYseQgd2OGPj3CDAAk81
3WFw/FfIlolzDLbtM9X9A3ZDdZccrLxsW6r9ZHqSN9t6DKwuTS3lzoTWHwKBgBdd
HzeQBIa2J6UUv5n0OJ7rP79WpRcgSB/Cls720L638pOHkWOgEKAhbM1JhUIA9Bng
2G6wgzLQX72PNR8PS3Fhza0MjiKRKoGowaCLX/e3HPeSyDmqyKA53S7xIDVXTHh3
ICTQGTo/EOZAH0/HU8PXGD43FPPoAs6JqWsMINaRAoGAJA7PlrCzd4rbm0IOFqj+
rsF16/NqS3GN34j74JWvTxkDew7sa2hmsndZAVsn+6l7PT3pxzRiq0lDFt8NiciO
oc4dTRcvKFQMcfClYlE9/PckFKZpCl/XDfNirwEJilTY4E5kLWG1Jsrf7k5F/Q99
AY3pNzVB+L03PIBLjvAdBXI=
-----END PRIVATE KEY-----

Some files were not shown because too many files have changed in this diff Show More