Version Description
(2020-03-17) = - Added in options to set custom redirect pages for both pending and automatically-confirmed bookings - Added in a new option to allow people to cancel their reservations on your site - Added in the post ID as a column option in the admin bookings table - Added in the ability to send an admin notification for bookings that are automatically confirmed - Added in an option to include reCAPTCHA in your booking form - Added in a past bookings view to the admin bookings table - Fixed styling issue with the Contemporary and Columns layouts - Fixed issue where styling for Contemporary and Columns layouts was being applied to the admin create/edit booking form - Fixed issue causing JSON error when adding Gutenberg block to a page - Fixed issue with header bar not displaying in other languages - Fixed an issue with the plugin submenus that could cause debug warnings - Fixed an issue with the "view bookings" functionality that was causing it to show bookings from the same day of the month, but from other months - Added pagination to the "view bookings" functionality to fix issue that was limiting it to 10 reservations - Updated styling for the "view bookings" lightbox - Updated the TCPDF library to the newest version - Updates to the admin dashboard area - Removing unused files
Release Info
Developer | Rustaurius |
Plugin | Restaurant Reservations |
Version | 2.1.0 |
Comparing to | |
See all releases |
Code changes from version 2.0.15 to 2.1.0
- assets/css/admin.css +33 -2
- assets/css/booking-form.css +142 -9
- assets/css/columns.css +13 -17
- assets/css/contemporary.css +59 -8
- assets/css/dashboard-review-ask.css +61 -0
- assets/css/plugin-deactivation.css +68 -0
- assets/img/rtb-dashboard-banner.png +0 -0
- assets/img/rtb-icon.png +0 -0
- assets/js/admin.js +17 -0
- assets/js/booking-form.js +57 -3
- assets/js/columns.js +2 -8
- assets/js/contemporary.js +0 -26
- assets/js/dashboard-review-ask.js +64 -0
- assets/js/plugin-deactivation.js +53 -0
- assets/js/rtb-recaptcha.js +5 -0
- assets/js/stripe-payment.js +37 -0
- assets/js/stripe.js +3 -0
- includes/Ajax.class.php +129 -3
- includes/Booking.class.php +63 -5
- includes/Cron.class.php +24 -12
- includes/CustomPostTypes.class.php +27 -0
- includes/Dashboard.class.php +28 -10
- includes/DeactivationSurvey.class.php +84 -0
- includes/Editor.class.php +2 -2
- includes/Export.PDF.class.php +2 -1
- includes/InstallationWalkthrough.class.php +1 -1
- includes/Notification.Email.class.php +23 -3
- includes/Notification.SMS.class.php +149 -0
- includes/Notification.class.php +14 -0
- includes/Notifications.class.php +52 -5
- includes/Permissions.class.php +4 -3
- includes/Query.class.php +8 -1
- includes/ReviewAsk.class.php +98 -0
- includes/Settings.class.php +968 -120
- includes/WP_List_Table.BookingsTable.class.php +24 -3
- includes/template-functions.php +396 -37
- lib/simple-admin-pages/classes/AdminPageSection.class.php +5 -8
- lib/stripe/.coveralls.yml +4 -0
- lib/stripe/.gitignore +14 -0
- lib/stripe/.travis.yml +17 -0
- lib/stripe/CHANGELOG.md +364 -0
- lib/stripe/LICENSE +21 -0
- lib/stripe/README.md +129 -0
- lib/stripe/VERSION +1 -0
- lib/stripe/build.php +36 -0
- lib/stripe/composer.json +36 -0
- lib/stripe/data/ca-certificates.crt +3919 -0
- lib/stripe/data/test.png +0 -0
- lib/stripe/init.php +67 -0
- lib/stripe/lib/Account.php +131 -0
- lib/stripe/lib/AlipayAccount.php +13 -0
- lib/stripe/lib/ApiRequestor.php +244 -0
- lib/stripe/lib/ApiResource.php +205 -0
- lib/stripe/lib/ApiResponse.php +32 -0
- lib/stripe/lib/ApplicationFee.php +69 -0
- lib/stripe/lib/ApplicationFeeRefund.php +44 -0
- lib/stripe/lib/AttachedObject.php +31 -0
- lib/stripe/lib/Balance.php +26 -0
- lib/stripe/lib/BalanceTransaction.php +57 -0
- lib/stripe/lib/BankAccount.php +25 -0
- lib/stripe/lib/BitcoinReceiver.php +85 -0
- lib/stripe/lib/BitcoinTransaction.php +13 -0
- lib/stripe/lib/Card.php +13 -0
- lib/stripe/lib/Charge.php +184 -0
- lib/stripe/lib/Collection.php +87 -0
- lib/stripe/lib/CountrySpec.php +44 -0
- lib/stripe/lib/Coupon.php +77 -0
- lib/stripe/lib/Customer.php +190 -0
- lib/stripe/lib/Dispute.php +83 -0
- lib/stripe/lib/Error/Api.php +7 -0
- lib/stripe/lib/Error/ApiConnection.php +7 -0
- lib/stripe/lib/Error/Authentication.php +7 -0
- lib/stripe/lib/Error/Base.php +60 -0
- lib/stripe/lib/Error/Card.php +41 -0
- lib/stripe/lib/Error/InvalidRequest.php +23 -0
- lib/stripe/lib/Error/RateLimit.php +7 -0
- lib/stripe/lib/Event.php +43 -0
- lib/stripe/lib/ExternalAccount.php +89 -0
- lib/stripe/lib/FileUpload.php +61 -0
- lib/stripe/lib/HttpClient/ClientInterface.php +18 -0
- lib/stripe/lib/HttpClient/CurlClient.php +298 -0
- lib/stripe/lib/Invoice.php +92 -0
- lib/stripe/lib/InvoiceItem.php +77 -0
- lib/stripe/lib/JsonSerializable.php +18 -0
- lib/stripe/lib/Order.php +87 -0
- lib/stripe/lib/OrderReturn.php +33 -0
- lib/stripe/lib/Plan.php +77 -0
- lib/stripe/lib/Product.php +77 -0
- lib/stripe/lib/Recipient.php +92 -0
- lib/stripe/lib/Refund.php +79 -0
- lib/stripe/lib/SKU.php +77 -0
- lib/stripe/lib/SingletonApiResource.php +36 -0
- lib/stripe/lib/Stripe.php +100 -0
- lib/stripe/lib/StripeObject.php +293 -0
- lib/stripe/lib/Subscription.php +97 -0
- lib/stripe/lib/ThreeDSecure.php +25 -0
- lib/stripe/lib/Token.php +43 -0
- lib/stripe/lib/Transfer.php +115 -0
- lib/stripe/lib/TransferReversal.php +53 -0
- lib/stripe/lib/Util/AutoPagingIterator.php +61 -0
- lib/stripe/lib/Util/RequestOptions.php +79 -0
- lib/stripe/lib/Util/Set.php +44 -0
- lib/stripe/lib/Util/Util.php +140 -0
- lib/stripe/phpunit.no_autoload.xml +15 -0
- lib/stripe/phpunit.xml +15 -0
- lib/stripe/tests/AccountTest.php +300 -0
- lib/stripe/tests/ApiRequestorTest.php +43 -0
- lib/stripe/tests/ApplicationFeeRefundTest.php +18 -0
- lib/stripe/tests/ApplicationFeeTest.php +22 -0
- lib/stripe/tests/AuthenticationErrorTest.php +16 -0
- lib/stripe/tests/BalanceTest.php +15 -0
- lib/stripe/tests/BalanceTransactionTest.php +13 -0
- lib/stripe/tests/BankAccountTest.php +32 -0
- lib/stripe/tests/BitcoinReceiverTest.php +120 -0
- lib/stripe/tests/CardErrorTest.php +40 -0
- lib/stripe/tests/ChargeTest.php +204 -0
- lib/stripe/tests/CollectionTest.php +105 -0
- lib/stripe/tests/CountrySpecTest.php +31 -0
- lib/stripe/tests/CouponTest.php +29 -0
- lib/stripe/tests/CurlClientTest.php +92 -0
- lib/stripe/tests/CustomerTest.php +278 -0
- lib/stripe/tests/DiscountTest.php +31 -0
- lib/stripe/tests/DisputeTest.php +91 -0
- lib/stripe/tests/ErrorTest.php +61 -0
- lib/stripe/tests/ExternalAccountTest.php +30 -0
- lib/stripe/tests/FileUploadTest.php +44 -0
- lib/stripe/tests/InvalidRequestErrorTest.php +26 -0
- lib/stripe/tests/InvoiceTest.php +56 -0
- lib/stripe/tests/PlanTest.php +51 -0
- lib/stripe/tests/ProductTest.php +158 -0
- lib/stripe/tests/RateLimitErrorTest.php +22 -0
- lib/stripe/tests/RecipientTest.php +112 -0
- lib/stripe/tests/RefundTest.php +131 -0
- lib/stripe/tests/RequestOptionsTest.php +69 -0
- lib/stripe/tests/StripeObjectTest.php +108 -0
- lib/stripe/tests/SubscriptionTest.php +101 -0
- lib/stripe/tests/TestCase.php +224 -0
- lib/stripe/tests/ThreeDSecureTest.php +31 -0
- lib/stripe/tests/TokenTest.php +13 -0
- lib/stripe/tests/TransferReversalTest.php +15 -0
- lib/stripe/tests/TransferTest.php +110 -0
- lib/stripe/tests/UtilTest.php +45 -0
- lib/stripe/tests/bootstrap.no_autoload.php +4 -0
- lib/stripe/tests/bootstrap.php +3 -0
- lib/tcpdf/CHANGELOG.TXT +39 -0
- lib/tcpdf/LICENSE.TXT +2 -0
- lib/tcpdf/README.TXT +0 -115
- lib/tcpdf/README.md +84 -0
- lib/tcpdf/VERSION +1 -0
- lib/tcpdf/composer.json +45 -38
- lib/tcpdf/config/tcpdf_config.php +2 -2
- lib/tcpdf/fonts/dejavu-fonts-ttf-2.34/AUTHORS +0 -54
- lib/tcpdf/fonts/dejavu-fonts-ttf-2.34/BUGS +0 -3
- lib/tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE +0 -99
- lib/tcpdf/fonts/dejavu-fonts-ttf-2.34/NEWS +0 -1373
- lib/tcpdf/fonts/dejavu-fonts-ttf-2.34/README +0 -59
- lib/tcpdf/fonts/dejavu-fonts-ttf-2.34/langcover.txt +0 -249
- lib/tcpdf/fonts/dejavu-fonts-ttf-2.34/status.txt +0 -1141
@@ -1,5 +1,9 @@
|
|
1 |
/* CSS Stylesheet for the admin interface for Restaurant Reservations */
|
2 |
|
|
|
|
|
|
|
|
|
3 |
.clearfix:before,
|
4 |
.clearfix:after { /* thanks bootstrap */
|
5 |
content: " ";
|
@@ -782,7 +786,8 @@ NEW DASHBOARD
|
|
782 |
.rtb-dashboard-new-upgrade-banner {
|
783 |
position: relative;
|
784 |
float: left;
|
785 |
-
|
|
|
786 |
height: 256px;
|
787 |
background: url(../img/rtb-dashboard-banner.png) center no-repeat #1b0f49;
|
788 |
}
|
@@ -911,7 +916,33 @@ NEW DASHBOARD
|
|
911 |
}
|
912 |
}
|
913 |
|
914 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
915 |
|
916 |
|
917 |
|
1 |
/* CSS Stylesheet for the admin interface for Restaurant Reservations */
|
2 |
|
3 |
+
.rtb-hidden {
|
4 |
+
display: none;
|
5 |
+
}
|
6 |
+
|
7 |
.clearfix:before,
|
8 |
.clearfix:after { /* thanks bootstrap */
|
9 |
content: " ";
|
786 |
.rtb-dashboard-new-upgrade-banner {
|
787 |
position: relative;
|
788 |
float: left;
|
789 |
+
margin-left: -20px;
|
790 |
+
width: calc(100% + 20px);
|
791 |
height: 256px;
|
792 |
background: url(../img/rtb-dashboard-banner.png) center no-repeat #1b0f49;
|
793 |
}
|
916 |
}
|
917 |
}
|
918 |
|
919 |
+
.rtb-ultimate-upgrade-dismiss {
|
920 |
+
position: absolute;
|
921 |
+
top: 0;
|
922 |
+
right: 1px;
|
923 |
+
border: none;
|
924 |
+
margin: 0;
|
925 |
+
padding: 9px;
|
926 |
+
background: 0 0;
|
927 |
+
color: #72777c;
|
928 |
+
cursor: pointer;
|
929 |
+
}
|
930 |
+
.rtb-ultimate-upgrade-dismiss:before {
|
931 |
+
background: 0 0;
|
932 |
+
color: #72777c;
|
933 |
+
content: "\f153";
|
934 |
+
display: block;
|
935 |
+
font: normal 16px/20px dashicons;
|
936 |
+
speak: none;
|
937 |
+
height: 20px;
|
938 |
+
text-align: center;
|
939 |
+
width: 20px;
|
940 |
+
-webkit-font-smoothing: antialiased;
|
941 |
+
}
|
942 |
+
.rtb-ultimate-notification {
|
943 |
+
width: calc(100% - 25px);
|
944 |
+
float: left;
|
945 |
+
}
|
946 |
|
947 |
|
948 |
|
@@ -1,5 +1,8 @@
|
|
1 |
/* Frontend CSS Stylesheet for Restaurant Reservations */
|
2 |
|
|
|
|
|
|
|
3 |
.rtb-hidden {
|
4 |
display: none;
|
5 |
}
|
@@ -88,15 +91,6 @@
|
|
88 |
|
89 |
|
90 |
/* ARRIVAL LIGHTBOX */
|
91 |
-
.rtb-view-bookings-form-confirmation-div {
|
92 |
-
position: fixed;
|
93 |
-
top: 100px;
|
94 |
-
z-index: 1000000;
|
95 |
-
margin: 0 auto;
|
96 |
-
background: #fff;
|
97 |
-
width: 100%;
|
98 |
-
max-width: 1080px;
|
99 |
-
}
|
100 |
.rtb-view-bookings-form-confirmation-background-div {
|
101 |
position: fixed;
|
102 |
top: 0;
|
@@ -105,4 +99,143 @@
|
|
105 |
height: 100%;
|
106 |
z-index: 999999;
|
107 |
background: rgba(0,0,0,0.5);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
}
|
1 |
/* Frontend CSS Stylesheet for Restaurant Reservations */
|
2 |
|
3 |
+
.rtb-clear {
|
4 |
+
clear: both;
|
5 |
+
}
|
6 |
.rtb-hidden {
|
7 |
display: none;
|
8 |
}
|
91 |
|
92 |
|
93 |
/* ARRIVAL LIGHTBOX */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
.rtb-view-bookings-form-confirmation-background-div {
|
95 |
position: fixed;
|
96 |
top: 0;
|
99 |
height: 100%;
|
100 |
z-index: 999999;
|
101 |
background: rgba(0,0,0,0.5);
|
102 |
+
}
|
103 |
+
.rtb-view-bookings-form-confirmation-div {
|
104 |
+
position: fixed;
|
105 |
+
top: 200px;
|
106 |
+
width: 480px;
|
107 |
+
left: calc(50% - 240px);
|
108 |
+
z-index: 1000000;
|
109 |
+
margin: 0;
|
110 |
+
background: #fff;
|
111 |
+
font-size: 18px;
|
112 |
+
text-transform: uppercase;
|
113 |
+
font-weight: bold;
|
114 |
+
text-align: center;
|
115 |
+
}
|
116 |
+
.rtb-view-bookings-form-confirmation-div-inside {
|
117 |
+
position: relative;
|
118 |
+
float: left;
|
119 |
+
width: calc(100% - 6px);
|
120 |
+
height: calc(100% - 12px);
|
121 |
+
border: 3px solid #ddd;
|
122 |
+
margin: 3px;
|
123 |
+
}
|
124 |
+
.rtb-view-bookings-form-confirmation-div-title {
|
125 |
+
position: relative;
|
126 |
+
float: left;
|
127 |
+
width: 90%;
|
128 |
+
margin: 24px 5%;
|
129 |
+
color: #333;
|
130 |
+
}
|
131 |
+
.rtb-view-bookings-form-confirmation-accept {
|
132 |
+
position: relative;
|
133 |
+
float: left;
|
134 |
+
width: 32%;
|
135 |
+
margin: 24px 34% 0;
|
136 |
+
padding: 8px 0;
|
137 |
+
background: #444;
|
138 |
+
color: #fff;
|
139 |
+
cursor: pointer;
|
140 |
+
}
|
141 |
+
.rtb-view-bookings-form-confirmation-accept:hover {
|
142 |
+
background: #555;
|
143 |
+
}
|
144 |
+
.rtb-view-bookings-form-confirmation-decline {
|
145 |
+
position: relative;
|
146 |
+
float: left;
|
147 |
+
width: 32%;
|
148 |
+
margin: 8px 34% 24px;
|
149 |
+
padding: 8px 0;
|
150 |
+
background: #bbb;
|
151 |
+
color: #444;
|
152 |
+
cursor: pointer;
|
153 |
+
}
|
154 |
+
.rtb-view-bookings-form-confirmation-decline:hover {
|
155 |
+
background: #ccc;
|
156 |
+
}
|
157 |
+
|
158 |
+
#rtb-view-bookings-form-close {
|
159 |
+
position: absolute;
|
160 |
+
top: 0;
|
161 |
+
right: 0;
|
162 |
+
width: 24px;
|
163 |
+
height: 24px;
|
164 |
+
background: #ddd;
|
165 |
+
font-size: 15px;
|
166 |
+
cursor: pointer;
|
167 |
+
}
|
168 |
+
|
169 |
+
@media screen and (max-width: 568px) {
|
170 |
+
.rtb-view-bookings-form-confirmation-div {
|
171 |
+
top: 100px;
|
172 |
+
width: 300px;
|
173 |
+
left: calc(50% - 150px);
|
174 |
+
}
|
175 |
+
}
|
176 |
+
|
177 |
+
|
178 |
+
/*CANCEL LINK*/
|
179 |
+
.rtb-cancellation-toggle {
|
180 |
+
position: relative;
|
181 |
+
float: left;
|
182 |
+
padding: 10px 15px;
|
183 |
+
margin-bottom: 24px;
|
184 |
+
background: #444;
|
185 |
+
color: #fff;
|
186 |
+
border-radius: 3px;
|
187 |
+
cursor: pointer;
|
188 |
+
}
|
189 |
+
label[for="rtb-cancellation-email"],
|
190 |
+
input[name="rtb_cancellation_email"] {
|
191 |
+
float: left;
|
192 |
+
margin-top: 20px;
|
193 |
+
}
|
194 |
+
label[for="rtb-cancellation-email"] {
|
195 |
+
margin-right: 12px;
|
196 |
+
}
|
197 |
+
.rtb-cancel-button {
|
198 |
+
position: relative;
|
199 |
+
float: left;
|
200 |
+
padding: 10px 15px;
|
201 |
+
margin-top: 24px;
|
202 |
+
background: #444;
|
203 |
+
color: #fff;
|
204 |
+
border-radius: 3px;
|
205 |
+
cursor: pointer;
|
206 |
+
}
|
207 |
+
|
208 |
+
.rtb-bookings-results,
|
209 |
+
.rtb-cancel-booking-div {
|
210 |
+
position: relative;
|
211 |
+
float: left;
|
212 |
+
width: 100%;
|
213 |
+
margin-top: 16px;
|
214 |
+
}
|
215 |
+
.rtb-cancel-booking-div {
|
216 |
+
position: relative;
|
217 |
+
float: left;
|
218 |
+
width: calc(100% - 2px);
|
219 |
+
border: 1px solid #ddd;
|
220 |
+
}
|
221 |
+
.rtb-cancel-booking {
|
222 |
+
position: relative;
|
223 |
+
float: left;
|
224 |
+
width: 200px;
|
225 |
+
text-align: center;
|
226 |
+
padding: 10px 0;
|
227 |
+
background: #fe4e4e;
|
228 |
+
color: #fff;
|
229 |
+
cursor: pointer;
|
230 |
+
}
|
231 |
+
.rtb-cancel-booking:hover {
|
232 |
+
background: #ff6b6b;
|
233 |
+
color: #fff;
|
234 |
+
}
|
235 |
+
.rtb-booking-information {
|
236 |
+
position: relative;
|
237 |
+
float: left;
|
238 |
+
margin-left: 32px;
|
239 |
+
width: calc(100% - 232px);
|
240 |
+
padding: 10px 0;
|
241 |
}
|
@@ -1,9 +1,3 @@
|
|
1 |
-
.rtb-booking-form,
|
2 |
-
.rtb-booking-form form {
|
3 |
-
position: relative;
|
4 |
-
float: left;
|
5 |
-
width: 100%;
|
6 |
-
}
|
7 |
.rtb-booking-form fieldset {
|
8 |
border: 0 solid #ccc;
|
9 |
margin: 0;
|
@@ -14,21 +8,17 @@
|
|
14 |
float: left;
|
15 |
margin-top: 32px;
|
16 |
}
|
17 |
-
.rtb-booking-form fieldset
|
18 |
-
width:
|
19 |
margin-right: 5%;
|
20 |
}
|
21 |
-
.rtb-booking-form fieldset
|
22 |
-
|
23 |
}
|
24 |
@media screen and (max-width: 768px) {
|
25 |
-
.rtb-booking-form fieldset
|
26 |
-
width: 100%;
|
27 |
-
margin-right: 0;
|
28 |
-
margin-bottom: 28px;
|
29 |
-
}
|
30 |
-
.rtb-booking-form fieldset.contact {
|
31 |
width: 100%;
|
|
|
32 |
}
|
33 |
}
|
34 |
|
@@ -47,6 +37,7 @@
|
|
47 |
text-align: center;
|
48 |
color: #666;
|
49 |
font-weight: bold;
|
|
|
50 |
}
|
51 |
|
52 |
.rtb-booking-form fieldset.optin {
|
@@ -80,6 +71,7 @@
|
|
80 |
.rtb-booking-form form select,
|
81 |
.rtb-booking-form form input {
|
82 |
height: 48px;
|
|
|
83 |
}
|
84 |
.rtb-booking-form form input::webkit-input-placeholder,
|
85 |
.rtb-booking-form form input:ms--input-placeholder,
|
@@ -99,19 +91,23 @@
|
|
99 |
border: 1px solid #ddd;
|
100 |
background: white;
|
101 |
color: #888;
|
|
|
102 |
}
|
103 |
.rtb-booking-form .add-message a:hover {
|
104 |
background: #aaa;
|
105 |
border-color: #aaa;
|
106 |
color: white;
|
|
|
107 |
}
|
108 |
|
109 |
.rtb-booking-form button {
|
|
|
110 |
float: left;
|
111 |
-
margin-top:
|
112 |
cursor: pointer;
|
113 |
display: block;
|
114 |
align-items: stretch;
|
|
|
115 |
}
|
116 |
|
117 |
.rtb-booking-form fieldset.optin input[type="checkbox"] {
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
.rtb-booking-form fieldset {
|
2 |
border: 0 solid #ccc;
|
3 |
margin: 0;
|
8 |
float: left;
|
9 |
margin-top: 32px;
|
10 |
}
|
11 |
+
.rtb-booking-form fieldset {
|
12 |
+
width: 47.5%;
|
13 |
margin-right: 5%;
|
14 |
}
|
15 |
+
.rtb-booking-form fieldset:nth-of-type(2n+2) {
|
16 |
+
margin-right: 0;
|
17 |
}
|
18 |
@media screen and (max-width: 768px) {
|
19 |
+
.rtb-booking-form fieldset {
|
|
|
|
|
|
|
|
|
|
|
20 |
width: 100%;
|
21 |
+
margin-right: 0 !important;
|
22 |
}
|
23 |
}
|
24 |
|
37 |
text-align: center;
|
38 |
color: #666;
|
39 |
font-weight: bold;
|
40 |
+
margin-bottom: 0 !important
|
41 |
}
|
42 |
|
43 |
.rtb-booking-form fieldset.optin {
|
71 |
.rtb-booking-form form select,
|
72 |
.rtb-booking-form form input {
|
73 |
height: 48px;
|
74 |
+
width: 100%;
|
75 |
}
|
76 |
.rtb-booking-form form input::webkit-input-placeholder,
|
77 |
.rtb-booking-form form input:ms--input-placeholder,
|
91 |
border: 1px solid #ddd;
|
92 |
background: white;
|
93 |
color: #888;
|
94 |
+
text-decoration: none;
|
95 |
}
|
96 |
.rtb-booking-form .add-message a:hover {
|
97 |
background: #aaa;
|
98 |
border-color: #aaa;
|
99 |
color: white;
|
100 |
+
text-decoration: none;
|
101 |
}
|
102 |
|
103 |
.rtb-booking-form button {
|
104 |
+
clear: both;
|
105 |
float: left;
|
106 |
+
margin-top: 36px;
|
107 |
cursor: pointer;
|
108 |
display: block;
|
109 |
align-items: stretch;
|
110 |
+
text-decoration: none;
|
111 |
}
|
112 |
|
113 |
.rtb-booking-form fieldset.optin input[type="checkbox"] {
|
@@ -44,15 +44,39 @@
|
|
44 |
display: block;
|
45 |
width: 300px;
|
46 |
}
|
47 |
-
|
|
|
48 |
left: -1px;
|
49 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
.rtb-booking-form fieldset.reservation .rtb-select {
|
51 |
position: relative;
|
52 |
float: left;
|
53 |
display: block;
|
54 |
width: 300px;
|
55 |
-
left: -2px;
|
56 |
}
|
57 |
|
58 |
.rtb-booking-form form fieldset.reservation select,
|
@@ -120,12 +144,6 @@
|
|
120 |
display: block;
|
121 |
width: 300px;
|
122 |
}
|
123 |
-
.rtb-booking-form fieldset.contact .rtb-text.email {
|
124 |
-
left: -1px;
|
125 |
-
}
|
126 |
-
.rtb-booking-form fieldset.contact .rtb-text.phone {
|
127 |
-
left: -2px;
|
128 |
-
}
|
129 |
|
130 |
.rtb-booking-form form fieldset.contact select,
|
131 |
.rtb-booking-form form fieldset.contact textarea,
|
@@ -145,10 +163,12 @@
|
|
145 |
border: 2px solid #777;
|
146 |
background: white;
|
147 |
color: #777;
|
|
|
148 |
}
|
149 |
.rtb-booking-form .add-message a:hover {
|
150 |
background: #777;
|
151 |
color: white;
|
|
|
152 |
}
|
153 |
|
154 |
.rtb-booking-form form fieldset .rtb-textarea {
|
@@ -156,3 +176,34 @@
|
|
156 |
position: relative;
|
157 |
float: left;
|
158 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
display: block;
|
45 |
width: 300px;
|
46 |
}
|
47 |
+
|
48 |
+
.rtb-booking-form fieldset > div:nth-of-type(2) {
|
49 |
left: -1px;
|
50 |
}
|
51 |
+
.rtb-booking-form fieldset > div:nth-of-type(3) {
|
52 |
+
left: -2px;
|
53 |
+
}
|
54 |
+
.rtb-booking-form fieldset > div:nth-of-type(4) {
|
55 |
+
left: -3px;
|
56 |
+
}
|
57 |
+
.rtb-booking-form fieldset > div:nth-of-type(5) {
|
58 |
+
left: -4px;
|
59 |
+
}
|
60 |
+
.rtb-booking-form fieldset > div:nth-of-type(6) {
|
61 |
+
left: -5px;
|
62 |
+
}
|
63 |
+
.rtb-booking-form fieldset > div:nth-of-type(7) {
|
64 |
+
left: -6px;
|
65 |
+
}
|
66 |
+
.rtb-booking-form fieldset > div:nth-of-type(8) {
|
67 |
+
left: -7px;
|
68 |
+
}
|
69 |
+
.rtb-booking-form fieldset > div:nth-of-type(9) {
|
70 |
+
left: -8px;
|
71 |
+
}
|
72 |
+
.rtb-booking-form fieldset > div:nth-of-type(10) {
|
73 |
+
left: -9px;
|
74 |
+
}
|
75 |
.rtb-booking-form fieldset.reservation .rtb-select {
|
76 |
position: relative;
|
77 |
float: left;
|
78 |
display: block;
|
79 |
width: 300px;
|
|
|
80 |
}
|
81 |
|
82 |
.rtb-booking-form form fieldset.reservation select,
|
144 |
display: block;
|
145 |
width: 300px;
|
146 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
|
148 |
.rtb-booking-form form fieldset.contact select,
|
149 |
.rtb-booking-form form fieldset.contact textarea,
|
163 |
border: 2px solid #777;
|
164 |
background: white;
|
165 |
color: #777;
|
166 |
+
text-decoration: none;
|
167 |
}
|
168 |
.rtb-booking-form .add-message a:hover {
|
169 |
background: #777;
|
170 |
color: white;
|
171 |
+
text-decoration: none;
|
172 |
}
|
173 |
|
174 |
.rtb-booking-form form fieldset .rtb-textarea {
|
176 |
position: relative;
|
177 |
float: left;
|
178 |
}
|
179 |
+
|
180 |
+
|
181 |
+
.rtb-textarea {
|
182 |
+
margin-bottom: 24px;
|
183 |
+
}
|
184 |
+
.rtb-checkbox {
|
185 |
+
clear: both;
|
186 |
+
margin-bottom: 24px;
|
187 |
+
}
|
188 |
+
.rtb-booking-form fieldset select,
|
189 |
+
.rtb-booking-form fieldset input {
|
190 |
+
margin-top: 0 !important;
|
191 |
+
}
|
192 |
+
|
193 |
+
|
194 |
+
@media screen and (max-width: 900px) {
|
195 |
+
.rtb-booking-form fieldset > div {
|
196 |
+
clear: both;
|
197 |
+
}
|
198 |
+
.rtb-booking-form fieldset > div:nth-of-type(2),
|
199 |
+
.rtb-booking-form fieldset > div:nth-of-type(3),
|
200 |
+
.rtb-booking-form fieldset > div:nth-of-type(4),
|
201 |
+
.rtb-booking-form fieldset > div:nth-of-type(5),
|
202 |
+
.rtb-booking-form fieldset > div:nth-of-type(6),
|
203 |
+
.rtb-booking-form fieldset > div:nth-of-type(7),
|
204 |
+
.rtb-booking-form fieldset > div:nth-of-type(8),
|
205 |
+
.rtb-booking-form fieldset > div:nth-of-type(9),
|
206 |
+
.rtb-booking-form fieldset > div:nth-of-type(10) {}
|
207 |
+
left: 0;
|
208 |
+
}
|
209 |
+
}
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.rtb-hidden {
|
2 |
+
display: none;
|
3 |
+
}
|
4 |
+
.rtb-clear {
|
5 |
+
clear: both;
|
6 |
+
}
|
7 |
+
.rtb-main-dashboard-review-ask {
|
8 |
+
border-left-color: #1b335f;
|
9 |
+
}
|
10 |
+
.rtb-review-ask-plugin-icon {
|
11 |
+
height: 100px;
|
12 |
+
width: 100px;
|
13 |
+
float: left;
|
14 |
+
margin: 12px 24px 16px 10px;
|
15 |
+
background-image: url(../img/rtb-icon.png);
|
16 |
+
background-size: contain;
|
17 |
+
}
|
18 |
+
.rtb-review-ask-text p {
|
19 |
+
padding: 10px 20px;
|
20 |
+
font-weight: 600;
|
21 |
+
font-size: 20px;
|
22 |
+
}
|
23 |
+
.rtb-review-ask-action {
|
24 |
+
width: 90px;
|
25 |
+
padding: 6px;
|
26 |
+
margin-right: 18px;
|
27 |
+
text-align: center;
|
28 |
+
float: left;
|
29 |
+
border-radius: 4px;
|
30 |
+
cursor: pointer;
|
31 |
+
}
|
32 |
+
.rtb-review-ask-white {
|
33 |
+
color: #999999;
|
34 |
+
border: 1px solid #bbbbbb;
|
35 |
+
}
|
36 |
+
.rtb-review-ask-green {
|
37 |
+
color: #ffffff;
|
38 |
+
background: #7CA3BF;
|
39 |
+
border: 1px solid #7CA3BF;
|
40 |
+
font-weight: 600;
|
41 |
+
}
|
42 |
+
.rtb-review-ask-green a {
|
43 |
+
color: #ffffff;
|
44 |
+
text-decoration: none;
|
45 |
+
}
|
46 |
+
.rtb-review-ask-feedback-form {
|
47 |
+
position: relative;
|
48 |
+
float: left;
|
49 |
+
}.rtb-review-ask-feedback-explanation textarea {
|
50 |
+
height: 70px;
|
51 |
+
width: 480px;
|
52 |
+
}
|
53 |
+
.rtb-review-ask-send-feedback {
|
54 |
+
margin: 10px 0px;
|
55 |
+
}
|
56 |
+
|
57 |
+
|
58 |
+
.rtb-review-ask-review-text span {
|
59 |
+
font-size: .8em;
|
60 |
+
font-weight: normal;
|
61 |
+
}
|
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.rtb-deactivate-survey-modal {
|
2 |
+
display: none;
|
3 |
+
table-layout: fixed;
|
4 |
+
position: fixed;
|
5 |
+
z-index: 9999;
|
6 |
+
width: 100%;
|
7 |
+
height: 100%;
|
8 |
+
text-align: center;
|
9 |
+
font-size: 14px;
|
10 |
+
top: 0;
|
11 |
+
left: 0;
|
12 |
+
background: rgba(0,0,0,0.8);
|
13 |
+
}
|
14 |
+
.rtb-deactivate-survey-wrap {
|
15 |
+
display: table-cell;
|
16 |
+
vertical-align: middle;
|
17 |
+
}
|
18 |
+
.rtb-deactivate-survey {
|
19 |
+
background-color: #fff;
|
20 |
+
max-width: 550px;
|
21 |
+
margin: 0 auto;
|
22 |
+
padding: 30px;
|
23 |
+
text-align: left;
|
24 |
+
}
|
25 |
+
.rtb-deactivate-survey .error {
|
26 |
+
display: block;
|
27 |
+
color: red;
|
28 |
+
margin: 0 0 10px 0;
|
29 |
+
}
|
30 |
+
.rtb-deactivate-survey-title {
|
31 |
+
display: block;
|
32 |
+
font-size: 18px;
|
33 |
+
font-weight: 700;
|
34 |
+
text-transform: uppercase;
|
35 |
+
border-bottom: 1px solid #ddd;
|
36 |
+
padding: 0 0 18px 0;
|
37 |
+
margin: 0 0 18px 0;
|
38 |
+
}
|
39 |
+
.rtb-deactivate-survey-title span {
|
40 |
+
color: #999;
|
41 |
+
margin-right: 10px;
|
42 |
+
}
|
43 |
+
.rtb-deactivate-survey-desc {
|
44 |
+
display: block;
|
45 |
+
font-weight: 600;
|
46 |
+
margin: 0 0 18px 0;
|
47 |
+
}
|
48 |
+
.rtb-deactivate-survey-option {
|
49 |
+
margin: 0 0 10px 0;
|
50 |
+
}
|
51 |
+
.rtb-deactivate-survey-option-input {
|
52 |
+
margin-right: 10px !important;
|
53 |
+
}
|
54 |
+
.rtb-deactivate-survey-option-details {
|
55 |
+
display: none;
|
56 |
+
width: 90%;
|
57 |
+
margin: 10px 0 0 30px;
|
58 |
+
}
|
59 |
+
.rtb-deactivate-survey-footer {
|
60 |
+
margin-top: 18px;
|
61 |
+
}
|
62 |
+
.rtb-deactivate-survey-deactivate {
|
63 |
+
float: right;
|
64 |
+
font-size: 13px;
|
65 |
+
color: #ccc;
|
66 |
+
text-decoration: none;
|
67 |
+
padding-top: 7px;
|
68 |
+
}
|
Binary file
|
Binary file
|
@@ -979,6 +979,7 @@ jQuery(document).ready(function($){
|
|
979 |
$('#rtb-dash-mobile-menu-down-caret').toggle();
|
980 |
return false;
|
981 |
});
|
|
|
982 |
$(function(){
|
983 |
$(window).resize(function(){
|
984 |
if($(window).width() > 800){
|
@@ -991,16 +992,32 @@ jQuery(document).ready(function($){
|
|
991 |
}
|
992 |
}).resize();
|
993 |
});
|
|
|
994 |
$('#rtb-dashboard-support-widget-box .rtb-dashboard-new-widget-box-top').click(function(){
|
995 |
$('#rtb-dashboard-support-widget-box .rtb-dashboard-new-widget-box-bottom').toggle();
|
996 |
$('#rtb-dash-mobile-support-up-caret').toggle();
|
997 |
$('#rtb-dash-mobile-support-down-caret').toggle();
|
998 |
});
|
|
|
999 |
$('#rtb-dashboard-optional-table .rtb-dashboard-new-widget-box-top').click(function(){
|
1000 |
$('#rtb-dashboard-optional-table .rtb-dashboard-new-widget-box-bottom').toggle();
|
1001 |
$('#rtb-dash-optional-table-up-caret').toggle();
|
1002 |
$('#rtb-dash-optional-table-down-caret').toggle();
|
1003 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1004 |
});
|
1005 |
|
1006 |
/*LOCK BOXES*/
|
979 |
$('#rtb-dash-mobile-menu-down-caret').toggle();
|
980 |
return false;
|
981 |
});
|
982 |
+
|
983 |
$(function(){
|
984 |
$(window).resize(function(){
|
985 |
if($(window).width() > 800){
|
992 |
}
|
993 |
}).resize();
|
994 |
});
|
995 |
+
|
996 |
$('#rtb-dashboard-support-widget-box .rtb-dashboard-new-widget-box-top').click(function(){
|
997 |
$('#rtb-dashboard-support-widget-box .rtb-dashboard-new-widget-box-bottom').toggle();
|
998 |
$('#rtb-dash-mobile-support-up-caret').toggle();
|
999 |
$('#rtb-dash-mobile-support-down-caret').toggle();
|
1000 |
});
|
1001 |
+
|
1002 |
$('#rtb-dashboard-optional-table .rtb-dashboard-new-widget-box-top').click(function(){
|
1003 |
$('#rtb-dashboard-optional-table .rtb-dashboard-new-widget-box-bottom').toggle();
|
1004 |
$('#rtb-dash-optional-table-up-caret').toggle();
|
1005 |
$('#rtb-dash-optional-table-down-caret').toggle();
|
1006 |
});
|
1007 |
+
|
1008 |
+
$('.rtb-ultimate-upgrade-dismiss').on('click', function() {
|
1009 |
+
$('#rtb-dashboard-upgrade-box').addClass('rtb-hidden');
|
1010 |
+
$('#rtb-dashboard-show-upgrade-box-link').removeClass('rtb-hidden');
|
1011 |
+
|
1012 |
+
$.post( ajaxurl, 'action=rtb_hide_upgrade_box' );
|
1013 |
+
});
|
1014 |
+
|
1015 |
+
$('#rtb-dashboard-show-upgrade-box-link').on('click', function() {
|
1016 |
+
$('#rtb-dashboard-show-upgrade-box-link').addClass('rtb-hidden');
|
1017 |
+
$('#rtb-dashboard-upgrade-box').removeClass('rtb-hidden');
|
1018 |
+
|
1019 |
+
$.post( ajaxurl, 'action=rtb_display_upgrade_box' );
|
1020 |
+
});
|
1021 |
});
|
1022 |
|
1023 |
/*LOCK BOXES*/
|
@@ -204,8 +204,8 @@ jQuery(document).ready(function ($) {
|
|
204 |
return;
|
205 |
}
|
206 |
|
207 |
-
var additional_valid_times = jQuery.parseJSON( response );
|
208 |
-
var all_valid_times = valid_times.concat( additional_valid_times );
|
209 |
rtb_booking_form.timepicker.set( 'disable', all_valid_times );
|
210 |
});
|
211 |
}
|
@@ -422,6 +422,58 @@ jQuery(document).ready(function ($) {
|
|
422 |
rtb_booking_form.init();
|
423 |
});
|
424 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
425 |
// Functions for the 'View Bookings' shortcode
|
426 |
jQuery(document).ready(function ($) {
|
427 |
jQuery('.rtb-view-bookings-form-date-selector').on('change', function() {
|
@@ -450,10 +502,12 @@ jQuery(document).ready(function ($) {
|
|
450 |
jQuery('.rtb-view-bookings-form-confirmation-decline').on('click', function() {
|
451 |
jQuery('.rtb-view-bookings-form-confirmation-div, .rtb-view-bookings-form-confirmation-background-div').addClass('rtb-hidden');
|
452 |
});
|
453 |
-
|
454 |
jQuery('.rtb-view-bookings-form-confirmation-background-div').on('click', function() {
|
455 |
jQuery('.rtb-view-bookings-form-confirmation-div, .rtb-view-bookings-form-confirmation-background-div').addClass('rtb-hidden');
|
456 |
});
|
|
|
|
|
|
|
457 |
});
|
458 |
|
459 |
function replaceUrlParam(url, paramName, paramValue)
|
204 |
return;
|
205 |
}
|
206 |
|
207 |
+
var additional_valid_times = jQuery.parseJSON( response );
|
208 |
+
var all_valid_times = valid_times.concat( additional_valid_times );
|
209 |
rtb_booking_form.timepicker.set( 'disable', all_valid_times );
|
210 |
});
|
211 |
}
|
422 |
rtb_booking_form.init();
|
423 |
});
|
424 |
|
425 |
+
//Handle reservation cancellations
|
426 |
+
jQuery(document).ready(function() {
|
427 |
+
jQuery('.rtb-cancellation-toggle').on('click', function() {
|
428 |
+
jQuery('.rtb-cancellation-form, .rtb-booking-form-form').toggleClass('rtb-hidden');
|
429 |
+
|
430 |
+
if (jQuery('.rtb-cancellation-form').hasClass('rtb-hidden')) {
|
431 |
+
jQuery('.rtb-cancellation-toggle').html('Want to cancel your reservation?');
|
432 |
+
}
|
433 |
+
else {
|
434 |
+
jQuery('.rtb-cancellation-toggle').html('Make a reservation');
|
435 |
+
}
|
436 |
+
});
|
437 |
+
|
438 |
+
jQuery('.rtb-cancel-button').on('click', function() {
|
439 |
+
var booking_email = jQuery('input[name="rtb_cancellation_email"]').val();
|
440 |
+
|
441 |
+
var data = 'booking_email=' + booking_email + '&action=rtb_find_reservations';
|
442 |
+
jQuery.post(ajaxurl, data, function(response) { console.log(response);
|
443 |
+
|
444 |
+
if (response.success) {
|
445 |
+
var booking_html = '';
|
446 |
+
|
447 |
+
jQuery(response.data.bookings).each(function( index, val) {
|
448 |
+
booking_html += '<div class="rtb-cancel-booking-div">';
|
449 |
+
booking_html += '<div class="rtb-cancel-booking" data-bookingid="' + val.ID + '" data-bookingemail="' + val.email + '">Cancel</div>';
|
450 |
+
booking_html += '<div class="rtb-booking-information">' + val.datetime + ' - ' + val.party + ' guest' + (val.party > 1 ? 's' : '') + '</div>'
|
451 |
+
booking_html += '</div>';
|
452 |
+
});
|
453 |
+
|
454 |
+
jQuery('.rtb-bookings-results').html(booking_html);
|
455 |
+
|
456 |
+
cancellationHandler();
|
457 |
+
}
|
458 |
+
else {jQuery('.rtb-bookings-results').html(response.data.msg);}
|
459 |
+
});
|
460 |
+
});
|
461 |
+
});
|
462 |
+
|
463 |
+
function cancellationHandler() {
|
464 |
+
jQuery('.rtb-cancel-booking').off('click');
|
465 |
+
jQuery('.rtb-cancel-booking').on('click', function() {
|
466 |
+
var booking_id = jQuery(this).data('bookingid');
|
467 |
+
var booking_email = jQuery(this).data('bookingemail');
|
468 |
+
|
469 |
+
var data = 'booking_id=' + booking_id + '&booking_email=' + booking_email + '&action=rtb_cancel_reservations'; console.log(data);
|
470 |
+
jQuery.post(ajaxurl, data, function(response) { console.log(response);
|
471 |
+
if (response.success) {window.location.href = replaceUrlParam(window.location.href, 'bookingCancelled', 'success');}
|
472 |
+
else {jQuery('.rtb-bookings-results').html(response.data.msg);}
|
473 |
+
});
|
474 |
+
});
|
475 |
+
}
|
476 |
+
|
477 |
// Functions for the 'View Bookings' shortcode
|
478 |
jQuery(document).ready(function ($) {
|
479 |
jQuery('.rtb-view-bookings-form-date-selector').on('change', function() {
|
502 |
jQuery('.rtb-view-bookings-form-confirmation-decline').on('click', function() {
|
503 |
jQuery('.rtb-view-bookings-form-confirmation-div, .rtb-view-bookings-form-confirmation-background-div').addClass('rtb-hidden');
|
504 |
});
|
|
|
505 |
jQuery('.rtb-view-bookings-form-confirmation-background-div').on('click', function() {
|
506 |
jQuery('.rtb-view-bookings-form-confirmation-div, .rtb-view-bookings-form-confirmation-background-div').addClass('rtb-hidden');
|
507 |
});
|
508 |
+
jQuery('#rtb-view-bookings-form-close').on('click', function() {
|
509 |
+
jQuery('.rtb-view-bookings-form-confirmation-div, .rtb-view-bookings-form-confirmation-background-div').addClass('rtb-hidden');
|
510 |
+
});
|
511 |
});
|
512 |
|
513 |
function replaceUrlParam(url, paramName, paramValue)
|
@@ -3,14 +3,8 @@ jQuery(document).ready(function($){
|
|
3 |
$(window).resize(function(){
|
4 |
$('.rtb-booking-form form button').each(function(){
|
5 |
var thisButton = $(this);
|
6 |
-
var
|
7 |
-
|
8 |
-
if( $(window).width() > 768 ){
|
9 |
-
thisButton.css('margin-left', 'calc(50% - '+buttonHalfWidthBig+'px');
|
10 |
-
}
|
11 |
-
else{
|
12 |
-
thisButton.css('margin-left', 'calc(50% - '+buttonHalfWidthSmall+'px');
|
13 |
-
}
|
14 |
});
|
15 |
}).resize();
|
16 |
});
|
3 |
$(window).resize(function(){
|
4 |
$('.rtb-booking-form form button').each(function(){
|
5 |
var thisButton = $(this);
|
6 |
+
var buttonHalfWidth = ( thisButton.outerWidth() / 2 );
|
7 |
+
thisButton.css('margin-left', 'calc(50% - '+buttonHalfWidth+'px');
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
});
|
9 |
}).resize();
|
10 |
});
|
@@ -1,26 +0,0 @@
|
|
1 |
-
jQuery(document).ready(function($){
|
2 |
-
$(function(){
|
3 |
-
$(window).resize(function(){
|
4 |
-
$('.rtb-booking-form form').each(function(){
|
5 |
-
var thisForm = $(this);
|
6 |
-
var formWidth = thisForm.width();
|
7 |
-
if(formWidth < 900){
|
8 |
-
thisForm.find('fieldset.reservation .rtb-select').css('left', '0');
|
9 |
-
thisForm.find('fieldset.contact .rtb-text.phone').css('left', '0');
|
10 |
-
}
|
11 |
-
if(formWidth < 600){
|
12 |
-
thisForm.find('fieldset.reservation .rtb-text.time').css('left', '0');
|
13 |
-
thisForm.find('fieldset.contact .rtb-text.email').css('left', '0');
|
14 |
-
}
|
15 |
-
if(formWidth > 599){
|
16 |
-
thisForm.find('fieldset.reservation .rtb-text.time').css('left', '-1px');
|
17 |
-
thisForm.find('fieldset.contact .rtb-text.email').css('left', '-1px');
|
18 |
-
}
|
19 |
-
if(formWidth > 899){
|
20 |
-
thisForm.find('fieldset.reservation .rtb-select').css('left', '-2px');
|
21 |
-
thisForm.find('fieldset.contact .rtb-text.phone').css('left', '-2px');
|
22 |
-
}
|
23 |
-
});
|
24 |
-
}).resize();
|
25 |
-
});
|
26 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready(function($) {
|
2 |
+
jQuery('.rtb-main-dashboard-review-ask').css('display', 'block');
|
3 |
+
|
4 |
+
jQuery('.rtb-main-dashboard-review-ask').on('click', function(event) {
|
5 |
+
if (jQuery(event.srcElement).hasClass('notice-dismiss')) {
|
6 |
+
var data = 'ask_review_time=3&action=rtb_hide_review_ask';
|
7 |
+
jQuery.post(ajaxurl, data, function() {});
|
8 |
+
}
|
9 |
+
});
|
10 |
+
|
11 |
+
jQuery('.rtb-review-ask-yes').on('click', function() {
|
12 |
+
jQuery('.rtb-review-ask-feedback-text').removeClass('rtb-hidden');
|
13 |
+
jQuery('.rtb-review-ask-starting-text').addClass('rtb-hidden');
|
14 |
+
|
15 |
+
jQuery('.rtb-review-ask-no-thanks').removeClass('rtb-hidden');
|
16 |
+
jQuery('.rtb-review-ask-review').removeClass('rtb-hidden');
|
17 |
+
|
18 |
+
jQuery('.rtb-review-ask-not-really').addClass('rtb-hidden');
|
19 |
+
jQuery('.rtb-review-ask-yes').addClass('rtb-hidden');
|
20 |
+
|
21 |
+
var data = 'ask_review_time=7&action=rtb_hide_review_ask';
|
22 |
+
jQuery.post(ajaxurl, data, function() {});
|
23 |
+
});
|
24 |
+
|
25 |
+
jQuery('.rtb-review-ask-not-really').on('click', function() {
|
26 |
+
jQuery('.rtb-review-ask-review-text').removeClass('rtb-hidden');
|
27 |
+
jQuery('.rtb-review-ask-starting-text').addClass('rtb-hidden');
|
28 |
+
|
29 |
+
jQuery('.rtb-review-ask-feedback-form').removeClass('rtb-hidden');
|
30 |
+
jQuery('.rtb-review-ask-actions').addClass('rtb-hidden');
|
31 |
+
|
32 |
+
var data = 'ask_review_time=1000&action=rtb_hide_review_ask';
|
33 |
+
jQuery.post(ajaxurl, data, function() {});
|
34 |
+
});
|
35 |
+
|
36 |
+
jQuery('.rtb-review-ask-no-thanks').on('click', function() {
|
37 |
+
var data = 'ask_review_time=1000&action=rtb_hide_review_ask';
|
38 |
+
jQuery.post(ajaxurl, data, function() {});
|
39 |
+
|
40 |
+
jQuery('.rtb-main-dashboard-review-ask').css('display', 'none');
|
41 |
+
});
|
42 |
+
|
43 |
+
jQuery('.rtb-review-ask-review').on('click', function() {
|
44 |
+
jQuery('.rtb-review-ask-feedback-text').addClass('rtb-hidden');
|
45 |
+
jQuery('.rtb-review-ask-thank-you-text').removeClass('rtb-hidden');
|
46 |
+
|
47 |
+
var data = 'ask_review_time=1000&action=rtb_hide_review_ask';
|
48 |
+
jQuery.post(ajaxurl, data, function() {});
|
49 |
+
});
|
50 |
+
|
51 |
+
jQuery('.rtb-review-ask-send-feedback').on('click', function() {
|
52 |
+
var feedback = jQuery('.rtb-review-ask-feedback-explanation textarea').val();
|
53 |
+
var email_address = jQuery('.rtb-review-ask-feedback-explanation input[name="feedback_email_address"]').val();
|
54 |
+
var data = 'feedback=' + feedback + '&email_address=' + email_address + '&action=rtb_send_feedback';
|
55 |
+
jQuery.post(ajaxurl, data, function() {});
|
56 |
+
|
57 |
+
var data = 'ask_review_time=1000&action=rtb_hide_review_ask';
|
58 |
+
jQuery.post(ajaxurl, data, function() {});
|
59 |
+
|
60 |
+
jQuery('.rtb-review-ask-feedback-form').addClass('rtb-hidden');
|
61 |
+
jQuery('.rtb-review-ask-review-text').addClass('rtb-hidden');
|
62 |
+
jQuery('.rtb-review-ask-thank-you-text').removeClass('rtb-hidden');
|
63 |
+
});
|
64 |
+
});
|
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function($){
|
2 |
+
var $deactivateLink = $('#the-list').find('[data-slug="restaurant-reservations"] span.deactivate a'),
|
3 |
+
$overlay = $('#rtb-deactivate-survey-restaurant-reservations'),
|
4 |
+
$form = $overlay.find('form'),
|
5 |
+
formOpen = false;
|
6 |
+
// Plugin listing table deactivate link.
|
7 |
+
$deactivateLink.on('click', function(event) {
|
8 |
+
event.preventDefault();
|
9 |
+
$overlay.css('display', 'table');
|
10 |
+
formOpen = true;
|
11 |
+
$form.find('.rtb-deactivate-survey-option:first-of-type input[type=radio]').focus();
|
12 |
+
});
|
13 |
+
// Survey radio option selected.
|
14 |
+
$form.on('change', 'input[type=radio]', function(event) {
|
15 |
+
event.preventDefault();
|
16 |
+
$form.find('input[type=text], .error').hide();
|
17 |
+
$form.find('.rtb-deactivate-survey-option').removeClass('selected');
|
18 |
+
$(this).closest('.rtb-deactivate-survey-option').addClass('selected').find('input[type=text]').show();
|
19 |
+
});
|
20 |
+
// Survey Skip & Deactivate.
|
21 |
+
$form.on('click', '.rtb-deactivate-survey-deactivate', function(event) {
|
22 |
+
event.preventDefault();
|
23 |
+
location.href = $deactivateLink.attr('href');
|
24 |
+
});
|
25 |
+
// Survey submit.
|
26 |
+
$form.submit(function(event) {
|
27 |
+
event.preventDefault();
|
28 |
+
if (! $form.find('input[type=radio]:checked').val()) {
|
29 |
+
$form.find('.rtb-deactivate-survey-footer').prepend('<span class="error">Please select an option below</span>');
|
30 |
+
return;
|
31 |
+
}
|
32 |
+
var data = {
|
33 |
+
code: $form.find('.selected input[type=radio]').val(),
|
34 |
+
install_time: $form.data('installtime'),
|
35 |
+
reason: $form.find('.selected .rtb-deactivate-survey-option-reason').text(),
|
36 |
+
details: $form.find('.selected input[type=text]').val(),
|
37 |
+
site: grfwp_deactivation_data.site_url,
|
38 |
+
plugin: 'Five-Star Restaurant Reservations'
|
39 |
+
}
|
40 |
+
var submitSurvey = $.post('https://www.fivestarplugins.com/key-check/Deactivation_Surveys.php', data);
|
41 |
+
submitSurvey.always(function() {
|
42 |
+
location.href = $deactivateLink.attr('href');
|
43 |
+
});
|
44 |
+
});
|
45 |
+
// Exit key closes survey when open.
|
46 |
+
$(document).keyup(function(event) {
|
47 |
+
if (27 === event.keyCode && formOpen) {
|
48 |
+
$overlay.hide();
|
49 |
+
formOpen = false;
|
50 |
+
$deactivateLink.focus();
|
51 |
+
}
|
52 |
+
});
|
53 |
+
});
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var rtbLoadRecaptcha = function() {
|
2 |
+
grecaptcha.render('rtb_recaptcha', {
|
3 |
+
'sitekey' : rtb_recaptcha.site_key
|
4 |
+
});
|
5 |
+
}
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
if ( rtb_stripe_payment.stripe_mode == 'test' ) { Stripe.setPublishableKey(rtb_stripe_payment.test_publishable_key); }
|
2 |
+
else { Stripe.setPublishableKey(rtb_stripe_payment.live_publishable_key); }
|
3 |
+
|
4 |
+
function stripeResponseHandler(status, response) {
|
5 |
+
if (response.error) {
|
6 |
+
// show errors returned by Stripe
|
7 |
+
jQuery(".payment-errors").html(response.error.message);
|
8 |
+
// re-enable the submit button
|
9 |
+
jQuery('#stripe-submit').attr("disabled", false);
|
10 |
+
} else {
|
11 |
+
var form$ = jQuery("#stripe-payment-form");
|
12 |
+
// token contains id, last4, and card type
|
13 |
+
var token = response['id'];
|
14 |
+
// insert the token into the form so it gets submitted to the server
|
15 |
+
form$.append("<input type='hidden' name='stripeToken' value='" + token + "'/>");
|
16 |
+
// and submit
|
17 |
+
form$.get(0).submit();
|
18 |
+
}
|
19 |
+
}
|
20 |
+
jQuery(document).ready(function($) {
|
21 |
+
$("#stripe-payment-form").submit(function(event) {
|
22 |
+
// disable the submit button to prevent repeated clicks
|
23 |
+
$('#stripe-submit').attr("disabled", "disabled");
|
24 |
+
|
25 |
+
// send the card details to Stripe
|
26 |
+
Stripe.createToken({
|
27 |
+
number: $('input[data-stripe="card_number"]').val(),
|
28 |
+
cvc: $('input[data-stripe="card_cvc"]').val(),
|
29 |
+
exp_month: $('input[data-stripe="exp_month"]').val(),
|
30 |
+
exp_year: $('input[data-stripe="exp_year"]').val(),
|
31 |
+
currency: $('input[data-stripe="currency"]').val()
|
32 |
+
}, stripeResponseHandler);
|
33 |
+
|
34 |
+
// prevent the form from submitting with the default action
|
35 |
+
return false;
|
36 |
+
});
|
37 |
+
});
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
/*! stripe-js 17-08-2016 */
|
2 |
+
(function(){var a,b,c,d,e,f,g,h,i,j={}.hasOwnProperty,k=function(a,b){function c(){this.constructor=a}for(var d in b)j.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a};if(g="https://js.stripe.com",c="https://js.stripe.com",d=!!/stripe\.com$/.test("undefined"!=typeof window&&null!==window?window.location.host:void 0),b="console"in window&&"warn"in window.console,!d&&"querySelectorAll"in document&&b&&(f=document.querySelectorAll('script[src^="'+g+'"]'),f.length||console.warn("It looks like Stripe.js is not being loaded from https://js.stripe.com. Stripe does not support serving Stripe.js from your own domain.")),this.Stripe)return!b||this.Stripe.isDoubleLoaded||this.Stripe.earlyError||console.warn("It looks like Stripe.js was loaded more than one time. Please only load it once per page."),void(this.Stripe.isDoubleLoaded=!0);this.Stripe=function(){function a(){}return a.version=2,a.endpoint="https://api.stripe.com/v1",a.setPublishableKey=function(b){return a.key=b,a.utils.validateProtocol(a.key)},a._language="en-US",a.setLanguage=function(b){return a._language=b},a._allowedCustomHeaders=["X-Stripe-Livemode","Authorization"],a._customHeaders={},a._setCustomHeader=function(a,b){var c,d,e,f,g;for(d=!1,g=this._allowedCustomHeaders,e=0,f=g.length;e<f;e++)if(c=g[e],c===a){this._customHeaders[a]=b,d=!0;break}return d},a.trackPerf=!1,a._isChannel="#__stripe_transport__"===("undefined"!=typeof window&&null!==window?window.location.hash:void 0),a._isSafeStripeDomain=d,a._iframeOnAmount=1,a._isSafeDomain=function(){return"#__forcedss3__"!==window.location.hash&&(!(!a._isSafeStripeDomain&&!window.StripeTemporaryNoDSS3)||a._iframeOnAmount<Math.random())}(),a._finalTransport="undefined"!=typeof window&&null!==window&&"XMLHttpRequest"in window&&"withCredentials"in new XMLHttpRequest?"cors":"jsonp",a._transport=a._isChannel||a._isSafeDomain?a._finalTransport:"iframe",a._fallBackToOldStripeJsTechniques=function(){return this._transport="jsonp",this._finalTransport="jsonp",this._isSafeDomain="true"},a._iframeRequestQueue=[],a._iframePendingRequests={},a._iframeChannelStatus="pending",a._iframeChannelComplete=function(b){var c,d,e,f;for(this._iframeChannelStatus=b?"success":"failure","failure"===this._iframeChannelStatus&&this._fallBackToOldStripeJsTechniques(),d=this._iframeRequestQueue,delete this._iframeRequestQueue,this._iframeRequestQueue=[],e=0,f=d.length;e<f;e++)c=d[e],this.request(c,!0);this._iframeChannelComplete=function(){return a.reportError("CompleteDuplicationError")}},a.request=function(a,b){return this.trackPerf&&a.tokenType?this._instrumentedRequest(a,b):this._rawRequest(a,b)},a._rawRequest=function(b,c){var d,e,f;if(b.data||(b.data={}),e="POST"===b.method&&"object"==typeof(null!=(f=b.data)?f.card:void 0),c||(null!=b.data.payment_user_agent?this._isChannel||(b.data.payment_user_agent=""+b.data.payment_user_agent+" ("+a.stripejs_ua+")"):b.data.payment_user_agent=a.stripejs_ua),"iframe"===this._transport){if(e)return"pending"===this._iframeChannelStatus?this._iframeRequestQueue.push(b):"failure"===this._iframeChannelStatus?this.ajaxJSONP(b):this.iframe(b);if("cors"===this._finalTransport)try{return this.xhr(b)}catch(g){return d=g,this._transport="jsonp",this.request(b,!0)}return this.ajaxJSONP(b)}if("cors"===this._transport)try{return this.xhr(b)}catch(g){return d=g,a.reportError("XhrThrewError"),this._transport="jsonp",this.request(b,!0)}return this.ajaxJSONP(b)},a.reportError=function(b,c){var d;return"console"in window&&"warn"in window.console,1,d=Math.round((new Date).getTime()/1e3),(new Image).src="https://q.stripe.com?event=stripejs-error&type="+encodeURIComponent(b)+(c?"&timing="+c:"")+"&key="+a.key+"×tamp="+d+"&payment_user_agent="+encodeURIComponent(a.stripejs_ua)},a._instrumentedRequest=function(b,c){var d,e;return d=(new Date).getTime(),e=function(c){return function(e,f){var g,h,i,j,k;return j=null!=(k=b.tokenType)?k:"unknown",g=(new Date).getTime(),h=c._getResourceTiming(null!=e?e.responseURL:void 0),i={event:"rum.stripejs",tokenType:j,url:b.url,status:f,start:d,end:g,resourceTiming:h},a.logRUM(i)}}(this),b.success=function(a){return function(b,c,d){return e(d,c),a.apply(this,arguments)}}(b.success),b.complete=function(a){return function(b,c,d){return"success"!==b&&e(c,b),a.apply(this,arguments)}}(b.complete),this._rawRequest(b,c)},a._getResourceTiming=function(a){var b;switch(b="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.getEntriesByName?performance.getEntriesByName(a):void 0,!1){case 1!==(null!=b?b.length:void 0):return this._sanitizeResourceTiming(b[0]);case 0!==(null!=b?b.length:void 0):return{errorMsg:"No resource timing entries found"};case null==(null!=b?b.length:void 0):return{errorMsg:"More than one resource timing entry"};default:return null}},a._resourceTimingWhitelist=["connectEnd","connectStart","domainLookupEnd","domainLookupStart","duration","fetchStart","redirectEnd","redirectStart","requestStart","responseEnd","responseStart","secureConnectionStart","startTime"],a._sanitizeResourceTiming=function(a){var b,c,d,e,f;for(c={},f=this._resourceTimingWhitelist,d=0,e=f.length;d<e;d++)b=f[d],a[b]&&(c[b]=a[b]);return c},a.logRUM=function(b){return(new Image).src="https://q.stripe.com/?"+a.utils.serialize(b)},a.complete=function(b,c){return function(d,e,f){if("success"!==d)return a.reportError("Complete500-"+d),"function"==typeof b?b(500,{error:{code:d,type:d,message:c}}):void 0}},a._iframeBaseUrl=c,a._stripejsBaseUrl=g,a._relayResponse=function(b,c,d){return a._socket.postMessage(a.JSON.stringify({code:c,resp:d,requestId:b}))},a._callCount=0,a._callCache={},a._receiveChannelRelay=function(b,c){var d,e,f,g;if(f=a._iframeBaseUrl.replace(/^https?:\/\//,"").replace(/\/.*$/,""),g=c.replace(/^https?:\/\//,"").replace(/\/.*$/,""),g===f&&"string"==typeof b){try{e=a.JSON.parse(b)}catch(h){throw d=h,a.reportError("InvalidJSON-ChannelRelay"),new Error("Stripe.js received invalid JSON")}if("function"==typeof a._callCache[e.requestId])return a._callCache[e.requestId](e.resp,e.code),delete a._callCache[e.requestId]}},a._channelListener=function(b,c){var d,e,f,g;if("string"==typeof b){try{g=a.JSON.parse(b)}catch(h){throw e=h,a.reportError("InvalidJSON-ChannelListener"),new Error("Stripe.js received invalid JSON")}if(d=g.data.card,delete g.data.card,f=g.headers["Accept-Language"],d)return a.setPublishableKey(g.data.key),f&&a.setLanguage(f),null!=g.endpoint&&(a.endpoint=g.endpoint),null!=g.trackPerf&&(a.trackPerf=g.trackPerf),a.card.createToken(d,g.data,function(b,c){return a._relayResponse(g.requestId,b,c)});throw a.reportError("InvalidChannelUse-NonCard"),new Error("Stripe.js iframe transport used for non-card request")}},a}(),this.Stripe.token=function(){function a(){}return a.validate=function(a,b){if(!a)throw b+" required";if("object"!=typeof a)throw b+" invalid"},a.formatData=function(a,b){var c,d,e;Stripe.utils.isElement(a)&&(a=Stripe.utils.paramsFromForm(a,b));for(c in a)d=a[c],null==d&&delete a[c];if(Stripe.utils.underscoreKeys(a),"string"==typeof a.exp){try{e=Stripe.utils.parseExpString(a.exp),a.exp_month=e[0],a.exp_year=e[1]}catch(f){a.exp_month=0,a.exp_year=0}delete a.exp}return a},a.create=function(a,b){var c,d;return a.key||(a.key=Stripe.key||Stripe.publishableKey),Stripe.utils.validateKey(a.key),d=function(){switch(!1){case null==a.card:return"card";case null==a.bank_account:return"bank_account";case null==a.pii:return"pii";case null==a.apple_pay:return"apple_pay";default:return"unknown"}}(),delete a.apple_pay,c={url:""+Stripe.endpoint+"/tokens",data:a,method:"POST",headers:{},success:function(a,c){return"function"==typeof b?b(c,a):void 0},complete:Stripe.complete(b,"A network error has occurred, and you have not been charged. Please try again."),timeout:4e4,tokenType:d},Stripe._language&&(c.headers["Accept-Language"]=Stripe._language),Stripe.request(c)},a.get=function(a,b){if(!a)throw new Error("token required");return Stripe.utils.validateKey(Stripe.key),Stripe.request({url:""+Stripe.endpoint+"/tokens/"+a,data:{key:Stripe.key},success:function(a,c){return"function"==typeof b?b(c,a):void 0},complete:Stripe.complete(b,"A network error has occurred loading data from Stripe. Please try again."),timeout:4e4})},a}(),this.Stripe.card=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return k(b,a),b.tokenName="card",b.whitelistedAttrs=["number","cvc","exp","exp_month","exp_year","name","address_line1","address_line2","address_city","address_state","address_zip","address_country","currency"],b.createToken=function(a,c,d){var e;return null==c&&(c={}),Stripe.token.validate(a,"card"),"function"==typeof c?(d=c,c={}):"object"!=typeof c&&(e=parseInt(c,10),c={},e>0&&(c.amount=e)),c[b.tokenName]=Stripe.token.formatData(a,b.whitelistedAttrs),Stripe.token.create(c,d)},b.getToken=function(a,b){return Stripe.token.get(a,b)},b.validateCardNumber=function(a){return a=(a+"").replace(/\s+|-/g,""),a.length>=10&&a.length<=16&&b.luhnCheck(a)},b.validateCVC=function(a){return a=Stripe.utils.trim(a),/^\d+$/.test(a)&&a.length>=3&&a.length<=4},b.validateExpiry=function(a,b){var c,d,e,f;if(null!=b)e=Stripe.utils.trim(a),b=Stripe.utils.trim(b);else{try{f=Stripe.utils.parseExpString(a),e=f[0],b=f[1]}catch(g){return!1}e+="",b+=""}return!!/^\d+$/.test(e)&&(!!/^\d+$/.test(b)&&(1<=e&&e<=12&&(2===b.length&&(b=b<70?"20"+b:"19"+b),4===b.length&&(d=new Date(b,e),c=new Date,d.setMonth(d.getMonth()-1),d.setMonth(d.getMonth()+1,1),d>c))))},b.luhnCheck=function(a){var b,c,d,e,f,g;for(d=!0,e=0,c=(a+"").split("").reverse(),f=0,g=c.length;f<g;f++)b=c[f],b=parseInt(b,10),(d=!d)&&(b*=2),b>9&&(b-=9),e+=b;return e%10===0},b.cardType=function(a){return b.cardTypes[a.slice(0,2)]||"Unknown"},b.cardBrand=function(a){return b.cardType(a)},b.cardTypes=function(){var a,b,c,d;for(b={},a=c=40;c<=49;a=++c)b[a]="Visa";for(a=d=50;d<=59;a=++d)b[a]="MasterCard";return b[34]=b[37]="American Express",b[60]=b[62]=b[64]=b[65]="Discover",b[35]="JCB",b[30]=b[36]=b[38]=b[39]="Diners Club",b}(),b}(this.Stripe.token),this.Stripe.bankAccount=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return k(b,a),b.tokenName="bank_account",b.whitelistedAttrs=["country","currency","routing_number","account_number","name","account_holder_type","account_holder_name"],b.createToken=function(a,c,d){return null==c&&(c={}),Stripe.token.validate(a,"bank account"),"function"==typeof c&&(d=c,c={}),c[b.tokenName]=Stripe.token.formatData(a,b.whitelistedAttrs),Stripe.token.create(c,d)},b.getToken=function(a,b){return Stripe.token.get(a,b)},b.validateRoutingNumber=function(a,c){switch(a=Stripe.utils.trim(a),c){case"US":return/^\d+$/.test(a)&&9===a.length&&b.routingChecksum(a);case"CA":return/\d{5}\-\d{3}/.test(a)&&9===a.length;default:return!0}},b.validateAccountNumber=function(a,b){switch(a=Stripe.utils.trim(a),b){case"US":return/^\d+$/.test(a)&&a.length>=1&&a.length<=17;default:return!0}},b.routingChecksum=function(a){var b,c,d,e,f,g;for(d=0,b=(a+"").split(""),g=[0,3,6],e=0,f=g.length;e<f;e++)c=g[e],d+=3*parseInt(b[c]),d+=7*parseInt(b[c+1]),d+=parseInt(b[c+2]);return 0!==d&&d%10===0},b}(this.Stripe.token),this.Stripe.piiData=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return k(b,a),b.tokenName="pii",b.whitelistedAttrs=["personal_id_number"],b.createToken=function(a,c,d){return null==c&&(c={}),Stripe.token.validate(a,"pii data"),"function"==typeof c&&(d=c,c={}),c[b.tokenName]=Stripe.token.formatData(a,b.whitelistedAttrs),Stripe.token.create(c,d)},b.getToken=function(a,b){return Stripe.token.get(a,b)},b}(this.Stripe.token),this.Stripe._poller=function(){function a(){}return a._activePolls={},a._clearPoll=function(b){return delete a._activePolls[b]},a._defaultPollInterval=1500,a._maxPollInterval=24e3,a._initPoll=function(b){if(null!=a._activePolls[b])throw new Error("You are already polling "+b+". Please cancel that poll before polling it again.");return a._activePolls[b]={}},a._poll=function(b,c,d,e,f){c(b,function(g,h){var i;if(null!=a._activePolls[b])return g>=400&&g<500?(a._clearPoll(b),"function"==typeof f?f(g,h):void 0):200===g&&e(b,h)?(a._clearPoll(b),"function"==typeof f?f(g,h):void 0):(200===g&&d(b,h)&&"function"==typeof f&&f(g,h),500===g&&2*a._activePolls[b].interval<=a._maxPollInterval?a._activePolls[b].interval*=2:g>=200&&g<500&&(a._activePolls[b].interval=a._defaultPollInterval),i=setTimeout(function(){return a._poll(b,c,d,e,f)},a._activePolls[b].interval),a._activePolls[b].timeoutId=i)})},a._cancelPoll=function(b){var c;if(c=a._activePolls[b],null==c)throw new Error("You are not polling "+b+".");null!=c.timeoutId&&clearTimeout(c.timeoutId),a._clearPoll(b)},a}(),this.Stripe.bitcoinReceiver=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return k(b,a),b._whitelistedAttrs=["amount","currency","email","description"],b.createReceiver=function(a,b){var c;return Stripe.token.validate(a,"bitcoin_receiver data"),c=Stripe.token.formatData(a,this._whitelistedAttrs),c.key=Stripe.key||Stripe.publishableKey,Stripe.utils.validateKey(c.key),Stripe.request({url:""+Stripe.endpoint+"/bitcoin/receivers",data:c,method:"POST",success:function(a,c){return"function"==typeof b?b(c,a):void 0},complete:Stripe.complete(b,"A network error has occurred while creating a Bitcoin address. Please try again."),timeout:4e4})},b.getReceiver=function(a,b){var c;if(!a)throw new Error("receiver id required");return c=Stripe.key||Stripe.publishableKey,Stripe.utils.validateKey(c),Stripe.request({url:""+Stripe.endpoint+"/bitcoin/receivers/"+a,data:{key:c},success:function(a,c){return"function"==typeof b?b(c,a):void 0},complete:Stripe.complete(b,"A network error has occurred loading data from Stripe. Please try again."),timeout:4e4})},b.pollReceiver=function(a,b){return this._initPoll(a),this._poll(a,function(a){return function(b,c){return a.getReceiver(b,c)}}(this),function(a,b){return!1},function(a,b){return b.filled},b)},b.cancelReceiverPoll=function(a){return b._cancelPoll(a)},b}(this.Stripe._poller),this.Stripe.source=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return k(b,a),b.get=function(a,b,c){var d,e;if(!a)throw new Error("sourceId required");if(!b)throw new Error("clientSecret required");return d=Stripe.key||Stripe.publishableKey,Stripe.utils.validateKey(d),e={},e.key=d,e.client_secret=b,Stripe.request({url:""+Stripe.endpoint+"/sources/"+a,data:e,success:function(a,b){return"function"==typeof c?c(b,a):void 0},complete:Stripe.complete(c,"A network error has occurred loading data from Stripe. Please try again."),timeout:4e4})},b.poll=function(a,b,c){return this._initPoll(a),this._poll(a,function(a){return function(c,d){return a.get(c,b,d)}}(this),function(a){return function(b,c){return a._activePolls[b].source_status!==c.status&&(a._activePolls[b].source_status=c.status,!0)}}(this),function(a,b){return!1},c)},b.cancelPoll=function(a){return this._cancelPoll(a)},b}(this.Stripe._poller),this.Stripe.threeDSecure=function(){function a(){}return a.create=function(a,b){var c;if("object"!=typeof a)throw new Error("params must be an object.");if("function"!=typeof b)throw new Error("callback must be a function.");return a.key||(a.key=Stripe.key||Stripe.publishableKey),a.return_url||(a.return_url="_callback"),Stripe.utils.validateKey(a.key),c={url:""+Stripe.endpoint+"/3d_secure",data:a,method:"POST",headers:{},success:function(a,c){return"function"==typeof b?b(c,a):void 0},complete:Stripe.complete(b,"A network error has occurred, and you have not been charged. Please try again."),timeout:4e4,tokenType:"three_d_secure"},Stripe._language&&(c.headers["Accept-Language"]=Stripe._language),Stripe.request(c),null},a.createIframe=function(a,b,c){var d,e;if(e=null,!Stripe.validator.isUrl(a))throw new Error("redirectUrl must be a valid URL.");if(!Stripe.validator.isElementOrId(b))throw new Error("parentElement must be a DOM Element, or the ID of a DOM element.");if("function"!=typeof c)throw new Error("callback must be a function.");return d=function(a,b){var d,f;try{f=Stripe.JSON.parse(a)}catch(g){throw d=g,Stripe.reportError("InvalidJSON-3DSecureCallback"),new Error("Stripe.js received invalid JSON")}return e.destroy(),c(f)},e=new Stripe.easyXDM.Socket({swf:""+Stripe._iframeBaseUrl+"/v2/stripexdm.swf",remote:a,onMessage:d,container:b}),null},a}(),this.Stripe.applePay=function(){function a(){}return a.checkAvailability=function(a){var b;if(null==a)throw new Error("This function executes asynchronously; please pass it a callback function.");return(null!=(b=window.ApplePaySession)?b.canMakePayments():void 0)?ApplePaySession.canMakePaymentsWithActiveCard("merchant."+window.location.hostname+".stripe").then(function(b){return a(b)}):void a(!1)},a.buildSession=function(a,b,c){var d,e,f,g;if(null==window.ApplePaySession)throw new Error("Apple Pay is not supported in this browser. You should check the result of Stripe.applePay.checkAvailability before calling this method");return a.supportedNetworks=["amex","discover","masterCard","visa"],a.merchantCapabilities||(a.merchantCapabilities=["supports3DS"]),e=null!=(g=a.shippingMethods)?g[0]:void 0,f=new ApplePaySession(1,a),d=function(a){var b;return b=(null!=a?a.error:void 0)||{message:"Something went wrong validating your Apple Pay Session."},null!=b.message&&console.warn(b.message),f.abort(),"function"==typeof c?c(b):void 0},f.addEventListener("shippingmethodselected",function(a){return e=a.shippingMethod}),f.addEventListener("validatemerchant",function(b){var c;return c={method:"POST",url:""+Stripe.endpoint+"/apple_pay/sessions",data:{key:Stripe.key||Stripe.publishableKey,validation_url:b.validationURL,domain_name:window.location.hostname,display_name:a.total.label},success:function(a,b){var c;return null!=a.session?(c=Stripe.JSON.parse(a.session),f.completeMerchantValidation(c)):d(a)},complete:function(a,b,c){if("success"!==a)return d(b)},timeout:4e4},Stripe.request(c)}),f.addEventListener("paymentauthorized",function(a){return Stripe.applePay.createToken(a.payment,function(d,g){var h;return null!=g.error?(f.completePayment(ApplePaySession.STATUS_FAILURE),"function"==typeof c?c(g.error):void 0):(h={token:g},null!=e&&(h.shippingMethod=e),null!=a.payment.shippingContact&&(h.shippingContact=a.payment.shippingContact),b(h,function(a){return a?f.completePayment(ApplePaySession.STATUS_SUCCESS):f.completePayment(ApplePaySession.STATUS_FAILURE)}))})}),f},a.createToken=function(a,b){var c,d,e;return c={apple_pay:!0,pk_token:Stripe.JSON.stringify(a.token.paymentData),pk_token_transaction_id:a.token.transactionIdentifier,pk_token_payment_network:a.token.paymentMethod.network,pk_token_instrument_name:a.token.paymentMethod.displayName},null!=a.billingContact&&(c.card={name:[a.billingContact.givenName,a.billingContact.familyName].join(" ").trim(),address_line1:null!=(d=a.billingContact.addressLines)?d[0]:void 0,address_line2:null!=(e=a.billingContact.addressLines)?e[1]:void 0,address_city:a.billingContact.locality,address_state:a.billingContact.administrativeArea,address_zip:a.billingContact.postalCode,address_country:a.billingContact.countryCode}),Stripe.token.create(c,b)},a}(),a=["createToken","getToken","cardType","validateExpiry","validateCVC","validateCardNumber"];for(h=0,i=a.length;h<i;h++)e=a[h],this.Stripe[e]=this.Stripe.card[e];this.Stripe.stripejs_ua="stripe.js/47e2c03","undefined"!=typeof module&&null!==module&&(module.exports=this.Stripe),"function"==typeof define&&define("stripe",[],function(a){return function(){return a.Stripe}}(this))}).call(this),function(){this.Stripe.isDoubleLoaded||function(a){function b(a,e){function f(a){if(f[a]!==q)return f[a];var b;if("bug-string-char-index"==a)b="a"!="a"[0];else if("json"==a)b=f("json-stringify")&&f("json-parse");else{var c,d='{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}';if("json-stringify"==a){var i=e.stringify,k="function"==typeof i&&t;if(k){(c=function(){return 1}).toJSON=c;try{k="0"===i(0)&&"0"===i(new g)&&'""'==i(new h)&&i(s)===q&&i(q)===q&&i()===q&&"1"===i(c)&&"[1]"==i([c])&&"[null]"==i([q])&&"null"==i(null)&&"[null,null,null]"==i([q,s,null])&&i({a:[c,!0,!1,null,"\0\b\n\f\r\t"]})==d&&"1"===i(null,c)&&"[\n 1,\n 2\n]"==i([1,2],null,1)&&'"-271821-04-20T00:00:00.000Z"'==i(new j((-864e13)))&&'"+275760-09-13T00:00:00.000Z"'==i(new j(864e13))&&'"-000001-01-01T00:00:00.000Z"'==i(new j((-621987552e5)))&&'"1969-12-31T23:59:59.999Z"'==i(new j((-1)))}catch(l){k=!1}}b=k}if("json-parse"==a){var m=e.parse;if("function"==typeof m)try{if(0===m("0")&&!m(!1)){c=m(d);var n=5==c.a.length&&1===c.a[0];if(n){try{n=!m('"\t"')}catch(l){}if(n)try{n=1!==m("01")}catch(l){}if(n)try{n=1!==m("1.")}catch(l){}}}}catch(l){n=!1}b=n}}return f[a]=!!b}a||(a=d.Object()),e||(e=d.Object());var g=a.Number||d.Number,h=a.String||d.String,i=a.Object||d.Object,j=a.Date||d.Date,k=a.SyntaxError||d.SyntaxError,l=a.TypeError||d.TypeError,m=a.Math||d.Math,n=a.JSON||d.JSON;"object"==typeof n&&n&&(e.stringify=n.stringify,e.parse=n.parse);var o,p,q,r=i.prototype,s=r.toString,t=new j((-0xc782b5b800cec));try{t=t.getUTCFullYear()==-109252&&0===t.getUTCMonth()&&1===t.getUTCDate()&&10==t.getUTCHours()&&37==t.getUTCMinutes()&&6==t.getUTCSeconds()&&708==t.getUTCMilliseconds()}catch(u){}if(!f("json")){var v="[object Function]",w="[object Date]",x="[object Number]",y="[object String]",z="[object Array]",A="[object Boolean]",B=f("bug-string-char-index");if(!t)var C=m.floor,D=[0,31,59,90,120,151,181,212,243,273,304,334],E=function(a,b){return D[b]+365*(a-1970)+C((a-1969+(b=+(b>1)))/4)-C((a-1901+b)/100)+C((a-1601+b)/400)};if((o=r.hasOwnProperty)||(o=function(a){var b,c={};return(c.__proto__=null,c.__proto__={toString:1},c).toString!=s?o=function(a){var b=this.__proto__,c=a in(this.__proto__=null,this);return this.__proto__=b,c}:(b=c.constructor,o=function(a){var c=(this.constructor||b).prototype;return a in this&&!(a in c&&this[a]===c[a])}),c=null,o.call(this,a)}),p=function(a,b){var d,e,f,g=0;(d=function(){this.valueOf=0}).prototype.valueOf=0,e=new d;for(f in e)o.call(e,f)&&g++;return d=e=null,g?p=2==g?function(a,b){var c,d={},e=s.call(a)==v;for(c in a)e&&"prototype"==c||o.call(d,c)||!(d[c]=1)||!o.call(a,c)||b(c)}:function(a,b){var c,d,e=s.call(a)==v;for(c in a)e&&"prototype"==c||!o.call(a,c)||(d="constructor"===c)||b(c);(d||o.call(a,c="constructor"))&&b(c)}:(e=["valueOf","toString","toLocaleString","propertyIsEnumerable","isPrototypeOf","hasOwnProperty","constructor"],p=function(a,b){var d,f,g=s.call(a)==v,h=!g&&"function"!=typeof a.constructor&&c[typeof a.hasOwnProperty]&&a.hasOwnProperty||o;for(d in a)g&&"prototype"==d||!h.call(a,d)||b(d);for(f=e.length;d=e[--f];h.call(a,d)&&b(d));}),p(a,b)},!f("json-stringify")){var F={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},G="000000",H=function(a,b){return(G+(b||0)).slice(-a)},I="\\u00",J=function(a){for(var b='"',c=0,d=a.length,e=!B||d>10,f=e&&(B?a.split(""):a);c<d;c++){var g=a.charCodeAt(c);switch(g){case 8:case 9:case 10:case 12:case 13:case 34:case 92:b+=F[g];break;default:if(g<32){b+=I+H(2,g.toString(16));break}b+=e?f[c]:a.charAt(c)}}return b+'"'},K=function(a,b,c,d,e,f,g){var h,i,j,k,m,n,r,t,u,v,B,D,F,G,I,L;try{h=b[a]}catch(M){}if("object"==typeof h&&h)if(i=s.call(h),i!=w||o.call(h,"toJSON"))"function"==typeof h.toJSON&&(i!=x&&i!=y&&i!=z||o.call(h,"toJSON"))&&(h=h.toJSON(a));else if(h>-1/0&&h<1/0){if(E){for(m=C(h/864e5),j=C(m/365.2425)+1970-1;E(j+1,0)<=m;j++);for(k=C((m-E(j,0))/30.42);E(j,k+1)<=m;k++);m=1+m-E(j,k),n=(h%864e5+864e5)%864e5,r=C(n/36e5)%24,t=C(n/6e4)%60,u=C(n/1e3)%60,v=n%1e3}else j=h.getUTCFullYear(),k=h.getUTCMonth(),m=h.getUTCDate(),r=h.getUTCHours(),t=h.getUTCMinutes(),u=h.getUTCSeconds(),v=h.getUTCMilliseconds();h=(j<=0||j>=1e4?(j<0?"-":"+")+H(6,j<0?-j:j):H(4,j))+"-"+H(2,k+1)+"-"+H(2,m)+"T"+H(2,r)+":"+H(2,t)+":"+H(2,u)+"."+H(3,v)+"Z"}else h=null;if(c&&(h=c.call(b,a,h)),null===h)return"null";if(i=s.call(h),i==A)return""+h;if(i==x)return h>-1/0&&h<1/0?""+h:"null";if(i==y)return J(""+h);if("object"==typeof h){for(G=g.length;G--;)if(g[G]===h)throw l();if(g.push(h),B=[],I=f,f+=e,i==z){for(F=0,G=h.length;F<G;F++)D=K(F,h,c,d,e,f,g),B.push(D===q?"null":D);L=B.length?e?"[\n"+f+B.join(",\n"+f)+"\n"+I+"]":"["+B.join(",")+"]":"[]"}else p(d||h,function(a){var b=K(a,h,c,d,e,f,g);b!==q&&B.push(J(a)+":"+(e?" ":"")+b)}),L=B.length?e?"{\n"+f+B.join(",\n"+f)+"\n"+I+"}":"{"+B.join(",")+"}":"{}";return g.pop(),L}};e.stringify=function(a,b,d){var e,f,g,h;if(c[typeof b]&&b)if((h=s.call(b))==v)f=b;else if(h==z){g={};for(var i,j=0,k=b.length;j<k;i=b[j++],h=s.call(i),(h==y||h==x)&&(g[i]=1));}if(d)if((h=s.call(d))==x){if((d-=d%1)>0)for(e="",d>10&&(d=10);e.length<d;e+=" ");}else h==y&&(e=d.length<=10?d:d.slice(0,10));return K("",(i={},i[""]=a,i),f,g,e,"",[])}}if(!f("json-parse")){var L,M,N=h.fromCharCode,O={92:"\\",34:'"',47:"/",98:"\b",116:"\t",110:"\n",102:"\f",114:"\r"},P=function(){throw L=M=null,k()},Q=function(){for(var a,b,c,d,e,f=M,g=f.length;L<g;)switch(e=f.charCodeAt(L)){case 9:case 10:case 13:case 32:L++;break;case 123:case 125:case 91:case 93:case 58:case 44:return a=B?f.charAt(L):f[L],L++,a;case 34:for(a="@",L++;L<g;)if(e=f.charCodeAt(L),e<32)P();else if(92==e)switch(e=f.charCodeAt(++L)){case 92:case 34:case 47:case 98:case 116:case 110:case 102:case 114:a+=O[e],L++;break;case 117:for(b=++L,c=L+4;L<c;L++)e=f.charCodeAt(L),e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70||P();a+=N("0x"+f.slice(b,L));break;default:P()}else{if(34==e)break;for(e=f.charCodeAt(L),b=L;e>=32&&92!=e&&34!=e;)e=f.charCodeAt(++L);a+=f.slice(b,L)}if(34==f.charCodeAt(L))return L++,a;P();default:if(b=L,45==e&&(d=!0,e=f.charCodeAt(++L)),e>=48&&e<=57){for(48==e&&(e=f.charCodeAt(L+1),e>=48&&e<=57)&&P(),d=!1;L<g&&(e=f.charCodeAt(L),e>=48&&e<=57);L++);if(46==f.charCodeAt(L)){for(c=++L;c<g&&(e=f.charCodeAt(c),e>=48&&e<=57);c++);c==L&&P(),L=c}if(e=f.charCodeAt(L),101==e||69==e){for(e=f.charCodeAt(++L),43!=e&&45!=e||L++,c=L;c<g&&(e=f.charCodeAt(c),e>=48&&e<=57);c++);c==L&&P(),L=c}return+f.slice(b,L)}if(d&&P(),"true"==f.slice(L,L+4))return L+=4,!0;if("false"==f.slice(L,L+5))return L+=5,!1;if("null"==f.slice(L,L+4))return L+=4,null;P()}return"$"},R=function(a){var b,c;if("$"==a&&P(),"string"==typeof a){if("@"==(B?a.charAt(0):a[0]))return a.slice(1);if("["==a){for(b=[];a=Q(),"]"!=a;c||(c=!0))c&&(","==a?(a=Q(),"]"==a&&P()):P()),","==a&&P(),b.push(R(a));return b}if("{"==a){for(b={};a=Q(),"}"!=a;c||(c=!0))c&&(","==a?(a=Q(),"}"==a&&P()):P()),","!=a&&"string"==typeof a&&"@"==(B?a.charAt(0):a[0])&&":"==Q()||P(),b[a.slice(1)]=R(Q());return b}P()}return a},S=function(a,b,c){var d=T(a,b,c);d===q?delete a[b]:a[b]=d},T=function(a,b,c){var d,e=a[b];if("object"==typeof e&&e)if(s.call(e)==z)for(d=e.length;d--;)S(e,d,c);else p(e,function(a){S(e,a,c)});return c.call(a,b,e)};e.parse=function(a,b){var c,d;return L=0,M=""+a,c=R(Q()),"$"!=Q()&&P(),L=M=null,b&&s.call(b)==v?T((d={},d[""]=c,d),"",b):c}}}return e.runInContext=b,e}var c={"function":!0,object:!0},d=this,e=b(a,d);d.JSON={parse:e.parse,stringify:e.stringify}}.call(Stripe,this)}.call(this),function(){this.Stripe.isDoubleLoaded||!function(a,b,c,d,e,f){function g(a,b){var c=typeof a[b];return"function"==c||!("object"!=c||!a[b])||"unknown"==c}function h(){var a="Shockwave Flash",b="application/x-shockwave-flash";if(!p(navigator.plugins)&&"object"==typeof navigator.plugins[a]){var c=navigator.plugins[a].description;c&&!p(navigator.mimeTypes)&&navigator.mimeTypes[b]&&navigator.mimeTypes[b].enabledPlugin&&(x=c.match(/\d+/g))}if(!x){var d;try{d=new ActiveXObject("ShockwaveFlash.ShockwaveFlash"),x=Array.prototype.slice.call(d.GetVariable("$version").match(/(\d+),(\d+),(\d+),(\d+)/),1),d=null}catch(e){}}if(!x)return!1;var f=parseInt(x[0],10),g=parseInt(x[1],10);return y=f>9&&g>0,!0}function i(){if(!L){L=!0;for(var a=0;a<M.length;a++)M[a]();M.length=0}}function j(a,b){return L?void a.call(b):void M.push(function(){a.call(b)})}function k(a){return a.match(D)[3]}function l(a){return a.match(D)[4]||""}function m(a){var b,c,d=a.toLowerCase().match(D),e="",f="";try{b=d[2],c=d[3],e=d[4]||"",("http:"==b&&":80"==e||"https:"==b&&":443"==e)&&(e=""),f=b+"//"+c+e}catch(g){f=a}return f}function n(a){if(a=a.replace(F,"$1/"),!a.match(/^(http||https):\/\//)){var b="/"===a.substring(0,1)?"":c.pathname;"/"!==b.substring(b.length-1)&&(b=b.substring(0,b.lastIndexOf("/")+1)),a=c.protocol+"//"+c.host+b+a}for(;E.test(a);)a=a.replace(E,"");return a}function o(a,b){var c="",d=a.indexOf("#");d!==-1&&(c=a.substring(d),a=a.substring(0,d));var e,g=[];for(var h in b)b.hasOwnProperty(h)&&(e="stripe_"+h,g.push(e+"="+f(b[h])));return a+(J?"#":a.indexOf("?")==-1?"?":"&")+g.join("&")+c}function p(a){return"undefined"==typeof a}function q(a,b,c){var d;for(var e in b)b.hasOwnProperty(e)&&(e in a?(d=b[e],"object"==typeof d?q(a[e],d,c):c||(a[e]=b[e])):a[e]=b[e]);return a}function r(){var a=b.body.appendChild(b.createElement("form")),c=a.appendChild(b.createElement("input"));c.name=I+"TEST"+C,w=c!==a.elements[c.name],b.body.removeChild(a)}function s(c){p(w)&&r();var e;w?e=b.createElement('<iframe name="'+c.props.name+'"/>'):(e=b.createElement("IFRAME"),e.name=c.props.name),e.id=e.name=c.props.name,delete c.props.name,"string"==typeof c.container&&(c.container=b.getElementById(c.container)),c.container||(q(e.style,{position:"absolute",top:"-2000px",left:"0px"}),c.container=b.body);var f=c.props.src;c.props.src="about:blank",q(e,c.props),e.border=e.frameBorder=0,e.allowTransparency=!0;var g=!1;return c.onFrameAck&&"postMessage"in a&&a.addEventListener?a.addEventListener("message",function(a){var b=Stripe._iframeBaseUrl.replace(/^https?:\/\//,"").replace(/\/.*$/,""),d=a.origin.replace(/^https?:\/\//,"").replace(/\/.*$/,"");b===d&&"stripe:ack"===a.data&&c.onFrameAck(!0)},!1):g=!0,c.container.appendChild(e),c.onLoad&&z(e,"load",function(){c.onLoad.apply(c,arguments),g&&c.onFrameAck(!1)}),c.onError&&z(e,"error",function(){c.onError.apply(c,arguments)}),e.src=f,c.onAsyncInject&&d(function(){c.onAsyncInject.call(c,e)},5e3),c.props.src=f,e}function t(c){var d,e=c.protocol;if(c.isHost=c.isHost||p(O.xdm_p),J=c.hash||!1,c.props||(c.props={}),c.isHost){if(c.remote=n(c.remote),c.channel=c.channel||"default"+C++,c.secret=Math.random().toString(16).substring(2),p(e))if(g(a,"postMessage")||g(b,"postMessage"))e="1";else{if(!(c.swf&&g(a,"ActiveXObject")&&h()))throw new Error("No suitable transport protocol for Stripe.js");e="6"}}else c.channel=O.xdm_c.replace(/["'<>\\]/g,""),c.secret=O.xdm_s,c.remote=O.xdm_e.replace(/["'<>\\]/g,""),e=O.xdm_p;switch(c.protocol=e,e){case"1":d=[new H.stack.PostMessageTransport(c)];break;case"6":x||h(),d=[new H.stack.FlashTransport(c)]}return d?(d.push(new H.stack.QueueBehavior({lazy:c.lazy,remove:!0})),d):void c.onInternalError.call(c,"BadXDMProtocol")}function u(a){for(var b,c={incoming:function(a,b){this.up.incoming(a,b)},outgoing:function(a,b){this.down.outgoing(a,b)},callback:function(a){this.up.callback(a)},init:function(){this.down.init()},destroy:function(){this.down.destroy()}},d=0,e=a.length;d<e;d++)b=a[d],q(b,c,!0),0!==d&&(b.down=a[d-1]),d!==e-1&&(b.up=a[d+1]);return b}function v(a){a.up.down=a.down,a.down.up=a.up,a.up=a.down=null}var w,x,y,z,A,B=this,C=Math.floor(1e6*Math.random()),D=(Function.prototype,/^((http:|https:|file:|chrome\-extension:|chrome:)\/\/([^:\/\s]+)(:\d+)*)/),E=/[\-\w]+\/\.\.\//,F=/([^:])\/\//g,G="Stripe",H={},I="stripeXDM_",J=!1;if(g(a,"addEventListener"))z=function(a,b,c){a.addEventListener(b,c,!1)},A=function(a,b,c){a.removeEventListener(b,c,!1)};else{if(!g(a,"attachEvent"))throw new Error("Browser not supported");z=function(a,b,c){a.attachEvent("on"+b,c)},A=function(a,b,c){a.detachEvent("on"+b,c)}}var K,L=!1,M=[];if("readyState"in b?(K=b.readyState,L="complete"==K||~navigator.userAgent.indexOf("AppleWebKit/")&&("loaded"==K||"interactive"==K)):L=!!b.body,!L){if(g(a,"addEventListener"))z(b,"DOMContentLoaded",i);else if(z(b,"readystatechange",function(){"complete"==b.readyState&&i()}),b.documentElement.doScroll&&a===top){var N=function(){if(!L){try{b.documentElement.doScroll("left");
|
3 |
+
}catch(a){return void d(N,1)}i()}};N()}z(a,"load",i)}var O=function(a){a=a.substring(1).split("&");for(var b,c={},d=a.length;d--;)b=a[d].split("="),c[b[0].replace(/^stripe_/,"")]=e(b[1]);return c}(/stripe_xdm_e=/.test(c.search)?c.search:c.hash),P=function(){return Stripe.JSON};q(H,{version:"2.4.19.3",query:O,stack:{},apply:q,getJSONObject:P,whenReady:j}),H.DomHelper={on:z,un:A},function(){var a={};H.Fn={set:function(b,c){a[b]=c},get:function(b,c){if(a.hasOwnProperty(b)){var d=a[b];return c&&delete a[b],d}}}}(),H.Socket=function(a){var b=u(t(a).concat([{incoming:function(b,c){a.onMessage(b,c)},callback:function(b){a.onReady&&a.onReady(b)}}])),c=m(a.remote);this.origin=m(a.remote),this.destroy=function(){b.destroy()},this.postMessage=function(a){b.outgoing(a,c)},b.init()},H.stack.FlashTransport=function(a){function e(a,b){d(function(){h.up.incoming(a,p)},0)}function g(c){var d=a.swf+"?host="+a.isHost,e="easyXDM_swf_"+Math.floor(1e4*Math.random());H.Fn.set("flash_loaded"+c.replace(/[\-.]/g,"_"),function(){H.stack.FlashTransport[c].swf=r=t.firstChild;for(var a=H.stack.FlashTransport[c].queue,b=0;b<a.length;b++)a[b]();a.length=0}),a.swfContainer?t="string"==typeof a.swfContainer?b.getElementById(a.swfContainer):a.swfContainer:(t=b.createElement("div"),q(t.style,y&&a.swfNoThrottle?{height:"20px",width:"20px",position:"fixed",right:0,top:0}:{height:"1px",width:"1px",position:"absolute",overflow:"hidden",right:0,top:0}),b.body.appendChild(t));var g="callback=flash_loaded"+f(c.replace(/[\-.]/g,"_"))+"&proto="+B.location.protocol+"&domain="+f(k(B.location.href))+"&port="+f(l(B.location.href))+"&ns="+f(G);t.innerHTML="<object height='20' width='20' type='application/x-shockwave-flash' id='"+e+"' data='"+d+"'><param name='allowScriptAccess' value='always'></param><param name='wmode' value='transparent'><param name='movie' value='"+d+"'></param><param name='flashvars' value='"+g+"'></param><embed type='application/x-shockwave-flash' FlashVars='"+g+"' allowScriptAccess='always' wmode='transparent' src='"+d+"' height='1' width='1'></embed></object>"}var h,i,p,r,t;return h={outgoing:function(b,c,d){r.postMessage(a.channel,b.toString()),d&&d()},destroy:function(){try{r.destroyChannel(a.channel)}catch(b){}r=null,i&&(i.parentNode.removeChild(i),i=null)},onDOMReady:function(){p=a.remote,H.Fn.set("flash_"+a.channel+"_init",function(){d(function(){h.up.callback(!0)})}),H.Fn.set("flash_"+a.channel+"_onMessage",e),a.swf=n(a.swf);var b=k(a.swf),f=function(){H.stack.FlashTransport[b].init=!0,r=H.stack.FlashTransport[b].swf,r.createChannel(a.channel,a.secret,m(a.remote),a.isHost),a.isHost&&(y&&a.swfNoThrottle&&q(a.props,{position:"fixed",right:0,top:0,height:"20px",width:"20px"}),q(a.props,{src:o(a.remote,{xdm_e:m(c.href),xdm_c:a.channel,xdm_p:6,xdm_s:a.secret}),name:I+a.channel+"_provider"}),i=s(a))};H.stack.FlashTransport[b]&&H.stack.FlashTransport[b].init?f():H.stack.FlashTransport[b]?H.stack.FlashTransport[b].queue.push(f):(H.stack.FlashTransport[b]={queue:[f]},g(b))},init:function(){j(h.onDOMReady,h)}}},H.stack.PostMessageTransport=function(b){function e(a){if(a.origin)return m(a.origin);if(a.uri)return m(a.uri);if(a.domain)return c.protocol+"//"+a.domain;throw new Error("Unable to retrieve the origin of the event")}function f(a){var c=e(a);c==k&&"string"==typeof a.data&&a.data.substring(0,b.channel.length+1)==b.channel+" "&&g.up.incoming(a.data.substring(b.channel.length+1),c)}var g,h,i,k;return g={outgoing:function(a,c,d){try{i.postMessage(b.channel+" "+a,c||k),d&&d()}catch(e){b.onInternalError&&b.onInternalError.call(b,"CallerWindowError")}},destroy:function(){A(a,"message",f),h&&(i=null,h.parentNode.removeChild(h),h=null)},onDOMReady:function(){if(k=m(b.remote),b.isHost){var e=function(c){c.data==b.channel+"-ready"&&(i="postMessage"in h.contentWindow?h.contentWindow:h.contentWindow.document,A(a,"message",e),z(a,"message",f),d(function(){g.up.callback(!0)},0))};z(a,"message",e),q(b.props,{src:o(b.remote,{xdm_e:m(c.href),xdm_c:b.channel,xdm_p:1}),name:I+b.channel+"_provider"}),h=s(b)}else z(a,"message",f),i="postMessage"in a.parent?a.parent:a.parent.document,i.postMessage(b.channel+"-ready",k),d(function(){g.up.callback(!0)},0)},init:function(){j(g.onDOMReady,g)}}},H.stack.QueueBehavior=function(a){function b(){if(a.remove&&0===h.length)return void v(c);if(!i&&0!==h.length&&!g){i=!0;var e=h.shift();c.down.outgoing(e.data,e.origin,function(a){i=!1,e.callback&&d(function(){e.callback(a)},0),b()})}}var c,g,h=[],i=!0,j="",k=0,l=!1,m=!1;return c={init:function(){p(a)&&(a={}),a.maxLength&&(k=a.maxLength,m=!0),a.lazy?l=!0:c.down.init()},callback:function(a){i=!1;var d=c.up;b(),d.callback(a)},incoming:function(b,d){if(m){var f=b.indexOf("_"),g=parseInt(b.substring(0,f),10);j+=b.substring(f+1),0===g&&(a.encode&&(j=e(j)),c.up.incoming(j,d),j="")}else c.up.incoming(b,d)},outgoing:function(d,e,g){a.encode&&(d=f(d));var i,j=[];if(m){for(;0!==d.length;)i=d.substring(0,k),d=d.substring(i.length),j.push(i);for(;i=j.shift();)h.push({data:j.length+"_"+i,origin:e,callback:0===j.length?g:null})}else h.push({data:d,origin:e,callback:g});l?c.down.init():b()},destroy:function(){g=!0,c.down.destroy()}}},Stripe.easyXDM=H}(window,document,location,window.setTimeout,decodeURIComponent,encodeURIComponent)}.call(this),function(){var a=[].indexOf||function(a){for(var b=0,c=this.length;b<c;b++)if(b in this&&this[b]===a)return b;return-1};this.Stripe.isDoubleLoaded||(this.Stripe.utils=function(){function b(){}var c;return c=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,b.trim=function(a){return null===a?"":(a+"").replace(c,"")},b.serialize=function(a,b,c){var d,e,f;null==b&&(b=[]);try{for(e in a)f=a[e],c&&(e=""+c+"["+e+"]"),"object"==typeof f?this.serialize(f,b,e):b.push(""+e+"="+encodeURIComponent(f));return b.join("&").replace(/%20/g,"+")}catch(g){throw d=g,new Error("Unable to serialize: "+a)}},b.underscore=function(a){return(a+"").replace(/([A-Z])/g,function(a){return"_"+a.toLowerCase()}).replace(/-/g,"_")},b.underscoreKeys=function(a){var b,c,d;d=[];for(b in a)c=a[b],delete a[b],d.push(a[this.underscore(b)]=c);return d},b.isElement=function(a){return"object"==typeof a&&(!!a.jquery||1===a.nodeType)},b.paramsFromForm=function(b,c){var d,e,f,g,h,i,j,k,l,m;for(null==c&&(c=[]),b.jquery&&(b=b[0]),f=b.getElementsByTagName("input"),h=b.getElementsByTagName("select"),i={},j=0,l=f.length;j<l;j++)e=f[j],d=this.underscore(e.getAttribute("data-stripe")),a.call(c,d)<0||(i[d]=e.value);for(k=0,m=h.length;k<m;k++)g=h[k],d=this.underscore(g.getAttribute("data-stripe")),a.call(c,d)<0||null!=g.selectedIndex&&(i[d]=g.options[g.selectedIndex].value);return i},b.validateProtocol=function(a){var b;if(a&&"string"==typeof a)return/_live_/g.test(a)&&"https:"!==window.location.protocol&&null!=(null!=(b=window.console)?b.warn:void 0)?window.console.warn("You are using Stripe.js in live mode over an insecure connection. This is considered unsafe. Please conduct live requests only on sites served over https. For more info, see https://stripe.com/help/ssl"):void 0},b.validateKey=function(a){if(!a||"string"!=typeof a)throw new Error("You did not set a valid publishable key. Call Stripe.setPublishableKey() with your publishable key. For more info, see https://stripe.com/docs/stripe.js");if(/\s/g.test(a))throw new Error("Your key is invalid, as it contains whitespace. For more info, see https://stripe.com/docs/stripe.js");if(/^sk_/.test(a))throw new Error("You are using a secret key with Stripe.js, instead of the publishable one. For more info, see https://stripe.com/docs/stripe.js")},b.parseExpString=function(a){var b,c,d,e,f,g,h,i,j;for(g=function(b){throw new Error("You passed an invalid expiration date `"+a+"`. "+(b||"")+"Please pass a string containing a numeric month and year such as `01-17` or `2015 / 05` For more info, see https://stripe.com/docs/stripe.js")},"string"!=typeof a&&g(),f=a.split(/[\.\-\/\s]+/g),2!==f.length&&g(),b=i=0,j=f.length;i<j;b=++i)e=f[b],d=parseInt(e),isNaN(d)&&g(""+f+" is not a number. "),d<1&&g(""+d+" is less than one. "),f[b]=d;return f[0]>12?(h=f[0],c=f[1]):(c=f[0],h=f[1]),c>12&&g("Month must be a number 1-12, not "+c+". "),h<100&&(h+=2e3),[c,h]},b}())}.call(this),function(){var a,b=[].slice;a=(new Date).getTime(),this.Stripe.isDoubleLoaded||(this.Stripe.ajaxJSONP=function(c){var d,e,f,g,h,i,j;return null==c&&(c={}),f="sjsonp"+ ++a,i=document.createElement("script"),e=null,d=function(a){var b;return null==a&&(a="abort"),clearTimeout(e),null!=(b=i.parentNode)&&b.removeChild(i),f in window&&(window[f]=function(){}),"function"==typeof c.complete?c.complete(a,j,c):void 0},j={abort:d},i.onerror=function(){return j.abort(),"function"==typeof c.error?c.error(j,c):void 0},window[f]=function(){var a,d;a=1<=arguments.length?b.call(arguments,0):[],clearTimeout(e),i.parentNode.removeChild(i);try{delete window[f]}catch(g){d=g,window[f]=void 0}return"function"==typeof c.success&&c.success.apply(c,b.call(a).concat([j])),"function"==typeof c.complete?c.complete("success",j,c):void 0},h=(c.headers||{})["Accept-Language"],c.data||(c.data={}),c.data.callback=f,c.method&&(c.data._method=c.method),h&&(c.data._accept_language=h),i.src=c.url+"?"+Stripe.utils.serialize(c.data),g=document.getElementsByTagName("head")[0],g.appendChild(i),c.timeout>0&&(e=setTimeout(function(){return j.abort("timeout")},c.timeout)),j})}.call(this),function(){var a,b,c,d,e,f,g,h,i,j={}.hasOwnProperty;this.Stripe.isDoubleLoaded||(b={contentType:"application/x-www-form-urlencoded",accept:{json:"application/json"}},g=/^(20\d|1223)$/,f="invalid_json_response",d=function(a,b,c){return function(){return a._aborted?c(a.request,"abort"):a.request&&4===a.request.readyState?(a.request.onreadystatechange=function(){},0===a.request.status?c(a.request,"empty_response"):g.test(a.request.status)?b(a.request,a.request.status):b(a.request,a.request.status)):void 0}},h=function(a,c){var d,e,f,g,h;f=c.headers||{},f.Accept||(f.Accept=b.accept.json),f["Content-Type"]||(f["Content-Type"]=b.contentType),g=c._globalCustomHeaders;for(d in g)j.call(g,d)&&"setRequestHeader"in a&&a.setRequestHeader(d,c._globalCustomHeaders[d]);h=[];for(e in f)j.call(f,e)&&("setRequestHeader"in a?h.push(a.setRequestHeader(e,f[e])):h.push(void 0));return h},i=function(a,b){return/\?/.test(a)?a+"&"+b:a+"?"+b},c=function(a,b){var c,e,f,g,j,k,l,m,n;k=this.o,j=(k.method||"GET").toUpperCase(),l=k.url,g=null!=(m=k.data)?m.key:void 0,c=Stripe.utils.serialize(k.data),f=void 0,"GET"===j&&c&&(l=i(l,c),c=null),n=new XMLHttpRequest,n.open(j,l,!0),h(n,k),n.onreadystatechange=d(this,a,b);try{n.send(c)}catch(o){e=o,Stripe.reportError("XHR-"+e.toString()),b(n,"xhr_send_failure")}return n},a=function(a){return this.o=a,e.apply(this,arguments)},e=function(a){var b,d,e;return this.url=a.url,this.timeout=null,this._successHandler=function(){},this._errorHandlers=[],this._completeHandlers=[],a.timeout&&(this.timeout=setTimeout(function(a){return function(){return a.abort()}}(this),a.timeout)),a.success&&(this._successHandler=function(){return a.success.apply(a,arguments)}),a.error&&this._errorHandlers.push(function(){return a.error.apply(a,arguments)}),a.complete&&this._completeHandlers.push(function(){return a.complete.apply(a,arguments)}),b=function(b){return function(c,d){var e;for(a.timeout&&clearTimeout(b.timeout),b.timeout=null,e=[];b._completeHandlers.length>0;)e.push(b._completeHandlers.shift()(d,c,a));return e}}(this),e=function(a){return function(c,e){var g,h,i;if(i=c.responseText,!i||!i.length)return d(c,"empty_response");try{return h=Stripe.JSON.parse(i),a._successHandler(h,e,c),b(h,"success")}catch(j){return g=j,d(c,f)}}}(this),d=function(a){return function(b,c){var d,e,g;if(g=b.responseText,e=void 0,g&&g.length&&c!==f)try{e=Stripe.JSON.parse(g)}catch(h){d=h,c=c+"_AND_"+f}for(;a._errorHandlers.length>0;)a._errorHandlers.shift()(e||b,c);return Stripe.reportError(c),Stripe._fallBackToOldStripeJsTechniques(),Stripe.request(a.o,!0)}}(this),this.request=c.call(this,e,d)},a.prototype={abort:function(){var a;return this._aborted=!0,null!=(a=this.request)?a.abort():void 0}},this.Stripe.xhr=function(b){return b._globalCustomHeaders=this._customHeaders,new a(b)})}.call(this),function(){var a,b,c,d={}.hasOwnProperty;this.Stripe.isDoubleLoaded||(a=function(a){return this.options=a,a.requestId=Stripe._callCount,a.endpoint=Stripe.endpoint,a.trackPerf=Stripe.trackPerf,this.iframeTimeout=setTimeout(function(){return Stripe._fallBackToOldStripeJsTechniques(),Stripe._iframePendingRequests[a.requestId]&&(Stripe.request(Stripe._iframePendingRequests[a.requestId],!0),delete Stripe._iframePendingRequests[a.requestId]),Stripe._callCache[a.requestId]=function(){return Stripe.reportError("TimeoutEventualReturnError")}},1e4),Stripe._iframePendingRequests[a.requestId]=a,Stripe._callCache[a.requestId]=function(b){return function(){return clearTimeout(b.iframeTimeout),delete Stripe._iframePendingRequests[a.requestId],a.success.apply(a,arguments),"function"==typeof a.complete?a.complete("success",null,a):void 0}}(this),Stripe._callCount+=1,Stripe._socket.postMessage(Stripe.JSON.stringify(a))},this.Stripe.iframe=function(b){return new a(b)},b=Stripe.easyXDM,this.Stripe._isChannel?Stripe._socket=new b.Socket({swf:""+Stripe._iframeBaseUrl+"/v2/stripexdm.swf",onMessage:Stripe._channelListener}):Stripe._isSafeDomain||(c=function(a){var b,d,e;"console"in window&&"warn"in window.console,1,Stripe._iframeChannelComplete.call(Stripe,!1),Stripe._callCache={},Stripe.reportError("FB-"+a),d=document.createElement("script"),e=Math.round((new Date).getTime()/1e3),d.src=""+Stripe._iframeBaseUrl+"/v2/cspblocked.js?domain="+encodeURIComponent(document.location.href)+"×tamp="+e+"&info="+encodeURIComponent(a)+"&payment_user_agent="+encodeURIComponent(Stripe.stripejs_ua),b=document.getElementsByTagName("script")[0],b.parentNode.insertBefore(d,b),c=function(){}},Stripe._socket=new b.Socket({swf:""+Stripe._iframeBaseUrl+"/v2/stripexdm.swf",remote:""+Stripe._iframeBaseUrl+"/v2/channel"+(Stripe.accountDetails?"-provisioning":"")+".html#__stripe_transport__",onMessage:Stripe._receiveChannelRelay,ackTimeoutDuration:1e4,onLoad:function(){return this._socketLoadTime=+new Date,this.onError=function(){},this.onAsyncInject=function(){},clearTimeout(this.injectTimeout),this._socketAckTime?this.loadTimeout?(clearTimeout(this.loadTimeout),Stripe._iframeChannelComplete.call(Stripe,!0)):Stripe.reportError("LoadDelayError",this._socketLoadTime-this._socketAckTime):this.ackTimeout=setTimeout(function(a){return function(){return a.onFrameAck=function(){},clearTimeout(a.loadTimeout),c("AckTimeoutError")}}(this),this.ackTimeoutDuration)},onError:function(){return this.onLoad=function(){},this.onAsyncInject=function(){},this.onFrameAck=function(){},clearTimeout(this.ackTimeout),clearTimeout(this.injectTimeout),clearTimeout(this.loadTimeout),c("IframeOnError")},onInternalError:function(a){var b,c,e;this.onError=function(){},this.onLoad=function(){},this.onFrameAck=function(){},this.onAsyncInject=function(){},clearTimeout(this.ackTimeout),clearTimeout(this.loadTimeout),clearTimeout(this.injectTimeout),Stripe.reportError("FB-XDM-"+a),Stripe._fallBackToOldStripeJsTechniques(),e=Stripe._iframePendingRequests;for(b in e)d.call(e,b)&&(c=e[b],Stripe._callCache[c.requestId]=function(){},delete Stripe._iframePendingRequests[c.requestId],Stripe.request(c,!0))},onAsyncInject:function(a){return this.injectTimeout=setTimeout(function(a){return function(){return a.onError=function(){},a.onLoad=function(){},a.onFrameAck=function(){},clearTimeout(a.ackTimeout),clearTimeout(a.loadTimeout),c("InjectTimeoutError")}}(this),this.ackTimeoutDuration)},onFrameAck:function(a){return this._socketAckTime=+new Date,clearTimeout(this.ackTimeout),clearTimeout(this.injectTimeout),this.onAsyncInject=function(){},this.onError=function(){},this.ackTimeout?Stripe._iframeChannelComplete.call(Stripe,!0):this._socketLoadTime?(this.onLoad=function(){},Stripe.reportError("AckDelayError",this._socketAckTime-this._socketLoadTime)):this.loadTimeout=setTimeout(function(a){return function(){return c("LoadTimeoutError"),a.onLoad=function(){}}}(this),this.ackTimeoutDuration)}})))}.call(this),function(){var a=[].indexOf||function(a){for(var b=0,c=this.length;b<c;b++)if(b in this&&this[b]===a)return b;return-1};this.Stripe.isDoubleLoaded||(this.Stripe.validator={"boolean":function(a,b){if("true"!==b&&"false"!==b)return"Enter a boolean string (true or false)"},integer:function(a,b){if(!/^\d+$/.test(b))return"Enter an integer"},positive:function(a,b){if(this.integer(a,b)||!(parseInt(b,10)>0))return"Enter a positive value"},range:function(b,c){var d;if(d=parseInt(c,10),a.call(b,d)<0)return"Needs to be between "+b[0]+" and "+b[b.length-1]},required:function(a,b){if(a&&(null==b||""===b))return"Required"},year:function(a,b){if(!/^\d{4}$/.test(b))return"Enter a 4-digit year"},birthYear:function(a,b){var c;return c=this.year(a,b),c?c:parseInt(b,10)>2e3?"You must be over 18":parseInt(b,10)<1900?"Enter your birth year":void 0},month:function(a,b){return this.integer(a,b)?"Please enter a month":this.range([1,2,3,4,5,6,7,8,9,10,11,12],b)?"Needs to be between 1 and 12":void 0},choices:function(b,c){if(a.call(b,c)<0)return"Not an acceptable value for this field"},email:function(a,b){if(!/^[^@<\s>]+@[^@<\s>]+$/.test(b))return"That doesn't look like an email address"},url:function(a,b){if(!/^https?:\/\/.+\..+/.test(b))return"Not a valid url"},usTaxID:function(a,b){if(!/^\d{2}-?\d{1}-?\d{2}-?\d{4}$/.test(b))return"Not a valid tax ID"},ein:function(a,b){if(!/^\d{2}-?\d{7}$/.test(b))return"Not a valid EIN"},ssnLast4:function(a,b){if(!/^\d{4}$/.test(b))return"Not a valid last 4 digits for an SSN"},ownerPersonalID:function(a,b){var c;if(c=function(){switch(a){case"CA":return/^\d{3}-?\d{3}-?\d{3}$/.test(b);case"US":return!0}}(),!c)return"Not a valid ID"},bizTaxID:function(a,b){var c,d,e,f,g,h,i,j;if(h={CA:["Tax ID",[/^\d{9}$/]],US:["EIN",[/^\d{2}-?\d{7}$/]]},g=h[a],null!=g){for(c=g[0],f=g[1],d=!1,i=0,j=f.length;i<j;i++)if(e=f[i],e.test(b)){d=!0;break}if(!d)return"Not a valid "+c}},zip:function(a,b){var c;if(c=function(){switch(a.toUpperCase()){case"CA":return/^[\d\w]{6}$/.test(null!=b?b.replace(/\s+/g,""):void 0);case"US":return/^\d{5}$/.test(b)||/^\d{9}$/.test(b)}}(),!c)return"Not a valid zip"},bankAccountNumber:function(a,b){if(!/^\d{1,17}$/.test(b))return"Invalid bank account number"},usRoutingNumber:function(a){var b,c,d,e,f,g,h;if(!/^\d{9}$/.test(a))return"Routing number must have 9 digits";for(f=0,b=g=0,h=a.length-1;g<=h;b=g+=3)c=3*parseInt(a.charAt(b),10),d=7*parseInt(a.charAt(b+1),10),e=parseInt(a.charAt(b+2),10),f+=c+d+e;return 0===f||f%10!==0?"Invalid routing number":void 0},caRoutingNumber:function(a){if(!/^\d{5}\-\d{3}$/.test(a))return"Invalid transit number"},routingNumber:function(a,b){switch(a.toUpperCase()){case"CA":return this.caRoutingNumber(b);case"US":return this.usRoutingNumber(b)}},phoneNumber:function(a,b){var c;if(c=b.replace(/[^0-9]/g,""),10!==c.length)return"Invalid phone number"},bizDBA:function(a,b){if(!/^.{1,23}$/.test(b))return"Statement descriptors can only have up to 23 characters"},nameLength:function(a,b){if(1===b.length)return"Names need to be longer than one character"},isUrl:function(a){return"string"==typeof a&&!this.url(null,a)},isElementOrId:function(a){return"object"==typeof a&&null!=a.appendChild||"string"==typeof a}})}.call(this);
|
@@ -31,10 +31,136 @@ class rtbAJAX {
|
|
31 |
|
32 |
add_action( 'wp_ajax_rtb_get_available_time_slots', array( $this, 'get_time_slots' ) );
|
33 |
add_action( 'wp_ajax_nopriv_rtb_get_available_time_slots', array( $this, 'get_time_slots' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
}
|
35 |
|
36 |
/**
|
37 |
-
*
|
38 |
* @since 2.0.0
|
39 |
*/
|
40 |
public function get_time_slots() {
|
@@ -87,10 +213,10 @@ class rtbAJAX {
|
|
87 |
while ( sizeOf( $current_times ) > 0 and reset( $current_times ) < $time - $dining_block_seconds ) {
|
88 |
//save the time to know when the blocking potentially ends
|
89 |
$removed_time = reset( $current_times );
|
90 |
-
|
91 |
// remove the expired time
|
92 |
array_shift( $current_times );
|
93 |
-
|
94 |
// remove the block if we've dropped below the max reservation count
|
95 |
if ( $blocked and sizeOf( $current_times ) < $max_reservations ) {
|
96 |
$blocked = false;
|
31 |
|
32 |
add_action( 'wp_ajax_rtb_get_available_time_slots', array( $this, 'get_time_slots' ) );
|
33 |
add_action( 'wp_ajax_nopriv_rtb_get_available_time_slots', array( $this, 'get_time_slots' ) );
|
34 |
+
|
35 |
+
add_action( 'wp_ajax_rtb_find_reservations', array( $this, 'get_reservations' ) );
|
36 |
+
add_action( 'wp_ajax_nopriv_rtb_find_reservations', array( $this, 'get_reservations' ) );
|
37 |
+
|
38 |
+
add_action( 'wp_ajax_rtb_cancel_reservations', array( $this, 'cancel_reservation' ) );
|
39 |
+
add_action( 'wp_ajax_nopriv_rtb_cancel_reservations', array( $this, 'cancel_reservation' ) );
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Get reservations that are associated with the email address that was sent
|
44 |
+
* @since 2.1.0
|
45 |
+
*/
|
46 |
+
public function get_reservations() {
|
47 |
+
global $wpdb;
|
48 |
+
|
49 |
+
$email = isset($_POST['booking_email']) ? sanitize_email( $_POST['booking_email'] ) : '';
|
50 |
+
|
51 |
+
if ( ! $email ) {
|
52 |
+
wp_send_json_error(
|
53 |
+
array(
|
54 |
+
'error' => 'noemail',
|
55 |
+
'msg' => __( 'The email you entered is not valid.', 'restaurant-reservations' ),
|
56 |
+
)
|
57 |
+
);
|
58 |
+
}
|
59 |
+
|
60 |
+
require_once( RTB_PLUGIN_DIR . '/includes/Booking.class.php' );
|
61 |
+
|
62 |
+
$bookings = array();
|
63 |
+
$booking_ids = $wpdb->get_results($wpdb->prepare("SELECT post_id FROM $wpdb->postmeta WHERE meta_key='rtb' AND meta_value LIKE %s", '%' . $email . '%'));
|
64 |
+
foreach ( $booking_ids as $booking_id ) {
|
65 |
+
$booking = new rtbBooking();
|
66 |
+
if ( $booking->load_post( $booking_id->post_id ) ) {
|
67 |
+
if ( ( $booking->post_status == 'pending' or $booking->post_status == 'confirmed' ) and time() < strtotime( $booking->date ) ) {
|
68 |
+
$bookings[] = array(
|
69 |
+
'ID' => $booking->ID,
|
70 |
+
'email' => $booking->email,
|
71 |
+
'datetime' => $booking->format_date( $booking->date ),
|
72 |
+
'party' => $booking->party
|
73 |
+
);
|
74 |
+
}
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
if ( ! empty($bookings) ) {
|
79 |
+
wp_send_json_success(
|
80 |
+
array(
|
81 |
+
'bookings' => $bookings
|
82 |
+
)
|
83 |
+
);
|
84 |
+
}
|
85 |
+
else {
|
86 |
+
wp_send_json_error(
|
87 |
+
array(
|
88 |
+
'error' => 'nobookings',
|
89 |
+
'msg' => __( 'No bookings were found for the email address you entered.', 'restaurant-reservations' ),
|
90 |
+
)
|
91 |
+
);
|
92 |
+
}
|
93 |
+
|
94 |
+
die();
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* Cancel a reservation based on its ID, with the email address used for confirmation
|
99 |
+
* @since 2.1.0
|
100 |
+
*/
|
101 |
+
public function cancel_reservation( $non_ajax = true ) {
|
102 |
+
global $rtb_controller;
|
103 |
+
|
104 |
+
$booking_id = isset($_REQUEST['booking_id']) ? absint( $_REQUEST['booking_id'] ) : '';
|
105 |
+
$booking_email = isset($_REQUEST['booking_email']) ? sanitize_email( $_REQUEST['booking_email'] ) : '';
|
106 |
+
|
107 |
+
require_once( RTB_PLUGIN_DIR . '/includes/Booking.class.php' );
|
108 |
+
|
109 |
+
$success = false;
|
110 |
+
|
111 |
+
$booking = new rtbBooking();
|
112 |
+
if ( $booking->load_post( $booking_id ) ) {
|
113 |
+
if ( $booking_email == $booking->email ) {
|
114 |
+
wp_update_post( array( 'ID' => $booking->ID, 'post_status' => 'cancelled' ) );
|
115 |
+
|
116 |
+
$success = true;
|
117 |
+
}
|
118 |
+
else {
|
119 |
+
wp_send_json_error(
|
120 |
+
array(
|
121 |
+
'error' => 'invalidemail',
|
122 |
+
'msg' => __( 'No booking matches the information that was sent.', 'restaurant-reservations' ),
|
123 |
+
)
|
124 |
+
);
|
125 |
+
}
|
126 |
+
}
|
127 |
+
else {
|
128 |
+
wp_send_json_error(
|
129 |
+
array(
|
130 |
+
'error' => 'invalidid',
|
131 |
+
'msg' => __( 'No booking matches the information that was sent.', 'restaurant-reservations' ),
|
132 |
+
)
|
133 |
+
);
|
134 |
+
}
|
135 |
+
|
136 |
+
if ( $ajax ) {
|
137 |
+
if ( $success ) {
|
138 |
+
wp_send_json_success(
|
139 |
+
array(
|
140 |
+
'booking_id' => $booking_id
|
141 |
+
)
|
142 |
+
);
|
143 |
+
}
|
144 |
+
|
145 |
+
die();
|
146 |
+
}
|
147 |
+
elseif ( $success ) {
|
148 |
+
$booking_page_id = $rtb_controller->settings->get_setting( 'booking-page' );
|
149 |
+
$booking_page_url = get_permalink( $booking_page_id );
|
150 |
+
|
151 |
+
$cancelled_url = add_query_arg(
|
152 |
+
array(
|
153 |
+
'bookingCancelled' => 'success'
|
154 |
+
),
|
155 |
+
$booking_page_url
|
156 |
+
);
|
157 |
+
|
158 |
+
header( 'location:' . $cancelled_url );
|
159 |
+
}
|
160 |
}
|
161 |
|
162 |
/**
|
163 |
+
* Get available timeslots when "Max Reservations" is enabled
|
164 |
* @since 2.0.0
|
165 |
*/
|
166 |
public function get_time_slots() {
|
213 |
while ( sizeOf( $current_times ) > 0 and reset( $current_times ) < $time - $dining_block_seconds ) {
|
214 |
//save the time to know when the blocking potentially ends
|
215 |
$removed_time = reset( $current_times );
|
216 |
+
|
217 |
// remove the expired time
|
218 |
array_shift( $current_times );
|
219 |
+
|
220 |
// remove the block if we've dropped below the max reservation count
|
221 |
if ( $blocked and sizeOf( $current_times ) < $max_reservations ) {
|
222 |
$blocked = false;
|
@@ -82,7 +82,10 @@ class rtbBooking {
|
|
82 |
'logs' => array(),
|
83 |
'ip' => '',
|
84 |
'consent_acquired' => '',
|
|
|
|
|
85 |
'reminder_sent' => false,
|
|
|
86 |
);
|
87 |
|
88 |
$meta_defaults = apply_filters( 'rtb_booking_metadata_defaults', $meta_defaults );
|
@@ -100,6 +103,10 @@ class rtbBooking {
|
|
100 |
$this->logs = $meta['logs'];
|
101 |
$this->ip = $meta['ip'];
|
102 |
$this->consent_acquired = $meta['consent_acquired'];
|
|
|
|
|
|
|
|
|
103 |
}
|
104 |
|
105 |
/**
|
@@ -137,6 +144,22 @@ class rtbBooking {
|
|
137 |
return $time;
|
138 |
}
|
139 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
/**
|
141 |
* Insert a new booking submission into the database
|
142 |
*
|
@@ -165,7 +188,7 @@ class rtbBooking {
|
|
165 |
return false;
|
166 |
}
|
167 |
|
168 |
-
if ( $this->insert_post_data() === false ) {
|
169 |
return false;
|
170 |
} else {
|
171 |
$this->request_inserted = true;
|
@@ -455,11 +478,38 @@ class rtbBooking {
|
|
455 |
);
|
456 |
}
|
457 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
458 |
// Message
|
459 |
$this->message = empty( $_POST['rtb-message'] ) ? '' : nl2br( wp_kses_post( stripslashes_deep( $_POST['rtb-message'] ) ) );
|
460 |
|
461 |
// Post Status (define a default post status if none passed)
|
462 |
-
$this->determine_status();
|
463 |
|
464 |
// Consent
|
465 |
$require_consent = $rtb_controller->settings->get_setting( 'require-consent' );
|
@@ -734,11 +784,11 @@ class rtbBooking {
|
|
734 |
} elseif ( $rtb_controller->settings->get_setting( 'require-deposit' ) and ! $payment_made ) {
|
735 |
$this->post_status = 'draft';
|
736 |
} elseif ( $this->party < $rtb_controller->settings->get_setting( 'auto-confirm-max-party-size' ) ) {
|
737 |
-
$this->post_status = 'confirmed';
|
738 |
} elseif ($rtb_controller->settings->get_setting( 'auto-confirm-max-reservations' ) and $this->under_max_confirm_reservations() ) {
|
739 |
-
$this->post_status = 'confirmed';
|
740 |
} elseif ( $rtb_controller->settings->get_setting( 'auto-confirm-max-seats' ) and $this->under_max_confirm_seats() ) {
|
741 |
-
$this->post_status = 'confirmed';
|
742 |
} else {
|
743 |
$this->post_status = 'pending';
|
744 |
}
|
@@ -827,6 +877,14 @@ class rtbBooking {
|
|
827 |
$meta['logs'] = $this->logs;
|
828 |
}
|
829 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
830 |
if ( !empty( $this->reminder_sent ) ) {
|
831 |
$meta['reminder_sent'] = $this->reminder_sent;
|
832 |
}
|
82 |
'logs' => array(),
|
83 |
'ip' => '',
|
84 |
'consent_acquired' => '',
|
85 |
+
'deposit' => '0',
|
86 |
+
'receipt_id' => '',
|
87 |
'reminder_sent' => false,
|
88 |
+
'late_arrival_sent' => false,
|
89 |
);
|
90 |
|
91 |
$meta_defaults = apply_filters( 'rtb_booking_metadata_defaults', $meta_defaults );
|
103 |
$this->logs = $meta['logs'];
|
104 |
$this->ip = $meta['ip'];
|
105 |
$this->consent_acquired = $meta['consent_acquired'];
|
106 |
+
$this->deposit = $meta['deposit'];
|
107 |
+
$this->receipt_id = $meta['receipt_id'];
|
108 |
+
$this->late_arrival_sent = $meta['late_arrival_sent'];
|
109 |
+
$this->reminder_sent = $meta['reminder_sent'];
|
110 |
}
|
111 |
|
112 |
/**
|
144 |
return $time;
|
145 |
}
|
146 |
|
147 |
+
/**
|
148 |
+
* Calculates the deposit required for a reservation, if any
|
149 |
+
*
|
150 |
+
* @since 2.1.0
|
151 |
+
*/
|
152 |
+
public function calculate_deposit( ) {
|
153 |
+
global $rtb_controller;
|
154 |
+
|
155 |
+
$deposit = $rtb_controller->settings->get_setting( 'rtb-deposit-amount' );
|
156 |
+
|
157 |
+
if ( $rtb_controller->settings->get_setting( 'rtb-deposit-type' == 'guest' ) ) { $deposit = $deposit * $this->party; }
|
158 |
+
|
159 |
+
return $deposit;
|
160 |
+
}
|
161 |
+
|
162 |
+
|
163 |
/**
|
164 |
* Insert a new booking submission into the database
|
165 |
*
|
188 |
return false;
|
189 |
}
|
190 |
|
191 |
+
if ( $this->insert_post_data() === false ) {
|
192 |
return false;
|
193 |
} else {
|
194 |
$this->request_inserted = true;
|
478 |
);
|
479 |
}
|
480 |
|
481 |
+
// reCAPTCHA
|
482 |
+
if ( $rtb_controller->settings->get_setting( 'enable-captcha' ) ) {
|
483 |
+
if ( ! isset($_POST['g-recaptcha-response']) ) {
|
484 |
+
$this->validation_errors[] = array(
|
485 |
+
'field' => 'recaptcha',
|
486 |
+
'error_msg' => 'No reCAPTCHA code',
|
487 |
+
'message' => __( 'Please fill out the reCAPTCHA box before submitting.', 'restaurant-reservations' ),
|
488 |
+
);
|
489 |
+
}
|
490 |
+
else {
|
491 |
+
$secret_key = $rtb_controller->settings->get_setting( 'captcha-secret-key' );
|
492 |
+
$captcha = $_POST['g-recaptcha-response'];
|
493 |
+
|
494 |
+
$url = 'https://www.google.com/recaptcha/api/siteverify?secret=' . urlencode($secret_key) . '&response=' . urlencode($captcha);
|
495 |
+
$json_response = file_get_contents( $url );
|
496 |
+
$response = json_decode( $json_response ); update_option("EWD_Debugging", print_r($response, true));
|
497 |
+
|
498 |
+
if ( ! $response->success ) {
|
499 |
+
$this->validation_errors[] = array(
|
500 |
+
'field' => 'recaptcha',
|
501 |
+
'error_msg' => 'Invalid reCAPTCHA code',
|
502 |
+
'message' => __( 'Please fill out the reCAPTCHA box again and re-submit.', 'restaurant-reservations' ),
|
503 |
+
);
|
504 |
+
}
|
505 |
+
}
|
506 |
+
}
|
507 |
+
|
508 |
// Message
|
509 |
$this->message = empty( $_POST['rtb-message'] ) ? '' : nl2br( wp_kses_post( stripslashes_deep( $_POST['rtb-message'] ) ) );
|
510 |
|
511 |
// Post Status (define a default post status if none passed)
|
512 |
+
$this->determine_status();
|
513 |
|
514 |
// Consent
|
515 |
$require_consent = $rtb_controller->settings->get_setting( 'require-consent' );
|
784 |
} elseif ( $rtb_controller->settings->get_setting( 'require-deposit' ) and ! $payment_made ) {
|
785 |
$this->post_status = 'draft';
|
786 |
} elseif ( $this->party < $rtb_controller->settings->get_setting( 'auto-confirm-max-party-size' ) ) {
|
787 |
+
$this->post_status = 'confirmed';
|
788 |
} elseif ($rtb_controller->settings->get_setting( 'auto-confirm-max-reservations' ) and $this->under_max_confirm_reservations() ) {
|
789 |
+
$this->post_status = 'confirmed';
|
790 |
} elseif ( $rtb_controller->settings->get_setting( 'auto-confirm-max-seats' ) and $this->under_max_confirm_seats() ) {
|
791 |
+
$this->post_status = 'confirmed';
|
792 |
} else {
|
793 |
$this->post_status = 'pending';
|
794 |
}
|
877 |
$meta['logs'] = $this->logs;
|
878 |
}
|
879 |
|
880 |
+
if ( !empty( $this->deposit ) ) {
|
881 |
+
$meta['deposit'] = $this->deposit;
|
882 |
+
}
|
883 |
+
|
884 |
+
if ( !empty( $this->receipt_id ) ) {
|
885 |
+
$meta['receipt_id'] = $this->receipt_id;
|
886 |
+
}
|
887 |
+
|
888 |
if ( !empty( $this->reminder_sent ) ) {
|
889 |
$meta['reminder_sent'] = $this->reminder_sent;
|
890 |
}
|
@@ -20,7 +20,7 @@ class rtbCron {
|
|
20 |
add_action( 'rtb_cron_jobs', array($this, 'handle_late_arrivals_task') );
|
21 |
add_action( 'rtb_cron_jobs', array($this, 'handle_reminder_task') );
|
22 |
|
23 |
-
add_action('admin_init', array($this, 'handle_reminder_task') );
|
24 |
}
|
25 |
|
26 |
/**
|
@@ -69,15 +69,21 @@ class rtbCron {
|
|
69 |
|
70 |
if ( ! $rtb_controller->settings->get_setting( 'time-reminder-user' ) ) { return; }
|
71 |
|
|
|
|
|
|
|
|
|
72 |
$bookings = $this->get_late_arrival_posts();
|
73 |
|
74 |
foreach ($bookings as $booking) {
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
|
|
|
|
81 |
|
82 |
$notification->set_booking($booking);
|
83 |
|
@@ -107,15 +113,21 @@ class rtbCron {
|
|
107 |
|
108 |
if ( ! $rtb_controller->settings->get_setting( 'time-reminder-user' ) ) { return; }
|
109 |
|
|
|
|
|
|
|
|
|
110 |
$bookings = $this->get_reminder_posts();
|
111 |
|
112 |
foreach ($bookings as $booking) {
|
113 |
-
$booking_data = get_post_meta( $booking->ID, 'rtb', true );
|
114 |
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
|
|
|
|
|
|
119 |
|
120 |
$notification->set_booking($booking);
|
121 |
|
20 |
add_action( 'rtb_cron_jobs', array($this, 'handle_late_arrivals_task') );
|
21 |
add_action( 'rtb_cron_jobs', array($this, 'handle_reminder_task') );
|
22 |
|
23 |
+
// add_action('admin_init', array($this, 'handle_reminder_task') ); // Used for testing
|
24 |
}
|
25 |
|
26 |
/**
|
69 |
|
70 |
if ( ! $rtb_controller->settings->get_setting( 'time-reminder-user' ) ) { return; }
|
71 |
|
72 |
+
require_once( RTB_PLUGIN_DIR . '/includes/Notification.class.php' );
|
73 |
+
require_once( RTB_PLUGIN_DIR . '/includes/Notification.Email.class.php' );
|
74 |
+
require_once( RTB_PLUGIN_DIR . '/includes/Notification.SMS.class.php' );
|
75 |
+
|
76 |
$bookings = $this->get_late_arrival_posts();
|
77 |
|
78 |
foreach ($bookings as $booking) {
|
79 |
+
|
80 |
+
if ( ! $booking->late_arrival_sent ) {
|
81 |
+
if ( $rtb_controller->settings->get_setting( 'late-notification-format' ) == 'text' ) {
|
82 |
+
$notification = new rtbNotificationSMS( 'late_user', 'user' );
|
83 |
+
}
|
84 |
+
else {
|
85 |
+
$notification = new rtbNotificationEmail( 'late_user', 'user' );
|
86 |
+
}
|
87 |
|
88 |
$notification->set_booking($booking);
|
89 |
|
113 |
|
114 |
if ( ! $rtb_controller->settings->get_setting( 'time-reminder-user' ) ) { return; }
|
115 |
|
116 |
+
require_once( RTB_PLUGIN_DIR . '/includes/Notification.class.php' );
|
117 |
+
require_once( RTB_PLUGIN_DIR . '/includes/Notification.Email.class.php' );
|
118 |
+
require_once( RTB_PLUGIN_DIR . '/includes/Notification.SMS.class.php' );
|
119 |
+
|
120 |
$bookings = $this->get_reminder_posts();
|
121 |
|
122 |
foreach ($bookings as $booking) {
|
|
|
123 |
|
124 |
+
if ( ! $booking->reminder_sent ) {
|
125 |
+
if ( $rtb_controller->settings->get_setting( 'reminder-notification-format' ) == 'text' ) {
|
126 |
+
$notification = new rtbNotificationSMS( 'reminder', 'user' );
|
127 |
+
}
|
128 |
+
else {
|
129 |
+
$notification = new rtbNotificationEmail( 'reminder', 'user' );
|
130 |
+
}
|
131 |
|
132 |
$notification->set_booking($booking);
|
133 |
|
@@ -24,6 +24,7 @@ class rtbCustomPostTypes {
|
|
24 |
// Set up $booking_statuses array and register new post statuses
|
25 |
add_action( 'init', array( $this, 'set_booking_statuses' ) );
|
26 |
add_filter( 'rtb_post_statuses_args' , array( $this, 'add_arrived_status' ) );
|
|
|
27 |
|
28 |
// Display the count of pending bookings
|
29 |
add_action( 'admin_footer', array( $this, 'show_pending_count' ) );
|
@@ -152,6 +153,32 @@ class rtbCustomPostTypes {
|
|
152 |
|
153 |
}
|
154 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
/**
|
156 |
* @since 2.0.0
|
157 |
* Adds in an "Arrived" status if the option to check guests in on arrival
|
24 |
// Set up $booking_statuses array and register new post statuses
|
25 |
add_action( 'init', array( $this, 'set_booking_statuses' ) );
|
26 |
add_filter( 'rtb_post_statuses_args' , array( $this, 'add_arrived_status' ) );
|
27 |
+
add_filter( 'rtb_post_statuses_args' , array( $this, 'add_cancelled_status' ) );
|
28 |
|
29 |
// Display the count of pending bookings
|
30 |
add_action( 'admin_footer', array( $this, 'show_pending_count' ) );
|
153 |
|
154 |
}
|
155 |
|
156 |
+
|
157 |
+
/**
|
158 |
+
* @since 2.1.0
|
159 |
+
* Adds in a "Cancelled" status if the option to allow guest to cancel
|
160 |
+
* their reservation has been toggled on.
|
161 |
+
*/
|
162 |
+
public function add_cancelled_status( $booking_statuses = array() ) {
|
163 |
+
global $rtb_controller;
|
164 |
+
|
165 |
+
if ( $rtb_controller->settings->get_setting( 'allow-cancellations' ) ) {
|
166 |
+
$booking_statuses['cancelled'] = array(
|
167 |
+
'label' => _x( 'Cancelled', 'The guest has cancelled their reservation themselves.', 'restaurant-reservations' ),
|
168 |
+
'default' => false, // Whether or not this status is part of WP Core
|
169 |
+
'user_selectable' => false, // Whether or not a user can set a booking to this status
|
170 |
+
'public' => false,
|
171 |
+
'exclude_from_search' => true,
|
172 |
+
'show_in_admin_all_list' => true,
|
173 |
+
'show_in_admin_status_list' => true,
|
174 |
+
'label_count' => _n_noop( 'Cancelled <span class="count">(%s)</span>', 'Cancelled <span class="count">(%s)</span>', 'restaurant-reservations' )
|
175 |
+
);
|
176 |
+
}
|
177 |
+
|
178 |
+
return $booking_statuses;
|
179 |
+
}
|
180 |
+
|
181 |
+
|
182 |
/**
|
183 |
* @since 2.0.0
|
184 |
* Adds in an "Arrived" status if the option to check guests in on arrival
|
@@ -20,6 +20,9 @@ class rtbDashboard {
|
|
20 |
}
|
21 |
|
22 |
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
|
|
|
|
|
|
|
23 |
}
|
24 |
|
25 |
public function add_dashboard_to_menu() {
|
@@ -38,7 +41,7 @@ class rtbDashboard {
|
|
38 |
$new_submenu = array();
|
39 |
$menu_item_count = 3;
|
40 |
|
41 |
-
if ( !
|
42 |
|
43 |
foreach ( $submenu['rtb-bookings'] as $key => $sub_item ) {
|
44 |
if ( $sub_item[0] == 'Dashboard' ) { $new_submenu[0] = $sub_item; }
|
@@ -172,8 +175,14 @@ class rtbDashboard {
|
|
172 |
<div id="rtb-dashboard-content-left">
|
173 |
|
174 |
<?php if ( ! $permission or ! $ultimate or get_option("RTB_Trial_Happening") == "Yes") { ?>
|
175 |
-
<div class="rtb-dashboard-new-widget-box ewd-widget-box-full">
|
176 |
<div class="rtb-dashboard-new-widget-box-top">
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
<form method="post" action="admin.php?page=rtb-dashboard" class="rtb-dashboard-key-widget">
|
178 |
<input class="rtb-dashboard-key-widget-input" name="Key" type="text" placeholder="<?php _e('Enter License Key Here', 'restaurant-reservations'); ?>">
|
179 |
<input class="rtb-dashboard-key-widget-submit" name="RTB_Upgrade_To_Full" type="submit" value="<?php echo ( ! $permission ? __('UNLOCK PREMIUM', 'restaurant-reservations') : __('UNLOCK ULTIMATE', 'restaurant-reservations') ) ?>">
|
@@ -200,15 +209,15 @@ class rtbDashboard {
|
|
200 |
</a>
|
201 |
</li>
|
202 |
<li>
|
203 |
-
<a href="
|
204 |
-
<img src="<?php echo plugins_url( '../assets/img/ewd-support-icon-
|
205 |
-
<div class="rtb-dashboard-support-widgets-text">
|
206 |
</a>
|
207 |
</li>
|
208 |
<li>
|
209 |
-
<a href="https://www.fivestarplugins.com/support-center
|
210 |
-
<img src="<?php echo plugins_url( '../assets/img/ewd-support-icon-
|
211 |
-
<div class="rtb-dashboard-support-widgets-text">
|
212 |
</a>
|
213 |
</li>
|
214 |
</ul>
|
@@ -422,9 +431,10 @@ class rtbDashboard {
|
|
422 |
<ul class="rtb-dashboard-new-footer-two-menu">
|
423 |
<li>SUPPORT</li>
|
424 |
<li><a href="https://www.youtube.com/channel/UCZPuaoetCJB1vZOmpnMxJNw/featured" target="_blank">YouTube Tutorials</a></li>
|
425 |
-
<li><a href="
|
426 |
-
<li><a href="https://www.fivestarplugins.com/support-center
|
427 |
<li><a href="https://wordpress.org/plugins/restaurant-reservations/#faq" target="_blank">FAQs</a></li>
|
|
|
428 |
</ul>
|
429 |
</div>
|
430 |
</div> <!-- rtb-dashboard-new-footer-two -->
|
@@ -445,5 +455,13 @@ class rtbDashboard {
|
|
445 |
echo "<div class='error'><p>" . $this->message . "</p></div>";
|
446 |
}
|
447 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
448 |
}
|
449 |
} // endif
|
20 |
}
|
21 |
|
22 |
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
|
23 |
+
|
24 |
+
add_action( 'wp_ajax_rtb_hide_upgrade_box', array($this, 'hide_upgrade_box') );
|
25 |
+
add_action( 'wp_ajax_rtb_display_upgrade_box', array($this, 'display_upgrade_box') );
|
26 |
}
|
27 |
|
28 |
public function add_dashboard_to_menu() {
|
41 |
$new_submenu = array();
|
42 |
$menu_item_count = 3;
|
43 |
|
44 |
+
if ( ! isset( $submenu['rtb-bookings'] ) or ! is_array($submenu['rtb-bookings']) ) { return; }
|
45 |
|
46 |
foreach ( $submenu['rtb-bookings'] as $key => $sub_item ) {
|
47 |
if ( $sub_item[0] == 'Dashboard' ) { $new_submenu[0] = $sub_item; }
|
175 |
<div id="rtb-dashboard-content-left">
|
176 |
|
177 |
<?php if ( ! $permission or ! $ultimate or get_option("RTB_Trial_Happening") == "Yes") { ?>
|
178 |
+
<div id="rtb-dashboard-upgrade-box" class="rtb-dashboard-new-widget-box ewd-widget-box-full <?php echo ( get_option( 'rtb-hide-upgrade-box' ) ? 'rtb-hidden' : '' ); ?>">
|
179 |
<div class="rtb-dashboard-new-widget-box-top">
|
180 |
+
<?php if ( $permission ) { ?>
|
181 |
+
<div class="rtb-ultimate-notification">
|
182 |
+
<?php _e( 'Thanks for being a premium user! <strong>If you\'re looking to upgrade to our ultimate version, enter your new product key below.</strong>', 'restaurant-reservations' ); ?>
|
183 |
+
</div>
|
184 |
+
<div class="rtb-ultimate-upgrade-dismiss"></div>
|
185 |
+
<?php } ?>
|
186 |
<form method="post" action="admin.php?page=rtb-dashboard" class="rtb-dashboard-key-widget">
|
187 |
<input class="rtb-dashboard-key-widget-input" name="Key" type="text" placeholder="<?php _e('Enter License Key Here', 'restaurant-reservations'); ?>">
|
188 |
<input class="rtb-dashboard-key-widget-submit" name="RTB_Upgrade_To_Full" type="submit" value="<?php echo ( ! $permission ? __('UNLOCK PREMIUM', 'restaurant-reservations') : __('UNLOCK ULTIMATE', 'restaurant-reservations') ) ?>">
|
209 |
</a>
|
210 |
</li>
|
211 |
<li>
|
212 |
+
<a href="http://doc.fivestarplugins.com/plugins/restaurant-reservations/" target="_blank">
|
213 |
+
<img src="<?php echo plugins_url( '../assets/img/ewd-support-icon-documentation.png', __FILE__ ); ?>">
|
214 |
+
<div class="rtb-dashboard-support-widgets-text">Documentation</div>
|
215 |
</a>
|
216 |
</li>
|
217 |
<li>
|
218 |
+
<a href="https://www.fivestarplugins.com/support-center/" target="_blank">
|
219 |
+
<img src="<?php echo plugins_url( '../assets/img/ewd-support-icon-forum.png', __FILE__ ); ?>">
|
220 |
+
<div class="rtb-dashboard-support-widgets-text">Get Support</div>
|
221 |
</a>
|
222 |
</li>
|
223 |
</ul>
|
431 |
<ul class="rtb-dashboard-new-footer-two-menu">
|
432 |
<li>SUPPORT</li>
|
433 |
<li><a href="https://www.youtube.com/channel/UCZPuaoetCJB1vZOmpnMxJNw/featured" target="_blank">YouTube Tutorials</a></li>
|
434 |
+
<li><a href="http://doc.fivestarplugins.com/plugins/restaurant-reservations/" target="_blank">Documentation</a></li>
|
435 |
+
<li><a href="https://www.fivestarplugins.com/support-center/" target="_blank">Get Support</a></li>
|
436 |
<li><a href="https://wordpress.org/plugins/restaurant-reservations/#faq" target="_blank">FAQs</a></li>
|
437 |
+
<li><a id="rtb-dashboard-show-upgrade-box-link" href="#rtb-dashboard-upgrade-box">Ultimate Upgrade</a></li>
|
438 |
</ul>
|
439 |
</div>
|
440 |
</div> <!-- rtb-dashboard-new-footer-two -->
|
455 |
echo "<div class='error'><p>" . $this->message . "</p></div>";
|
456 |
}
|
457 |
}
|
458 |
+
|
459 |
+
public function hide_upgrade_box() {
|
460 |
+
update_option( 'rtb-hide-upgrade-box', true );
|
461 |
+
}
|
462 |
+
|
463 |
+
public function display_upgrade_box() {
|
464 |
+
update_option( 'rtb-hide-upgrade-box', false );
|
465 |
+
}
|
466 |
}
|
467 |
} // endif
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
3 |
+
|
4 |
+
if ( !class_exists( 'rtbDeactivationSurvey' ) ) {
|
5 |
+
/**
|
6 |
+
* Class to handle plugin deactivation survey
|
7 |
+
*
|
8 |
+
* @since 2.0.15
|
9 |
+
*/
|
10 |
+
class rtbDeactivationSurvey {
|
11 |
+
|
12 |
+
public function __construct() {
|
13 |
+
add_action( 'current_screen', array( $this, 'maybe_add_survey' ) );
|
14 |
+
}
|
15 |
+
|
16 |
+
public function maybe_add_survey() {
|
17 |
+
if ( in_array( get_current_screen()->id, array( 'plugins', 'plugins-network' ), true) ) {
|
18 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_deactivation_scripts') );
|
19 |
+
add_action( 'admin_footer', array( $this, 'add_deactivation_html') );
|
20 |
+
}
|
21 |
+
}
|
22 |
+
|
23 |
+
public function enqueue_deactivation_scripts() {
|
24 |
+
wp_enqueue_style( 'rtb-deactivation-css', RTB_PLUGIN_URL . '/assets/css/plugin-deactivation.css' );
|
25 |
+
wp_enqueue_script( 'rtb-deactivation-js', RTB_PLUGIN_URL . '/assets/js/plugin-deactivation.js', array( 'jquery' ) );
|
26 |
+
|
27 |
+
wp_localize_script( 'rtb-deactivation-js', 'rtb_deactivation_data', array( 'site_url' => site_url() ) );
|
28 |
+
}
|
29 |
+
|
30 |
+
public function add_deactivation_html() {
|
31 |
+
|
32 |
+
$install_time = get_option( 'rtb-installation-time' );
|
33 |
+
|
34 |
+
$options = array(
|
35 |
+
1 => array(
|
36 |
+
'title' => esc_html__( 'I no longer need the plugin', 'restaurant-reservations' ),
|
37 |
+
),
|
38 |
+
2 => array(
|
39 |
+
'title' => esc_html__( 'I\'m switching to a different plugin', 'restaurant-reservations' ),
|
40 |
+
'details' => esc_html__( 'Please share which plugin', 'restaurant-reservations' ),
|
41 |
+
),
|
42 |
+
3 => array(
|
43 |
+
'title' => esc_html__( 'I couldn\'t get the plugin to work', 'restaurant-reservations' ),
|
44 |
+
'details' => esc_html__( 'Please share what wasn\'t working', 'restaurant-reservations' ),
|
45 |
+
),
|
46 |
+
4 => array(
|
47 |
+
'title' => esc_html__( 'It\'s a temporary deactivation', 'restaurant-reservations' ),
|
48 |
+
),
|
49 |
+
5 => array(
|
50 |
+
'title' => esc_html__( 'Other', 'restaurant-reservations' ),
|
51 |
+
'details' => esc_html__( 'Please share the reason', 'restaurant-reservations' ),
|
52 |
+
),
|
53 |
+
);
|
54 |
+
?>
|
55 |
+
<div class="rtb-deactivate-survey-modal" id="rtb-deactivate-survey-restaurant-reservations">
|
56 |
+
<div class="rtb-deactivate-survey-wrap">
|
57 |
+
<form class="rtb-deactivate-survey" method="post" data-installtime="<?php echo $install_time; ?>">
|
58 |
+
<span class="rtb-deactivate-survey-title"><span class="dashicons dashicons-testimonial"></span><?php echo ' ' . __( 'Quick Feedback', 'restaurant-reservations' ); ?></span>
|
59 |
+
<span class="rtb-deactivate-survey-desc"><?php echo __('If you have a moment, please share why you are deactivating Five-Star Restaurant Reservations:', 'restaurant-reservations' ); ?></span>
|
60 |
+
<div class="rtb-deactivate-survey-options">
|
61 |
+
<?php foreach ( $options as $id => $option ) : ?>
|
62 |
+
<div class="rtb-deactivate-survey-option">
|
63 |
+
<label for="rtb-deactivate-survey-option-restaurant-reservations-<?php echo $id; ?>" class="rtb-deactivate-survey-option-label">
|
64 |
+
<input id="rtb-deactivate-survey-option-restaurant-reservations-<?php echo $id; ?>" class="rtb-deactivate-survey-option-input" type="radio" name="code" value="<?php echo $id; ?>" />
|
65 |
+
<span class="rtb-deactivate-survey-option-reason"><?php echo $option['title']; ?></span>
|
66 |
+
</label>
|
67 |
+
<?php if ( ! empty( $option['details'] ) ) : ?>
|
68 |
+
<input class="rtb-deactivate-survey-option-details" type="text" placeholder="<?php echo $option['details']; ?>" />
|
69 |
+
<?php endif; ?>
|
70 |
+
</div>
|
71 |
+
<?php endforeach; ?>
|
72 |
+
</div>
|
73 |
+
<div class="rtb-deactivate-survey-footer">
|
74 |
+
<button type="submit" class="rtb-deactivate-survey-submit button button-primary button-large"><?php _e('Submit and Deactivate', 'restaurant-reservations' ); ?></button>
|
75 |
+
<a href="#" class="rtb-deactivate-survey-deactivate"><?php _e('Skip and Deactivate', 'restaurant-reservations' ); ?></a>
|
76 |
+
</div>
|
77 |
+
</form>
|
78 |
+
</div>
|
79 |
+
</div>
|
80 |
+
<?php
|
81 |
+
}
|
82 |
+
}
|
83 |
+
|
84 |
+
}
|
@@ -793,11 +793,11 @@ class cffrtbEditor {
|
|
793 |
*
|
794 |
* @since 0.1
|
795 |
*/
|
796 |
-
public function ajax_reset_all() {
|
797 |
global $rtb_controller;
|
798 |
|
799 |
// Authenticate request
|
800 |
-
if ( !check_ajax_referer( 'cffrtb-editor', 'nonce' ) || !current_user_can( 'manage_options' ) ) {
|
801 |
$this->nopriv_ajax();
|
802 |
}
|
803 |
|
793 |
*
|
794 |
* @since 0.1
|
795 |
*/
|
796 |
+
public function ajax_reset_all( $authorized = false) {
|
797 |
global $rtb_controller;
|
798 |
|
799 |
// Authenticate request
|
800 |
+
if ( ( !check_ajax_referer( 'cffrtb-editor', 'nonce' ) || !current_user_can( 'manage_options' ) ) and ! $authorized ) {
|
801 |
$this->nopriv_ajax();
|
802 |
}
|
803 |
|
@@ -129,7 +129,8 @@ class ebfrtbExportPDF extends ebfrtbExport {
|
|
129 |
ob_get_clean();
|
130 |
|
131 |
if ( $this->lib === 'tcpdf' || $this->lib === 'mpdf' ) {
|
132 |
-
$this->export->Output( $filename, 'I');
|
|
|
133 |
|
134 |
} else {
|
135 |
do_action( 'ebcfrtb_pdf_deliver_' . $this->lib, $this );
|
129 |
ob_get_clean();
|
130 |
|
131 |
if ( $this->lib === 'tcpdf' || $this->lib === 'mpdf' ) {
|
132 |
+
$this->export->Output( $filename, 'I');
|
133 |
+
exit();
|
134 |
|
135 |
} else {
|
136 |
do_action( 'ebcfrtb_pdf_deliver_' . $this->lib, $this );
|
@@ -31,7 +31,7 @@ class rtbInstallationWalkthrough {
|
|
31 |
return;
|
32 |
|
33 |
$bookings = get_posts(array('post_type' => 'rtb-booking'));
|
34 |
-
if (!empty($bookings)) {
|
35 |
set_transient('rtb-admin-install-notice', true, 5);
|
36 |
return;
|
37 |
}
|
31 |
return;
|
32 |
|
33 |
$bookings = get_posts(array('post_type' => 'rtb-booking'));
|
34 |
+
if ( ! empty($bookings)) {
|
35 |
set_transient('rtb-admin-install-notice', true, 5);
|
36 |
return;
|
37 |
}
|
@@ -130,12 +130,22 @@ class rtbNotificationEmail extends rtbNotification {
|
|
130 |
$subject = $rtb_controller->settings->get_setting( 'subject-booking-user' );
|
131 |
}
|
132 |
|
133 |
-
} elseif ( $this->event == '
|
|
|
|
|
|
|
134 |
$subject = $rtb_controller->settings->get_setting( 'subject-confirmed-user' );
|
135 |
|
136 |
} elseif ( $this->event == 'pending_to_closed' ) {
|
137 |
$subject = $rtb_controller->settings->get_setting( 'subject-rejected-user' );
|
138 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
} elseif ( $this->event == 'late_user' ) {
|
140 |
$subject = $rtb_controller->settings->get_setting( 'subject-late-user' );
|
141 |
|
@@ -175,8 +185,6 @@ class rtbNotificationEmail extends rtbNotification {
|
|
175 |
*/
|
176 |
public function set_message() {
|
177 |
|
178 |
-
$settings = get_option( 'rtb-settings' );
|
179 |
-
|
180 |
if ( $this->event == 'new_submission' ) {
|
181 |
if ( $this->target == 'user' ) {
|
182 |
$template = $this->get_template( 'template-booking-user' );
|
@@ -184,6 +192,11 @@ class rtbNotificationEmail extends rtbNotification {
|
|
184 |
$template = $this->get_template( 'template-booking-admin' );
|
185 |
}
|
186 |
|
|
|
|
|
|
|
|
|
|
|
187 |
} elseif ( $this->event == 'pending_to_confirmed' ) {
|
188 |
if ( $this->target == 'user' ) {
|
189 |
$template = $this->get_template( 'template-confirmed-user' );
|
@@ -194,6 +207,13 @@ class rtbNotificationEmail extends rtbNotification {
|
|
194 |
$template = $this->get_template( 'template-rejected-user' );
|
195 |
}
|
196 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
} elseif ( $this->event == 'late_user' ) {
|
198 |
if ( $this->target == 'user' ) {
|
199 |
$template = $this->get_template( 'template-late-user' );
|
130 |
$subject = $rtb_controller->settings->get_setting( 'subject-booking-user' );
|
131 |
}
|
132 |
|
133 |
+
} elseif ( $this->event == 'rtb_confirmed_booking' ) {
|
134 |
+
$subject = $rtb_controller->settings->get_setting( 'subject-booking-confirmed-admin' );
|
135 |
+
|
136 |
+
}elseif ( $this->event == 'pending_to_confirmed' ) {
|
137 |
$subject = $rtb_controller->settings->get_setting( 'subject-confirmed-user' );
|
138 |
|
139 |
} elseif ( $this->event == 'pending_to_closed' ) {
|
140 |
$subject = $rtb_controller->settings->get_setting( 'subject-rejected-user' );
|
141 |
|
142 |
+
} elseif ( $this->event == 'booking_cancelled' ) {
|
143 |
+
if ( $this->target == 'admin' ) {
|
144 |
+
$subject = $rtb_controller->settings->get_setting( 'subject-booking-cancelled-admin' );
|
145 |
+
} elseif ( $this->target == 'user' ) {
|
146 |
+
$subject = $rtb_controller->settings->get_setting( 'subject-booking-cancelled-user' );
|
147 |
+
}
|
148 |
+
|
149 |
} elseif ( $this->event == 'late_user' ) {
|
150 |
$subject = $rtb_controller->settings->get_setting( 'subject-late-user' );
|
151 |
|
185 |
*/
|
186 |
public function set_message() {
|
187 |
|
|
|
|
|
188 |
if ( $this->event == 'new_submission' ) {
|
189 |
if ( $this->target == 'user' ) {
|
190 |
$template = $this->get_template( 'template-booking-user' );
|
192 |
$template = $this->get_template( 'template-booking-admin' );
|
193 |
}
|
194 |
|
195 |
+
} elseif ( $this->event == 'rtb_confirmed_booking' ) {
|
196 |
+
if ( $this->target == 'admin' ) {
|
197 |
+
$template = $this->get_template( 'template-booking-confirmed-admin' );
|
198 |
+
}
|
199 |
+
|
200 |
} elseif ( $this->event == 'pending_to_confirmed' ) {
|
201 |
if ( $this->target == 'user' ) {
|
202 |
$template = $this->get_template( 'template-confirmed-user' );
|
207 |
$template = $this->get_template( 'template-rejected-user' );
|
208 |
}
|
209 |
|
210 |
+
} elseif ( $this->event == 'booking_cancelled' ) {
|
211 |
+
if ( $this->target == 'user' ) {
|
212 |
+
$template = $this->get_template( 'template-booking-cancelled-user' );
|
213 |
+
} elseif ( $this->target == 'admin' ) {
|
214 |
+
$template = $this->get_template( 'template-booking-cancelled-admin' );
|
215 |
+
}
|
216 |
+
|
217 |
} elseif ( $this->event == 'late_user' ) {
|
218 |
if ( $this->target == 'user' ) {
|
219 |
$template = $this->get_template( 'template-late-user' );
|
@@ -0,0 +1,149 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
3 |
+
|
4 |
+
if ( !class_exists( 'rtbNotificationSMS' ) ) {
|
5 |
+
/**
|
6 |
+
* Class to handle an SMS notification for Restaurant Reservations
|
7 |
+
*
|
8 |
+
* This class extends rtbNotification and must implement the following methods:
|
9 |
+
* prepare_notification() - set up and validate data
|
10 |
+
* send_notification()
|
11 |
+
*
|
12 |
+
* @since 2.1.0
|
13 |
+
*/
|
14 |
+
class rtbNotificationSMS extends rtbNotification {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Recipient phone number
|
18 |
+
* @since 2.1.0
|
19 |
+
*/
|
20 |
+
public $phone_number;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Text message body
|
24 |
+
* @since 2.1.0
|
25 |
+
*/
|
26 |
+
public $message;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* The license key received for RTB Ultimate
|
30 |
+
* @since 2.1.0
|
31 |
+
*/
|
32 |
+
public $license_key;
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Email used for purchase, to validate message sending
|
36 |
+
* @since 2.1.0
|
37 |
+
*/
|
38 |
+
public $purchase_email;
|
39 |
+
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Prepare and validate notification data
|
43 |
+
*
|
44 |
+
* @return boolean if the data is valid and ready for transport
|
45 |
+
* @since 2.1.0
|
46 |
+
*/
|
47 |
+
public function prepare_notification() {
|
48 |
+
|
49 |
+
$this->set_phone_number();
|
50 |
+
$this->set_message();
|
51 |
+
$this->set_license_key();
|
52 |
+
$this->set_purchase_email();
|
53 |
+
|
54 |
+
// Return false if we're missing any of the required information
|
55 |
+
if ( empty( $this->phone_number) ||
|
56 |
+
empty( $this->message) ||
|
57 |
+
empty( $this->license_key) ||
|
58 |
+
empty( $this->purchase_email) ) {
|
59 |
+
return false;
|
60 |
+
}
|
61 |
+
|
62 |
+
return true;
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Set phone number
|
67 |
+
* @since 2.1.0
|
68 |
+
*/
|
69 |
+
public function set_phone_number() {
|
70 |
+
|
71 |
+
$phone_number = $this->booking->phone;
|
72 |
+
|
73 |
+
$this->phone_number = apply_filters( 'rtb_notification_sms_phone_number', $phone_number, $this );
|
74 |
+
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Set text message body
|
79 |
+
* @since 2.1.0
|
80 |
+
*/
|
81 |
+
public function set_message() {
|
82 |
+
|
83 |
+
if ( $this->event == 'late_user' ) {
|
84 |
+
if ( $this->target == 'user' ) {
|
85 |
+
$template = $this->get_template( 'template-late-user' );
|
86 |
+
}
|
87 |
+
|
88 |
+
} elseif ( $this->event == 'reminder' ) {
|
89 |
+
if ( $this->target == 'user' ) {
|
90 |
+
$template = $this->get_template( 'template-reminder-user' );
|
91 |
+
}
|
92 |
+
|
93 |
+
// Use a message that's been appended manually if available
|
94 |
+
} else {
|
95 |
+
$template = empty( $this->message ) ? '' : $this->message;
|
96 |
+
}
|
97 |
+
|
98 |
+
$this->message = apply_filters( 'rtb_notification_sms_template', $this->process_template( $template ), $this );
|
99 |
+
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Set license key
|
104 |
+
* @since 2.1.0
|
105 |
+
*/
|
106 |
+
public function set_license_key() {
|
107 |
+
|
108 |
+
$this->license_key = get_option( 'rtb-ultimate-license-key' );
|
109 |
+
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* Set purchase email
|
114 |
+
* @since 2.1.0
|
115 |
+
*/
|
116 |
+
public function set_purchase_email() {
|
117 |
+
|
118 |
+
global $rtb_controller;
|
119 |
+
|
120 |
+
$this->purchase_email = $rtb_controller->settings->get_setting( 'ultimate-purchase-email' );
|
121 |
+
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* Send notification
|
126 |
+
* @since 2.1.0
|
127 |
+
*/
|
128 |
+
public function send_notification() {
|
129 |
+
global $rtb_controller;
|
130 |
+
|
131 |
+
$url = add_query_arg(
|
132 |
+
array(
|
133 |
+
'license_key' => urlencode( $this->license_key ),
|
134 |
+
'admin_email' => urlencode( $this->purchase_email ),
|
135 |
+
'phone_number' => urlencode( $this->phone_number ),
|
136 |
+
'message' => urlencode( $this->message ),
|
137 |
+
'country_code' => urlencode( $rtb_controller->settings->get_setting( 'rtb-country-code' ) )
|
138 |
+
),
|
139 |
+
'http://www.fivestarplugins.com/sms-handling/sms-client.php'
|
140 |
+
);
|
141 |
+
|
142 |
+
$opts = array('http'=>array('method'=>"GET"));
|
143 |
+
$context = stream_context_create($opts);
|
144 |
+
$return = json_decode( file_get_contents( $url, false, $context ) );
|
145 |
+
|
146 |
+
return isset($return->success) ? $return->success : false;
|
147 |
+
}
|
148 |
+
}
|
149 |
+
} // endif;
|
@@ -77,6 +77,19 @@ abstract class rtbNotification {
|
|
77 |
* @since 0.0.1
|
78 |
*/
|
79 |
public function process_template( $message ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
|
81 |
$template_tags = array(
|
82 |
'{user_email}' => $this->booking->email,
|
@@ -86,6 +99,7 @@ abstract class rtbNotification {
|
|
86 |
'{phone}' => $this->booking->phone,
|
87 |
'{message}' => $this->booking->message,
|
88 |
'{bookings_link}' => '<a href="' . admin_url( 'admin.php?page=rtb-bookings&status=pending' ) . '">' . __( 'View pending bookings', 'restaurant-reservations' ) . '</a>',
|
|
|
89 |
'{confirm_link}' => '<a href="' . admin_url( 'admin.php?page=rtb-bookings&rtb-quicklink=confirm&booking=' . esc_attr( $this->booking->ID ) ) . '">' . __( 'Confirm this booking', 'restaurant-reservations' ) . '</a>',
|
90 |
'{close_link}' => '<a href="' . admin_url( 'admin.php?page=rtb-bookings&rtb-quicklink=close&booking=' . esc_attr( $this->booking->ID ) ) . '">' . __( 'Reject this booking', 'restaurant-reservations' ) . '</a>',
|
91 |
'{site_name}' => get_bloginfo( 'name' ),
|
77 |
* @since 0.0.1
|
78 |
*/
|
79 |
public function process_template( $message ) {
|
80 |
+
global $rtb_controller;
|
81 |
+
|
82 |
+
$booking_page_id = $rtb_controller->settings->get_setting( 'booking-page' );
|
83 |
+
$booking_page_url = get_permalink( $booking_page_id );
|
84 |
+
|
85 |
+
$cancellation_url = add_query_arg(
|
86 |
+
array(
|
87 |
+
'action' => 'cancel',
|
88 |
+
'booking_id' => $this->booking->ID,
|
89 |
+
'booking_email' => $this->booking->email
|
90 |
+
),
|
91 |
+
$booking_page_url
|
92 |
+
);
|
93 |
|
94 |
$template_tags = array(
|
95 |
'{user_email}' => $this->booking->email,
|
99 |
'{phone}' => $this->booking->phone,
|
100 |
'{message}' => $this->booking->message,
|
101 |
'{bookings_link}' => '<a href="' . admin_url( 'admin.php?page=rtb-bookings&status=pending' ) . '">' . __( 'View pending bookings', 'restaurant-reservations' ) . '</a>',
|
102 |
+
'{cancel_link}' => '<a href="' . esc_attr( $cancellation_url ) . '">' . __( 'Cancel booking', 'restaurant-reservations' ) . '</a>',
|
103 |
'{confirm_link}' => '<a href="' . admin_url( 'admin.php?page=rtb-bookings&rtb-quicklink=confirm&booking=' . esc_attr( $this->booking->ID ) ) . '">' . __( 'Confirm this booking', 'restaurant-reservations' ) . '</a>',
|
104 |
'{close_link}' => '<a href="' . admin_url( 'admin.php?page=rtb-bookings&rtb-quicklink=close&booking=' . esc_attr( $this->booking->ID ) ) . '">' . __( 'Reject this booking', 'restaurant-reservations' ) . '</a>',
|
105 |
'{site_name}' => get_bloginfo( 'name' ),
|
@@ -45,9 +45,12 @@ class rtbNotifications {
|
|
45 |
|
46 |
// Hook into all events that require notifications
|
47 |
$hooks = array(
|
48 |
-
'rtb_insert_booking'
|
49 |
-
'
|
50 |
-
'
|
|
|
|
|
|
|
51 |
);
|
52 |
|
53 |
$hooks = apply_filters( 'rtb_notification_transition_callbacks', $hooks );
|
@@ -64,14 +67,22 @@ class rtbNotifications {
|
|
64 |
new rtbNotificationEmail( 'new_submission', 'user' ),
|
65 |
new rtbNotificationEmail( 'pending_to_confirmed', 'user' ),
|
66 |
new rtbNotificationEmail( 'pending_to_closed', 'user' ),
|
|
|
67 |
);
|
68 |
|
69 |
global $rtb_controller;
|
70 |
-
|
71 |
-
if ( $admin_email_option ) {
|
72 |
$this->notifications[] = new rtbNotificationEmail( 'new_submission', 'admin' );
|
73 |
}
|
74 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
$this->notifications = apply_filters( 'rtb_notifications', $this->notifications );
|
76 |
}
|
77 |
|
@@ -98,6 +109,11 @@ class rtbNotifications {
|
|
98 |
return;
|
99 |
}
|
100 |
|
|
|
|
|
|
|
|
|
|
|
101 |
// If the post status is not pending, trigger a post status
|
102 |
// transition as though it's gone from pending_to_{status}
|
103 |
if ( $booking->post_status != 'pending' ) {
|
@@ -110,6 +126,22 @@ class rtbNotifications {
|
|
110 |
}
|
111 |
}
|
112 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
/**
|
114 |
* Booking confirmed
|
115 |
* @since 0.0.1
|
@@ -142,6 +174,21 @@ class rtbNotifications {
|
|
142 |
|
143 |
}
|
144 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
145 |
/**
|
146 |
* Booking was confirmed and is now completed. Send out an optional
|
147 |
* follow-up email.
|
45 |
|
46 |
// Hook into all events that require notifications
|
47 |
$hooks = array(
|
48 |
+
'rtb_insert_booking' => array( $this, 'new_submission' ), // Booking submitted
|
49 |
+
'rtb_confirmed_booking' => array( $this, 'new_confirmed_submission' ), // Booking confirmed
|
50 |
+
'pending_to_confirmed' => array( $this, 'pending_to_confirmed' ), // Booking confirmed
|
51 |
+
'pending_to_closed' => array( $this, 'pending_to_closed' ), // Booking can not be made
|
52 |
+
'pending_to_cancelled' => array( $this, 'booking_cancelled' ), // Booking cancelled
|
53 |
+
'confirmed_to_cancelled' => array( $this, 'booking_cancelled' ), // Booking cancelled
|
54 |
);
|
55 |
|
56 |
$hooks = apply_filters( 'rtb_notification_transition_callbacks', $hooks );
|
67 |
new rtbNotificationEmail( 'new_submission', 'user' ),
|
68 |
new rtbNotificationEmail( 'pending_to_confirmed', 'user' ),
|
69 |
new rtbNotificationEmail( 'pending_to_closed', 'user' ),
|
70 |
+
new rtbNotificationEmail( 'booking_cancelled', 'user' ),
|
71 |
);
|
72 |
|
73 |
global $rtb_controller;
|
74 |
+
if ( $rtb_controller->settings->get_setting( 'admin-email-option' ) ) {
|
|
|
75 |
$this->notifications[] = new rtbNotificationEmail( 'new_submission', 'admin' );
|
76 |
}
|
77 |
|
78 |
+
if ( $rtb_controller->settings->get_setting( 'admin-confirmed-email-option' ) ) {
|
79 |
+
$this->notifications[] = new rtbNotificationEmail( 'rtb_confirmed_booking', 'admin' );
|
80 |
+
}
|
81 |
+
|
82 |
+
if ( $rtb_controller->settings->get_setting( 'admin-cancelled-email-option' ) ) {
|
83 |
+
$this->notifications[] = new rtbNotificationEmail( 'booking_cancelled', 'admin' );
|
84 |
+
}
|
85 |
+
|
86 |
$this->notifications = apply_filters( 'rtb_notifications', $this->notifications );
|
87 |
}
|
88 |
|
109 |
return;
|
110 |
}
|
111 |
|
112 |
+
// trigger an event so that admin notifications for a new confirmed booking can be sent
|
113 |
+
if ( $booking->post_status == 'confirmed' ) {
|
114 |
+
do_action( 'rtb_confirmed_booking', get_post( $booking->ID ) );
|
115 |
+
}
|
116 |
+
|
117 |
// If the post status is not pending, trigger a post status
|
118 |
// transition as though it's gone from pending_to_{status}
|
119 |
if ( $booking->post_status != 'pending' ) {
|
126 |
}
|
127 |
}
|
128 |
|
129 |
+
/**
|
130 |
+
* New confirmed booking
|
131 |
+
* @since 2.1.0
|
132 |
+
*/
|
133 |
+
public function new_confirmed_submission( $booking_post ) {
|
134 |
+
|
135 |
+
if ( $booking_post->post_type != RTB_BOOKING_POST_TYPE ) {
|
136 |
+
return;
|
137 |
+
}
|
138 |
+
|
139 |
+
$this->set_booking( $booking_post );
|
140 |
+
|
141 |
+
$this->event( 'rtb_confirmed_booking' );
|
142 |
+
|
143 |
+
}
|
144 |
+
|
145 |
/**
|
146 |
* Booking confirmed
|
147 |
* @since 0.0.1
|
174 |
|
175 |
}
|
176 |
|
177 |
+
/**
|
178 |
+
* Booking has been cancelled by the guest
|
179 |
+
*/
|
180 |
+
public function booking_cancelled( $booking_post ) {
|
181 |
+
|
182 |
+
if ( $booking_post->post_type != RTB_BOOKING_POST_TYPE ) {
|
183 |
+
return;
|
184 |
+
}
|
185 |
+
|
186 |
+
$this->set_booking( $booking_post );
|
187 |
+
|
188 |
+
$this->event( 'booking_cancelled' );
|
189 |
+
|
190 |
+
}
|
191 |
+
|
192 |
/**
|
193 |
* Booking was confirmed and is now completed. Send out an optional
|
194 |
* follow-up email.
|
@@ -23,14 +23,15 @@ class rtbPermissions {
|
|
23 |
"designer" => 2,
|
24 |
"premium_view_bookings" => 2,
|
25 |
"premium_table_restrictions" => 2,
|
26 |
-
"
|
|
|
27 |
);
|
28 |
}
|
29 |
|
30 |
public function set_permissions() {
|
31 |
global $rtb_controller;
|
32 |
|
33 |
-
if ( get_option( "rtb-permission-level" )
|
34 |
|
35 |
$cffrtb = $rtb_controller->settings->get_setting( 'license-cffrtb' );
|
36 |
$ebfrtb = $rtb_controller->settings->get_setting( 'license-ebfrtb' );
|
@@ -49,7 +50,7 @@ class rtbPermissions {
|
|
49 |
if ( ! $this->permission_level ) { $this->set_permissions(); }
|
50 |
}
|
51 |
|
52 |
-
public function check_permission($permission_type = '') {
|
53 |
if ( ! $this->permission_level ) { $this->get_permission_level(); }
|
54 |
|
55 |
return ( array_key_exists( $permission_type, $this->plugin_permissions ) ? ( $this->permission_level >= $this->plugin_permissions[$permission_type] ? true : false ) : false );
|
23 |
"designer" => 2,
|
24 |
"premium_view_bookings" => 2,
|
25 |
"premium_table_restrictions" => 2,
|
26 |
+
"payments" => 3,
|
27 |
+
"reminders" => 3,
|
28 |
);
|
29 |
}
|
30 |
|
31 |
public function set_permissions() {
|
32 |
global $rtb_controller;
|
33 |
|
34 |
+
if ( get_option( "rtb-permission-level" ) >= 2 ) { return; }
|
35 |
|
36 |
$cffrtb = $rtb_controller->settings->get_setting( 'license-cffrtb' );
|
37 |
$ebfrtb = $rtb_controller->settings->get_setting( 'license-ebfrtb' );
|
50 |
if ( ! $this->permission_level ) { $this->set_permissions(); }
|
51 |
}
|
52 |
|
53 |
+
public function check_permission( $permission_type = '' ) {
|
54 |
if ( ! $this->permission_level ) { $this->get_permission_level(); }
|
55 |
|
56 |
return ( array_key_exists( $permission_type, $this->plugin_permissions ) ? ( $this->permission_level >= $this->plugin_permissions[$permission_type] ? true : false ) : false );
|
@@ -124,6 +124,12 @@ class rtbQuery {
|
|
124 |
'after' => '-1 hour', // show bookings that have just passed
|
125 |
)
|
126 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
}
|
128 |
}
|
129 |
|
@@ -178,6 +184,7 @@ class rtbQuery {
|
|
178 |
|
179 |
if ( !empty( $_REQUEST['orderby'] ) ) {
|
180 |
$args['orderby'] = sanitize_key( $_REQUEST['orderby'] );
|
|
|
181 |
}
|
182 |
|
183 |
if ( !empty( $_REQUEST['order'] ) && $_REQUEST['order'] === 'desc' ) {
|
@@ -228,7 +235,7 @@ class rtbQuery {
|
|
228 |
}
|
229 |
}
|
230 |
}
|
231 |
-
|
232 |
$this->bookings = $bookings;
|
233 |
|
234 |
wp_reset_query();
|
124 |
'after' => '-1 hour', // show bookings that have just passed
|
125 |
)
|
126 |
);
|
127 |
+
} elseif ( $args['date_range'] === 'past' ) {
|
128 |
+
$args['date_query'] = array(
|
129 |
+
array(
|
130 |
+
'before' => 'now',
|
131 |
+
)
|
132 |
+
);
|
133 |
}
|
134 |
}
|
135 |
|
184 |
|
185 |
if ( !empty( $_REQUEST['orderby'] ) ) {
|
186 |
$args['orderby'] = sanitize_key( $_REQUEST['orderby'] );
|
187 |
+
if ( $args['orderby'] === 'id' ) { $args['orderby'] = 'ID'; }
|
188 |
}
|
189 |
|
190 |
if ( !empty( $_REQUEST['order'] ) && $_REQUEST['order'] === 'desc' ) {
|
235 |
}
|
236 |
}
|
237 |
}
|
238 |
+
|
239 |
$this->bookings = $bookings;
|
240 |
|
241 |
wp_reset_query();
|
@@ -0,0 +1,98 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( !defined( 'ABSPATH' ) ) exit;
|
3 |
+
|
4 |
+
if ( !class_exists( 'rtbReviewAsk' ) ) {
|
5 |
+
/**
|
6 |
+
* Class to handle plugin review ask
|
7 |
+
*
|
8 |
+
* @since 2.0.15
|
9 |
+
*/
|
10 |
+
class rtbReviewAsk {
|
11 |
+
|
12 |
+
public function __construct() {
|
13 |
+
add_action( 'admin_notices', array( $this, 'maybe_add_review_ask' ) );
|
14 |
+
|
15 |
+
add_action( 'wp_ajax_rtb_hide_review_ask', array( $this, 'hide_review_ask' ) );
|
16 |
+
add_action( 'wp_ajax_rtb_send_feedback', array( $this, 'send_feedback' ) );
|
17 |
+
|
18 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_review_ask_scripts') );
|
19 |
+
}
|
20 |
+
|
21 |
+
public function maybe_add_review_ask() {
|
22 |
+
$ask_review_time = get_option( 'rtb-review-ask-time' );
|
23 |
+
|
24 |
+
$install_time = get_option( 'rtb-installation-time' );
|
25 |
+
if ( ! $install_time ) { update_option( 'rtb-installation-time', time() ); }
|
26 |
+
|
27 |
+
$ask_review_time = $ask_review_time != '' ? $ask_review_time : $install_time + 3600*24*4;
|
28 |
+
|
29 |
+
if ($ask_review_time < time() and $install_time != '' and $install_time < time() - 3600*24*4) {
|
30 |
+
|
31 |
+
global $pagenow;
|
32 |
+
|
33 |
+
if ( $pagenow != 'post.php' && $pagenow != 'post-new.php' ) { ?>
|
34 |
+
|
35 |
+
<div class='notice notice-info is-dismissible rtb-main-dashboard-review-ask' style='display:none'>
|
36 |
+
<div class='rtb-review-ask-plugin-icon'></div>
|
37 |
+
<div class='rtb-review-ask-text'>
|
38 |
+
<p class='rtb-review-ask-starting-text'>Enjoying using the Five-Star Restaurant Reservations?</p>
|
39 |
+
<p class='rtb-review-ask-feedback-text rtb-hidden'>Help us make the plugin better! Please take a minute to rate the plugin. Thanks!</p>
|
40 |
+
<p class='rtb-review-ask-review-text rtb-hidden'>Please let us know what we could do to make the plugin better!<br /><span>(If you would like a response, please include your email address.)</span></p>
|
41 |
+
<p class='rtb-review-ask-thank-you-text rtb-hidden'>Thank you for taking the time to help us!</p>
|
42 |
+
</div>
|
43 |
+
<div class='rtb-review-ask-actions'>
|
44 |
+
<div class='rtb-review-ask-action rtb-review-ask-not-really rtb-review-ask-white'>Not Really</div>
|
45 |
+
<div class='rtb-review-ask-action rtb-review-ask-yes rtb-review-ask-green'>Yes!</div>
|
46 |
+
<div class='rtb-review-ask-action rtb-review-ask-no-thanks rtb-review-ask-white rtb-hidden'>No Thanks</div>
|
47 |
+
<a href='https://wordpress.org/support/plugin/restaurant-reservations/reviews/' target='_blank'>
|
48 |
+
<div class='rtb-review-ask-action rtb-review-ask-review rtb-review-ask-green rtb-hidden'>OK, Sure</div>
|
49 |
+
</a>
|
50 |
+
</div>
|
51 |
+
<div class='rtb-review-ask-feedback-form rtb-hidden'>
|
52 |
+
<div class='rtb-review-ask-feedback-explanation'>
|
53 |
+
<textarea></textarea>
|
54 |
+
<br>
|
55 |
+
<input type="email" name="feedback_email_address" placeholder="<?php _e('Email Address', 'restaurant-reservations'); ?>">
|
56 |
+
</div>
|
57 |
+
<div class='rtb-review-ask-send-feedback rtb-review-ask-action rtb-review-ask-green'>Send Feedback</div>
|
58 |
+
</div>
|
59 |
+
<div class='rtb-clear'></div>
|
60 |
+
</div>
|
61 |
+
|
62 |
+
<?php
|
63 |
+
}
|
64 |
+
}
|
65 |
+
else {
|
66 |
+
wp_dequeue_script( 'rtb-review-ask-js' );
|
67 |
+
}
|
68 |
+
}
|
69 |
+
|
70 |
+
public function enqueue_review_ask_scripts() {
|
71 |
+
wp_enqueue_style( 'rtb-review-ask-css', RTB_PLUGIN_URL . '/assets/css/dashboard-review-ask.css' );
|
72 |
+
wp_enqueue_script( 'rtb-review-ask-js', RTB_PLUGIN_URL . '/assets/js/dashboard-review-ask.js', array( 'jquery' ), RTB_VERSION, true );
|
73 |
+
}
|
74 |
+
|
75 |
+
public function hide_review_ask() {
|
76 |
+
|
77 |
+
$ask_review_time = sanitize_text_field($_POST['ask_review_time']);
|
78 |
+
|
79 |
+
if ( get_option( 'rtb-review-ask-time' ) < time() + 3600*24 * $ask_review_time ) {
|
80 |
+
update_option( 'rtb-review-ask-time', time() + 3600*24 * $ask_review_time );
|
81 |
+
}
|
82 |
+
|
83 |
+
die();
|
84 |
+
}
|
85 |
+
|
86 |
+
public function send_feedback() {
|
87 |
+
$headers = 'Content-type: text/html;charset=utf-8' . "\r\n";
|
88 |
+
$feedback = sanitize_text_field($_POST['feedback']);
|
89 |
+
$feedback .= '<br /><br />Email Address: ';
|
90 |
+
$feedback .= sanitize_text_field($_POST['email_address']);
|
91 |
+
|
92 |
+
wp_mail('contact@fivestarplugins.com', 'RTB Feedback - Dashboard Form', $feedback, $headers);
|
93 |
+
|
94 |
+
die();
|
95 |
+
}
|
96 |
+
}
|
97 |
+
|
98 |
+
}
|
@@ -70,6 +70,270 @@ class rtbSettings {
|
|
70 |
'zh_TW' => 'zh_TW',
|
71 |
);
|
72 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
public function __construct() {
|
74 |
|
75 |
add_action( 'init', array( $this, 'set_defaults' ) );
|
@@ -97,6 +361,13 @@ class rtbSettings {
|
|
97 |
'time-format' => _x( 'h:i A', 'Default time format for display. Must match formatting rules at http://amsul.ca/pickadate.js/time/#formats', 'restaurant-reservations' ),
|
98 |
'time-interval' => _x( '30', 'Default interval in minutes when selecting a time.', 'restaurant-reservations' ),
|
99 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
// Export defaults
|
101 |
'ebfrtb-paper-size' => 'A4',
|
102 |
'ebfrtb-pdf-lib' => 'mpdf',
|
@@ -107,6 +378,7 @@ class rtbSettings {
|
|
107 |
|
108 |
// Email address where admin notifications should be sent
|
109 |
'admin-email-address' => get_option( 'admin_email' ),
|
|
|
110 |
|
111 |
// Name and email address which should appear in the Reply-To section of notification emails
|
112 |
'reply-to-name' => get_bloginfo( 'name' ),
|
@@ -146,6 +418,62 @@ Give us a few moments to make sure that we\'ve got space for you. You will recei
|
|
146 |
|
147 |
|
148 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
<em>This message was sent by {site_link} on {current_time}.</em>',
|
150 |
'Default email sent to users when they make a new booking request. The tags in {brackets} will be replaced by the appropriate content and should be left in place. HTML is allowed, but be aware that many email clients do not handle HTML very well.',
|
151 |
'restaurant-reservations'
|
@@ -186,40 +514,35 @@ Sorry, we could not accomodate your booking request. We\'re full or not open at
|
|
186 |
'restaurant-reservations'
|
187 |
),
|
188 |
|
189 |
-
// Email template sent to a user when
|
190 |
-
'subject-
|
191 |
-
'template-
|
192 |
|
193 |
-
|
194 |
|
195 |
{date}
|
196 |
{user_name}
|
197 |
{party} people
|
198 |
|
199 |
-
If you
|
200 |
|
201 |
|
202 |
|
203 |
<em>This message was sent by {site_link} on {current_time}.</em>',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
'Default email sent to users as a reminder about their booking request. The tags in {brackets} will be replaced by the appropriate content and should be left in place. HTML is allowed, but be aware that many email clients do not handle HTML very well.',
|
205 |
'restaurant-reservations'
|
206 |
),
|
207 |
|
208 |
-
// Email template sent to a user when
|
209 |
'subject-late-user' => sprintf( _x( 'You\'re late for your booking at %s', 'Default email subject sent to user when they are late for their booking. %s will be replaced by the website name', 'restaurant-reservations' ), get_bloginfo( 'name' ) ),
|
210 |
-
'template-late-user' => _x( '
|
211 |
-
|
212 |
-
You previously made a reservation with the following details:
|
213 |
-
|
214 |
-
{date}
|
215 |
-
{user_name}
|
216 |
-
{party} people
|
217 |
-
|
218 |
-
If you won\'t be able to make it, please let us know so that we can release your table to other guests.
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
<em>This message was sent by {site_link} on {current_time}.</em>',
|
223 |
'Default email sent to users when they are late for their booking request. The tags in {brackets} will be replaced by the appropriate content and should be left in place. HTML is allowed, but be aware that many email clients do not handle HTML very well.',
|
224 |
'restaurant-reservations'
|
225 |
),
|
@@ -260,6 +583,24 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
260 |
return apply_filters( 'rtb-setting-' . $setting, null );
|
261 |
}
|
262 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
263 |
/**
|
264 |
* Load the admin settings page
|
265 |
* @since 0.0.1
|
@@ -391,6 +732,7 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
391 |
'7' => __( 'From 1 week in advance', 'restaurant-reservations' ),
|
392 |
'14' => __( 'From 2 weeks in advance', 'restaurant-reservations' ),
|
393 |
'30' => __( 'From 30 days in advance', 'restaurant-reservations' ),
|
|
|
394 |
'90' => __( 'From 90 days in advance', 'restaurant-reservations' ),
|
395 |
)
|
396 |
)
|
@@ -544,6 +886,17 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
544 |
)
|
545 |
);
|
546 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
547 |
$sap->add_setting(
|
548 |
'rtb-settings',
|
549 |
'rtb-general',
|
@@ -584,6 +937,28 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
584 |
)
|
585 |
);
|
586 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
587 |
$sap->add_section(
|
588 |
'rtb-settings',
|
589 |
array(
|
@@ -663,6 +1038,48 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
663 |
)
|
664 |
);
|
665 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
666 |
$sap->add_section(
|
667 |
'rtb-settings',
|
668 |
array(
|
@@ -813,6 +1230,7 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
813 |
'units' => array( 'minutes' => 'Minutes' )
|
814 |
)
|
815 |
);
|
|
|
816 |
$sap->add_setting(
|
817 |
'rtb-settings',
|
818 |
'rtb-table-seat-assignments',
|
@@ -823,6 +1241,7 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
823 |
'description' => __( 'Only allow a certain number of reservations (set below) during a specific time. Once the maximum number of reservations has been reached, visitors will only be able to select other reservation times.', 'restaurant-reservations' )
|
824 |
)
|
825 |
);
|
|
|
826 |
$sap->add_setting(
|
827 |
'rtb-settings',
|
828 |
'rtb-table-seat-assignments',
|
@@ -836,6 +1255,7 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
836 |
'increment' => 1
|
837 |
)
|
838 |
);
|
|
|
839 |
$sap->add_setting(
|
840 |
'rtb-settings',
|
841 |
'rtb-table-seat-assignments',
|
@@ -849,6 +1269,7 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
849 |
'increment' => 1
|
850 |
)
|
851 |
);
|
|
|
852 |
$sap->add_setting(
|
853 |
'rtb-settings',
|
854 |
'rtb-table-seat-assignments',
|
@@ -1037,6 +1458,28 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
1037 |
)
|
1038 |
);
|
1039 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1040 |
$sap->add_setting(
|
1041 |
'rtb-settings',
|
1042 |
'rtb-notifications',
|
@@ -1096,6 +1539,30 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
1096 |
)
|
1097 |
);
|
1098 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1099 |
$sap->add_setting(
|
1100 |
'rtb-settings',
|
1101 |
'rtb-notifications-templates',
|
@@ -1168,6 +1635,30 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
1168 |
)
|
1169 |
);
|
1170 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1171 |
$sap->add_setting(
|
1172 |
'rtb-settings',
|
1173 |
'rtb-notifications-templates',
|
@@ -1182,110 +1673,179 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
1182 |
|
1183 |
if ( ! $rtb_controller->permissions->check_permission('reminders') ) {
|
1184 |
$reminders_permissions = array(
|
1185 |
-
'disabled'
|
1186 |
-
'disabled_image'=> 'https://www.etoilewebdesign.com/wp-content/uploads/2018/06/Logo-White-Filled40-px.png',
|
1187 |
-
'purchase_link'
|
|
|
1188 |
);
|
1189 |
}
|
1190 |
else { $reminders_permissions = array(); }
|
1191 |
|
1192 |
-
|
1193 |
-
|
1194 |
-
|
1195 |
-
|
1196 |
-
|
1197 |
-
|
1198 |
-
|
1199 |
-
|
1200 |
-
|
1201 |
-
|
1202 |
-
|
1203 |
-
|
1204 |
-
|
1205 |
-
|
1206 |
-
|
1207 |
-
|
1208 |
-
|
1209 |
-
|
1210 |
-
|
1211 |
-
|
1212 |
-
|
1213 |
-
|
1214 |
-
|
1215 |
-
|
1216 |
-
|
1217 |
-
|
1218 |
-
|
1219 |
-
|
1220 |
-
|
1221 |
-
|
1222 |
-
|
1223 |
-
|
1224 |
-
|
1225 |
-
|
1226 |
-
|
1227 |
-
|
1228 |
-
|
1229 |
-
|
1230 |
-
|
1231 |
-
|
1232 |
-
|
1233 |
-
|
1234 |
-
|
1235 |
-
|
1236 |
-
|
1237 |
-
|
1238 |
-
|
1239 |
-
|
1240 |
-
|
1241 |
-
|
1242 |
-
|
1243 |
-
|
1244 |
-
|
1245 |
-
|
1246 |
-
|
1247 |
-
|
1248 |
-
|
1249 |
-
|
1250 |
-
|
1251 |
-
|
1252 |
-
|
1253 |
-
|
1254 |
-
|
1255 |
-
|
1256 |
-
|
1257 |
-
|
1258 |
-
|
1259 |
-
|
1260 |
-
|
1261 |
-
|
1262 |
-
|
1263 |
-
|
1264 |
-
|
1265 |
-
|
1266 |
-
|
1267 |
-
|
1268 |
-
|
1269 |
-
|
1270 |
-
|
1271 |
-
|
1272 |
-
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
1276 |
-
|
1277 |
-
|
1278 |
-
|
1279 |
-
|
1280 |
-
|
1281 |
-
|
1282 |
-
|
1283 |
-
|
1284 |
-
|
1285 |
-
|
1286 |
-
|
1287 |
-
|
1288 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1289 |
|
1290 |
$sap->add_section(
|
1291 |
'rtb-settings',
|
@@ -1304,11 +1864,216 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
1304 |
array(
|
1305 |
'id' => 'from-email-address',
|
1306 |
'title' => __( 'FROM Email Address Header', 'restaurant-reservations' ),
|
1307 |
-
'description' => sprintf( __( "Change the email address used in the FROM header of all emails sent by this plugin. In most cases you should not change this. Modifying this can prevent your emails from being delivered. %sLearn more%s.", 'restaurant-reservations' ), '<a href="http://doc.
|
1308 |
'placeholder' => $this->defaults['from-email-address'],
|
1309 |
)
|
1310 |
);
|
1311 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1312 |
if ( ! $rtb_controller->permissions->check_permission('export') ) {
|
1313 |
$export_permissions = array(
|
1314 |
'disabled' => true,
|
@@ -1606,6 +2371,88 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
1606 |
)
|
1607 |
);
|
1608 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1609 |
$sap = apply_filters( 'rtb_settings_page', $sap );
|
1610 |
|
1611 |
$sap->add_admin_menus();
|
@@ -1848,6 +2695,7 @@ If you won\'t be able to make it, please let us know so that we can release your
|
|
1848 |
'{phone}' => __( 'Phone number if supplied with the request', 'restaurant-reservations' ),
|
1849 |
'{message}' => __( 'Message added to the request', 'restaurant-reservations' ),
|
1850 |
'{bookings_link}' => __( 'A link to the admin panel showing pending bookings', 'restaurant-reservations' ),
|
|
|
1851 |
'{confirm_link}' => __( 'A link to confirm this booking. Only include this in admin notifications', 'restaurant-reservations' ),
|
1852 |
'{close_link}' => __( 'A link to reject this booking. Only include this in admin notifications', 'restaurant-reservations' ),
|
1853 |
'{site_name}' => __( 'The name of this website', 'restaurant-reservations' ),
|
70 |
'zh_TW' => 'zh_TW',
|
71 |
);
|
72 |
|
73 |
+
/**
|
74 |
+
* Currencies accepted for deposits
|
75 |
+
*/
|
76 |
+
public $currency_options = array(
|
77 |
+
'AUD' => 'Australian Dollar',
|
78 |
+
'BRL' => 'Brazilian Real',
|
79 |
+
'CAD' => 'Canadian Dollar',
|
80 |
+
'CZK' => 'Czech Koruna',
|
81 |
+
'DKK' => 'Danish Krone',
|
82 |
+
'EUR' => 'Euro',
|
83 |
+
'HKD' => 'Hong Kong Dollar',
|
84 |
+
'HUF' => 'Hungarian Forint',
|
85 |
+
'ILS' => 'Israeli New Sheqel',
|
86 |
+
'JPY' => 'Japanese Yen',
|
87 |
+
'MYR' => 'Malaysian Ringgit',
|
88 |
+
'MXN' => 'Mexican Peso',
|
89 |
+
'NOK' => 'Norwegian Krone',
|
90 |
+
'NZD' => 'New Zealand Dollar',
|
91 |
+
'PHP' => 'Philippine Peso',
|
92 |
+
'PLN' => 'Polish Zloty',
|
93 |
+
'GBP' => 'Pound Sterling',
|
94 |
+
'RUB' => 'Russian Ruble',
|
95 |
+
'SGD' => 'Singapore Dollar',
|
96 |
+
'SEK' => 'Swedish Krona',
|
97 |
+
'CHF' => 'Swiss Franc',
|
98 |
+
'TWD' => 'Taiwan New Dollar',
|
99 |
+
'THB' => 'Thai Baht',
|
100 |
+
'TRY' => 'Turkish Lira',
|
101 |
+
'USD' => 'U.S. Dollar',
|
102 |
+
);
|
103 |
+
|
104 |
+
public $country_phone_array = array(
|
105 |
+
// 'AD' => array( 'name' => 'ANDORRA', 'code' => '376' ),
|
106 |
+
// 'AE' => array( 'name' => 'UNITED ARAB EMIRATES', 'code' => '971' ),
|
107 |
+
// 'AF' => array( 'name' => 'AFGHANISTAN', 'code' => '93' ),
|
108 |
+
// 'AG' => array( 'name' => 'ANTIGUA AND BARBUDA', 'code' => '1268' ),
|
109 |
+
// 'AI' => array( 'name' => 'ANGUILLA', 'code' => '1264' ),
|
110 |
+
// 'AL' => array( 'name' => 'ALBANIA', 'code' => '355' ),
|
111 |
+
// 'AM' => array( 'name' => 'ARMENIA', 'code' => '374' ),
|
112 |
+
// 'AN' => array( 'name' => 'NETHERLANDS ANTILLES', 'code' => '599' ),
|
113 |
+
// 'AO' => array( 'name' => 'ANGOLA', 'code' => '244' ),
|
114 |
+
// 'AQ' => array( 'name' => 'ANTARCTICA', 'code' => '672' ),
|
115 |
+
'AR' => array( 'name' => 'ARGENTINA', 'code' => '54' ),
|
116 |
+
// 'AS' => array( 'name' => 'AMERICAN SAMOA', 'code' => '1684' ),
|
117 |
+
'AT' => array( 'name' => 'AUSTRIA', 'code' => '43' ),
|
118 |
+
'AU' => array( 'name' => 'AUSTRALIA', 'code' => '61' ),
|
119 |
+
// 'AW' => array( 'name' => 'ARUBA', 'code' => '297' ),
|
120 |
+
// 'AZ' => array( 'name' => 'AZERBAIJAN', 'code' => '994' ),
|
121 |
+
// 'BA' => array( 'name' => 'BOSNIA AND HERZEGOVINA', 'code' => '387' ),
|
122 |
+
// 'BB' => array( 'name' => 'BARBADOS', 'code' => '1246' ),
|
123 |
+
// 'BD' => array( 'name' => 'BANGLADESH', 'code' => '880' ),
|
124 |
+
'BE' => array( 'name' => 'BELGIUM', 'code' => '32' ),
|
125 |
+
// 'BF' => array( 'name' => 'BURKINA FASO', 'code' => '226' ),
|
126 |
+
'BG' => array( 'name' => 'BULGARIA', 'code' => '359' ),
|
127 |
+
// 'BH' => array( 'name' => 'BAHRAIN', 'code' => '973' ),
|
128 |
+
// 'BI' => array( 'name' => 'BURUNDI', 'code' => '257' ),
|
129 |
+
// 'BJ' => array( 'name' => 'BENIN', 'code' => '229' ),
|
130 |
+
// 'BL' => array( 'name' => 'SAINT BARTHELEMY', 'code' => '590' ),
|
131 |
+
// 'BM' => array( 'name' => 'BERMUDA', 'code' => '1441' ),
|
132 |
+
// 'BN' => array( 'name' => 'BRUNEI DARUSSALAM', 'code' => '673' ),
|
133 |
+
// 'BO' => array( 'name' => 'BOLIVIA', 'code' => '591' ),
|
134 |
+
'BR' => array( 'name' => 'BRAZIL', 'code' => '55' ),
|
135 |
+
// 'BS' => array( 'name' => 'BAHAMAS', 'code' => '1242' ),
|
136 |
+
// 'BT' => array( 'name' => 'BHUTAN', 'code' => '975' ),
|
137 |
+
// 'BW' => array( 'name' => 'BOTSWANA', 'code' => '267' ),
|
138 |
+
// 'BY' => array( 'name' => 'BELARUS', 'code' => '375' ),
|
139 |
+
// 'BZ' => array( 'name' => 'BELIZE', 'code' => '501' ),
|
140 |
+
'CA' => array( 'name' => 'CANADA', 'code' => '1' ),
|
141 |
+
// 'CC' => array( 'name' => 'COCOS (KEELING) ISLANDS', 'code' => '61' ),
|
142 |
+
// 'CD' => array( 'name' => 'CONGO, THE DEMOCRATIC REPUBLIC OF THE', 'code' => '243' ),
|
143 |
+
// 'CF' => array( 'name' => 'CENTRAL AFRICAN REPUBLIC', 'code' => '236' ),
|
144 |
+
// 'CG' => array( 'name' => 'CONGO', 'code' => '242' ),
|
145 |
+
'CH' => array( 'name' => 'SWITZERLAND', 'code' => '41' ),
|
146 |
+
// 'CI' => array( 'name' => 'COTE D IVOIRE', 'code' => '225' ),
|
147 |
+
// 'CK' => array( 'name' => 'COOK ISLANDS', 'code' => '682' ),
|
148 |
+
// 'CL' => array( 'name' => 'CHILE', 'code' => '56' ),
|
149 |
+
// 'CM' => array( 'name' => 'CAMEROON', 'code' => '237' ),
|
150 |
+
'CN' => array( 'name' => 'CHINA', 'code' => '86' ),
|
151 |
+
// 'CO' => array( 'name' => 'COLOMBIA', 'code' => '57' ),
|
152 |
+
// 'CR' => array( 'name' => 'COSTA RICA', 'code' => '506' ),
|
153 |
+
// 'CU' => array( 'name' => 'CUBA', 'code' => '53' ),
|
154 |
+
// 'CV' => array( 'name' => 'CAPE VERDE', 'code' => '238' ),
|
155 |
+
// 'CX' => array( 'name' => 'CHRISTMAS ISLAND', 'code' => '61' ),
|
156 |
+
// 'CY' => array( 'name' => 'CYPRUS', 'code' => '357' ),
|
157 |
+
'CZ' => array( 'name' => 'CZECH REPUBLIC', 'code' => '420' ),
|
158 |
+
'DE' => array( 'name' => 'GERMANY', 'code' => '49' ),
|
159 |
+
// 'DJ' => array( 'name' => 'DJIBOUTI', 'code' => '253' ),
|
160 |
+
'DK' => array( 'name' => 'DENMARK', 'code' => '45' ),
|
161 |
+
// 'DM' => array( 'name' => 'DOMINICA', 'code' => '1767' ),
|
162 |
+
// 'DO' => array( 'name' => 'DOMINICAN REPUBLIC', 'code' => '1809' ),
|
163 |
+
// 'DZ' => array( 'name' => 'ALGERIA', 'code' => '213' ),
|
164 |
+
// 'EC' => array( 'name' => 'ECUADOR', 'code' => '593' ),
|
165 |
+
'EE' => array( 'name' => 'ESTONIA', 'code' => '372' ),
|
166 |
+
// 'EG' => array( 'name' => 'EGYPT', 'code' => '20' ),
|
167 |
+
// 'ER' => array( 'name' => 'ERITREA', 'code' => '291' ),
|
168 |
+
'ES' => array( 'name' => 'SPAIN', 'code' => '34' ),
|
169 |
+
// 'ET' => array( 'name' => 'ETHIOPIA', 'code' => '251' ),
|
170 |
+
'FI' => array( 'name' => 'FINLAND', 'code' => '358' ),
|
171 |
+
// 'FJ' => array( 'name' => 'FIJI', 'code' => '679' ),
|
172 |
+
// 'FK' => array( 'name' => 'FALKLAND ISLANDS (MALVINAS)', 'code' => '500' ),
|
173 |
+
// 'FM' => array( 'name' => 'MICRONESIA, FEDERATED STATES OF', 'code' => '691' ),
|
174 |
+
// 'FO' => array( 'name' => 'FAROE ISLANDS', 'code' => '298' ),
|
175 |
+
'FR' => array( 'name' => 'FRANCE', 'code' => '33' ),
|
176 |
+
// 'GA' => array( 'name' => 'GABON', 'code' => '241' ),
|
177 |
+
'GB' => array( 'name' => 'UNITED KINGDOM', 'code' => '44' ),
|
178 |
+
// 'GD' => array( 'name' => 'GRENADA', 'code' => '1473' ),
|
179 |
+
// 'GE' => array( 'name' => 'GEORGIA', 'code' => '995' ),
|
180 |
+
// 'GH' => array( 'name' => 'GHANA', 'code' => '233' ),
|
181 |
+
// 'GI' => array( 'name' => 'GIBRALTAR', 'code' => '350' ),
|
182 |
+
'GL' => array( 'name' => 'GREENLAND', 'code' => '299' ),
|
183 |
+
// 'GM' => array( 'name' => 'GAMBIA', 'code' => '220' ),
|
184 |
+
// 'GN' => array( 'name' => 'GUINEA', 'code' => '224' ),
|
185 |
+
// 'GQ' => array( 'name' => 'EQUATORIAL GUINEA', 'code' => '240' ),
|
186 |
+
'GR' => array( 'name' => 'GREECE', 'code' => '30' ),
|
187 |
+
// 'GT' => array( 'name' => 'GUATEMALA', 'code' => '502' ),
|
188 |
+
// 'GU' => array( 'name' => 'GUAM', 'code' => '1671' ),
|
189 |
+
// 'GW' => array( 'name' => 'GUINEA-BISSAU', 'code' => '245' ),
|
190 |
+
// 'GY' => array( 'name' => 'GUYANA', 'code' => '592' ),
|
191 |
+
'HK' => array( 'name' => 'HONG KONG', 'code' => '852' ),
|
192 |
+
// 'HN' => array( 'name' => 'HONDURAS', 'code' => '504' ),
|
193 |
+
'HR' => array( 'name' => 'CROATIA', 'code' => '385' ),
|
194 |
+
// 'HT' => array( 'name' => 'HAITI', 'code' => '509' ),
|
195 |
+
'HU' => array( 'name' => 'HUNGARY', 'code' => '36' ),
|
196 |
+
'ID' => array( 'name' => 'INDONESIA', 'code' => '62' ),
|
197 |
+
'IE' => array( 'name' => 'IRELAND', 'code' => '353' ),
|
198 |
+
'IL' => array( 'name' => 'ISRAEL', 'code' => '972' ),
|
199 |
+
// 'IM' => array( 'name' => 'ISLE OF MAN', 'code' => '44' ),
|
200 |
+
'IN' => array( 'name' => 'INDIA', 'code' => '91' ),
|
201 |
+
// 'IQ' => array( 'name' => 'IRAQ', 'code' => '964' ),
|
202 |
+
// 'IR' => array( 'name' => 'IRAN, ISLAMIC REPUBLIC OF', 'code' => '98' ),
|
203 |
+
'IS' => array( 'name' => 'ICELAND', 'code' => '354' ),
|
204 |
+
'IT' => array( 'name' => 'ITALY', 'code' => '39' ),
|
205 |
+
// 'JM' => array( 'name' => 'JAMAICA', 'code' => '1876' ),
|
206 |
+
// 'JO' => array( 'name' => 'JORDAN', 'code' => '962' ),
|
207 |
+
'JP' => array( 'name' => 'JAPAN', 'code' => '81' ),
|
208 |
+
// 'KE' => array( 'name' => 'KENYA', 'code' => '254' ),
|
209 |
+
// 'KG' => array( 'name' => 'KYRGYZSTAN', 'code' => '996' ),
|
210 |
+
// 'KH' => array( 'name' => 'CAMBODIA', 'code' => '855' ),
|
211 |
+
// 'KI' => array( 'name' => 'KIRIBATI', 'code' => '686' ),
|
212 |
+
// 'KM' => array( 'name' => 'COMOROS', 'code' => '269' ),
|
213 |
+
// 'KN' => array( 'name' => 'SAINT KITTS AND NEVIS', 'code' => '1869' ),
|
214 |
+
// 'KP' => array( 'name' => 'KOREA DEMOCRATIC PEOPLES REPUBLIC OF', 'code' => '850' ),
|
215 |
+
'KR' => array( 'name' => 'KOREA REPUBLIC OF', 'code' => '82' ),
|
216 |
+
// 'KW' => array( 'name' => 'KUWAIT', 'code' => '965' ),
|
217 |
+
// 'KY' => array( 'name' => 'CAYMAN ISLANDS', 'code' => '1345' ),
|
218 |
+
// 'KZ' => array( 'name' => 'KAZAKSTAN', 'code' => '7' ),
|
219 |
+
// 'LA' => array( 'name' => 'LAO PEOPLES DEMOCRATIC REPUBLIC', 'code' => '856' ),
|
220 |
+
// 'LB' => array( 'name' => 'LEBANON', 'code' => '961' ),
|
221 |
+
// 'LC' => array( 'name' => 'SAINT LUCIA', 'code' => '1758' ),
|
222 |
+
'LI' => array( 'name' => 'LIECHTENSTEIN', 'code' => '423' ),
|
223 |
+
// 'LK' => array( 'name' => 'SRI LANKA', 'code' => '94' ),
|
224 |
+
// 'LR' => array( 'name' => 'LIBERIA', 'code' => '231' ),
|
225 |
+
// 'LS' => array( 'name' => 'LESOTHO', 'code' => '266' ),
|
226 |
+
'LT' => array( 'name' => 'LITHUANIA', 'code' => '370' ),
|
227 |
+
'LU' => array( 'name' => 'LUXEMBOURG', 'code' => '352' ),
|
228 |
+
'LV' => array( 'name' => 'LATVIA', 'code' => '371' ),
|
229 |
+
// 'LY' => array( 'name' => 'LIBYAN ARAB JAMAHIRIYA', 'code' => '218' ),
|
230 |
+
// 'MA' => array( 'name' => 'MOROCCO', 'code' => '212' ),
|
231 |
+
// 'MC' => array( 'name' => 'MONACO', 'code' => '377' ),
|
232 |
+
// 'MD' => array( 'name' => 'MOLDOVA, REPUBLIC OF', 'code' => '373' ),
|
233 |
+
'ME' => array( 'name' => 'MONTENEGRO', 'code' => '382' ),
|
234 |
+
// 'MF' => array( 'name' => 'SAINT MARTIN', 'code' => '1599' ),
|
235 |
+
// 'MG' => array( 'name' => 'MADAGASCAR', 'code' => '261' ),
|
236 |
+
// 'MH' => array( 'name' => 'MARSHALL ISLANDS', 'code' => '692' ),
|
237 |
+
// 'MK' => array( 'name' => 'MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF', 'code' => '389' ),
|
238 |
+
// 'ML' => array( 'name' => 'MALI', 'code' => '223' ),
|
239 |
+
// 'MM' => array( 'name' => 'MYANMAR', 'code' => '95' ),
|
240 |
+
// 'MN' => array( 'name' => 'MONGOLIA', 'code' => '976' ),
|
241 |
+
// 'MO' => array( 'name' => 'MACAU', 'code' => '853' ),
|
242 |
+
// 'MP' => array( 'name' => 'NORTHERN MARIANA ISLANDS', 'code' => '1670' ),
|
243 |
+
// 'MR' => array( 'name' => 'MAURITANIA', 'code' => '222' ),
|
244 |
+
// 'MS' => array( 'name' => 'MONTSERRAT', 'code' => '1664' ),
|
245 |
+
// 'MT' => array( 'name' => 'MALTA', 'code' => '356' ),
|
246 |
+
// 'MU' => array( 'name' => 'MAURITIUS', 'code' => '230' ),
|
247 |
+
// 'MV' => array( 'name' => 'MALDIVES', 'code' => '960' ),
|
248 |
+
// 'MW' => array( 'name' => 'MALAWI', 'code' => '265' ),
|
249 |
+
'MX' => array( 'name' => 'MEXICO', 'code' => '52' ),
|
250 |
+
'MY' => array( 'name' => 'MALAYSIA', 'code' => '60' ),
|
251 |
+
// 'MZ' => array( 'name' => 'MOZAMBIQUE', 'code' => '258' ),
|
252 |
+
// 'NA' => array( 'name' => 'NAMIBIA', 'code' => '264' ),
|
253 |
+
// 'NC' => array( 'name' => 'NEW CALEDONIA', 'code' => '687' ),
|
254 |
+
// 'NE' => array( 'name' => 'NIGER', 'code' => '227' ),
|
255 |
+
// 'NG' => array( 'name' => 'NIGERIA', 'code' => '234' ),
|
256 |
+
// 'NI' => array( 'name' => 'NICARAGUA', 'code' => '505' ),
|
257 |
+
'NL' => array( 'name' => 'NETHERLANDS', 'code' => '31' ),
|
258 |
+
'NO' => array( 'name' => 'NORWAY', 'code' => '47' ),
|
259 |
+
// 'NP' => array( 'name' => 'NEPAL', 'code' => '977' ),
|
260 |
+
// 'NR' => array( 'name' => 'NAURU', 'code' => '674' ),
|
261 |
+
// 'NU' => array( 'name' => 'NIUE', 'code' => '683' ),
|
262 |
+
'NZ' => array( 'name' => 'NEW ZEALAND', 'code' => '64' ),
|
263 |
+
// 'OM' => array( 'name' => 'OMAN', 'code' => '968' ),
|
264 |
+
// 'PA' => array( 'name' => 'PANAMA', 'code' => '507' ),
|
265 |
+
// 'PE' => array( 'name' => 'PERU', 'code' => '51' ),
|
266 |
+
// 'PF' => array( 'name' => 'FRENCH POLYNESIA', 'code' => '689' ),
|
267 |
+
// 'PG' => array( 'name' => 'PAPUA NEW GUINEA', 'code' => '675' ),
|
268 |
+
// 'PH' => array( 'name' => 'PHILIPPINES', 'code' => '63' ),
|
269 |
+
// 'PK' => array( 'name' => 'PAKISTAN', 'code' => '92' ),
|
270 |
+
'PL' => array( 'name' => 'POLAND', 'code' => '48' ),
|
271 |
+
// 'PM' => array( 'name' => 'SAINT PIERRE AND MIQUELON', 'code' => '508' ),
|
272 |
+
// 'PN' => array( 'name' => 'PITCAIRN', 'code' => '870' ),
|
273 |
+
'PR' => array( 'name' => 'PUERTO RICO', 'code' => '1' ),
|
274 |
+
'PT' => array( 'name' => 'PORTUGAL', 'code' => '351' ),
|
275 |
+
// 'PW' => array( 'name' => 'PALAU', 'code' => '680' ),
|
276 |
+
// 'PY' => array( 'name' => 'PARAGUAY', 'code' => '595' ),
|
277 |
+
// 'QA' => array( 'name' => 'QATAR', 'code' => '974' ),
|
278 |
+
'RO' => array( 'name' => 'ROMANIA', 'code' => '40' ),
|
279 |
+
'RS' => array( 'name' => 'SERBIA', 'code' => '381' ),
|
280 |
+
'RU' => array( 'name' => 'RUSSIAN FEDERATION', 'code' => '7' ),
|
281 |
+
// 'RW' => array( 'name' => 'RWANDA', 'code' => '250' ),
|
282 |
+
// 'SA' => array( 'name' => 'SAUDI ARABIA', 'code' => '966' ),
|
283 |
+
// 'SB' => array( 'name' => 'SOLOMON ISLANDS', 'code' => '677' ),
|
284 |
+
// 'SC' => array( 'name' => 'SEYCHELLES', 'code' => '248' ),
|
285 |
+
// 'SD' => array( 'name' => 'SUDAN', 'code' => '249' ),
|
286 |
+
'SE' => array( 'name' => 'SWEDEN', 'code' => '46' ),
|
287 |
+
'SG' => array( 'name' => 'SINGAPORE', 'code' => '65' ),
|
288 |
+
// 'SH' => array( 'name' => 'SAINT HELENA', 'code' => '290' ),
|
289 |
+
'SI' => array( 'name' => 'SLOVENIA', 'code' => '386' ),
|
290 |
+
'SK' => array( 'name' => 'SLOVAKIA', 'code' => '421' ),
|
291 |
+
// 'SL' => array( 'name' => 'SIERRA LEONE', 'code' => '232' ),
|
292 |
+
// 'SM' => array( 'name' => 'SAN MARINO', 'code' => '378' ),
|
293 |
+
// 'SN' => array( 'name' => 'SENEGAL', 'code' => '221' ),
|
294 |
+
// 'SO' => array( 'name' => 'SOMALIA', 'code' => '252' ),
|
295 |
+
// 'SR' => array( 'name' => 'SURINAME', 'code' => '597' ),
|
296 |
+
// 'ST' => array( 'name' => 'SAO TOME AND PRINCIPE', 'code' => '239' ),
|
297 |
+
// 'SV' => array( 'name' => 'EL SALVADOR', 'code' => '503' ),
|
298 |
+
// 'SY' => array( 'name' => 'SYRIAN ARAB REPUBLIC', 'code' => '963' ),
|
299 |
+
// 'SZ' => array( 'name' => 'SWAZILAND', 'code' => '268' ),
|
300 |
+
// 'TC' => array( 'name' => 'TURKS AND CAICOS ISLANDS', 'code' => '1649' ),
|
301 |
+
// 'TD' => array( 'name' => 'CHAD', 'code' => '235' ),
|
302 |
+
// 'TG' => array( 'name' => 'TOGO', 'code' => '228' ),
|
303 |
+
'TH' => array( 'name' => 'THAILAND', 'code' => '66' ),
|
304 |
+
// 'TJ' => array( 'name' => 'TAJIKISTAN', 'code' => '992' ),
|
305 |
+
// 'TK' => array( 'name' => 'TOKELAU', 'code' => '690' ),
|
306 |
+
// 'TL' => array( 'name' => 'TIMOR-LESTE', 'code' => '670' ),
|
307 |
+
// 'TM' => array( 'name' => 'TURKMENISTAN', 'code' => '993' ),
|
308 |
+
// 'TN' => array( 'name' => 'TUNISIA', 'code' => '216' ),
|
309 |
+
// 'TO' => array( 'name' => 'TONGA', 'code' => '676' ),
|
310 |
+
// 'TR' => array( 'name' => 'TURKEY', 'code' => '90' ),
|
311 |
+
// 'TT' => array( 'name' => 'TRINIDAD AND TOBAGO', 'code' => '1868' ),
|
312 |
+
// 'TV' => array( 'name' => 'TUVALU', 'code' => '688' ),
|
313 |
+
'TW' => array( 'name' => 'TAIWAN', 'code' => '886' ),
|
314 |
+
// 'TZ' => array( 'name' => 'TANZANIA, UNITED REPUBLIC OF', 'code' => '255' ),
|
315 |
+
'UA' => array( 'name' => 'UKRAINE', 'code' => '380' ),
|
316 |
+
// 'UG' => array( 'name' => 'UGANDA', 'code' => '256' ),
|
317 |
+
'US' => array( 'name' => 'UNITED STATES', 'code' => '1' ),
|
318 |
+
'UY' => array( 'name' => 'URUGUAY', 'code' => '598' ),
|
319 |
+
// 'UZ' => array( 'name' => 'UZBEKISTAN', 'code' => '998' ),
|
320 |
+
// 'VA' => array( 'name' => 'HOLY SEE (VATICAN CITY STATE)', 'code' => '39' ),
|
321 |
+
// 'VC' => array( 'name' => 'SAINT VINCENT AND THE GRENADINES', 'code' => '1784' ),
|
322 |
+
// 'VE' => array( 'name' => 'VENEZUELA', 'code' => '58' ),
|
323 |
+
// 'VG' => array( 'name' => 'VIRGIN ISLANDS, BRITISH', 'code' => '1284' ),
|
324 |
+
// 'VI' => array( 'name' => 'VIRGIN ISLANDS, U.S.', 'code' => '1340' ),
|
325 |
+
'VN' => array( 'name' => 'VIETNAM', 'code' => '84' ),
|
326 |
+
// 'VU' => array( 'name' => 'VANUATU', 'code' => '678' ),
|
327 |
+
// 'WF' => array( 'name' => 'WALLIS AND FUTUNA', 'code' => '681' ),
|
328 |
+
// 'WS' => array( 'name' => 'SAMOA', 'code' => '685' ),
|
329 |
+
// 'XK' => array( 'name' => 'KOSOVO', 'code' => '381' ),
|
330 |
+
// 'YE' => array( 'name' => 'YEMEN', 'code' => '967' ),
|
331 |
+
// 'YT' => array( 'name' => 'MAYOTTE', 'code' => '262' ),
|
332 |
+
'ZA' => array( 'name' => 'SOUTH AFRICA', 'code' => '27' ),
|
333 |
+
// 'ZM' => array( 'name' => 'ZAMBIA', 'code' => '260' ),
|
334 |
+
// 'ZW' => array( 'name' => 'ZIMBABWE', 'code' => '263' )
|
335 |
+
);
|
336 |
+
|
337 |
public function __construct() {
|
338 |
|
339 |
add_action( 'init', array( $this, 'set_defaults' ) );
|
361 |
'time-format' => _x( 'h:i A', 'Default time format for display. Must match formatting rules at http://amsul.ca/pickadate.js/time/#formats', 'restaurant-reservations' ),
|
362 |
'time-interval' => _x( '30', 'Default interval in minutes when selecting a time.', 'restaurant-reservations' ),
|
363 |
|
364 |
+
// Payment defaults
|
365 |
+
'rtb-paypal-email' => get_option( 'admin_email' ),
|
366 |
+
'rtb-stripe-currency-symbol' => '$',
|
367 |
+
'rtb-currency-symbol-location' => 'before',
|
368 |
+
'rtb-currency' => 'USD',
|
369 |
+
'rtb-stripe-mode' => 'live',
|
370 |
+
|
371 |
// Export defaults
|
372 |
'ebfrtb-paper-size' => 'A4',
|
373 |
'ebfrtb-pdf-lib' => 'mpdf',
|
378 |
|
379 |
// Email address where admin notifications should be sent
|
380 |
'admin-email-address' => get_option( 'admin_email' ),
|
381 |
+
'ultimate-purchase-email' => get_option( 'admin_email' ),
|
382 |
|
383 |
// Name and email address which should appear in the Reply-To section of notification emails
|
384 |
'reply-to-name' => get_bloginfo( 'name' ),
|
418 |
|
419 |
|
420 |
|
421 |
+
<em>This message was sent by {site_link} on {current_time}.</em>',
|
422 |
+
'Default email sent to users when they make a new booking request. The tags in {brackets} will be replaced by the appropriate content and should be left in place. HTML is allowed, but be aware that many email clients do not handle HTML very well.',
|
423 |
+
'restaurant-reservations'
|
424 |
+
),
|
425 |
+
|
426 |
+
// Email template sent to an admin when a new booking request is made
|
427 |
+
'subject-booking-confirmed-admin' => _x( 'New Confirmed Booking Request', 'Default email subject for admin notifications when a new confirmed booking is made', 'restaurant-reservations' ),
|
428 |
+
'template-booking-confirmed-admin' => _x( 'A new confirmed booking has been made at {site_name}:
|
429 |
+
|
430 |
+
{user_name}
|
431 |
+
{party} people
|
432 |
+
{date}
|
433 |
+
|
434 |
+
{bookings_link}
|
435 |
+
{confirm_link}
|
436 |
+
{close_link}
|
437 |
+
|
438 |
+
|
439 |
+
|
440 |
+
<em>This message was sent by {site_link} on {current_time}.</em>',
|
441 |
+
'Default email sent to the admin when a new confirmed booking is made. The tags in {brackets} will be replaced by the appropriate content and should be left in place. HTML is allowed, but be aware that many email clients do not handle HTML very well.',
|
442 |
+
'restaurant-reservations'
|
443 |
+
),
|
444 |
+
|
445 |
+
// Email template sent to an admin when a new booking request is made
|
446 |
+
'subject-booking-cancelled-admin' => _x( 'Booking Request Cancelled', 'Default email subject for admin notifications of cancelled bookings', 'restaurant-reservations' ),
|
447 |
+
'template-booking-cancelled-admin' => _x( 'A booking request has been cancelled at {site_name}:
|
448 |
+
|
449 |
+
{user_name}
|
450 |
+
{party} people
|
451 |
+
{date}
|
452 |
+
|
453 |
+
{bookings_link}
|
454 |
+
|
455 |
+
|
456 |
+
|
457 |
+
<em>This message was sent by {site_link} on {current_time}.</em>',
|
458 |
+
'Default email sent to the admin when a booking request is cancelled. The tags in {brackets} will be replaced by the appropriate content and should be left in place. HTML is allowed, but be aware that many email clients do not handle HTML very well.',
|
459 |
+
'restaurant-reservations'
|
460 |
+
),
|
461 |
+
|
462 |
+
// Email template sent to a user when a new booking request is made
|
463 |
+
'subject-booking-user' => sprintf( _x( 'Your booking at %s is pending', 'Default email subject sent to user when they request a booking. %s will be replaced by the website name', 'restaurant-reservations' ), get_bloginfo( 'name' ) ),
|
464 |
+
'template-booking-user' => _x( 'Thanks {user_name},
|
465 |
+
|
466 |
+
Your booking request is <strong>waiting to be confirmed</strong>.
|
467 |
+
|
468 |
+
Give us a few moments to make sure that we\'ve got space for you. You will receive another email from us soon. If this request was made outside of our normal working hours, we may not be able to confirm it until we\'re open again.
|
469 |
+
|
470 |
+
<strong>Your request details:</strong>
|
471 |
+
{user_name}
|
472 |
+
{party} people
|
473 |
+
{date}
|
474 |
+
|
475 |
+
|
476 |
+
|
477 |
<em>This message was sent by {site_link} on {current_time}.</em>',
|
478 |
'Default email sent to users when they make a new booking request. The tags in {brackets} will be replaced by the appropriate content and should be left in place. HTML is allowed, but be aware that many email clients do not handle HTML very well.',
|
479 |
'restaurant-reservations'
|
514 |
'restaurant-reservations'
|
515 |
),
|
516 |
|
517 |
+
// Email template sent to a user when they cancel their booking
|
518 |
+
'subject-booking-cancelled-user' => sprintf( _x( 'Your reservation at %s was cancelled', 'Default email subject sent to user after they cancel their booking. %s will be replaced by the website name', 'restaurant-reservations' ), get_bloginfo( 'name' ) ),
|
519 |
+
'template-booking-cancelled-user' => _x( 'Hi {user_name},
|
520 |
|
521 |
+
Your reservation with the following details has been cancelled:
|
522 |
|
523 |
{date}
|
524 |
{user_name}
|
525 |
{party} people
|
526 |
|
527 |
+
If you were not the one to cancel this booking, please contact us.
|
528 |
|
529 |
|
530 |
|
531 |
<em>This message was sent by {site_link} on {current_time}.</em>',
|
532 |
+
'Default email sent to users when they cancel their booking. The tags in {brackets} will be replaced by the appropriate content and should be left in place. HTML is allowed, but be aware that many email clients do not handle HTML very well.',
|
533 |
+
'restaurant-reservations'
|
534 |
+
),
|
535 |
+
|
536 |
+
// Email template sent to a user when they have an upcoming booking
|
537 |
+
'subject-reminder-user' => sprintf( _x( 'Reminder: Your reservation at %s', 'Default email subject sent to user as a reminder about for their booking. %s will be replaced by the website name', 'restaurant-reservations' ), get_bloginfo( 'name' ) ),
|
538 |
+
'template-reminder-user' => _x( 'Reminder: You have a reservation {date} for {party} at {site_name}',
|
539 |
'Default email sent to users as a reminder about their booking request. The tags in {brackets} will be replaced by the appropriate content and should be left in place. HTML is allowed, but be aware that many email clients do not handle HTML very well.',
|
540 |
'restaurant-reservations'
|
541 |
),
|
542 |
|
543 |
+
// Email template sent to a user when they're late for their booking
|
544 |
'subject-late-user' => sprintf( _x( 'You\'re late for your booking at %s', 'Default email subject sent to user when they are late for their booking. %s will be replaced by the website name', 'restaurant-reservations' ), get_bloginfo( 'name' ) ),
|
545 |
+
'template-late-user' => _x( 'You had a reservation {date} for {party} at {site_name}',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
546 |
'Default email sent to users when they are late for their booking request. The tags in {brackets} will be replaced by the appropriate content and should be left in place. HTML is allowed, but be aware that many email clients do not handle HTML very well.',
|
547 |
'restaurant-reservations'
|
548 |
),
|
583 |
return apply_filters( 'rtb-setting-' . $setting, null );
|
584 |
}
|
585 |
|
586 |
+
/**
|
587 |
+
* Set a setting to a particular value
|
588 |
+
* @since 2.1.0
|
589 |
+
*/
|
590 |
+
public function set_setting( $setting, $value ) {
|
591 |
+
|
592 |
+
$this->settings[ $setting ] = $value;
|
593 |
+
}
|
594 |
+
|
595 |
+
/**
|
596 |
+
* Save all setting, to be used with set_setting
|
597 |
+
* @since 2.1.0
|
598 |
+
*/
|
599 |
+
public function save_settings() {
|
600 |
+
|
601 |
+
update_option( 'rtb-settings', $this->settings );
|
602 |
+
}
|
603 |
+
|
604 |
/**
|
605 |
* Load the admin settings page
|
606 |
* @since 0.0.1
|
732 |
'7' => __( 'From 1 week in advance', 'restaurant-reservations' ),
|
733 |
'14' => __( 'From 2 weeks in advance', 'restaurant-reservations' ),
|
734 |
'30' => __( 'From 30 days in advance', 'restaurant-reservations' ),
|
735 |
+
'60' => __( 'From 60 days in advance', 'restaurant-reservations' ),
|
736 |
'90' => __( 'From 90 days in advance', 'restaurant-reservations' ),
|
737 |
)
|
738 |
)
|
886 |
)
|
887 |
);
|
888 |
|
889 |
+
$sap->add_setting(
|
890 |
+
'rtb-settings',
|
891 |
+
'rtb-general',
|
892 |
+
'toggle',
|
893 |
+
array(
|
894 |
+
'id' => 'allow-cancellations',
|
895 |
+
'title' => __( 'Allow Cancellations', 'restaurant-reservations' ),
|
896 |
+
'description' => __( 'Adds a cancellation option to your booking form, so that customers are able to cancel their reservations.', 'restaurant-reservations' )
|
897 |
+
)
|
898 |
+
);
|
899 |
+
|
900 |
$sap->add_setting(
|
901 |
'rtb-settings',
|
902 |
'rtb-general',
|
937 |
)
|
938 |
);
|
939 |
|
940 |
+
$sap->add_setting(
|
941 |
+
'rtb-settings',
|
942 |
+
'rtb-general',
|
943 |
+
'text',
|
944 |
+
array(
|
945 |
+
'id' => 'pending-redirect-page',
|
946 |
+
'title' => __( 'Pending Redirect Page', 'restaurant-reservations' ),
|
947 |
+
'description' => __( 'Input the URL of the page you want the booking form to redirect to after a reservation is made that is set to pending. This overrides the "Pending Confirmation Message" text/option.', 'restaurant-reservations' ),
|
948 |
+
)
|
949 |
+
);
|
950 |
+
|
951 |
+
$sap->add_setting(
|
952 |
+
'rtb-settings',
|
953 |
+
'rtb-general',
|
954 |
+
'text',
|
955 |
+
array(
|
956 |
+
'id' => 'confirmed-redirect-page',
|
957 |
+
'title' => __( 'Confirmed Redirect Page', 'restaurant-reservations' ),
|
958 |
+
'description' => __( 'Input the URL of the page you want the booking form to redirect to after a reservation is made that is automatically confirmed. This overrides the "Confirmed Booking Message" text/option.', 'restaurant-reservations' ),
|
959 |
+
)
|
960 |
+
);
|
961 |
+
|
962 |
$sap->add_section(
|
963 |
'rtb-settings',
|
964 |
array(
|
1038 |
)
|
1039 |
);
|
1040 |
|
1041 |
+
$sap->add_section(
|
1042 |
+
'rtb-settings',
|
1043 |
+
array(
|
1044 |
+
'id' => 'rtb-captcha',
|
1045 |
+
'title' => __( 'Captcha', 'restaurant-reservations' ),
|
1046 |
+
'tab' => 'rtb-basic',
|
1047 |
+
)
|
1048 |
+
);
|
1049 |
+
|
1050 |
+
$sap->add_setting(
|
1051 |
+
'rtb-settings',
|
1052 |
+
'rtb-captcha',
|
1053 |
+
'toggle',
|
1054 |
+
array(
|
1055 |
+
'id' => 'enable-captcha',
|
1056 |
+
'title' => __( 'Enable Google reCAPTCHA v2', 'restaurant-reservations' ),
|
1057 |
+
'description' => sprintf( __( 'Adds Google\'s reCAPTCHA code to your form, to verify guests before they can book. Please check %s our documentation %s for more information on how to configure this feature.', 'restaurant-reservations' ), '<a href="http://doc.fivestarplugins.com/plugins/restaurant-reservations/" target="_blank">', '</a>')
|
1058 |
+
)
|
1059 |
+
);
|
1060 |
+
|
1061 |
+
$sap->add_setting(
|
1062 |
+
'rtb-settings',
|
1063 |
+
'rtb-captcha',
|
1064 |
+
'text',
|
1065 |
+
array(
|
1066 |
+
'id' => 'captcha-site-key',
|
1067 |
+
'title' => __( 'Google Site Key', 'restaurant-reservations' ),
|
1068 |
+
'description' => __( 'The site key provided to you by Google', 'restaurant-reservations' )
|
1069 |
+
)
|
1070 |
+
);
|
1071 |
+
|
1072 |
+
$sap->add_setting(
|
1073 |
+
'rtb-settings',
|
1074 |
+
'rtb-captcha',
|
1075 |
+
'text',
|
1076 |
+
array(
|
1077 |
+
'id' => 'captcha-secret-key',
|
1078 |
+
'title' => __( 'Google Secret Key', 'restaurant-reservations' ),
|
1079 |
+
'description' => __( 'The secret key provided to you by Google', 'restaurant-reservations' )
|
1080 |
+
)
|
1081 |
+
);
|
1082 |
+
|
1083 |
$sap->add_section(
|
1084 |
'rtb-settings',
|
1085 |
array(
|
1230 |
'units' => array( 'minutes' => 'Minutes' )
|
1231 |
)
|
1232 |
);
|
1233 |
+
|
1234 |
$sap->add_setting(
|
1235 |
'rtb-settings',
|
1236 |
'rtb-table-seat-assignments',
|
1241 |
'description' => __( 'Only allow a certain number of reservations (set below) during a specific time. Once the maximum number of reservations has been reached, visitors will only be able to select other reservation times.', 'restaurant-reservations' )
|
1242 |
)
|
1243 |
);
|
1244 |
+
|
1245 |
$sap->add_setting(
|
1246 |
'rtb-settings',
|
1247 |
'rtb-table-seat-assignments',
|
1255 |
'increment' => 1
|
1256 |
)
|
1257 |
);
|
1258 |
+
|
1259 |
$sap->add_setting(
|
1260 |
'rtb-settings',
|
1261 |
'rtb-table-seat-assignments',
|
1269 |
'increment' => 1
|
1270 |
)
|
1271 |
);
|
1272 |
+
|
1273 |
$sap->add_setting(
|
1274 |
'rtb-settings',
|
1275 |
'rtb-table-seat-assignments',
|
1458 |
)
|
1459 |
);
|
1460 |
|
1461 |
+
$sap->add_setting(
|
1462 |
+
'rtb-settings',
|
1463 |
+
'rtb-notifications',
|
1464 |
+
'toggle',
|
1465 |
+
array(
|
1466 |
+
'id' => 'admin-confirmed-email-option',
|
1467 |
+
'title' => __( 'Admin New Confirmed Notification', 'restaurant-reservations' ),
|
1468 |
+
'description' => __( 'Send an email notification to an administrator when a new confirmed booking is made.', 'restaurant-reservations' )
|
1469 |
+
)
|
1470 |
+
);
|
1471 |
+
|
1472 |
+
$sap->add_setting(
|
1473 |
+
'rtb-settings',
|
1474 |
+
'rtb-notifications',
|
1475 |
+
'toggle',
|
1476 |
+
array(
|
1477 |
+
'id' => 'admin-cancelled-email-option',
|
1478 |
+
'title' => __( 'Admin Cancellation Notification', 'restaurant-reservations' ),
|
1479 |
+
'description' => __( 'Send an email notification to an administrator when a booking is cancelled.', 'restaurant-reservations' )
|
1480 |
+
)
|
1481 |
+
);
|
1482 |
+
|
1483 |
$sap->add_setting(
|
1484 |
'rtb-settings',
|
1485 |
'rtb-notifications',
|
1539 |
)
|
1540 |
);
|
1541 |
|
1542 |
+
$sap->add_setting(
|
1543 |
+
'rtb-settings',
|
1544 |
+
'rtb-notifications-templates',
|
1545 |
+
'text',
|
1546 |
+
array(
|
1547 |
+
'id' => 'subject-booking-cancelled-admin',
|
1548 |
+
'title' => __( 'Admin Booking Cancelled Subject', 'restaurant-reservations' ),
|
1549 |
+
'description' => __( 'The email subject for admin notifications when a booking is cancelled.', 'restaurant-reservations' ),
|
1550 |
+
'placeholder' => $this->defaults['subject-booking-cancelled-admin'],
|
1551 |
+
)
|
1552 |
+
);
|
1553 |
+
|
1554 |
+
$sap->add_setting(
|
1555 |
+
'rtb-settings',
|
1556 |
+
'rtb-notifications-templates',
|
1557 |
+
'editor',
|
1558 |
+
array(
|
1559 |
+
'id' => 'template-booking-cancelled-admin',
|
1560 |
+
'title' => __( 'Admin Booking Cancelled Email', 'restaurant-reservations' ),
|
1561 |
+
'description' => __( 'Enter the email an admin should receive when a booking is cancelled.', 'restaurant-reservations' ),
|
1562 |
+
'default' => $this->defaults['template-booking-cancelled-admin'],
|
1563 |
+
)
|
1564 |
+
);
|
1565 |
+
|
1566 |
$sap->add_setting(
|
1567 |
'rtb-settings',
|
1568 |
'rtb-notifications-templates',
|
1635 |
)
|
1636 |
);
|
1637 |
|
1638 |
+
$sap->add_setting(
|
1639 |
+
'rtb-settings',
|
1640 |
+
'rtb-notifications-templates',
|
1641 |
+
'text',
|
1642 |
+
array(
|
1643 |
+
'id' => 'subject-booking-cancelled-user',
|
1644 |
+
'title' => __( 'Booking Cancelled Email Subject', 'restaurant-reservations' ),
|
1645 |
+
'description' => __( 'The email subject a user should receive when they have cancelled their booking.', 'restaurant-reservations' ),
|
1646 |
+
'placeholder' => $this->defaults['subject-booking-cancelled-user'],
|
1647 |
+
)
|
1648 |
+
);
|
1649 |
+
|
1650 |
+
$sap->add_setting(
|
1651 |
+
'rtb-settings',
|
1652 |
+
'rtb-notifications-templates',
|
1653 |
+
'editor',
|
1654 |
+
array(
|
1655 |
+
'id' => 'template-booking-cancelled-user',
|
1656 |
+
'title' => __( 'Booking Cancelled Email', 'restaurant-reservations' ),
|
1657 |
+
'description' => __( 'Enter the email a user should receive when they cancel their booking.', 'restaurant-reservations' ),
|
1658 |
+
'default' => $this->defaults['template-booking-cancelled-user'],
|
1659 |
+
)
|
1660 |
+
);
|
1661 |
+
|
1662 |
$sap->add_setting(
|
1663 |
'rtb-settings',
|
1664 |
'rtb-notifications-templates',
|
1673 |
|
1674 |
if ( ! $rtb_controller->permissions->check_permission('reminders') ) {
|
1675 |
$reminders_permissions = array(
|
1676 |
+
'disabled' => true,
|
1677 |
+
'disabled_image' => 'https://www.etoilewebdesign.com/wp-content/uploads/2018/06/Logo-White-Filled40-px.png',
|
1678 |
+
'purchase_link' => 'https://www.fivestarplugins.com/plugins/five-star-restaurant-reservations/',
|
1679 |
+
'ultimate_needed' => 'Yes'
|
1680 |
);
|
1681 |
}
|
1682 |
else { $reminders_permissions = array(); }
|
1683 |
|
1684 |
+
$sap->add_section(
|
1685 |
+
'rtb-settings',
|
1686 |
+
array_merge(
|
1687 |
+
array(
|
1688 |
+
'id' => 'rtb-reservation-reminders',
|
1689 |
+
'title' => __( 'Reservation Reminders', 'restaurant-reservations' ),
|
1690 |
+
'tab' => 'rtb-notifications-tab',
|
1691 |
+
'description' => __( 'Set up reservation and late arrival reminders.' ),
|
1692 |
+
),
|
1693 |
+
$reminders_permissions
|
1694 |
+
)
|
1695 |
+
);
|
1696 |
+
|
1697 |
+
$sap->add_setting(
|
1698 |
+
'rtb-settings',
|
1699 |
+
'rtb-reservation-reminders',
|
1700 |
+
'text',
|
1701 |
+
array(
|
1702 |
+
'id' => 'ultimate-purchase-email',
|
1703 |
+
'title' => __( 'Ultimate Plan Purchase Email', 'restaurant-reservations' ),
|
1704 |
+
'description' => __( 'The email used to purchase your \'Ultimate\' plan subscription. Used to verify SMS requests are actually being sent from your site.', 'restaurant-reservations' ),
|
1705 |
+
'placeholder' => $this->defaults['ultimate-purchase-email'],
|
1706 |
+
)
|
1707 |
+
);
|
1708 |
+
|
1709 |
+
$country_phone_display_array = array();
|
1710 |
+
foreach ( $this->country_phone_array as $country_code => $country_array ) { $country_phone_display_array[$country_code] = $country_array['name'] . ' (+' . $country_array['code'] . ')'; }
|
1711 |
+
|
1712 |
+
$sap->add_setting(
|
1713 |
+
'rtb-settings',
|
1714 |
+
'rtb-reservation-reminders',
|
1715 |
+
'select',
|
1716 |
+
array(
|
1717 |
+
'id' => 'rtb-country-code',
|
1718 |
+
'title' => __( 'Country Code', 'restaurant-reservations' ),
|
1719 |
+
'description' => __( 'What country code should be added to SMS reminders? If no country is specified, phone numbers for reservations should start with +XXX (a plus sign followed by the country code), followed by a space or dash, or else the number the phone number will be assumed to be North American.', 'restaurant-reservations' ),
|
1720 |
+
'blank_option' => true,
|
1721 |
+
'options' => $country_phone_display_array
|
1722 |
+
)
|
1723 |
+
);
|
1724 |
+
|
1725 |
+
$sap->add_setting(
|
1726 |
+
'rtb-settings',
|
1727 |
+
'rtb-reservation-reminders',
|
1728 |
+
'radio',
|
1729 |
+
array(
|
1730 |
+
'id' => 'reminder-notification-format',
|
1731 |
+
'title' => __( 'Reminder Format', 'restaurant-reservations' ),
|
1732 |
+
'description' => __( 'Should reminders be sent via email or text (SMS) message. SMS requires a positive credit balance on your account.', 'restaurant-reservations' ),
|
1733 |
+
'options' => array(
|
1734 |
+
'email' => 'Email',
|
1735 |
+
'text' => 'Text (SMS)'
|
1736 |
+
)
|
1737 |
+
)
|
1738 |
+
);
|
1739 |
+
|
1740 |
+
$sap->add_setting(
|
1741 |
+
'rtb-settings',
|
1742 |
+
'rtb-reservation-reminders',
|
1743 |
+
'radio',
|
1744 |
+
array(
|
1745 |
+
'id' => 'late-notification-format',
|
1746 |
+
'title' => __( 'Late Notification Format', 'restaurant-reservations' ),
|
1747 |
+
'description' => __( 'Should late notifications be sent via email or text (SMS) message. SMS requires a positive credit balance on your account.', 'restaurant-reservations' ),
|
1748 |
+
'options' => array(
|
1749 |
+
'email' => 'Email',
|
1750 |
+
'text' => 'Text (SMS)'
|
1751 |
+
)
|
1752 |
+
)
|
1753 |
+
);
|
1754 |
+
|
1755 |
+
$sap->add_setting(
|
1756 |
+
'rtb-settings',
|
1757 |
+
'rtb-reservation-reminders',
|
1758 |
+
'count',
|
1759 |
+
array(
|
1760 |
+
'id' => 'time-reminder-user',
|
1761 |
+
'title' => __( 'Reservation Reminder Before Time', 'restaurant-reservations' ),
|
1762 |
+
'description' => __( 'How long before a reservation should a reminder email be sent? Leave blank to not send a reservation reminder.', 'restaurant-reservations' ),
|
1763 |
+
'min_value' => 1,
|
1764 |
+
'max_value' => 60,
|
1765 |
+
'increment' => 1,
|
1766 |
+
'units' => array(
|
1767 |
+
'minutes' => 'Minutes',
|
1768 |
+
'hours' => 'Hours',
|
1769 |
+
'days' => 'Days'
|
1770 |
+
)
|
1771 |
+
)
|
1772 |
+
);
|
1773 |
+
|
1774 |
+
$sap->add_setting(
|
1775 |
+
'rtb-settings',
|
1776 |
+
'rtb-reservation-reminders',
|
1777 |
+
'text',
|
1778 |
+
array(
|
1779 |
+
'id' => 'subject-reminder-user',
|
1780 |
+
'title' => __( 'Reservation Reminder Email Subject', 'restaurant-reservations' ),
|
1781 |
+
'description' => __( 'The email subject a user should receive as a reminder about their reservation.', 'restaurant-reservations' ),
|
1782 |
+
'placeholder' => $this->defaults['subject-reminder-user'],
|
1783 |
+
)
|
1784 |
+
);
|
1785 |
+
|
1786 |
+
$sap->add_setting(
|
1787 |
+
'rtb-settings',
|
1788 |
+
'rtb-reservation-reminders',
|
1789 |
+
'editor',
|
1790 |
+
array(
|
1791 |
+
'id' => 'template-reminder-user',
|
1792 |
+
'title' => __( 'Reservation Reminder Email', 'restaurant-reservations' ),
|
1793 |
+
'description' => __( 'Enter the email a user should receive as a reminder about their reservation.', 'restaurant-reservations' ),
|
1794 |
+
'default' => $this->defaults['template-reminder-user'],
|
1795 |
+
)
|
1796 |
+
);
|
1797 |
+
|
1798 |
+
$sap->add_setting(
|
1799 |
+
'rtb-settings',
|
1800 |
+
'rtb-reservation-reminders',
|
1801 |
+
'count',
|
1802 |
+
array(
|
1803 |
+
'id' => 'time-late-user',
|
1804 |
+
'title' => __( 'Late for Reservation Time', 'restaurant-reservations' ),
|
1805 |
+
'description' => __( 'How long after being late for a reservation should a late arrival email be sent? Leave blank to not send a late arrival email.', 'restaurant-reservations' ),
|
1806 |
+
'min_value' => 1,
|
1807 |
+
'max_value' => 60,
|
1808 |
+
'increment' => 1,
|
1809 |
+
'units' => array(
|
1810 |
+
'minutes' => 'Minutes',
|
1811 |
+
'hours' => 'Hours',
|
1812 |
+
)
|
1813 |
+
)
|
1814 |
+
);
|
1815 |
+
|
1816 |
+
$sap->add_setting(
|
1817 |
+
'rtb-settings',
|
1818 |
+
'rtb-reservation-reminders',
|
1819 |
+
'text',
|
1820 |
+
array(
|
1821 |
+
'id' => 'subject-late-user',
|
1822 |
+
'title' => __( 'Late for Reservation Email Subject', 'restaurant-reservations' ),
|
1823 |
+
'description' => __( 'The email subject a user should receive when they are late for their reservation.', 'restaurant-reservations' ),
|
1824 |
+
'placeholder' => $this->defaults['subject-late-user'],
|
1825 |
+
)
|
1826 |
+
);
|
1827 |
+
|
1828 |
+
$sap->add_setting(
|
1829 |
+
'rtb-settings',
|
1830 |
+
'rtb-reservation-reminders',
|
1831 |
+
'editor',
|
1832 |
+
array(
|
1833 |
+
'id' => 'template-late-user',
|
1834 |
+
'title' => __( 'Late for Reservation Email', 'restaurant-reservations' ),
|
1835 |
+
'description' => __( 'Enter the email a user should receive when they are late for their reservation.', 'restaurant-reservations' ),
|
1836 |
+
'default' => $this->defaults['template-late-user'],
|
1837 |
+
)
|
1838 |
+
);
|
1839 |
+
|
1840 |
+
$sap->add_section(
|
1841 |
+
'rtb-settings',
|
1842 |
+
array(
|
1843 |
+
'id' => 'rtb-notifications-advanced',
|
1844 |
+
'title' => __( 'Advanced', 'restaurant-reservations' ),
|
1845 |
+
'description' => __( "Modifying the settings below can prevent your emails from being delivered. Do not make changes unless you know what you're doing.", 'restaurant-reservations' ),
|
1846 |
+
'tab' => 'rtb-notifications-tab',
|
1847 |
+
)
|
1848 |
+
);
|
1849 |
|
1850 |
$sap->add_section(
|
1851 |
'rtb-settings',
|
1864 |
array(
|
1865 |
'id' => 'from-email-address',
|
1866 |
'title' => __( 'FROM Email Address Header', 'restaurant-reservations' ),
|
1867 |
+
'description' => sprintf( __( "Change the email address used in the FROM header of all emails sent by this plugin. In most cases you should not change this. Modifying this can prevent your emails from being delivered. %sLearn more%s.", 'restaurant-reservations' ), '<a href="http://doc.fivestarplugins.com/plugins/restaurant-reservations/user/faq#no-emails-from-header">', '</a>' ),
|
1868 |
'placeholder' => $this->defaults['from-email-address'],
|
1869 |
)
|
1870 |
);
|
1871 |
|
1872 |
+
if ( ! $rtb_controller->permissions->check_permission('payments') ) {
|
1873 |
+
$payment_permissions = array(
|
1874 |
+
'disabled' => true,
|
1875 |
+
'disabled_image' => 'https://www.etoilewebdesign.com/wp-content/uploads/2018/06/Logo-White-Filled40-px.png',
|
1876 |
+
'purchase_link' => 'https://www.fivestarplugins.com/plugins/five-star-restaurant-reservations/',
|
1877 |
+
'ultimate_needed' => 'Yes'
|
1878 |
+
);
|
1879 |
+
}
|
1880 |
+
else { $payment_permissions = array(); }
|
1881 |
+
|
1882 |
+
$sap->add_section(
|
1883 |
+
'rtb-settings',
|
1884 |
+
array(
|
1885 |
+
'id' => 'rtb-payments-tab',
|
1886 |
+
'title' => __( 'Payments', 'restaurant-reservations' ),
|
1887 |
+
'is_tab' => true,
|
1888 |
+
)
|
1889 |
+
);
|
1890 |
+
|
1891 |
+
$sap->add_section(
|
1892 |
+
'rtb-settings',
|
1893 |
+
array_merge(
|
1894 |
+
array(
|
1895 |
+
'id' => 'rtb-general-payment',
|
1896 |
+
'title' => __( 'General', 'restaurant-reservations' ),
|
1897 |
+
'tab' => 'rtb-payments-tab',
|
1898 |
+
),
|
1899 |
+
$payment_permissions
|
1900 |
+
)
|
1901 |
+
);
|
1902 |
+
$sap->add_setting(
|
1903 |
+
'rtb-settings',
|
1904 |
+
'rtb-general-payment',
|
1905 |
+
'toggle',
|
1906 |
+
array(
|
1907 |
+
'id' => 'require-deposit',
|
1908 |
+
'title' => __( 'Require Deposit', 'restaurant-reservations' ),
|
1909 |
+
'description' => __( 'Require guests to make a deposit when making a reservation.', 'restaurant-reservations' )
|
1910 |
+
)
|
1911 |
+
);
|
1912 |
+
$sap->add_setting(
|
1913 |
+
'rtb-settings',
|
1914 |
+
'rtb-general-payment',
|
1915 |
+
'radio',
|
1916 |
+
array(
|
1917 |
+
'id' => 'rtb-payment-gateway',
|
1918 |
+
'title' => __( 'Payment Gateway', 'restaurant-reservations' ),
|
1919 |
+
'description' => __( 'Which payment gateway should be used to accept deposits.', 'restaurant-reservations' ),
|
1920 |
+
'options' => array(
|
1921 |
+
'paypal' => 'PayPal',
|
1922 |
+
'stripe' => 'Stripe'
|
1923 |
+
)
|
1924 |
+
)
|
1925 |
+
);
|
1926 |
+
$sap->add_setting(
|
1927 |
+
'rtb-settings',
|
1928 |
+
'rtb-general-payment',
|
1929 |
+
'radio',
|
1930 |
+
array(
|
1931 |
+
'id' => 'rtb-deposit-type',
|
1932 |
+
'title' => __( 'Deposit Type', 'restaurant-reservations' ),
|
1933 |
+
'description' => __( 'What type of deposit should be required, per reservation or per guest?', 'restaurant-reservations' ),
|
1934 |
+
'options' => array(
|
1935 |
+
'reservation' => 'Per Reservation',
|
1936 |
+
'guest' => 'Per Guest'
|
1937 |
+
)
|
1938 |
+
)
|
1939 |
+
);
|
1940 |
+
$sap->add_setting(
|
1941 |
+
'rtb-settings',
|
1942 |
+
'rtb-general-payment',
|
1943 |
+
'text',
|
1944 |
+
array(
|
1945 |
+
'id' => 'rtb-deposit-amount',
|
1946 |
+
'title' => __( 'Deposit Amount', 'restaurant-reservations' ),
|
1947 |
+
'description' => __( 'What deposit amount is required (either per reservation or per guest, depending on the setting above).', 'restaurant-reservations' )
|
1948 |
+
)
|
1949 |
+
);
|
1950 |
+
$sap->add_setting(
|
1951 |
+
'rtb-settings',
|
1952 |
+
'rtb-general-payment',
|
1953 |
+
'select',
|
1954 |
+
array(
|
1955 |
+
'id' => 'rtb-currency',
|
1956 |
+
'title' => __( 'Currency', 'restaurant-reservations' ),
|
1957 |
+
'description' => __( 'Select the currency you accept for your deposits.', 'restaurant-reservations' ),
|
1958 |
+
'blank_option' => false,
|
1959 |
+
'options' => $this->currency_options
|
1960 |
+
)
|
1961 |
+
);
|
1962 |
+
|
1963 |
+
$sap->add_section(
|
1964 |
+
'rtb-settings',
|
1965 |
+
array_merge(
|
1966 |
+
array(
|
1967 |
+
'id' => 'rtb-paypal-payment',
|
1968 |
+
'title' => __( 'PayPal', 'restaurant-reservations' ),
|
1969 |
+
'tab' => 'rtb-payments-tab',
|
1970 |
+
),
|
1971 |
+
$payment_permissions
|
1972 |
+
)
|
1973 |
+
);
|
1974 |
+
$sap->add_setting(
|
1975 |
+
'rtb-settings',
|
1976 |
+
'rtb-paypal-payment',
|
1977 |
+
'text',
|
1978 |
+
array(
|
1979 |
+
'id' => 'rtb-paypal-email',
|
1980 |
+
'title' => __( 'PayPal Email Address', 'restaurant-reservations' ),
|
1981 |
+
'description' => __( 'The email address you\'ll be using to accept PayPal payments.', 'restaurant-reservations' ),
|
1982 |
+
'placeholder' =>$this->defaults['rtb-paypal-email']
|
1983 |
+
)
|
1984 |
+
);
|
1985 |
+
|
1986 |
+
$sap->add_section(
|
1987 |
+
'rtb-settings',
|
1988 |
+
array_merge(
|
1989 |
+
array(
|
1990 |
+
'id' => 'rtb-stripe-payment',
|
1991 |
+
'title' => __( 'Stripe', 'restaurant-reservations' ),
|
1992 |
+
'tab' => 'rtb-payments-tab',
|
1993 |
+
),
|
1994 |
+
$payment_permissions
|
1995 |
+
)
|
1996 |
+
);
|
1997 |
+
$sap->add_setting(
|
1998 |
+
'rtb-settings',
|
1999 |
+
'rtb-stripe-payment',
|
2000 |
+
'text',
|
2001 |
+
array(
|
2002 |
+
'id' => 'rtb-stripe-currency-symbol',
|
2003 |
+
'title' => __( 'Stripe Currency Symbol', 'restaurant-reservations' ),
|
2004 |
+
'description' => __( 'The currency symbol you\'d like displayed before or after the required deposit amount.', 'restaurant-reservations' ),
|
2005 |
+
'placeholder' => $this->defaults['rtb-stripe-currency-symbol']
|
2006 |
+
)
|
2007 |
+
);
|
2008 |
+
$sap->add_setting(
|
2009 |
+
'rtb-settings',
|
2010 |
+
'rtb-stripe-payment',
|
2011 |
+
'radio',
|
2012 |
+
array(
|
2013 |
+
'id' => 'rtb-currency-symbol-location',
|
2014 |
+
'title' => __( 'Currency Symbol Location', 'restaurant-reservations' ),
|
2015 |
+
'description' => __( 'Should the currency symbol be placed before or after the deposit amount?', 'restaurant-reservations' ),
|
2016 |
+
'options' => array(
|
2017 |
+
'before' => 'Before',
|
2018 |
+
'after' => 'After'
|
2019 |
+
)
|
2020 |
+
)
|
2021 |
+
);
|
2022 |
+
$sap->add_setting(
|
2023 |
+
'rtb-settings',
|
2024 |
+
'rtb-stripe-payment',
|
2025 |
+
'radio',
|
2026 |
+
array(
|
2027 |
+
'id' => 'rtb-stripe-mode',
|
2028 |
+
'title' => __( 'Test/Live Mode', 'restaurant-reservations' ),
|
2029 |
+
'description' => __( 'Should the system use test or live mode? Test mode should only be used for testing, no deposits will actually be processed while turned on.', 'restaurant-reservations' ),
|
2030 |
+
'options' => array(
|
2031 |
+
'test' => 'Test',
|
2032 |
+
'live' => 'Live'
|
2033 |
+
)
|
2034 |
+
)
|
2035 |
+
);
|
2036 |
+
$sap->add_setting(
|
2037 |
+
'rtb-settings',
|
2038 |
+
'rtb-stripe-payment',
|
2039 |
+
'text',
|
2040 |
+
array(
|
2041 |
+
'id' => 'rtb-stripe-live-secret',
|
2042 |
+
'title' => __( 'Stripe Live Secret', 'restaurant-reservations' ),
|
2043 |
+
'description' => __( 'The live secret that you have set up for your Stripe account.', 'restaurant-reservations' )
|
2044 |
+
)
|
2045 |
+
);
|
2046 |
+
$sap->add_setting(
|
2047 |
+
'rtb-settings',
|
2048 |
+
'rtb-stripe-payment',
|
2049 |
+
'text',
|
2050 |
+
array(
|
2051 |
+
'id' => 'rtb-stripe-live-publishable',
|
2052 |
+
'title' => __( 'Stripe Live Publishable', 'restaurant-reservations' ),
|
2053 |
+
'description' => __( 'The live publishable that you have set up for your Stripe account.', 'restaurant-reservations' )
|
2054 |
+
)
|
2055 |
+
);
|
2056 |
+
$sap->add_setting(
|
2057 |
+
'rtb-settings',
|
2058 |
+
'rtb-stripe-payment',
|
2059 |
+
'text',
|
2060 |
+
array(
|
2061 |
+
'id' => 'rtb-stripe-test-secret',
|
2062 |
+
'title' => __( 'Stripe Test Secret', 'restaurant-reservations' ),
|
2063 |
+
'description' => __( 'The test secret that you have set up for your Stripe account. Only needed for testing payments.', 'restaurant-reservations' )
|
2064 |
+
)
|
2065 |
+
);
|
2066 |
+
$sap->add_setting(
|
2067 |
+
'rtb-settings',
|
2068 |
+
'rtb-stripe-payment',
|
2069 |
+
'text',
|
2070 |
+
array(
|
2071 |
+
'id' => 'rtb-stripe-test-publishable',
|
2072 |
+
'title' => __( 'Stripe Test Publishable', 'restaurant-reservations' ),
|
2073 |
+
'description' => __( 'The test publishable that you have set up for your Stripe account. Only needed for testing payments.', 'restaurant-reservations' )
|
2074 |
+
)
|
2075 |
+
);
|
2076 |
+
|
2077 |
if ( ! $rtb_controller->permissions->check_permission('export') ) {
|
2078 |
$export_permissions = array(
|
2079 |
'disabled' => true,
|
2371 |
)
|
2372 |
);
|
2373 |
|
2374 |
+
$sap->add_setting(
|
2375 |
+
'rtb-settings',
|
2376 |
+
'rtb-reservation-form-styling',
|
2377 |
+
'colorpicker',
|
2378 |
+
array(
|
2379 |
+
'id' => 'rtb-styling-cancel-button-background-color',
|
2380 |
+
'title' => __( 'Cancel Reservation Button Background Color', 'restaurant-reservations' ),
|
2381 |
+
'description' => __( 'Choose the background color for the cancel reservation toggle button button.', 'restaurant-reservations' )
|
2382 |
+
)
|
2383 |
+
);
|
2384 |
+
$sap->add_setting(
|
2385 |
+
'rtb-settings',
|
2386 |
+
'rtb-reservation-form-styling',
|
2387 |
+
'colorpicker',
|
2388 |
+
array(
|
2389 |
+
'id' => 'rtb-styling-cancel-button-background-hover-color',
|
2390 |
+
'title' => __( 'Cancel Reservation Button Background Hover Color', 'restaurant-reservations' ),
|
2391 |
+
'description' => __( 'Choose the background color for the cancel reservation toggle button on hover.', 'restaurant-reservations' )
|
2392 |
+
)
|
2393 |
+
);
|
2394 |
+
$sap->add_setting(
|
2395 |
+
'rtb-settings',
|
2396 |
+
'rtb-reservation-form-styling',
|
2397 |
+
'colorpicker',
|
2398 |
+
array(
|
2399 |
+
'id' => 'rtb-styling-cancel-button-text-color',
|
2400 |
+
'title' => __( 'Cancel Reservation Text Color', 'restaurant-reservations' ),
|
2401 |
+
'description' => __( 'Choose the text color for the cancel reservation toggle button.', 'restaurant-reservations' )
|
2402 |
+
)
|
2403 |
+
);
|
2404 |
+
$sap->add_setting(
|
2405 |
+
'rtb-settings',
|
2406 |
+
'rtb-reservation-form-styling',
|
2407 |
+
'colorpicker',
|
2408 |
+
array(
|
2409 |
+
'id' => 'rtb-styling-cancel-button-text-hover-color',
|
2410 |
+
'title' => __( 'Cancel Reservation Text Hover Color', 'restaurant-reservations' ),
|
2411 |
+
'description' => __( 'Choose the text color for the cancel reservation toggle button on hover.', 'restaurant-reservations' )
|
2412 |
+
)
|
2413 |
+
);
|
2414 |
+
|
2415 |
+
$sap->add_setting(
|
2416 |
+
'rtb-settings',
|
2417 |
+
'rtb-reservation-form-styling',
|
2418 |
+
'colorpicker',
|
2419 |
+
array(
|
2420 |
+
'id' => 'rtb-styling-find-reservations-button-background-color',
|
2421 |
+
'title' => __( '"Find Reservations" Button Background Color', 'restaurant-reservations' ),
|
2422 |
+
'description' => __( 'Choose the background color for the "Find Reservations" button.', 'restaurant-reservations' )
|
2423 |
+
)
|
2424 |
+
);
|
2425 |
+
$sap->add_setting(
|
2426 |
+
'rtb-settings',
|
2427 |
+
'rtb-reservation-form-styling',
|
2428 |
+
'colorpicker',
|
2429 |
+
array(
|
2430 |
+
'id' => 'rtb-styling-find-reservations-button-background-hover-color',
|
2431 |
+
'title' => __( '"Find Reservations" Button Background Hover Color', 'restaurant-reservations' ),
|
2432 |
+
'description' => __( 'Choose the background color for the "Find Reservations" button on hover.', 'restaurant-reservations' )
|
2433 |
+
)
|
2434 |
+
);
|
2435 |
+
$sap->add_setting(
|
2436 |
+
'rtb-settings',
|
2437 |
+
'rtb-reservation-form-styling',
|
2438 |
+
'colorpicker',
|
2439 |
+
array(
|
2440 |
+
'id' => 'rtb-styling-find-reservations-button-text-color',
|
2441 |
+
'title' => __( '"Find Reservations" Button Text Color', 'restaurant-reservations' ),
|
2442 |
+
'description' => __( 'Choose the text color for the "Find Reservations" button.', 'restaurant-reservations' )
|
2443 |
+
)
|
2444 |
+
);
|
2445 |
+
$sap->add_setting(
|
2446 |
+
'rtb-settings',
|
2447 |
+
'rtb-reservation-form-styling',
|
2448 |
+
'colorpicker',
|
2449 |
+
array(
|
2450 |
+
'id' => 'rtb-styling-find-reservations-button-text-hover-color',
|
2451 |
+
'title' => __( '"Find Reservations" Button Text Hover Color', 'restaurant-reservations' ),
|
2452 |
+
'description' => __( 'Choose the text color for the "Find Reservations" button on hover.', 'restaurant-reservations' )
|
2453 |
+
)
|
2454 |
+
);
|
2455 |
+
|
2456 |
$sap = apply_filters( 'rtb_settings_page', $sap );
|
2457 |
|
2458 |
$sap->add_admin_menus();
|
2695 |
'{phone}' => __( 'Phone number if supplied with the request', 'restaurant-reservations' ),
|
2696 |
'{message}' => __( 'Message added to the request', 'restaurant-reservations' ),
|
2697 |
'{bookings_link}' => __( 'A link to the admin panel showing pending bookings', 'restaurant-reservations' ),
|
2698 |
+
'{cancel_link}' => __( 'A link that a guest can use to cancel their booking if cancellations are enabled', 'restaurant-reservations' ),
|
2699 |
'{confirm_link}' => __( 'A link to confirm this booking. Only include this in admin notifications', 'restaurant-reservations' ),
|
2700 |
'{close_link}' => __( 'A link to reject this booking. Only include this in admin notifications', 'restaurant-reservations' ),
|
2701 |
'{site_name}' => __( 'The name of this website', 'restaurant-reservations' ),
|
@@ -232,6 +232,7 @@ class rtbBookingsTable extends WP_List_Table {
|
|
232 |
$views = array(
|
233 |
'upcoming' => sprintf( '<a href="%s"%s>%s</a>', esc_url( add_query_arg( array( 'paged' => FALSE ), remove_query_arg( array( 'date_range' ), $date_range_query_string ) ) ), $date_range === '' ? ' class="current"' : '', __( 'Upcoming', 'restaurant-reservations' ) ),
|
234 |
'today' => sprintf( '<a href="%s"%s>%s</a>', esc_url( add_query_arg( array( 'date_range' => 'today', 'paged' => FALSE ), $date_range_query_string ) ), $date_range === 'today' ? ' class="current"' : '', __( 'Today', 'restaurant-reservations' ) ),
|
|
|
235 |
'all' => sprintf( '<a href="%s"%s>%s</a>', esc_url( add_query_arg( array( 'date_range' => 'all', 'paged' => FALSE ), $date_range_query_string ) ), $date_range == 'all' ? ' class="current"' : '', __( 'All', 'restaurant-reservations' ) ),
|
236 |
);
|
237 |
|
@@ -353,16 +354,25 @@ class rtbBookingsTable extends WP_List_Table {
|
|
353 |
* @since 1.5
|
354 |
*/
|
355 |
public function get_all_default_columns() {
|
356 |
-
|
|
|
|
|
357 |
'cb' => '<input type="checkbox" />', //Render a checkbox instead of text
|
358 |
'date' => __( 'Date', 'restaurant-reservations' ),
|
|
|
359 |
'party' => __( 'Party', 'restaurant-reservations' ),
|
360 |
'name' => __( 'Name', 'restaurant-reservations' ),
|
361 |
'email' => __( 'Email', 'restaurant-reservations' ),
|
362 |
'phone' => __( 'Phone', 'restaurant-reservations' ),
|
363 |
'status' => __( 'Status', 'restaurant-reservations' ),
|
364 |
-
'details' => __( 'Details', 'restaurant-reservations' ),
|
365 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
}
|
367 |
|
368 |
/**
|
@@ -385,8 +395,9 @@ class rtbBookingsTable extends WP_List_Table {
|
|
385 |
*/
|
386 |
public function get_sortable_columns() {
|
387 |
$columns = array(
|
|
|
388 |
'date' => array( 'date', true ),
|
389 |
-
'name' => array( 'title', true )
|
390 |
);
|
391 |
return apply_filters( 'rtb_bookings_table_sortable_columns', $columns );
|
392 |
}
|
@@ -396,6 +407,7 @@ class rtbBookingsTable extends WP_List_Table {
|
|
396 |
* @since 0.0.1
|
397 |
*/
|
398 |
public function column_default( $booking, $column_name ) {
|
|
|
399 |
|
400 |
switch ( $column_name ) {
|
401 |
case 'date' :
|
@@ -411,6 +423,10 @@ class rtbBookingsTable extends WP_List_Table {
|
|
411 |
|
412 |
break;
|
413 |
|
|
|
|
|
|
|
|
|
414 |
case 'party' :
|
415 |
$value = $booking->party;
|
416 |
break;
|
@@ -430,6 +446,11 @@ class rtbBookingsTable extends WP_List_Table {
|
|
430 |
$value = $booking->phone;
|
431 |
break;
|
432 |
|
|
|
|
|
|
|
|
|
|
|
433 |
case 'status' :
|
434 |
global $rtb_controller;
|
435 |
if ( !empty( $rtb_controller->cpts->booking_statuses[$booking->post_status] ) ) {
|
232 |
$views = array(
|
233 |
'upcoming' => sprintf( '<a href="%s"%s>%s</a>', esc_url( add_query_arg( array( 'paged' => FALSE ), remove_query_arg( array( 'date_range' ), $date_range_query_string ) ) ), $date_range === '' ? ' class="current"' : '', __( 'Upcoming', 'restaurant-reservations' ) ),
|
234 |
'today' => sprintf( '<a href="%s"%s>%s</a>', esc_url( add_query_arg( array( 'date_range' => 'today', 'paged' => FALSE ), $date_range_query_string ) ), $date_range === 'today' ? ' class="current"' : '', __( 'Today', 'restaurant-reservations' ) ),
|
235 |
+
'past' => sprintf( '<a href="%s"%s>%s</a>', esc_url( add_query_arg( array( 'date_range' => 'past', 'paged' => FALSE ), $date_range_query_string ) ), $date_range === 'past' ? ' class="current"' : '', __( 'Past', 'restaurant-reservations' ) ),
|
236 |
'all' => sprintf( '<a href="%s"%s>%s</a>', esc_url( add_query_arg( array( 'date_range' => 'all', 'paged' => FALSE ), $date_range_query_string ) ), $date_range == 'all' ? ' class="current"' : '', __( 'All', 'restaurant-reservations' ) ),
|
237 |
);
|
238 |
|
354 |
* @since 1.5
|
355 |
*/
|
356 |
public function get_all_default_columns() {
|
357 |
+
global $rtb_controller;
|
358 |
+
|
359 |
+
$columns = array(
|
360 |
'cb' => '<input type="checkbox" />', //Render a checkbox instead of text
|
361 |
'date' => __( 'Date', 'restaurant-reservations' ),
|
362 |
+
'id' => __( 'ID', 'restaurant-reservations' ),
|
363 |
'party' => __( 'Party', 'restaurant-reservations' ),
|
364 |
'name' => __( 'Name', 'restaurant-reservations' ),
|
365 |
'email' => __( 'Email', 'restaurant-reservations' ),
|
366 |
'phone' => __( 'Phone', 'restaurant-reservations' ),
|
367 |
'status' => __( 'Status', 'restaurant-reservations' ),
|
|
|
368 |
);
|
369 |
+
|
370 |
+
if ( $rtb_controller->settings->get_setting( 'require-deposit' ) ) { $columns['deposit'] = __( 'Deposit', 'restaurant-reservations' ) ; }
|
371 |
+
|
372 |
+
// This is so that deposit comes before details, is there a better way to do this?
|
373 |
+
$columns['details'] = __( 'Details', 'restaurant-reservations' );
|
374 |
+
|
375 |
+
return $columns;
|
376 |
}
|
377 |
|
378 |
/**
|
395 |
*/
|
396 |
public function get_sortable_columns() {
|
397 |
$columns = array(
|
398 |
+
'id' => array( 'ID', true ),
|
399 |
'date' => array( 'date', true ),
|
400 |
+
'name' => array( 'title', true )
|
401 |
);
|
402 |
return apply_filters( 'rtb_bookings_table_sortable_columns', $columns );
|
403 |
}
|
407 |
* @since 0.0.1
|
408 |
*/
|
409 |
public function column_default( $booking, $column_name ) {
|
410 |
+
global $rtb_controller;
|
411 |
|
412 |
switch ( $column_name ) {
|
413 |
case 'date' :
|
423 |
|
424 |
break;
|
425 |
|
426 |
+
case 'id' :
|
427 |
+
$value = $booking->ID;
|
428 |
+
break;
|
429 |
+
|
430 |
case 'party' :
|
431 |
$value = $booking->party;
|
432 |
break;
|
446 |
$value = $booking->phone;
|
447 |
break;
|
448 |
|
449 |
+
case 'deposit' :
|
450 |
+
$currency_symbol = $rtb_controller->settings->get_setting( 'rtb-stripe-currency-symbol' );
|
451 |
+
$value = ( $currency_symbol ? $currency_symbol : '$' ) . $booking->deposit;
|
452 |
+
break;
|
453 |
+
|
454 |
case 'status' :
|
455 |
global $rtb_controller;
|
456 |
if ( !empty( $rtb_controller->cpts->booking_statuses[$booking->post_status] ) ) {
|
@@ -40,6 +40,11 @@ function rtb_print_booking_form( $args = array() ) {
|
|
40 |
$rtb_controller->form_rendered = true;
|
41 |
}
|
42 |
|
|
|
|
|
|
|
|
|
|
|
43 |
// Sanitize incoming arguments
|
44 |
if ( isset( $args['location'] ) ) {
|
45 |
$args['location'] = $rtb_controller->locations->get_location_term_id( $args['location'] );
|
@@ -51,7 +56,7 @@ function rtb_print_booking_form( $args = array() ) {
|
|
51 |
rtb_enqueue_assets();
|
52 |
|
53 |
// Custom styling
|
54 |
-
rtb_add_custom_styling();
|
55 |
|
56 |
// Allow themes and plugins to override the booking form's HTML output.
|
57 |
$output = apply_filters( 'rtb_booking_form_html_pre', '' );
|
@@ -60,7 +65,7 @@ function rtb_print_booking_form( $args = array() ) {
|
|
60 |
}
|
61 |
|
62 |
// Process a booking request
|
63 |
-
if ( !empty( $_POST['action'] )
|
64 |
|
65 |
if ( get_class( $rtb_controller->request ) === 'stdClass' ) {
|
66 |
require_once( RTB_PLUGIN_DIR . '/includes/Booking.class.php' );
|
@@ -87,13 +92,69 @@ function rtb_print_booking_form( $args = array() ) {
|
|
87 |
var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
|
88 |
</script>
|
89 |
|
|
|
|
|
|
|
|
|
90 |
<div class="rtb-booking-form">
|
91 |
-
<?php if ( $rtb_controller->request->request_inserted === true ) : ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
<div class="rtb-message">
|
93 |
-
<p><?php
|
94 |
</div>
|
95 |
<?php else : ?>
|
96 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
<input type="hidden" name="action" value="booking_request">
|
98 |
|
99 |
<?php if ( !empty( $args['location'] ) ) : ?>
|
@@ -131,10 +192,15 @@ function rtb_print_booking_form( $args = array() ) {
|
|
131 |
|
132 |
<?php do_action( 'rtb_booking_form_after_fields' ); ?>
|
133 |
|
|
|
|
|
|
|
134 |
<?php
|
|
|
|
|
135 |
$button = sprintf(
|
136 |
'<button type="submit">%s</button>',
|
137 |
-
apply_filters( 'rtb_booking_form_submit_label',
|
138 |
);
|
139 |
|
140 |
echo apply_filters( 'rtb_booking_form_submit_button', $button );
|
@@ -155,6 +221,265 @@ function rtb_print_booking_form( $args = array() ) {
|
|
155 |
}
|
156 |
} // endif;
|
157 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
/**
|
159 |
* Create a shortcode to view and (optionally) sign in bookings
|
160 |
* @since 2.0.0
|
@@ -215,13 +540,16 @@ function rtb_print_view_bookings_form( $args = array() ) {
|
|
215 |
|
216 |
$params = array(
|
217 |
'post_type' => 'rtb-booking',
|
218 |
-
'
|
219 |
-
'
|
220 |
-
|
|
|
|
|
|
|
221 |
'post_status' => array_keys( $rtb_controller->cpts->booking_statuses ),
|
222 |
'orderby' => 'date',
|
223 |
'order' => 'ASC'
|
224 |
-
);
|
225 |
|
226 |
$query = new WP_Query( $params );
|
227 |
|
@@ -233,6 +561,8 @@ function rtb_print_view_bookings_form( $args = array() ) {
|
|
233 |
var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
|
234 |
</script>
|
235 |
|
|
|
|
|
236 |
<div class="rtb-view-bookings-form">
|
237 |
|
238 |
<div class='rtb-view-bookings-form-date-selector-div'>
|
@@ -245,9 +575,14 @@ function rtb_print_view_bookings_form( $args = array() ) {
|
|
245 |
</div>
|
246 |
|
247 |
<div class='rtb-view-bookings-form-confirmation-div rtb-hidden'>
|
248 |
-
|
249 |
-
|
250 |
-
|
|
|
|
|
|
|
|
|
|
|
251 |
</div>
|
252 |
<div class='rtb-view-bookings-form-confirmation-background-div rtb-hidden'></div>
|
253 |
|
@@ -307,7 +642,7 @@ function rtb_print_view_bookings_form( $args = array() ) {
|
|
307 |
if ( !function_exists( 'rtb_enqueue_assets' ) ) {
|
308 |
function rtb_enqueue_assets() {
|
309 |
|
310 |
-
global $
|
311 |
|
312 |
wp_enqueue_style( 'rtb-booking-form' );
|
313 |
|
@@ -323,17 +658,32 @@ function rtb_enqueue_assets() {
|
|
323 |
|
324 |
wp_enqueue_script( 'rtb-booking-form' );
|
325 |
|
326 |
-
if( $rtb_controller->settings->get_setting('
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
327 |
wp_enqueue_style( 'rtb-contemporary-css', RTB_PLUGIN_URL . '/assets/css/contemporary.css' );
|
328 |
-
wp_enqueue_script( 'rtb-contemporary-js', RTB_PLUGIN_URL . '/assets/js/contemporary.js', array( 'jquery' ), '', true );
|
329 |
}
|
330 |
-
if( $rtb_controller->settings->get_setting('rtb-styling-layout') == 'columns' ){
|
331 |
wp_enqueue_style( 'rtb-columns-css', RTB_PLUGIN_URL . '/assets/css/columns.css' );
|
332 |
wp_enqueue_script( 'rtb-columns-js', RTB_PLUGIN_URL . '/assets/js/columns.js', array( 'jquery' ), '', true );
|
333 |
}
|
334 |
|
335 |
// Pass date and time format settings to the pickadate controls
|
336 |
-
global $rtb_controller;
|
337 |
wp_localize_script(
|
338 |
'rtb-booking-form',
|
339 |
'rtb_pickadate',
|
@@ -732,25 +1082,34 @@ function rtb_get_request_input( $lookup, $request ) {
|
|
732 |
if ( !function_exists( 'rtb_add_custom_styling' ) ) {
|
733 |
function rtb_add_custom_styling() {
|
734 |
global $rtb_controller;
|
735 |
-
|
736 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-section-title-font-family') != '' ) {
|
737 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-section-title-font-size') != '' ) {
|
738 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-section-title-color') != '' ) {
|
739 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-section-background-color') != '' ) {
|
740 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-section-border-color') != '' ) {
|
741 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-section-border-size') != '' ) {
|
742 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-label-font-family') != '' ) {
|
743 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-label-font-size') != '' ) {
|
744 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-label-color') != '' ) {
|
745 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-add-message-button-background-color') != '' ) {
|
746 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-add-message-button-background-hover-color') != '' ) {
|
747 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-add-message-button-text-color') != '' ) {
|
748 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-add-message-button-text-hover-color') != '' ) {
|
749 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-request-booking-button-background-color') != '' ) {
|
750 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-request-booking-button-background-hover-color') != '' ) {
|
751 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-request-booking-button-text-color') != '' ) {
|
752 |
-
if ( $rtb_controller->settings->get_setting('rtb-styling-request-booking-button-text-hover-color') != '' ) {
|
753 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
754 |
}
|
755 |
}
|
756 |
|
40 |
$rtb_controller->form_rendered = true;
|
41 |
}
|
42 |
|
43 |
+
// Run cancellation request if parameters are included
|
44 |
+
if ( isset($_GET['action']) and $_GET['action'] == 'cancel' ) {
|
45 |
+
$rtb_controller->ajax->cancel_reservation( false );
|
46 |
+
}
|
47 |
+
|
48 |
// Sanitize incoming arguments
|
49 |
if ( isset( $args['location'] ) ) {
|
50 |
$args['location'] = $rtb_controller->locations->get_location_term_id( $args['location'] );
|
56 |
rtb_enqueue_assets();
|
57 |
|
58 |
// Custom styling
|
59 |
+
$styling = rtb_add_custom_styling();
|
60 |
|
61 |
// Allow themes and plugins to override the booking form's HTML output.
|
62 |
$output = apply_filters( 'rtb_booking_form_html_pre', '' );
|
65 |
}
|
66 |
|
67 |
// Process a booking request
|
68 |
+
if ( !empty( $_POST['action'] ) and $_POST['action'] == 'booking_request' ) {
|
69 |
|
70 |
if ( get_class( $rtb_controller->request ) === 'stdClass' ) {
|
71 |
require_once( RTB_PLUGIN_DIR . '/includes/Booking.class.php' );
|
92 |
var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
|
93 |
</script>
|
94 |
|
95 |
+
<?php echo $styling; ?>
|
96 |
+
|
97 |
+
<?php echo apply_filters( 'rtb_booking_form_before_html', '' ); ?>
|
98 |
+
|
99 |
<div class="rtb-booking-form">
|
100 |
+
<?php if ( ( $rtb_controller->request->request_inserted === true and ! $rtb_controller->settings->get_setting( 'require-deposit' ) ) or ( isset($_GET['payment']) and $_GET['payment'] == 'paid' ) ) : ?>
|
101 |
+
|
102 |
+
<?php
|
103 |
+
if($rtb_controller->request->post_status == 'confirmed'){
|
104 |
+
if( $rtb_controller->settings->get_setting('confirmed-redirect-page') != '' ){
|
105 |
+
header( 'location:' . $rtb_controller->settings->get_setting('confirmed-redirect-page') );
|
106 |
+
}
|
107 |
+
else{
|
108 |
+
?>
|
109 |
+
<div class="rtb-message">
|
110 |
+
<p><?php echo $rtb_controller->settings->get_setting('confirmed-message'); ?></p>
|
111 |
+
</div>
|
112 |
+
<?php
|
113 |
+
}
|
114 |
+
}
|
115 |
+
else{
|
116 |
+
if( $rtb_controller->settings->get_setting('pending-redirect-page') != '' ){
|
117 |
+
header( 'location:' . $rtb_controller->settings->get_setting('pending-redirect-page') );
|
118 |
+
}
|
119 |
+
else{
|
120 |
+
?>
|
121 |
+
<div class="rtb-message">
|
122 |
+
<p><?php echo $rtb_controller->settings->get_setting('success-message'); ?></p>
|
123 |
+
</div>
|
124 |
+
<?php
|
125 |
+
}
|
126 |
+
}
|
127 |
+
?>
|
128 |
+
|
129 |
+
<?php elseif ( $rtb_controller->request->request_inserted === true ) : ?>
|
130 |
+
<?php rtb_print_payment_form(); ?>
|
131 |
+
<?php elseif ( isset($_POST['stripeToken']) ) : ?>
|
132 |
+
<?php rtb_process_stripe_payment(); ?>
|
133 |
+
<?php elseif ( isset($_GET['payment']) ) : ?>
|
134 |
+
<div class="rtb-message">
|
135 |
+
<p><?php _e( 'Your reservation deposit payment has failed. Please contact the site administrator for assistance.', 'restaurant-reservations' ) ?></p>
|
136 |
+
</div>
|
137 |
+
<?php elseif ( isset($_GET['bookingCancelled']) and $_GET['bookingCancelled'] == 'success') : ?>
|
138 |
<div class="rtb-message">
|
139 |
+
<p><?php _e( 'Your reservation has been successfully cancelled.', 'restaurant-reservations' ) ?></p>
|
140 |
</div>
|
141 |
<?php else : ?>
|
142 |
+
|
143 |
+
<?php if ( $rtb_controller->settings->get_setting( 'allow-cancellations' ) ) : ?>
|
144 |
+
<div class="rtb-cancellation-toggle"><?php _e( 'Want to cancel your reservation?', 'restaurant-reservations' ); ?></div>
|
145 |
+
<div class="rtb-clear"></div>
|
146 |
+
<form class="rtb-cancellation-form rtb-hidden">
|
147 |
+
<div><?php _e( 'Use the form below to cancel your reservation', 'restaurant-reservations' ); ?></div>
|
148 |
+
<label for="rtb-cancellation-email"><?php _e( 'Email:', 'restaurant-reservations' ); ?></label>
|
149 |
+
<input type="email" name="rtb_cancellation_email" />
|
150 |
+
<div class="rtb-clear"></div>
|
151 |
+
<div class="rtb-cancel-button"><?php _e( 'Find Reservations', 'restaurant-reservations' ); ?></div>
|
152 |
+
<div class="rtb-clear"></div>
|
153 |
+
<div class="rtb-bookings-results"></div>
|
154 |
+
</form>
|
155 |
+
<?php endif; ?>
|
156 |
+
|
157 |
+
<form method="POST" action="<?php echo esc_attr( $booking_page ); ?>" class="rtb-booking-form-form">
|
158 |
<input type="hidden" name="action" value="booking_request">
|
159 |
|
160 |
<?php if ( !empty( $args['location'] ) ) : ?>
|
192 |
|
193 |
<?php do_action( 'rtb_booking_form_after_fields' ); ?>
|
194 |
|
195 |
+
<div id='rtb_recaptcha'></div>
|
196 |
+
<?php echo rtb_print_form_error( 'recaptcha' ); ?>
|
197 |
+
|
198 |
<?php
|
199 |
+
$button_text = $rtb_controller->settings->get_setting( 'require-deposit' ) ? __( 'Proceed to Deposit', 'restaurant-reservations' ) : __( 'Request Booking', 'restaurant-reservations' );
|
200 |
+
|
201 |
$button = sprintf(
|
202 |
'<button type="submit">%s</button>',
|
203 |
+
apply_filters( 'rtb_booking_form_submit_label', $button_text )
|
204 |
);
|
205 |
|
206 |
echo apply_filters( 'rtb_booking_form_submit_button', $button );
|
221 |
}
|
222 |
} // endif;
|
223 |
|
224 |
+
/**
|
225 |
+
* Print the payment form's HTML code, after a new booking has been inserted
|
226 |
+
* notices.
|
227 |
+
* @since 2.1.0
|
228 |
+
*/
|
229 |
+
if ( !function_exists( 'rtb_print_payment_form' ) ) {
|
230 |
+
function rtb_print_payment_form( $args = array() ) {
|
231 |
+
global $rtb_controller;
|
232 |
+
|
233 |
+
// Define the form's action parameter
|
234 |
+
$booking_page = $rtb_controller->settings->get_setting( 'booking-page' );
|
235 |
+
if ( !empty( $booking_page ) ) {
|
236 |
+
$booking_page = get_permalink( $booking_page );
|
237 |
+
}
|
238 |
+
|
239 |
+
if ( $rtb_controller->settings->get_setting( 'rtb-payment-gateway' ) == "paypal" ) { ?>
|
240 |
+
<form action='https://www.paypal.com/cgi-bin/webscr' method='post' class='standard-form'>
|
241 |
+
<input type='hidden' name='item_name_1' value='<?php echo substr(get_bloginfo('name'), 0, 100); ?> Reservation Deposit' />
|
242 |
+
<input type='hidden' name='custom' value='booking_id=<?php echo $rtb_controller->request->ID; ?>' />
|
243 |
+
<input type='hidden' name='quantity_1' value='1' />
|
244 |
+
<input type='hidden' name='amount_1' value='<?php echo $rtb_controller->request->calculate_deposit(); ?>' />
|
245 |
+
<input type='hidden' name='cmd' value='_cart' />
|
246 |
+
<input type='hidden' name='upload' value='1' />
|
247 |
+
<input type='hidden' name='business' value='<?php echo $rtb_controller->settings->get_setting( 'rtb-paypal-email' ); ?>' />
|
248 |
+
<input type='hidden' name='currency_code' value='<?php echo $rtb_controller->settings->get_setting( 'rtb-currency' ); ?>' />
|
249 |
+
<input type='hidden' name='return' value='<?php $booking_page; ?>' />
|
250 |
+
<input type='hidden' name='notify_url' value='<?php echo get_site_url(); ?>' />
|
251 |
+
<input type='submit' class='submit-button' value='Pay via PayPal' />
|
252 |
+
</form>
|
253 |
+
<?php } else {
|
254 |
+
wp_enqueue_script( 'rtb-stripe', RTB_PLUGIN_URL . '/assets/js/stripe.js', array( 'jquery' ), RTB_VERSION, true );
|
255 |
+
wp_enqueue_script( 'rtb-stripe-payment', RTB_PLUGIN_URL . '/assets/js/stripe-payment.js', array( 'jquery', 'rtb-stripe' ), RTB_VERSION, true );
|
256 |
+
|
257 |
+
wp_localize_script(
|
258 |
+
'rtb-stripe-payment',
|
259 |
+
'rtb_stripe_payment',
|
260 |
+
array(
|
261 |
+
'stripe_mode' => $rtb_controller->settings->get_setting( 'rtb-stripe-mode' ),
|
262 |
+
'live_publishable_key' => $rtb_controller->settings->get_setting( 'rtb-stripe-live-publishable' ),
|
263 |
+
'test_publishable_key' => $rtb_controller->settings->get_setting( 'rtb-stripe-test-publishable' ),
|
264 |
+
)
|
265 |
+
);
|
266 |
+
|
267 |
+
$payment_amount = $rtb_controller->settings->get_setting( 'rtb-currency-symbol-location' ) == 'before' ? $rtb_controller->settings->get_setting( 'rtb-stripe-currency-symbol' ) . $rtb_controller->request->calculate_deposit() : $rtb_controller->request->calculate_deposit() . $rtb_controller->settings->get_setting( 'rtb-stripe-currency-symbol' );
|
268 |
+
?>
|
269 |
+
|
270 |
+
<h2><?php echo __('Deposit Required: ', 'restaurant-reservations' ) . $payment_amount; ?></h2>
|
271 |
+
|
272 |
+
<form action='#' method='POST' id='stripe-payment-form'>
|
273 |
+
<div class='form-row'>
|
274 |
+
<label><?php _e('Card Number', 'restaurant-reservations'); ?></label>
|
275 |
+
<input type='text' size='20' autocomplete='off' data-stripe='card_number'/>
|
276 |
+
</div>
|
277 |
+
<div class='form-row'>
|
278 |
+
<label><?php _e('CVC', 'restaurant-reservations'); ?></label>
|
279 |
+
<input type='text' size='4' autocomplete='off' data-stripe='card_cvc'/>
|
280 |
+
</div>
|
281 |
+
<div class='form-row'>
|
282 |
+
<label><?php _e('Expiration (MM/YYYY)', 'restaurant-reservations'); ?></label>
|
283 |
+
<input type='text' size='2' data-stripe='exp_month'/>
|
284 |
+
<span> / </span>
|
285 |
+
<input type='text' size='4' data-stripe='exp_year'/>
|
286 |
+
</div>
|
287 |
+
<input type='hidden' name='action' value='rtb_stripe_booking_payment'/>
|
288 |
+
<input type='hidden' name='currency' value='<?php echo $rtb_controller->settings->get_setting( 'rtb-currency' ); ?>' data-stripe='currency' />
|
289 |
+
<input type='hidden' name='payment_amount' value='<?php echo $rtb_controller->request->calculate_deposit(); ?>' />
|
290 |
+
<input type='hidden' name='booking_id' value='<?php echo $rtb_controller->request->ID; ?>' />
|
291 |
+
<button type='submit' id='stripe-submit'><?php _e( 'Make Deposit', 'restaurant-reservations'); ?></button>
|
292 |
+
</form>
|
293 |
+
<?php }
|
294 |
+
}
|
295 |
+
} // endif;
|
296 |
+
|
297 |
+
/**
|
298 |
+
* Process Stripe payments for reservation deposits
|
299 |
+
* @since 2.1.0
|
300 |
+
*/
|
301 |
+
if ( !function_exists( 'rtb_display_bookings_form_shortcode' ) ) {
|
302 |
+
function rtb_process_stripe_payment() {
|
303 |
+
global $rtb_controller;
|
304 |
+
|
305 |
+
$booking_id = isset($_POST['booking_id']) ? absint( $_POST['booking_id'] ) : 0;
|
306 |
+
|
307 |
+
if ( ! $booking_id ) { return; }
|
308 |
+
|
309 |
+
// Define the form's action parameter
|
310 |
+
$booking_page = $rtb_controller->settings->get_setting( 'booking-page' );
|
311 |
+
if ( !empty( $booking_page ) ) {
|
312 |
+
$booking_page = get_permalink( $booking_page );
|
313 |
+
}
|
314 |
+
else { $booking_page = get_permalink(); }
|
315 |
+
|
316 |
+
|
317 |
+
// load the stripe libraries
|
318 |
+
require_once(RTB_PLUGIN_DIR . '/lib/stripe/init.php');
|
319 |
+
|
320 |
+
// retrieve the token generated by stripe.js
|
321 |
+
$token = $_POST['stripeToken'];
|
322 |
+
|
323 |
+
$payment_amount = ( $rtb_controller->settings->get_setting( 'rtb-currency' ) != "JPY" ? $_POST['payment_amount'] * 100 : $_POST['payment_amount'] );
|
324 |
+
|
325 |
+
$stripe_secret = $rtb_controller->settings->get_setting( 'rtb-stripe-mode' ) == 'test' ? $rtb_controller->settings->get_setting( 'rtb-stripe-test-secret' ) : $rtb_controller->settings->get_setting( 'rtb-stripe-live-secret' );
|
326 |
+
|
327 |
+
try {
|
328 |
+
\Stripe\Stripe::setApiKey( $stripe_secret );
|
329 |
+
$charge = \Stripe\Charge::create(array(
|
330 |
+
'amount' => $payment_amount,
|
331 |
+
'currency' => strtolower( $rtb_controller->settings->get_setting( 'rtb-currency' ) ),
|
332 |
+
'card' => $token
|
333 |
+
)
|
334 |
+
);
|
335 |
+
|
336 |
+
require_once( RTB_PLUGIN_DIR . '/includes/Booking.class.php' );
|
337 |
+
$booking = new rtbBooking();
|
338 |
+
$booking->load_post( $booking_id );
|
339 |
+
|
340 |
+
$booking->deposit = ( $rtb_controller->settings->get_setting( 'rtb-currency' ) != "JPY" ? $payment_amount / 100 : $payment_amount );
|
341 |
+
$booking->receipt_id = $charge->id;
|
342 |
+
|
343 |
+
$booking->determine_status( true );
|
344 |
+
|
345 |
+
$booking->insert_post_data();
|
346 |
+
|
347 |
+
// redirect on successful payment
|
348 |
+
$redirect = add_query_arg('payment', 'paid', $booking_page);
|
349 |
+
|
350 |
+
} catch (Exception $e) { update_option( "rtb-payment-error", print_r($e, true) );
|
351 |
+
// redirect on failed payment
|
352 |
+
$redirect = add_query_arg('payment', 'failed', $booking_page);
|
353 |
+
}
|
354 |
+
|
355 |
+
// redirect back to our previous page with the added query variable
|
356 |
+
wp_redirect($redirect); exit;
|
357 |
+
}
|
358 |
+
} // endif;
|
359 |
+
|
360 |
+
|
361 |
+
// If there's an IPN request, add our setup function to potentially handle it
|
362 |
+
if ( isset($_POST['ipn_track_id']) ) { add_action( 'init', 'rtb_setup_paypal_ipn', 1); }
|
363 |
+
|
364 |
+
/**
|
365 |
+
* Sets up the PayPal IPN process
|
366 |
+
* @since 2.1.0
|
367 |
+
*/
|
368 |
+
if ( !function_exists( 'rtb_handle_paypal_ipn' ) ) {
|
369 |
+
function rtb_setup_paypal_ipn() {
|
370 |
+
global $rtb_controller;
|
371 |
+
|
372 |
+
if ( ! $rtb_controller->settings->get_setting( 'require-deposit' ) ) { return; }
|
373 |
+
|
374 |
+
rtb_handle_paypal_ipn();
|
375 |
+
add_action('init', 'rtb_add_ob_start');
|
376 |
+
add_action('shutdown', 'rtb_flush_ob_end');
|
377 |
+
}
|
378 |
+
} // endif;
|
379 |
+
|
380 |
+
/**
|
381 |
+
* Handle PayPal IPN requests
|
382 |
+
* @since 2.1.0
|
383 |
+
*/
|
384 |
+
if ( !function_exists( 'rtb_handle_paypal_ipn' ) ) {
|
385 |
+
function rtb_handle_paypal_ipn() {
|
386 |
+
|
387 |
+
// CONFIG: Enable debug mode. This means we'll log requests into 'ipn.log' in the same directory.
|
388 |
+
// Especially useful if you encounter network errors or other intermittent problems with IPN (validation).
|
389 |
+
// Set this to 0 once you go live or don't require logging.
|
390 |
+
define("DEBUG", 0);
|
391 |
+
// Set to 0 once you're ready to go live
|
392 |
+
define("USE_SANDBOX", 0);
|
393 |
+
define("LOG_FILE", "./ipn.log");
|
394 |
+
// Read POST data
|
395 |
+
// reading posted data directly from $_POST causes serialization
|
396 |
+
// issues with array data in POST. Reading raw POST data from input stream instead.
|
397 |
+
$raw_post_data = file_get_contents('php://input');
|
398 |
+
$raw_post_array = explode('&', $raw_post_data);
|
399 |
+
$myPost = array();
|
400 |
+
foreach ($raw_post_array as $keyval) {
|
401 |
+
$keyval = explode ('=', $keyval);
|
402 |
+
if (count($keyval) == 2)
|
403 |
+
$myPost[$keyval[0]] = urldecode($keyval[1]);
|
404 |
+
}
|
405 |
+
// read the post from PayPal system and add 'cmd'
|
406 |
+
$req = 'cmd=_notify-validate';
|
407 |
+
if(function_exists('get_magic_quotes_gpc')) {
|
408 |
+
$get_magic_quotes_exists = true;
|
409 |
+
}
|
410 |
+
foreach ($myPost as $key => $value) {
|
411 |
+
if($get_magic_quotes_exists == true && get_magic_quotes_gpc() == 1) {
|
412 |
+
$value = urlencode(stripslashes($value));
|
413 |
+
} else {
|
414 |
+
$value = urlencode($value);
|
415 |
+
}
|
416 |
+
$req .= "&$key=$value";
|
417 |
+
}
|
418 |
+
// Post IPN data back to PayPal to validate the IPN data is genuine
|
419 |
+
// Without this step anyone can fake IPN data
|
420 |
+
if(USE_SANDBOX == true) {
|
421 |
+
$paypal_url = "https://www.sandbox.paypal.com/cgi-bin/webscr";
|
422 |
+
} else {
|
423 |
+
$paypal_url = "https://www.paypal.com/cgi-bin/webscr";
|
424 |
+
}
|
425 |
+
|
426 |
+
$response = wp_remote_post($paypal_url, array(
|
427 |
+
'method' => 'POST',
|
428 |
+
'body' => $req,
|
429 |
+
'timeout' => 30
|
430 |
+
));
|
431 |
+
|
432 |
+
// Inspect IPN validation result and act accordingly
|
433 |
+
// Split response headers and payload, a better way for strcmp
|
434 |
+
$tokens = explode("\r\n\r\n", trim($response['body']));
|
435 |
+
$res = trim(end($tokens));
|
436 |
+
if (strcmp ($res, "VERIFIED") == 0) {
|
437 |
+
|
438 |
+
$paypal_receipt_number = $_POST['txn_id'];
|
439 |
+
$payment_amount = $_POST['mc_gross'];
|
440 |
+
|
441 |
+
parse_str($_POST['custom'], $custom_vars);
|
442 |
+
$booking_id = $custom_vars['booking_id'];
|
443 |
+
|
444 |
+
require_once( RTB_PLUGIN_DIR . '/includes/Booking.class.php' );
|
445 |
+
|
446 |
+
$booking = new rtbBooking();
|
447 |
+
$booking->load_post( $booking_id );
|
448 |
+
|
449 |
+
$booking->deposit = $payment_amount;
|
450 |
+
$booking->receipt_id = $paypal_receipt_number;
|
451 |
+
|
452 |
+
$booking->determine_status( true );
|
453 |
+
|
454 |
+
$booking->insert_post_data();
|
455 |
+
|
456 |
+
if ( DEBUG == true ) {
|
457 |
+
error_log(date('[Y-m-d H:i e] '). "Verified IPN: $req ". PHP_EOL, 3, LOG_FILE);
|
458 |
+
}
|
459 |
+
}
|
460 |
+
}
|
461 |
+
} // endif;
|
462 |
+
|
463 |
+
/**
|
464 |
+
* Opens a buffer when handling PayPal IPN requests
|
465 |
+
* @since 2.1.0
|
466 |
+
*/
|
467 |
+
if ( !function_exists( 'rtb_add_ob_start' ) ) {
|
468 |
+
function rtb_add_ob_start() { update_option( "EWD_Debugging2", "Second init function called" );
|
469 |
+
ob_start();
|
470 |
+
}
|
471 |
+
} // endif;
|
472 |
+
|
473 |
+
/**
|
474 |
+
* Closes a buffer when handling PayPal IPN requests
|
475 |
+
* @since 2.1.0
|
476 |
+
*/
|
477 |
+
if ( !function_exists( 'rtb_flush_ob_end' ) ) {
|
478 |
+
function rtb_flush_ob_end() {
|
479 |
+
ob_end_clean();
|
480 |
+
}
|
481 |
+
} // endif;
|
482 |
+
|
483 |
/**
|
484 |
* Create a shortcode to view and (optionally) sign in bookings
|
485 |
* @since 2.0.0
|
540 |
|
541 |
$params = array(
|
542 |
'post_type' => 'rtb-booking',
|
543 |
+
'posts_per_page' => -1,
|
544 |
+
'date_query' => array(
|
545 |
+
'year' => substr($args['date'], 0, 4),
|
546 |
+
'month' => substr($args['date'], 5, 2),
|
547 |
+
'day' => substr($args['date'], 8, 2)
|
548 |
+
),
|
549 |
'post_status' => array_keys( $rtb_controller->cpts->booking_statuses ),
|
550 |
'orderby' => 'date',
|
551 |
'order' => 'ASC'
|
552 |
+
);
|
553 |
|
554 |
$query = new WP_Query( $params );
|
555 |
|
561 |
var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
|
562 |
</script>
|
563 |
|
564 |
+
<?php echo apply_filters( 'rtb_display_bookings_form_before_html', '' ); ?>
|
565 |
+
|
566 |
<div class="rtb-view-bookings-form">
|
567 |
|
568 |
<div class='rtb-view-bookings-form-date-selector-div'>
|
575 |
</div>
|
576 |
|
577 |
<div class='rtb-view-bookings-form-confirmation-div rtb-hidden'>
|
578 |
+
<div class='rtb-view-bookings-form-confirmation-div-inside'>
|
579 |
+
<div id="rtb-view-bookings-form-close">x</div>
|
580 |
+
<div class='rtb-view-bookings-form-confirmation-div-title'>
|
581 |
+
<?php _e("Set reservation status to 'Arrived'?", 'restaurant-reservations'); ?>
|
582 |
+
</div>
|
583 |
+
<div class='rtb-view-bookings-form-confirmation-accept'><?php _e("Yes", 'restaurant-reservations'); ?></div>
|
584 |
+
<div class='rtb-view-bookings-form-confirmation-decline'><?php _e("No", 'restaurant-reservations'); ?></div>
|
585 |
+
</div>
|
586 |
</div>
|
587 |
<div class='rtb-view-bookings-form-confirmation-background-div rtb-hidden'></div>
|
588 |
|
642 |
if ( !function_exists( 'rtb_enqueue_assets' ) ) {
|
643 |
function rtb_enqueue_assets() {
|
644 |
|
645 |
+
global $rtb_controller;
|
646 |
|
647 |
wp_enqueue_style( 'rtb-booking-form' );
|
648 |
|
658 |
|
659 |
wp_enqueue_script( 'rtb-booking-form' );
|
660 |
|
661 |
+
if ( $rtb_controller->settings->get_setting( 'enable-captcha' ) ) {
|
662 |
+
$site_key = $rtb_controller->settings->get_setting( 'captcha-site-key' );
|
663 |
+
|
664 |
+
wp_enqueue_script( 'rtb-google-recaptcha', 'https://www.google.com/recaptcha/api.js?hl=' . get_locale() . '&render=explicit&onload=rtbLoadRecaptcha' );
|
665 |
+
wp_enqueue_script( 'rtb-process-recaptcha', RTB_PLUGIN_URL . '/assets/js/rtb-recaptcha.js', array( 'rtb-google-recaptcha' ) );
|
666 |
+
|
667 |
+
wp_localize_script( 'rtb-process-recaptcha', 'rtb_recaptcha', array( 'site_key' => $site_key ) );
|
668 |
+
}
|
669 |
+
|
670 |
+
if ( function_exists('get_current_screen') ) {
|
671 |
+
$screen = get_current_screen();
|
672 |
+
$screenID = $screen->id;
|
673 |
+
}
|
674 |
+
else {
|
675 |
+
$screenID = '';
|
676 |
+
}
|
677 |
+
|
678 |
+
if( $rtb_controller->settings->get_setting( 'rtb-styling-layout' ) == 'contemporary' && $screenID != 'toplevel_page_rtb-bookings' ){
|
679 |
wp_enqueue_style( 'rtb-contemporary-css', RTB_PLUGIN_URL . '/assets/css/contemporary.css' );
|
|
|
680 |
}
|
681 |
+
if( $rtb_controller->settings->get_setting( 'rtb-styling-layout' ) == 'columns' && $screenID != 'toplevel_page_rtb-bookings' ){
|
682 |
wp_enqueue_style( 'rtb-columns-css', RTB_PLUGIN_URL . '/assets/css/columns.css' );
|
683 |
wp_enqueue_script( 'rtb-columns-js', RTB_PLUGIN_URL . '/assets/js/columns.js', array( 'jquery' ), '', true );
|
684 |
}
|
685 |
|
686 |
// Pass date and time format settings to the pickadate controls
|
|
|
687 |
wp_localize_script(
|
688 |
'rtb-booking-form',
|
689 |
'rtb_pickadate',
|
1082 |
if ( !function_exists( 'rtb_add_custom_styling' ) ) {
|
1083 |
function rtb_add_custom_styling() {
|
1084 |
global $rtb_controller;
|
1085 |
+
$styling = '<style>';
|
1086 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-section-title-font-family') != '' ) { $styling .= '.rtb-booking-form fieldset legend { font-family: \'' . $rtb_controller->settings->get_setting('rtb-styling-section-title-font-family') . '\' !important; }'; }
|
1087 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-section-title-font-size') != '' ) { $styling .= '.rtb-booking-form fieldset legend { font-size: ' . $rtb_controller->settings->get_setting('rtb-styling-section-title-font-size') . ' !important; }'; }
|
1088 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-section-title-color') != '' ) { $styling .= '.rtb-booking-form fieldset legend { color: ' . $rtb_controller->settings->get_setting('rtb-styling-section-title-color') . ' !important; }'; }
|
1089 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-section-background-color') != '' ) { $styling .= '.rtb-booking-form fieldset { background-color: ' . $rtb_controller->settings->get_setting('rtb-styling-section-background-color') . ' !important; }'; }
|
1090 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-section-border-color') != '' ) { $styling .= '.rtb-booking-form fieldset { border-color: ' . $rtb_controller->settings->get_setting('rtb-styling-section-border-color') . ' !important; }'; }
|
1091 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-section-border-size') != '' ) { $styling .= '.rtb-booking-form fieldset { border-width: ' . $rtb_controller->settings->get_setting('rtb-styling-section-border-size') . ' !important; }'; }
|
1092 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-label-font-family') != '' ) { $styling .= '.rtb-booking-form fieldset label, .rtb-booking-form .add-message a { font-family: \'' . $rtb_controller->settings->get_setting('rtb-styling-label-font-family') . '\' !important; }'; }
|
1093 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-label-font-size') != '' ) { $styling .= '.rtb-booking-form fieldset label { font-size: ' . $rtb_controller->settings->get_setting('rtb-styling-label-font-size') . ' !important; }'; }
|
1094 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-label-color') != '' ) { $styling .= '.rtb-booking-form fieldset label { color: ' . $rtb_controller->settings->get_setting('rtb-styling-label-color') . ' !important; }'; }
|
1095 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-add-message-button-background-color') != '' ) { $styling .= '.rtb-booking-form .add-message a { background-color: ' . $rtb_controller->settings->get_setting('rtb-styling-add-message-button-background-color') . ' !important; border-color: ' . $rtb_controller->settings->get_setting('rtb-styling-add-message-button-background-color') . ' !important; padding: 6px 12px !important; }'; }
|
1096 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-add-message-button-background-hover-color') != '' ) { $styling .= '.rtb-booking-form .add-message a:hover { background-color: ' . $rtb_controller->settings->get_setting('rtb-styling-add-message-button-background-hover-color') . ' !important; border-color: ' . $rtb_controller->settings->get_setting('rtb-styling-add-message-button-background-hover-color') . ' !important; }'; }
|
1097 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-add-message-button-text-color') != '' ) { $styling .= '.rtb-booking-form .add-message a { color: ' . $rtb_controller->settings->get_setting('rtb-styling-add-message-button-text-color') . ' !important; }'; }
|
1098 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-add-message-button-text-hover-color') != '' ) { $styling .= '.rtb-booking-form .add-message a:hover { color: ' . $rtb_controller->settings->get_setting('rtb-styling-add-message-button-text-hover-color') . ' !important; }'; }
|
1099 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-request-booking-button-background-color') != '' ) { $styling .= '.rtb-booking-form form button { background-color: ' . $rtb_controller->settings->get_setting('rtb-styling-request-booking-button-background-color') . ' !important; border-color: ' . $rtb_controller->settings->get_setting('rtb-styling-request-booking-button-background-color') . ' !important; padding: 13px 28px !important; }'; }
|
1100 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-request-booking-button-background-hover-color') != '' ) { $styling .= '.rtb-booking-form form button:hover { background-color: ' . $rtb_controller->settings->get_setting('rtb-styling-request-booking-button-background-hover-color') . ' !important; border-color: ' . $rtb_controller->settings->get_setting('rtb-styling-request-booking-button-background-hover-color') . ' !important; }'; }
|
1101 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-request-booking-button-text-color') != '' ) { $styling .= '.rtb-booking-form form button { color: ' . $rtb_controller->settings->get_setting('rtb-styling-request-booking-button-text-color') . ' !important; }'; }
|
1102 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-request-booking-button-text-hover-color') != '' ) { $styling .= '.rtb-booking-form form button:hover { color: ' . $rtb_controller->settings->get_setting('rtb-styling-request-booking-button-text-hover-color') . ' !important; }'; }
|
1103 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-cancel-button-background-color') != '' ) { $styling .= '.rtb-cancellation-toggle { background-color: ' . $rtb_controller->settings->get_setting('rtb-styling-cancel-button-background-color') . ' !important; }'; }
|
1104 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-cancel-button-background-hover-color') != '' ) { $styling .= '.rtb-cancellation-toggle:hover { background-color: ' . $rtb_controller->settings->get_setting('rtb-styling-cancel-button-background-hover-color') . ' !important; }'; }
|
1105 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-cancel-button-text-color') != '' ) { $styling .= '.rtb-cancellation-toggle { color: ' . $rtb_controller->settings->get_setting('rtb-styling-cancel-button-text-color') . ' !important; }'; }
|
1106 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-cancel-button-text-hover-color') != '' ) { $styling .= '.rtb-cancellation-toggle:hover { color: ' . $rtb_controller->settings->get_setting('rtb-styling-cancel-button-text-hover-color') . ' !important; }'; }
|
1107 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-find-reservations-button-background-color') != '' ) { $styling .= '.rtb-cancel-button { background-color: ' . $rtb_controller->settings->get_setting('rtb-styling-find-reservations-button-background-color') . ' !important; }'; }
|
1108 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-find-reservations-button-background-hover-color') != '' ) { $styling .= '.rtb-cancel-button:hover { background-color: ' . $rtb_controller->settings->get_setting('rtb-styling-find-reservations-button-background-hover-color') . ' !important; }'; }
|
1109 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-find-reservations-button-text-color') != '' ) { $styling .= '.rtb-cancel-button { color: ' . $rtb_controller->settings->get_setting('rtb-styling-find-reservations-button-text-color') . ' !important; }'; }
|
1110 |
+
if ( $rtb_controller->settings->get_setting('rtb-styling-find-reservations-button-text-hover-color') != '' ) { $styling .= '.rtb-cancel-button:hover { color: ' . $rtb_controller->settings->get_setting('rtb-styling-find-reservations-button-text-hover-color') . ' !important; }'; }
|
1111 |
+
$styling .= '</style>';
|
1112 |
+
return $styling;
|
1113 |
}
|
1114 |
}
|
1115 |
|
@@ -129,20 +129,17 @@ class sapAdminPageSection_2_2_0 {
|
|
129 |
endif;
|
130 |
|
131 |
if ( $this->disabled and isset($this->disabled_image) ) {
|
132 |
-
|
133 |
-
?>
|
134 |
-
|
135 |
<?php echo ( isset($this->purchase_link ) ? "<div class='rtb-premium-options-table-overlay'>" : '' ); ?>
|
136 |
<div class="section-disabled">
|
137 |
<img src="<?php echo RTB_PLUGIN_URL; ?>/assets/img/options-asset-lock.png" alt="Upgrade to Five-Star Restaurant Reservations Premium">
|
138 |
-
<p>Access this section by
|
139 |
-
<a href="https://www.fivestarplugins.com/plugins/five-star-restaurant-reservations
|
140 |
</div>
|
141 |
<?php echo ( isset($this->purchase_link ) ? "</div>" : '' ); ?>
|
142 |
-
|
143 |
-
<?php
|
144 |
-
|
145 |
}
|
|
|
146 |
}
|
147 |
|
148 |
/**
|
129 |
endif;
|
130 |
|
131 |
if ( $this->disabled and isset($this->disabled_image) ) {
|
132 |
+
?>
|
|
|
|
|
133 |
<?php echo ( isset($this->purchase_link ) ? "<div class='rtb-premium-options-table-overlay'>" : '' ); ?>
|
134 |
<div class="section-disabled">
|
135 |
<img src="<?php echo RTB_PLUGIN_URL; ?>/assets/img/options-asset-lock.png" alt="Upgrade to Five-Star Restaurant Reservations Premium">
|
136 |
+
<p>Access this section by upgrading to <?php echo ( isset($this->ultimate_needed) ? 'ultimate' : 'premium' ); ?></p>
|
137 |
+
<a href="https://www.fivestarplugins.com/plugins/five-star-restaurant-reservations/<?php echo ( isset($this->ultimate_needed) ? '#plugin-sales-ultimate-section' : '' ); ?>" class="rtb-dashboard-get-premium-widget-button" target="_blank">UPGRADE NOW</a>
|
138 |
</div>
|
139 |
<?php echo ( isset($this->purchase_link ) ? "</div>" : '' ); ?>
|
140 |
+
<?php
|
|
|
|
|
141 |
}
|
142 |
+
|
143 |
}
|
144 |
|
145 |
/**
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
service_name: travis-ci
|
2 |
+
src_dir: .
|
3 |
+
coverage_clover: clover.xml
|
4 |
+
json_path: coveralls-upload.json
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Mac OS X dumps these all over the place.
|
2 |
+
.DS_Store
|
3 |
+
|
4 |
+
# Ignore the SimpleTest library if it is installed to /test/.
|
5 |
+
/test/simpletest/
|
6 |
+
|
7 |
+
# Ignore the /vendor/ directory for people using composer
|
8 |
+
/vendor/
|
9 |
+
|
10 |
+
# If the vendor directory isn't being commited the composer.lock file should also be ignored
|
11 |
+
composer.lock
|
12 |
+
|
13 |
+
# Ignore PHPUnit coverage file
|
14 |
+
clover.xml
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
language: php
|
2 |
+
|
3 |
+
php:
|
4 |
+
- 5.3
|
5 |
+
- 5.4
|
6 |
+
- 5.5
|
7 |
+
- 5.6
|
8 |
+
- 7.0
|
9 |
+
- hhvm
|
10 |
+
|
11 |
+
env:
|
12 |
+
- AUTOLOAD=1
|
13 |
+
- AUTOLOAD=0
|
14 |
+
|
15 |
+
script: ./build.php ${AUTOLOAD}
|
16 |
+
after_script: ./vendor/bin/coveralls -v
|
17 |
+
sudo: false
|
@@ -0,0 +1,364 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
### 3.20.0 2016-08-08
|
2 |
+
|
3 |
+
* Add `getDeclineCode` to card errors
|
4 |
+
|
5 |
+
### 3.19.0 2016-07-29
|
6 |
+
|
7 |
+
* Opt requests directly into TLS 1.2 where OpenSSL >= 1.0.1 (see #277 for context)
|
8 |
+
|
9 |
+
### 3.18.0 2016-07-28
|
10 |
+
|
11 |
+
* Add new `STATUS_` constants for subscriptions
|
12 |
+
|
13 |
+
### 3.17.1 2016-07-28
|
14 |
+
|
15 |
+
* Fix auto-paging iterator so that it plays nicely with `iterator_to_array`
|
16 |
+
|
17 |
+
### 3.17.0 2016-07-14
|
18 |
+
|
19 |
+
* Add field annotations to model classes for better editor hinting
|
20 |
+
|
21 |
+
### 3.16.0 2016-07-12
|
22 |
+
|
23 |
+
* Add `ThreeDSecure` model for 3-D secure payments
|
24 |
+
|
25 |
+
### 3.15.0 2016-06-29
|
26 |
+
|
27 |
+
* Add static `update` method to all resources that can be changed.
|
28 |
+
|
29 |
+
### 3.14.3 2016-06-20
|
30 |
+
|
31 |
+
* Make sure that cURL never sends `Expects: 100-continue`, even on large request bodies
|
32 |
+
|
33 |
+
### 3.14.2 2016-06-03
|
34 |
+
|
35 |
+
* Add `inventory` under `SKU` to list of keys that have nested data and can be updated
|
36 |
+
|
37 |
+
### 3.14.1 2016-05-27
|
38 |
+
|
39 |
+
* Fix some inconsistencies in PHPDoc
|
40 |
+
|
41 |
+
### 3.14.0 2016-05-25
|
42 |
+
|
43 |
+
* Add support for returning Relay orders
|
44 |
+
|
45 |
+
### 3.13.0 2016-05-04
|
46 |
+
|
47 |
+
* Add `list`, `create`, `update`, `retrieve`, and `delete` methods to the Subscription class
|
48 |
+
|
49 |
+
### 3.12.1 2016-04-07
|
50 |
+
|
51 |
+
* Additional check on value arrays for some extra safety
|
52 |
+
|
53 |
+
### 3.12.0 2016-03-31
|
54 |
+
|
55 |
+
* Fix bug `refreshFrom` on `StripeObject` would not take an `$opts` array
|
56 |
+
* Fix bug where `$opts` not passed to parent `save` method in `Account`
|
57 |
+
* Fix bug where non-existent variable was referenced in `reverse` in `Transfer`
|
58 |
+
* Update CA cert bundle for compatibility with OpenSSL versions below 1.0.1
|
59 |
+
|
60 |
+
### 3.11.0 2016-03-22
|
61 |
+
|
62 |
+
* Allow `CurlClient` to be initialized with default `CURLOPT_*` options
|
63 |
+
|
64 |
+
### 3.10.1 2016-03-22
|
65 |
+
|
66 |
+
* Fix bug where request params and options were ignored in `ApplicationFee`'s `refund.`
|
67 |
+
|
68 |
+
### 3.10.0 2016-03-15
|
69 |
+
|
70 |
+
* Add `reject` on `Account` to support the new API feature
|
71 |
+
|
72 |
+
### 3.9.2 2016-03-04
|
73 |
+
|
74 |
+
* Fix error when an object's metadata is set more than once
|
75 |
+
|
76 |
+
### 3.9.1 2016-02-24
|
77 |
+
|
78 |
+
* Fix encoding behavior of nested arrays for requests (see #227)
|
79 |
+
|
80 |
+
### 3.9.0 2016-02-09
|
81 |
+
|
82 |
+
* Add automatic pagination mechanism with `autoPagingIterator()`
|
83 |
+
* Allow global account ID to be set with `Stripe::setAccountId()`
|
84 |
+
|
85 |
+
### 3.8.0 2016-02-08
|
86 |
+
|
87 |
+
* Add `CountrySpec` model for looking up country payment information
|
88 |
+
|
89 |
+
### 3.7.1 2016-02-01
|
90 |
+
|
91 |
+
* Update bundled CA certs
|
92 |
+
|
93 |
+
### 3.7.0 2016-01-27
|
94 |
+
|
95 |
+
* Support deleting Relay products and SKUs
|
96 |
+
|
97 |
+
### 3.6.0 2016-01-05
|
98 |
+
|
99 |
+
* Allow configuration of HTTP client timeouts
|
100 |
+
|
101 |
+
### 3.5.0 2015-12-01
|
102 |
+
|
103 |
+
* Add a verification routine for external accounts
|
104 |
+
|
105 |
+
### 3.4.0 2015-09-14
|
106 |
+
|
107 |
+
* Products, SKUs, and Orders -- https://stripe.com/relay
|
108 |
+
|
109 |
+
### 3.3.0 2015-09-11
|
110 |
+
|
111 |
+
* Add support for 429 Rate Limit response
|
112 |
+
|
113 |
+
### 3.2.0 2015-08-17
|
114 |
+
|
115 |
+
* Add refund listing and retrieval without an associated charge
|
116 |
+
|
117 |
+
### 3.1.0 2015-08-03
|
118 |
+
|
119 |
+
* Add dispute listing and retrieval
|
120 |
+
* Add support for manage account deletion
|
121 |
+
|
122 |
+
### 3.0.0 2015-07-28
|
123 |
+
|
124 |
+
* Rename `\Stripe\Object` to `\Stripe\StripeObject` (PHP 7 compatibility)
|
125 |
+
* Rename `getCode` and `getParam` in exceptions to `getStripeCode` and `getStripeParam`
|
126 |
+
* Add support for calling `json_encode` on Stripe objects in PHP 5.4+
|
127 |
+
* Start supporting/testing PHP 7
|
128 |
+
|
129 |
+
### 2.3.0 2015-07-06
|
130 |
+
|
131 |
+
* Add request ID to all Stripe exceptions
|
132 |
+
|
133 |
+
### 2.2.0 2015-06-01
|
134 |
+
|
135 |
+
* Add support for Alipay accounts as sources
|
136 |
+
* Add support for bank accounts as sources (private beta)
|
137 |
+
* Add support for bank accounts and cards as external_accounts on Account objects
|
138 |
+
|
139 |
+
### 2.1.4 2015-05-13
|
140 |
+
|
141 |
+
* Fix CA certificate file path (thanks @lphilps & @matthewarkin)
|
142 |
+
|
143 |
+
### 2.1.3 2015-05-12
|
144 |
+
|
145 |
+
* Fix to account updating to permit `tos_acceptance` and `personal_address` to be set properly
|
146 |
+
* Fix to Transfer reversal creation (thanks @neatness!)
|
147 |
+
* Network requests are now done through a swappable class for easier mocking
|
148 |
+
|
149 |
+
### 2.1.2 2015-04-10
|
150 |
+
|
151 |
+
* Remove SSL cert revokation checking (all pre-Heartbleed certs have expired)
|
152 |
+
* Bug fixes to account updating
|
153 |
+
|
154 |
+
### 2.1.1 2015-02-27
|
155 |
+
* Support transfer reversals
|
156 |
+
|
157 |
+
### 2.1.0 2015-02-19
|
158 |
+
|
159 |
+
* Support new API version (2015-02-18)
|
160 |
+
* Added Bitcoin Receiever update and delete actions
|
161 |
+
* Edited tests to prefer "source" over "card" as per new API version
|
162 |
+
|
163 |
+
### 2.0.1 2015-02-16
|
164 |
+
|
165 |
+
* Fix to fetching endpoints that use a non-default baseUrl (`FileUpload`)
|
166 |
+
|
167 |
+
### 2.0.0 2015-02-14
|
168 |
+
|
169 |
+
* Bumped minimum version to 5.3.3
|
170 |
+
* Switched to Stripe namespace instead of Stripe_ class name prefiexes (thanks @chadicus!)
|
171 |
+
* Switched tests to PHPUnit (thanks @chadicus!)
|
172 |
+
* Switched style guide to PSR2 (thanks @chadicus!)
|
173 |
+
* Added $opts hash to the end of most methods: this permits passing 'idempotency_key', 'stripe_account', or 'stripe_version'. The last 2 will persist across multiple object loads.
|
174 |
+
* Added support for retrieving Account by ID
|
175 |
+
|
176 |
+
### 1.18.0 2015-01-21
|
177 |
+
|
178 |
+
* Support making bitcoin charges through BitcoinReceiver source object
|
179 |
+
|
180 |
+
### 1.17.5 2014-12-23
|
181 |
+
|
182 |
+
* Adding support for creating file uploads.
|
183 |
+
|
184 |
+
### 1.17.4 2014-12-15
|
185 |
+
|
186 |
+
* Saving objects fetched with a custom key now works (thanks @JustinHook & @jpasilan)
|
187 |
+
* Added methods for reporting charges as safe or fraudulent and for specifying the reason for refunds
|
188 |
+
|
189 |
+
### 1.17.3 2014-11-06
|
190 |
+
|
191 |
+
* Better handling of HHVM support for SSL certificate blacklist checking.
|
192 |
+
|
193 |
+
### 1.17.2 2014-09-23
|
194 |
+
|
195 |
+
* Coupons now are backed by a `Stripe_Coupon` instead of `Stripe_Object`, and support updating metadata
|
196 |
+
* Running operations (`create`, `retrieve`, `all`) on upcoming invoice items now works
|
197 |
+
|
198 |
+
### 1.17.1 2014-07-31
|
199 |
+
|
200 |
+
* Requests now send Content-Type header
|
201 |
+
|
202 |
+
### 1.17.0 2014-07-29
|
203 |
+
|
204 |
+
* Application Fee refunds now a list instead of array
|
205 |
+
* HHVM now works
|
206 |
+
* Small bug fixes (thanks @bencromwell & @fastest963)
|
207 |
+
* __toString now returns the name of the object in addition to its JSON representation
|
208 |
+
|
209 |
+
### 1.16.0 2014-06-17
|
210 |
+
|
211 |
+
* Add metadata for refunds and disputes
|
212 |
+
|
213 |
+
### 1.15.0 2014-05-28
|
214 |
+
|
215 |
+
* Support canceling transfers
|
216 |
+
|
217 |
+
### 1.14.1 2014-05-21
|
218 |
+
|
219 |
+
* Support cards for recipients.
|
220 |
+
|
221 |
+
### 1.13.1 2014-05-15
|
222 |
+
|
223 |
+
* Fix bug in account resource where `id` wasn't in the result
|
224 |
+
|
225 |
+
### 1.13.0 2014-04-10
|
226 |
+
|
227 |
+
* Add support for certificate blacklisting
|
228 |
+
* Update ca bundle
|
229 |
+
* Drop support for HHVM (Temporarily)
|
230 |
+
|
231 |
+
### 1.12.0 2014-04-01
|
232 |
+
|
233 |
+
* Add Stripe_RateLimitError for catching rate limit errors.
|
234 |
+
* Update to Zend coding style (thanks, @jpiasetz)
|
235 |
+
|
236 |
+
### 1.11.0 2014-01-29
|
237 |
+
|
238 |
+
* Add support for multiple subscriptions per customer
|
239 |
+
|
240 |
+
### 1.10.1 2013-12-02
|
241 |
+
|
242 |
+
* Add new ApplicationFee
|
243 |
+
|
244 |
+
### 1.9.1 2013-11-08
|
245 |
+
|
246 |
+
* Fix a bug where a null nestable object causes warnings to fire.
|
247 |
+
|
248 |
+
### 1.9.0 2013-10-16
|
249 |
+
|
250 |
+
* Add support for metadata API.
|
251 |
+
|
252 |
+
### 1.8.4 2013-09-18
|
253 |
+
|
254 |
+
* Add support for closing disputes.
|
255 |
+
|
256 |
+
### 1.8.3 2013-08-13
|
257 |
+
|
258 |
+
* Add new Balance and BalanceTransaction
|
259 |
+
|
260 |
+
### 1.8.2 2013-08-12
|
261 |
+
|
262 |
+
* Add support for unsetting attributes by updating to NULL.
|
263 |
+
Setting properties to a blank string is now an error.
|
264 |
+
|
265 |
+
### 1.8.1 2013-07-12
|
266 |
+
|
267 |
+
* Add support for multiple cards API (Stripe API version 2013-07-12: https://stripe.com/docs/upgrades#2013-07-05)
|
268 |
+
|
269 |
+
### 1.8.0 2013-04-11
|
270 |
+
|
271 |
+
* Allow Transfers to be creatable
|
272 |
+
* Add new Recipient resource
|
273 |
+
|
274 |
+
### 1.7.15 2013-02-21
|
275 |
+
|
276 |
+
* Add 'id' to the list of permanent object attributes
|
277 |
+
|
278 |
+
### 1.7.14 2013-02-20
|
279 |
+
|
280 |
+
* Don't re-encode strings that are already encoded in UTF-8. If you
|
281 |
+
were previously using plan or coupon objects with UTF-8 IDs, they
|
282 |
+
may have been treated as ISO-8859-1 (Latin-1) and encoded to UTF-8 a
|
283 |
+
2nd time. You may now need to pass the IDs to utf8_encode before
|
284 |
+
passing them to Stripe_Plan::retrieve or Stripe_Coupon::retrieve.
|
285 |
+
* Ensure that all input is encoded in UTF-8 before submitting it to
|
286 |
+
Stripe's servers. (github issue #27)
|
287 |
+
|
288 |
+
### 1.7.13 2013-02-01
|
289 |
+
|
290 |
+
* Add support for passing options when retrieving Stripe objects
|
291 |
+
e.g., Stripe_Charge::retrieve(array("id"=>"foo", "expand" => array("customer")))
|
292 |
+
Stripe_Charge::retrieve("foo") will continue to work
|
293 |
+
|
294 |
+
### 1.7.12 2013-01-15
|
295 |
+
|
296 |
+
* Add support for setting a Stripe API version override
|
297 |
+
|
298 |
+
### 1.7.11 2012-12-30
|
299 |
+
|
300 |
+
* Version bump to cleanup constants and such (github issue #26)
|
301 |
+
|
302 |
+
### 1.7.10 2012-11-08
|
303 |
+
|
304 |
+
* Add support for updating charge disputes.
|
305 |
+
* Fix bug preventing retrieval of null attributes
|
306 |
+
|
307 |
+
### 1.7.9 2012-11-08
|
308 |
+
|
309 |
+
* Fix usage under autoloaders such as the one generated by composer
|
310 |
+
(github issue #22)
|
311 |
+
|
312 |
+
### 1.7.8 2012-10-30
|
313 |
+
* Add support for creating invoices.
|
314 |
+
* Add support for new invoice lines return format
|
315 |
+
* Add support for new list objects
|
316 |
+
|
317 |
+
### 1.7.7 2012-09-14
|
318 |
+
|
319 |
+
* Get all of the various version numbers in the repo in sync (no other
|
320 |
+
changes)
|
321 |
+
|
322 |
+
### 1.7.6 2012-08-31
|
323 |
+
|
324 |
+
* Add update and pay methods to Invoice resource
|
325 |
+
|
326 |
+
### 1.7.5 2012-08-23
|
327 |
+
|
328 |
+
* Change internal function names so that Stripe_SingletonApiRequest is
|
329 |
+
E_STRICT-clean (github issue #16)
|
330 |
+
|
331 |
+
### 1.7.4 2012-08-21
|
332 |
+
|
333 |
+
* Bugfix so that Stripe objects (e.g. Customer, Charge objects) used
|
334 |
+
in API calls are transparently converted to their object IDs
|
335 |
+
|
336 |
+
### 1.7.3 2012-08-15
|
337 |
+
|
338 |
+
* Add new Account resource
|
339 |
+
|
340 |
+
### 1.7.2 2012-06-26
|
341 |
+
|
342 |
+
* Make clearer that you should be including lib/Stripe.php, not
|
343 |
+
test/Stripe.php (github issue #14)
|
344 |
+
|
345 |
+
### 1.7.1 2012-05-24
|
346 |
+
|
347 |
+
* Add missing argument to Stripe_InvalidRequestError constructor in
|
348 |
+
Stripe_ApiResource::instanceUrl. Fixes a warning when
|
349 |
+
Stripe_ApiResource::instanceUrl is called on a resource with no ID
|
350 |
+
(github issue #12)
|
351 |
+
|
352 |
+
### 1.7.0 2012-05-17
|
353 |
+
|
354 |
+
* Support Composer and Packagist (github issue #9)
|
355 |
+
|
356 |
+
* Add new deleteDiscount method to Stripe_Customer
|
357 |
+
|
358 |
+
* Add new Transfer resource
|
359 |
+
|
360 |
+
* Switch from using HTTP Basic auth to Bearer auth. (Note: Stripe will
|
361 |
+
support Basic auth for the indefinite future, but recommends Bearer
|
362 |
+
auth when possible going forward)
|
363 |
+
|
364 |
+
* Numerous test suite improvements
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
The MIT License
|
2 |
+
|
3 |
+
Copyright (c) 2010-2015 Stripe
|
4 |
+
|
5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6 |
+
of this software and associated documentation files (the "Software"), to deal
|
7 |
+
in the Software without restriction, including without limitation the rights
|
8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9 |
+
copies of the Software, and to permit persons to whom the Software is
|
10 |
+
furnished to do so, subject to the following conditions:
|
11 |
+
|
12 |
+
The above copyright notice and this permission notice shall be included in
|
13 |
+
all copies or substantial portions of the Software.
|
14 |
+
|
15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21 |
+
THE SOFTWARE.
|
@@ -0,0 +1,129 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Stripe PHP bindings
|
2 |
+
|
3 |
+
[![Build Status](https://travis-ci.org/stripe/stripe-php.svg?branch=master)](https://travis-ci.org/stripe/stripe-php)
|
4 |
+
[![Latest Stable Version](https://poser.pugx.org/stripe/stripe-php/v/stable.svg)](https://packagist.org/packages/stripe/stripe-php)
|
5 |
+
[![Total Downloads](https://poser.pugx.org/stripe/stripe-php/downloads.svg)](https://packagist.org/packages/stripe/stripe-php)
|
6 |
+
[![License](https://poser.pugx.org/stripe/stripe-php/license.svg)](https://packagist.org/packages/stripe/stripe-php)
|
7 |
+
[![Code Coverage](https://coveralls.io/repos/stripe/stripe-php/badge.svg?branch=master)](https://coveralls.io/r/stripe/stripe-php?branch=master)
|
8 |
+
|
9 |
+
You can sign up for a Stripe account at https://stripe.com.
|
10 |
+
|
11 |
+
## Requirements
|
12 |
+
|
13 |
+
PHP 5.3.3 and later.
|
14 |
+
|
15 |
+
## Composer
|
16 |
+
|
17 |
+
You can install the bindings via [Composer](http://getcomposer.org/). Run the following command:
|
18 |
+
|
19 |
+
```bash
|
20 |
+
composer require stripe/stripe-php
|
21 |
+
```
|
22 |
+
|
23 |
+
To use the bindings, use Composer's [autoload](https://getcomposer.org/doc/00-intro.md#autoloading):
|
24 |
+
|
25 |
+
```php
|
26 |
+
require_once('vendor/autoload.php');
|
27 |
+
```
|
28 |
+
|
29 |
+
## Manual Installation
|
30 |
+
|
31 |
+
If you do not wish to use Composer, you can download the [latest release](https://github.com/stripe/stripe-php/releases). Then, to use the bindings, include the `init.php` file.
|
32 |
+
|
33 |
+
```php
|
34 |
+
require_once('/path/to/stripe-php/init.php');
|
35 |
+
```
|
36 |
+
|
37 |
+
## Dependencies
|
38 |
+
|
39 |
+
The bindings require the following extension in order to work properly:
|
40 |
+
|
41 |
+
- [`curl`](https://secure.php.net/manual/en/book.curl.php), although you can use your own non-cURL client if you prefer
|
42 |
+
- [`json`](https://secure.php.net/manual/en/book.json.php)
|
43 |
+
- [`mbstring`](https://secure.php.net/manual/en/book.mbstring.php) (Multibyte String)
|
44 |
+
|
45 |
+
If you use Composer, these dependencies should be handled automatically. If you install manually, you'll want to make sure that these extensions are available.
|
46 |
+
|
47 |
+
## Getting Started
|
48 |
+
|
49 |
+
Simple usage looks like:
|
50 |
+
|
51 |
+
```php
|
52 |
+
\Stripe\Stripe::setApiKey('d8e8fca2dc0f896fd7cb4cb0031ba249');
|
53 |
+
$myCard = array('number' => '4242424242424242', 'exp_month' => 8, 'exp_year' => 2018);
|
54 |
+
$charge = \Stripe\Charge::create(array('card' => $myCard, 'amount' => 2000, 'currency' => 'usd'));
|
55 |
+
echo $charge;
|
56 |
+
```
|
57 |
+
|
58 |
+
## Documentation
|
59 |
+
|
60 |
+
Please see https://stripe.com/docs/api for up-to-date documentation.
|
61 |
+
|
62 |
+
## Legacy Version Support
|
63 |
+
|
64 |
+
If you are using PHP 5.2, you can download v1.18.0 ([zip](https://github.com/stripe/stripe-php/archive/v1.18.0.zip), [tar.gz](https://github.com/stripe/stripe-php/archive/v1.18.0.tar.gz)) from our [releases page](https://github.com/stripe/stripe-php/releases). This version will continue to work with new versions of the Stripe API for all common uses.
|
65 |
+
|
66 |
+
This legacy version may be included via `require_once("/path/to/stripe-php/lib/Stripe.php");`, and used like:
|
67 |
+
|
68 |
+
```php
|
69 |
+
Stripe::setApiKey('d8e8fca2dc0f896fd7cb4cb0031ba249');
|
70 |
+
$myCard = array('number' => '4242424242424242', 'exp_month' => 8, 'exp_year' => 2018);
|
71 |
+
$charge = Stripe_Charge::create(array('card' => $myCard, 'amount' => 2000, 'currency' => 'usd'));
|
72 |
+
echo $charge;
|
73 |
+
```
|
74 |
+
|
75 |
+
## Custom Request Timeouts
|
76 |
+
|
77 |
+
*NOTE:* We do not recommend decreasing the timeout for non-read-only calls (e.g. charge creation), since even if you locally timeout, the request on Stripe's side can still complete. If you are decreasing timeouts on these calls, make sure to use [idempotency tokens](https://stripe.com/docs/api/php#idempotent_requests) to avoid executing the same transaction twice as a result of timeout retry logic.
|
78 |
+
|
79 |
+
To modify request timeouts (connect or total, in seconds) you'll need to tell the API client to use a CurlClient other than its default. You'll set the timeouts in that CurlClient.
|
80 |
+
|
81 |
+
```php
|
82 |
+
// set up your tweaked Curl client
|
83 |
+
$curl = new \Stripe\HttpClient\CurlClient();
|
84 |
+
$curl->setTimeout(10); // default is \Stripe\HttpClient\CurlClient::DEFAULT_TIMEOUT
|
85 |
+
$curl->setConnectTimeout(5); // default is \Stripe\HttpClient\CurlClient::DEFAULT_CONNECT_TIMEOUT
|
86 |
+
|
87 |
+
echo $curl->getTimeout(); // 10
|
88 |
+
echo $curl->getConnectTimeout(); // 5
|
89 |
+
|
90 |
+
// tell Stripe to use the tweaked client
|
91 |
+
\Stripe\ApiRequestor::setHttpClient($curl);
|
92 |
+
|
93 |
+
// use the Stripe API client as you normally would
|
94 |
+
```
|
95 |
+
|
96 |
+
## Custom cURL Options (e.g. proxies)
|
97 |
+
|
98 |
+
Need to set a proxy for your requests? Pass in the requisite `CURLOPT_*` array to the CurlClient constructor, using the same syntax as `curl_stopt_array()`. This will set the default cURL options for each HTTP request made by the SDK, though many more common options (e.g. timeouts; see above on how to set those) will be overridden by the client even if set here.
|
99 |
+
|
100 |
+
```php
|
101 |
+
// set up your tweaked Curl client
|
102 |
+
$curl = new \Stripe\HttpClient\CurlClient(array(CURLOPT_PROXY => 'proxy.local:80'));
|
103 |
+
// tell Stripe to use the tweaked client
|
104 |
+
\Stripe\ApiRequestor::setHttpClient($curl);
|
105 |
+
```
|
106 |
+
|
107 |
+
Alternately, a callable can be passed to the CurlClient constructor that returns the above array based on request inputs. See `testDefaultOptions()` in `tests/CurlClientTest.php` for an example of this behavior. Note that the callable is called at the beginning of every API request, before the request is sent.
|
108 |
+
|
109 |
+
## Development
|
110 |
+
|
111 |
+
Install dependencies:
|
112 |
+
|
113 |
+
``` bash
|
114 |
+
composer install
|
115 |
+
```
|
116 |
+
|
117 |
+
## Tests
|
118 |
+
|
119 |
+
Install dependencies as mentioned above (which will resolve [PHPUnit](http://packagist.org/packages/phpunit/phpunit)), then you can run the test suite:
|
120 |
+
|
121 |
+
```bash
|
122 |
+
./vendor/bin/phpunit
|
123 |
+
```
|
124 |
+
|
125 |
+
Or to run an individual test file:
|
126 |
+
|
127 |
+
```bash
|
128 |
+
./vendor/bin/phpunit tests/UtilTest.php
|
129 |
+
```
|
@@ -0,0 +1 @@
|
|
|
1 |
+
3.20.0
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/usr/bin/env php
|
2 |
+
<?php
|
3 |
+
chdir(dirname(__FILE__));
|
4 |
+
|
5 |
+
$autoload = (int)$argv[1];
|
6 |
+
$returnStatus = null;
|
7 |
+
|
8 |
+
if (!$autoload) {
|
9 |
+
// Modify composer to not autoload Stripe
|
10 |
+
$composer = json_decode(file_get_contents('composer.json'), true);
|
11 |
+
unset($composer['autoload']);
|
12 |
+
unset($composer['require-dev']['squizlabs/php_codesniffer']);
|
13 |
+
file_put_contents('composer.json', json_encode($composer));
|
14 |
+
}
|
15 |
+
|
16 |
+
passthru('composer install', $returnStatus);
|
17 |
+
if ($returnStatus !== 0) {
|
18 |
+
exit(1);
|
19 |
+
}
|
20 |
+
|
21 |
+
if ($autoload) {
|
22 |
+
// Only run CS on 1 of the 2 environments
|
23 |
+
passthru(
|
24 |
+
'./vendor/bin/phpcs --standard=PSR2 -n lib tests *.php',
|
25 |
+
$returnStatus
|
26 |
+
);
|
27 |
+
if ($returnStatus !== 0) {
|
28 |
+
exit(1);
|
29 |
+
}
|
30 |
+
}
|
31 |
+
|
32 |
+
$config = $autoload ? 'phpunit.xml' : 'phpunit.no_autoload.xml';
|
33 |
+
passthru("./vendor/bin/phpunit -c $config", $returnStatus);
|
34 |
+
if ($returnStatus !== 0) {
|
35 |
+
exit(1);
|
36 |
+
}
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "stripe/stripe-php",
|
3 |
+
"description": "Stripe PHP Library",
|
4 |
+
"keywords": [
|
5 |
+
"stripe",
|
6 |
+
"payment processing",
|
7 |
+
"api"
|
8 |
+
],
|
9 |
+
"homepage": "https://stripe.com/",
|
10 |
+
"license": "MIT",
|
11 |
+
"authors": [
|
12 |
+
{
|
13 |
+
"name": "Stripe and contributors",
|
14 |
+
"homepage": "https://github.com/stripe/stripe-php/contributors"
|
15 |
+
}
|
16 |
+
],
|
17 |
+
"require": {
|
18 |
+
"php": ">=5.3.3",
|
19 |
+
"ext-curl": "*",
|
20 |
+
"ext-json": "*",
|
21 |
+
"ext-mbstring": "*"
|
22 |
+
},
|
23 |
+
"require-dev": {
|
24 |
+
"phpunit/phpunit": "~4.0",
|
25 |
+
"satooshi/php-coveralls": "~0.6.1",
|
26 |
+
"squizlabs/php_codesniffer": "~2.0"
|
27 |
+
},
|
28 |
+
"autoload": {
|
29 |
+
"psr-4": { "Stripe\\" : "lib/" }
|
30 |
+
},
|
31 |
+
"extra": {
|
32 |
+
"branch-alias": {
|
33 |
+
"dev-master": "2.0-dev"
|
34 |
+
}
|
35 |
+
}
|
36 |
+
}
|
@@ -0,0 +1,3919 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
##
|
2 |
+
## Bundle of CA Root Certificates
|
3 |
+
##
|
4 |
+
## Certificate data from Mozilla as of: Fri Jan 22 20:39:57 2016
|
5 |
+
##
|
6 |
+
## This is a bundle of X.509 certificates of public Certificate Authorities
|
7 |
+
## (CA). These were automatically extracted from Mozilla's root certificates
|
8 |
+
## file (certdata.txt). This file can be found in the mozilla source tree:
|
9 |
+
## http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
|
10 |
+
##
|
11 |
+
## It contains the certificates in PEM format and therefore
|
12 |
+
## can be directly used with curl / libcurl / php_curl, or with
|
13 |
+
## an Apache+mod_ssl webserver for SSL client authentication.
|
14 |
+
## Just configure this file as the SSLCACertificateFile.
|
15 |
+
##
|
16 |
+
## Conversion done with mk-ca-bundle.pl version 1.25.
|
17 |
+
## SHA1: 0ab47e2f41518f8d223eab517cb799e5b071231e
|
18 |
+
##
|
19 |
+
|
20 |
+
|
21 |
+
GlobalSign Root CA
|
22 |
+
==================
|
23 |
+
-----BEGIN CERTIFICATE-----
|
24 |
+
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
|
25 |
+
GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
|
26 |
+
b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
|
27 |
+
BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
|
28 |
+
VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
|
29 |
+
DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
|
30 |
+
THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
|
31 |
+
Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
|
32 |
+
c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
|
33 |
+
gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
|
34 |
+
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
|
35 |
+
AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
|
36 |
+
Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
|
37 |
+
j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
|
38 |
+
hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
|
39 |
+
X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
|
40 |
+
-----END CERTIFICATE-----
|
41 |
+
|
42 |
+
GlobalSign Root CA - R2
|
43 |
+
=======================
|
44 |
+
-----BEGIN CERTIFICATE-----
|
45 |
+
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
|
46 |
+
YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
|
47 |
+
bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
|
48 |
+
aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
|
49 |
+
bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6
|
50 |
+
ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp
|
51 |
+
s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN
|
52 |
+
S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL
|
53 |
+
TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C
|
54 |
+
ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
|
55 |
+
FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i
|
56 |
+
YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN
|
57 |
+
BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
|
58 |
+
9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu
|
59 |
+
01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7
|
60 |
+
9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
|
61 |
+
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
|
62 |
+
-----END CERTIFICATE-----
|
63 |
+
|
64 |
+
Verisign Class 3 Public Primary Certification Authority - G3
|
65 |
+
============================================================
|
66 |
+
-----BEGIN CERTIFICATE-----
|
67 |
+
MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
|
68 |
+
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
|
69 |
+
cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
|
70 |
+
IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
|
71 |
+
dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
|
72 |
+
CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
|
73 |
+
dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
|
74 |
+
cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg
|
75 |
+
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
76 |
+
ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1
|
77 |
+
EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc
|
78 |
+
cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw
|
79 |
+
EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj
|
80 |
+
055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
|
81 |
+
ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f
|
82 |
+
j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
|
83 |
+
/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0
|
84 |
+
xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
|
85 |
+
t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
|
86 |
+
-----END CERTIFICATE-----
|
87 |
+
|
88 |
+
Entrust.net Premium 2048 Secure Server CA
|
89 |
+
=========================================
|
90 |
+
-----BEGIN CERTIFICATE-----
|
91 |
+
MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
|
92 |
+
ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
|
93 |
+
bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
|
94 |
+
BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
|
95 |
+
NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
|
96 |
+
d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
|
97 |
+
MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
|
98 |
+
ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
99 |
+
MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
|
100 |
+
Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
|
101 |
+
hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
|
102 |
+
nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
|
103 |
+
VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E
|
104 |
+
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ
|
105 |
+
KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy
|
106 |
+
T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
|
107 |
+
zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT
|
108 |
+
J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e
|
109 |
+
nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE=
|
110 |
+
-----END CERTIFICATE-----
|
111 |
+
|
112 |
+
Baltimore CyberTrust Root
|
113 |
+
=========================
|
114 |
+
-----BEGIN CERTIFICATE-----
|
115 |
+
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
|
116 |
+
ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
|
117 |
+
ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC
|
118 |
+
SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs
|
119 |
+
dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME
|
120 |
+
uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB
|
121 |
+
UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C
|
122 |
+
G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9
|
123 |
+
XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr
|
124 |
+
l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI
|
125 |
+
VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
|
126 |
+
BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh
|
127 |
+
cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5
|
128 |
+
hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
|
129 |
+
Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
|
130 |
+
RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
|
131 |
+
-----END CERTIFICATE-----
|
132 |
+
|
133 |
+
AddTrust Low-Value Services Root
|
134 |
+
================================
|
135 |
+
-----BEGIN CERTIFICATE-----
|
136 |
+
MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
137 |
+
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU
|
138 |
+
cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw
|
139 |
+
CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO
|
140 |
+
ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB
|
141 |
+
AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6
|
142 |
+
54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr
|
143 |
+
oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1
|
144 |
+
Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui
|
145 |
+
GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w
|
146 |
+
HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD
|
147 |
+
AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT
|
148 |
+
RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw
|
149 |
+
HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt
|
150 |
+
ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph
|
151 |
+
iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
|
152 |
+
eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr
|
153 |
+
mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj
|
154 |
+
ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
|
155 |
+
-----END CERTIFICATE-----
|
156 |
+
|
157 |
+
AddTrust External Root
|
158 |
+
======================
|
159 |
+
-----BEGIN CERTIFICATE-----
|
160 |
+
MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
161 |
+
QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
|
162 |
+
VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw
|
163 |
+
NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU
|
164 |
+
cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg
|
165 |
+
Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821
|
166 |
+
+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw
|
167 |
+
Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo
|
168 |
+
aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy
|
169 |
+
2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7
|
170 |
+
7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P
|
171 |
+
BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL
|
172 |
+
VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk
|
173 |
+
VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB
|
174 |
+
IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl
|
175 |
+
j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
|
176 |
+
6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355
|
177 |
+
e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
|
178 |
+
G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
|
179 |
+
-----END CERTIFICATE-----
|
180 |
+
|
181 |
+
AddTrust Public Services Root
|
182 |
+
=============================
|
183 |
+
-----BEGIN CERTIFICATE-----
|
184 |
+
MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
185 |
+
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU
|
186 |
+
cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ
|
187 |
+
BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l
|
188 |
+
dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF
|
189 |
+
AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu
|
190 |
+
nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i
|
191 |
+
d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG
|
192 |
+
Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw
|
193 |
+
HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G
|
194 |
+
A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
|
195 |
+
/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux
|
196 |
+
FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G
|
197 |
+
A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4
|
198 |
+
JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL
|
199 |
+
+YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao
|
200 |
+
GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9
|
201 |
+
Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H
|
202 |
+
EufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
|
203 |
+
-----END CERTIFICATE-----
|
204 |
+
|
205 |
+
AddTrust Qualified Certificates Root
|
206 |
+
====================================
|
207 |
+
-----BEGIN CERTIFICATE-----
|
208 |
+
MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
209 |
+
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU
|
210 |
+
cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx
|
211 |
+
CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ
|
212 |
+
IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG
|
213 |
+
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx
|
214 |
+
64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3
|
215 |
+
KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o
|
216 |
+
L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR
|
217 |
+
wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU
|
218 |
+
MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/
|
219 |
+
BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE
|
220 |
+
BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y
|
221 |
+
azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD
|
222 |
+
ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG
|
223 |
+
GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X
|
224 |
+
dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze
|
225 |
+
RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB
|
226 |
+
iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE=
|
227 |
+
-----END CERTIFICATE-----
|
228 |
+
|
229 |
+
Entrust Root Certification Authority
|
230 |
+
====================================
|
231 |
+
-----BEGIN CERTIFICATE-----
|
232 |
+
MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
|
233 |
+
BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
|
234 |
+
b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG
|
235 |
+
A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0
|
236 |
+
MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu
|
237 |
+
MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu
|
238 |
+
Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v
|
239 |
+
dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
240 |
+
ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz
|
241 |
+
A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww
|
242 |
+
Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68
|
243 |
+
j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN
|
244 |
+
rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw
|
245 |
+
DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1
|
246 |
+
MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH
|
247 |
+
hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
|
248 |
+
A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM
|
249 |
+
Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa
|
250 |
+
v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS
|
251 |
+
W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
|
252 |
+
tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
|
253 |
+
-----END CERTIFICATE-----
|
254 |
+
|
255 |
+
RSA Security 2048 v3
|
256 |
+
====================
|
257 |
+
-----BEGIN CERTIFICATE-----
|
258 |
+
MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK
|
259 |
+
ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy
|
260 |
+
MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb
|
261 |
+
BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
262 |
+
AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7
|
263 |
+
Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb
|
264 |
+
WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH
|
265 |
+
KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP
|
266 |
+
+Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/
|
267 |
+
MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E
|
268 |
+
FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY
|
269 |
+
v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj
|
270 |
+
0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj
|
271 |
+
VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395
|
272 |
+
nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA
|
273 |
+
pKnXwiJPZ9d37CAFYd4=
|
274 |
+
-----END CERTIFICATE-----
|
275 |
+
|
276 |
+
GeoTrust Global CA
|
277 |
+
==================
|
278 |
+
-----BEGIN CERTIFICATE-----
|
279 |
+
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
|
280 |
+
Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
|
281 |
+
MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
|
282 |
+
LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
283 |
+
CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
|
284 |
+
BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
|
285 |
+
8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
|
286 |
+
T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
|
287 |
+
vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
|
288 |
+
AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
|
289 |
+
DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
|
290 |
+
zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
|
291 |
+
d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
|
292 |
+
mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
|
293 |
+
XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
|
294 |
+
Mw==
|
295 |
+
-----END CERTIFICATE-----
|
296 |
+
|
297 |
+
GeoTrust Global CA 2
|
298 |
+
====================
|
299 |
+
-----BEGIN CERTIFICATE-----
|
300 |
+
MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
|
301 |
+
R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw
|
302 |
+
MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
|
303 |
+
LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
304 |
+
ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/
|
305 |
+
NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k
|
306 |
+
LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA
|
307 |
+
Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b
|
308 |
+
HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF
|
309 |
+
MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH
|
310 |
+
K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7
|
311 |
+
srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh
|
312 |
+
ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL
|
313 |
+
OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC
|
314 |
+
x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF
|
315 |
+
H4z1Ir+rzoPz4iIprn2DQKi6bA==
|
316 |
+
-----END CERTIFICATE-----
|
317 |
+
|
318 |
+
GeoTrust Universal CA
|
319 |
+
=====================
|
320 |
+
-----BEGIN CERTIFICATE-----
|
321 |
+
MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
|
322 |
+
R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
|
323 |
+
MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
|
324 |
+
Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
|
325 |
+
ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
|
326 |
+
JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
|
327 |
+
RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
|
328 |
+
7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
|
329 |
+
8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
|
330 |
+
qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
|
331 |
+
Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
|
332 |
+
Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
|
333 |
+
KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
|
334 |
+
ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
|
335 |
+
XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
|
336 |
+
hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
|
337 |
+
aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
|
338 |
+
qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
|
339 |
+
oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
|
340 |
+
xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
|
341 |
+
KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
|
342 |
+
DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
|
343 |
+
xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
|
344 |
+
p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
|
345 |
+
P/rmMuGNG2+k5o7Y+SlIis5z/iw=
|
346 |
+
-----END CERTIFICATE-----
|
347 |
+
|
348 |
+
GeoTrust Universal CA 2
|
349 |
+
=======================
|
350 |
+
-----BEGIN CERTIFICATE-----
|
351 |
+
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
|
375 |
+
X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
|
376 |
+
-----END CERTIFICATE-----
|
377 |
+
|
378 |
+
Visa eCommerce Root
|
379 |
+
===================
|
380 |
+
-----BEGIN CERTIFICATE-----
|
381 |
+
MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG
|
382 |
+
EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug
|
383 |
+
QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2
|
384 |
+
WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm
|
385 |
+
VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
|
386 |
+
bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL
|
387 |
+
F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b
|
388 |
+
RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0
|
389 |
+
TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI
|
390 |
+
/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs
|
391 |
+
GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
|
392 |
+
MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc
|
393 |
+
CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW
|
394 |
+
YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz
|
395 |
+
zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu
|
396 |
+
YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
|
397 |
+
398znM/jra6O1I7mT1GvFpLgXPYHDw==
|
398 |
+
-----END CERTIFICATE-----
|
399 |
+
|
400 |
+
Certum Root CA
|
401 |
+
==============
|
402 |
+
-----BEGIN CERTIFICATE-----
|
403 |
+
MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK
|
404 |
+
ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla
|
405 |
+
Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u
|
406 |
+
by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x
|
407 |
+
wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL
|
408 |
+
kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ
|
409 |
+
89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K
|
410 |
+
Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P
|
411 |
+
NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq
|
412 |
+
hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+
|
413 |
+
GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg
|
414 |
+
GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/
|
415 |
+
0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS
|
416 |
+
qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==
|
417 |
+
-----END CERTIFICATE-----
|
418 |
+
|
419 |
+
Comodo AAA Services root
|
420 |
+
========================
|
421 |
+
-----BEGIN CERTIFICATE-----
|
422 |
+
MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
|
423 |
+
R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
|
424 |
+
TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
|
425 |
+
MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
|
426 |
+
c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
|
427 |
+
BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
428 |
+
ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
|
429 |
+
C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
|
430 |
+
i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
|
431 |
+
Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
|
432 |
+
Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
|
433 |
+
Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
|
434 |
+
BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
|
435 |
+
cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
|
436 |
+
LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
|
437 |
+
7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
|
438 |
+
Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
|
439 |
+
8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
|
440 |
+
12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
|
441 |
+
-----END CERTIFICATE-----
|
442 |
+
|
443 |
+
Comodo Secure Services root
|
444 |
+
===========================
|
445 |
+
-----BEGIN CERTIFICATE-----
|
446 |
+
MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
|
447 |
+
R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
|
448 |
+
TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw
|
449 |
+
MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu
|
450 |
+
Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi
|
451 |
+
BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
452 |
+
ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP
|
453 |
+
9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc
|
454 |
+
rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC
|
455 |
+
oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V
|
456 |
+
p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E
|
457 |
+
FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
|
458 |
+
gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj
|
459 |
+
YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm
|
460 |
+
aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm
|
461 |
+
4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
|
462 |
+
Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL
|
463 |
+
DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw
|
464 |
+
pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H
|
465 |
+
RR3B7Hzs/Sk=
|
466 |
+
-----END CERTIFICATE-----
|
467 |
+
|
468 |
+
Comodo Trusted Services root
|
469 |
+
============================
|
470 |
+
-----BEGIN CERTIFICATE-----
|
471 |
+
MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
|
472 |
+
R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
|
473 |
+
TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw
|
474 |
+
MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h
|
475 |
+
bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw
|
476 |
+
IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
477 |
+
AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7
|
478 |
+
3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y
|
479 |
+
/9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6
|
480 |
+
juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS
|
481 |
+
ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud
|
482 |
+
DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
|
483 |
+
/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp
|
484 |
+
ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl
|
485 |
+
cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw
|
486 |
+
uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
|
487 |
+
pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA
|
488 |
+
BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l
|
489 |
+
R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O
|
490 |
+
9y5Xt5hwXsjEeLBi
|
491 |
+
-----END CERTIFICATE-----
|
492 |
+
|
493 |
+
QuoVadis Root CA
|
494 |
+
================
|
495 |
+
-----BEGIN CERTIFICATE-----
|
496 |
+
MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
|
497 |
+
ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
|
498 |
+
eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
|
499 |
+
MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
|
500 |
+
cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
|
501 |
+
EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
|
502 |
+
AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
|
503 |
+
J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
|
504 |
+
F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
|
505 |
+
YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
|
506 |
+
AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
|
507 |
+
PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
|
508 |
+
ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
|
509 |
+
MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
|
510 |
+
YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
|
511 |
+
ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
|
512 |
+
Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
|
513 |
+
Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
|
514 |
+
BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
|
515 |
+
FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
|
516 |
+
aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
|
517 |
+
tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
|
518 |
+
fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
|
519 |
+
LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
|
520 |
+
gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
|
521 |
+
5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
|
522 |
+
5nrQNiOKSnQ2+Q==
|
523 |
+
-----END CERTIFICATE-----
|
524 |
+
|
525 |
+
QuoVadis Root CA 2
|
526 |
+
==================
|
527 |
+
-----BEGIN CERTIFICATE-----
|
528 |
+
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
|
554 |
+
-----END CERTIFICATE-----
|
555 |
+
|
556 |
+
QuoVadis Root CA 3
|
557 |
+
==================
|
558 |
+
-----BEGIN CERTIFICATE-----
|
559 |
+
MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
|
560 |
+
EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx
|
561 |
+
OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
|
562 |
+
aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
|
563 |
+
DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg
|
564 |
+
DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij
|
565 |
+
KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K
|
566 |
+
DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv
|
567 |
+
BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp
|
568 |
+
p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8
|
569 |
+
nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX
|
570 |
+
MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM
|
571 |
+
Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz
|
572 |
+
uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT
|
573 |
+
BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj
|
574 |
+
YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
|
575 |
+
aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB
|
576 |
+
BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD
|
577 |
+
VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4
|
578 |
+
ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE
|
579 |
+
AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV
|
580 |
+
qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s
|
581 |
+
hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z
|
582 |
+
POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2
|
583 |
+
Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp
|
584 |
+
8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC
|
585 |
+
bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu
|
586 |
+
g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p
|
587 |
+
vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
|
588 |
+
qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
|
589 |
+
-----END CERTIFICATE-----
|
590 |
+
|
591 |
+
Security Communication Root CA
|
592 |
+
==============================
|
593 |
+
-----BEGIN CERTIFICATE-----
|
594 |
+
MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
|
595 |
+
U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
|
596 |
+
HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
|
597 |
+
U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
|
598 |
+
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw
|
599 |
+
8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM
|
600 |
+
DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX
|
601 |
+
5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd
|
602 |
+
DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2
|
603 |
+
JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw
|
604 |
+
DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g
|
605 |
+
0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a
|
606 |
+
mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ
|
607 |
+
s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
|
608 |
+
6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
|
609 |
+
FL39vmwLAw==
|
610 |
+
-----END CERTIFICATE-----
|
611 |
+
|
612 |
+
Sonera Class 2 Root CA
|
613 |
+
======================
|
614 |
+
-----BEGIN CERTIFICATE-----
|
615 |
+
MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
|
616 |
+
U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
|
617 |
+
NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
|
618 |
+
IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
|
619 |
+
/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
|
620 |
+
dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
|
621 |
+
f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
|
622 |
+
tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
|
623 |
+
nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
|
624 |
+
XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
|
625 |
+
0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
|
626 |
+
cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
|
627 |
+
Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
|
628 |
+
EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
|
629 |
+
llpwrN9M
|
630 |
+
-----END CERTIFICATE-----
|
631 |
+
|
632 |
+
Staat der Nederlanden Root CA
|
633 |
+
=============================
|
634 |
+
-----BEGIN CERTIFICATE-----
|
635 |
+
MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE
|
636 |
+
ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g
|
637 |
+
Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w
|
638 |
+
HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh
|
639 |
+
bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt
|
640 |
+
vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P
|
641 |
+
jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca
|
642 |
+
C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth
|
643 |
+
vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6
|
644 |
+
22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV
|
645 |
+
HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v
|
646 |
+
dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN
|
647 |
+
BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR
|
648 |
+
EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw
|
649 |
+
MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y
|
650 |
+
nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR
|
651 |
+
iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw==
|
652 |
+
-----END CERTIFICATE-----
|
653 |
+
|
654 |
+
UTN USERFirst Hardware Root CA
|
655 |
+
==============================
|
656 |
+
-----BEGIN CERTIFICATE-----
|
657 |
+
MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE
|
658 |
+
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
|
659 |
+
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd
|
660 |
+
BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx
|
661 |
+
OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0
|
662 |
+
eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz
|
663 |
+
ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3
|
664 |
+
DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI
|
665 |
+
wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd
|
666 |
+
tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8
|
667 |
+
i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf
|
668 |
+
Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw
|
669 |
+
gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF
|
670 |
+
lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF
|
671 |
+
UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF
|
672 |
+
BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
|
673 |
+
//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW
|
674 |
+
XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2
|
675 |
+
lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn
|
676 |
+
iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
|
677 |
+
nfhmqA==
|
678 |
+
-----END CERTIFICATE-----
|
679 |
+
|
680 |
+
Camerfirma Chambers of Commerce Root
|
681 |
+
====================================
|
682 |
+
-----BEGIN CERTIFICATE-----
|
683 |
+
MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
|
684 |
+
QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
|
685 |
+
ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx
|
686 |
+
NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp
|
687 |
+
cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn
|
688 |
+
MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC
|
689 |
+
AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU
|
690 |
+
xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH
|
691 |
+
NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW
|
692 |
+
DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV
|
693 |
+
d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud
|
694 |
+
EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v
|
695 |
+
cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P
|
696 |
+
AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh
|
697 |
+
bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD
|
698 |
+
VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz
|
699 |
+
aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi
|
700 |
+
fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD
|
701 |
+
L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN
|
702 |
+
UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n
|
703 |
+
ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1
|
704 |
+
erfutGWaIZDgqtCYvDi1czyL+Nw=
|
705 |
+
-----END CERTIFICATE-----
|
706 |
+
|
707 |
+
Camerfirma Global Chambersign Root
|
708 |
+
==================================
|
709 |
+
-----BEGIN CERTIFICATE-----
|
710 |
+
MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
|
711 |
+
QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
|
712 |
+
ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx
|
713 |
+
NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt
|
714 |
+
YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg
|
715 |
+
MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw
|
716 |
+
ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J
|
717 |
+
1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O
|
718 |
+
by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl
|
719 |
+
6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c
|
720 |
+
8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/
|
721 |
+
BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j
|
722 |
+
aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B
|
723 |
+
Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj
|
724 |
+
aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y
|
725 |
+
ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh
|
726 |
+
bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA
|
727 |
+
PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y
|
728 |
+
gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ
|
729 |
+
PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4
|
730 |
+
IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
|
731 |
+
t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
|
732 |
+
-----END CERTIFICATE-----
|
733 |
+
|
734 |
+
NetLock Notary (Class A) Root
|
735 |
+
=============================
|
736 |
+
-----BEGIN CERTIFICATE-----
|
737 |
+
MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI
|
738 |
+
EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
|
739 |
+
dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j
|
740 |
+
ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX
|
741 |
+
DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH
|
742 |
+
EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD
|
743 |
+
VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz
|
744 |
+
cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM
|
745 |
+
D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ
|
746 |
+
z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC
|
747 |
+
/tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7
|
748 |
+
tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6
|
749 |
+
4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG
|
750 |
+
A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC
|
751 |
+
Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv
|
752 |
+
bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu
|
753 |
+
IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn
|
754 |
+
LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0
|
755 |
+
ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz
|
756 |
+
IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh
|
757 |
+
IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu
|
758 |
+
b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh
|
759 |
+
bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg
|
760 |
+
Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp
|
761 |
+
bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5
|
762 |
+
ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP
|
763 |
+
ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB
|
764 |
+
CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr
|
765 |
+
KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM
|
766 |
+
8CgHrTwXZoi1/baI
|
767 |
+
-----END CERTIFICATE-----
|
768 |
+
|
769 |
+
XRamp Global CA Root
|
770 |
+
====================
|
771 |
+
-----BEGIN CERTIFICATE-----
|
772 |
+
MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
|
773 |
+
BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
|
774 |
+
dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
|
775 |
+
dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
|
776 |
+
HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg
|
777 |
+
U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
|
778 |
+
dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu
|
779 |
+
IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx
|
780 |
+
foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE
|
781 |
+
zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs
|
782 |
+
AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry
|
783 |
+
xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
|
784 |
+
EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap
|
785 |
+
oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC
|
786 |
+
AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc
|
787 |
+
/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
|
788 |
+
qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
|
789 |
+
nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
|
790 |
+
8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
|
791 |
+
-----END CERTIFICATE-----
|
792 |
+
|
793 |
+
Go Daddy Class 2 CA
|
794 |
+
===================
|
795 |
+
-----BEGIN CERTIFICATE-----
|
796 |
+
MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
|
797 |
+
VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
|
798 |
+
ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG
|
799 |
+
A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
|
800 |
+
RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD
|
801 |
+
ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv
|
802 |
+
2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32
|
803 |
+
qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j
|
804 |
+
YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY
|
805 |
+
vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O
|
806 |
+
BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o
|
807 |
+
atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu
|
808 |
+
MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
|
809 |
+
A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim
|
810 |
+
PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt
|
811 |
+
I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
|
812 |
+
HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
|
813 |
+
Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
|
814 |
+
vZ8=
|
815 |
+
-----END CERTIFICATE-----
|
816 |
+
|
817 |
+
Starfield Class 2 CA
|
818 |
+
====================
|
819 |
+
-----BEGIN CERTIFICATE-----
|
820 |
+
MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
|
821 |
+
U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
|
822 |
+
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo
|
823 |
+
MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
|
824 |
+
A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG
|
825 |
+
SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY
|
826 |
+
bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ
|
827 |
+
JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm
|
828 |
+
epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN
|
829 |
+
F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF
|
830 |
+
MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f
|
831 |
+
hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo
|
832 |
+
bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g
|
833 |
+
QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs
|
834 |
+
afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM
|
835 |
+
PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
|
836 |
+
xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
|
837 |
+
KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
|
838 |
+
QBFGmh95DmK/D5fs4C8fF5Q=
|
839 |
+
-----END CERTIFICATE-----
|
840 |
+
|
841 |
+
StartCom Certification Authority
|
842 |
+
================================
|
843 |
+
-----BEGIN CERTIFICATE-----
|
844 |
+
MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
|
845 |
+
U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
|
846 |
+
ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
|
847 |
+
NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
|
848 |
+
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
|
849 |
+
U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
|
850 |
+
ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
|
851 |
+
o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
|
852 |
+
Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
|
853 |
+
eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
|
854 |
+
2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
|
855 |
+
6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
|
856 |
+
osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
|
857 |
+
untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
|
858 |
+
UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
|
859 |
+
37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
|
860 |
+
FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0
|
861 |
+
Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj
|
862 |
+
YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH
|
863 |
+
AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw
|
864 |
+
Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg
|
865 |
+
U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5
|
866 |
+
LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
|
867 |
+
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh
|
868 |
+
cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT
|
869 |
+
dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC
|
870 |
+
AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh
|
871 |
+
3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm
|
872 |
+
vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk
|
873 |
+
fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3
|
874 |
+
fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ
|
875 |
+
EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
|
876 |
+
yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl
|
877 |
+
1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/
|
878 |
+
lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro
|
879 |
+
g14=
|
880 |
+
-----END CERTIFICATE-----
|
881 |
+
|
882 |
+
Taiwan GRCA
|
883 |
+
===========
|
884 |
+
-----BEGIN CERTIFICATE-----
|
885 |
+
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
|
910 |
+
-----END CERTIFICATE-----
|
911 |
+
|
912 |
+
Swisscom Root CA 1
|
913 |
+
==================
|
914 |
+
-----BEGIN CERTIFICATE-----
|
915 |
+
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
|
941 |
+
NY6E0F/6MBr1mmz0DlP5OlvRHA==
|
942 |
+
-----END CERTIFICATE-----
|
943 |
+
|
944 |
+
DigiCert Assured ID Root CA
|
945 |
+
===========================
|
946 |
+
-----BEGIN CERTIFICATE-----
|
947 |
+
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
|
948 |
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
|
949 |
+
IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx
|
950 |
+
MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
|
951 |
+
ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
|
952 |
+
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO
|
953 |
+
9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy
|
954 |
+
UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW
|
955 |
+
/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy
|
956 |
+
oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf
|
957 |
+
GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF
|
958 |
+
66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
|
959 |
+
hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc
|
960 |
+
EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn
|
961 |
+
SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
|
962 |
+
8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
|
963 |
+
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
|
964 |
+
-----END CERTIFICATE-----
|
965 |
+
|
966 |
+
DigiCert Global Root CA
|
967 |
+
=======================
|
968 |
+
-----BEGIN CERTIFICATE-----
|
969 |
+
MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
|
970 |
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
|
971 |
+
HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw
|
972 |
+
MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
|
973 |
+
dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq
|
974 |
+
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn
|
975 |
+
TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5
|
976 |
+
BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H
|
977 |
+
4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y
|
978 |
+
7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB
|
979 |
+
o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm
|
980 |
+
8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF
|
981 |
+
BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr
|
982 |
+
EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt
|
983 |
+
tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
|
984 |
+
UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
|
985 |
+
CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
|
986 |
+
-----END CERTIFICATE-----
|
987 |
+
|
988 |
+
DigiCert High Assurance EV Root CA
|
989 |
+
==================================
|
990 |
+
-----BEGIN CERTIFICATE-----
|
991 |
+
MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
|
992 |
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
|
993 |
+
KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
|
994 |
+
MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
|
995 |
+
MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
|
996 |
+
Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
|
997 |
+
Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
|
998 |
+
OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
|
999 |
+
MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
|
1000 |
+
NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
|
1001 |
+
h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
|
1002 |
+
Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
|
1003 |
+
JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
|
1004 |
+
V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
|
1005 |
+
myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
|
1006 |
+
mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
|
1007 |
+
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
|
1008 |
+
-----END CERTIFICATE-----
|
1009 |
+
|
1010 |
+
Certplus Class 2 Primary CA
|
1011 |
+
===========================
|
1012 |
+
-----BEGIN CERTIFICATE-----
|
1013 |
+
MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
|
1014 |
+
BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
|
1015 |
+
OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy
|
1016 |
+
dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
1017 |
+
ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR
|
1018 |
+
5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ
|
1019 |
+
Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO
|
1020 |
+
YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e
|
1021 |
+
e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME
|
1022 |
+
CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ
|
1023 |
+
YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t
|
1024 |
+
L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD
|
1025 |
+
P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R
|
1026 |
+
TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+
|
1027 |
+
7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW
|
1028 |
+
//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
|
1029 |
+
l7+ijrRU
|
1030 |
+
-----END CERTIFICATE-----
|
1031 |
+
|
1032 |
+
DST Root CA X3
|
1033 |
+
==============
|
1034 |
+
-----BEGIN CERTIFICATE-----
|
1035 |
+
MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
|
1036 |
+
ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
|
1037 |
+
DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
|
1038 |
+
cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
|
1039 |
+
ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
|
1040 |
+
rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
|
1041 |
+
UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
|
1042 |
+
xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
|
1043 |
+
utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
|
1044 |
+
AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
|
1045 |
+
MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
|
1046 |
+
dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
|
1047 |
+
GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
|
1048 |
+
RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
|
1049 |
+
fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
|
1050 |
+
-----END CERTIFICATE-----
|
1051 |
+
|
1052 |
+
DST ACES CA X6
|
1053 |
+
==============
|
1054 |
+
-----BEGIN CERTIFICATE-----
|
1055 |
+
MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG
|
1056 |
+
EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT
|
1057 |
+
MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha
|
1058 |
+
MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE
|
1059 |
+
CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC
|
1060 |
+
AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI
|
1061 |
+
DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa
|
1062 |
+
pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow
|
1063 |
+
GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy
|
1064 |
+
MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud
|
1065 |
+
EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu
|
1066 |
+
Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy
|
1067 |
+
dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU
|
1068 |
+
CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2
|
1069 |
+
5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t
|
1070 |
+
Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq
|
1071 |
+
nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs
|
1072 |
+
vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3
|
1073 |
+
oKfN5XozNmr6mis=
|
1074 |
+
-----END CERTIFICATE-----
|
1075 |
+
|
1076 |
+
SwissSign Gold CA - G2
|
1077 |
+
======================
|
1078 |
+
-----BEGIN CERTIFICATE-----
|
1079 |
+
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
|
1105 |
+
-----END CERTIFICATE-----
|
1106 |
+
|
1107 |
+
SwissSign Silver CA - G2
|
1108 |
+
========================
|
1109 |
+
-----BEGIN CERTIFICATE-----
|
1110 |
+
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
|
1136 |
+
-----END CERTIFICATE-----
|
1137 |
+
|
1138 |
+
GeoTrust Primary Certification Authority
|
1139 |
+
========================================
|
1140 |
+
-----BEGIN CERTIFICATE-----
|
1141 |
+
MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
|
1142 |
+
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
|
1143 |
+
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
|
1144 |
+
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
|
1145 |
+
cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
1146 |
+
CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
|
1147 |
+
b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
|
1148 |
+
nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
|
1149 |
+
RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
|
1150 |
+
tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
|
1151 |
+
AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
|
1152 |
+
hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
|
1153 |
+
Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
|
1154 |
+
NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
|
1155 |
+
Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
|
1156 |
+
1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
|
1157 |
+
-----END CERTIFICATE-----
|
1158 |
+
|
1159 |
+
thawte Primary Root CA
|
1160 |
+
======================
|
1161 |
+
-----BEGIN CERTIFICATE-----
|
1162 |
+
MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
|
1163 |
+
BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
|
1164 |
+
aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
|
1165 |
+
cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
|
1166 |
+
MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
|
1167 |
+
SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
|
1168 |
+
KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
|
1169 |
+
FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
|
1170 |
+
oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
|
1171 |
+
1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
|
1172 |
+
q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
|
1173 |
+
aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
|
1174 |
+
afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
|
1175 |
+
VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
|
1176 |
+
AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
|
1177 |
+
uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
|
1178 |
+
xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
|
1179 |
+
jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
|
1180 |
+
z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
|
1181 |
+
-----END CERTIFICATE-----
|
1182 |
+
|
1183 |
+
VeriSign Class 3 Public Primary Certification Authority - G5
|
1184 |
+
============================================================
|
1185 |
+
-----BEGIN CERTIFICATE-----
|
1186 |
+
MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
|
1187 |
+
BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
|
1188 |
+
ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
|
1189 |
+
IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
|
1190 |
+
ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
|
1191 |
+
yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
|
1192 |
+
biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
|
1193 |
+
dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
|
1194 |
+
YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
1195 |
+
ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
|
1196 |
+
j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
|
1197 |
+
Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
|
1198 |
+
Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
|
1199 |
+
fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
|
1200 |
+
BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
|
1201 |
+
Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
|
1202 |
+
aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
|
1203 |
+
SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
|
1204 |
+
X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
|
1205 |
+
KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
|
1206 |
+
Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
|
1207 |
+
ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
|
1208 |
+
-----END CERTIFICATE-----
|
1209 |
+
|
1210 |
+
SecureTrust CA
|
1211 |
+
==============
|
1212 |
+
-----BEGIN CERTIFICATE-----
|
1213 |
+
MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
|
1214 |
+
EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
|
1215 |
+
dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe
|
1216 |
+
BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC
|
1217 |
+
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX
|
1218 |
+
OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t
|
1219 |
+
DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH
|
1220 |
+
GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b
|
1221 |
+
01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH
|
1222 |
+
ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/
|
1223 |
+
BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj
|
1224 |
+
aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
|
1225 |
+
KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu
|
1226 |
+
SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf
|
1227 |
+
mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ
|
1228 |
+
nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
|
1229 |
+
3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
|
1230 |
+
-----END CERTIFICATE-----
|
1231 |
+
|
1232 |
+
Secure Global CA
|
1233 |
+
================
|
1234 |
+
-----BEGIN CERTIFICATE-----
|
1235 |
+
MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
|
1236 |
+
EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
|
1237 |
+
bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg
|
1238 |
+
MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg
|
1239 |
+
Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx
|
1240 |
+
YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ
|
1241 |
+
bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g
|
1242 |
+
8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV
|
1243 |
+
HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi
|
1244 |
+
0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
|
1245 |
+
EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn
|
1246 |
+
oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA
|
1247 |
+
MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+
|
1248 |
+
OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn
|
1249 |
+
CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5
|
1250 |
+
3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
|
1251 |
+
f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
|
1252 |
+
-----END CERTIFICATE-----
|
1253 |
+
|
1254 |
+
COMODO Certification Authority
|
1255 |
+
==============================
|
1256 |
+
-----BEGIN CERTIFICATE-----
|
1257 |
+
MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
|
1258 |
+
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
|
1259 |
+
A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1
|
1260 |
+
dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb
|
1261 |
+
MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD
|
1262 |
+
T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
|
1263 |
+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH
|
1264 |
+
+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww
|
1265 |
+
xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV
|
1266 |
+
4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA
|
1267 |
+
1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI
|
1268 |
+
rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E
|
1269 |
+
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k
|
1270 |
+
b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC
|
1271 |
+
AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP
|
1272 |
+
OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
|
1273 |
+
RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc
|
1274 |
+
IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
|
1275 |
+
+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
|
1276 |
+
-----END CERTIFICATE-----
|
1277 |
+
|
1278 |
+
Network Solutions Certificate Authority
|
1279 |
+
=======================================
|
1280 |
+
-----BEGIN CERTIFICATE-----
|
1281 |
+
MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
|
1282 |
+
EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
|
1283 |
+
IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx
|
1284 |
+
MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
|
1285 |
+
MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
|
1286 |
+
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx
|
1287 |
+
jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT
|
1288 |
+
aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT
|
1289 |
+
crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc
|
1290 |
+
/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB
|
1291 |
+
AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP
|
1292 |
+
BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv
|
1293 |
+
bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA
|
1294 |
+
A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q
|
1295 |
+
4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/
|
1296 |
+
GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
|
1297 |
+
wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
|
1298 |
+
ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
|
1299 |
+
-----END CERTIFICATE-----
|
1300 |
+
|
1301 |
+
WellsSecure Public Root Certificate Authority
|
1302 |
+
=============================================
|
1303 |
+
-----BEGIN CERTIFICATE-----
|
1304 |
+
MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM
|
1305 |
+
F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw
|
1306 |
+
NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
|
1307 |
+
MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl
|
1308 |
+
bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD
|
1309 |
+
VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
|
1310 |
+
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1
|
1311 |
+
iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13
|
1312 |
+
i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8
|
1313 |
+
bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB
|
1314 |
+
K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB
|
1315 |
+
AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu
|
1316 |
+
cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm
|
1317 |
+
lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB
|
1318 |
+
i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww
|
1319 |
+
GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg
|
1320 |
+
Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI
|
1321 |
+
K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0
|
1322 |
+
bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj
|
1323 |
+
qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es
|
1324 |
+
E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ
|
1325 |
+
tylv2G0xffX8oRAHh84vWdw+WNs=
|
1326 |
+
-----END CERTIFICATE-----
|
1327 |
+
|
1328 |
+
COMODO ECC Certification Authority
|
1329 |
+
==================================
|
1330 |
+
-----BEGIN CERTIFICATE-----
|
1331 |
+
MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC
|
1332 |
+
R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
|
1333 |
+
ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB
|
1334 |
+
dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix
|
1335 |
+
GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
|
1336 |
+
Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo
|
1337 |
+
b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X
|
1338 |
+
4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni
|
1339 |
+
wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E
|
1340 |
+
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG
|
1341 |
+
FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
|
1342 |
+
U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
|
1343 |
+
-----END CERTIFICATE-----
|
1344 |
+
|
1345 |
+
IGC/A
|
1346 |
+
=====
|
1347 |
+
-----BEGIN CERTIFICATE-----
|
1348 |
+
MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD
|
1349 |
+
VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE
|
1350 |
+
Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy
|
1351 |
+
MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI
|
1352 |
+
EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT
|
1353 |
+
STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB
|
1354 |
+
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2
|
1355 |
+
TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW
|
1356 |
+
So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy
|
1357 |
+
HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd
|
1358 |
+
frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ
|
1359 |
+
tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB
|
1360 |
+
egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC
|
1361 |
+
iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK
|
1362 |
+
q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q
|
1363 |
+
MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg
|
1364 |
+
Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI
|
1365 |
+
lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF
|
1366 |
+
0mBWWg==
|
1367 |
+
-----END CERTIFICATE-----
|
1368 |
+
|
1369 |
+
Security Communication EV RootCA1
|
1370 |
+
=================================
|
1371 |
+
-----BEGIN CERTIFICATE-----
|
1372 |
+
MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
|
1373 |
+
U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh
|
1374 |
+
dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE
|
1375 |
+
BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl
|
1376 |
+
Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
|
1377 |
+
AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO
|
1378 |
+
/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX
|
1379 |
+
WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z
|
1380 |
+
ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4
|
1381 |
+
bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK
|
1382 |
+
9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
|
1383 |
+
SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm
|
1384 |
+
iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG
|
1385 |
+
Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW
|
1386 |
+
mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW
|
1387 |
+
T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490
|
1388 |
+
-----END CERTIFICATE-----
|
1389 |
+
|
1390 |
+
OISTE WISeKey Global Root GA CA
|
1391 |
+
===============================
|
1392 |
+
-----BEGIN CERTIFICATE-----
|
1393 |
+
MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE
|
1394 |
+
BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG
|
1395 |
+
A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH
|
1396 |
+
bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD
|
1397 |
+
VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw
|
1398 |
+
IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5
|
1399 |
+
IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9
|
1400 |
+
Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg
|
1401 |
+
Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD
|
1402 |
+
d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ
|
1403 |
+
/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R
|
1404 |
+
LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
|
1405 |
+
AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
|
1406 |
+
KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm
|
1407 |
+
MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4
|
1408 |
+
+vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
|
1409 |
+
hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
|
1410 |
+
okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
|
1411 |
+
-----END CERTIFICATE-----
|
1412 |
+
|
1413 |
+
Microsec e-Szigno Root CA
|
1414 |
+
=========================
|
1415 |
+
-----BEGIN CERTIFICATE-----
|
1416 |
+
MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE
|
1417 |
+
BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL
|
1418 |
+
EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0
|
1419 |
+
MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz
|
1420 |
+
dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT
|
1421 |
+
GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
1422 |
+
AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG
|
1423 |
+
d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N
|
1424 |
+
oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc
|
1425 |
+
QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ
|
1426 |
+
PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb
|
1427 |
+
MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG
|
1428 |
+
IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD
|
1429 |
+
VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3
|
1430 |
+
LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A
|
1431 |
+
dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn
|
1432 |
+
AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA
|
1433 |
+
4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg
|
1434 |
+
AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA
|
1435 |
+
egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6
|
1436 |
+
Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO
|
1437 |
+
PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv
|
1438 |
+
c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h
|
1439 |
+
cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw
|
1440 |
+
IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT
|
1441 |
+
WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV
|
1442 |
+
MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER
|
1443 |
+
MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp
|
1444 |
+
Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal
|
1445 |
+
HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT
|
1446 |
+
nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE
|
1447 |
+
aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a
|
1448 |
+
86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK
|
1449 |
+
yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB
|
1450 |
+
S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU=
|
1451 |
+
-----END CERTIFICATE-----
|
1452 |
+
|
1453 |
+
Certigna
|
1454 |
+
========
|
1455 |
+
-----BEGIN CERTIFICATE-----
|
1456 |
+
MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw
|
1457 |
+
EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3
|
1458 |
+
MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI
|
1459 |
+
Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q
|
1460 |
+
XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH
|
1461 |
+
GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p
|
1462 |
+
ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg
|
1463 |
+
DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf
|
1464 |
+
Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ
|
1465 |
+
tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ
|
1466 |
+
BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J
|
1467 |
+
SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA
|
1468 |
+
hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+
|
1469 |
+
ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu
|
1470 |
+
PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY
|
1471 |
+
1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
|
1472 |
+
WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
|
1473 |
+
-----END CERTIFICATE-----
|
1474 |
+
|
1475 |
+
Deutsche Telekom Root CA 2
|
1476 |
+
==========================
|
1477 |
+
-----BEGIN CERTIFICATE-----
|
1478 |
+
MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT
|
1479 |
+
RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG
|
1480 |
+
A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5
|
1481 |
+
MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G
|
1482 |
+
A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS
|
1483 |
+
b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5
|
1484 |
+
bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI
|
1485 |
+
KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY
|
1486 |
+
AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK
|
1487 |
+
Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV
|
1488 |
+
jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV
|
1489 |
+
HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr
|
1490 |
+
E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy
|
1491 |
+
zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8
|
1492 |
+
rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G
|
1493 |
+
dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
|
1494 |
+
Cm26OWMohpLzGITY+9HPBVZkVw==
|
1495 |
+
-----END CERTIFICATE-----
|
1496 |
+
|
1497 |
+
Cybertrust Global Root
|
1498 |
+
======================
|
1499 |
+
-----BEGIN CERTIFICATE-----
|
1500 |
+
MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li
|
1501 |
+
ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4
|
1502 |
+
MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD
|
1503 |
+
ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
|
1504 |
+
+Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW
|
1505 |
+
0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL
|
1506 |
+
AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin
|
1507 |
+
89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT
|
1508 |
+
8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP
|
1509 |
+
BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2
|
1510 |
+
MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G
|
1511 |
+
A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO
|
1512 |
+
lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi
|
1513 |
+
5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2
|
1514 |
+
hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T
|
1515 |
+
X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
|
1516 |
+
WL1WMRJOEcgh4LMRkWXbtKaIOM5V
|
1517 |
+
-----END CERTIFICATE-----
|
1518 |
+
|
1519 |
+
ePKI Root Certification Authority
|
1520 |
+
=================================
|
1521 |
+
-----BEGIN CERTIFICATE-----
|
1522 |
+
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
|
1548 |
+
-----END CERTIFICATE-----
|
1549 |
+
|
1550 |
+
T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3
|
1551 |
+
=============================================================================================================================
|
1552 |
+
-----BEGIN CERTIFICATE-----
|
1553 |
+
MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH
|
1554 |
+
DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q
|
1555 |
+
aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry
|
1556 |
+
b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV
|
1557 |
+
BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg
|
1558 |
+
S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4
|
1559 |
+
MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl
|
1560 |
+
IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF
|
1561 |
+
n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl
|
1562 |
+
IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft
|
1563 |
+
dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl
|
1564 |
+
cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B
|
1565 |
+
AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO
|
1566 |
+
Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1
|
1567 |
+
xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR
|
1568 |
+
6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL
|
1569 |
+
hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd
|
1570 |
+
BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
|
1571 |
+
MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4
|
1572 |
+
N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT
|
1573 |
+
y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh
|
1574 |
+
LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M
|
1575 |
+
dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI=
|
1576 |
+
-----END CERTIFICATE-----
|
1577 |
+
|
1578 |
+
Buypass Class 2 CA 1
|
1579 |
+
====================
|
1580 |
+
-----BEGIN CERTIFICATE-----
|
1581 |
+
MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
|
1582 |
+
QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2
|
1583 |
+
MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
|
1584 |
+
c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI
|
1585 |
+
hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M
|
1586 |
+
cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83
|
1587 |
+
0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4
|
1588 |
+
0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R
|
1589 |
+
uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC
|
1590 |
+
MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P
|
1591 |
+
AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV
|
1592 |
+
1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt
|
1593 |
+
7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2
|
1594 |
+
fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w
|
1595 |
+
wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho
|
1596 |
+
-----END CERTIFICATE-----
|
1597 |
+
|
1598 |
+
EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1
|
1599 |
+
==========================================================================
|
1600 |
+
-----BEGIN CERTIFICATE-----
|
1601 |
+
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
|
1628 |
+
-----END CERTIFICATE-----
|
1629 |
+
|
1630 |
+
certSIGN ROOT CA
|
1631 |
+
================
|
1632 |
+
-----BEGIN CERTIFICATE-----
|
1633 |
+
MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD
|
1634 |
+
VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa
|
1635 |
+
Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE
|
1636 |
+
CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I
|
1637 |
+
JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH
|
1638 |
+
rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2
|
1639 |
+
ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD
|
1640 |
+
0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943
|
1641 |
+
AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
|
1642 |
+
Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB
|
1643 |
+
AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8
|
1644 |
+
SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0
|
1645 |
+
x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt
|
1646 |
+
vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
|
1647 |
+
TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
|
1648 |
+
-----END CERTIFICATE-----
|
1649 |
+
|
1650 |
+
CNNIC ROOT
|
1651 |
+
==========
|
1652 |
+
-----BEGIN CERTIFICATE-----
|
1653 |
+
MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE
|
1654 |
+
ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw
|
1655 |
+
OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw
|
1656 |
+
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD
|
1657 |
+
o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz
|
1658 |
+
VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT
|
1659 |
+
VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or
|
1660 |
+
czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK
|
1661 |
+
y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC
|
1662 |
+
wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S
|
1663 |
+
lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5
|
1664 |
+
Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM
|
1665 |
+
O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8
|
1666 |
+
BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2
|
1667 |
+
G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m
|
1668 |
+
mxE=
|
1669 |
+
-----END CERTIFICATE-----
|
1670 |
+
|
1671 |
+
ApplicationCA - Japanese Government
|
1672 |
+
===================================
|
1673 |
+
-----BEGIN CERTIFICATE-----
|
1674 |
+
MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT
|
1675 |
+
SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw
|
1676 |
+
MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl
|
1677 |
+
cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
1678 |
+
CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4
|
1679 |
+
fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN
|
1680 |
+
wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE
|
1681 |
+
jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu
|
1682 |
+
nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU
|
1683 |
+
WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV
|
1684 |
+
BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD
|
1685 |
+
vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs
|
1686 |
+
o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g
|
1687 |
+
/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD
|
1688 |
+
io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW
|
1689 |
+
dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL
|
1690 |
+
rosot4LKGAfmt1t06SAZf7IbiVQ=
|
1691 |
+
-----END CERTIFICATE-----
|
1692 |
+
|
1693 |
+
GeoTrust Primary Certification Authority - G3
|
1694 |
+
=============================================
|
1695 |
+
-----BEGIN CERTIFICATE-----
|
1696 |
+
MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
|
1697 |
+
BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
|
1698 |
+
IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
|
1699 |
+
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
|
1700 |
+
NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
|
1701 |
+
YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
|
1702 |
+
LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
|
1703 |
+
hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
|
1704 |
+
K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
|
1705 |
+
c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
|
1706 |
+
IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
|
1707 |
+
dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC
|
1708 |
+
MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
|
1709 |
+
2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
|
1710 |
+
cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
|
1711 |
+
Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
|
1712 |
+
AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
|
1713 |
+
t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
|
1714 |
+
-----END CERTIFICATE-----
|
1715 |
+
|
1716 |
+
thawte Primary Root CA - G2
|
1717 |
+
===========================
|
1718 |
+
-----BEGIN CERTIFICATE-----
|
1719 |
+
MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
|
1720 |
+
VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
|
1721 |
+
IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg
|
1722 |
+
Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV
|
1723 |
+
MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG
|
1724 |
+
b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt
|
1725 |
+
IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS
|
1726 |
+
LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5
|
1727 |
+
8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
|
1728 |
+
mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
|
1729 |
+
G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
|
1730 |
+
rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
|
1731 |
+
-----END CERTIFICATE-----
|
1732 |
+
|
1733 |
+
thawte Primary Root CA - G3
|
1734 |
+
===========================
|
1735 |
+
-----BEGIN CERTIFICATE-----
|
1736 |
+
MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
|
1737 |
+
BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
|
1738 |
+
aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
|
1739 |
+
cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w
|
1740 |
+
ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
|
1741 |
+
d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD
|
1742 |
+
VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG
|
1743 |
+
A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
1744 |
+
MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At
|
1745 |
+
P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC
|
1746 |
+
+BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY
|
1747 |
+
7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW
|
1748 |
+
vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E
|
1749 |
+
BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ
|
1750 |
+
KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK
|
1751 |
+
A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
|
1752 |
+
t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
|
1753 |
+
8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
|
1754 |
+
er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
|
1755 |
+
-----END CERTIFICATE-----
|
1756 |
+
|
1757 |
+
GeoTrust Primary Certification Authority - G2
|
1758 |
+
=============================================
|
1759 |
+
-----BEGIN CERTIFICATE-----
|
1760 |
+
MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
|
1761 |
+
VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
|
1762 |
+
Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD
|
1763 |
+
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1
|
1764 |
+
OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
|
1765 |
+
MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl
|
1766 |
+
b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG
|
1767 |
+
BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc
|
1768 |
+
KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD
|
1769 |
+
VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+
|
1770 |
+
EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m
|
1771 |
+
ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
|
1772 |
+
npaqBA+K
|
1773 |
+
-----END CERTIFICATE-----
|
1774 |
+
|
1775 |
+
VeriSign Universal Root Certification Authority
|
1776 |
+
===============================================
|
1777 |
+
-----BEGIN CERTIFICATE-----
|
1778 |
+
MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
|
1779 |
+
BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
|
1780 |
+
ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
|
1781 |
+
IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u
|
1782 |
+
IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV
|
1783 |
+
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
|
1784 |
+
cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
|
1785 |
+
IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0
|
1786 |
+
aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj
|
1787 |
+
1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP
|
1788 |
+
MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72
|
1789 |
+
9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I
|
1790 |
+
AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR
|
1791 |
+
tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G
|
1792 |
+
CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O
|
1793 |
+
a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
|
1794 |
+
DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3
|
1795 |
+
Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx
|
1796 |
+
Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx
|
1797 |
+
P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P
|
1798 |
+
wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
|
1799 |
+
mJO37M2CYfE45k+XmCpajQ==
|
1800 |
+
-----END CERTIFICATE-----
|
1801 |
+
|
1802 |
+
VeriSign Class 3 Public Primary Certification Authority - G4
|
1803 |
+
============================================================
|
1804 |
+
-----BEGIN CERTIFICATE-----
|
1805 |
+
MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
|
1806 |
+
VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
|
1807 |
+
b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
|
1808 |
+
ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj
|
1809 |
+
YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL
|
1810 |
+
MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
|
1811 |
+
cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo
|
1812 |
+
b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5
|
1813 |
+
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8
|
1814 |
+
Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz
|
1815 |
+
rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB
|
1816 |
+
/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw
|
1817 |
+
HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u
|
1818 |
+
Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
|
1819 |
+
A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
|
1820 |
+
AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
|
1821 |
+
-----END CERTIFICATE-----
|
1822 |
+
|
1823 |
+
NetLock Arany (Class Gold) Főtanúsítvány
|
1824 |
+
============================================
|
1825 |
+
-----BEGIN CERTIFICATE-----
|
1826 |
+
MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
|
1827 |
+
A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
|
1828 |
+
dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB
|
1829 |
+
cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx
|
1830 |
+
MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO
|
1831 |
+
ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv
|
1832 |
+
biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6
|
1833 |
+
c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu
|
1834 |
+
0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw
|
1835 |
+
/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk
|
1836 |
+
H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw
|
1837 |
+
fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1
|
1838 |
+
neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB
|
1839 |
+
BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW
|
1840 |
+
qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta
|
1841 |
+
YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC
|
1842 |
+
bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna
|
1843 |
+
NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
|
1844 |
+
dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
|
1845 |
+
-----END CERTIFICATE-----
|
1846 |
+
|
1847 |
+
Staat der Nederlanden Root CA - G2
|
1848 |
+
==================================
|
1849 |
+
-----BEGIN CERTIFICATE-----
|
1850 |
+
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
|
1876 |
+
66+KAQ==
|
1877 |
+
-----END CERTIFICATE-----
|
1878 |
+
|
1879 |
+
CA Disig
|
1880 |
+
========
|
1881 |
+
-----BEGIN CERTIFICATE-----
|
1882 |
+
MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK
|
1883 |
+
QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw
|
1884 |
+
MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz
|
1885 |
+
bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3
|
1886 |
+
DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm
|
1887 |
+
GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD
|
1888 |
+
Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo
|
1889 |
+
hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt
|
1890 |
+
ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w
|
1891 |
+
gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P
|
1892 |
+
AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz
|
1893 |
+
aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff
|
1894 |
+
ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa
|
1895 |
+
BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t
|
1896 |
+
WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3
|
1897 |
+
mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/
|
1898 |
+
CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K
|
1899 |
+
ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA
|
1900 |
+
4Z7CRneC9VkGjCFMhwnN5ag=
|
1901 |
+
-----END CERTIFICATE-----
|
1902 |
+
|
1903 |
+
Juur-SK
|
1904 |
+
=======
|
1905 |
+
-----BEGIN CERTIFICATE-----
|
1906 |
+
MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA
|
1907 |
+
c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw
|
1908 |
+
DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG
|
1909 |
+
SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy
|
1910 |
+
aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
1911 |
+
ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf
|
1912 |
+
TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC
|
1913 |
+
+Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw
|
1914 |
+
UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa
|
1915 |
+
Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF
|
1916 |
+
MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD
|
1917 |
+
HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh
|
1918 |
+
AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA
|
1919 |
+
cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr
|
1920 |
+
AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw
|
1921 |
+
cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE
|
1922 |
+
FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G
|
1923 |
+
A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo
|
1924 |
+
ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL
|
1925 |
+
abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678
|
1926 |
+
IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh
|
1927 |
+
Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2
|
1928 |
+
yyqcjg==
|
1929 |
+
-----END CERTIFICATE-----
|
1930 |
+
|
1931 |
+
Hongkong Post Root CA 1
|
1932 |
+
=======================
|
1933 |
+
-----BEGIN CERTIFICATE-----
|
1934 |
+
MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT
|
1935 |
+
DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
|
1936 |
+
NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n
|
1937 |
+
IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF
|
1938 |
+
AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1
|
1939 |
+
ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr
|
1940 |
+
auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh
|
1941 |
+
qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY
|
1942 |
+
V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV
|
1943 |
+
HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i
|
1944 |
+
h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio
|
1945 |
+
l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei
|
1946 |
+
IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps
|
1947 |
+
T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT
|
1948 |
+
c4afU9hDDl3WY4JxHYB0yvbiAmvZWg==
|
1949 |
+
-----END CERTIFICATE-----
|
1950 |
+
|
1951 |
+
SecureSign RootCA11
|
1952 |
+
===================
|
1953 |
+
-----BEGIN CERTIFICATE-----
|
1954 |
+
MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
|
1955 |
+
SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
|
1956 |
+
b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw
|
1957 |
+
KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1
|
1958 |
+
cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL
|
1959 |
+
TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO
|
1960 |
+
wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq
|
1961 |
+
g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP
|
1962 |
+
O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA
|
1963 |
+
bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX
|
1964 |
+
t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh
|
1965 |
+
OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r
|
1966 |
+
bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ
|
1967 |
+
Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01
|
1968 |
+
y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
|
1969 |
+
lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
|
1970 |
+
-----END CERTIFICATE-----
|
1971 |
+
|
1972 |
+
ACEDICOM Root
|
1973 |
+
=============
|
1974 |
+
-----BEGIN CERTIFICATE-----
|
1975 |
+
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
|
2001 |
+
-----END CERTIFICATE-----
|
2002 |
+
|
2003 |
+
Microsec e-Szigno Root CA 2009
|
2004 |
+
==============================
|
2005 |
+
-----BEGIN CERTIFICATE-----
|
2006 |
+
MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER
|
2007 |
+
MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv
|
2008 |
+
c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o
|
2009 |
+
dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE
|
2010 |
+
BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt
|
2011 |
+
U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw
|
2012 |
+
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA
|
2013 |
+
fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG
|
2014 |
+
0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA
|
2015 |
+
pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm
|
2016 |
+
1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC
|
2017 |
+
AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf
|
2018 |
+
QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE
|
2019 |
+
FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o
|
2020 |
+
lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX
|
2021 |
+
I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775
|
2022 |
+
tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02
|
2023 |
+
yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi
|
2024 |
+
LXpUq3DDfSJlgnCW
|
2025 |
+
-----END CERTIFICATE-----
|
2026 |
+
|
2027 |
+
GlobalSign Root CA - R3
|
2028 |
+
=======================
|
2029 |
+
-----BEGIN CERTIFICATE-----
|
2030 |
+
MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv
|
2031 |
+
YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
|
2032 |
+
bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
|
2033 |
+
aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
|
2034 |
+
bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt
|
2035 |
+
iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ
|
2036 |
+
0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3
|
2037 |
+
rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl
|
2038 |
+
OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2
|
2039 |
+
xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
|
2040 |
+
FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7
|
2041 |
+
lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8
|
2042 |
+
EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E
|
2043 |
+
bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18
|
2044 |
+
YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
|
2045 |
+
kpeDMdmztcpHWD9f
|
2046 |
+
-----END CERTIFICATE-----
|
2047 |
+
|
2048 |
+
Autoridad de Certificacion Firmaprofesional CIF A62634068
|
2049 |
+
=========================================================
|
2050 |
+
-----BEGIN CERTIFICATE-----
|
2051 |
+
MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA
|
2052 |
+
BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2
|
2053 |
+
MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw
|
2054 |
+
QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB
|
2055 |
+
NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD
|
2056 |
+
Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P
|
2057 |
+
B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY
|
2058 |
+
7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH
|
2059 |
+
ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI
|
2060 |
+
plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX
|
2061 |
+
MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX
|
2062 |
+
LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK
|
2063 |
+
bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU
|
2064 |
+
vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud
|
2065 |
+
EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH
|
2066 |
+
DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp
|
2067 |
+
cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA
|
2068 |
+
bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx
|
2069 |
+
ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx
|
2070 |
+
51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk
|
2071 |
+
R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP
|
2072 |
+
T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f
|
2073 |
+
Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl
|
2074 |
+
osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR
|
2075 |
+
crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR
|
2076 |
+
saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD
|
2077 |
+
KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi
|
2078 |
+
6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
|
2079 |
+
-----END CERTIFICATE-----
|
2080 |
+
|
2081 |
+
Izenpe.com
|
2082 |
+
==========
|
2083 |
+
-----BEGIN CERTIFICATE-----
|
2084 |
+
MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG
|
2085 |
+
EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz
|
2086 |
+
MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu
|
2087 |
+
QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ
|
2088 |
+
03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK
|
2089 |
+
ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU
|
2090 |
+
+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC
|
2091 |
+
PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT
|
2092 |
+
OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK
|
2093 |
+
F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK
|
2094 |
+
0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+
|
2095 |
+
0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB
|
2096 |
+
leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID
|
2097 |
+
AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+
|
2098 |
+
SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG
|
2099 |
+
NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx
|
2100 |
+
MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
|
2101 |
+
BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l
|
2102 |
+
Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga
|
2103 |
+
kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q
|
2104 |
+
hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs
|
2105 |
+
g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5
|
2106 |
+
aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5
|
2107 |
+
nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC
|
2108 |
+
ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo
|
2109 |
+
Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z
|
2110 |
+
WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
|
2111 |
+
-----END CERTIFICATE-----
|
2112 |
+
|
2113 |
+
Chambers of Commerce Root - 2008
|
2114 |
+
================================
|
2115 |
+
-----BEGIN CERTIFICATE-----
|
2116 |
+
MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
|
2117 |
+
MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
|
2118 |
+
bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
|
2119 |
+
QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy
|
2120 |
+
Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl
|
2121 |
+
ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF
|
2122 |
+
EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl
|
2123 |
+
cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
|
2124 |
+
AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA
|
2125 |
+
XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj
|
2126 |
+
h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/
|
2127 |
+
ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk
|
2128 |
+
NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g
|
2129 |
+
D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331
|
2130 |
+
lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ
|
2131 |
+
0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
|
2132 |
+
ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2
|
2133 |
+
EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI
|
2134 |
+
G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ
|
2135 |
+
BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh
|
2136 |
+
bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh
|
2137 |
+
bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC
|
2138 |
+
CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH
|
2139 |
+
AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1
|
2140 |
+
wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH
|
2141 |
+
3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU
|
2142 |
+
RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6
|
2143 |
+
M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1
|
2144 |
+
YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF
|
2145 |
+
9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK
|
2146 |
+
zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
|
2147 |
+
nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
|
2148 |
+
OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
|
2149 |
+
-----END CERTIFICATE-----
|
2150 |
+
|
2151 |
+
Global Chambersign Root - 2008
|
2152 |
+
==============================
|
2153 |
+
-----BEGIN CERTIFICATE-----
|
2154 |
+
MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
|
2155 |
+
MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
|
2156 |
+
bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
|
2157 |
+
QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx
|
2158 |
+
NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg
|
2159 |
+
Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ
|
2160 |
+
QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
|
2161 |
+
aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf
|
2162 |
+
VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf
|
2163 |
+
XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0
|
2164 |
+
ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB
|
2165 |
+
/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA
|
2166 |
+
TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M
|
2167 |
+
H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe
|
2168 |
+
Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF
|
2169 |
+
HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
|
2170 |
+
wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB
|
2171 |
+
AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT
|
2172 |
+
BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE
|
2173 |
+
BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm
|
2174 |
+
aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm
|
2175 |
+
aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp
|
2176 |
+
1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0
|
2177 |
+
dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG
|
2178 |
+
/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6
|
2179 |
+
ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s
|
2180 |
+
dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg
|
2181 |
+
9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH
|
2182 |
+
foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du
|
2183 |
+
qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr
|
2184 |
+
P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq
|
2185 |
+
c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
|
2186 |
+
09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
|
2187 |
+
-----END CERTIFICATE-----
|
2188 |
+
|
2189 |
+
Go Daddy Root Certificate Authority - G2
|
2190 |
+
========================================
|
2191 |
+
-----BEGIN CERTIFICATE-----
|
2192 |
+
MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
|
2193 |
+
B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu
|
2194 |
+
MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
|
2195 |
+
MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
|
2196 |
+
b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G
|
2197 |
+
A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
|
2198 |
+
hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq
|
2199 |
+
9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD
|
2200 |
+
+qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd
|
2201 |
+
fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl
|
2202 |
+
NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC
|
2203 |
+
MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9
|
2204 |
+
BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac
|
2205 |
+
vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r
|
2206 |
+
5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV
|
2207 |
+
N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
|
2208 |
+
LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1
|
2209 |
+
-----END CERTIFICATE-----
|
2210 |
+
|
2211 |
+
Starfield Root Certificate Authority - G2
|
2212 |
+
=========================================
|
2213 |
+
-----BEGIN CERTIFICATE-----
|
2214 |
+
MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
|
2215 |
+
B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
|
2216 |
+
b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0
|
2217 |
+
eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw
|
2218 |
+
DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg
|
2219 |
+
VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB
|
2220 |
+
dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv
|
2221 |
+
W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs
|
2222 |
+
bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk
|
2223 |
+
N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf
|
2224 |
+
ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU
|
2225 |
+
JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
|
2226 |
+
AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol
|
2227 |
+
TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx
|
2228 |
+
4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw
|
2229 |
+
F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
|
2230 |
+
pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ
|
2231 |
+
c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
|
2232 |
+
-----END CERTIFICATE-----
|
2233 |
+
|
2234 |
+
Starfield Services Root Certificate Authority - G2
|
2235 |
+
==================================================
|
2236 |
+
-----BEGIN CERTIFICATE-----
|
2237 |
+
MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
|
2238 |
+
B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
|
2239 |
+
b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl
|
2240 |
+
IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV
|
2241 |
+
BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT
|
2242 |
+
dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg
|
2243 |
+
Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
|
2244 |
+
AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2
|
2245 |
+
h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa
|
2246 |
+
hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP
|
2247 |
+
LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB
|
2248 |
+
rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
|
2249 |
+
AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG
|
2250 |
+
SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP
|
2251 |
+
E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy
|
2252 |
+
xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
|
2253 |
+
iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza
|
2254 |
+
YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6
|
2255 |
+
-----END CERTIFICATE-----
|
2256 |
+
|
2257 |
+
AffirmTrust Commercial
|
2258 |
+
======================
|
2259 |
+
-----BEGIN CERTIFICATE-----
|
2260 |
+
MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS
|
2261 |
+
BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw
|
2262 |
+
MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
|
2263 |
+
bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF
|
2264 |
+
AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb
|
2265 |
+
DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV
|
2266 |
+
C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6
|
2267 |
+
BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww
|
2268 |
+
MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV
|
2269 |
+
HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
|
2270 |
+
AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG
|
2271 |
+
hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi
|
2272 |
+
qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv
|
2273 |
+
0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh
|
2274 |
+
sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
|
2275 |
+
-----END CERTIFICATE-----
|
2276 |
+
|
2277 |
+
AffirmTrust Networking
|
2278 |
+
======================
|
2279 |
+
-----BEGIN CERTIFICATE-----
|
2280 |
+
MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS
|
2281 |
+
BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw
|
2282 |
+
MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
|
2283 |
+
bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF
|
2284 |
+
AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE
|
2285 |
+
Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI
|
2286 |
+
dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24
|
2287 |
+
/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb
|
2288 |
+
h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV
|
2289 |
+
HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
|
2290 |
+
AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu
|
2291 |
+
UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6
|
2292 |
+
12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23
|
2293 |
+
WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9
|
2294 |
+
/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
|
2295 |
+
-----END CERTIFICATE-----
|
2296 |
+
|
2297 |
+
AffirmTrust Premium
|
2298 |
+
===================
|
2299 |
+
-----BEGIN CERTIFICATE-----
|
2300 |
+
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
|
2324 |
+
-----END CERTIFICATE-----
|
2325 |
+
|
2326 |
+
AffirmTrust Premium ECC
|
2327 |
+
=======================
|
2328 |
+
-----BEGIN CERTIFICATE-----
|
2329 |
+
MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV
|
2330 |
+
BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx
|
2331 |
+
MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U
|
2332 |
+
cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA
|
2333 |
+
IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ
|
2334 |
+
N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW
|
2335 |
+
BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK
|
2336 |
+
BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X
|
2337 |
+
57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM
|
2338 |
+
eQ==
|
2339 |
+
-----END CERTIFICATE-----
|
2340 |
+
|
2341 |
+
Certum Trusted Network CA
|
2342 |
+
=========================
|
2343 |
+
-----BEGIN CERTIFICATE-----
|
2344 |
+
MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK
|
2345 |
+
ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv
|
2346 |
+
biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy
|
2347 |
+
MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU
|
2348 |
+
ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
|
2349 |
+
MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
2350 |
+
AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC
|
2351 |
+
l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J
|
2352 |
+
J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4
|
2353 |
+
fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0
|
2354 |
+
cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB
|
2355 |
+
Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw
|
2356 |
+
DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj
|
2357 |
+
jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1
|
2358 |
+
mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj
|
2359 |
+
Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
|
2360 |
+
03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
|
2361 |
+
-----END CERTIFICATE-----
|
2362 |
+
|
2363 |
+
Certinomis - Autorité Racine
|
2364 |
+
=============================
|
2365 |
+
-----BEGIN CERTIFICATE-----
|
2366 |
+
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
|
2391 |
+
vgt2Fl43N+bYdJeimUV5
|
2392 |
+
-----END CERTIFICATE-----
|
2393 |
+
|
2394 |
+
Root CA Generalitat Valenciana
|
2395 |
+
==============================
|
2396 |
+
-----BEGIN CERTIFICATE-----
|
2397 |
+
MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE
|
2398 |
+
ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290
|
2399 |
+
IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3
|
2400 |
+
WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE
|
2401 |
+
CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G
|
2402 |
+
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2
|
2403 |
+
F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B
|
2404 |
+
ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ
|
2405 |
+
D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte
|
2406 |
+
JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB
|
2407 |
+
AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n
|
2408 |
+
dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB
|
2409 |
+
ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl
|
2410 |
+
AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA
|
2411 |
+
YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy
|
2412 |
+
AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA
|
2413 |
+
aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt
|
2414 |
+
AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA
|
2415 |
+
YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu
|
2416 |
+
AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA
|
2417 |
+
OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0
|
2418 |
+
dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV
|
2419 |
+
BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G
|
2420 |
+
A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S
|
2421 |
+
b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh
|
2422 |
+
TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz
|
2423 |
+
Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63
|
2424 |
+
NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH
|
2425 |
+
iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt
|
2426 |
+
+GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM=
|
2427 |
+
-----END CERTIFICATE-----
|
2428 |
+
|
2429 |
+
TWCA Root Certification Authority
|
2430 |
+
=================================
|
2431 |
+
-----BEGIN CERTIFICATE-----
|
2432 |
+
MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ
|
2433 |
+
VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh
|
2434 |
+
dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG
|
2435 |
+
EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB
|
2436 |
+
IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
2437 |
+
AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx
|
2438 |
+
QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC
|
2439 |
+
oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP
|
2440 |
+
4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r
|
2441 |
+
y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
|
2442 |
+
BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG
|
2443 |
+
9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC
|
2444 |
+
mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW
|
2445 |
+
QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY
|
2446 |
+
T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny
|
2447 |
+
Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
|
2448 |
+
-----END CERTIFICATE-----
|
2449 |
+
|
2450 |
+
Security Communication RootCA2
|
2451 |
+
==============================
|
2452 |
+
-----BEGIN CERTIFICATE-----
|
2453 |
+
MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
|
2454 |
+
U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh
|
2455 |
+
dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC
|
2456 |
+
SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy
|
2457 |
+
aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
2458 |
+
ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++
|
2459 |
+
+T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R
|
2460 |
+
3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV
|
2461 |
+
spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K
|
2462 |
+
EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8
|
2463 |
+
QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
|
2464 |
+
CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj
|
2465 |
+
u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk
|
2466 |
+
3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q
|
2467 |
+
tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29
|
2468 |
+
mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
|
2469 |
+
-----END CERTIFICATE-----
|
2470 |
+
|
2471 |
+
EC-ACC
|
2472 |
+
======
|
2473 |
+
-----BEGIN CERTIFICATE-----
|
2474 |
+
MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE
|
2475 |
+
BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w
|
2476 |
+
ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD
|
2477 |
+
VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE
|
2478 |
+
CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT
|
2479 |
+
BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7
|
2480 |
+
MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt
|
2481 |
+
SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl
|
2482 |
+
Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh
|
2483 |
+
cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND
|
2484 |
+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK
|
2485 |
+
w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT
|
2486 |
+
ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4
|
2487 |
+
HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a
|
2488 |
+
E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw
|
2489 |
+
0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E
|
2490 |
+
BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD
|
2491 |
+
VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0
|
2492 |
+
Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l
|
2493 |
+
dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ
|
2494 |
+
lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa
|
2495 |
+
Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe
|
2496 |
+
l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2
|
2497 |
+
E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D
|
2498 |
+
5EI=
|
2499 |
+
-----END CERTIFICATE-----
|
2500 |
+
|
2501 |
+
Hellenic Academic and Research Institutions RootCA 2011
|
2502 |
+
=======================================================
|
2503 |
+
-----BEGIN CERTIFICATE-----
|
2504 |
+
MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
|
2505 |
+
O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
|
2506 |
+
aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
|
2507 |
+
IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT
|
2508 |
+
AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
|
2509 |
+
IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo
|
2510 |
+
IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
2511 |
+
AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI
|
2512 |
+
1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa
|
2513 |
+
71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u
|
2514 |
+
8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH
|
2515 |
+
3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/
|
2516 |
+
MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8
|
2517 |
+
MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu
|
2518 |
+
b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt
|
2519 |
+
XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
|
2520 |
+
TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD
|
2521 |
+
/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
|
2522 |
+
7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
|
2523 |
+
-----END CERTIFICATE-----
|
2524 |
+
|
2525 |
+
Actalis Authentication Root CA
|
2526 |
+
==============================
|
2527 |
+
-----BEGIN CERTIFICATE-----
|
2528 |
+
MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM
|
2529 |
+
BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE
|
2530 |
+
AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky
|
2531 |
+
MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz
|
2532 |
+
IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290
|
2533 |
+
IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ
|
2534 |
+
wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa
|
2535 |
+
by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6
|
2536 |
+
zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f
|
2537 |
+
YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2
|
2538 |
+
oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l
|
2539 |
+
EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7
|
2540 |
+
hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8
|
2541 |
+
EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5
|
2542 |
+
jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY
|
2543 |
+
iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt
|
2544 |
+
ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI
|
2545 |
+
WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0
|
2546 |
+
JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx
|
2547 |
+
K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+
|
2548 |
+
Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC
|
2549 |
+
4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo
|
2550 |
+
2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz
|
2551 |
+
lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem
|
2552 |
+
OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9
|
2553 |
+
vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
|
2554 |
+
-----END CERTIFICATE-----
|
2555 |
+
|
2556 |
+
Trustis FPS Root CA
|
2557 |
+
===================
|
2558 |
+
-----BEGIN CERTIFICATE-----
|
2559 |
+
MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
|
2560 |
+
EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
|
2561 |
+
IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV
|
2562 |
+
BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ
|
2563 |
+
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ
|
2564 |
+
RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk
|
2565 |
+
H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa
|
2566 |
+
cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt
|
2567 |
+
o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA
|
2568 |
+
AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd
|
2569 |
+
BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c
|
2570 |
+
GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC
|
2571 |
+
yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P
|
2572 |
+
8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV
|
2573 |
+
l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
|
2574 |
+
iB6XzCGcKQENZetX2fNXlrtIzYE=
|
2575 |
+
-----END CERTIFICATE-----
|
2576 |
+
|
2577 |
+
StartCom Certification Authority
|
2578 |
+
================================
|
2579 |
+
-----BEGIN CERTIFICATE-----
|
2580 |
+
MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
|
2581 |
+
U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
|
2582 |
+
ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
|
2583 |
+
NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
|
2584 |
+
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
|
2585 |
+
U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
|
2586 |
+
ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
|
2587 |
+
o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
|
2588 |
+
Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
|
2589 |
+
eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
|
2590 |
+
2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
|
2591 |
+
6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
|
2592 |
+
osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
|
2593 |
+
untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
|
2594 |
+
UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
|
2595 |
+
37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
|
2596 |
+
VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ
|
2597 |
+
Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0
|
2598 |
+
dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu
|
2599 |
+
c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv
|
2600 |
+
bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0
|
2601 |
+
aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0
|
2602 |
+
aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t
|
2603 |
+
L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG
|
2604 |
+
cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5
|
2605 |
+
fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm
|
2606 |
+
N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN
|
2607 |
+
Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T
|
2608 |
+
tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX
|
2609 |
+
e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA
|
2610 |
+
2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs
|
2611 |
+
HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE
|
2612 |
+
JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib
|
2613 |
+
D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8=
|
2614 |
+
-----END CERTIFICATE-----
|
2615 |
+
|
2616 |
+
StartCom Certification Authority G2
|
2617 |
+
===================================
|
2618 |
+
-----BEGIN CERTIFICATE-----
|
2619 |
+
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
|
2643 |
+
obp573PYtlNXLfbQ4ddI
|
2644 |
+
-----END CERTIFICATE-----
|
2645 |
+
|
2646 |
+
Buypass Class 2 Root CA
|
2647 |
+
=======================
|
2648 |
+
-----BEGIN CERTIFICATE-----
|
2649 |
+
MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
|
2650 |
+
QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X
|
2651 |
+
DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
|
2652 |
+
eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw
|
2653 |
+
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1
|
2654 |
+
g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn
|
2655 |
+
9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b
|
2656 |
+
/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU
|
2657 |
+
CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff
|
2658 |
+
awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI
|
2659 |
+
zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn
|
2660 |
+
Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX
|
2661 |
+
Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs
|
2662 |
+
M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
|
2663 |
+
VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
|
2664 |
+
AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s
|
2665 |
+
A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI
|
2666 |
+
osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S
|
2667 |
+
aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd
|
2668 |
+
DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD
|
2669 |
+
LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0
|
2670 |
+
oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC
|
2671 |
+
wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS
|
2672 |
+
CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN
|
2673 |
+
rJgWVqA=
|
2674 |
+
-----END CERTIFICATE-----
|
2675 |
+
|
2676 |
+
Buypass Class 3 Root CA
|
2677 |
+
=======================
|
2678 |
+
-----BEGIN CERTIFICATE-----
|
2679 |
+
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
|
2703 |
+
Cp/HuZc=
|
2704 |
+
-----END CERTIFICATE-----
|
2705 |
+
|
2706 |
+
T-TeleSec GlobalRoot Class 3
|
2707 |
+
============================
|
2708 |
+
-----BEGIN CERTIFICATE-----
|
2709 |
+
MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
|
2710 |
+
IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
|
2711 |
+
cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx
|
2712 |
+
MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
|
2713 |
+
dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
|
2714 |
+
ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3
|
2715 |
+
DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK
|
2716 |
+
9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU
|
2717 |
+
NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF
|
2718 |
+
iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W
|
2719 |
+
0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA
|
2720 |
+
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr
|
2721 |
+
AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb
|
2722 |
+
fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT
|
2723 |
+
ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
|
2724 |
+
P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
|
2725 |
+
e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
|
2726 |
+
-----END CERTIFICATE-----
|
2727 |
+
|
2728 |
+
EE Certification Centre Root CA
|
2729 |
+
===============================
|
2730 |
+
-----BEGIN CERTIFICATE-----
|
2731 |
+
MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
|
2732 |
+
EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
|
2733 |
+
dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw
|
2734 |
+
MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB
|
2735 |
+
UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy
|
2736 |
+
ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
|
2737 |
+
DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM
|
2738 |
+
TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2
|
2739 |
+
rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw
|
2740 |
+
93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN
|
2741 |
+
P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T
|
2742 |
+
AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ
|
2743 |
+
MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF
|
2744 |
+
BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj
|
2745 |
+
xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM
|
2746 |
+
lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
|
2747 |
+
uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
|
2748 |
+
3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
|
2749 |
+
dcGWxZ0=
|
2750 |
+
-----END CERTIFICATE-----
|
2751 |
+
|
2752 |
+
TURKTRUST Certificate Services Provider Root 2007
|
2753 |
+
=================================================
|
2754 |
+
-----BEGIN CERTIFICATE-----
|
2755 |
+
MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
|
2756 |
+
bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
|
2757 |
+
MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
|
2758 |
+
QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X
|
2759 |
+
DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl
|
2760 |
+
a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN
|
2761 |
+
BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
|
2762 |
+
bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw
|
2763 |
+
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N
|
2764 |
+
YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv
|
2765 |
+
KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya
|
2766 |
+
KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT
|
2767 |
+
rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC
|
2768 |
+
AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP
|
2769 |
+
BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s
|
2770 |
+
Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I
|
2771 |
+
aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO
|
2772 |
+
Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb
|
2773 |
+
BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK
|
2774 |
+
poRq0Tl9
|
2775 |
+
-----END CERTIFICATE-----
|
2776 |
+
|
2777 |
+
D-TRUST Root Class 3 CA 2 2009
|
2778 |
+
==============================
|
2779 |
+
-----BEGIN CERTIFICATE-----
|
2780 |
+
MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK
|
2781 |
+
DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe
|
2782 |
+
Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE
|
2783 |
+
LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw
|
2784 |
+
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD
|
2785 |
+
ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA
|
2786 |
+
BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv
|
2787 |
+
KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z
|
2788 |
+
p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC
|
2789 |
+
AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ
|
2790 |
+
4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y
|
2791 |
+
eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw
|
2792 |
+
MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G
|
2793 |
+
PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw
|
2794 |
+
OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm
|
2795 |
+
2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0
|
2796 |
+
o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV
|
2797 |
+
dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph
|
2798 |
+
X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I=
|
2799 |
+
-----END CERTIFICATE-----
|
2800 |
+
|
2801 |
+
D-TRUST Root Class 3 CA 2 EV 2009
|
2802 |
+
=================================
|
2803 |
+
-----BEGIN CERTIFICATE-----
|
2804 |
+
MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
|
2805 |
+
DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
|
2806 |
+
OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
|
2807 |
+
DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
|
2808 |
+
OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS
|
2809 |
+
egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh
|
2810 |
+
zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T
|
2811 |
+
7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60
|
2812 |
+
sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35
|
2813 |
+
11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv
|
2814 |
+
cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v
|
2815 |
+
ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El
|
2816 |
+
MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp
|
2817 |
+
b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh
|
2818 |
+
c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+
|
2819 |
+
PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05
|
2820 |
+
nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX
|
2821 |
+
ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA
|
2822 |
+
NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv
|
2823 |
+
w9y4AyHqnxbxLFS1
|
2824 |
+
-----END CERTIFICATE-----
|
2825 |
+
|
2826 |
+
PSCProcert
|
2827 |
+
==========
|
2828 |
+
-----BEGIN CERTIFICATE-----
|
2829 |
+
MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk
|
2830 |
+
ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ
|
2831 |
+
MA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlzdHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lz
|
2832 |
+
dGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBl
|
2833 |
+
cmludGVuZGVuY2lhIGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUw
|
2834 |
+
IwYJKoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEwMFoXDTIw
|
2835 |
+
MTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHByb2NlcnQubmV0LnZlMQ8w
|
2836 |
+
DQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGExKjAoBgNVBAsTIVByb3ZlZWRvciBkZSBD
|
2837 |
+
ZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZp
|
2838 |
+
Y2FjaW9uIEVsZWN0cm9uaWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIw
|
2839 |
+
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo97BVC
|
2840 |
+
wfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74BCXfgI8Qhd19L3uA
|
2841 |
+
3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38GieU89RLAu9MLmV+QfI4tL3czkkoh
|
2842 |
+
RqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmO
|
2843 |
+
EO8GqQKJ/+MMbpfg353bIdD0PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG2
|
2844 |
+
0qCZyFSTXai20b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH
|
2845 |
+
0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/6mnbVSKVUyqU
|
2846 |
+
td+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1mv6JpIzi4mWCZDlZTOpx+FIyw
|
2847 |
+
Bm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvp
|
2848 |
+
r2uKGcfLFFb14dq12fy/czja+eevbqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/
|
2849 |
+
AgEBMDcGA1UdEgQwMC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAz
|
2850 |
+
Ni0wMB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFDgBStuyId
|
2851 |
+
xuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0b3JpZGFkIGRlIENlcnRp
|
2852 |
+
ZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xhbm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQH
|
2853 |
+
EwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5h
|
2854 |
+
Y2lvbmFsIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5k
|
2855 |
+
ZW5jaWEgZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkqhkiG
|
2856 |
+
9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQDAgEGME0GA1UdEQRG
|
2857 |
+
MESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0wMDAwMDKgGwYFYIZeAgKgEgwQUklG
|
2858 |
+
LUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEagRKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52
|
2859 |
+
ZS9sY3IvQ0VSVElGSUNBRE8tUkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNy
|
2860 |
+
YWl6LnN1c2NlcnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v
|
2861 |
+
Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsGAQUFBwIBFh5o
|
2862 |
+
dHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcNAQELBQADggIBACtZ6yKZu4Sq
|
2863 |
+
T96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmN
|
2864 |
+
g7+mvTV+LFwxNG9s2/NkAZiqlCxB3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4q
|
2865 |
+
uxtxj7mkoP3YldmvWb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1
|
2866 |
+
n8GhHVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHmpHmJWhSn
|
2867 |
+
FFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXzsOfIt+FTvZLm8wyWuevo
|
2868 |
+
5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bEqCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq
|
2869 |
+
3TNWOByyrYDT13K9mmyZY+gAu0F2BbdbmRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5
|
2870 |
+
poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y
|
2871 |
+
eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km
|
2872 |
+
-----END CERTIFICATE-----
|
2873 |
+
|
2874 |
+
China Internet Network Information Center EV Certificates Root
|
2875 |
+
==============================================================
|
2876 |
+
-----BEGIN CERTIFICATE-----
|
2877 |
+
MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCQ04xMjAwBgNV
|
2878 |
+
BAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyMUcwRQYDVQQDDD5D
|
2879 |
+
aGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0aW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMg
|
2880 |
+
Um9vdDAeFw0xMDA4MzEwNzExMjVaFw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAG
|
2881 |
+
A1UECgwpQ2hpbmEgSW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMM
|
2882 |
+
PkNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRpZmljYXRl
|
2883 |
+
cyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z7r07eKpkQ0H1UN+U8i6y
|
2884 |
+
jUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA//DdmEEbK40ctb3B75aDFk4Zv6dOtouSCV
|
2885 |
+
98YPjUesWgbdYavi7NifFy2cyjw1l1VxzUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2H
|
2886 |
+
klY0bBoQCxfVWhyXWIQ8hBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23
|
2887 |
+
KzhmBsUs4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54ugQEC
|
2888 |
+
7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oYNJKiyoOCWTAPBgNV
|
2889 |
+
HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUfHJLOcfA22KlT5uqGDSSosqD
|
2890 |
+
glkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd5
|
2891 |
+
0XPFtQO3WKwMVC/GVhMPMdoG52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM
|
2892 |
+
7+czV0I664zBechNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws
|
2893 |
+
ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrIzo9uoV1/A3U0
|
2894 |
+
5K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATywy39FCqQmbkHzJ8=
|
2895 |
+
-----END CERTIFICATE-----
|
2896 |
+
|
2897 |
+
Swisscom Root CA 2
|
2898 |
+
==================
|
2899 |
+
-----BEGIN CERTIFICATE-----
|
2900 |
+
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
|
2926 |
+
5OfNeOI5wSsSnqaeG8XmDtkx2Q==
|
2927 |
+
-----END CERTIFICATE-----
|
2928 |
+
|
2929 |
+
Swisscom Root EV CA 2
|
2930 |
+
=====================
|
2931 |
+
-----BEGIN CERTIFICATE-----
|
2932 |
+
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
|
2958 |
+
l8PVP3wbI+2ksx0WckNLIOFZfsLorSa/ovc=
|
2959 |
+
-----END CERTIFICATE-----
|
2960 |
+
|
2961 |
+
CA Disig Root R1
|
2962 |
+
================
|
2963 |
+
-----BEGIN CERTIFICATE-----
|
2964 |
+
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
|
2988 |
+
a7+h89n07eLw4+1knj0vllJPgFOL
|
2989 |
+
-----END CERTIFICATE-----
|
2990 |
+
|
2991 |
+
CA Disig Root R2
|
2992 |
+
================
|
2993 |
+
-----BEGIN CERTIFICATE-----
|
2994 |
+
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
|
3018 |
+
7+ZtsH8tZ/3zbBt1RqPlShfppNcL
|
3019 |
+
-----END CERTIFICATE-----
|
3020 |
+
|
3021 |
+
ACCVRAIZ1
|
3022 |
+
=========
|
3023 |
+
-----BEGIN CERTIFICATE-----
|
3024 |
+
MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB
|
3025 |
+
SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1
|
3026 |
+
MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH
|
3027 |
+
UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
|
3028 |
+
DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM
|
3029 |
+
jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0
|
3030 |
+
RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD
|
3031 |
+
aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ
|
3032 |
+
0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG
|
3033 |
+
WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7
|
3034 |
+
8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR
|
3035 |
+
5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J
|
3036 |
+
9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK
|
3037 |
+
Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw
|
3038 |
+
Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu
|
3039 |
+
Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2
|
3040 |
+
VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM
|
3041 |
+
Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA
|
3042 |
+
QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh
|
3043 |
+
AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA
|
3044 |
+
YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj
|
3045 |
+
AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA
|
3046 |
+
IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk
|
3047 |
+
aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0
|
3048 |
+
dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2
|
3049 |
+
MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI
|
3050 |
+
hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E
|
3051 |
+
R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN
|
3052 |
+
YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49
|
3053 |
+
nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ
|
3054 |
+
TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3
|
3055 |
+
sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h
|
3056 |
+
I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg
|
3057 |
+
Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd
|
3058 |
+
3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p
|
3059 |
+
EfbRD0tVNEYqi4Y7
|
3060 |
+
-----END CERTIFICATE-----
|
3061 |
+
|
3062 |
+
TWCA Global Root CA
|
3063 |
+
===================
|
3064 |
+
-----BEGIN CERTIFICATE-----
|
3065 |
+
MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT
|
3066 |
+
CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD
|
3067 |
+
QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK
|
3068 |
+
EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg
|
3069 |
+
Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C
|
3070 |
+
nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV
|
3071 |
+
r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR
|
3072 |
+
Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV
|
3073 |
+
tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W
|
3074 |
+
KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99
|
3075 |
+
sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p
|
3076 |
+
yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn
|
3077 |
+
kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI
|
3078 |
+
zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC
|
3079 |
+
AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g
|
3080 |
+
cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn
|
3081 |
+
LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M
|
3082 |
+
8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg
|
3083 |
+
/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg
|
3084 |
+
lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP
|
3085 |
+
A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m
|
3086 |
+
i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8
|
3087 |
+
EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3
|
3088 |
+
zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0=
|
3089 |
+
-----END CERTIFICATE-----
|
3090 |
+
|
3091 |
+
TeliaSonera Root CA v1
|
3092 |
+
======================
|
3093 |
+
-----BEGIN CERTIFICATE-----
|
3094 |
+
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
|
3117 |
+
WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=
|
3118 |
+
-----END CERTIFICATE-----
|
3119 |
+
|
3120 |
+
E-Tugra Certification Authority
|
3121 |
+
===============================
|
3122 |
+
-----BEGIN CERTIFICATE-----
|
3123 |
+
MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w
|
3124 |
+
DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls
|
3125 |
+
ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN
|
3126 |
+
ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw
|
3127 |
+
NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx
|
3128 |
+
QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl
|
3129 |
+
cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD
|
3130 |
+
DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
|
3131 |
+
MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd
|
3132 |
+
hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K
|
3133 |
+
CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g
|
3134 |
+
ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ
|
3135 |
+
BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0
|
3136 |
+
E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz
|
3137 |
+
rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq
|
3138 |
+
jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn
|
3139 |
+
rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5
|
3140 |
+
dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB
|
3141 |
+
/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG
|
3142 |
+
MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK
|
3143 |
+
kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO
|
3144 |
+
XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807
|
3145 |
+
VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo
|
3146 |
+
a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc
|
3147 |
+
dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV
|
3148 |
+
KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT
|
3149 |
+
Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0
|
3150 |
+
8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G
|
3151 |
+
C7TbO6Orb1wdtn7os4I07QZcJA==
|
3152 |
+
-----END CERTIFICATE-----
|
3153 |
+
|
3154 |
+
T-TeleSec GlobalRoot Class 2
|
3155 |
+
============================
|
3156 |
+
-----BEGIN CERTIFICATE-----
|
3157 |
+
MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
|
3158 |
+
IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
|
3159 |
+
cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx
|
3160 |
+
MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
|
3161 |
+
dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
|
3162 |
+
ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3
|
3163 |
+
DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ
|
3164 |
+
SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F
|
3165 |
+
vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970
|
3166 |
+
2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV
|
3167 |
+
WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA
|
3168 |
+
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy
|
3169 |
+
YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4
|
3170 |
+
r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf
|
3171 |
+
vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR
|
3172 |
+
3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
|
3173 |
+
9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg==
|
3174 |
+
-----END CERTIFICATE-----
|
3175 |
+
|
3176 |
+
Atos TrustedRoot 2011
|
3177 |
+
=====================
|
3178 |
+
-----BEGIN CERTIFICATE-----
|
3179 |
+
MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU
|
3180 |
+
cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4
|
3181 |
+
MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG
|
3182 |
+
A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV
|
3183 |
+
hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr
|
3184 |
+
54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+
|
3185 |
+
DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320
|
3186 |
+
HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR
|
3187 |
+
z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R
|
3188 |
+
l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ
|
3189 |
+
bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
|
3190 |
+
CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h
|
3191 |
+
k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh
|
3192 |
+
TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9
|
3193 |
+
61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G
|
3194 |
+
3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
|
3195 |
+
-----END CERTIFICATE-----
|
3196 |
+
|
3197 |
+
QuoVadis Root CA 1 G3
|
3198 |
+
=====================
|
3199 |
+
-----BEGIN CERTIFICATE-----
|
3200 |
+
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
|
3224 |
+
hMJKzRwuJIczYOXD
|
3225 |
+
-----END CERTIFICATE-----
|
3226 |
+
|
3227 |
+
QuoVadis Root CA 2 G3
|
3228 |
+
=====================
|
3229 |
+
-----BEGIN CERTIFICATE-----
|
3230 |
+
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
|
3254 |
+
O3jtZsSOeWmD3n+M
|
3255 |
+
-----END CERTIFICATE-----
|
3256 |
+
|
3257 |
+
QuoVadis Root CA 3 G3
|
3258 |
+
=====================
|
3259 |
+
-----BEGIN CERTIFICATE-----
|
3260 |
+
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
|
3284 |
+
PpxxVJkES/1Y+Zj0
|
3285 |
+
-----END CERTIFICATE-----
|
3286 |
+
|
3287 |
+
DigiCert Assured ID Root G2
|
3288 |
+
===========================
|
3289 |
+
-----BEGIN CERTIFICATE-----
|
3290 |
+
MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG
|
3291 |
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
|
3292 |
+
IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw
|
3293 |
+
MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
|
3294 |
+
ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw
|
3295 |
+
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH
|
3296 |
+
35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq
|
3297 |
+
bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw
|
3298 |
+
VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP
|
3299 |
+
YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn
|
3300 |
+
lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO
|
3301 |
+
w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv
|
3302 |
+
0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz
|
3303 |
+
d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW
|
3304 |
+
hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M
|
3305 |
+
jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo
|
3306 |
+
IhNzbM8m9Yop5w==
|
3307 |
+
-----END CERTIFICATE-----
|
3308 |
+
|
3309 |
+
DigiCert Assured ID Root G3
|
3310 |
+
===========================
|
3311 |
+
-----BEGIN CERTIFICATE-----
|
3312 |
+
MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV
|
3313 |
+
UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD
|
3314 |
+
VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
|
3315 |
+
MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
3316 |
+
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ
|
3317 |
+
BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb
|
3318 |
+
RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs
|
3319 |
+
KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF
|
3320 |
+
UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy
|
3321 |
+
YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy
|
3322 |
+
1vUhZscv6pZjamVFkpUBtA==
|
3323 |
+
-----END CERTIFICATE-----
|
3324 |
+
|
3325 |
+
DigiCert Global Root G2
|
3326 |
+
=======================
|
3327 |
+
-----BEGIN CERTIFICATE-----
|
3328 |
+
MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG
|
3329 |
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
|
3330 |
+
HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx
|
3331 |
+
MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
|
3332 |
+
dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq
|
3333 |
+
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ
|
3334 |
+
kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO
|
3335 |
+
3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV
|
3336 |
+
BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM
|
3337 |
+
UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB
|
3338 |
+
o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu
|
3339 |
+
5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr
|
3340 |
+
F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U
|
3341 |
+
WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH
|
3342 |
+
QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/
|
3343 |
+
iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
|
3344 |
+
MrY=
|
3345 |
+
-----END CERTIFICATE-----
|
3346 |
+
|
3347 |
+
DigiCert Global Root G3
|
3348 |
+
=======================
|
3349 |
+
-----BEGIN CERTIFICATE-----
|
3350 |
+
MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV
|
3351 |
+
UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD
|
3352 |
+
VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw
|
3353 |
+
MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k
|
3354 |
+
aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C
|
3355 |
+
AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O
|
3356 |
+
YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP
|
3357 |
+
BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp
|
3358 |
+
Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y
|
3359 |
+
3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34
|
3360 |
+
VOKa5Vt8sycX
|
3361 |
+
-----END CERTIFICATE-----
|
3362 |
+
|
3363 |
+
DigiCert Trusted Root G4
|
3364 |
+
========================
|
3365 |
+
-----BEGIN CERTIFICATE-----
|
3366 |
+
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
|
3391 |
+
82Z+
|
3392 |
+
-----END CERTIFICATE-----
|
3393 |
+
|
3394 |
+
WoSign
|
3395 |
+
======
|
3396 |
+
-----BEGIN CERTIFICATE-----
|
3397 |
+
MIIFdjCCA16gAwIBAgIQXmjWEXGUY1BWAGjzPsnFkTANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQG
|
3398 |
+
EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNVBAMTIUNlcnRpZmljYXRpb24g
|
3399 |
+
QXV0aG9yaXR5IG9mIFdvU2lnbjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMFUxCzAJ
|
3400 |
+
BgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEqMCgGA1UEAxMhQ2VydGlmaWNh
|
3401 |
+
dGlvbiBBdXRob3JpdHkgb2YgV29TaWduMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
|
3402 |
+
vcqNrLiRFVaXe2tcesLea9mhsMMQI/qnobLMMfo+2aYpbxY94Gv4uEBf2zmoAHqLoE1UfcIiePyO
|
3403 |
+
CbiohdfMlZdLdNiefvAA5A6JrkkoRBoQmTIPJYhTpA2zDxIIFgsDcSccf+Hb0v1naMQFXQoOXXDX
|
3404 |
+
2JegvFNBmpGN9J42Znp+VsGQX+axaCA2pIwkLCxHC1l2ZjC1vt7tj/id07sBMOby8w7gLJKA84X5
|
3405 |
+
KIq0VC6a7fd2/BVoFutKbOsuEo/Uz/4Mx1wdC34FMr5esAkqQtXJTpCzWQ27en7N1QhatH/YHGkR
|
3406 |
+
+ScPewavVIMYe+HdVHpRaG53/Ma/UkpmRqGyZxq7o093oL5d//xWC0Nyd5DKnvnyOfUNqfTq1+ez
|
3407 |
+
EC8wQjchzDBwyYaYD8xYTYO7feUapTeNtqwylwA6Y3EkHp43xP901DfA4v6IRmAR3Qg/UDaruHqk
|
3408 |
+
lWJqbrDKaiFaafPz+x1wOZXzp26mgYmhiMU7ccqjUu6Du/2gd/Tkb+dC221KmYo0SLwX3OSACCK2
|
3409 |
+
8jHAPwQ+658geda4BmRkAjHXqc1S+4RFaQkAKtxVi8QGRkvASh0JWzko/amrzgD5LkhLJuYwTKVY
|
3410 |
+
yrREgk/nkR4zw7CT/xH8gdLKH3Ep3XZPkiWvHYG3Dy+MwwbMLyejSuQOmbp8HkUff6oZRZb9/D0C
|
3411 |
+
AwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOFmzw7R
|
3412 |
+
8bNLtwYgFP6HEtX2/vs+MA0GCSqGSIb3DQEBBQUAA4ICAQCoy3JAsnbBfnv8rWTjMnvMPLZdRtP1
|
3413 |
+
LOJwXcgu2AZ9mNELIaCJWSQBnfmvCX0KI4I01fx8cpm5o9dU9OpScA7F9dY74ToJMuYhOZO9sxXq
|
3414 |
+
T2r09Ys/L3yNWC7F4TmgPsc9SnOeQHrAK2GpZ8nzJLmzbVUsWh2eJXLOC62qx1ViC777Y7NhRCOj
|
3415 |
+
y+EaDveaBk3e1CNOIZZbOVtXHS9dCF4Jef98l7VNg64N1uajeeAz0JmWAjCnPv/So0M/BVoG6kQC
|
3416 |
+
2nz4SNAzqfkHx5Xh9T71XXG68pWpdIhhWeO/yloTunK0jF02h+mmxTwTv97QRCbut+wucPrXnbes
|
3417 |
+
5cVAWubXbHssw1abR80LzvobtCHXt2a49CUwi1wNuepnsvRtrtWhnk/Yn+knArAdBtaP4/tIEp9/
|
3418 |
+
EaEQPkxROpaw0RPxx9gmrjrKkcRpnd8BKWRRb2jaFOwIQZeQjdCygPLPwj2/kWjFgGcexGATVdVh
|
3419 |
+
mVd8upUPYUk6ynW8yQqTP2cOEvIo4jEbwFcW3wh8GcF+Dx+FHgo2fFt+J7x6v+Db9NpSvd4MVHAx
|
3420 |
+
kUOVyLzwPt0JfjBkUO1/AaQzZ01oT74V77D2AhGiGxMlOtzCWfHjXEa7ZywCRuoeSKbmW9m1vFGi
|
3421 |
+
kpbbqsY3Iqb+zCB0oy2pLmvLwIIRIbWTee5Ehr7XHuQe+w==
|
3422 |
+
-----END CERTIFICATE-----
|
3423 |
+
|
3424 |
+
WoSign China
|
3425 |
+
============
|
3426 |
+
-----BEGIN CERTIFICATE-----
|
3427 |
+
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
|
3451 |
+
kI26oQ==
|
3452 |
+
-----END CERTIFICATE-----
|
3453 |
+
|
3454 |
+
COMODO RSA Certification Authority
|
3455 |
+
==================================
|
3456 |
+
-----BEGIN CERTIFICATE-----
|
3457 |
+
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
|
3483 |
+
LaZRfyHBNVOFBkpdn627G190
|
3484 |
+
-----END CERTIFICATE-----
|
3485 |
+
|
3486 |
+
USERTrust RSA Certification Authority
|
3487 |
+
=====================================
|
3488 |
+
-----BEGIN CERTIFICATE-----
|
3489 |
+
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
|
3515 |
+
Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9
|
3516 |
+
-----END CERTIFICATE-----
|
3517 |
+
|
3518 |
+
USERTrust ECC Certification Authority
|
3519 |
+
=====================================
|
3520 |
+
-----BEGIN CERTIFICATE-----
|
3521 |
+
MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC
|
3522 |
+
VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
|
3523 |
+
aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv
|
3524 |
+
biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC
|
3525 |
+
VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
|
3526 |
+
aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv
|
3527 |
+
biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2
|
3528 |
+
0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez
|
3529 |
+
nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV
|
3530 |
+
HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB
|
3531 |
+
HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu
|
3532 |
+
9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg=
|
3533 |
+
-----END CERTIFICATE-----
|
3534 |
+
|
3535 |
+
GlobalSign ECC Root CA - R4
|
3536 |
+
===========================
|
3537 |
+
-----BEGIN CERTIFICATE-----
|
3538 |
+
MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEkMCIGA1UECxMb
|
3539 |
+
R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
|
3540 |
+
EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb
|
3541 |
+
R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
|
3542 |
+
EwpHbG9iYWxTaWduMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprl
|
3543 |
+
OQcJFspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAwDgYDVR0P
|
3544 |
+
AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61FuOJAf/sKbvu+M8k8o4TV
|
3545 |
+
MAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGXkPoUVy0D7O48027KqGx2vKLeuwIgJ6iF
|
3546 |
+
JzWbVsaj8kfSt24bAgAXqmemFZHe+pTsewv4n4Q=
|
3547 |
+
-----END CERTIFICATE-----
|
3548 |
+
|
3549 |
+
GlobalSign ECC Root CA - R5
|
3550 |
+
===========================
|
3551 |
+
-----BEGIN CERTIFICATE-----
|
3552 |
+
MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb
|
3553 |
+
R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
|
3554 |
+
EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb
|
3555 |
+
R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
|
3556 |
+
EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6
|
3557 |
+
SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS
|
3558 |
+
h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd
|
3559 |
+
BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx
|
3560 |
+
uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7
|
3561 |
+
yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3
|
3562 |
+
-----END CERTIFICATE-----
|
3563 |
+
|
3564 |
+
Staat der Nederlanden Root CA - G3
|
3565 |
+
==================================
|
3566 |
+
-----BEGIN CERTIFICATE-----
|
3567 |
+
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
|
3592 |
+
-----END CERTIFICATE-----
|
3593 |
+
|
3594 |
+
Staat der Nederlanden EV Root CA
|
3595 |
+
================================
|
3596 |
+
-----BEGIN CERTIFICATE-----
|
3597 |
+
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
|
3621 |
+
eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg==
|
3622 |
+
-----END CERTIFICATE-----
|
3623 |
+
|
3624 |
+
IdenTrust Commercial Root CA 1
|
3625 |
+
==============================
|
3626 |
+
-----BEGIN CERTIFICATE-----
|
3627 |
+
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
|
3651 |
+
cGzM7vRX+Bi6hG6H
|
3652 |
+
-----END CERTIFICATE-----
|
3653 |
+
|
3654 |
+
IdenTrust Public Sector Root CA 1
|
3655 |
+
=================================
|
3656 |
+
-----BEGIN CERTIFICATE-----
|
3657 |
+
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
|
3681 |
+
3Wl9af0AVqW3rLatt8o+Ae+c
|
3682 |
+
-----END CERTIFICATE-----
|
3683 |
+
|
3684 |
+
Entrust Root Certification Authority - G2
|
3685 |
+
=========================================
|
3686 |
+
-----BEGIN CERTIFICATE-----
|
3687 |
+
MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV
|
3688 |
+
BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy
|
3689 |
+
bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug
|
3690 |
+
b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw
|
3691 |
+
HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT
|
3692 |
+
DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx
|
3693 |
+
OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s
|
3694 |
+
eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi
|
3695 |
+
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP
|
3696 |
+
/vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz
|
3697 |
+
HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU
|
3698 |
+
s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y
|
3699 |
+
TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx
|
3700 |
+
AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6
|
3701 |
+
0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z
|
3702 |
+
iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ
|
3703 |
+
Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi
|
3704 |
+
nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+
|
3705 |
+
vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO
|
3706 |
+
e4pIb4tF9g==
|
3707 |
+
-----END CERTIFICATE-----
|
3708 |
+
|
3709 |
+
Entrust Root Certification Authority - EC1
|
3710 |
+
==========================================
|
3711 |
+
-----BEGIN CERTIFICATE-----
|
3712 |
+
MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx
|
3713 |
+
FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn
|
3714 |
+
YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl
|
3715 |
+
ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5
|
3716 |
+
IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw
|
3717 |
+
FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs
|
3718 |
+
LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg
|
3719 |
+
dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt
|
3720 |
+
IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy
|
3721 |
+
AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef
|
3722 |
+
9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
|
3723 |
+
FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h
|
3724 |
+
vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8
|
3725 |
+
kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G
|
3726 |
+
-----END CERTIFICATE-----
|
3727 |
+
|
3728 |
+
CFCA EV ROOT
|
3729 |
+
============
|
3730 |
+
-----BEGIN CERTIFICATE-----
|
3731 |
+
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
|
3756 |
+
-----END CERTIFICATE-----
|
3757 |
+
|
3758 |
+
TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H5
|
3759 |
+
=========================================================
|
3760 |
+
-----BEGIN CERTIFICATE-----
|
3761 |
+
MIIEJzCCAw+gAwIBAgIHAI4X/iQggTANBgkqhkiG9w0BAQsFADCBsTELMAkGA1UEBhMCVFIxDzAN
|
3762 |
+
BgNVBAcMBkFua2FyYTFNMEsGA1UECgxEVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp
|
3763 |
+
bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4xQjBABgNVBAMMOVTDnFJLVFJVU1Qg
|
3764 |
+
RWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSBINTAeFw0xMzA0MzAw
|
3765 |
+
ODA3MDFaFw0yMzA0MjgwODA3MDFaMIGxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMU0w
|
3766 |
+
SwYDVQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnE
|
3767 |
+
n2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBFbGVrdHJvbmlrIFNlcnRp
|
3768 |
+
ZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
3769 |
+
CgKCAQEApCUZ4WWe60ghUEoI5RHwWrom/4NZzkQqL/7hzmAD/I0Dpe3/a6i6zDQGn1k19uwsu537
|
3770 |
+
jVJp45wnEFPzpALFp/kRGml1bsMdi9GYjZOHp3GXDSHHmflS0yxjXVW86B8BSLlg/kJK9siArs1m
|
3771 |
+
ep5Fimh34khon6La8eHBEJ/rPCmBp+EyCNSgBbGM+42WAA4+Jd9ThiI7/PS98wl+d+yG6w8z5UNP
|
3772 |
+
9FR1bSmZLmZaQ9/LXMrI5Tjxfjs1nQ/0xVqhzPMggCTTV+wVunUlm+hkS7M0hO8EuPbJbKoCPrZV
|
3773 |
+
4jI3X/xml1/N1p7HIL9Nxqw/dV8c7TKcfGkAaZHjIxhT6QIDAQABo0IwQDAdBgNVHQ4EFgQUVpkH
|
3774 |
+
HtOsDGlktAxQR95DLL4gwPswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
|
3775 |
+
hvcNAQELBQADggEBAJ5FdnsXSDLyOIspve6WSk6BGLFRRyDN0GSxDsnZAdkJzsiZ3GglE9Rc8qPo
|
3776 |
+
BP5yCccLqh0lVX6Wmle3usURehnmp349hQ71+S4pL+f5bFgWV1Al9j4uPqrtd3GqqpmWRgqujuwq
|
3777 |
+
URawXs3qZwQcWDD1YIq9pr1N5Za0/EKJAWv2cMhQOQwt1WbZyNKzMrcbGW3LM/nfpeYVhDfwwvJl
|
3778 |
+
lpKQd/Ct9JDpEXjXk4nAPQu6KfTomZ1yju2dL+6SfaHx/126M2CFYv4HAqGEVka+lgqaE9chTLd8
|
3779 |
+
B59OTj+RdPsnnRHM3eaxynFNExc5JsUpISuTKWqW+qtB4Uu2NQvAmxU=
|
3780 |
+
-----END CERTIFICATE-----
|
3781 |
+
|
3782 |
+
TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı H6
|
3783 |
+
=========================================================
|
3784 |
+
-----BEGIN CERTIFICATE-----
|
3785 |
+
MIIEJjCCAw6gAwIBAgIGfaHyZeyKMA0GCSqGSIb3DQEBCwUAMIGxMQswCQYDVQQGEwJUUjEPMA0G
|
3786 |
+
A1UEBwwGQW5rYXJhMU0wSwYDVQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls
|
3787 |
+
acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBF
|
3788 |
+
bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg2MB4XDTEzMTIxODA5
|
3789 |
+
MDQxMFoXDTIzMTIxNjA5MDQxMFowgbExCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExTTBL
|
3790 |
+
BgNVBAoMRFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBCaWxpxZ9pbSBHw7x2ZW5sacSf
|
3791 |
+
aSBIaXptZXRsZXJpIEEuxZ4uMUIwQAYDVQQDDDlUw5xSS1RSVVNUIEVsZWt0cm9uaWsgU2VydGlm
|
3792 |
+
aWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLEgSDYwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
3793 |
+
AoIBAQCdsGjW6L0UlqMACprx9MfMkU1xeHe59yEmFXNRFpQJRwXiM/VomjX/3EsvMsew7eKC5W/a
|
3794 |
+
2uqsxgbPJQ1BgfbBOCK9+bGlprMBvD9QFyv26WZV1DOzXPhDIHiTVRZwGTLmiddk671IUP320EED
|
3795 |
+
wnS3/faAz1vFq6TWlRKb55cTMgPp1KtDWxbtMyJkKbbSk60vbNg9tvYdDjTu0n2pVQ8g9P0pu5Fb
|
3796 |
+
HH3GQjhtQiht1AH7zYiXSX6484P4tZgvsycLSF5W506jM7NE1qXyGJTtHB6plVxiSvgNZ1GpryHV
|
3797 |
+
+DKdeboaX+UEVU0TRv/yz3THGmNtwx8XEsMeED5gCLMxAgMBAAGjQjBAMB0GA1UdDgQWBBTdVRcT
|
3798 |
+
9qzoSCHK77Wv0QAy7Z6MtTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG
|
3799 |
+
9w0BAQsFAAOCAQEAb1gNl0OqFlQ+v6nfkkU/hQu7VtMMUszIv3ZnXuaqs6fvuay0EBQNdH49ba3R
|
3800 |
+
fdCaqaXKGDsCQC4qnFAUi/5XfldcEQlLNkVS9z2sFP1E34uXI9TDwe7UU5X+LEr+DXCqu4svLcsy
|
3801 |
+
o4LyVN/Y8t3XSHLuSqMplsNEzm61kod2pLv0kmzOLBQJZo6NrRa1xxsJYTvjIKIDgI6tflEATseW
|
3802 |
+
hvtDmHd9KMeP2Cpu54Rvl0EpABZeTeIT6lnAY2c6RPuY/ATTMHKm9ocJV612ph1jmv3XZch4gyt1
|
3803 |
+
O6VbuA1df74jrlZVlFjvH4GMKrLN5ptjnhi85WsGtAuYSyher4hYyw==
|
3804 |
+
-----END CERTIFICATE-----
|
3805 |
+
|
3806 |
+
Certinomis - Root CA
|
3807 |
+
====================
|
3808 |
+
-----BEGIN CERTIFICATE-----
|
3809 |
+
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
|
3834 |
+
hkIGuUE=
|
3835 |
+
-----END CERTIFICATE-----
|
3836 |
+
|
3837 |
+
OISTE WISeKey Global Root GB CA
|
3838 |
+
===============================
|
3839 |
+
-----BEGIN CERTIFICATE-----
|
3840 |
+
MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG
|
3841 |
+
EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl
|
3842 |
+
ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw
|
3843 |
+
MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD
|
3844 |
+
VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds
|
3845 |
+
b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX
|
3846 |
+
scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP
|
3847 |
+
rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk
|
3848 |
+
9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o
|
3849 |
+
Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg
|
3850 |
+
GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB
|
3851 |
+
/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI
|
3852 |
+
hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD
|
3853 |
+
dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0
|
3854 |
+
VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui
|
3855 |
+
HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic
|
3856 |
+
Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM=
|
3857 |
+
-----END CERTIFICATE-----
|
3858 |
+
|
3859 |
+
Certification Authority of WoSign G2
|
3860 |
+
====================================
|
3861 |
+
-----BEGIN CERTIFICATE-----
|
3862 |
+
MIIDfDCCAmSgAwIBAgIQayXaioidfLwPBbOxemFFRDANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQG
|
3863 |
+
EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxLTArBgNVBAMTJENlcnRpZmljYXRpb24g
|
3864 |
+
QXV0aG9yaXR5IG9mIFdvU2lnbiBHMjAeFw0xNDExMDgwMDU4NThaFw00NDExMDgwMDU4NThaMFgx
|
3865 |
+
CzAJBgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEtMCsGA1UEAxMkQ2VydGlm
|
3866 |
+
aWNhdGlvbiBBdXRob3JpdHkgb2YgV29TaWduIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
3867 |
+
CgKCAQEAvsXEoCKASU+/2YcRxlPhuw+9YH+v9oIOH9ywjj2X4FA8jzrvZjtFB5sg+OPXJYY1kBai
|
3868 |
+
XW8wGQiHC38Gsp1ij96vkqVg1CuAmlI/9ZqD6TRay9nVYlzmDuDfBpgOgHzKtB0TiGsOqCR3A9Du
|
3869 |
+
W/PKaZE1OVbFbeP3PU9ekzgkyhjpJMuSA93MHD0JcOQg5PGurLtzaaNjOg9FD6FKmsLRY6zLEPg9
|
3870 |
+
5k4ot+vElbGs/V6r+kHLXZ1L3PR8du9nfwB6jdKgGlxNIuG12t12s9R23164i5jIFFTMaxeSt+BK
|
3871 |
+
v0mUYQs4kI9dJGwlezt52eJ+na2fmKEG/HgUYFf47oB3sQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC
|
3872 |
+
AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU+mCp62XF3RYUCE4MD42b4Pdkr2cwDQYJKoZI
|
3873 |
+
hvcNAQELBQADggEBAFfDejaCnI2Y4qtAqkePx6db7XznPWZaOzG73/MWM5H8fHulwqZm46qwtyeY
|
3874 |
+
P0nXYGdnPzZPSsvxFPpahygc7Y9BMsaV+X3avXtbwrAh449G3CE4Q3RM+zD4F3LBMvzIkRfEzFg3
|
3875 |
+
TgvMWvchNSiDbGAtROtSjFA9tWwS1/oJu2yySrHFieT801LYYRf+epSEj3m2M1m6D8QL4nCgS3gu
|
3876 |
+
+sif/a+RZQp4OBXllxcU3fngLDT4ONCEIgDAFFEYKwLcMFrw6AF8NTojrwjkr6qOKEJJLvD1mTS+
|
3877 |
+
7Q9LGOHSJDy7XUe3IfKN0QqZjuNuPq1w4I+5ysxugTH2e5x6eeRncRg=
|
3878 |
+
-----END CERTIFICATE-----
|
3879 |
+
|
3880 |
+
CA WoSign ECC Root
|
3881 |
+
==================
|
3882 |
+
-----BEGIN CERTIFICATE-----
|
3883 |
+
MIICCTCCAY+gAwIBAgIQaEpYcIBr8I8C+vbe6LCQkDAKBggqhkjOPQQDAzBGMQswCQYDVQQGEwJD
|
3884 |
+
TjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMTEkNBIFdvU2lnbiBFQ0MgUm9v
|
3885 |
+
dDAeFw0xNDExMDgwMDU4NThaFw00NDExMDgwMDU4NThaMEYxCzAJBgNVBAYTAkNOMRowGAYDVQQK
|
3886 |
+
ExFXb1NpZ24gQ0EgTGltaXRlZDEbMBkGA1UEAxMSQ0EgV29TaWduIEVDQyBSb290MHYwEAYHKoZI
|
3887 |
+
zj0CAQYFK4EEACIDYgAE4f2OuEMkq5Z7hcK6C62N4DrjJLnSsb6IOsq/Srj57ywvr1FQPEd1bPiU
|
3888 |
+
t5v8KB7FVMxjnRZLU8HnIKvNrCXSf4/CwVqCXjCLelTOA7WRf6qU0NGKSMyCBSah1VES1ns2o0Iw
|
3889 |
+
QDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUqv3VWqP2h4syhf3R
|
3890 |
+
MluARZPzA7gwCgYIKoZIzj0EAwMDaAAwZQIxAOSkhLCB1T2wdKyUpOgOPQB0TKGXa/kNUTyh2Tv0
|
3891 |
+
Daupn75OcsqF1NnstTJFGG+rrQIwfcf3aWMvoeGY7xMQ0Xk/0f7qO3/eVvSQsRUR2LIiFdAvwyYu
|
3892 |
+
a/GRspBl9JrmkO5K
|
3893 |
+
-----END CERTIFICATE-----
|
3894 |
+
|
3895 |
+
================================================================
|
3896 |
+
C: US
|
3897 |
+
O: GTE Corporation
|
3898 |
+
OU: GTE CyberTrust Solutions, Inc.
|
3899 |
+
CN: GTE CyberTrust Global Root
|
3900 |
+
--
|
3901 |
+
Not Before: 1998-08-13
|
3902 |
+
Not After: 2018-08-13
|
3903 |
+
Signature: md5WithRSAEncryption
|
3904 |
+
Key: RSA:1024
|
3905 |
+
-----BEGIN CERTIFICATE-----
|
3906 |
+
MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD
|
3907 |
+
VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv
|
3908 |
+
bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv
|
3909 |
+
b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV
|
3910 |
+
UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU
|
3911 |
+
cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds
|
3912 |
+
b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH
|
3913 |
+
iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS
|
3914 |
+
r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4
|
3915 |
+
04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r
|
3916 |
+
GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9
|
3917 |
+
3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P
|
3918 |
+
lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/
|
3919 |
+
-----END CERTIFICATE-----
|
Binary file
|
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// Stripe singleton
|
4 |
+
require(dirname(__FILE__) . '/lib/Stripe.php');
|
5 |
+
|
6 |
+
// Utilities
|
7 |
+
require(dirname(__FILE__) . '/lib/Util/AutoPagingIterator.php');
|
8 |
+
require(dirname(__FILE__) . '/lib/Util/RequestOptions.php');
|
9 |
+
require(dirname(__FILE__) . '/lib/Util/Set.php');
|
10 |
+
require(dirname(__FILE__) . '/lib/Util/Util.php');
|
11 |
+
|
12 |
+
// HttpClient
|
13 |
+
require(dirname(__FILE__) . '/lib/HttpClient/ClientInterface.php');
|
14 |
+
require(dirname(__FILE__) . '/lib/HttpClient/CurlClient.php');
|
15 |
+
|
16 |
+
// Errors
|
17 |
+
require(dirname(__FILE__) . '/lib/Error/Base.php');
|
18 |
+
require(dirname(__FILE__) . '/lib/Error/Api.php');
|
19 |
+
require(dirname(__FILE__) . '/lib/Error/ApiConnection.php');
|
20 |
+
require(dirname(__FILE__) . '/lib/Error/Authentication.php');
|
21 |
+
require(dirname(__FILE__) . '/lib/Error/Card.php');
|
22 |
+
require(dirname(__FILE__) . '/lib/Error/InvalidRequest.php');
|
23 |
+
require(dirname(__FILE__) . '/lib/Error/RateLimit.php');
|
24 |
+
|
25 |
+
// Plumbing
|
26 |
+
require(dirname(__FILE__) . '/lib/ApiResponse.php');
|
27 |
+
require(dirname(__FILE__) . '/lib/JsonSerializable.php');
|
28 |
+
require(dirname(__FILE__) . '/lib/StripeObject.php');
|
29 |
+
require(dirname(__FILE__) . '/lib/ApiRequestor.php');
|
30 |
+
require(dirname(__FILE__) . '/lib/ApiResource.php');
|
31 |
+
require(dirname(__FILE__) . '/lib/SingletonApiResource.php');
|
32 |
+
require(dirname(__FILE__) . '/lib/AttachedObject.php');
|
33 |
+
require(dirname(__FILE__) . '/lib/ExternalAccount.php');
|
34 |
+
|
35 |
+
// Stripe API Resources
|
36 |
+
require(dirname(__FILE__) . '/lib/Account.php');
|
37 |
+
require(dirname(__FILE__) . '/lib/AlipayAccount.php');
|
38 |
+
require(dirname(__FILE__) . '/lib/ApplicationFee.php');
|
39 |
+
require(dirname(__FILE__) . '/lib/ApplicationFeeRefund.php');
|
40 |
+
require(dirname(__FILE__) . '/lib/Balance.php');
|
41 |
+
require(dirname(__FILE__) . '/lib/BalanceTransaction.php');
|
42 |
+
require(dirname(__FILE__) . '/lib/BankAccount.php');
|
43 |
+
require(dirname(__FILE__) . '/lib/BitcoinReceiver.php');
|
44 |
+
require(dirname(__FILE__) . '/lib/BitcoinTransaction.php');
|
45 |
+
require(dirname(__FILE__) . '/lib/Card.php');
|
46 |
+
require(dirname(__FILE__) . '/lib/Charge.php');
|
47 |
+
require(dirname(__FILE__) . '/lib/Collection.php');
|
48 |
+
require(dirname(__FILE__) . '/lib/CountrySpec.php');
|
49 |
+
require(dirname(__FILE__) . '/lib/Coupon.php');
|
50 |
+
require(dirname(__FILE__) . '/lib/Customer.php');
|
51 |
+
require(dirname(__FILE__) . '/lib/Dispute.php');
|
52 |
+
require(dirname(__FILE__) . '/lib/Event.php');
|
53 |
+
require(dirname(__FILE__) . '/lib/FileUpload.php');
|
54 |
+
require(dirname(__FILE__) . '/lib/Invoice.php');
|
55 |
+
require(dirname(__FILE__) . '/lib/InvoiceItem.php');
|
56 |
+
require(dirname(__FILE__) . '/lib/Order.php');
|
57 |
+
require(dirname(__FILE__) . '/lib/OrderReturn.php');
|
58 |
+
require(dirname(__FILE__) . '/lib/Plan.php');
|
59 |
+
require(dirname(__FILE__) . '/lib/Product.php');
|
60 |
+
require(dirname(__FILE__) . '/lib/Recipient.php');
|
61 |
+
require(dirname(__FILE__) . '/lib/Refund.php');
|
62 |
+
require(dirname(__FILE__) . '/lib/SKU.php');
|
63 |
+
require(dirname(__FILE__) . '/lib/Subscription.php');
|
64 |
+
require(dirname(__FILE__) . '/lib/ThreeDSecure.php');
|
65 |
+
require(dirname(__FILE__) . '/lib/Token.php');
|
66 |
+
require(dirname(__FILE__) . '/lib/Transfer.php');
|
67 |
+
require(dirname(__FILE__) . '/lib/TransferReversal.php');
|
@@ -0,0 +1,131 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Account
|
7 |
+
*
|
8 |
+
* @property string $id
|
9 |
+
* @property string $object
|
10 |
+
* @property mixed $business_logo
|
11 |
+
* @property string $business_name
|
12 |
+
* @property mixed $business_url
|
13 |
+
* @property bool $charges_enabled
|
14 |
+
* @property string $country
|
15 |
+
* @property bool $debit_negative_balances
|
16 |
+
* @property mixed $decline_charge_on
|
17 |
+
* @property string $default_currency
|
18 |
+
* @property bool $details_submitted
|
19 |
+
* @property string $display_name
|
20 |
+
* @property string $email
|
21 |
+
* @property mixed $external_accounts
|
22 |
+
* @property mixed $legal_entity
|
23 |
+
* @property bool $managed
|
24 |
+
* @property mixed $product_description
|
25 |
+
* @property mixed $statement_descriptor
|
26 |
+
* @property mixed $support_email
|
27 |
+
* @property mixed $support_phone
|
28 |
+
* @property string $timezone
|
29 |
+
* @property mixed $tos_acceptance
|
30 |
+
* @property mixed $transfer_schedule
|
31 |
+
* @property bool $transfers_enabled
|
32 |
+
* @property mixed $verification
|
33 |
+
* @property mixed $keys
|
34 |
+
*
|
35 |
+
* @package Stripe
|
36 |
+
*/
|
37 |
+
class Account extends ApiResource
|
38 |
+
{
|
39 |
+
public function instanceUrl()
|
40 |
+
{
|
41 |
+
if ($this['id'] === null) {
|
42 |
+
return '/v1/account';
|
43 |
+
} else {
|
44 |
+
return parent::instanceUrl();
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* @param string|null $id
|
50 |
+
* @param array|string|null $opts
|
51 |
+
*
|
52 |
+
* @return Account
|
53 |
+
*/
|
54 |
+
public static function retrieve($id = null, $opts = null)
|
55 |
+
{
|
56 |
+
if (!$opts && is_string($id) && substr($id, 0, 3) === 'sk_') {
|
57 |
+
$opts = $id;
|
58 |
+
$id = null;
|
59 |
+
}
|
60 |
+
return self::_retrieve($id, $opts);
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* @param array|null $params
|
65 |
+
* @param array|string|null $opts
|
66 |
+
*
|
67 |
+
* @return Account
|
68 |
+
*/
|
69 |
+
public static function create($params = null, $opts = null)
|
70 |
+
{
|
71 |
+
return self::_create($params, $opts);
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* @param string $id The ID of the account to update.
|
76 |
+
* @param array|null $params
|
77 |
+
* @param array|string|null $options
|
78 |
+
*
|
79 |
+
* @return Account The updated account.
|
80 |
+
*/
|
81 |
+
public static function update($id, $params = null, $options = null)
|
82 |
+
{
|
83 |
+
return self::_update($id, $params, $options);
|
84 |
+
}
|
85 |
+
|
86 |
+
/**
|
87 |
+
* @param array|string|null $opts
|
88 |
+
*
|
89 |
+
* @return Account
|
90 |
+
*/
|
91 |
+
public function save($opts = null)
|
92 |
+
{
|
93 |
+
return $this->_save($opts);
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* @param array|null $params
|
98 |
+
* @param array|string|null $opts
|
99 |
+
*
|
100 |
+
* @return Account The deleted account.
|
101 |
+
*/
|
102 |
+
public function delete($params = null, $opts = null)
|
103 |
+
{
|
104 |
+
return $this->_delete($params, $opts);
|
105 |
+
}
|
106 |
+
|
107 |
+
/**
|
108 |
+
* @param array|null $params
|
109 |
+
* @param array|string|null $opts
|
110 |
+
*
|
111 |
+
* @return Account The rejected account.
|
112 |
+
*/
|
113 |
+
public function reject($params = null, $opts = null)
|
114 |
+
{
|
115 |
+
$url = $this->instanceUrl() . '/reject';
|
116 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
117 |
+
$this->refreshFrom($response, $opts);
|
118 |
+
return $this;
|
119 |
+
}
|
120 |
+
|
121 |
+
/**
|
122 |
+
* @param array|null $params
|
123 |
+
* @param array|string|null $opts
|
124 |
+
*
|
125 |
+
* @return Collection of Accounts
|
126 |
+
*/
|
127 |
+
public static function all($params = null, $opts = null)
|
128 |
+
{
|
129 |
+
return self::_all($params, $opts);
|
130 |
+
}
|
131 |
+
}
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class AlipayAccount
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class AlipayAccount extends ExternalAccount
|
11 |
+
{
|
12 |
+
|
13 |
+
}
|
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class ApiRequestor
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class ApiRequestor
|
11 |
+
{
|
12 |
+
private $_apiKey;
|
13 |
+
|
14 |
+
private $_apiBase;
|
15 |
+
|
16 |
+
private static $_httpClient;
|
17 |
+
|
18 |
+
public function __construct($apiKey = null, $apiBase = null)
|
19 |
+
{
|
20 |
+
$this->_apiKey = $apiKey;
|
21 |
+
if (!$apiBase) {
|
22 |
+
$apiBase = Stripe::$apiBase;
|
23 |
+
}
|
24 |
+
$this->_apiBase = $apiBase;
|
25 |
+
}
|
26 |
+
|
27 |
+
private static function _encodeObjects($d)
|
28 |
+
{
|
29 |
+
if ($d instanceof ApiResource) {
|
30 |
+
return Util\Util::utf8($d->id);
|
31 |
+
} elseif ($d === true) {
|
32 |
+
return 'true';
|
33 |
+
} elseif ($d === false) {
|
34 |
+
return 'false';
|
35 |
+
} elseif (is_array($d)) {
|
36 |
+
$res = array();
|
37 |
+
foreach ($d as $k => $v) {
|
38 |
+
$res[$k] = self::_encodeObjects($v);
|
39 |
+
}
|
40 |
+
return $res;
|
41 |
+
} else {
|
42 |
+
return Util\Util::utf8($d);
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @param string $method
|
48 |
+
* @param string $url
|
49 |
+
* @param array|null $params
|
50 |
+
* @param array|null $headers
|
51 |
+
*
|
52 |
+
* @return array An array whose first element is an API response and second
|
53 |
+
* element is the API key used to make the request.
|
54 |
+
*/
|
55 |
+
public function request($method, $url, $params = null, $headers = null)
|
56 |
+
{
|
57 |
+
if (!$params) {
|
58 |
+
$params = array();
|
59 |
+
}
|
60 |
+
if (!$headers) {
|
61 |
+
$headers = array();
|
62 |
+
}
|
63 |
+
list($rbody, $rcode, $rheaders, $myApiKey) =
|
64 |
+
$this->_requestRaw($method, $url, $params, $headers);
|
65 |
+
$json = $this->_interpretResponse($rbody, $rcode, $rheaders);
|
66 |
+
$resp = new ApiResponse($rbody, $rcode, $rheaders, $json);
|
67 |
+
return array($resp, $myApiKey);
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* @param string $rbody A JSON string.
|
72 |
+
* @param int $rcode
|
73 |
+
* @param array $rheaders
|
74 |
+
* @param array $resp
|
75 |
+
*
|
76 |
+
* @throws Error\InvalidRequest if the error is caused by the user.
|
77 |
+
* @throws Error\Authentication if the error is caused by a lack of
|
78 |
+
* permissions.
|
79 |
+
* @throws Error\Card if the error is the error code is 402 (payment
|
80 |
+
* required)
|
81 |
+
* @throws Error\RateLimit if the error is caused by too many requests
|
82 |
+
* hitting the API.
|
83 |
+
* @throws Error\Api otherwise.
|
84 |
+
*/
|
85 |
+
public function handleApiError($rbody, $rcode, $rheaders, $resp)
|
86 |
+
{
|
87 |
+
if (!is_array($resp) || !isset($resp['error'])) {
|
88 |
+
$msg = "Invalid response object from API: $rbody "
|
89 |
+
. "(HTTP response code was $rcode)";
|
90 |
+
throw new Error\Api($msg, $rcode, $rbody, $resp, $rheaders);
|
91 |
+
}
|
92 |
+
|
93 |
+
$error = $resp['error'];
|
94 |
+
$msg = isset($error['message']) ? $error['message'] : null;
|
95 |
+
$param = isset($error['param']) ? $error['param'] : null;
|
96 |
+
$code = isset($error['code']) ? $error['code'] : null;
|
97 |
+
|
98 |
+
switch ($rcode) {
|
99 |
+
case 400:
|
100 |
+
// 'rate_limit' code is deprecated, but left here for backwards compatibility
|
101 |
+
// for API versions earlier than 2015-09-08
|
102 |
+
if ($code == 'rate_limit') {
|
103 |
+
throw new Error\RateLimit($msg, $param, $rcode, $rbody, $resp, $rheaders);
|
104 |
+
}
|
105 |
+
|
106 |
+
// intentional fall-through
|
107 |
+
case 404:
|
108 |
+
throw new Error\InvalidRequest($msg, $param, $rcode, $rbody, $resp, $rheaders);
|
109 |
+
case 401:
|
110 |
+
throw new Error\Authentication($msg, $rcode, $rbody, $resp, $rheaders);
|
111 |
+
case 402:
|
112 |
+
throw new Error\Card($msg, $param, $code, $rcode, $rbody, $resp, $rheaders);
|
113 |
+
case 429:
|
114 |
+
throw new Error\RateLimit($msg, $param, $rcode, $rbody, $resp, $rheaders);
|
115 |
+
default:
|
116 |
+
throw new Error\Api($msg, $rcode, $rbody, $resp, $rheaders);
|
117 |
+
}
|
118 |
+
}
|
119 |
+
|
120 |
+
private function _requestRaw($method, $url, $params, $headers)
|
121 |
+
{
|
122 |
+
$myApiKey = $this->_apiKey;
|
123 |
+
if (!$myApiKey) {
|
124 |
+
$myApiKey = Stripe::$apiKey;
|
125 |
+
}
|
126 |
+
|
127 |
+
if (!$myApiKey) {
|
128 |
+
$msg = 'No API key provided. (HINT: set your API key using '
|
129 |
+
. '"Stripe::setApiKey(<API-KEY>)". You can generate API keys from '
|
130 |
+
. 'the Stripe web interface. See https://stripe.com/api for '
|
131 |
+
. 'details, or email support@stripe.com if you have any questions.';
|
132 |
+
throw new Error\Authentication($msg);
|
133 |
+
}
|
134 |
+
|
135 |
+
$absUrl = $this->_apiBase.$url;
|
136 |
+
$params = self::_encodeObjects($params);
|
137 |
+
$langVersion = phpversion();
|
138 |
+
$uname = php_uname();
|
139 |
+
$ua = array(
|
140 |
+
'bindings_version' => Stripe::VERSION,
|
141 |
+
'lang' => 'php',
|
142 |
+
'lang_version' => $langVersion,
|
143 |
+
'publisher' => 'stripe',
|
144 |
+
'uname' => $uname,
|
145 |
+
);
|
146 |
+
$defaultHeaders = array(
|
147 |
+
'X-Stripe-Client-User-Agent' => json_encode($ua),
|
148 |
+
'User-Agent' => 'Stripe/v1 PhpBindings/' . Stripe::VERSION,
|
149 |
+
'Authorization' => 'Bearer ' . $myApiKey,
|
150 |
+
);
|
151 |
+
if (Stripe::$apiVersion) {
|
152 |
+
$defaultHeaders['Stripe-Version'] = Stripe::$apiVersion;
|
153 |
+
}
|
154 |
+
|
155 |
+
if (Stripe::$accountId) {
|
156 |
+
$defaultHeaders['Stripe-Account'] = Stripe::$accountId;
|
157 |
+
}
|
158 |
+
|
159 |
+
$hasFile = false;
|
160 |
+
$hasCurlFile = class_exists('\CURLFile', false);
|
161 |
+
foreach ($params as $k => $v) {
|
162 |
+
if (is_resource($v)) {
|
163 |
+
$hasFile = true;
|
164 |
+
$params[$k] = self::_processResourceParam($v, $hasCurlFile);
|
165 |
+
} elseif ($hasCurlFile && $v instanceof \CURLFile) {
|
166 |
+
$hasFile = true;
|
167 |
+
}
|
168 |
+
}
|
169 |
+
|
170 |
+
if ($hasFile) {
|
171 |
+
$defaultHeaders['Content-Type'] = 'multipart/form-data';
|
172 |
+
} else {
|
173 |
+
$defaultHeaders['Content-Type'] = 'application/x-www-form-urlencoded';
|
174 |
+
}
|
175 |
+
|
176 |
+
$combinedHeaders = array_merge($defaultHeaders, $headers);
|
177 |
+
$rawHeaders = array();
|
178 |
+
|
179 |
+
foreach ($combinedHeaders as $header => $value) {
|
180 |
+
$rawHeaders[] = $header . ': ' . $value;
|
181 |
+
}
|
182 |
+
|
183 |
+
list($rbody, $rcode, $rheaders) = $this->httpClient()->request(
|
184 |
+
$method,
|
185 |
+
$absUrl,
|
186 |
+
$rawHeaders,
|
187 |
+
$params,
|
188 |
+
$hasFile
|
189 |
+
);
|
190 |
+
return array($rbody, $rcode, $rheaders, $myApiKey);
|
191 |
+
}
|
192 |
+
|
193 |
+
private function _processResourceParam($resource, $hasCurlFile)
|
194 |
+
{
|
195 |
+
if (get_resource_type($resource) !== 'stream') {
|
196 |
+
throw new Error\Api(
|
197 |
+
'Attempted to upload a resource that is not a stream'
|
198 |
+
);
|
199 |
+
}
|
200 |
+
|
201 |
+
$metaData = stream_get_meta_data($resource);
|
202 |
+
if ($metaData['wrapper_type'] !== 'plainfile') {
|
203 |
+
throw new Error\Api(
|
204 |
+
'Only plainfile resource streams are supported'
|
205 |
+
);
|
206 |
+
}
|
207 |
+
|
208 |
+
if ($hasCurlFile) {
|
209 |
+
// We don't have the filename or mimetype, but the API doesn't care
|
210 |
+
return new \CURLFile($metaData['uri']);
|
211 |
+
} else {
|
212 |
+
return '@'.$metaData['uri'];
|
213 |
+
}
|
214 |
+
}
|
215 |
+
|
216 |
+
private function _interpretResponse($rbody, $rcode, $rheaders)
|
217 |
+
{
|
218 |
+
try {
|
219 |
+
$resp = json_decode($rbody, true);
|
220 |
+
} catch (Exception $e) {
|
221 |
+
$msg = "Invalid response body from API: $rbody "
|
222 |
+
. "(HTTP response code was $rcode)";
|
223 |
+
throw new Error\Api($msg, $rcode, $rbody);
|
224 |
+
}
|
225 |
+
|
226 |
+
if ($rcode < 200 || $rcode >= 300) {
|
227 |
+
$this->handleApiError($rbody, $rcode, $rheaders, $resp);
|
228 |
+
}
|
229 |
+
return $resp;
|
230 |
+
}
|
231 |
+
|
232 |
+
public static function setHttpClient($client)
|
233 |
+
{
|
234 |
+
self::$_httpClient = $client;
|
235 |
+
}
|
236 |
+
|
237 |
+
private function httpClient()
|
238 |
+
{
|
239 |
+
if (!self::$_httpClient) {
|
240 |
+
self::$_httpClient = HttpClient\CurlClient::instance();
|
241 |
+
}
|
242 |
+
return self::$_httpClient;
|
243 |
+
}
|
244 |
+
}
|
@@ -0,0 +1,205 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class ApiResource
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
abstract class ApiResource extends StripeObject
|
11 |
+
{
|
12 |
+
private static $HEADERS_TO_PERSIST = array('Stripe-Account' => true, 'Stripe-Version' => true);
|
13 |
+
|
14 |
+
public static function baseUrl()
|
15 |
+
{
|
16 |
+
return Stripe::$apiBase;
|
17 |
+
}
|
18 |
+
|
19 |
+
/**
|
20 |
+
* @return ApiResource The refreshed resource.
|
21 |
+
*/
|
22 |
+
public function refresh()
|
23 |
+
{
|
24 |
+
$requestor = new ApiRequestor($this->_opts->apiKey, static::baseUrl());
|
25 |
+
$url = $this->instanceUrl();
|
26 |
+
|
27 |
+
list($response, $this->_opts->apiKey) = $requestor->request(
|
28 |
+
'get',
|
29 |
+
$url,
|
30 |
+
$this->_retrieveOptions,
|
31 |
+
$this->_opts->headers
|
32 |
+
);
|
33 |
+
$this->setLastResponse($response);
|
34 |
+
$this->refreshFrom($response->json, $this->_opts);
|
35 |
+
return $this;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @return string The name of the class, with namespacing and underscores
|
40 |
+
* stripped.
|
41 |
+
*/
|
42 |
+
public static function className()
|
43 |
+
{
|
44 |
+
$class = get_called_class();
|
45 |
+
// Useful for namespaces: Foo\Charge
|
46 |
+
if ($postfixNamespaces = strrchr($class, '\\')) {
|
47 |
+
$class = substr($postfixNamespaces, 1);
|
48 |
+
}
|
49 |
+
// Useful for underscored 'namespaces': Foo_Charge
|
50 |
+
if ($postfixFakeNamespaces = strrchr($class, '')) {
|
51 |
+
$class = $postfixFakeNamespaces;
|
52 |
+
}
|
53 |
+
if (substr($class, 0, strlen('Stripe')) == 'Stripe') {
|
54 |
+
$class = substr($class, strlen('Stripe'));
|
55 |
+
}
|
56 |
+
$class = str_replace('_', '', $class);
|
57 |
+
$name = urlencode($class);
|
58 |
+
$name = strtolower($name);
|
59 |
+
return $name;
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* @return string The endpoint URL for the given class.
|
64 |
+
*/
|
65 |
+
public static function classUrl()
|
66 |
+
{
|
67 |
+
$base = static::className();
|
68 |
+
return "/v1/${base}s";
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @return string The instance endpoint URL for the given class.
|
73 |
+
*/
|
74 |
+
public static function resourceUrl($id)
|
75 |
+
{
|
76 |
+
if ($id === null) {
|
77 |
+
$class = get_called_class();
|
78 |
+
$message = "Could not determine which URL to request: "
|
79 |
+
. "$class instance has invalid ID: $id";
|
80 |
+
throw new Error\InvalidRequest($message, null);
|
81 |
+
}
|
82 |
+
$id = Util\Util::utf8($id);
|
83 |
+
$base = static::classUrl();
|
84 |
+
$extn = urlencode($id);
|
85 |
+
return "$base/$extn";
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* @return string The full API URL for this API resource.
|
90 |
+
*/
|
91 |
+
public function instanceUrl()
|
92 |
+
{
|
93 |
+
return static::resourceUrl($this['id']);
|
94 |
+
}
|
95 |
+
|
96 |
+
private static function _validateParams($params = null)
|
97 |
+
{
|
98 |
+
if ($params && !is_array($params)) {
|
99 |
+
$message = "You must pass an array as the first argument to Stripe API "
|
100 |
+
. "method calls. (HINT: an example call to create a charge "
|
101 |
+
. "would be: \"Stripe\\Charge::create(array('amount' => 100, "
|
102 |
+
. "'currency' => 'usd', 'card' => array('number' => "
|
103 |
+
. "4242424242424242, 'exp_month' => 5, 'exp_year' => 2015)))\")";
|
104 |
+
throw new Error\Api($message);
|
105 |
+
}
|
106 |
+
}
|
107 |
+
|
108 |
+
protected function _request($method, $url, $params = array(), $options = null)
|
109 |
+
{
|
110 |
+
$opts = $this->_opts->merge($options);
|
111 |
+
list($resp, $options) = static::_staticRequest($method, $url, $params, $opts);
|
112 |
+
$this->setLastResponse($resp);
|
113 |
+
return array($resp->json, $options);
|
114 |
+
}
|
115 |
+
|
116 |
+
protected static function _staticRequest($method, $url, $params, $options)
|
117 |
+
{
|
118 |
+
$opts = Util\RequestOptions::parse($options);
|
119 |
+
$requestor = new ApiRequestor($opts->apiKey, static::baseUrl());
|
120 |
+
list($response, $opts->apiKey) = $requestor->request($method, $url, $params, $opts->headers);
|
121 |
+
foreach ($opts->headers as $k => $v) {
|
122 |
+
if (!array_key_exists($k, self::$HEADERS_TO_PERSIST)) {
|
123 |
+
unset($opts->headers[$k]);
|
124 |
+
}
|
125 |
+
}
|
126 |
+
return array($response, $opts);
|
127 |
+
}
|
128 |
+
|
129 |
+
protected static function _retrieve($id, $options = null)
|
130 |
+
{
|
131 |
+
$opts = Util\RequestOptions::parse($options);
|
132 |
+
$instance = new static($id, $opts);
|
133 |
+
$instance->refresh();
|
134 |
+
return $instance;
|
135 |
+
}
|
136 |
+
|
137 |
+
protected static function _all($params = null, $options = null)
|
138 |
+
{
|
139 |
+
self::_validateParams($params);
|
140 |
+
$url = static::classUrl();
|
141 |
+
|
142 |
+
list($response, $opts) = static::_staticRequest('get', $url, $params, $options);
|
143 |
+
$obj = Util\Util::convertToStripeObject($response->json, $opts);
|
144 |
+
if (!is_a($obj, 'Stripe\\Collection')) {
|
145 |
+
$class = get_class($obj);
|
146 |
+
$message = "Expected type \"Stripe\\Collection\", got \"$class\" instead";
|
147 |
+
throw new Error\Api($message);
|
148 |
+
}
|
149 |
+
$obj->setLastResponse($response);
|
150 |
+
$obj->setRequestParams($params);
|
151 |
+
return $obj;
|
152 |
+
}
|
153 |
+
|
154 |
+
protected static function _create($params = null, $options = null)
|
155 |
+
{
|
156 |
+
self::_validateParams($params);
|
157 |
+
$base = static::baseUrl();
|
158 |
+
$url = static::classUrl();
|
159 |
+
|
160 |
+
list($response, $opts) = static::_staticRequest('post', $url, $params, $options);
|
161 |
+
$obj = Util\Util::convertToStripeObject($response->json, $opts);
|
162 |
+
$obj->setLastResponse($response);
|
163 |
+
return $obj;
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* @param string $id The ID of the API resource to update.
|
168 |
+
* @param array|null $params
|
169 |
+
* @param array|string|null $opts
|
170 |
+
*
|
171 |
+
* @return ApiResource the updated API resource
|
172 |
+
*/
|
173 |
+
protected static function _update($id, $params = null, $options = null)
|
174 |
+
{
|
175 |
+
self::_validateParams($params);
|
176 |
+
$base = static::baseUrl();
|
177 |
+
$url = static::resourceUrl($id);
|
178 |
+
|
179 |
+
list($response, $opts) = static::_staticRequest('post', $url, $params, $options);
|
180 |
+
$obj = Util\Util::convertToStripeObject($response->json, $opts);
|
181 |
+
$obj->setLastResponse($response);
|
182 |
+
return $obj;
|
183 |
+
}
|
184 |
+
|
185 |
+
protected function _save($options = null)
|
186 |
+
{
|
187 |
+
$params = $this->serializeParameters();
|
188 |
+
if (count($params) > 0) {
|
189 |
+
$url = $this->instanceUrl();
|
190 |
+
list($response, $opts) = $this->_request('post', $url, $params, $options);
|
191 |
+
$this->refreshFrom($response, $opts);
|
192 |
+
}
|
193 |
+
return $this;
|
194 |
+
}
|
195 |
+
|
196 |
+
protected function _delete($params = null, $options = null)
|
197 |
+
{
|
198 |
+
self::_validateParams($params);
|
199 |
+
|
200 |
+
$url = $this->instanceUrl();
|
201 |
+
list($response, $opts) = $this->_request('delete', $url, $params, $options);
|
202 |
+
$this->refreshFrom($response, $opts);
|
203 |
+
return $this;
|
204 |
+
}
|
205 |
+
}
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class ApiResponse
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class ApiResponse
|
11 |
+
{
|
12 |
+
public $headers;
|
13 |
+
public $body;
|
14 |
+
public $json;
|
15 |
+
public $code;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* @param string $body
|
19 |
+
* @param integer $code
|
20 |
+
* @param array|null $headers
|
21 |
+
* @param array|null $json
|
22 |
+
*
|
23 |
+
* @return obj An APIResponse
|
24 |
+
*/
|
25 |
+
public function __construct($body, $code, $headers, $json)
|
26 |
+
{
|
27 |
+
$this->body = $body;
|
28 |
+
$this->code = $code;
|
29 |
+
$this->headers = $headers;
|
30 |
+
$this->json = $json;
|
31 |
+
}
|
32 |
+
}
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class ApplicationFee
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class ApplicationFee extends ApiResource
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* This is a special case because the application fee endpoint has an
|
14 |
+
* underscore in it. The parent `className` function strips underscores.
|
15 |
+
*
|
16 |
+
* @return string The name of the class.
|
17 |
+
*/
|
18 |
+
public static function className()
|
19 |
+
{
|
20 |
+
return 'application_fee';
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @param string $id The ID of the application fee to retrieve.
|
25 |
+
* @param array|string|null $opts
|
26 |
+
*
|
27 |
+
* @return ApplicationFee
|
28 |
+
*/
|
29 |
+
public static function retrieve($id, $opts = null)
|
30 |
+
{
|
31 |
+
return self::_retrieve($id, $opts);
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @param string $id The ID of the application fee to update.
|
36 |
+
* @param array|null $params
|
37 |
+
* @param array|string|null $options
|
38 |
+
*
|
39 |
+
* @return ApplicationFee The updated application fee.
|
40 |
+
*/
|
41 |
+
public static function update($id, $params = null, $options = null)
|
42 |
+
{
|
43 |
+
return self::_update($id, $params, $options);
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @param array|null $params
|
48 |
+
* @param array|string|null $opts
|
49 |
+
*
|
50 |
+
* @return Collection of ApplicationFees
|
51 |
+
*/
|
52 |
+
public static function all($params = null, $opts = null)
|
53 |
+
{
|
54 |
+
return self::_all($params, $opts);
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @param array|null $params
|
59 |
+
* @param array|string|null $opts
|
60 |
+
*
|
61 |
+
* @return ApplicationFee The refunded application fee.
|
62 |
+
*/
|
63 |
+
public function refund($params = null, $opts = null)
|
64 |
+
{
|
65 |
+
$this->refunds->create($params, $opts);
|
66 |
+
$this->refresh();
|
67 |
+
return $this;
|
68 |
+
}
|
69 |
+
}
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class ApplicationFeeRefund
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class ApplicationFeeRefund extends ApiResource
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* @return string The API URL for this Stripe refund.
|
14 |
+
*/
|
15 |
+
public function instanceUrl()
|
16 |
+
{
|
17 |
+
$id = $this['id'];
|
18 |
+
$fee = $this['fee'];
|
19 |
+
if (!$id) {
|
20 |
+
throw new Error\InvalidRequest(
|
21 |
+
"Could not determine which URL to request: " .
|
22 |
+
"class instance has invalid ID: $id",
|
23 |
+
null
|
24 |
+
);
|
25 |
+
}
|
26 |
+
$id = Util\Util::utf8($id);
|
27 |
+
$fee = Util\Util::utf8($fee);
|
28 |
+
|
29 |
+
$base = ApplicationFee::classUrl();
|
30 |
+
$feeExtn = urlencode($fee);
|
31 |
+
$extn = urlencode($id);
|
32 |
+
return "$base/$feeExtn/refunds/$extn";
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @param array|string|null $opts
|
37 |
+
*
|
38 |
+
* @return ApplicationFeeRefund The saved refund.
|
39 |
+
*/
|
40 |
+
public function save($opts = null)
|
41 |
+
{
|
42 |
+
return $this->_save($opts);
|
43 |
+
}
|
44 |
+
}
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class AttachedObject
|
7 |
+
*
|
8 |
+
* e.g. metadata on Stripe objects.
|
9 |
+
*
|
10 |
+
* @package Stripe
|
11 |
+
*/
|
12 |
+
class AttachedObject extends StripeObject
|
13 |
+
{
|
14 |
+
/**
|
15 |
+
* Updates this object.
|
16 |
+
*
|
17 |
+
* @param array $properties A mapping of properties to update on this object.
|
18 |
+
*/
|
19 |
+
public function replaceWith($properties)
|
20 |
+
{
|
21 |
+
$removed = array_diff(array_keys($this->_values), array_keys($properties));
|
22 |
+
// Don't unset, but rather set to null so we send up '' for deletion.
|
23 |
+
foreach ($removed as $k) {
|
24 |
+
$this->$k = null;
|
25 |
+
}
|
26 |
+
|
27 |
+
foreach ($properties as $k => $v) {
|
28 |
+
$this->$k = $v;
|
29 |
+
}
|
30 |
+
}
|
31 |
+
}
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Balance
|
7 |
+
*
|
8 |
+
* @param string $object
|
9 |
+
* @param mixed $available
|
10 |
+
* @param bool $livedmode
|
11 |
+
* @param mixed $pending
|
12 |
+
*
|
13 |
+
* @package Stripe
|
14 |
+
*/
|
15 |
+
class Balance extends SingletonApiResource
|
16 |
+
{
|
17 |
+
/**
|
18 |
+
* @param array|string|null $opts
|
19 |
+
*
|
20 |
+
* @return Balance
|
21 |
+
*/
|
22 |
+
public static function retrieve($opts = null)
|
23 |
+
{
|
24 |
+
return self::_singletonRetrieve($opts);
|
25 |
+
}
|
26 |
+
}
|
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class BalanceTransaction
|
7 |
+
*
|
8 |
+
* @property string $id
|
9 |
+
* @property string $object
|
10 |
+
* @property int $amount
|
11 |
+
* @property int $available_on
|
12 |
+
* @property int $created
|
13 |
+
* @property string $currency
|
14 |
+
* @property string $description
|
15 |
+
* @property int $fee
|
16 |
+
* @property mixed $fee_details
|
17 |
+
* @property int $net
|
18 |
+
* @property string $source
|
19 |
+
* @property mixed $sourced_transfers
|
20 |
+
* @property string $status
|
21 |
+
* @property string $type
|
22 |
+
*
|
23 |
+
* @package Stripe
|
24 |
+
*/
|
25 |
+
class BalanceTransaction extends ApiResource
|
26 |
+
{
|
27 |
+
/**
|
28 |
+
* @return string The class URL for this resource. It needs to be special
|
29 |
+
* cased because it doesn't fit into the standard resource pattern.
|
30 |
+
*/
|
31 |
+
public static function classUrl()
|
32 |
+
{
|
33 |
+
return "/v1/balance/history";
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* @param string $id The ID of the balance transaction to retrieve.
|
38 |
+
* @param array|string|null $opts
|
39 |
+
*
|
40 |
+
* @return BalanceTransaction
|
41 |
+
*/
|
42 |
+
public static function retrieve($id, $opts = null)
|
43 |
+
{
|
44 |
+
return self::_retrieve($id, $opts);
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* @param array|null $params
|
49 |
+
* @param array|string|null $opts
|
50 |
+
*
|
51 |
+
* @return Collection of BalanceTransactions
|
52 |
+
*/
|
53 |
+
public static function all($params = null, $opts = null)
|
54 |
+
{
|
55 |
+
return self::_all($params, $opts);
|
56 |
+
}
|
57 |
+
}
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class BankAccount
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class BankAccount extends ExternalAccount
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* @param array|null $params
|
14 |
+
* @param array|string|null $options
|
15 |
+
*
|
16 |
+
* @return BankAccount The verified bank account.
|
17 |
+
*/
|
18 |
+
public function verify($params = null, $options = null)
|
19 |
+
{
|
20 |
+
$url = $this->instanceUrl() . '/verify';
|
21 |
+
list($response, $opts) = $this->_request('post', $url, $params, $options);
|
22 |
+
$this->refreshFrom($response, $opts);
|
23 |
+
return $this;
|
24 |
+
}
|
25 |
+
}
|
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class BitcoinReceiver
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class BitcoinReceiver extends ExternalAccount
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* @return string The class URL for this resource. It needs to be special
|
14 |
+
* cased because it doesn't fit into the standard resource pattern.
|
15 |
+
*/
|
16 |
+
public static function classUrl()
|
17 |
+
{
|
18 |
+
return "/v1/bitcoin/receivers";
|
19 |
+
}
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @return string The instance URL for this resource. It needs to be special
|
23 |
+
* cased because it doesn't fit into the standard resource pattern.
|
24 |
+
*/
|
25 |
+
public function instanceUrl()
|
26 |
+
{
|
27 |
+
$result = parent::instanceUrl();
|
28 |
+
if ($result) {
|
29 |
+
return $result;
|
30 |
+
} else {
|
31 |
+
$id = $this['id'];
|
32 |
+
$id = Util\Util::utf8($id);
|
33 |
+
$extn = urlencode($id);
|
34 |
+
$base = BitcoinReceiver::classUrl();
|
35 |
+
return "$base/$extn";
|
36 |
+
}
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* @param string $id The ID of the Bitcoin Receiver to retrieve.
|
41 |
+
* @param array|string|null $opts
|
42 |
+
*
|
43 |
+
* @return BitcoinReceiver
|
44 |
+
*/
|
45 |
+
public static function retrieve($id, $opts = null)
|
46 |
+
{
|
47 |
+
return self::_retrieve($id, $opts);
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @param array|null $params
|
52 |
+
* @param array|string|null $opts
|
53 |
+
*
|
54 |
+
* @return Collection of BitcoinReceivers
|
55 |
+
*/
|
56 |
+
public static function all($params = null, $opts = null)
|
57 |
+
{
|
58 |
+
return self::_all($params, $opts);
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* @param array|null $params
|
63 |
+
* @param array|string|null $opts
|
64 |
+
*
|
65 |
+
* @return BitcoinReceiver The created Bitcoin Receiver item.
|
66 |
+
*/
|
67 |
+
public static function create($params = null, $opts = null)
|
68 |
+
{
|
69 |
+
return self::_create($params, $opts);
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* @param array|null $params
|
74 |
+
* @param array|string|null $options
|
75 |
+
*
|
76 |
+
* @return BitcoinReceiver The refunded Bitcoin Receiver item.
|
77 |
+
*/
|
78 |
+
public function refund($params = null, $options = null)
|
79 |
+
{
|
80 |
+
$url = $this->instanceUrl() . '/refund';
|
81 |
+
list($response, $opts) = $this->_request('post', $url, $params, $options);
|
82 |
+
$this->refreshFrom($response, $opts);
|
83 |
+
return $this;
|
84 |
+
}
|
85 |
+
}
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class BitcoinTransaction
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class BitcoinTransaction extends ApiResource
|
11 |
+
{
|
12 |
+
|
13 |
+
}
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Card
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class Card extends ExternalAccount
|
11 |
+
{
|
12 |
+
|
13 |
+
}
|
@@ -0,0 +1,184 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Charge
|
7 |
+
*
|
8 |
+
* @property string $id
|
9 |
+
* @property string $object
|
10 |
+
* @property int $amount
|
11 |
+
* @property int $amount_refunded
|
12 |
+
* @property mixed $application_fee
|
13 |
+
* @property string $balance_transaction
|
14 |
+
* @property bool $captured
|
15 |
+
* @property int $created
|
16 |
+
* @property string $currency
|
17 |
+
* @property string $customer
|
18 |
+
* @property mixed $description
|
19 |
+
* @property mixed $destination
|
20 |
+
* @property mixed $dispute
|
21 |
+
* @property mixed $failure_code
|
22 |
+
* @property mixed $failure_message
|
23 |
+
* @property mixed $fraud_details
|
24 |
+
* @property mixed $invoice
|
25 |
+
* @property bool $livemode
|
26 |
+
* @property mixed $metadata
|
27 |
+
* @property mixed $order
|
28 |
+
* @property bool $paid
|
29 |
+
* @property mixed $receipt_email
|
30 |
+
* @property mixed $receipt_number
|
31 |
+
* @property bool $refunded
|
32 |
+
* @property mixed $refunds
|
33 |
+
* @property mixed $shipping
|
34 |
+
* @property mixed $source
|
35 |
+
* @property mixed $source_transfer
|
36 |
+
* @property mixed $statement_descriptor
|
37 |
+
* @property string $status
|
38 |
+
*
|
39 |
+
* @package Stripe
|
40 |
+
*/
|
41 |
+
class Charge extends ApiResource
|
42 |
+
{
|
43 |
+
/**
|
44 |
+
* @param string $id The ID of the charge to retrieve.
|
45 |
+
* @param array|string|null $options
|
46 |
+
*
|
47 |
+
* @return Charge
|
48 |
+
*/
|
49 |
+
public static function retrieve($id, $options = null)
|
50 |
+
{
|
51 |
+
return self::_retrieve($id, $options);
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* @param array|null $params
|
56 |
+
* @param array|string|null $options
|
57 |
+
*
|
58 |
+
* @return Collection of Charges
|
59 |
+
*/
|
60 |
+
public static function all($params = null, $options = null)
|
61 |
+
{
|
62 |
+
return self::_all($params, $options);
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* @param array|null $params
|
67 |
+
* @param array|string|null $options
|
68 |
+
*
|
69 |
+
* @return Charge The created charge.
|
70 |
+
*/
|
71 |
+
public static function create($params = null, $options = null)
|
72 |
+
{
|
73 |
+
return self::_create($params, $options);
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* @param string $id The ID of the charge to update.
|
78 |
+
* @param array|null $params
|
79 |
+
* @param array|string|null $options
|
80 |
+
*
|
81 |
+
* @return Charge The updated charge.
|
82 |
+
*/
|
83 |
+
public static function update($id, $params = null, $options = null)
|
84 |
+
{
|
85 |
+
return self::_update($id, $params, $options);
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* @param array|string|null $options
|
90 |
+
*
|
91 |
+
* @return Charge The saved charge.
|
92 |
+
*/
|
93 |
+
public function save($options = null)
|
94 |
+
{
|
95 |
+
return $this->_save($options);
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* @param array|null $params
|
100 |
+
* @param array|string|null $options
|
101 |
+
*
|
102 |
+
* @return Charge The refunded charge.
|
103 |
+
*/
|
104 |
+
public function refund($params = null, $options = null)
|
105 |
+
{
|
106 |
+
$url = $this->instanceUrl() . '/refund';
|
107 |
+
list($response, $opts) = $this->_request('post', $url, $params, $options);
|
108 |
+
$this->refreshFrom($response, $opts);
|
109 |
+
return $this;
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* @param array|null $params
|
114 |
+
* @param array|string|null $options
|
115 |
+
*
|
116 |
+
* @return Charge The captured charge.
|
117 |
+
*/
|
118 |
+
public function capture($params = null, $options = null)
|
119 |
+
{
|
120 |
+
$url = $this->instanceUrl() . '/capture';
|
121 |
+
list($response, $opts) = $this->_request('post', $url, $params, $options);
|
122 |
+
$this->refreshFrom($response, $opts);
|
123 |
+
return $this;
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* @param array|null $params
|
128 |
+
* @param array|string|null $options
|
129 |
+
*
|
130 |
+
* @deprecated Use the `save` method on the Dispute object
|
131 |
+
*
|
132 |
+
* @return array The updated dispute.
|
133 |
+
*/
|
134 |
+
public function updateDispute($params = null, $options = null)
|
135 |
+
{
|
136 |
+
$url = $this->instanceUrl() . '/dispute';
|
137 |
+
list($response, $opts) = $this->_request('post', $url, $params, $options);
|
138 |
+
$this->refreshFrom(array('dispute' => $response), $opts, true);
|
139 |
+
return $this->dispute;
|
140 |
+
}
|
141 |
+
|
142 |
+
/**
|
143 |
+
* @param array|string|null $options
|
144 |
+
*
|
145 |
+
* @deprecated Use the `close` method on the Dispute object
|
146 |
+
*
|
147 |
+
* @return Charge The updated charge.
|
148 |
+
*/
|
149 |
+
public function closeDispute($options = null)
|
150 |
+
{
|
151 |
+
$url = $this->instanceUrl() . '/dispute/close';
|
152 |
+
list($response, $opts) = $this->_request('post', $url, null, $options);
|
153 |
+
$this->refreshFrom($response, $opts);
|
154 |
+
return $this;
|
155 |
+
}
|
156 |
+
|
157 |
+
/**
|
158 |
+
* @param array|string|null $opts
|
159 |
+
*
|
160 |
+
* @return Charge The updated charge.
|
161 |
+
*/
|
162 |
+
public function markAsFraudulent($opts = null)
|
163 |
+
{
|
164 |
+
$params = array('fraud_details' => array('user_report' => 'fraudulent'));
|
165 |
+
$url = $this->instanceUrl();
|
166 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
167 |
+
$this->refreshFrom($response, $opts);
|
168 |
+
return $this;
|
169 |
+
}
|
170 |
+
|
171 |
+
/**
|
172 |
+
* @param array|string|null $opts
|
173 |
+
*
|
174 |
+
* @return Charge The updated charge.
|
175 |
+
*/
|
176 |
+
public function markAsSafe($opts = null)
|
177 |
+
{
|
178 |
+
$params = array('fraud_details' => array('user_report' => 'safe'));
|
179 |
+
$url = $this->instanceUrl();
|
180 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
181 |
+
$this->refreshFrom($response, $opts);
|
182 |
+
return $this;
|
183 |
+
}
|
184 |
+
}
|
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Collection
|
7 |
+
*
|
8 |
+
* @param string $object
|
9 |
+
* @param string $url
|
10 |
+
* @param bool $has_more
|
11 |
+
* @param mixed $data
|
12 |
+
*
|
13 |
+
* @package Stripe
|
14 |
+
*/
|
15 |
+
class Collection extends ApiResource
|
16 |
+
{
|
17 |
+
protected $_requestParams = array();
|
18 |
+
|
19 |
+
public function setRequestParams($params)
|
20 |
+
{
|
21 |
+
$this->_requestParams = $params;
|
22 |
+
}
|
23 |
+
|
24 |
+
public function all($params = null, $opts = null)
|
25 |
+
{
|
26 |
+
list($url, $params) = $this->extractPathAndUpdateParams($params);
|
27 |
+
|
28 |
+
list($response, $opts) = $this->_request('get', $url, $params, $opts);
|
29 |
+
$this->_requestParams = $params;
|
30 |
+
return Util\Util::convertToStripeObject($response, $opts);
|
31 |
+
}
|
32 |
+
|
33 |
+
public function create($params = null, $opts = null)
|
34 |
+
{
|
35 |
+
list($url, $params) = $this->extractPathAndUpdateParams($params);
|
36 |
+
|
37 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
38 |
+
$this->_requestParams = $params;
|
39 |
+
return Util\Util::convertToStripeObject($response, $opts);
|
40 |
+
}
|
41 |
+
|
42 |
+
public function retrieve($id, $params = null, $opts = null)
|
43 |
+
{
|
44 |
+
list($url, $params) = $this->extractPathAndUpdateParams($params);
|
45 |
+
|
46 |
+
$id = Util\Util::utf8($id);
|
47 |
+
$extn = urlencode($id);
|
48 |
+
list($response, $opts) = $this->_request(
|
49 |
+
'get',
|
50 |
+
"$url/$extn",
|
51 |
+
$params,
|
52 |
+
$opts
|
53 |
+
);
|
54 |
+
$this->_requestParams = $params;
|
55 |
+
return Util\Util::convertToStripeObject($response, $opts);
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* @return AutoPagingIterator An iterator that can be used to iterate
|
60 |
+
* across all objects across all pages. As page boundaries are
|
61 |
+
* encountered, the next page will be fetched automatically for
|
62 |
+
* continued iteration.
|
63 |
+
*/
|
64 |
+
public function autoPagingIterator()
|
65 |
+
{
|
66 |
+
return new Util\AutoPagingIterator($this, $this->_requestParams);
|
67 |
+
}
|
68 |
+
|
69 |
+
private function extractPathAndUpdateParams($params)
|
70 |
+
{
|
71 |
+
$url = parse_url($this->url);
|
72 |
+
if (!isset($url['path'])) {
|
73 |
+
throw new Error\Api("Could not parse list url into parts: $url");
|
74 |
+
}
|
75 |
+
|
76 |
+
if (isset($url['query'])) {
|
77 |
+
// If the URL contains a query param, parse it out into $params so they
|
78 |
+
// don't interact weirdly with each other.
|
79 |
+
$query = array();
|
80 |
+
parse_str($url['query'], $query);
|
81 |
+
// PHP 5.2 doesn't support the ?: operator :(
|
82 |
+
$params = array_merge($params ? $params : array(), $query);
|
83 |
+
}
|
84 |
+
|
85 |
+
return array($url['path'], $params);
|
86 |
+
}
|
87 |
+
}
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class CountrySpec
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class CountrySpec extends ApiResource
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* This is a special case because the country specs endpoint has an
|
14 |
+
* underscore in it. The parent `className` function strips underscores.
|
15 |
+
*
|
16 |
+
* @return string The name of the class.
|
17 |
+
*/
|
18 |
+
public static function className()
|
19 |
+
{
|
20 |
+
return 'country_spec';
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @param string $country The ISO country code of the country we retrieve the CountrySpec for.
|
25 |
+
* @param array|string|null $opts
|
26 |
+
*
|
27 |
+
* @return CountrySpec
|
28 |
+
*/
|
29 |
+
public static function retrieve($country, $opts = null)
|
30 |
+
{
|
31 |
+
return self::_retrieve($country, $opts);
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @param array|null $params
|
36 |
+
* @param array|string|null $opts
|
37 |
+
*
|
38 |
+
* @return Collection of CountrySpecs
|
39 |
+
*/
|
40 |
+
public static function all($params = null, $opts = null)
|
41 |
+
{
|
42 |
+
return self::_all($params, $opts);
|
43 |
+
}
|
44 |
+
}
|
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Coupon
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class Coupon extends ApiResource
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* @param string $id The ID of the coupon to retrieve.
|
14 |
+
* @param array|string|null $opts
|
15 |
+
*
|
16 |
+
* @return Coupon
|
17 |
+
*/
|
18 |
+
public static function retrieve($id, $opts = null)
|
19 |
+
{
|
20 |
+
return self::_retrieve($id, $opts);
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @param array|null $params
|
25 |
+
* @param array|string|null $opts
|
26 |
+
*
|
27 |
+
* @return Coupon The created coupon.
|
28 |
+
*/
|
29 |
+
public static function create($params = null, $opts = null)
|
30 |
+
{
|
31 |
+
return self::_create($params, $opts);
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @param string $id The ID of the coupon to update.
|
36 |
+
* @param array|null $params
|
37 |
+
* @param array|string|null $options
|
38 |
+
*
|
39 |
+
* @return Coupon The updated coupon.
|
40 |
+
*/
|
41 |
+
public static function update($id, $params = null, $options = null)
|
42 |
+
{
|
43 |
+
return self::_update($id, $params, $options);
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @param array|null $params
|
48 |
+
* @param array|string|null $opts
|
49 |
+
*
|
50 |
+
* @return Coupon The deleted coupon.
|
51 |
+
*/
|
52 |
+
public function delete($params = null, $opts = null)
|
53 |
+
{
|
54 |
+
return $this->_delete($params, $opts);
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @param array|string|null $opts
|
59 |
+
*
|
60 |
+
* @return Coupon The saved coupon.
|
61 |
+
*/
|
62 |
+
public function save($opts = null)
|
63 |
+
{
|
64 |
+
return $this->_save($opts);
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @param array|null $params
|
69 |
+
* @param array|string|null $opts
|
70 |
+
*
|
71 |
+
* @return Collection of Coupons
|
72 |
+
*/
|
73 |
+
public static function all($params = null, $opts = null)
|
74 |
+
{
|
75 |
+
return self::_all($params, $opts);
|
76 |
+
}
|
77 |
+
}
|
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Customer
|
7 |
+
*
|
8 |
+
* @property string $id
|
9 |
+
* @property string $object
|
10 |
+
* @property int $account_balance
|
11 |
+
* @property string $business_vat_id
|
12 |
+
* @property string $created
|
13 |
+
* @property string $currency
|
14 |
+
* @property string $default_source
|
15 |
+
* @property bool $delinquent
|
16 |
+
* @property string $description
|
17 |
+
* @property mixed $discount
|
18 |
+
* @property string $email
|
19 |
+
* @property bool $livemode
|
20 |
+
* @property array $metadata
|
21 |
+
* @property mixed $shipping
|
22 |
+
* @property Collection $sources
|
23 |
+
* @property Collection $subscriptions
|
24 |
+
*
|
25 |
+
* @package Stripe
|
26 |
+
*/
|
27 |
+
class Customer extends ApiResource
|
28 |
+
{
|
29 |
+
/**
|
30 |
+
* @param string $id The ID of the customer to retrieve.
|
31 |
+
* @param array|string|null $opts
|
32 |
+
*
|
33 |
+
* @return Customer
|
34 |
+
*/
|
35 |
+
public static function retrieve($id, $opts = null)
|
36 |
+
{
|
37 |
+
return self::_retrieve($id, $opts);
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @param array|null $params
|
42 |
+
* @param array|string|null $opts
|
43 |
+
*
|
44 |
+
* @return Collection of Customers
|
45 |
+
*/
|
46 |
+
public static function all($params = null, $opts = null)
|
47 |
+
{
|
48 |
+
return self::_all($params, $opts);
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* @param array|null $params
|
53 |
+
* @param array|string|null $opts
|
54 |
+
*
|
55 |
+
* @return Customer The created customer.
|
56 |
+
*/
|
57 |
+
public static function create($params = null, $opts = null)
|
58 |
+
{
|
59 |
+
return self::_create($params, $opts);
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* @param string $id The ID of the customer to update.
|
64 |
+
* @param array|null $params
|
65 |
+
* @param array|string|null $options
|
66 |
+
*
|
67 |
+
* @return Customer The updated customer.
|
68 |
+
*/
|
69 |
+
public static function update($id, $params = null, $options = null)
|
70 |
+
{
|
71 |
+
return self::_update($id, $params, $options);
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* @param array|string|null $opts
|
76 |
+
*
|
77 |
+
* @return Customer The saved customer.
|
78 |
+
*/
|
79 |
+
public function save($opts = null)
|
80 |
+
{
|
81 |
+
return $this->_save($opts);
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* @param array|null $params
|
86 |
+
* @param array|string|null $opts
|
87 |
+
*
|
88 |
+
* @return Customer The deleted customer.
|
89 |
+
*/
|
90 |
+
public function delete($params = null, $opts = null)
|
91 |
+
{
|
92 |
+
return $this->_delete($params, $opts);
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* @param array|null $params
|
97 |
+
*
|
98 |
+
* @return InvoiceItem The resulting invoice item.
|
99 |
+
*/
|
100 |
+
public function addInvoiceItem($params = null)
|
101 |
+
{
|
102 |
+
if (!$params) {
|
103 |
+
$params = array();
|
104 |
+
}
|
105 |
+
$params['customer'] = $this->id;
|
106 |
+
$ii = InvoiceItem::create($params, $this->_opts);
|
107 |
+
return $ii;
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* @param array|null $params
|
112 |
+
*
|
113 |
+
* @return array An array of the customer's Invoices.
|
114 |
+
*/
|
115 |
+
public function invoices($params = null)
|
116 |
+
{
|
117 |
+
if (!$params) {
|
118 |
+
$params = array();
|
119 |
+
}
|
120 |
+
$params['customer'] = $this->id;
|
121 |
+
$invoices = Invoice::all($params, $this->_opts);
|
122 |
+
return $invoices;
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* @param array|null $params
|
127 |
+
*
|
128 |
+
* @return array An array of the customer's InvoiceItems.
|
129 |
+
*/
|
130 |
+
public function invoiceItems($params = null)
|
131 |
+
{
|
132 |
+
if (!$params) {
|
133 |
+
$params = array();
|
134 |
+
}
|
135 |
+
$params['customer'] = $this->id;
|
136 |
+
$iis = InvoiceItem::all($params, $this->_opts);
|
137 |
+
return $iis;
|
138 |
+
}
|
139 |
+
|
140 |
+
/**
|
141 |
+
* @param array|null $params
|
142 |
+
*
|
143 |
+
* @return array An array of the customer's Charges.
|
144 |
+
*/
|
145 |
+
public function charges($params = null)
|
146 |
+
{
|
147 |
+
if (!$params) {
|
148 |
+
$params = array();
|
149 |
+
}
|
150 |
+
$params['customer'] = $this->id;
|
151 |
+
$charges = Charge::all($params, $this->_opts);
|
152 |
+
return $charges;
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* @param array|null $params
|
157 |
+
*
|
158 |
+
* @return Subscription The updated subscription.
|
159 |
+
*/
|
160 |
+
public function updateSubscription($params = null)
|
161 |
+
{
|
162 |
+
$url = $this->instanceUrl() . '/subscription';
|
163 |
+
list($response, $opts) = $this->_request('post', $url, $params);
|
164 |
+
$this->refreshFrom(array('subscription' => $response), $opts, true);
|
165 |
+
return $this->subscription;
|
166 |
+
}
|
167 |
+
|
168 |
+
/**
|
169 |
+
* @param array|null $params
|
170 |
+
*
|
171 |
+
* @return Subscription The cancelled subscription.
|
172 |
+
*/
|
173 |
+
public function cancelSubscription($params = null)
|
174 |
+
{
|
175 |
+
$url = $this->instanceUrl() . '/subscription';
|
176 |
+
list($response, $opts) = $this->_request('delete', $url, $params);
|
177 |
+
$this->refreshFrom(array('subscription' => $response), $opts, true);
|
178 |
+
return $this->subscription;
|
179 |
+
}
|
180 |
+
|
181 |
+
/**
|
182 |
+
* @return Customer The updated customer.
|
183 |
+
*/
|
184 |
+
public function deleteDiscount()
|
185 |
+
{
|
186 |
+
$url = $this->instanceUrl() . '/discount';
|
187 |
+
list($response, $opts) = $this->_request('delete', $url);
|
188 |
+
$this->refreshFrom(array('discount' => null), $opts, true);
|
189 |
+
}
|
190 |
+
}
|
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Dispute
|
7 |
+
*
|
8 |
+
* @property string $id
|
9 |
+
* @property string $object
|
10 |
+
* @property int $amount
|
11 |
+
* @property mixed $balance_transactions
|
12 |
+
* @property string $charge
|
13 |
+
* @property int $created
|
14 |
+
* @property string $currency
|
15 |
+
* @property mixed $evidence
|
16 |
+
* @property mixed $evidence_details
|
17 |
+
* @property bool $is_charge_refundable
|
18 |
+
* @property bool $livemode
|
19 |
+
* @property mixed $metadata
|
20 |
+
* @property string $reason
|
21 |
+
* @property string $status
|
22 |
+
*
|
23 |
+
* @package Stripe
|
24 |
+
*/
|
25 |
+
class Dispute extends ApiResource
|
26 |
+
{
|
27 |
+
/**
|
28 |
+
* @param string $id The ID of the dispute to retrieve.
|
29 |
+
* @param array|string|null $options
|
30 |
+
*
|
31 |
+
* @return Dispute
|
32 |
+
*/
|
33 |
+
public static function retrieve($id, $options = null)
|
34 |
+
{
|
35 |
+
return self::_retrieve($id, $options);
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @param array|null $params
|
40 |
+
* @param array|string|null $options
|
41 |
+
*
|
42 |
+
* @return array An array of Disputes.
|
43 |
+
*/
|
44 |
+
public static function all($params = null, $options = null)
|
45 |
+
{
|
46 |
+
return self::_all($params, $options);
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* @param string $id The ID of the dispute to update.
|
51 |
+
* @param array|null $params
|
52 |
+
* @param array|string|null $options
|
53 |
+
*
|
54 |
+
* @return Dispute The updated dispute.
|
55 |
+
*/
|
56 |
+
public static function update($id, $params = null, $options = null)
|
57 |
+
{
|
58 |
+
return self::_update($id, $params, $options);
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* @param array|string|null $options
|
63 |
+
*
|
64 |
+
* @return Dispute The saved charge.
|
65 |
+
*/
|
66 |
+
public function save($options = null)
|
67 |
+
{
|
68 |
+
return $this->_save($options);
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @param array|string|null $options
|
73 |
+
*
|
74 |
+
* @return Dispute The closed dispute.
|
75 |
+
*/
|
76 |
+
public function close($options = null)
|
77 |
+
{
|
78 |
+
$url = $this->instanceUrl() . '/close';
|
79 |
+
list($response, $opts) = $this->_request('post', $url, null, $options);
|
80 |
+
$this->refreshFrom($response, $opts);
|
81 |
+
return $this;
|
82 |
+
}
|
83 |
+
}
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Error;
|
4 |
+
|
5 |
+
class Api extends Base
|
6 |
+
{
|
7 |
+
}
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Error;
|
4 |
+
|
5 |
+
class ApiConnection extends Base
|
6 |
+
{
|
7 |
+
}
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Error;
|
4 |
+
|
5 |
+
class Authentication extends Base
|
6 |
+
{
|
7 |
+
}
|
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Error;
|
4 |
+
|
5 |
+
use Exception;
|
6 |
+
|
7 |
+
abstract class Base extends Exception
|
8 |
+
{
|
9 |
+
public function __construct(
|
10 |
+
$message,
|
11 |
+
$httpStatus = null,
|
12 |
+
$httpBody = null,
|
13 |
+
$jsonBody = null,
|
14 |
+
$httpHeaders = null
|
15 |
+
) {
|
16 |
+
parent::__construct($message);
|
17 |
+
$this->httpStatus = $httpStatus;
|
18 |
+
$this->httpBody = $httpBody;
|
19 |
+
$this->jsonBody = $jsonBody;
|
20 |
+
$this->httpHeaders = $httpHeaders;
|
21 |
+
$this->requestId = null;
|
22 |
+
|
23 |
+
if ($httpHeaders && isset($httpHeaders['Request-Id'])) {
|
24 |
+
$this->requestId = $httpHeaders['Request-Id'];
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
public function getHttpStatus()
|
29 |
+
{
|
30 |
+
return $this->httpStatus;
|
31 |
+
}
|
32 |
+
|
33 |
+
public function getHttpBody()
|
34 |
+
{
|
35 |
+
return $this->httpBody;
|
36 |
+
}
|
37 |
+
|
38 |
+
public function getJsonBody()
|
39 |
+
{
|
40 |
+
return $this->jsonBody;
|
41 |
+
}
|
42 |
+
|
43 |
+
public function getHttpHeaders()
|
44 |
+
{
|
45 |
+
return $this->httpHeaders;
|
46 |
+
}
|
47 |
+
|
48 |
+
public function getRequestId()
|
49 |
+
{
|
50 |
+
return $this->requestId;
|
51 |
+
}
|
52 |
+
|
53 |
+
public function __toString()
|
54 |
+
{
|
55 |
+
$id = $this->requestId ? " from API request '{$this->requestId}'": "";
|
56 |
+
$message = explode("\n", parent::__toString());
|
57 |
+
$message[0] .= $id;
|
58 |
+
return implode("\n", $message);
|
59 |
+
}
|
60 |
+
}
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Error;
|
4 |
+
|
5 |
+
class Card extends Base
|
6 |
+
{
|
7 |
+
public function __construct(
|
8 |
+
$message,
|
9 |
+
$stripeParam,
|
10 |
+
$stripeCode,
|
11 |
+
$httpStatus,
|
12 |
+
$httpBody,
|
13 |
+
$jsonBody,
|
14 |
+
$httpHeaders = null
|
15 |
+
) {
|
16 |
+
parent::__construct($message, $httpStatus, $httpBody, $jsonBody, $httpHeaders);
|
17 |
+
$this->stripeParam = $stripeParam;
|
18 |
+
$this->stripeCode = $stripeCode;
|
19 |
+
|
20 |
+
// This one is not like the others because it was added later and we're
|
21 |
+
// trying to do our best not to change the public interface of this class'
|
22 |
+
// constructor. We should consider changing its implementation on the
|
23 |
+
// next major version bump of this library.
|
24 |
+
$this->declineCode = isset($jsonBody["error"]["decline_code"]) ? $jsonBody["error"]["decline_code"] : null;
|
25 |
+
}
|
26 |
+
|
27 |
+
public function getDeclineCode()
|
28 |
+
{
|
29 |
+
return $this->declineCode;
|
30 |
+
}
|
31 |
+
|
32 |
+
public function getStripeCode()
|
33 |
+
{
|
34 |
+
return $this->stripeCode;
|
35 |
+
}
|
36 |
+
|
37 |
+
public function getStripeParam()
|
38 |
+
{
|
39 |
+
return $this->stripeParam;
|
40 |
+
}
|
41 |
+
}
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Error;
|
4 |
+
|
5 |
+
class InvalidRequest extends Base
|
6 |
+
{
|
7 |
+
public function __construct(
|
8 |
+
$message,
|
9 |
+
$stripeParam,
|
10 |
+
$httpStatus = null,
|
11 |
+
$httpBody = null,
|
12 |
+
$jsonBody = null,
|
13 |
+
$httpHeaders = null
|
14 |
+
) {
|
15 |
+
parent::__construct($message, $httpStatus, $httpBody, $jsonBody, $httpHeaders);
|
16 |
+
$this->stripeParam = $stripeParam;
|
17 |
+
}
|
18 |
+
|
19 |
+
public function getStripeParam()
|
20 |
+
{
|
21 |
+
return $this->stripeParam;
|
22 |
+
}
|
23 |
+
}
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Error;
|
4 |
+
|
5 |
+
class RateLimit extends InvalidRequest
|
6 |
+
{
|
7 |
+
}
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Event
|
7 |
+
*
|
8 |
+
* @property string $id
|
9 |
+
* @property string $object
|
10 |
+
* @property string $api_version
|
11 |
+
* @property int $created
|
12 |
+
* @property mixed $data
|
13 |
+
* @property bool $livemode
|
14 |
+
* @property int $pending_webhooks
|
15 |
+
* @property string $request
|
16 |
+
* @property string $type
|
17 |
+
*
|
18 |
+
* @package Stripe
|
19 |
+
*/
|
20 |
+
class Event extends ApiResource
|
21 |
+
{
|
22 |
+
/**
|
23 |
+
* @param string $id The ID of the event to retrieve.
|
24 |
+
* @param array|string|null $opts
|
25 |
+
*
|
26 |
+
* @return Event
|
27 |
+
*/
|
28 |
+
public static function retrieve($id, $opts = null)
|
29 |
+
{
|
30 |
+
return self::_retrieve($id, $opts);
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* @param array|null $params
|
35 |
+
* @param array|string|null $opts
|
36 |
+
*
|
37 |
+
* @return Collection of Events
|
38 |
+
*/
|
39 |
+
public static function all($params = null, $opts = null)
|
40 |
+
{
|
41 |
+
return self::_all($params, $opts);
|
42 |
+
}
|
43 |
+
}
|
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class ExternalAccount
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
abstract class ExternalAccount extends ApiResource
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* @return string The instance URL for this resource. It needs to be special
|
14 |
+
* cased because it doesn't fit into the standard resource pattern.
|
15 |
+
*/
|
16 |
+
public function instanceUrl()
|
17 |
+
{
|
18 |
+
$id = $this['id'];
|
19 |
+
if (!$id) {
|
20 |
+
$class = get_class($this);
|
21 |
+
$msg = "Could not determine which URL to request: $class instance "
|
22 |
+
. "has invalid ID: $id";
|
23 |
+
throw new Error\InvalidRequest($msg, null);
|
24 |
+
}
|
25 |
+
|
26 |
+
if ($this['customer']) {
|
27 |
+
$parent = $this['customer'];
|
28 |
+
$base = Customer::classUrl();
|
29 |
+
$path = 'sources';
|
30 |
+
} elseif ($this['account']) {
|
31 |
+
$parent = $this['account'];
|
32 |
+
$base = Account::classUrl();
|
33 |
+
$path = 'external_accounts';
|
34 |
+
} elseif ($this['recipient']) {
|
35 |
+
$parent = $this['recipient'];
|
36 |
+
$base = Recipient::classUrl();
|
37 |
+
$path = 'cards';
|
38 |
+
} else {
|
39 |
+
return null;
|
40 |
+
}
|
41 |
+
|
42 |
+
$parent = Util\Util::utf8($parent);
|
43 |
+
$id = Util\Util::utf8($id);
|
44 |
+
|
45 |
+
$parentExtn = urlencode($parent);
|
46 |
+
$extn = urlencode($id);
|
47 |
+
return "$base/$parentExtn/$path/$extn";
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @param array|null $params
|
52 |
+
* @param array|string|null $opts
|
53 |
+
*
|
54 |
+
* @return ExternalAccount The deleted external account.
|
55 |
+
*/
|
56 |
+
public function delete($params = null, $opts = null)
|
57 |
+
{
|
58 |
+
return $this->_delete($params, $opts);
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* @param array|string|null $opts
|
63 |
+
*
|
64 |
+
* @return ExternalAccount The saved external account.
|
65 |
+
*/
|
66 |
+
public function save($opts = null)
|
67 |
+
{
|
68 |
+
return $this->_save($opts);
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @param array|null $params
|
73 |
+
* @param array|string|null $opts
|
74 |
+
*
|
75 |
+
* @return ExternalAccount The verified (or not) external account.
|
76 |
+
*/
|
77 |
+
public function verify($params = null, $opts = null)
|
78 |
+
{
|
79 |
+
if ($this['customer']) {
|
80 |
+
$url = $this->instanceUrl() . '/verify';
|
81 |
+
list($response, $options) = $this->_request('post', $url, $params, $opts);
|
82 |
+
$this->refreshFrom($response, $options);
|
83 |
+
return $this;
|
84 |
+
} else {
|
85 |
+
$message = 'Only customer external accounts can be verified in this manner.';
|
86 |
+
throw new Error\Api($message);
|
87 |
+
}
|
88 |
+
}
|
89 |
+
}
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class FileUpload
|
7 |
+
*
|
8 |
+
* @property string $id
|
9 |
+
* @property string $object
|
10 |
+
* @property int $created
|
11 |
+
* @property string $purpose
|
12 |
+
* @property int $size
|
13 |
+
* @property string $type
|
14 |
+
*
|
15 |
+
* @package Stripe
|
16 |
+
*/
|
17 |
+
class FileUpload extends ApiResource
|
18 |
+
{
|
19 |
+
public static function baseUrl()
|
20 |
+
{
|
21 |
+
return Stripe::$apiUploadBase;
|
22 |
+
}
|
23 |
+
|
24 |
+
public static function className()
|
25 |
+
{
|
26 |
+
return 'file';
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* @param string $id The ID of the file upload to retrieve.
|
31 |
+
* @param array|string|null $opts
|
32 |
+
*
|
33 |
+
* @return FileUpload
|
34 |
+
*/
|
35 |
+
public static function retrieve($id, $opts = null)
|
36 |
+
{
|
37 |
+
return self::_retrieve($id, $opts);
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* @param array|null $params
|
42 |
+
* @param array|string|null $opts
|
43 |
+
*
|
44 |
+
* @return FileUpload The created file upload.
|
45 |
+
*/
|
46 |
+
public static function create($params = null, $opts = null)
|
47 |
+
{
|
48 |
+
return self::_create($params, $opts);
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* @param array|null $params
|
53 |
+
* @param array|string|null $opts
|
54 |
+
*
|
55 |
+
* @return Collection of FileUploads
|
56 |
+
*/
|
57 |
+
public static function all($params = null, $opts = null)
|
58 |
+
{
|
59 |
+
return self::_all($params, $opts);
|
60 |
+
}
|
61 |
+
}
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\HttpClient;
|
4 |
+
|
5 |
+
interface ClientInterface
|
6 |
+
{
|
7 |
+
/**
|
8 |
+
* @param string $method The HTTP method being used
|
9 |
+
* @param string $absUrl The URL being requested, including domain and protocol
|
10 |
+
* @param array $headers Headers to be used in the request (full strings, not KV pairs)
|
11 |
+
* @param array $params KV pairs for parameters. Can be nested for arrays and hashes
|
12 |
+
* @param boolean $hasFile Whether or not $params references a file (via an @ prefix or
|
13 |
+
* CurlFile)
|
14 |
+
* @throws Error\Api & Error\ApiConnection
|
15 |
+
* @return array($rawBody, $httpStatusCode, $httpHeader)
|
16 |
+
*/
|
17 |
+
public function request($method, $absUrl, $headers, $params, $hasFile);
|
18 |
+
}
|
@@ -0,0 +1,298 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\HttpClient;
|
4 |
+
|
5 |
+
use Stripe\Stripe;
|
6 |
+
use Stripe\Error;
|
7 |
+
use Stripe\Util;
|
8 |
+
|
9 |
+
class CurlClient implements ClientInterface
|
10 |
+
{
|
11 |
+
private static $instance;
|
12 |
+
|
13 |
+
public static function instance()
|
14 |
+
{
|
15 |
+
if (!self::$instance) {
|
16 |
+
self::$instance = new self();
|
17 |
+
}
|
18 |
+
return self::$instance;
|
19 |
+
}
|
20 |
+
|
21 |
+
protected $defaultOptions;
|
22 |
+
|
23 |
+
/**
|
24 |
+
* CurlClient constructor.
|
25 |
+
*
|
26 |
+
* Pass in a callable to $defaultOptions that returns an array of CURLOPT_* values to start
|
27 |
+
* off a request with, or an flat array with the same format used by curl_setopt_array() to
|
28 |
+
* provide a static set of options. Note that many options are overridden later in the request
|
29 |
+
* call, including timeouts, which can be set via setTimeout() and setConnectTimeout().
|
30 |
+
*
|
31 |
+
* Note that request() will silently ignore a non-callable, non-array $defaultOptions, and will
|
32 |
+
* throw an exception if $defaultOptions returns a non-array value.
|
33 |
+
*
|
34 |
+
* @param array|callable|null $defaultOptions
|
35 |
+
*/
|
36 |
+
public function __construct($defaultOptions = null)
|
37 |
+
{
|
38 |
+
$this->defaultOptions = $defaultOptions;
|
39 |
+
}
|
40 |
+
|
41 |
+
public function getDefaultOptions()
|
42 |
+
{
|
43 |
+
return $this->defaultOptions;
|
44 |
+
}
|
45 |
+
|
46 |
+
// USER DEFINED TIMEOUTS
|
47 |
+
|
48 |
+
const DEFAULT_TIMEOUT = 80;
|
49 |
+
const DEFAULT_CONNECT_TIMEOUT = 30;
|
50 |
+
|
51 |
+
private $timeout = self::DEFAULT_TIMEOUT;
|
52 |
+
private $connectTimeout = self::DEFAULT_CONNECT_TIMEOUT;
|
53 |
+
|
54 |
+
public function setTimeout($seconds)
|
55 |
+
{
|
56 |
+
$this->timeout = (int) max($seconds, 0);
|
57 |
+
return $this;
|
58 |
+
}
|
59 |
+
|
60 |
+
public function setConnectTimeout($seconds)
|
61 |
+
{
|
62 |
+
$this->connectTimeout = (int) max($seconds, 0);
|
63 |
+
return $this;
|
64 |
+
}
|
65 |
+
|
66 |
+
public function getTimeout()
|
67 |
+
{
|
68 |
+
return $this->timeout;
|
69 |
+
}
|
70 |
+
|
71 |
+
public function getConnectTimeout()
|
72 |
+
{
|
73 |
+
return $this->connectTimeout;
|
74 |
+
}
|
75 |
+
|
76 |
+
// END OF USER DEFINED TIMEOUTS
|
77 |
+
|
78 |
+
public function request($method, $absUrl, $headers, $params, $hasFile)
|
79 |
+
{
|
80 |
+
$curl = curl_init();
|
81 |
+
$method = strtolower($method);
|
82 |
+
|
83 |
+
$opts = array();
|
84 |
+
if (is_callable($this->defaultOptions)) { // call defaultOptions callback, set options to return value
|
85 |
+
$opts = call_user_func_array($this->defaultOptions, func_get_args());
|
86 |
+
if (!is_array($opts)) {
|
87 |
+
throw new Error\Api("Non-array value returned by defaultOptions CurlClient callback");
|
88 |
+
}
|
89 |
+
} elseif (is_array($this->defaultOptions)) { // set default curlopts from array
|
90 |
+
$opts = $this->defaultOptions;
|
91 |
+
}
|
92 |
+
|
93 |
+
if ($method == 'get') {
|
94 |
+
if ($hasFile) {
|
95 |
+
throw new Error\Api(
|
96 |
+
"Issuing a GET request with a file parameter"
|
97 |
+
);
|
98 |
+
}
|
99 |
+
$opts[CURLOPT_HTTPGET] = 1;
|
100 |
+
if (count($params) > 0) {
|
101 |
+
$encoded = self::encode($params);
|
102 |
+
$absUrl = "$absUrl?$encoded";
|
103 |
+
}
|
104 |
+
} elseif ($method == 'post') {
|
105 |
+
$opts[CURLOPT_POST] = 1;
|
106 |
+
$opts[CURLOPT_POSTFIELDS] = $hasFile ? $params : self::encode($params);
|
107 |
+
} elseif ($method == 'delete') {
|
108 |
+
$opts[CURLOPT_CUSTOMREQUEST] = 'DELETE';
|
109 |
+
if (count($params) > 0) {
|
110 |
+
$encoded = self::encode($params);
|
111 |
+
$absUrl = "$absUrl?$encoded";
|
112 |
+
}
|
113 |
+
} else {
|
114 |
+
throw new Error\Api("Unrecognized method $method");
|
115 |
+
}
|
116 |
+
|
117 |
+
// Create a callback to capture HTTP headers for the response
|
118 |
+
$rheaders = array();
|
119 |
+
$headerCallback = function ($curl, $header_line) use (&$rheaders) {
|
120 |
+
// Ignore the HTTP request line (HTTP/1.1 200 OK)
|
121 |
+
if (strpos($header_line, ":") === false) {
|
122 |
+
return strlen($header_line);
|
123 |
+
}
|
124 |
+
list($key, $value) = explode(":", trim($header_line), 2);
|
125 |
+
$rheaders[trim($key)] = trim($value);
|
126 |
+
return strlen($header_line);
|
127 |
+
};
|
128 |
+
|
129 |
+
// By default for large request body sizes (> 1024 bytes), cURL will
|
130 |
+
// send a request without a body and with a `Expect: 100-continue`
|
131 |
+
// header, which gives the server a chance to respond with an error
|
132 |
+
// status code in cases where one can be determined right away (say
|
133 |
+
// on an authentication problem for example), and saves the "large"
|
134 |
+
// request body from being ever sent.
|
135 |
+
//
|
136 |
+
// Unfortunately, the bindings don't currently correctly handle the
|
137 |
+
// success case (in which the server sends back a 100 CONTINUE), so
|
138 |
+
// we'll error under that condition. To compensate for that problem
|
139 |
+
// for the time being, override cURL's behavior by simply always
|
140 |
+
// sending an empty `Expect:` header.
|
141 |
+
array_push($headers, 'Expect: ');
|
142 |
+
|
143 |
+
$absUrl = Util\Util::utf8($absUrl);
|
144 |
+
$opts[CURLOPT_URL] = $absUrl;
|
145 |
+
$opts[CURLOPT_RETURNTRANSFER] = true;
|
146 |
+
$opts[CURLOPT_CONNECTTIMEOUT] = $this->connectTimeout;
|
147 |
+
$opts[CURLOPT_TIMEOUT] = $this->timeout;
|
148 |
+
$opts[CURLOPT_HEADERFUNCTION] = $headerCallback;
|
149 |
+
$opts[CURLOPT_HTTPHEADER] = $headers;
|
150 |
+
if (!Stripe::$verifySslCerts) {
|
151 |
+
$opts[CURLOPT_SSL_VERIFYPEER] = false;
|
152 |
+
}
|
153 |
+
|
154 |
+
// @codingStandardsIgnoreStart
|
155 |
+
// PSR2 requires all constants be upper case. Sadly, the CURL_SSLVERSION
|
156 |
+
// constants to not abide by those rules.
|
157 |
+
//
|
158 |
+
// Explicitly set a TLS version for cURL to use now that we're starting
|
159 |
+
// to block 1.0 and 1.1 requests.
|
160 |
+
//
|
161 |
+
// If users are on OpenSSL >= 1.0.1, we know that they support TLS 1.2,
|
162 |
+
// so set that explicitly because on some older Linux distros, clients may
|
163 |
+
// default to TLS 1.0 even when they have TLS 1.2 available.
|
164 |
+
//
|
165 |
+
// For users on much older versions of OpenSSL, set a valid range of
|
166 |
+
// TLS 1.0 to 1.2 (CURL_SSLVERSION_TLSv1). Note that this may result in
|
167 |
+
// their requests being blocked unless they're specially flagged into
|
168 |
+
// being able to use an old TLS version.
|
169 |
+
//
|
170 |
+
// Note: The int on the right is pulled from the source of OpenSSL 1.0.1a.
|
171 |
+
if (OPENSSL_VERSION_NUMBER >= 0x1000100f) {
|
172 |
+
if (!defined('CURL_SSLVERSION_TLSv1_2')) {
|
173 |
+
// Note the value 6 comes from its position in the enum that
|
174 |
+
// defines it in cURL's source code.
|
175 |
+
define('CURL_SSLVERSION_TLSv1_2', 6); // constant not defined in PHP < 5.5
|
176 |
+
}
|
177 |
+
$opts[CURLOPT_SSLVERSION] = CURL_SSLVERSION_TLSv1_2;
|
178 |
+
} else {
|
179 |
+
if (!defined('CURL_SSLVERSION_TLSv1')) {
|
180 |
+
define('CURL_SSLVERSION_TLSv1', 1); // constant not defined in PHP < 5.5
|
181 |
+
}
|
182 |
+
$opts[CURLOPT_SSLVERSION] = CURL_SSLVERSION_TLSv1;
|
183 |
+
}
|
184 |
+
// @codingStandardsIgnoreEnd
|
185 |
+
|
186 |
+
curl_setopt_array($curl, $opts);
|
187 |
+
$rbody = curl_exec($curl);
|
188 |
+
|
189 |
+
if (!defined('CURLE_SSL_CACERT_BADFILE')) {
|
190 |
+
define('CURLE_SSL_CACERT_BADFILE', 77); // constant not defined in PHP
|
191 |
+
}
|
192 |
+
|
193 |
+
$errno = curl_errno($curl);
|
194 |
+
if ($errno == CURLE_SSL_CACERT ||
|
195 |
+
$errno == CURLE_SSL_PEER_CERTIFICATE ||
|
196 |
+
$errno == CURLE_SSL_CACERT_BADFILE
|
197 |
+
) {
|
198 |
+
array_push(
|
199 |
+
$headers,
|
200 |
+
'X-Stripe-Client-Info: {"ca":"using Stripe-supplied CA bundle"}'
|
201 |
+
);
|
202 |
+
$cert = self::caBundle();
|
203 |
+
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
|
204 |
+
curl_setopt($curl, CURLOPT_CAINFO, $cert);
|
205 |
+
$rbody = curl_exec($curl);
|
206 |
+
}
|
207 |
+
|
208 |
+
if ($rbody === false) {
|
209 |
+
$errno = curl_errno($curl);
|
210 |
+
$message = curl_error($curl);
|
211 |
+
curl_close($curl);
|
212 |
+
$this->handleCurlError($absUrl, $errno, $message);
|
213 |
+
}
|
214 |
+
|
215 |
+
$rcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
216 |
+
curl_close($curl);
|
217 |
+
return array($rbody, $rcode, $rheaders);
|
218 |
+
}
|
219 |
+
|
220 |
+
/**
|
221 |
+
* @param number $errno
|
222 |
+
* @param string $message
|
223 |
+
* @throws Error\ApiConnection
|
224 |
+
*/
|
225 |
+
private function handleCurlError($url, $errno, $message)
|
226 |
+
{
|
227 |
+
switch ($errno) {
|
228 |
+
case CURLE_COULDNT_CONNECT:
|
229 |
+
case CURLE_COULDNT_RESOLVE_HOST:
|
230 |
+
case CURLE_OPERATION_TIMEOUTED:
|
231 |
+
$msg = "Could not connect to Stripe ($url). Please check your "
|
232 |
+
. "internet connection and try again. If this problem persists, "
|
233 |
+
. "you should check Stripe's service status at "
|
234 |
+
. "https://twitter.com/stripestatus, or";
|
235 |
+
break;
|
236 |
+
case CURLE_SSL_CACERT:
|
237 |
+
case CURLE_SSL_PEER_CERTIFICATE:
|
238 |
+
$msg = "Could not verify Stripe's SSL certificate. Please make sure "
|
239 |
+
. "that your network is not intercepting certificates. "
|
240 |
+
. "(Try going to $url in your browser.) "
|
241 |
+
. "If this problem persists,";
|
242 |
+
break;
|
243 |
+
default:
|
244 |
+
$msg = "Unexpected error communicating with Stripe. "
|
245 |
+
. "If this problem persists,";
|
246 |
+
}
|
247 |
+
$msg .= " let us know at support@stripe.com.";
|
248 |
+
|
249 |
+
$msg .= "\n\n(Network error [errno $errno]: $message)";
|
250 |
+
throw new Error\ApiConnection($msg);
|
251 |
+
}
|
252 |
+
|
253 |
+
private static function caBundle()
|
254 |
+
{
|
255 |
+
return dirname(__FILE__) . '/../../data/ca-certificates.crt';
|
256 |
+
}
|
257 |
+
|
258 |
+
/**
|
259 |
+
* @param array $arr An map of param keys to values.
|
260 |
+
* @param string|null $prefix
|
261 |
+
*
|
262 |
+
* Only public for testability, should not be called outside of CurlClient
|
263 |
+
*
|
264 |
+
* @return string A querystring, essentially.
|
265 |
+
*/
|
266 |
+
public static function encode($arr, $prefix = null)
|
267 |
+
{
|
268 |
+
if (!is_array($arr)) {
|
269 |
+
return $arr;
|
270 |
+
}
|
271 |
+
|
272 |
+
$r = array();
|
273 |
+
foreach ($arr as $k => $v) {
|
274 |
+
if (is_null($v)) {
|
275 |
+
continue;
|
276 |
+
}
|
277 |
+
|
278 |
+
if ($prefix) {
|
279 |
+
if ($k !== null && (!is_int($k) || is_array($v))) {
|
280 |
+
$k = $prefix."[".$k."]";
|
281 |
+
} else {
|
282 |
+
$k = $prefix."[]";
|
283 |
+
}
|
284 |
+
}
|
285 |
+
|
286 |
+
if (is_array($v)) {
|
287 |
+
$enc = self::encode($v, $k);
|
288 |
+
if ($enc) {
|
289 |
+
$r[] = $enc;
|
290 |
+
}
|
291 |
+
} else {
|
292 |
+
$r[] = urlencode($k)."=".urlencode($v);
|
293 |
+
}
|
294 |
+
}
|
295 |
+
|
296 |
+
return implode("&", $r);
|
297 |
+
}
|
298 |
+
}
|
@@ -0,0 +1,92 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Invoice
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class Invoice extends ApiResource
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* @param array|null $params
|
14 |
+
* @param array|string|null $opts
|
15 |
+
*
|
16 |
+
* @return Invoice The created invoice.
|
17 |
+
*/
|
18 |
+
public static function create($params = null, $opts = null)
|
19 |
+
{
|
20 |
+
return self::_create($params, $opts);
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @param string $id The ID of the invoice to retrieve.
|
25 |
+
* @param array|string|null $opts
|
26 |
+
*
|
27 |
+
* @return Invoice
|
28 |
+
*/
|
29 |
+
public static function retrieve($id, $opts = null)
|
30 |
+
{
|
31 |
+
return self::_retrieve($id, $opts);
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @param array|null $params
|
36 |
+
* @param array|string|null $opts
|
37 |
+
*
|
38 |
+
* @return Collection of Invoices
|
39 |
+
*/
|
40 |
+
public static function all($params = null, $opts = null)
|
41 |
+
{
|
42 |
+
return self::_all($params, $opts);
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* @param string $id The ID of the invoice to update.
|
47 |
+
* @param array|null $params
|
48 |
+
* @param array|string|null $options
|
49 |
+
*
|
50 |
+
* @return Invoice The updated invoice.
|
51 |
+
*/
|
52 |
+
public static function update($id, $params = null, $options = null)
|
53 |
+
{
|
54 |
+
return self::_update($id, $params, $options);
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @param array|null $params
|
59 |
+
* @param array|string|null $opts
|
60 |
+
*
|
61 |
+
* @return Invoice The upcoming invoice.
|
62 |
+
*/
|
63 |
+
public static function upcoming($params = null, $opts = null)
|
64 |
+
{
|
65 |
+
$url = static::classUrl() . '/upcoming';
|
66 |
+
list($response, $opts) = static::_staticRequest('get', $url, $params, $opts);
|
67 |
+
$obj = Util\Util::convertToStripeObject($response->json, $opts);
|
68 |
+
$obj->setLastResponse($response);
|
69 |
+
return $obj;
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* @param array|string|null $opts
|
74 |
+
*
|
75 |
+
* @return Invoice The saved invoice.
|
76 |
+
*/
|
77 |
+
public function save($opts = null)
|
78 |
+
{
|
79 |
+
return $this->_save($opts);
|
80 |
+
}
|
81 |
+
|
82 |
+
/**
|
83 |
+
* @return Invoice The paid invoice.
|
84 |
+
*/
|
85 |
+
public function pay($opts = null)
|
86 |
+
{
|
87 |
+
$url = $this->instanceUrl() . '/pay';
|
88 |
+
list($response, $opts) = $this->_request('post', $url, null, $opts);
|
89 |
+
$this->refreshFrom($response, $opts);
|
90 |
+
return $this;
|
91 |
+
}
|
92 |
+
}
|
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class InvoiceItem
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class InvoiceItem extends ApiResource
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* @param string $id The ID of the invoice item to retrieve.
|
14 |
+
* @param array|string|null $opts
|
15 |
+
*
|
16 |
+
* @return InvoiceItem
|
17 |
+
*/
|
18 |
+
public static function retrieve($id, $opts = null)
|
19 |
+
{
|
20 |
+
return self::_retrieve($id, $opts);
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @param array|null $params
|
25 |
+
* @param array|string|null $opts
|
26 |
+
*
|
27 |
+
* @return Collection of InvoiceItems
|
28 |
+
*/
|
29 |
+
public static function all($params = null, $opts = null)
|
30 |
+
{
|
31 |
+
return self::_all($params, $opts);
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @param array|null $params
|
36 |
+
* @param array|string|null $opts
|
37 |
+
*
|
38 |
+
* @return InvoiceItem The created invoice item.
|
39 |
+
*/
|
40 |
+
public static function create($params = null, $opts = null)
|
41 |
+
{
|
42 |
+
return self::_create($params, $opts);
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* @param string $id The ID of the invoice item to update.
|
47 |
+
* @param array|null $params
|
48 |
+
* @param array|string|null $options
|
49 |
+
*
|
50 |
+
* @return InvoiceItem The updated invoice item.
|
51 |
+
*/
|
52 |
+
public static function update($id, $params = null, $options = null)
|
53 |
+
{
|
54 |
+
return self::_update($id, $params, $options);
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @param array|string|null $opts
|
59 |
+
*
|
60 |
+
* @return InvoiceItem The saved invoice item.
|
61 |
+
*/
|
62 |
+
public function save($opts = null)
|
63 |
+
{
|
64 |
+
return $this->_save($opts);
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @param array|null $params
|
69 |
+
* @param array|string|null $opts
|
70 |
+
*
|
71 |
+
* @return InvoiceItem The deleted invoice item.
|
72 |
+
*/
|
73 |
+
public function delete($params = null, $opts = null)
|
74 |
+
{
|
75 |
+
return $this->_delete($params, $opts);
|
76 |
+
}
|
77 |
+
}
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
// JsonSerializable only exists in PHP 5.4+. Stub if out if it doesn't exist
|
6 |
+
if (interface_exists('\JsonSerializable', false)) {
|
7 |
+
interface JsonSerializable extends \JsonSerializable
|
8 |
+
{
|
9 |
+
}
|
10 |
+
} else {
|
11 |
+
// PSR2 wants each interface to have its own file.
|
12 |
+
// @codingStandardsIgnoreStart
|
13 |
+
interface JsonSerializable
|
14 |
+
{
|
15 |
+
// @codingStandardsIgnoreEnd
|
16 |
+
public function jsonSerialize();
|
17 |
+
}
|
18 |
+
}
|
@@ -0,0 +1,87 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Order
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class Order extends ApiResource
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* @param string $id The ID of the Order to retrieve.
|
14 |
+
* @param array|string|null $opts
|
15 |
+
*
|
16 |
+
* @return Order
|
17 |
+
*/
|
18 |
+
public static function retrieve($id, $opts = null)
|
19 |
+
{
|
20 |
+
return self::_retrieve($id, $opts);
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @param array|null $params
|
25 |
+
* @param array|string|null $opts
|
26 |
+
*
|
27 |
+
* @return Order The created Order.
|
28 |
+
*/
|
29 |
+
public static function create($params = null, $opts = null)
|
30 |
+
{
|
31 |
+
return self::_create($params, $opts);
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @param string $id The ID of the order to update.
|
36 |
+
* @param array|null $params
|
37 |
+
* @param array|string|null $options
|
38 |
+
*
|
39 |
+
* @return Order The updated order.
|
40 |
+
*/
|
41 |
+
public static function update($id, $params = null, $options = null)
|
42 |
+
{
|
43 |
+
return self::_update($id, $params, $options);
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @param array|string|null $opts
|
48 |
+
*
|
49 |
+
* @return Order The saved Order.
|
50 |
+
*/
|
51 |
+
public function save($opts = null)
|
52 |
+
{
|
53 |
+
return $this->_save($opts);
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* @param array|null $params
|
58 |
+
* @param array|string|null $opts
|
59 |
+
*
|
60 |
+
* @return Collection of Orders
|
61 |
+
*/
|
62 |
+
public static function all($params = null, $opts = null)
|
63 |
+
{
|
64 |
+
return self::_all($params, $opts);
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @return Order The paid order.
|
69 |
+
*/
|
70 |
+
public function pay($params = null, $opts = null)
|
71 |
+
{
|
72 |
+
$url = $this->instanceUrl() . '/pay';
|
73 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
74 |
+
$this->refreshFrom($response, $opts);
|
75 |
+
return $this;
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* @return OrderReturn The newly created return.
|
80 |
+
*/
|
81 |
+
public function returnOrder($params = null, $opts = null)
|
82 |
+
{
|
83 |
+
$url = $this->instanceUrl() . '/returns';
|
84 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
85 |
+
return Util\Util::convertToStripeObject($response, $opts);
|
86 |
+
}
|
87 |
+
}
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class OrderReturn
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class OrderReturn extends ApiResource
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* @param string $id The ID of the OrderReturn to retrieve.
|
14 |
+
* @param array|string|null $opts
|
15 |
+
*
|
16 |
+
* @return Order
|
17 |
+
*/
|
18 |
+
public static function retrieve($id, $opts = null)
|
19 |
+
{
|
20 |
+
return self::_retrieve($id, $opts);
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @param array|null $params
|
25 |
+
* @param array|string|null $opts
|
26 |
+
*
|
27 |
+
* @return Collection of OrderReturns
|
28 |
+
*/
|
29 |
+
public static function all($params = null, $opts = null)
|
30 |
+
{
|
31 |
+
return self::_all($params, $opts);
|
32 |
+
}
|
33 |
+
}
|
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Plan
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class Plan extends ApiResource
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* @param string $id The ID of the plan to retrieve.
|
14 |
+
* @param array|string|null $opts
|
15 |
+
*
|
16 |
+
* @return Plan
|
17 |
+
*/
|
18 |
+
public static function retrieve($id, $opts = null)
|
19 |
+
{
|
20 |
+
return self::_retrieve($id, $opts);
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @param array|null $params
|
25 |
+
* @param array|string|null $opts
|
26 |
+
*
|
27 |
+
* @return Plan The created plan.
|
28 |
+
*/
|
29 |
+
public static function create($params = null, $opts = null)
|
30 |
+
{
|
31 |
+
return self::_create($params, $opts);
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @param string $id The ID of the plan to update.
|
36 |
+
* @param array|null $params
|
37 |
+
* @param array|string|null $options
|
38 |
+
*
|
39 |
+
* @return Plan The updated plan.
|
40 |
+
*/
|
41 |
+
public static function update($id, $params = null, $options = null)
|
42 |
+
{
|
43 |
+
return self::_update($id, $params, $options);
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @param array|null $params
|
48 |
+
* @param array|string|null $opts
|
49 |
+
*
|
50 |
+
* @return Plan The deleted plan.
|
51 |
+
*/
|
52 |
+
public function delete($params = null, $opts = null)
|
53 |
+
{
|
54 |
+
return $this->_delete($params, $opts);
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @param array|string|null $opts
|
59 |
+
*
|
60 |
+
* @return Plan The saved plan.
|
61 |
+
*/
|
62 |
+
public function save($opts = null)
|
63 |
+
{
|
64 |
+
return $this->_save($opts);
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @param array|null $params
|
69 |
+
* @param array|string|null $opts
|
70 |
+
*
|
71 |
+
* @return Collection of Plans
|
72 |
+
*/
|
73 |
+
public static function all($params = null, $opts = null)
|
74 |
+
{
|
75 |
+
return self::_all($params, $opts);
|
76 |
+
}
|
77 |
+
}
|
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Product
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class Product extends ApiResource
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* @param string $id The ID of the Product to retrieve.
|
14 |
+
* @param array|string|null $opts
|
15 |
+
*
|
16 |
+
* @return Product
|
17 |
+
*/
|
18 |
+
public static function retrieve($id, $opts = null)
|
19 |
+
{
|
20 |
+
return self::_retrieve($id, $opts);
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @param array|null $params
|
25 |
+
* @param array|string|null $opts
|
26 |
+
*
|
27 |
+
* @return Product The created Product.
|
28 |
+
*/
|
29 |
+
public static function create($params = null, $opts = null)
|
30 |
+
{
|
31 |
+
return self::_create($params, $opts);
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @param string $id The ID of the product to update.
|
36 |
+
* @param array|null $params
|
37 |
+
* @param array|string|null $options
|
38 |
+
*
|
39 |
+
* @return Product The updated product.
|
40 |
+
*/
|
41 |
+
public static function update($id, $params = null, $options = null)
|
42 |
+
{
|
43 |
+
return self::_update($id, $params, $options);
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @param array|string|null $opts
|
48 |
+
*
|
49 |
+
* @return Product The saved Product.
|
50 |
+
*/
|
51 |
+
public function save($opts = null)
|
52 |
+
{
|
53 |
+
return $this->_save($opts);
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* @param array|null $params
|
58 |
+
* @param array|string|null $opts
|
59 |
+
*
|
60 |
+
* @return Collection of Products
|
61 |
+
*/
|
62 |
+
public static function all($params = null, $opts = null)
|
63 |
+
{
|
64 |
+
return self::_all($params, $opts);
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @param array|null $params
|
69 |
+
* @param array|string|null $opts
|
70 |
+
*
|
71 |
+
* @return Product The deleted product.
|
72 |
+
*/
|
73 |
+
public function delete($params = null, $opts = null)
|
74 |
+
{
|
75 |
+
return $this->_delete($params, $opts);
|
76 |
+
}
|
77 |
+
}
|
@@ -0,0 +1,92 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Recipient
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class Recipient extends ApiResource
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* @param string $id The ID of the recipient to retrieve.
|
14 |
+
* @param array|string|null $opts
|
15 |
+
*
|
16 |
+
* @return Recipient
|
17 |
+
*/
|
18 |
+
public static function retrieve($id, $opts = null)
|
19 |
+
{
|
20 |
+
return self::_retrieve($id, $opts);
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @param array|null $params
|
25 |
+
* @param array|string|null $opts
|
26 |
+
*
|
27 |
+
* @return Collection of Recipients
|
28 |
+
*/
|
29 |
+
public static function all($params = null, $opts = null)
|
30 |
+
{
|
31 |
+
return self::_all($params, $opts);
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @param array|null $params
|
36 |
+
* @param array|string|null $opts
|
37 |
+
*
|
38 |
+
* @return Recipient The created recipient.
|
39 |
+
*/
|
40 |
+
public static function create($params = null, $opts = null)
|
41 |
+
{
|
42 |
+
return self::_create($params, $opts);
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* @param string $id The ID of the recipient to update.
|
47 |
+
* @param array|null $params
|
48 |
+
* @param array|string|null $options
|
49 |
+
*
|
50 |
+
* @return Recipient The updated recipient.
|
51 |
+
*/
|
52 |
+
public static function update($id, $params = null, $options = null)
|
53 |
+
{
|
54 |
+
return self::_update($id, $params, $options);
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @param array|string|null $opts
|
59 |
+
*
|
60 |
+
* @return Recipient The saved recipient.
|
61 |
+
*/
|
62 |
+
public function save($opts = null)
|
63 |
+
{
|
64 |
+
return $this->_save($opts);
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @param array|null $params
|
69 |
+
*
|
70 |
+
* @return Recipient The deleted recipient.
|
71 |
+
*/
|
72 |
+
public function delete($params = null, $opts = null)
|
73 |
+
{
|
74 |
+
return $this->_delete($params, $opts);
|
75 |
+
}
|
76 |
+
|
77 |
+
|
78 |
+
/**
|
79 |
+
* @param array|null $params
|
80 |
+
*
|
81 |
+
* @return Collection of the Recipient's Transfers
|
82 |
+
*/
|
83 |
+
public function transfers($params = null)
|
84 |
+
{
|
85 |
+
if ($params === null) {
|
86 |
+
$params = array();
|
87 |
+
}
|
88 |
+
$params['recipient'] = $this->id;
|
89 |
+
$transfers = Transfer::all($params, $this->_opts);
|
90 |
+
return $transfers;
|
91 |
+
}
|
92 |
+
}
|
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Refund
|
7 |
+
*
|
8 |
+
* @property string $id
|
9 |
+
* @property string $object
|
10 |
+
* @property int $amount
|
11 |
+
* @property mixed $balance_transaction
|
12 |
+
* @property string $charge
|
13 |
+
* @property int $created
|
14 |
+
* @property string $currency
|
15 |
+
* @property mixed $metadata
|
16 |
+
* @property mixed $reason
|
17 |
+
* @property mixed $receipt_number
|
18 |
+
* @property string $status
|
19 |
+
*
|
20 |
+
* @package Stripe
|
21 |
+
*/
|
22 |
+
class Refund extends ApiResource
|
23 |
+
{
|
24 |
+
|
25 |
+
/**
|
26 |
+
* @param string $id The ID of the refund to retrieve.
|
27 |
+
* @param array|string|null $options
|
28 |
+
*
|
29 |
+
* @return Refund
|
30 |
+
*/
|
31 |
+
public static function retrieve($id, $options = null)
|
32 |
+
{
|
33 |
+
return self::_retrieve($id, $options);
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* @param string $id The ID of the refund to update.
|
38 |
+
* @param array|null $params
|
39 |
+
* @param array|string|null $options
|
40 |
+
*
|
41 |
+
* @return Refund The updated refund.
|
42 |
+
*/
|
43 |
+
public static function update($id, $params = null, $options = null)
|
44 |
+
{
|
45 |
+
return self::_update($id, $params, $options);
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* @param array|null $params
|
50 |
+
* @param array|string|null $options
|
51 |
+
*
|
52 |
+
* @return Collection of Refunds
|
53 |
+
*/
|
54 |
+
public static function all($params = null, $options = null)
|
55 |
+
{
|
56 |
+
return self::_all($params, $options);
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* @param array|null $params
|
61 |
+
* @param array|string|null $options
|
62 |
+
*
|
63 |
+
* @return Refund The created refund.
|
64 |
+
*/
|
65 |
+
public static function create($params = null, $options = null)
|
66 |
+
{
|
67 |
+
return self::_create($params, $options);
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* @param array|string|null $opts
|
72 |
+
*
|
73 |
+
* @return Refund The saved refund.
|
74 |
+
*/
|
75 |
+
public function save($opts = null)
|
76 |
+
{
|
77 |
+
return $this->_save($opts);
|
78 |
+
}
|
79 |
+
}
|
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class SKU
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class SKU extends ApiResource
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* @param string $id The ID of the SKU to retrieve.
|
14 |
+
* @param array|string|null $opts
|
15 |
+
*
|
16 |
+
* @return SKU
|
17 |
+
*/
|
18 |
+
public static function retrieve($id, $opts = null)
|
19 |
+
{
|
20 |
+
return self::_retrieve($id, $opts);
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @param array|null $params
|
25 |
+
* @param array|string|null $opts
|
26 |
+
*
|
27 |
+
* @return SKU The created SKU.
|
28 |
+
*/
|
29 |
+
public static function create($params = null, $opts = null)
|
30 |
+
{
|
31 |
+
return self::_create($params, $opts);
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @param string $id The ID of the SKU to update.
|
36 |
+
* @param array|null $params
|
37 |
+
* @param array|string|null $options
|
38 |
+
*
|
39 |
+
* @return SKU The updated SKU.
|
40 |
+
*/
|
41 |
+
public static function update($id, $params = null, $options = null)
|
42 |
+
{
|
43 |
+
return self::_update($id, $params, $options);
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @param array|string|null $opts
|
48 |
+
*
|
49 |
+
* @return SKU The saved SKU.
|
50 |
+
*/
|
51 |
+
public function save($opts = null)
|
52 |
+
{
|
53 |
+
return $this->_save($opts);
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* @param array|null $params
|
58 |
+
* @param array|string|null $opts
|
59 |
+
*
|
60 |
+
* @return Collection of SKUs
|
61 |
+
*/
|
62 |
+
public static function all($params = null, $opts = null)
|
63 |
+
{
|
64 |
+
return self::_all($params, $opts);
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @param array|null $params
|
69 |
+
* @param array|string|null $opts
|
70 |
+
*
|
71 |
+
* @return SKU The deleted sku.
|
72 |
+
*/
|
73 |
+
public function delete($params = null, $opts = null)
|
74 |
+
{
|
75 |
+
return $this->_delete($params, $opts);
|
76 |
+
}
|
77 |
+
}
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class SingletonApiResource
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
abstract class SingletonApiResource extends ApiResource
|
11 |
+
{
|
12 |
+
protected static function _singletonRetrieve($options = null)
|
13 |
+
{
|
14 |
+
$opts = Util\RequestOptions::parse($options);
|
15 |
+
$instance = new static(null, $opts);
|
16 |
+
$instance->refresh();
|
17 |
+
return $instance;
|
18 |
+
}
|
19 |
+
|
20 |
+
/**
|
21 |
+
* @return string The endpoint associated with this singleton class.
|
22 |
+
*/
|
23 |
+
public static function classUrl()
|
24 |
+
{
|
25 |
+
$base = static::className();
|
26 |
+
return "/v1/${base}";
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* @return string The endpoint associated with this singleton API resource.
|
31 |
+
*/
|
32 |
+
public function instanceUrl()
|
33 |
+
{
|
34 |
+
return static::classUrl();
|
35 |
+
}
|
36 |
+
}
|
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Stripe
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class Stripe
|
11 |
+
{
|
12 |
+
// @var string The Stripe API key to be used for requests.
|
13 |
+
public static $apiKey;
|
14 |
+
|
15 |
+
// @var string The base URL for the Stripe API.
|
16 |
+
public static $apiBase = 'https://api.stripe.com';
|
17 |
+
|
18 |
+
// @var string The base URL for the Stripe API uploads endpoint.
|
19 |
+
public static $apiUploadBase = 'https://uploads.stripe.com';
|
20 |
+
|
21 |
+
// @var string|null The version of the Stripe API to use for requests.
|
22 |
+
public static $apiVersion = null;
|
23 |
+
|
24 |
+
// @var string|null The account ID for connected accounts requests.
|
25 |
+
public static $accountId = null;
|
26 |
+
|
27 |
+
// @var boolean Defaults to true.
|
28 |
+
public static $verifySslCerts = true;
|
29 |
+
|
30 |
+
const VERSION = '3.20.0';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* @return string The API key used for requests.
|
34 |
+
*/
|
35 |
+
public static function getApiKey()
|
36 |
+
{
|
37 |
+
return self::$apiKey;
|
38 |
+
}
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Sets the API key to be used for requests.
|
42 |
+
*
|
43 |
+
* @param string $apiKey
|
44 |
+
*/
|
45 |
+
public static function setApiKey($apiKey)
|
46 |
+
{
|
47 |
+
self::$apiKey = $apiKey;
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @return string The API version used for requests. null if we're using the
|
52 |
+
* latest version.
|
53 |
+
*/
|
54 |
+
public static function getApiVersion()
|
55 |
+
{
|
56 |
+
return self::$apiVersion;
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* @param string $apiVersion The API version to use for requests.
|
61 |
+
*/
|
62 |
+
public static function setApiVersion($apiVersion)
|
63 |
+
{
|
64 |
+
self::$apiVersion = $apiVersion;
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @return boolean
|
69 |
+
*/
|
70 |
+
public static function getVerifySslCerts()
|
71 |
+
{
|
72 |
+
return self::$verifySslCerts;
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* @param boolean $verify
|
77 |
+
*/
|
78 |
+
public static function setVerifySslCerts($verify)
|
79 |
+
{
|
80 |
+
self::$verifySslCerts = $verify;
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* @return string | null The Stripe account ID for connected account
|
85 |
+
* requests.
|
86 |
+
*/
|
87 |
+
public static function getAccountId()
|
88 |
+
{
|
89 |
+
return self::$accountId;
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* @param string $accountId The Stripe account ID to set for connected
|
94 |
+
* account requests.
|
95 |
+
*/
|
96 |
+
public static function setAccountId($accountId)
|
97 |
+
{
|
98 |
+
self::$accountId = $accountId;
|
99 |
+
}
|
100 |
+
}
|
@@ -0,0 +1,293 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
use ArrayAccess;
|
6 |
+
use InvalidArgumentException;
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Class StripeObject
|
10 |
+
*
|
11 |
+
* @package Stripe
|
12 |
+
*/
|
13 |
+
class StripeObject implements ArrayAccess, JsonSerializable
|
14 |
+
{
|
15 |
+
/**
|
16 |
+
* @var Util\Set Attributes that should not be sent to the API because
|
17 |
+
* they're not updatable (e.g. API key, ID).
|
18 |
+
*/
|
19 |
+
public static $permanentAttributes;
|
20 |
+
/**
|
21 |
+
* @var Util\Set Attributes that are nested but still updatable from
|
22 |
+
* the parent class's URL (e.g. metadata).
|
23 |
+
*/
|
24 |
+
public static $nestedUpdatableAttributes;
|
25 |
+
|
26 |
+
public static function init()
|
27 |
+
{
|
28 |
+
self::$permanentAttributes = new Util\Set(array('_opts', 'id'));
|
29 |
+
self::$nestedUpdatableAttributes = new Util\Set(array(
|
30 |
+
'metadata', 'legal_entity', 'address', 'dob', 'transfer_schedule', 'verification',
|
31 |
+
'tos_acceptance', 'personal_address',
|
32 |
+
// will make the array into an AttachedObject: weird, but works for now
|
33 |
+
'additional_owners', 0, 1, 2, 3, 4, // Max 3, but leave the 4th so errors work properly
|
34 |
+
'inventory'
|
35 |
+
));
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* @return object The last response from the Stripe API
|
40 |
+
*/
|
41 |
+
public function getLastResponse()
|
42 |
+
{
|
43 |
+
return $this->_lastResponse;
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* @param ApiResponse
|
48 |
+
*
|
49 |
+
* @return void Set the last response from the Stripe API
|
50 |
+
*/
|
51 |
+
public function setLastResponse($resp)
|
52 |
+
{
|
53 |
+
$this->_lastResponse = $resp;
|
54 |
+
}
|
55 |
+
|
56 |
+
protected $_opts;
|
57 |
+
protected $_values;
|
58 |
+
protected $_unsavedValues;
|
59 |
+
protected $_transientValues;
|
60 |
+
protected $_retrieveOptions;
|
61 |
+
protected $_lastResponse;
|
62 |
+
|
63 |
+
public function __construct($id = null, $opts = null)
|
64 |
+
{
|
65 |
+
$this->_opts = $opts ? $opts : new Util\RequestOptions();
|
66 |
+
$this->_values = array();
|
67 |
+
$this->_unsavedValues = new Util\Set();
|
68 |
+
$this->_transientValues = new Util\Set();
|
69 |
+
|
70 |
+
$this->_retrieveOptions = array();
|
71 |
+
if (is_array($id)) {
|
72 |
+
foreach ($id as $key => $value) {
|
73 |
+
if ($key != 'id') {
|
74 |
+
$this->_retrieveOptions[$key] = $value;
|
75 |
+
}
|
76 |
+
}
|
77 |
+
$id = $id['id'];
|
78 |
+
}
|
79 |
+
|
80 |
+
if ($id !== null) {
|
81 |
+
$this->id = $id;
|
82 |
+
}
|
83 |
+
}
|
84 |
+
|
85 |
+
// Standard accessor magic methods
|
86 |
+
public function __set($k, $v)
|
87 |
+
{
|
88 |
+
if ($v === "") {
|
89 |
+
throw new InvalidArgumentException(
|
90 |
+
'You cannot set \''.$k.'\'to an empty string. '
|
91 |
+
.'We interpret empty strings as NULL in requests. '
|
92 |
+
.'You may set obj->'.$k.' = NULL to delete the property'
|
93 |
+
);
|
94 |
+
}
|
95 |
+
|
96 |
+
if (self::$nestedUpdatableAttributes->includes($k)
|
97 |
+
&& isset($this->$k) && $this->$k instanceof AttachedObject && is_array($v)) {
|
98 |
+
$this->$k->replaceWith($v);
|
99 |
+
} else {
|
100 |
+
// TODO: may want to clear from $_transientValues (Won't be user-visible).
|
101 |
+
$this->_values[$k] = $v;
|
102 |
+
}
|
103 |
+
if (!self::$permanentAttributes->includes($k)) {
|
104 |
+
$this->_unsavedValues->add($k);
|
105 |
+
}
|
106 |
+
}
|
107 |
+
|
108 |
+
public function __isset($k)
|
109 |
+
{
|
110 |
+
return isset($this->_values[$k]);
|
111 |
+
}
|
112 |
+
public function __unset($k)
|
113 |
+
{
|
114 |
+
unset($this->_values[$k]);
|
115 |
+
$this->_transientValues->add($k);
|
116 |
+
$this->_unsavedValues->discard($k);
|
117 |
+
}
|
118 |
+
public function &__get($k)
|
119 |
+
{
|
120 |
+
// function should return a reference, using $nullval to return a reference to null
|
121 |
+
$nullval = null;
|
122 |
+
if (!empty($this->_values) && array_key_exists($k, $this->_values)) {
|
123 |
+
return $this->_values[$k];
|
124 |
+
} else if (!empty($this->_transientValues) && $this->_transientValues->includes($k)) {
|
125 |
+
$class = get_class($this);
|
126 |
+
$attrs = join(', ', array_keys($this->_values));
|
127 |
+
$message = "Stripe Notice: Undefined property of $class instance: $k. "
|
128 |
+
. "HINT: The $k attribute was set in the past, however. "
|
129 |
+
. "It was then wiped when refreshing the object "
|
130 |
+
. "with the result returned by Stripe's API, "
|
131 |
+
. "probably as a result of a save(). The attributes currently "
|
132 |
+
. "available on this object are: $attrs";
|
133 |
+
error_log($message);
|
134 |
+
return $nullval;
|
135 |
+
} else {
|
136 |
+
$class = get_class($this);
|
137 |
+
error_log("Stripe Notice: Undefined property of $class instance: $k");
|
138 |
+
return $nullval;
|
139 |
+
}
|
140 |
+
}
|
141 |
+
|
142 |
+
// ArrayAccess methods
|
143 |
+
public function offsetSet($k, $v)
|
144 |
+
{
|
145 |
+
$this->$k = $v;
|
146 |
+
}
|
147 |
+
|
148 |
+
public function offsetExists($k)
|
149 |
+
{
|
150 |
+
return array_key_exists($k, $this->_values);
|
151 |
+
}
|
152 |
+
|
153 |
+
public function offsetUnset($k)
|
154 |
+
{
|
155 |
+
unset($this->$k);
|
156 |
+
}
|
157 |
+
public function offsetGet($k)
|
158 |
+
{
|
159 |
+
return array_key_exists($k, $this->_values) ? $this->_values[$k] : null;
|
160 |
+
}
|
161 |
+
|
162 |
+
public function keys()
|
163 |
+
{
|
164 |
+
return array_keys($this->_values);
|
165 |
+
}
|
166 |
+
|
167 |
+
/**
|
168 |
+
* This unfortunately needs to be public to be used in Util\Util
|
169 |
+
*
|
170 |
+
* @param array $values
|
171 |
+
* @param array $opts
|
172 |
+
*
|
173 |
+
* @return StripeObject The object constructed from the given values.
|
174 |
+
*/
|
175 |
+
public static function constructFrom($values, $opts)
|
176 |
+
{
|
177 |
+
$obj = new static(isset($values['id']) ? $values['id'] : null);
|
178 |
+
$obj->refreshFrom($values, $opts);
|
179 |
+
return $obj;
|
180 |
+
}
|
181 |
+
|
182 |
+
/**
|
183 |
+
* Refreshes this object using the provided values.
|
184 |
+
*
|
185 |
+
* @param array $values
|
186 |
+
* @param array|Util\RequestOptions $opts
|
187 |
+
* @param boolean $partial Defaults to false.
|
188 |
+
*/
|
189 |
+
public function refreshFrom($values, $opts, $partial = false)
|
190 |
+
{
|
191 |
+
if (is_array($opts)) {
|
192 |
+
$opts = Util\RequestOptions::parse($opts);
|
193 |
+
}
|
194 |
+
|
195 |
+
$this->_opts = $opts;
|
196 |
+
|
197 |
+
// Wipe old state before setting new. This is useful for e.g. updating a
|
198 |
+
// customer, where there is no persistent card parameter. Mark those values
|
199 |
+
// which don't persist as transient
|
200 |
+
if ($partial) {
|
201 |
+
$removed = new Util\Set();
|
202 |
+
} else {
|
203 |
+
$removed = array_diff(array_keys($this->_values), array_keys($values));
|
204 |
+
}
|
205 |
+
|
206 |
+
foreach ($removed as $k) {
|
207 |
+
if (self::$permanentAttributes->includes($k)) {
|
208 |
+
continue;
|
209 |
+
}
|
210 |
+
|
211 |
+
unset($this->$k);
|
212 |
+
}
|
213 |
+
|
214 |
+
foreach ($values as $k => $v) {
|
215 |
+
if (self::$permanentAttributes->includes($k) && isset($this[$k])) {
|
216 |
+
continue;
|
217 |
+
}
|
218 |
+
|
219 |
+
if (self::$nestedUpdatableAttributes->includes($k) && is_array($v)) {
|
220 |
+
$this->_values[$k] = AttachedObject::constructFrom($v, $opts);
|
221 |
+
} else {
|
222 |
+
$this->_values[$k] = Util\Util::convertToStripeObject($v, $opts);
|
223 |
+
}
|
224 |
+
|
225 |
+
$this->_transientValues->discard($k);
|
226 |
+
$this->_unsavedValues->discard($k);
|
227 |
+
}
|
228 |
+
}
|
229 |
+
|
230 |
+
/**
|
231 |
+
* @return array A recursive mapping of attributes to values for this object,
|
232 |
+
* including the proper value for deleted attributes.
|
233 |
+
*/
|
234 |
+
public function serializeParameters()
|
235 |
+
{
|
236 |
+
$params = array();
|
237 |
+
if ($this->_unsavedValues) {
|
238 |
+
foreach ($this->_unsavedValues->toArray() as $k) {
|
239 |
+
$v = $this->$k;
|
240 |
+
if ($v === null) {
|
241 |
+
$v = '';
|
242 |
+
}
|
243 |
+
|
244 |
+
$params[$k] = $v;
|
245 |
+
}
|
246 |
+
}
|
247 |
+
|
248 |
+
// Get nested updates.
|
249 |
+
foreach (self::$nestedUpdatableAttributes->toArray() as $property) {
|
250 |
+
if (isset($this->$property)) {
|
251 |
+
if ($this->$property instanceof StripeObject) {
|
252 |
+
$serialized = $this->$property->serializeParameters();
|
253 |
+
if ($serialized) {
|
254 |
+
$params[$property] = $serialized;
|
255 |
+
}
|
256 |
+
}
|
257 |
+
}
|
258 |
+
}
|
259 |
+
|
260 |
+
return $params;
|
261 |
+
}
|
262 |
+
|
263 |
+
public function jsonSerialize()
|
264 |
+
{
|
265 |
+
return $this->__toArray(true);
|
266 |
+
}
|
267 |
+
|
268 |
+
public function __toJSON()
|
269 |
+
{
|
270 |
+
if (defined('JSON_PRETTY_PRINT')) {
|
271 |
+
return json_encode($this->__toArray(true), JSON_PRETTY_PRINT);
|
272 |
+
} else {
|
273 |
+
return json_encode($this->__toArray(true));
|
274 |
+
}
|
275 |
+
}
|
276 |
+
|
277 |
+
public function __toString()
|
278 |
+
{
|
279 |
+
$class = get_class($this);
|
280 |
+
return $class . ' JSON: ' . $this->__toJSON();
|
281 |
+
}
|
282 |
+
|
283 |
+
public function __toArray($recursive = false)
|
284 |
+
{
|
285 |
+
if ($recursive) {
|
286 |
+
return Util\Util::convertStripeObjectToArray($this->_values);
|
287 |
+
} else {
|
288 |
+
return $this->_values;
|
289 |
+
}
|
290 |
+
}
|
291 |
+
}
|
292 |
+
|
293 |
+
StripeObject::init();
|
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Subscription
|
7 |
+
*
|
8 |
+
* @package Stripe
|
9 |
+
*/
|
10 |
+
class Subscription extends ApiResource
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* These constants are possible representations of the status field.
|
14 |
+
*
|
15 |
+
* @link https://stripe.com/docs/api#subscription_object-status
|
16 |
+
*/
|
17 |
+
const STATUS_ACTIVE = 'active';
|
18 |
+
const STATUS_CANCELED = 'canceled';
|
19 |
+
const STATUS_PAST_DUE = 'past_due';
|
20 |
+
const STATUS_TRIALING = 'trialing';
|
21 |
+
const STATUS_UNPAID = 'unpaid';
|
22 |
+
|
23 |
+
/**
|
24 |
+
* @param string $id The ID of the subscription to retrieve.
|
25 |
+
* @param array|string|null $opts
|
26 |
+
*
|
27 |
+
* @return Subscription
|
28 |
+
*/
|
29 |
+
public static function retrieve($id, $opts = null)
|
30 |
+
{
|
31 |
+
return self::_retrieve($id, $opts);
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @param array|null $params
|
36 |
+
* @param array|string|null $opts
|
37 |
+
*
|
38 |
+
* @return Collection of Subscriptions
|
39 |
+
*/
|
40 |
+
public static function all($params = null, $opts = null)
|
41 |
+
{
|
42 |
+
return self::_all($params, $opts);
|
43 |
+
}
|
44 |
+
|
45 |
+
/**
|
46 |
+
* @param array|null $params
|
47 |
+
* @param array|string|null $opts
|
48 |
+
*
|
49 |
+
* @return Subscription The created subscription.
|
50 |
+
*/
|
51 |
+
public static function create($params = null, $opts = null)
|
52 |
+
{
|
53 |
+
return self::_create($params, $opts);
|
54 |
+
}
|
55 |
+
|
56 |
+
/**
|
57 |
+
* @param string $id The ID of the subscription to retrieve.
|
58 |
+
* @param array|null $params
|
59 |
+
* @param array|string|null $options
|
60 |
+
*
|
61 |
+
* @return Subscription The updated subscription.
|
62 |
+
*/
|
63 |
+
public static function update($id, $params = null, $options = null)
|
64 |
+
{
|
65 |
+
return self::_update($id, $params, $options);
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* @param array|null $params
|
70 |
+
*
|
71 |
+
* @return Subscription The deleted subscription.
|
72 |
+
*/
|
73 |
+
public function cancel($params = null, $opts = null)
|
74 |
+
{
|
75 |
+
return $this->_delete($params, $opts);
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* @param array|string|null $opts
|
80 |
+
*
|
81 |
+
* @return Subscription The saved subscription.
|
82 |
+
*/
|
83 |
+
public function save($opts = null)
|
84 |
+
{
|
85 |
+
return $this->_save($opts);
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* @return Subscription The updated subscription.
|
90 |
+
*/
|
91 |
+
public function deleteDiscount()
|
92 |
+
{
|
93 |
+
$url = $this->instanceUrl() . '/discount';
|
94 |
+
list($response, $opts) = $this->_request('delete', $url);
|
95 |
+
$this->refreshFrom(array('discount' => null), $opts, true);
|
96 |
+
}
|
97 |
+
}
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class ThreeDSecure extends ApiResource
|
6 |
+
{
|
7 |
+
/**
|
8 |
+
* @return string The endpoint URL for the given class.
|
9 |
+
*/
|
10 |
+
public static function classUrl()
|
11 |
+
{
|
12 |
+
return "/v1/3d_secure";
|
13 |
+
}
|
14 |
+
|
15 |
+
/**
|
16 |
+
* @param array|null $params
|
17 |
+
* @param array|string|null $opts
|
18 |
+
*
|
19 |
+
* @return ThreeDSecure The created 3D Secure object.
|
20 |
+
*/
|
21 |
+
public static function create($params = null, $opts = null)
|
22 |
+
{
|
23 |
+
return self::_create($params, $opts);
|
24 |
+
}
|
25 |
+
}
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Token
|
7 |
+
*
|
8 |
+
* @property string $id
|
9 |
+
* @property string $object
|
10 |
+
* @property mixed $bank_account
|
11 |
+
* @property mixed $card
|
12 |
+
* @property mixed $client_ip
|
13 |
+
* @property int $created
|
14 |
+
* @property bool $livemode
|
15 |
+
* @property string $type
|
16 |
+
* @property bool $used
|
17 |
+
*
|
18 |
+
* @package Stripe
|
19 |
+
*/
|
20 |
+
class Token extends ApiResource
|
21 |
+
{
|
22 |
+
/**
|
23 |
+
* @param string $id The ID of the token to retrieve.
|
24 |
+
* @param array|string|null $opts
|
25 |
+
*
|
26 |
+
* @return Token
|
27 |
+
*/
|
28 |
+
public static function retrieve($id, $opts = null)
|
29 |
+
{
|
30 |
+
return self::_retrieve($id, $opts);
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* @param array|null $params
|
35 |
+
* @param array|string|null $opts
|
36 |
+
*
|
37 |
+
* @return Token The created token.
|
38 |
+
*/
|
39 |
+
public static function create($params = null, $opts = null)
|
40 |
+
{
|
41 |
+
return self::_create($params, $opts);
|
42 |
+
}
|
43 |
+
}
|
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class Transfer
|
7 |
+
*
|
8 |
+
* @property string $id
|
9 |
+
* @property string $object
|
10 |
+
* @property int $amount
|
11 |
+
* @property int $amount_reversed
|
12 |
+
* @property mixed $application_fee
|
13 |
+
* @property string $balance_transaction
|
14 |
+
* @property int $created
|
15 |
+
* @property string $currency
|
16 |
+
* @property int $date
|
17 |
+
* @property mixed $description
|
18 |
+
* @property mixed $destination
|
19 |
+
* @property mixed $destination_payment
|
20 |
+
* @property mixed $failure_code
|
21 |
+
* @property mixed $failure_message
|
22 |
+
* @property mixed $fraud_details
|
23 |
+
* @property mixed $invoice
|
24 |
+
* @property bool $livemode
|
25 |
+
* @property mixed $metadata
|
26 |
+
* @property mixed $recipient
|
27 |
+
* @property mixed $reversals
|
28 |
+
* @property bool $reversed
|
29 |
+
* @property mixed $source_transaction
|
30 |
+
* @property string $source_type
|
31 |
+
* @property mixed $statement_descriptor
|
32 |
+
* @property string $status
|
33 |
+
* @property string $type
|
34 |
+
*
|
35 |
+
* @package Stripe
|
36 |
+
*/
|
37 |
+
class Transfer extends ApiResource
|
38 |
+
{
|
39 |
+
/**
|
40 |
+
* @param string $id The ID of the transfer to retrieve.
|
41 |
+
* @param array|string|null $opts
|
42 |
+
*
|
43 |
+
* @return Transfer
|
44 |
+
*/
|
45 |
+
public static function retrieve($id, $opts = null)
|
46 |
+
{
|
47 |
+
return self::_retrieve($id, $opts);
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @param array|null $params
|
52 |
+
* @param array|string|null $opts
|
53 |
+
*
|
54 |
+
* @return Collection of Transfers
|
55 |
+
*/
|
56 |
+
public static function all($params = null, $opts = null)
|
57 |
+
{
|
58 |
+
return self::_all($params, $opts);
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* @param array|null $params
|
63 |
+
* @param array|string|null $opts
|
64 |
+
*
|
65 |
+
* @return Transfer The created transfer.
|
66 |
+
*/
|
67 |
+
public static function create($params = null, $opts = null)
|
68 |
+
{
|
69 |
+
return self::_create($params, $opts);
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* @param string $id The ID of the transfer to update.
|
74 |
+
* @param array|null $params
|
75 |
+
* @param array|string|null $options
|
76 |
+
*
|
77 |
+
* @return Transfer The updated transfer.
|
78 |
+
*/
|
79 |
+
public static function update($id, $params = null, $options = null)
|
80 |
+
{
|
81 |
+
return self::_update($id, $params, $options);
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* @return TransferReversal The created transfer reversal.
|
86 |
+
*/
|
87 |
+
public function reverse($params = null, $opts = null)
|
88 |
+
{
|
89 |
+
$url = $this->instanceUrl() . '/reversals';
|
90 |
+
list($response, $opts) = $this->_request('post', $url, $params, $opts);
|
91 |
+
$this->refreshFrom($response, $opts);
|
92 |
+
return $this;
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* @return Transfer The canceled transfer.
|
97 |
+
*/
|
98 |
+
public function cancel()
|
99 |
+
{
|
100 |
+
$url = $this->instanceUrl() . '/cancel';
|
101 |
+
list($response, $opts) = $this->_request('post', $url);
|
102 |
+
$this->refreshFrom($response, $opts);
|
103 |
+
return $this;
|
104 |
+
}
|
105 |
+
|
106 |
+
/**
|
107 |
+
* @param array|string|null $opts
|
108 |
+
*
|
109 |
+
* @return Transfer The saved transfer.
|
110 |
+
*/
|
111 |
+
public function save($opts = null)
|
112 |
+
{
|
113 |
+
return $this->_save($opts);
|
114 |
+
}
|
115 |
+
}
|
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class TransferReversal
|
7 |
+
*
|
8 |
+
* @property string $id
|
9 |
+
* @property string $object
|
10 |
+
* @property int $amount
|
11 |
+
* @property string $balance_transaction
|
12 |
+
* @property int $created
|
13 |
+
* @property string $currency
|
14 |
+
* @property mixed $metadata
|
15 |
+
* @property string $transfer
|
16 |
+
*
|
17 |
+
* @package Stripe
|
18 |
+
*/
|
19 |
+
class TransferReversal extends ApiResource
|
20 |
+
{
|
21 |
+
/**
|
22 |
+
* @return string The API URL for this Stripe transfer reversal.
|
23 |
+
*/
|
24 |
+
public function instanceUrl()
|
25 |
+
{
|
26 |
+
$id = $this['id'];
|
27 |
+
$transfer = $this['transfer'];
|
28 |
+
if (!$id) {
|
29 |
+
throw new Error\InvalidRequest(
|
30 |
+
"Could not determine which URL to request: " .
|
31 |
+
"class instance has invalid ID: $id",
|
32 |
+
null
|
33 |
+
);
|
34 |
+
}
|
35 |
+
$id = Util\Util::utf8($id);
|
36 |
+
$transfer = Util\Util::utf8($transfer);
|
37 |
+
|
38 |
+
$base = Transfer::classUrl();
|
39 |
+
$transferExtn = urlencode($transfer);
|
40 |
+
$extn = urlencode($id);
|
41 |
+
return "$base/$transferExtn/reversals/$extn";
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* @param array|string|null $opts
|
46 |
+
*
|
47 |
+
* @return TransferReversal The saved reversal.
|
48 |
+
*/
|
49 |
+
public function save($opts = null)
|
50 |
+
{
|
51 |
+
return $this->_save($opts);
|
52 |
+
}
|
53 |
+
}
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Util;
|
4 |
+
|
5 |
+
class AutoPagingIterator implements \Iterator
|
6 |
+
{
|
7 |
+
private $lastId = null;
|
8 |
+
private $page = null;
|
9 |
+
private $pageOffset = 0;
|
10 |
+
private $params = array();
|
11 |
+
|
12 |
+
public function __construct($collection, $params)
|
13 |
+
{
|
14 |
+
$this->page = $collection;
|
15 |
+
$this->params = $params;
|
16 |
+
}
|
17 |
+
|
18 |
+
public function rewind()
|
19 |
+
{
|
20 |
+
// Actually rewinding would require making a copy of the original page.
|
21 |
+
}
|
22 |
+
|
23 |
+
public function current()
|
24 |
+
{
|
25 |
+
$item = current($this->page->data);
|
26 |
+
$this->lastId = $item !== false ? $item['id'] : null;
|
27 |
+
|
28 |
+
return $item;
|
29 |
+
}
|
30 |
+
|
31 |
+
public function key()
|
32 |
+
{
|
33 |
+
return key($this->page->data) + $this->pageOffset;
|
34 |
+
}
|
35 |
+
|
36 |
+
public function next()
|
37 |
+
{
|
38 |
+
$item = next($this->page->data);
|
39 |
+
if ($item === false) {
|
40 |
+
// If we've run out of data on the current page, try to fetch another one
|
41 |
+
// and increase the offset the new page would start at
|
42 |
+
$this->pageOffset += count($this->page->data);
|
43 |
+
if ($this->page['has_more']) {
|
44 |
+
$this->params = array_merge(
|
45 |
+
$this->params ? $this->params : array(),
|
46 |
+
array('starting_after' => $this->lastId)
|
47 |
+
);
|
48 |
+
$this->page = $this->page->all($this->params);
|
49 |
+
} else {
|
50 |
+
return false;
|
51 |
+
}
|
52 |
+
}
|
53 |
+
}
|
54 |
+
|
55 |
+
public function valid()
|
56 |
+
{
|
57 |
+
$key = key($this->page->data);
|
58 |
+
$valid = ($key !== null && $key !== false);
|
59 |
+
return $valid;
|
60 |
+
}
|
61 |
+
}
|
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Util;
|
4 |
+
|
5 |
+
use Stripe\Error;
|
6 |
+
|
7 |
+
class RequestOptions
|
8 |
+
{
|
9 |
+
public $headers;
|
10 |
+
public $apiKey;
|
11 |
+
|
12 |
+
public function __construct($key = null, $headers = array())
|
13 |
+
{
|
14 |
+
$this->apiKey = $key;
|
15 |
+
$this->headers = $headers;
|
16 |
+
}
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Unpacks an options array and merges it into the existing RequestOptions
|
20 |
+
* object.
|
21 |
+
* @param array|string|null $options a key => value array
|
22 |
+
*
|
23 |
+
* @return RequestOptions
|
24 |
+
*/
|
25 |
+
public function merge($options)
|
26 |
+
{
|
27 |
+
$other_options = self::parse($options);
|
28 |
+
if ($other_options->apiKey === null) {
|
29 |
+
$other_options->apiKey = $this->apiKey;
|
30 |
+
}
|
31 |
+
$other_options->headers = array_merge($this->headers, $other_options->headers);
|
32 |
+
return $other_options;
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Unpacks an options array into an RequestOptions object
|
37 |
+
* @param array|string|null $options a key => value array
|
38 |
+
*
|
39 |
+
* @return RequestOptions
|
40 |
+
*/
|
41 |
+
public static function parse($options)
|
42 |
+
{
|
43 |
+
if ($options instanceof self) {
|
44 |
+
return $options;
|
45 |
+
}
|
46 |
+
|
47 |
+
if (is_null($options)) {
|
48 |
+
return new RequestOptions(null, array());
|
49 |
+
}
|
50 |
+
|
51 |
+
if (is_string($options)) {
|
52 |
+
return new RequestOptions($options, array());
|
53 |
+
}
|
54 |
+
|
55 |
+
if (is_array($options)) {
|
56 |
+
$headers = array();
|
57 |
+
$key = null;
|
58 |
+
if (array_key_exists('api_key', $options)) {
|
59 |
+
$key = $options['api_key'];
|
60 |
+
}
|
61 |
+
if (array_key_exists('idempotency_key', $options)) {
|
62 |
+
$headers['Idempotency-Key'] = $options['idempotency_key'];
|
63 |
+
}
|
64 |
+
if (array_key_exists('stripe_account', $options)) {
|
65 |
+
$headers['Stripe-Account'] = $options['stripe_account'];
|
66 |
+
}
|
67 |
+
if (array_key_exists('stripe_version', $options)) {
|
68 |
+
$headers['Stripe-Version'] = $options['stripe_version'];
|
69 |
+
}
|
70 |
+
return new RequestOptions($key, $headers);
|
71 |
+
}
|
72 |
+
|
73 |
+
$message = 'The second argument to Stripe API method calls is an '
|
74 |
+
. 'optional per-request apiKey, which must be a string, or '
|
75 |
+
. 'per-request options, which must be an array. (HINT: you can set '
|
76 |
+
. 'a global apiKey by "Stripe::setApiKey(<apiKey>)")';
|
77 |
+
throw new Error\Api($message);
|
78 |
+
}
|
79 |
+
}
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Util;
|
4 |
+
|
5 |
+
use IteratorAggregate;
|
6 |
+
use ArrayIterator;
|
7 |
+
|
8 |
+
class Set implements IteratorAggregate
|
9 |
+
{
|
10 |
+
private $_elts;
|
11 |
+
|
12 |
+
public function __construct($members = array())
|
13 |
+
{
|
14 |
+
$this->_elts = array();
|
15 |
+
foreach ($members as $item) {
|
16 |
+
$this->_elts[$item] = true;
|
17 |
+
}
|
18 |
+
}
|
19 |
+
|
20 |
+
public function includes($elt)
|
21 |
+
{
|
22 |
+
return isset($this->_elts[$elt]);
|
23 |
+
}
|
24 |
+
|
25 |
+
public function add($elt)
|
26 |
+
{
|
27 |
+
$this->_elts[$elt] = true;
|
28 |
+
}
|
29 |
+
|
30 |
+
public function discard($elt)
|
31 |
+
{
|
32 |
+
unset($this->_elts[$elt]);
|
33 |
+
}
|
34 |
+
|
35 |
+
public function toArray()
|
36 |
+
{
|
37 |
+
return array_keys($this->_elts);
|
38 |
+
}
|
39 |
+
|
40 |
+
public function getIterator()
|
41 |
+
{
|
42 |
+
return new ArrayIterator($this->toArray());
|
43 |
+
}
|
44 |
+
}
|
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe\Util;
|
4 |
+
|
5 |
+
use Stripe\StripeObject;
|
6 |
+
|
7 |
+
abstract class Util
|
8 |
+
{
|
9 |
+
private static $isMbstringAvailable = null;
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Whether the provided array (or other) is a list rather than a dictionary.
|
13 |
+
*
|
14 |
+
* @param array|mixed $array
|
15 |
+
* @return boolean True if the given object is a list.
|
16 |
+
*/
|
17 |
+
public static function isList($array)
|
18 |
+
{
|
19 |
+
if (!is_array($array)) {
|
20 |
+
return false;
|
21 |
+
}
|
22 |
+
|
23 |
+
// TODO: generally incorrect, but it's correct given Stripe's response
|
24 |
+
foreach (array_keys($array) as $k) {
|
25 |
+
if (!is_numeric($k)) {
|
26 |
+
return false;
|
27 |
+
}
|
28 |
+
}
|
29 |
+
return true;
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Recursively converts the PHP Stripe object to an array.
|
34 |
+
*
|
35 |
+
* @param array $values The PHP Stripe object to convert.
|
36 |
+
* @return array
|
37 |
+
*/
|
38 |
+
public static function convertStripeObjectToArray($values)
|
39 |
+
{
|
40 |
+
$results = array();
|
41 |
+
foreach ($values as $k => $v) {
|
42 |
+
// FIXME: this is an encapsulation violation
|
43 |
+
if ($k[0] == '_') {
|
44 |
+
continue;
|
45 |
+
}
|
46 |
+
if ($v instanceof StripeObject) {
|
47 |
+
$results[$k] = $v->__toArray(true);
|
48 |
+
} elseif (is_array($v)) {
|
49 |
+
$results[$k] = self::convertStripeObjectToArray($v);
|
50 |
+
} else {
|
51 |
+
$results[$k] = $v;
|
52 |
+
}
|
53 |
+
}
|
54 |
+
return $results;
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Converts a response from the Stripe API to the corresponding PHP object.
|
59 |
+
*
|
60 |
+
* @param array $resp The response from the Stripe API.
|
61 |
+
* @param array $opts
|
62 |
+
* @return StripeObject|array
|
63 |
+
*/
|
64 |
+
public static function convertToStripeObject($resp, $opts)
|
65 |
+
{
|
66 |
+
$types = array(
|
67 |
+
'account' => 'Stripe\\Account',
|
68 |
+
'alipay_account' => 'Stripe\\AlipayAccount',
|
69 |
+
'bank_account' => 'Stripe\\BankAccount',
|
70 |
+
'balance_transaction' => 'Stripe\\BalanceTransaction',
|
71 |
+
'card' => 'Stripe\\Card',
|
72 |
+
'charge' => 'Stripe\\Charge',
|
73 |
+
'country_spec' => 'Stripe\\CountrySpec',
|
74 |
+
'coupon' => 'Stripe\\Coupon',
|
75 |
+
'customer' => 'Stripe\\Customer',
|
76 |
+
'dispute' => 'Stripe\\Dispute',
|
77 |
+
'list' => 'Stripe\\Collection',
|
78 |
+
'invoice' => 'Stripe\\Invoice',
|
79 |
+
'invoiceitem' => 'Stripe\\InvoiceItem',
|
80 |
+
'event' => 'Stripe\\Event',
|
81 |
+
'file' => 'Stripe\\FileUpload',
|
82 |
+
'token' => 'Stripe\\Token',
|
83 |
+
'transfer' => 'Stripe\\Transfer',
|
84 |
+
'order' => 'Stripe\\Order',
|
85 |
+
'order_return' => 'Stripe\\OrderReturn',
|
86 |
+
'plan' => 'Stripe\\Plan',
|
87 |
+
'product' => 'Stripe\\Product',
|
88 |
+
'recipient' => 'Stripe\\Recipient',
|
89 |
+
'refund' => 'Stripe\\Refund',
|
90 |
+
'sku' => 'Stripe\\SKU',
|
91 |
+
'subscription' => 'Stripe\\Subscription',
|
92 |
+
'three_d_secure' => 'Stripe\\ThreeDSecure',
|
93 |
+
'fee_refund' => 'Stripe\\ApplicationFeeRefund',
|
94 |
+
'bitcoin_receiver' => 'Stripe\\BitcoinReceiver',
|
95 |
+
'bitcoin_transaction' => 'Stripe\\BitcoinTransaction',
|
96 |
+
);
|
97 |
+
if (self::isList($resp)) {
|
98 |
+
$mapped = array();
|
99 |
+
foreach ($resp as $i) {
|
100 |
+
array_push($mapped, self::convertToStripeObject($i, $opts));
|
101 |
+
}
|
102 |
+
return $mapped;
|
103 |
+
} elseif (is_array($resp)) {
|
104 |
+
if (isset($resp['object']) && is_string($resp['object']) && isset($types[$resp['object']])) {
|
105 |
+
$class = $types[$resp['object']];
|
106 |
+
} else {
|
107 |
+
$class = 'Stripe\\StripeObject';
|
108 |
+
}
|
109 |
+
return $class::constructFrom($resp, $opts);
|
110 |
+
} else {
|
111 |
+
return $resp;
|
112 |
+
}
|
113 |
+
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* @param string|mixed $value A string to UTF8-encode.
|
117 |
+
*
|
118 |
+
* @return string|mixed The UTF8-encoded string, or the object passed in if
|
119 |
+
* it wasn't a string.
|
120 |
+
*/
|
121 |
+
public static function utf8($value)
|
122 |
+
{
|
123 |
+
if (self::$isMbstringAvailable === null) {
|
124 |
+
self::$isMbstringAvailable = function_exists('mb_detect_encoding');
|
125 |
+
|
126 |
+
if (!self::$isMbstringAvailable) {
|
127 |
+
trigger_error("It looks like the mbstring extension is not enabled. " .
|
128 |
+
"UTF-8 strings will not properly be encoded. Ask your system " .
|
129 |
+
"administrator to enable the mbstring extension, or write to " .
|
130 |
+
"support@stripe.com if you have any questions.", E_USER_WARNING);
|
131 |
+
}
|
132 |
+
}
|
133 |
+
|
134 |
+
if (is_string($value) && self::$isMbstringAvailable && mb_detect_encoding($value, "UTF-8", true) != "UTF-8") {
|
135 |
+
return utf8_encode($value);
|
136 |
+
} else {
|
137 |
+
return $value;
|
138 |
+
}
|
139 |
+
}
|
140 |
+
}
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<phpunit bootstrap="tests/bootstrap.no_autoload.php" colors="true">
|
2 |
+
<testsuites>
|
3 |
+
<testsuite name="Stripe PHP Test Suite">
|
4 |
+
<directory suffix="Test.php">tests</directory>
|
5 |
+
</testsuite>
|
6 |
+
</testsuites>
|
7 |
+
<filter>
|
8 |
+
<whitelist>
|
9 |
+
<directory>lib</directory>
|
10 |
+
</whitelist>
|
11 |
+
</filter>
|
12 |
+
<logging>
|
13 |
+
<log type="coverage-clover" target="clover.xml"/>
|
14 |
+
</logging>
|
15 |
+
</phpunit>
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<phpunit bootstrap="tests/bootstrap.php" colors="true">
|
2 |
+
<testsuites>
|
3 |
+
<testsuite name="Stripe PHP Test Suite">
|
4 |
+
<directory suffix="Test.php">tests</directory>
|
5 |
+
</testsuite>
|
6 |
+
</testsuites>
|
7 |
+
<filter>
|
8 |
+
<whitelist>
|
9 |
+
<directory>lib</directory>
|
10 |
+
</whitelist>
|
11 |
+
</filter>
|
12 |
+
<logging>
|
13 |
+
<log type="coverage-clover" target="clover.xml"/>
|
14 |
+
</logging>
|
15 |
+
</phpunit>
|
@@ -0,0 +1,300 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class AccountTest extends TestCase
|
6 |
+
{
|
7 |
+
private function managedAccountResponse($id)
|
8 |
+
{
|
9 |
+
return array(
|
10 |
+
'id' => $id,
|
11 |
+
'currencies_supported' => array('usd', 'aed', 'afn', '...'),
|
12 |
+
'object' => 'account',
|
13 |
+
'business_name' => 'Stripe.com',
|
14 |
+
'bank_accounts' => array(
|
15 |
+
'object' => 'list',
|
16 |
+
'total_count' => 0,
|
17 |
+
'has_more' => false,
|
18 |
+
'url' => '/v1/accounts/' . $id . '/bank_accounts',
|
19 |
+
'data' => array()
|
20 |
+
),
|
21 |
+
'verification' => array(
|
22 |
+
'fields_needed' => array(
|
23 |
+
'product_description',
|
24 |
+
'business_url',
|
25 |
+
'support_phone',
|
26 |
+
'bank_account',
|
27 |
+
'tos_acceptance.ip',
|
28 |
+
'tos_acceptance.date'
|
29 |
+
),
|
30 |
+
'due_by' => null,
|
31 |
+
'contacted' => false
|
32 |
+
),
|
33 |
+
'tos_acceptance' => array(
|
34 |
+
'ip' => null,
|
35 |
+
'date' => null,
|
36 |
+
'user_agent' => null
|
37 |
+
),
|
38 |
+
'legal_entity' => array(
|
39 |
+
'type' => null,
|
40 |
+
'business_name' => null,
|
41 |
+
'address' => array(
|
42 |
+
'line1' => null,
|
43 |
+
'line2' => null,
|
44 |
+
'city' => null,
|
45 |
+
'state' => null,
|
46 |
+
'postal_code' => null,
|
47 |
+
'country' => 'US'
|
48 |
+
),
|
49 |
+
'first_name' => null,
|
50 |
+
'last_name' => null,
|
51 |
+
'additional_owners' => null,
|
52 |
+
'verification' => array(
|
53 |
+
'status' => 'unverified',
|
54 |
+
'document' => null,
|
55 |
+
'details' => null
|
56 |
+
)
|
57 |
+
)
|
58 |
+
);
|
59 |
+
}
|
60 |
+
|
61 |
+
private function deletedAccountResponse($id)
|
62 |
+
{
|
63 |
+
return array(
|
64 |
+
'id' => $id,
|
65 |
+
'deleted' => true
|
66 |
+
);
|
67 |
+
}
|
68 |
+
|
69 |
+
public function testBasicRetrieve()
|
70 |
+
{
|
71 |
+
$this->mockRequest('GET', '/v1/account', array(), $this->managedAccountResponse('acct_ABC'));
|
72 |
+
$account = Account::retrieve();
|
73 |
+
$this->assertSame($account->id, 'acct_ABC');
|
74 |
+
}
|
75 |
+
|
76 |
+
public function testIDRetrieve()
|
77 |
+
{
|
78 |
+
$this->mockRequest('GET', '/v1/accounts/acct_DEF', array(), $this->managedAccountResponse('acct_DEF'));
|
79 |
+
$account = Account::retrieve('acct_DEF');
|
80 |
+
$this->assertSame($account->id, 'acct_DEF');
|
81 |
+
}
|
82 |
+
|
83 |
+
public function testCreate()
|
84 |
+
{
|
85 |
+
$this->mockRequest(
|
86 |
+
'POST',
|
87 |
+
'/v1/accounts',
|
88 |
+
array('managed' => 'true'),
|
89 |
+
$this->managedAccountResponse('acct_ABC')
|
90 |
+
);
|
91 |
+
$account = Account::create(array(
|
92 |
+
'managed' => true
|
93 |
+
));
|
94 |
+
$this->assertSame($account->id, 'acct_ABC');
|
95 |
+
}
|
96 |
+
|
97 |
+
public function testDelete()
|
98 |
+
{
|
99 |
+
$account = self::createTestAccount();
|
100 |
+
|
101 |
+
$this->mockRequest(
|
102 |
+
'DELETE',
|
103 |
+
'/v1/accounts/' . $account->id,
|
104 |
+
array(),
|
105 |
+
$this->deletedAccountResponse('acct_ABC')
|
106 |
+
);
|
107 |
+
$deleted = $account->delete();
|
108 |
+
$this->assertSame($deleted->id, $account->id);
|
109 |
+
$this->assertTrue($deleted->deleted);
|
110 |
+
}
|
111 |
+
|
112 |
+
public function testReject()
|
113 |
+
{
|
114 |
+
$account = self::createTestAccount();
|
115 |
+
|
116 |
+
$this->mockRequest(
|
117 |
+
'POST',
|
118 |
+
'/v1/accounts/' . $account->id . '/reject',
|
119 |
+
array('reason' => 'fraud'),
|
120 |
+
$this->deletedAccountResponse('acct_ABC')
|
121 |
+
);
|
122 |
+
$rejected = $account->reject(array('reason' => 'fraud'));
|
123 |
+
$this->assertSame($rejected->id, $account->id);
|
124 |
+
}
|
125 |
+
|
126 |
+
public function testSaveLegalEntity()
|
127 |
+
{
|
128 |
+
$response = $this->managedAccountResponse('acct_ABC');
|
129 |
+
$this->mockRequest('POST', '/v1/accounts', array('managed' => 'true'), $response);
|
130 |
+
|
131 |
+
$response['legal_entity']['first_name'] = 'Bob';
|
132 |
+
$this->mockRequest(
|
133 |
+
'POST',
|
134 |
+
'/v1/accounts/acct_ABC',
|
135 |
+
array('legal_entity' => array('first_name' => 'Bob')),
|
136 |
+
$response
|
137 |
+
);
|
138 |
+
|
139 |
+
$account = Account::create(array('managed' => true));
|
140 |
+
$account->legal_entity->first_name = 'Bob';
|
141 |
+
$account->save();
|
142 |
+
|
143 |
+
$this->assertSame('Bob', $account->legal_entity->first_name);
|
144 |
+
}
|
145 |
+
|
146 |
+
public function testUpdateLegalEntity()
|
147 |
+
{
|
148 |
+
$response = $this->managedAccountResponse('acct_ABC');
|
149 |
+
$this->mockRequest('POST', '/v1/accounts', array('managed' => 'true'), $response);
|
150 |
+
|
151 |
+
$response['legal_entity']['first_name'] = 'Bob';
|
152 |
+
$this->mockRequest(
|
153 |
+
'POST',
|
154 |
+
'/v1/accounts/acct_ABC',
|
155 |
+
array('legal_entity' => array('first_name' => 'Bob')),
|
156 |
+
$response
|
157 |
+
);
|
158 |
+
|
159 |
+
$account = Account::create(array('managed' => true));
|
160 |
+
$account = Account::update($account['id'], array(
|
161 |
+
'legal_entity' => array(
|
162 |
+
'first_name' => 'Bob'
|
163 |
+
)
|
164 |
+
));
|
165 |
+
|
166 |
+
$this->assertSame('Bob', $account->legal_entity->first_name);
|
167 |
+
}
|
168 |
+
|
169 |
+
public function testCreateAdditionalOwners()
|
170 |
+
{
|
171 |
+
$request = array(
|
172 |
+
'managed' => true,
|
173 |
+
'country' => 'GB',
|
174 |
+
'legal_entity' => array(
|
175 |
+
'additional_owners' => array(
|
176 |
+
0 => array(
|
177 |
+
'dob' => array(
|
178 |
+
'day' => 12,
|
179 |
+
'month' => 5,
|
180 |
+
'year' => 1970,
|
181 |
+
),
|
182 |
+
'first_name' => 'xgvukvfrde',
|
183 |
+
'last_name' => 'rtcyvubhy',
|
184 |
+
),
|
185 |
+
1 => array(
|
186 |
+
'dob' => array(
|
187 |
+
'day' => 8,
|
188 |
+
'month' => 4,
|
189 |
+
'year' => 1979,
|
190 |
+
),
|
191 |
+
'first_name' => 'yutreuk',
|
192 |
+
'last_name' => 'dfcgvhbjihmv',
|
193 |
+
),
|
194 |
+
),
|
195 |
+
),
|
196 |
+
);
|
197 |
+
|
198 |
+
$acct = Account::create($request);
|
199 |
+
$response = $acct->__toArray(true);
|
200 |
+
|
201 |
+
$req_ao = $request['legal_entity']['additional_owners'];
|
202 |
+
$resp_ao = $response['legal_entity']['additional_owners'];
|
203 |
+
|
204 |
+
$this->assertSame($req_ao[0]['dob'], $resp_ao[0]['dob']);
|
205 |
+
$this->assertSame($req_ao[1]['dob'], $resp_ao[1]['dob']);
|
206 |
+
|
207 |
+
$this->assertSame($req_ao[0]['first_name'], $resp_ao[0]['first_name']);
|
208 |
+
$this->assertSame($req_ao[1]['first_name'], $resp_ao[1]['first_name']);
|
209 |
+
}
|
210 |
+
|
211 |
+
public function testUpdateAdditionalOwners()
|
212 |
+
{
|
213 |
+
$response = $this->managedAccountResponse('acct_ABC');
|
214 |
+
$this->mockRequest('POST', '/v1/accounts', array('managed' => 'true'), $response);
|
215 |
+
|
216 |
+
$response['legal_entity']['additional_owners'] = array(array(
|
217 |
+
'first_name' => 'Bob',
|
218 |
+
'last_name' => null,
|
219 |
+
'address' => array(
|
220 |
+
'line1' => null,
|
221 |
+
'line2' => null,
|
222 |
+
'city' => null,
|
223 |
+
'state' => null,
|
224 |
+
'postal_code' => null,
|
225 |
+
'country' => null
|
226 |
+
),
|
227 |
+
'verification' => array(
|
228 |
+
'status' => 'unverified',
|
229 |
+
'document' => null,
|
230 |
+
'details' => null
|
231 |
+
)
|
232 |
+
));
|
233 |
+
|
234 |
+
$this->mockRequest(
|
235 |
+
'POST',
|
236 |
+
'/v1/accounts/acct_ABC',
|
237 |
+
array('legal_entity' => array('additional_owners' => array(array('first_name' => 'Bob')))),
|
238 |
+
$response
|
239 |
+
);
|
240 |
+
|
241 |
+
$response['legal_entity']['additional_owners'][0]['last_name'] = 'Smith';
|
242 |
+
$this->mockRequest(
|
243 |
+
'POST',
|
244 |
+
'/v1/accounts/acct_ABC',
|
245 |
+
array('legal_entity' => array('additional_owners' => array(array('last_name' => 'Smith')))),
|
246 |
+
$response
|
247 |
+
);
|
248 |
+
|
249 |
+
$response['legal_entity']['additional_owners'][0]['last_name'] = 'Johnson';
|
250 |
+
$this->mockRequest(
|
251 |
+
'POST',
|
252 |
+
'/v1/accounts/acct_ABC',
|
253 |
+
array('legal_entity' => array('additional_owners' => array(array('last_name' => 'Johnson')))),
|
254 |
+
$response
|
255 |
+
);
|
256 |
+
|
257 |
+
$response['legal_entity']['additional_owners'][0]['verification']['document'] = 'file_123';
|
258 |
+
$this->mockRequest(
|
259 |
+
'POST',
|
260 |
+
'/v1/accounts/acct_ABC',
|
261 |
+
array('legal_entity' => array('additional_owners' => array(array('verification' => array('document' => 'file_123'))))),
|
262 |
+
$response
|
263 |
+
);
|
264 |
+
|
265 |
+
$response['legal_entity']['additional_owners'][1] = array(
|
266 |
+
'first_name' => 'Jane',
|
267 |
+
'last_name' => 'Doe'
|
268 |
+
);
|
269 |
+
$this->mockRequest(
|
270 |
+
'POST',
|
271 |
+
'/v1/accounts/acct_ABC',
|
272 |
+
array('legal_entity' => array('additional_owners' => array(1 => array('first_name' => 'Jane')))),
|
273 |
+
$response
|
274 |
+
);
|
275 |
+
|
276 |
+
$account = Account::create(array('managed' => true));
|
277 |
+
$account->legal_entity->additional_owners = array(array('first_name' => 'Bob'));
|
278 |
+
$account->save();
|
279 |
+
$this->assertSame(1, count($account->legal_entity->additional_owners));
|
280 |
+
$this->assertSame('Bob', $account->legal_entity->additional_owners[0]->first_name);
|
281 |
+
|
282 |
+
$account->legal_entity->additional_owners[0]->last_name = 'Smith';
|
283 |
+
$account->save();
|
284 |
+
$this->assertSame(1, count($account->legal_entity->additional_owners));
|
285 |
+
$this->assertSame('Smith', $account->legal_entity->additional_owners[0]->last_name);
|
286 |
+
|
287 |
+
$account['legal_entity']['additional_owners'][0]['last_name'] = 'Johnson';
|
288 |
+
$account->save();
|
289 |
+
$this->assertSame(1, count($account->legal_entity->additional_owners));
|
290 |
+
$this->assertSame('Johnson', $account->legal_entity->additional_owners[0]->last_name);
|
291 |
+
|
292 |
+
$account->legal_entity->additional_owners[0]->verification->document = 'file_123';
|
293 |
+
$account->save();
|
294 |
+
$this->assertSame('file_123', $account->legal_entity->additional_owners[0]->verification->document);
|
295 |
+
|
296 |
+
$account->legal_entity->additional_owners[1] = array('first_name' => 'Jane');
|
297 |
+
$account->save();
|
298 |
+
$this->assertSame('Jane', $account->legal_entity->additional_owners[1]->first_name);
|
299 |
+
}
|
300 |
+
}
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
use Stripe\HttpClient\CurlClient;
|
6 |
+
|
7 |
+
class ApiRequestorTest extends TestCase
|
8 |
+
{
|
9 |
+
public function testEncodeObjects()
|
10 |
+
{
|
11 |
+
$reflector = new \ReflectionClass('Stripe\\ApiRequestor');
|
12 |
+
$method = $reflector->getMethod('_encodeObjects');
|
13 |
+
$method->setAccessible(true);
|
14 |
+
|
15 |
+
$a = array('customer' => new Customer('abcd'));
|
16 |
+
$enc = $method->invoke(null, $a);
|
17 |
+
$this->assertSame($enc, array('customer' => 'abcd'));
|
18 |
+
|
19 |
+
// Preserves UTF-8
|
20 |
+
$v = array('customer' => "☃");
|
21 |
+
$enc = $method->invoke(null, $v);
|
22 |
+
$this->assertSame($enc, $v);
|
23 |
+
|
24 |
+
// Encodes latin-1 -> UTF-8
|
25 |
+
$v = array('customer' => "\xe9");
|
26 |
+
$enc = $method->invoke(null, $v);
|
27 |
+
$this->assertSame($enc, array('customer' => "\xc3\xa9"));
|
28 |
+
}
|
29 |
+
|
30 |
+
public function testHttpClientInjection()
|
31 |
+
{
|
32 |
+
$reflector = new \ReflectionClass('Stripe\\ApiRequestor');
|
33 |
+
$method = $reflector->getMethod('httpClient');
|
34 |
+
$method->setAccessible(true);
|
35 |
+
|
36 |
+
$curl = new CurlClient();
|
37 |
+
$curl->setTimeout(10);
|
38 |
+
ApiRequestor::setHttpClient($curl);
|
39 |
+
|
40 |
+
$injectedCurl = $method->invoke(new ApiRequestor());
|
41 |
+
$this->assertSame($injectedCurl, $curl);
|
42 |
+
}
|
43 |
+
}
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class ApplicationFeeRefundTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testUrls()
|
8 |
+
{
|
9 |
+
$refund = new ApplicationFeeRefund();
|
10 |
+
$refund->id = 'refund_id';
|
11 |
+
$refund->fee = 'fee_id';
|
12 |
+
|
13 |
+
$this->assertSame(
|
14 |
+
$refund->instanceUrl(),
|
15 |
+
'/v1/application_fees/fee_id/refunds/refund_id'
|
16 |
+
);
|
17 |
+
}
|
18 |
+
}
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class ApplicationFeeTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testUrls()
|
8 |
+
{
|
9 |
+
$applicationFee = new ApplicationFee('abcd/efgh');
|
10 |
+
$this->assertSame(
|
11 |
+
$applicationFee->instanceUrl(),
|
12 |
+
'/v1/application_fees/abcd%2Fefgh'
|
13 |
+
);
|
14 |
+
}
|
15 |
+
|
16 |
+
public function testList()
|
17 |
+
{
|
18 |
+
self::authorizeFromEnv();
|
19 |
+
$d = ApplicationFee::all();
|
20 |
+
$this->assertSame($d->url, '/v1/application_fees');
|
21 |
+
}
|
22 |
+
}
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class AuthenticationErrorTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testInvalidCredentials()
|
8 |
+
{
|
9 |
+
Stripe::setApiKey('invalid');
|
10 |
+
try {
|
11 |
+
Customer::create();
|
12 |
+
} catch (Error\Authentication $e) {
|
13 |
+
$this->assertSame(401, $e->getHttpStatus());
|
14 |
+
}
|
15 |
+
}
|
16 |
+
}
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class BalanceTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testRetrieve()
|
8 |
+
{
|
9 |
+
self::authorizeFromEnv();
|
10 |
+
$d = Balance::retrieve();
|
11 |
+
$this->assertSame($d->object, "balance");
|
12 |
+
$this->assertTrue(Util\Util::isList($d->available));
|
13 |
+
$this->assertTrue(Util\Util::isList($d->pending));
|
14 |
+
}
|
15 |
+
}
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class BalanceTransactionTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testList()
|
8 |
+
{
|
9 |
+
self::authorizeFromEnv();
|
10 |
+
$d = BalanceTransaction::all();
|
11 |
+
$this->assertSame($d->url, '/v1/balance/history');
|
12 |
+
}
|
13 |
+
}
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class BankAccountTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testVerify()
|
8 |
+
{
|
9 |
+
self::authorizeFromEnv();
|
10 |
+
|
11 |
+
$customer = self::createTestCustomer();
|
12 |
+
|
13 |
+
$bankAccount = $customer->sources->create(array(
|
14 |
+
'source' => array(
|
15 |
+
'object' => 'bank_account',
|
16 |
+
'account_holder_type' => 'individual',
|
17 |
+
'account_number' => '000123456789',
|
18 |
+
'account_holder_name' => 'John Doe',
|
19 |
+
'routing_number' => '110000000',
|
20 |
+
'country' => 'US'
|
21 |
+
)
|
22 |
+
));
|
23 |
+
|
24 |
+
$this->assertSame($bankAccount->status, 'new');
|
25 |
+
|
26 |
+
$bankAccount = $bankAccount->verify(array(
|
27 |
+
'amounts' => array(32, 45)
|
28 |
+
));
|
29 |
+
|
30 |
+
$this->assertSame($bankAccount->status, 'verified');
|
31 |
+
}
|
32 |
+
}
|
@@ -0,0 +1,120 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class BitcoinReceiverTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testUrls()
|
8 |
+
{
|
9 |
+
$classUrl = BitcoinReceiver::classUrl('Stripe_BitcoinReceiver');
|
10 |
+
$this->assertSame($classUrl, '/v1/bitcoin/receivers');
|
11 |
+
$receiver = new BitcoinReceiver('abcd/efgh');
|
12 |
+
$instanceUrl = $receiver->instanceUrl();
|
13 |
+
$this->assertSame($instanceUrl, '/v1/bitcoin/receivers/abcd%2Fefgh');
|
14 |
+
}
|
15 |
+
|
16 |
+
public function testCreate()
|
17 |
+
{
|
18 |
+
self::authorizeFromEnv();
|
19 |
+
|
20 |
+
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
21 |
+
|
22 |
+
$this->assertSame(100, $receiver->amount);
|
23 |
+
$this->assertNotNull($receiver->id);
|
24 |
+
}
|
25 |
+
|
26 |
+
public function testRetrieve()
|
27 |
+
{
|
28 |
+
self::authorizeFromEnv();
|
29 |
+
|
30 |
+
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
31 |
+
|
32 |
+
$r = BitcoinReceiver::retrieve($receiver->id);
|
33 |
+
$this->assertSame($receiver->id, $r->id);
|
34 |
+
|
35 |
+
$this->assertInstanceOf('Stripe\\BitcoinTransaction', $r->transactions->data[0]);
|
36 |
+
}
|
37 |
+
|
38 |
+
public function testList()
|
39 |
+
{
|
40 |
+
self::authorizeFromEnv();
|
41 |
+
|
42 |
+
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
43 |
+
|
44 |
+
$receivers = BitcoinReceiver::all();
|
45 |
+
$this->assertTrue(count($receivers->data) > 0);
|
46 |
+
}
|
47 |
+
|
48 |
+
public function testListTransactions()
|
49 |
+
{
|
50 |
+
self::authorizeFromEnv();
|
51 |
+
|
52 |
+
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
53 |
+
$this->assertSame(0, count($receiver->transactions->data));
|
54 |
+
|
55 |
+
$transactions = $receiver->transactions->all(array("limit" => 1));
|
56 |
+
$this->assertSame(1, count($transactions->data));
|
57 |
+
}
|
58 |
+
|
59 |
+
public function testDeleteWithCustomer()
|
60 |
+
{
|
61 |
+
self::authorizeFromEnv();
|
62 |
+
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
63 |
+
$customer = Customer::create(array("source" => $receiver->id));
|
64 |
+
$charge = Charge::create(array(
|
65 |
+
"customer" => $customer->id,
|
66 |
+
"amount" => $receiver->amount,
|
67 |
+
"currency" => $receiver->currency
|
68 |
+
));
|
69 |
+
$receiver = BitcoinReceiver::retrieve($receiver->id);
|
70 |
+
$response = $receiver->delete();
|
71 |
+
$this->assertTrue($response->deleted);
|
72 |
+
}
|
73 |
+
|
74 |
+
public function testUpdateWithCustomer()
|
75 |
+
{
|
76 |
+
self::authorizeFromEnv();
|
77 |
+
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
78 |
+
$customer = Customer::create(array("source" => $receiver->id));
|
79 |
+
$receiver = BitcoinReceiver::retrieve($receiver->id);
|
80 |
+
|
81 |
+
$receiver->description = "a new description";
|
82 |
+
$receiver->save();
|
83 |
+
|
84 |
+
$base = Customer::classUrl();
|
85 |
+
$parentExtn = $receiver['customer'];
|
86 |
+
$extn = $receiver['id'];
|
87 |
+
$this->assertEquals("$base/$parentExtn/sources/$extn", $receiver->instanceUrl());
|
88 |
+
|
89 |
+
$updatedReceiver = BitcoinReceiver::retrieve($receiver->id);
|
90 |
+
$this->assertEquals($receiver["description"], $updatedReceiver["description"]);
|
91 |
+
}
|
92 |
+
|
93 |
+
public function testUpdateWithoutCustomer()
|
94 |
+
{
|
95 |
+
self::authorizeFromEnv();
|
96 |
+
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
97 |
+
|
98 |
+
$receiver->description = "a new description";
|
99 |
+
$receiver->save();
|
100 |
+
|
101 |
+
$this->assertEquals(BitcoinReceiver::classUrl() . "/" . $receiver['id'], $receiver->instanceUrl());
|
102 |
+
|
103 |
+
$updatedReceiver = BitcoinReceiver::retrieve($receiver->id);
|
104 |
+
$this->assertEquals($receiver["description"], $updatedReceiver["description"]);
|
105 |
+
}
|
106 |
+
|
107 |
+
public function testRefund()
|
108 |
+
{
|
109 |
+
self::authorizeFromEnv();
|
110 |
+
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
111 |
+
|
112 |
+
$receiver = BitcoinReceiver::retrieve($receiver->id);
|
113 |
+
$this->assertNull($receiver->refund_address);
|
114 |
+
|
115 |
+
$refundAddress = "REFUNDHERE";
|
116 |
+
$receiver->refund(array("refund_address" => $refundAddress));
|
117 |
+
|
118 |
+
$this->assertSame($refundAddress, $receiver->refund_address);
|
119 |
+
}
|
120 |
+
}
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class CardErrorTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testDecline()
|
8 |
+
{
|
9 |
+
self::authorizeFromEnv();
|
10 |
+
|
11 |
+
$card = array(
|
12 |
+
'number' => '4000000000000002',
|
13 |
+
'exp_month' => '3',
|
14 |
+
'exp_year' => '2020'
|
15 |
+
);
|
16 |
+
|
17 |
+
$charge = array(
|
18 |
+
'amount' => 100,
|
19 |
+
'currency' => 'usd',
|
20 |
+
'card' => $card
|
21 |
+
);
|
22 |
+
|
23 |
+
try {
|
24 |
+
Charge::create($charge);
|
25 |
+
} catch (Error\Card $e) {
|
26 |
+
$this->assertSame(402, $e->getHttpStatus());
|
27 |
+
$this->assertTrue(strpos($e->getRequestId(), "req_") === 0, $e->getRequestId());
|
28 |
+
$actual = $e->getJsonBody();
|
29 |
+
$this->assertSame(
|
30 |
+
array('error' => array(
|
31 |
+
'message' => 'Your card was declined.',
|
32 |
+
'type' => 'card_error',
|
33 |
+
'code' => 'card_declined',
|
34 |
+
'charge' => $actual['error']['charge'],
|
35 |
+
)),
|
36 |
+
$actual
|
37 |
+
);
|
38 |
+
}
|
39 |
+
}
|
40 |
+
}
|
@@ -0,0 +1,204 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class ChargeTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testUrls()
|
8 |
+
{
|
9 |
+
$this->assertSame(Charge::classUrl(), '/v1/charges');
|
10 |
+
$charge = new Charge('abcd/efgh');
|
11 |
+
$this->assertSame($charge->instanceUrl(), '/v1/charges/abcd%2Fefgh');
|
12 |
+
}
|
13 |
+
|
14 |
+
public function testCreate()
|
15 |
+
{
|
16 |
+
self::authorizeFromEnv();
|
17 |
+
|
18 |
+
$card = array(
|
19 |
+
'number' => '4242424242424242',
|
20 |
+
'exp_month' => 5,
|
21 |
+
'exp_year' => date('Y') + 1
|
22 |
+
);
|
23 |
+
|
24 |
+
$c = Charge::create(
|
25 |
+
array(
|
26 |
+
'amount' => 100,
|
27 |
+
'currency' => 'usd',
|
28 |
+
'card' => $card
|
29 |
+
)
|
30 |
+
);
|
31 |
+
$this->assertTrue($c->paid);
|
32 |
+
$this->assertFalse($c->refunded);
|
33 |
+
}
|
34 |
+
|
35 |
+
public function testIdempotentCreate()
|
36 |
+
{
|
37 |
+
self::authorizeFromEnv();
|
38 |
+
|
39 |
+
$card = array(
|
40 |
+
'number' => '4242424242424242',
|
41 |
+
'exp_month' => 5,
|
42 |
+
'exp_year' => date('Y') + 1
|
43 |
+
);
|
44 |
+
|
45 |
+
$c = Charge::create(
|
46 |
+
array(
|
47 |
+
'amount' => 100,
|
48 |
+
'currency' => 'usd',
|
49 |
+
'card' => $card
|
50 |
+
),
|
51 |
+
array(
|
52 |
+
'idempotency_key' => self::generateRandomString(),
|
53 |
+
)
|
54 |
+
);
|
55 |
+
|
56 |
+
$this->assertTrue($c->paid);
|
57 |
+
$this->assertSame(200, $c->getLastResponse()->code);
|
58 |
+
}
|
59 |
+
|
60 |
+
public function testRetrieve()
|
61 |
+
{
|
62 |
+
self::authorizeFromEnv();
|
63 |
+
|
64 |
+
$card = array(
|
65 |
+
'number' => '4242424242424242',
|
66 |
+
'exp_month' => 5,
|
67 |
+
'exp_year' => date('Y') + 1
|
68 |
+
);
|
69 |
+
|
70 |
+
$c = Charge::create(
|
71 |
+
array(
|
72 |
+
'amount' => 100,
|
73 |
+
'currency' => 'usd',
|
74 |
+
'card' => $card
|
75 |
+
)
|
76 |
+
);
|
77 |
+
$d = Charge::retrieve($c->id);
|
78 |
+
$this->assertSame(200, $d->getLastResponse()->code);
|
79 |
+
$this->assertSame($d->id, $c->id);
|
80 |
+
}
|
81 |
+
|
82 |
+
public function testUpdateMetadata()
|
83 |
+
{
|
84 |
+
self::authorizeFromEnv();
|
85 |
+
|
86 |
+
$card = array(
|
87 |
+
'number' => '4242424242424242',
|
88 |
+
'exp_month' => 5,
|
89 |
+
'exp_year' => date('Y') + 1
|
90 |
+
);
|
91 |
+
|
92 |
+
$charge = Charge::create(
|
93 |
+
array(
|
94 |
+
'amount' => 100,
|
95 |
+
'currency' => 'usd',
|
96 |
+
'card' => $card
|
97 |
+
)
|
98 |
+
);
|
99 |
+
|
100 |
+
$charge->metadata['test'] = 'foo bar';
|
101 |
+
$charge->save();
|
102 |
+
|
103 |
+
$updatedCharge = Charge::retrieve($charge->id);
|
104 |
+
$this->assertSame('foo bar', $updatedCharge->metadata['test']);
|
105 |
+
}
|
106 |
+
|
107 |
+
public function testUpdateMetadataAll()
|
108 |
+
{
|
109 |
+
self::authorizeFromEnv();
|
110 |
+
|
111 |
+
$card = array(
|
112 |
+
'number' => '4242424242424242',
|
113 |
+
'exp_month' => 5,
|
114 |
+
'exp_year' => date('Y') + 1
|
115 |
+
);
|
116 |
+
|
117 |
+
$charge = Charge::create(
|
118 |
+
array(
|
119 |
+
'amount' => 100,
|
120 |
+
'currency' => 'usd',
|
121 |
+
'card' => $card
|
122 |
+
)
|
123 |
+
);
|
124 |
+
|
125 |
+
$charge->metadata = array('test' => 'foo bar');
|
126 |
+
$charge->save();
|
127 |
+
$this->assertSame(200, $charge->getLastResponse()->code);
|
128 |
+
|
129 |
+
$updatedCharge = Charge::retrieve($charge->id);
|
130 |
+
$this->assertSame('foo bar', $updatedCharge->metadata['test']);
|
131 |
+
}
|
132 |
+
|
133 |
+
public function testMarkAsFraudulent()
|
134 |
+
{
|
135 |
+
self::authorizeFromEnv();
|
136 |
+
|
137 |
+
$card = array(
|
138 |
+
'number' => '4242424242424242',
|
139 |
+
'exp_month' => 5,
|
140 |
+
'exp_year' => date('Y') + 1
|
141 |
+
);
|
142 |
+
|
143 |
+
$charge = Charge::create(
|
144 |
+
array(
|
145 |
+
'amount' => 100,
|
146 |
+
'currency' => 'usd',
|
147 |
+
'card' => $card
|
148 |
+
)
|
149 |
+
);
|
150 |
+
|
151 |
+
$charge->refunds->create();
|
152 |
+
$charge->markAsFraudulent();
|
153 |
+
|
154 |
+
$updatedCharge = Charge::retrieve($charge->id);
|
155 |
+
$this->assertSame(
|
156 |
+
'fraudulent',
|
157 |
+
$updatedCharge['fraud_details']['user_report']
|
158 |
+
);
|
159 |
+
}
|
160 |
+
|
161 |
+
public function testCreateWithBitcoinReceiverSource()
|
162 |
+
{
|
163 |
+
self::authorizeFromEnv();
|
164 |
+
|
165 |
+
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
166 |
+
|
167 |
+
$charge = Charge::create(
|
168 |
+
array(
|
169 |
+
'amount' => 100,
|
170 |
+
'currency' => 'usd',
|
171 |
+
'source' => $receiver->id
|
172 |
+
)
|
173 |
+
);
|
174 |
+
|
175 |
+
$this->assertSame($receiver->id, $charge->source->id);
|
176 |
+
$this->assertSame("bitcoin_receiver", $charge->source->object);
|
177 |
+
$this->assertSame("succeeded", $charge->status);
|
178 |
+
$this->assertInstanceOf('Stripe\\BitcoinReceiver', $charge->source);
|
179 |
+
}
|
180 |
+
|
181 |
+
public function markAsSafe()
|
182 |
+
{
|
183 |
+
self::authorizeFromEnv();
|
184 |
+
|
185 |
+
$card = array(
|
186 |
+
'number' => '4242424242424242',
|
187 |
+
'exp_month' => 5,
|
188 |
+
'exp_year' => date('Y') + 1
|
189 |
+
);
|
190 |
+
|
191 |
+
$charge = Charge::create(
|
192 |
+
array(
|
193 |
+
'amount' => 100,
|
194 |
+
'currency' => 'usd',
|
195 |
+
'card' => $card
|
196 |
+
)
|
197 |
+
);
|
198 |
+
|
199 |
+
$charge->markAsSafe();
|
200 |
+
|
201 |
+
$updatedCharge = Charge::retrieve($charge->id);
|
202 |
+
$this->assertSame('safe', $updatedCharge['fraud_details']['user_report']);
|
203 |
+
}
|
204 |
+
}
|
@@ -0,0 +1,105 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class CollectionTest extends TestCase
|
6 |
+
{
|
7 |
+
private function pageableModelResponse($ids, $hasMore)
|
8 |
+
{
|
9 |
+
$data = array();
|
10 |
+
foreach ($ids as $id) {
|
11 |
+
array_push($data, array(
|
12 |
+
'id' => $id,
|
13 |
+
'object' => 'pageablemodel'
|
14 |
+
));
|
15 |
+
}
|
16 |
+
return array(
|
17 |
+
'object' => 'list',
|
18 |
+
'url' => '/v1/pageablemodels',
|
19 |
+
'data' => $data,
|
20 |
+
'has_more' => $hasMore
|
21 |
+
);
|
22 |
+
}
|
23 |
+
|
24 |
+
public function testAutoPagingOnePage()
|
25 |
+
{
|
26 |
+
$collection = Collection::constructFrom(
|
27 |
+
$this->pageableModelResponse(array('pm_123', 'pm_124'), false),
|
28 |
+
new Util\RequestOptions()
|
29 |
+
);
|
30 |
+
|
31 |
+
$seen = array();
|
32 |
+
foreach ($collection->autoPagingIterator() as $item) {
|
33 |
+
array_push($seen, $item['id']);
|
34 |
+
}
|
35 |
+
|
36 |
+
$this->assertSame($seen, array('pm_123', 'pm_124'));
|
37 |
+
}
|
38 |
+
|
39 |
+
public function testAutoPagingThreePages()
|
40 |
+
{
|
41 |
+
$collection = Collection::constructFrom(
|
42 |
+
$this->pageableModelResponse(array('pm_123', 'pm_124'), true),
|
43 |
+
new Util\RequestOptions()
|
44 |
+
);
|
45 |
+
$collection->setRequestParams(array('foo' => 'bar'));
|
46 |
+
|
47 |
+
$this->mockRequest(
|
48 |
+
'GET',
|
49 |
+
'/v1/pageablemodels',
|
50 |
+
array(
|
51 |
+
'foo' => 'bar',
|
52 |
+
'starting_after' => 'pm_124'
|
53 |
+
),
|
54 |
+
$this->pageableModelResponse(array('pm_125', 'pm_126'), true)
|
55 |
+
);
|
56 |
+
$this->mockRequest(
|
57 |
+
'GET',
|
58 |
+
'/v1/pageablemodels',
|
59 |
+
array(
|
60 |
+
'foo' => 'bar',
|
61 |
+
'starting_after' => 'pm_126'
|
62 |
+
),
|
63 |
+
$this->pageableModelResponse(array('pm_127'), false)
|
64 |
+
);
|
65 |
+
|
66 |
+
$seen = array();
|
67 |
+
foreach ($collection->autoPagingIterator() as $item) {
|
68 |
+
array_push($seen, $item['id']);
|
69 |
+
}
|
70 |
+
|
71 |
+
$this->assertSame($seen, array('pm_123', 'pm_124', 'pm_125', 'pm_126', 'pm_127'));
|
72 |
+
}
|
73 |
+
|
74 |
+
public function testIteratorToArray()
|
75 |
+
{
|
76 |
+
$collection = Collection::constructFrom(
|
77 |
+
$this->pageableModelResponse(array('pm_123', 'pm_124'), true),
|
78 |
+
new Util\RequestOptions()
|
79 |
+
);
|
80 |
+
|
81 |
+
$this->mockRequest(
|
82 |
+
'GET',
|
83 |
+
'/v1/pageablemodels',
|
84 |
+
array(
|
85 |
+
'starting_after' => 'pm_124'
|
86 |
+
),
|
87 |
+
$this->pageableModelResponse(array('pm_125', 'pm_126'), true)
|
88 |
+
);
|
89 |
+
$this->mockRequest(
|
90 |
+
'GET',
|
91 |
+
'/v1/pageablemodels',
|
92 |
+
array(
|
93 |
+
'starting_after' => 'pm_126'
|
94 |
+
),
|
95 |
+
$this->pageableModelResponse(array('pm_127'), false)
|
96 |
+
);
|
97 |
+
|
98 |
+
$seen = array();
|
99 |
+
foreach (iterator_to_array($collection->autoPagingIterator()) as $item) {
|
100 |
+
array_push($seen, $item['id']);
|
101 |
+
}
|
102 |
+
|
103 |
+
$this->assertSame($seen, array('pm_123', 'pm_124', 'pm_125', 'pm_126', 'pm_127'));
|
104 |
+
}
|
105 |
+
}
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class CountrySpecTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testRetrieve()
|
8 |
+
{
|
9 |
+
self::authorizeFromEnv();
|
10 |
+
|
11 |
+
$country = "US";
|
12 |
+
$d = CountrySpec::retrieve($country);
|
13 |
+
$this->assertSame($d->object, "country_spec");
|
14 |
+
$this->assertSame($d->id, $country);
|
15 |
+
$this->assertGreaterThan(0, count($d->supported_bank_account_currencies));
|
16 |
+
$this->assertGreaterThan(0, count($d->supported_payment_currencies));
|
17 |
+
$this->assertGreaterThan(0, count($d->supported_payment_methods));
|
18 |
+
$this->assertGreaterThan(0, count($d->verification_fields));
|
19 |
+
}
|
20 |
+
|
21 |
+
public function testList()
|
22 |
+
{
|
23 |
+
self::authorizeFromEnv();
|
24 |
+
|
25 |
+
$d = CountrySpec::all();
|
26 |
+
$this->assertSame($d->object, "list");
|
27 |
+
$this->assertGreaterThan(0, count($d->data));
|
28 |
+
$this->assertSame($d->data[0]->object, "country_spec");
|
29 |
+
$this->assertInstanceOf("Stripe\\CountrySpec", $d->data[0]);
|
30 |
+
}
|
31 |
+
}
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class CouponTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testSave()
|
8 |
+
{
|
9 |
+
self::authorizeFromEnv();
|
10 |
+
$id = 'test_coupon-' . self::generateRandomString(20);
|
11 |
+
$c = Coupon::create(
|
12 |
+
array(
|
13 |
+
'percent_off' => 25,
|
14 |
+
'duration' => 'repeating',
|
15 |
+
'duration_in_months' => 5,
|
16 |
+
'id' => $id,
|
17 |
+
)
|
18 |
+
);
|
19 |
+
$this->assertSame($id, $c->id);
|
20 |
+
// @codingStandardsIgnoreStart
|
21 |
+
$this->assertSame(25, $c->percent_off);
|
22 |
+
// @codingStandardsIgnoreEnd
|
23 |
+
$c->metadata['foo'] = 'bar';
|
24 |
+
$c->save();
|
25 |
+
|
26 |
+
$stripeCoupon = Coupon::retrieve($id);
|
27 |
+
$this->assertEquals($c->metadata, $stripeCoupon->metadata);
|
28 |
+
}
|
29 |
+
}
|
@@ -0,0 +1,92 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
use Stripe\HttpClient\CurlClient;
|
6 |
+
|
7 |
+
class CurlClientTest extends TestCase
|
8 |
+
{
|
9 |
+
public function testTimeout()
|
10 |
+
{
|
11 |
+
$curl = new CurlClient();
|
12 |
+
$this->assertSame(CurlClient::DEFAULT_TIMEOUT, $curl->getTimeout());
|
13 |
+
$this->assertSame(CurlClient::DEFAULT_CONNECT_TIMEOUT, $curl->getConnectTimeout());
|
14 |
+
|
15 |
+
// implicitly tests whether we're returning the CurlClient instance
|
16 |
+
$curl = $curl->setConnectTimeout(1)->setTimeout(10);
|
17 |
+
$this->assertSame(1, $curl->getConnectTimeout());
|
18 |
+
$this->assertSame(10, $curl->getTimeout());
|
19 |
+
|
20 |
+
$curl->setTimeout(-1);
|
21 |
+
$curl->setConnectTimeout(-999);
|
22 |
+
$this->assertSame(0, $curl->getTimeout());
|
23 |
+
$this->assertSame(0, $curl->getConnectTimeout());
|
24 |
+
}
|
25 |
+
|
26 |
+
public function testDefaultOptions()
|
27 |
+
{
|
28 |
+
// make sure options array loads/saves properly
|
29 |
+
$optionsArray = array(CURLOPT_PROXY => 'localhost:80');
|
30 |
+
$withOptionsArray = new CurlClient($optionsArray);
|
31 |
+
$this->assertSame($withOptionsArray->getDefaultOptions(), $optionsArray);
|
32 |
+
|
33 |
+
// make sure closure-based options work properly, including argument passing
|
34 |
+
$ref = null;
|
35 |
+
$withClosure = new CurlClient(function ($method, $absUrl, $headers, $params, $hasFile) use (&$ref) {
|
36 |
+
$ref = func_get_args();
|
37 |
+
return array();
|
38 |
+
});
|
39 |
+
|
40 |
+
$withClosure->request('get', 'https://httpbin.org/status/200', array(), array(), false);
|
41 |
+
$this->assertSame($ref, array('get', 'https://httpbin.org/status/200', array(), array(), false));
|
42 |
+
|
43 |
+
// this is the last test case that will run, since it'll throw an exception at the end
|
44 |
+
$withBadClosure = new CurlClient(function () {
|
45 |
+
return 'thisShouldNotWork';
|
46 |
+
});
|
47 |
+
$this->setExpectedException('Stripe\Error\Api', "Non-array value returned by defaultOptions CurlClient callback");
|
48 |
+
$withBadClosure->request('get', 'https://httpbin.org/status/200', array(), array(), false);
|
49 |
+
}
|
50 |
+
|
51 |
+
public function testEncode()
|
52 |
+
{
|
53 |
+
$a = array(
|
54 |
+
'my' => 'value',
|
55 |
+
'that' => array('your' => 'example'),
|
56 |
+
'bar' => 1,
|
57 |
+
'baz' => null
|
58 |
+
);
|
59 |
+
|
60 |
+
$enc = CurlClient::encode($a);
|
61 |
+
$this->assertSame('my=value&that%5Byour%5D=example&bar=1', $enc);
|
62 |
+
|
63 |
+
$a = array('that' => array('your' => 'example', 'foo' => null));
|
64 |
+
$enc = CurlClient::encode($a);
|
65 |
+
$this->assertSame('that%5Byour%5D=example', $enc);
|
66 |
+
|
67 |
+
$a = array('that' => 'example', 'foo' => array('bar', 'baz'));
|
68 |
+
$enc = CurlClient::encode($a);
|
69 |
+
$this->assertSame('that=example&foo%5B%5D=bar&foo%5B%5D=baz', $enc);
|
70 |
+
|
71 |
+
$a = array(
|
72 |
+
'my' => 'value',
|
73 |
+
'that' => array('your' => array('cheese', 'whiz', null)),
|
74 |
+
'bar' => 1,
|
75 |
+
'baz' => null
|
76 |
+
);
|
77 |
+
|
78 |
+
$enc = CurlClient::encode($a);
|
79 |
+
$expected = 'my=value&that%5Byour%5D%5B%5D=cheese'
|
80 |
+
. '&that%5Byour%5D%5B%5D=whiz&bar=1';
|
81 |
+
$this->assertSame($expected, $enc);
|
82 |
+
|
83 |
+
// Ignores an empty array
|
84 |
+
$enc = CurlClient::encode(array('foo' => array(), 'bar' => 'baz'));
|
85 |
+
$expected = 'bar=baz';
|
86 |
+
$this->assertSame($expected, $enc);
|
87 |
+
|
88 |
+
$a = array('foo' => array(array('bar' => 'baz'), array('bar' => 'bin')));
|
89 |
+
$enc = CurlClient::encode($a);
|
90 |
+
$this->assertSame('foo%5B0%5D%5Bbar%5D=baz&foo%5B1%5D%5Bbar%5D=bin', $enc);
|
91 |
+
}
|
92 |
+
}
|
@@ -0,0 +1,278 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class CustomerTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testDeletion()
|
8 |
+
{
|
9 |
+
$customer = self::createTestCustomer();
|
10 |
+
$customer->delete();
|
11 |
+
|
12 |
+
$this->assertTrue($customer->deleted);
|
13 |
+
$this->assertNull($customer['active_card']);
|
14 |
+
}
|
15 |
+
|
16 |
+
public function testSave()
|
17 |
+
{
|
18 |
+
$customer = self::createTestCustomer();
|
19 |
+
|
20 |
+
$customer->email = 'gdb@stripe.com';
|
21 |
+
$customer->save();
|
22 |
+
$this->assertSame($customer->email, 'gdb@stripe.com');
|
23 |
+
|
24 |
+
$stripeCustomer = Customer::retrieve($customer->id);
|
25 |
+
$this->assertSame($customer->email, $stripeCustomer->email);
|
26 |
+
|
27 |
+
Stripe::setApiKey(null);
|
28 |
+
$customer = Customer::create(null, self::API_KEY);
|
29 |
+
$customer->email = 'gdb@stripe.com';
|
30 |
+
$customer->save();
|
31 |
+
|
32 |
+
self::authorizeFromEnv();
|
33 |
+
$updatedCustomer = Customer::retrieve($customer->id);
|
34 |
+
$this->assertSame($updatedCustomer->email, 'gdb@stripe.com');
|
35 |
+
}
|
36 |
+
|
37 |
+
/**
|
38 |
+
* @expectedException Stripe\Error\InvalidRequest
|
39 |
+
*/
|
40 |
+
public function testBogusAttribute()
|
41 |
+
{
|
42 |
+
$customer = self::createTestCustomer();
|
43 |
+
$customer->bogus = 'bogus';
|
44 |
+
$customer->save();
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* @expectedException InvalidArgumentException
|
49 |
+
*/
|
50 |
+
public function testUpdateDescriptionEmpty()
|
51 |
+
{
|
52 |
+
$customer = self::createTestCustomer();
|
53 |
+
$customer->description = '';
|
54 |
+
}
|
55 |
+
|
56 |
+
public function testUpdateDescriptionNull()
|
57 |
+
{
|
58 |
+
$customer = self::createTestCustomer(array('description' => 'foo bar'));
|
59 |
+
$customer->description = null;
|
60 |
+
|
61 |
+
$customer->save();
|
62 |
+
|
63 |
+
$updatedCustomer = Customer::retrieve($customer->id);
|
64 |
+
$this->assertSame(null, $updatedCustomer->description);
|
65 |
+
}
|
66 |
+
|
67 |
+
public function testUpdateMetadata()
|
68 |
+
{
|
69 |
+
$customer = self::createTestCustomer();
|
70 |
+
|
71 |
+
$customer->metadata['test'] = 'foo bar';
|
72 |
+
$customer->save();
|
73 |
+
|
74 |
+
$updatedCustomer = Customer::retrieve($customer->id);
|
75 |
+
$this->assertSame('foo bar', $updatedCustomer->metadata['test']);
|
76 |
+
}
|
77 |
+
|
78 |
+
public function testDeleteMetadata()
|
79 |
+
{
|
80 |
+
$customer = self::createTestCustomer();
|
81 |
+
|
82 |
+
$customer->metadata = null;
|
83 |
+
$customer->save();
|
84 |
+
|
85 |
+
$updatedCustomer = Customer::retrieve($customer->id);
|
86 |
+
$this->assertSame(0, count($updatedCustomer->metadata->keys()));
|
87 |
+
}
|
88 |
+
|
89 |
+
public function testUpdateSomeMetadata()
|
90 |
+
{
|
91 |
+
$customer = self::createTestCustomer();
|
92 |
+
$customer->metadata['shoe size'] = '7';
|
93 |
+
$customer->metadata['shirt size'] = 'XS';
|
94 |
+
$customer->save();
|
95 |
+
|
96 |
+
$customer->metadata['shoe size'] = '9';
|
97 |
+
$customer->save();
|
98 |
+
|
99 |
+
$updatedCustomer = Customer::retrieve($customer->id);
|
100 |
+
$this->assertSame('XS', $updatedCustomer->metadata['shirt size']);
|
101 |
+
$this->assertSame('9', $updatedCustomer->metadata['shoe size']);
|
102 |
+
}
|
103 |
+
|
104 |
+
public function testUpdateAllMetadata()
|
105 |
+
{
|
106 |
+
$customer = self::createTestCustomer();
|
107 |
+
$customer->metadata['shoe size'] = '7';
|
108 |
+
$customer->metadata['shirt size'] = 'XS';
|
109 |
+
$customer->save();
|
110 |
+
|
111 |
+
$customer->metadata = array('shirt size' => 'XL');
|
112 |
+
$customer->save();
|
113 |
+
|
114 |
+
$updatedCustomer = Customer::retrieve($customer->id);
|
115 |
+
$this->assertSame('XL', $updatedCustomer->metadata['shirt size']);
|
116 |
+
$this->assertFalse(isset($updatedCustomer->metadata['shoe size']));
|
117 |
+
}
|
118 |
+
|
119 |
+
/**
|
120 |
+
* @expectedException Stripe\Error\InvalidRequest
|
121 |
+
*/
|
122 |
+
public function testUpdateInvalidMetadata()
|
123 |
+
{
|
124 |
+
$customer = self::createTestCustomer();
|
125 |
+
$customer->metadata = 'something';
|
126 |
+
$customer->save();
|
127 |
+
}
|
128 |
+
|
129 |
+
public function testCancelSubscription()
|
130 |
+
{
|
131 |
+
$planID = 'gold-' . self::generateRandomString(20);
|
132 |
+
self::retrieveOrCreatePlan($planID);
|
133 |
+
|
134 |
+
$customer = self::createTestCustomer(
|
135 |
+
array(
|
136 |
+
'plan' => $planID,
|
137 |
+
)
|
138 |
+
);
|
139 |
+
|
140 |
+
$customer->cancelSubscription(array('at_period_end' => true));
|
141 |
+
$this->assertSame($customer->subscription->status, 'active');
|
142 |
+
$this->assertTrue($customer->subscription->cancel_at_period_end);
|
143 |
+
$customer->cancelSubscription();
|
144 |
+
$this->assertSame($customer->subscription->status, 'canceled');
|
145 |
+
}
|
146 |
+
|
147 |
+
public function testCustomerAddCard()
|
148 |
+
{
|
149 |
+
$token = Token::create(
|
150 |
+
array("card" => array(
|
151 |
+
"number" => "4242424242424242",
|
152 |
+
"exp_month" => 5,
|
153 |
+
"exp_year" => date('Y') + 3,
|
154 |
+
"cvc" => "314"
|
155 |
+
))
|
156 |
+
);
|
157 |
+
|
158 |
+
$customer = $this->createTestCustomer();
|
159 |
+
$createdCard = $customer->sources->create(array("card" => $token->id));
|
160 |
+
$customer->save();
|
161 |
+
|
162 |
+
$updatedCustomer = Customer::retrieve($customer->id);
|
163 |
+
$updatedCards = $updatedCustomer->sources->all();
|
164 |
+
$this->assertSame(count($updatedCards["data"]), 2);
|
165 |
+
}
|
166 |
+
|
167 |
+
public function testCustomerUpdateCard()
|
168 |
+
{
|
169 |
+
$customer = $this->createTestCustomer();
|
170 |
+
$customer->save();
|
171 |
+
|
172 |
+
$sources = $customer->sources->all();
|
173 |
+
$this->assertSame(count($sources["data"]), 1);
|
174 |
+
|
175 |
+
$card = $sources['data'][0];
|
176 |
+
$card->name = "Jane Austen";
|
177 |
+
$card->save();
|
178 |
+
|
179 |
+
$updatedCustomer = Customer::retrieve($customer->id);
|
180 |
+
$updatedCards = $updatedCustomer->sources->all();
|
181 |
+
$this->assertSame($updatedCards["data"][0]->name, "Jane Austen");
|
182 |
+
}
|
183 |
+
|
184 |
+
public function testCustomerDeleteCard()
|
185 |
+
{
|
186 |
+
$token = Token::create(
|
187 |
+
array("card" => array(
|
188 |
+
"number" => "4242424242424242",
|
189 |
+
"exp_month" => 5,
|
190 |
+
"exp_year" => date('Y') + 3,
|
191 |
+
"cvc" => "314"
|
192 |
+
))
|
193 |
+
);
|
194 |
+
|
195 |
+
$customer = $this->createTestCustomer();
|
196 |
+
$createdCard = $customer->sources->create(array("card" => $token->id));
|
197 |
+
$customer->save();
|
198 |
+
|
199 |
+
$updatedCustomer = Customer::retrieve($customer->id);
|
200 |
+
$updatedCards = $updatedCustomer->sources->all();
|
201 |
+
$this->assertSame(count($updatedCards["data"]), 2);
|
202 |
+
|
203 |
+
$deleteStatus = $updatedCustomer->sources->retrieve($createdCard->id)->delete();
|
204 |
+
$this->assertTrue($deleteStatus->deleted);
|
205 |
+
$updatedCustomer->save();
|
206 |
+
|
207 |
+
$postDeleteCustomer = Customer::retrieve($customer->id);
|
208 |
+
$postDeleteCards = $postDeleteCustomer->sources->all();
|
209 |
+
$this->assertSame(count($postDeleteCards["data"]), 1);
|
210 |
+
}
|
211 |
+
|
212 |
+
public function testCustomerAddSource()
|
213 |
+
{
|
214 |
+
self::authorizeFromEnv();
|
215 |
+
$token = Token::create(
|
216 |
+
array("card" => array(
|
217 |
+
"number" => "4242424242424242",
|
218 |
+
"exp_month" => 5,
|
219 |
+
"exp_year" => date('Y') + 3,
|
220 |
+
"cvc" => "314"
|
221 |
+
))
|
222 |
+
);
|
223 |
+
|
224 |
+
$customer = $this->createTestCustomer();
|
225 |
+
$createdSource = $customer->sources->create(array("source" => $token->id));
|
226 |
+
$customer->save();
|
227 |
+
|
228 |
+
$updatedCustomer = Customer::retrieve($customer->id);
|
229 |
+
$updatedSources = $updatedCustomer->sources->all();
|
230 |
+
$this->assertSame(count($updatedSources["data"]), 2);
|
231 |
+
}
|
232 |
+
|
233 |
+
public function testCustomerUpdateSource()
|
234 |
+
{
|
235 |
+
$customer = $this->createTestCustomer();
|
236 |
+
$customer->save();
|
237 |
+
|
238 |
+
$sources = $customer->sources->all();
|
239 |
+
$this->assertSame(count($sources["data"]), 1);
|
240 |
+
|
241 |
+
$source = $sources['data'][0];
|
242 |
+
$source->name = "Jane Austen";
|
243 |
+
$source->save();
|
244 |
+
|
245 |
+
$updatedCustomer = Customer::retrieve($customer->id);
|
246 |
+
$updatedSources = $updatedCustomer->sources->all();
|
247 |
+
$this->assertSame($updatedSources["data"][0]->name, "Jane Austen");
|
248 |
+
}
|
249 |
+
|
250 |
+
public function testCustomerDeleteSource()
|
251 |
+
{
|
252 |
+
self::authorizeFromEnv();
|
253 |
+
$token = Token::create(
|
254 |
+
array("card" => array(
|
255 |
+
"number" => "4242424242424242",
|
256 |
+
"exp_month" => 5,
|
257 |
+
"exp_year" => date('Y') + 3,
|
258 |
+
"cvc" => "314"
|
259 |
+
))
|
260 |
+
);
|
261 |
+
|
262 |
+
$customer = $this->createTestCustomer();
|
263 |
+
$createdSource = $customer->sources->create(array("source" => $token->id));
|
264 |
+
$customer->save();
|
265 |
+
|
266 |
+
$updatedCustomer = Customer::retrieve($customer->id);
|
267 |
+
$updatedSources = $updatedCustomer->sources->all();
|
268 |
+
$this->assertSame(count($updatedSources["data"]), 2);
|
269 |
+
|
270 |
+
$deleteStatus = $updatedCustomer->sources->retrieve($createdSource->id)->delete();
|
271 |
+
$this->assertTrue($deleteStatus->deleted);
|
272 |
+
$updatedCustomer->save();
|
273 |
+
|
274 |
+
$postDeleteCustomer = Customer::retrieve($customer->id);
|
275 |
+
$postDeleteSources = $postDeleteCustomer->sources->all();
|
276 |
+
$this->assertSame(count($postDeleteSources["data"]), 1);
|
277 |
+
}
|
278 |
+
}
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class DiscountTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testDeletion()
|
8 |
+
{
|
9 |
+
self::authorizeFromEnv();
|
10 |
+
$id = 'test-coupon-' . self::generateRandomString(20);
|
11 |
+
$coupon = Coupon::create(
|
12 |
+
array(
|
13 |
+
'percent_off' => 25,
|
14 |
+
'duration' => 'repeating',
|
15 |
+
'duration_in_months' => 5,
|
16 |
+
'id' => $id,
|
17 |
+
)
|
18 |
+
);
|
19 |
+
$customer = self::createTestCustomer(array('coupon' => $id));
|
20 |
+
|
21 |
+
$this->assertTrue(isset($customer->discount));
|
22 |
+
$this->assertTrue(isset($customer->discount->coupon));
|
23 |
+
$this->assertSame($id, $customer->discount->coupon->id);
|
24 |
+
|
25 |
+
$customer->deleteDiscount();
|
26 |
+
$this->assertFalse(isset($customer->discount));
|
27 |
+
|
28 |
+
$customer = Customer::retrieve($customer->id);
|
29 |
+
$this->assertFalse(isset($customer->discount));
|
30 |
+
}
|
31 |
+
}
|
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class DisputeTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testUrls()
|
8 |
+
{
|
9 |
+
$this->assertSame(Dispute::classUrl(), '/v1/disputes');
|
10 |
+
$dispute = new Dispute('dp_123');
|
11 |
+
$this->assertSame($dispute->instanceUrl(), '/v1/disputes/dp_123');
|
12 |
+
}
|
13 |
+
|
14 |
+
private function createDisputedCharge()
|
15 |
+
{
|
16 |
+
$card = array(
|
17 |
+
'number' => '4000000000000259',
|
18 |
+
'exp_month' => 5,
|
19 |
+
'exp_year' => date('Y') + 1
|
20 |
+
);
|
21 |
+
|
22 |
+
$c = Charge::create(
|
23 |
+
array(
|
24 |
+
'amount' => 100,
|
25 |
+
'currency' => 'usd',
|
26 |
+
'card' => $card
|
27 |
+
)
|
28 |
+
);
|
29 |
+
$c = Charge::retrieve($c->id);
|
30 |
+
|
31 |
+
$attempts = 0;
|
32 |
+
|
33 |
+
while ($c->dispute === null) {
|
34 |
+
if ($attempts > 5) {
|
35 |
+
throw new \Exception("Charge is taking too long to be disputed");
|
36 |
+
}
|
37 |
+
sleep(1);
|
38 |
+
$c = Charge::retrieve($c->id);
|
39 |
+
$attempts += 1;
|
40 |
+
}
|
41 |
+
|
42 |
+
return $c;
|
43 |
+
}
|
44 |
+
|
45 |
+
public function testAll()
|
46 |
+
{
|
47 |
+
self::authorizeFromEnv();
|
48 |
+
|
49 |
+
$sublist = Dispute::all(
|
50 |
+
array(
|
51 |
+
'limit' => 3,
|
52 |
+
)
|
53 |
+
);
|
54 |
+
$this->assertSame(3, count($sublist->data));
|
55 |
+
}
|
56 |
+
|
57 |
+
|
58 |
+
public function testUpdate()
|
59 |
+
{
|
60 |
+
self::authorizeFromEnv();
|
61 |
+
|
62 |
+
$c = $this->createDisputedCharge();
|
63 |
+
|
64 |
+
$d = $c->dispute;
|
65 |
+
$d->evidence["customer_name"] = "Bob";
|
66 |
+
$s = $d->save();
|
67 |
+
|
68 |
+
$this->assertSame($d->id, $s->id);
|
69 |
+
$this->assertSame("Bob", $s->evidence["customer_name"]);
|
70 |
+
}
|
71 |
+
|
72 |
+
public function testClose()
|
73 |
+
{
|
74 |
+
self::authorizeFromEnv();
|
75 |
+
|
76 |
+
$c = $this->createDisputedCharge();
|
77 |
+
|
78 |
+
$d = $c->dispute->close();
|
79 |
+
$this->assertSame("lost", $d->status);
|
80 |
+
}
|
81 |
+
|
82 |
+
public function testRetrieve()
|
83 |
+
{
|
84 |
+
self::authorizeFromEnv();
|
85 |
+
|
86 |
+
$c = $this->createDisputedCharge();
|
87 |
+
|
88 |
+
$d = Dispute::retrieve($c->dispute->id);
|
89 |
+
$this->assertSame($d->id, $c->dispute->id);
|
90 |
+
}
|
91 |
+
}
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class ErrorTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testCreation()
|
8 |
+
{
|
9 |
+
try {
|
10 |
+
throw new Error\Api(
|
11 |
+
"hello",
|
12 |
+
500,
|
13 |
+
"{'foo':'bar'}",
|
14 |
+
array('foo' => 'bar')
|
15 |
+
);
|
16 |
+
$this->fail("Did not raise error");
|
17 |
+
} catch (Error\Api $e) {
|
18 |
+
$this->assertSame("hello", $e->getMessage());
|
19 |
+
$this->assertSame(500, $e->getHttpStatus());
|
20 |
+
$this->assertSame("{'foo':'bar'}", $e->getHttpBody());
|
21 |
+
$this->assertSame(array('foo' => 'bar'), $e->getJsonBody());
|
22 |
+
$this->assertSame(null, $e->getHttpHeaders());
|
23 |
+
$this->assertSame(null, $e->getRequestId());
|
24 |
+
}
|
25 |
+
}
|
26 |
+
|
27 |
+
public function testResponseHeaders()
|
28 |
+
{
|
29 |
+
try {
|
30 |
+
throw new Error\Api(
|
31 |
+
"hello",
|
32 |
+
500,
|
33 |
+
"{'foo':'bar'}",
|
34 |
+
array('foo' => 'bar'),
|
35 |
+
array('Request-Id' => 'req_bar')
|
36 |
+
);
|
37 |
+
$this->fail("Did not raise error");
|
38 |
+
} catch (Error\Api $e) {
|
39 |
+
$this->assertSame(array('Request-Id' => 'req_bar'), $e->getHttpHeaders());
|
40 |
+
$this->assertSame('req_bar', $e->getRequestId());
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
+
public function testCode()
|
45 |
+
{
|
46 |
+
try {
|
47 |
+
throw new Error\Card(
|
48 |
+
"hello",
|
49 |
+
"some_param",
|
50 |
+
"some_code",
|
51 |
+
400,
|
52 |
+
"{'foo':'bar'}",
|
53 |
+
array('foo' => 'bar')
|
54 |
+
);
|
55 |
+
$this->fail("Did not raise error");
|
56 |
+
} catch (Error\Card $e) {
|
57 |
+
$this->assertSame("some_param", $e->getStripeParam());
|
58 |
+
$this->assertSame('some_code', $e->getStripeCode());
|
59 |
+
}
|
60 |
+
}
|
61 |
+
}
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class ExternalAccountTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testVerify()
|
8 |
+
{
|
9 |
+
self::authorizeFromEnv();
|
10 |
+
$bankAccountToken = Token::create(
|
11 |
+
array(
|
12 |
+
'bank_account' => array(
|
13 |
+
'country' => 'US',
|
14 |
+
'routing_number' => '110000000',
|
15 |
+
'account_number' => '000123456789',
|
16 |
+
'account_holder_name' => 'Jane Austen',
|
17 |
+
'account_holder_type' => 'company'
|
18 |
+
)
|
19 |
+
)
|
20 |
+
);
|
21 |
+
$customer = Customer::create();
|
22 |
+
$externalAccount = $customer->sources->create(array('bank_account' => $bankAccountToken->id));
|
23 |
+
$verifiedAccount = $externalAccount->verify(array('amounts' => array(32, 45)), null);
|
24 |
+
|
25 |
+
$base = Customer::classUrl();
|
26 |
+
$parentExtn = $externalAccount['customer'];
|
27 |
+
$extn = $externalAccount['id'];
|
28 |
+
$this->assertEquals("$base/$parentExtn/sources/$extn", $externalAccount->instanceUrl());
|
29 |
+
}
|
30 |
+
}
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class FileUploadTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testCreateFile()
|
8 |
+
{
|
9 |
+
$fp = fopen(dirname(__FILE__).'/../data/test.png', 'r');
|
10 |
+
self::authorizeFromEnv();
|
11 |
+
$file = FileUpload::create(
|
12 |
+
array(
|
13 |
+
'purpose' => 'dispute_evidence',
|
14 |
+
'file' => $fp,
|
15 |
+
)
|
16 |
+
);
|
17 |
+
fclose($fp);
|
18 |
+
$this->assertSame(95, $file->size);
|
19 |
+
$this->assertSame('png', $file->type);
|
20 |
+
}
|
21 |
+
|
22 |
+
public function testCreateAndRetrieveCurlFile()
|
23 |
+
{
|
24 |
+
if (!class_exists('\CurlFile', false)) {
|
25 |
+
// Older PHP versions don't support this
|
26 |
+
return;
|
27 |
+
}
|
28 |
+
|
29 |
+
$curlFile = new \CurlFile(dirname(__FILE__).'/../data/test.png');
|
30 |
+
self::authorizeFromEnv();
|
31 |
+
$file = FileUpload::create(
|
32 |
+
array(
|
33 |
+
'purpose' => 'dispute_evidence',
|
34 |
+
'file' => $curlFile,
|
35 |
+
)
|
36 |
+
);
|
37 |
+
$this->assertSame(95, $file->size);
|
38 |
+
$this->assertSame('png', $file->type);
|
39 |
+
|
40 |
+
// Just check that we don't get exceptions
|
41 |
+
$file = FileUpload::retrieve($file->id);
|
42 |
+
$file->refresh();
|
43 |
+
}
|
44 |
+
}
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class InvalidRequestErrorTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testInvalidObject()
|
8 |
+
{
|
9 |
+
self::authorizeFromEnv();
|
10 |
+
try {
|
11 |
+
Customer::retrieve('invalid');
|
12 |
+
} catch (Error\InvalidRequest $e) {
|
13 |
+
$this->assertSame(404, $e->getHttpStatus());
|
14 |
+
}
|
15 |
+
}
|
16 |
+
|
17 |
+
public function testBadData()
|
18 |
+
{
|
19 |
+
self::authorizeFromEnv();
|
20 |
+
try {
|
21 |
+
Charge::create();
|
22 |
+
} catch (Error\InvalidRequest $e) {
|
23 |
+
$this->assertSame(400, $e->getHttpStatus());
|
24 |
+
}
|
25 |
+
}
|
26 |
+
}
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class InvoiceTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testUpcoming()
|
8 |
+
{
|
9 |
+
self::authorizeFromEnv();
|
10 |
+
$customer = self::createTestCustomer();
|
11 |
+
|
12 |
+
InvoiceItem::create(array(
|
13 |
+
'customer' => $customer->id,
|
14 |
+
'amount' => 0,
|
15 |
+
'currency' => 'usd',
|
16 |
+
));
|
17 |
+
|
18 |
+
$invoice = Invoice::upcoming(array(
|
19 |
+
'customer' => $customer->id,
|
20 |
+
));
|
21 |
+
$this->assertSame($invoice->customer, $customer->id);
|
22 |
+
$this->assertSame($invoice->attempted, false);
|
23 |
+
}
|
24 |
+
|
25 |
+
public function testItemsAccessWithParameter()
|
26 |
+
{
|
27 |
+
self::authorizeFromEnv();
|
28 |
+
$customer = self::createTestCustomer();
|
29 |
+
|
30 |
+
InvoiceItem::create(array(
|
31 |
+
'customer' => $customer->id,
|
32 |
+
'amount' => 100,
|
33 |
+
'currency' => 'usd',
|
34 |
+
));
|
35 |
+
|
36 |
+
$invoice = Invoice::upcoming(
|
37 |
+
array(
|
38 |
+
'customer' => $customer->id,
|
39 |
+
)
|
40 |
+
);
|
41 |
+
|
42 |
+
$lines = $invoice->lines->all(array('limit' => 10));
|
43 |
+
|
44 |
+
$this->assertSame(count($lines->data), 1);
|
45 |
+
$this->assertSame($lines->data[0]->amount, 100);
|
46 |
+
}
|
47 |
+
|
48 |
+
// This is really just making sure that this operation does not trigger any
|
49 |
+
// warnings, as it's highly nested.
|
50 |
+
public function testAll()
|
51 |
+
{
|
52 |
+
self::authorizeFromEnv();
|
53 |
+
$invoices = Invoice::all();
|
54 |
+
$this->assertTrue(count($invoices) > 0);
|
55 |
+
}
|
56 |
+
}
|
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class PlanTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testDeletion()
|
8 |
+
{
|
9 |
+
self::authorizeFromEnv();
|
10 |
+
$p = Plan::create(array(
|
11 |
+
'amount' => 2000,
|
12 |
+
'interval' => 'month',
|
13 |
+
'currency' => 'usd',
|
14 |
+
'name' => 'Plan',
|
15 |
+
'id' => 'gold-' . self::generateRandomString(20)
|
16 |
+
));
|
17 |
+
$p->delete();
|
18 |
+
$this->assertTrue($p->deleted);
|
19 |
+
}
|
20 |
+
|
21 |
+
public function testFalseyId()
|
22 |
+
{
|
23 |
+
try {
|
24 |
+
$retrievedPlan = Plan::retrieve('0');
|
25 |
+
} catch (Error\InvalidRequest $e) {
|
26 |
+
// Can either succeed or 404, all other errors are bad
|
27 |
+
if ($e->httpStatus !== 404) {
|
28 |
+
$this->fail();
|
29 |
+
}
|
30 |
+
}
|
31 |
+
}
|
32 |
+
|
33 |
+
public function testSave()
|
34 |
+
{
|
35 |
+
self::authorizeFromEnv();
|
36 |
+
$planID = 'gold-' . self::generateRandomString(20);
|
37 |
+
$p = Plan::create(array(
|
38 |
+
'amount' => 2000,
|
39 |
+
'interval' => 'month',
|
40 |
+
'currency' => 'usd',
|
41 |
+
'name' => 'Plan',
|
42 |
+
'id' => $planID
|
43 |
+
));
|
44 |
+
$p->name = 'A new plan name';
|
45 |
+
$p->save();
|
46 |
+
$this->assertSame($p->name, 'A new plan name');
|
47 |
+
|
48 |
+
$stripePlan = Plan::retrieve($planID);
|
49 |
+
$this->assertSame($p->name, $stripePlan->name);
|
50 |
+
}
|
51 |
+
}
|
@@ -0,0 +1,158 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class ProductSKUOrderTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testProductFalseyId()
|
8 |
+
{
|
9 |
+
try {
|
10 |
+
Stripe::setApiKey('sk_test_JieJALRz7rPz7boV17oMma7a');
|
11 |
+
$retrievedProduct = Product::retrieve('0');
|
12 |
+
} catch (Error\InvalidRequest $e) {
|
13 |
+
// Can either succeed or 404, all other errors are bad
|
14 |
+
if ($e->httpStatus !== 404) {
|
15 |
+
$this->fail();
|
16 |
+
}
|
17 |
+
}
|
18 |
+
}
|
19 |
+
|
20 |
+
public function testProductCreateUpdateRead()
|
21 |
+
{
|
22 |
+
|
23 |
+
Stripe::setApiKey('sk_test_JieJALRz7rPz7boV17oMma7a');
|
24 |
+
$ProductID = 'gold-' . self::generateRandomString(20);
|
25 |
+
$p = Product::create(array(
|
26 |
+
'name' => 'Gold Product',
|
27 |
+
'id' => $ProductID,
|
28 |
+
'url' => 'www.stripe.com/gold'
|
29 |
+
));
|
30 |
+
$this->assertSame($p->url, 'www.stripe.com/gold');
|
31 |
+
|
32 |
+
$p->name = 'A new Product name';
|
33 |
+
$p->save();
|
34 |
+
$this->assertSame($p->name, 'A new Product name');
|
35 |
+
$this->assertSame($p->url, 'www.stripe.com/gold');
|
36 |
+
|
37 |
+
$stripeProduct = Product::retrieve($ProductID);
|
38 |
+
$this->assertSame($p->name, $stripeProduct->name);
|
39 |
+
$this->assertSame($stripeProduct->url, 'www.stripe.com/gold');
|
40 |
+
}
|
41 |
+
|
42 |
+
public function testSKUCreateUpdateRead()
|
43 |
+
{
|
44 |
+
Stripe::setApiKey('sk_test_JieJALRz7rPz7boV17oMma7a');
|
45 |
+
$ProductID = 'silver-' . self::generateRandomString(20);
|
46 |
+
$p = Product::create(array(
|
47 |
+
'name' => 'Silver Product',
|
48 |
+
'id' => $ProductID,
|
49 |
+
'url' => 'www.stripe.com/silver'
|
50 |
+
));
|
51 |
+
|
52 |
+
$SkuID = 'silver-sku-' . self::generateRandomString(20);
|
53 |
+
$sku = SKU::create(array(
|
54 |
+
'price' => 500,
|
55 |
+
'currency' => 'usd',
|
56 |
+
'id' => $SkuID,
|
57 |
+
'inventory' => array(
|
58 |
+
'type' => 'finite',
|
59 |
+
'quantity' => 40
|
60 |
+
),
|
61 |
+
'product' => $ProductID
|
62 |
+
));
|
63 |
+
|
64 |
+
$sku->price = 600;
|
65 |
+
$sku->inventory->quantity = 50;
|
66 |
+
$sku->save();
|
67 |
+
$this->assertSame($sku->price, 600);
|
68 |
+
$this->assertSame(50, $sku->inventory->quantity);
|
69 |
+
|
70 |
+
$stripeSku = SKU::retrieve($SkuID);
|
71 |
+
$this->assertSame($sku->price, 600);
|
72 |
+
$this->assertSame('finite', $sku->inventory->type);
|
73 |
+
$this->assertSame(50, $sku->inventory->quantity);
|
74 |
+
}
|
75 |
+
|
76 |
+
public function testSKUProductDelete()
|
77 |
+
{
|
78 |
+
Stripe::setApiKey('sk_test_JieJALRz7rPz7boV17oMma7a');
|
79 |
+
$ProductID = 'silver-' . self::generateRandomString(20);
|
80 |
+
$p = Product::create(array(
|
81 |
+
'name' => 'Silver Product',
|
82 |
+
'id' => $ProductID,
|
83 |
+
'url' => 'stripe.com/silver'
|
84 |
+
));
|
85 |
+
|
86 |
+
$SkuID = 'silver-sku-' . self::generateRandomString(20);
|
87 |
+
$sku = SKU::create(array(
|
88 |
+
'price' => 500,
|
89 |
+
'currency' => 'usd',
|
90 |
+
'id' => $SkuID,
|
91 |
+
'inventory' => array(
|
92 |
+
'type' => 'finite',
|
93 |
+
'quantity' => 40
|
94 |
+
),
|
95 |
+
'product' => $ProductID
|
96 |
+
));
|
97 |
+
|
98 |
+
$deletedSku = $sku->delete();
|
99 |
+
$this->assertTrue($deletedSku->deleted);
|
100 |
+
|
101 |
+
$deletedProduct = $p->delete();
|
102 |
+
$this->assertTrue($deletedProduct->deleted);
|
103 |
+
}
|
104 |
+
|
105 |
+
public function testOrderCreateUpdateRetrievePayReturn()
|
106 |
+
{
|
107 |
+
Stripe::setApiKey('sk_test_JieJALRz7rPz7boV17oMma7a');
|
108 |
+
$ProductID = 'silver-' . self::generateRandomString(20);
|
109 |
+
$p = Product::create(array(
|
110 |
+
'name' => 'Silver Product',
|
111 |
+
'id' => $ProductID,
|
112 |
+
'url' => 'www.stripe.com/silver',
|
113 |
+
'shippable' => false,
|
114 |
+
));
|
115 |
+
|
116 |
+
$SkuID = 'silver-sku-' . self::generateRandomString(20);
|
117 |
+
$sku = SKU::create(array(
|
118 |
+
'price' => 500,
|
119 |
+
'currency' => 'usd',
|
120 |
+
'id' => $SkuID,
|
121 |
+
'inventory' => array(
|
122 |
+
'type' => 'finite',
|
123 |
+
'quantity' => 40
|
124 |
+
),
|
125 |
+
'product' => $ProductID
|
126 |
+
));
|
127 |
+
|
128 |
+
$order = Order::create(array(
|
129 |
+
'items' => array(
|
130 |
+
0 => array(
|
131 |
+
'type' => 'sku',
|
132 |
+
'parent' => $SkuID,
|
133 |
+
),
|
134 |
+
),
|
135 |
+
'currency' => 'usd',
|
136 |
+
'email' => 'foo@bar.com',
|
137 |
+
));
|
138 |
+
|
139 |
+
$order->metadata->foo = "bar";
|
140 |
+
$order->save();
|
141 |
+
|
142 |
+
$stripeOrder = Order::retrieve($order->id);
|
143 |
+
$this->assertSame($order->metadata->foo, "bar");
|
144 |
+
|
145 |
+
$order->pay(array(
|
146 |
+
'source' => array(
|
147 |
+
'object' => 'card',
|
148 |
+
'number' => '4242424242424242',
|
149 |
+
'exp_month' => '05',
|
150 |
+
'exp_year' => '2017'
|
151 |
+
),
|
152 |
+
));
|
153 |
+
$this->assertSame($order->status, 'paid');
|
154 |
+
|
155 |
+
$orderReturn = $order->returnOrder();
|
156 |
+
$this->assertSame($orderReturn->order, $order->id);
|
157 |
+
}
|
158 |
+
}
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class RateLimitErrorTest extends TestCase
|
6 |
+
{
|
7 |
+
private function rateLimitErrorResponse()
|
8 |
+
{
|
9 |
+
return array(
|
10 |
+
'error' => array(),
|
11 |
+
);
|
12 |
+
}
|
13 |
+
|
14 |
+
/**
|
15 |
+
* @expectedException Stripe\Error\RateLimit
|
16 |
+
*/
|
17 |
+
public function testRateLimit()
|
18 |
+
{
|
19 |
+
$this->mockRequest('GET', '/v1/accounts/acct_DEF', array(), $this->rateLimitErrorResponse(), 429);
|
20 |
+
Account::retrieve('acct_DEF');
|
21 |
+
}
|
22 |
+
}
|
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class RecipientTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testDeletion()
|
8 |
+
{
|
9 |
+
$recipient = self::createTestRecipient();
|
10 |
+
$recipient->delete();
|
11 |
+
|
12 |
+
$this->assertTrue($recipient->deleted);
|
13 |
+
}
|
14 |
+
|
15 |
+
public function testSave()
|
16 |
+
{
|
17 |
+
$recipient = self::createTestRecipient();
|
18 |
+
|
19 |
+
$recipient->email = 'gdb@stripe.com';
|
20 |
+
$recipient->save();
|
21 |
+
$this->assertSame($recipient->email, 'gdb@stripe.com');
|
22 |
+
|
23 |
+
$stripeRecipient = Recipient::retrieve($recipient->id);
|
24 |
+
$this->assertSame($recipient->email, $stripeRecipient->email);
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @expectedException Stripe\Error\InvalidRequest
|
29 |
+
*/
|
30 |
+
public function testBogusAttribute()
|
31 |
+
{
|
32 |
+
$recipient = self::createTestRecipient();
|
33 |
+
$recipient->bogus = 'bogus';
|
34 |
+
$recipient->save();
|
35 |
+
}
|
36 |
+
|
37 |
+
public function testRecipientAddCard()
|
38 |
+
{
|
39 |
+
$token = Token::create(
|
40 |
+
array("card" => array(
|
41 |
+
"number" => "4000056655665556",
|
42 |
+
"exp_month" => 5,
|
43 |
+
"exp_year" => date('Y') + 3,
|
44 |
+
"cvc" => "314"
|
45 |
+
))
|
46 |
+
);
|
47 |
+
|
48 |
+
$recipient = $this->createTestRecipient();
|
49 |
+
$createdCard = $recipient->cards->create(array("card" => $token->id));
|
50 |
+
$recipient->save();
|
51 |
+
|
52 |
+
$updatedRecipient = Recipient::retrieve($recipient->id);
|
53 |
+
$updatedCards = $updatedRecipient->cards->all();
|
54 |
+
$this->assertSame(count($updatedCards["data"]), 1);
|
55 |
+
}
|
56 |
+
|
57 |
+
public function testRecipientUpdateCard()
|
58 |
+
{
|
59 |
+
$token = Token::create(
|
60 |
+
array("card" => array(
|
61 |
+
"number" => "4000056655665556",
|
62 |
+
"exp_month" => 5,
|
63 |
+
"exp_year" => date('Y') + 3,
|
64 |
+
"cvc" => "314"
|
65 |
+
))
|
66 |
+
);
|
67 |
+
|
68 |
+
$recipient = $this->createTestRecipient();
|
69 |
+
$createdCard = $recipient->cards->create(array("card" => $token->id));
|
70 |
+
$recipient->save();
|
71 |
+
|
72 |
+
$createdCards = $recipient->cards->all();
|
73 |
+
$this->assertSame(count($createdCards["data"]), 1);
|
74 |
+
|
75 |
+
$card = $createdCards['data'][0];
|
76 |
+
$card->name = "Jane Austen";
|
77 |
+
$card->save();
|
78 |
+
|
79 |
+
$updatedRecipient = Recipient::retrieve($recipient->id);
|
80 |
+
$updatedCards = $updatedRecipient->cards->all();
|
81 |
+
$this->assertSame($updatedCards["data"][0]->name, "Jane Austen");
|
82 |
+
}
|
83 |
+
|
84 |
+
public function testRecipientDeleteCard()
|
85 |
+
{
|
86 |
+
$token = Token::create(
|
87 |
+
array("card" => array(
|
88 |
+
"number" => "4000056655665556",
|
89 |
+
"exp_month" => 5,
|
90 |
+
"exp_year" => date('Y') + 3,
|
91 |
+
"cvc" => "314"
|
92 |
+
))
|
93 |
+
);
|
94 |
+
|
95 |
+
$recipient = $this->createTestRecipient();
|
96 |
+
$createdCard = $recipient->cards->create(array("card" => $token->id));
|
97 |
+
$recipient->save();
|
98 |
+
|
99 |
+
$updatedRecipient = Recipient::retrieve($recipient->id);
|
100 |
+
$updatedCards = $updatedRecipient->cards->all();
|
101 |
+
$this->assertSame(count($updatedCards["data"]), 1);
|
102 |
+
|
103 |
+
$deleteStatus =
|
104 |
+
$updatedRecipient->cards->retrieve($createdCard->id)->delete();
|
105 |
+
$this->assertTrue($deleteStatus->deleted);
|
106 |
+
$updatedRecipient->save();
|
107 |
+
|
108 |
+
$postDeleteRecipient = Recipient::retrieve($recipient->id);
|
109 |
+
$postDeleteCards = $postDeleteRecipient->cards->all();
|
110 |
+
$this->assertSame(count($postDeleteCards["data"]), 0);
|
111 |
+
}
|
112 |
+
}
|
@@ -0,0 +1,131 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class RefundTest extends TestCase
|
6 |
+
{
|
7 |
+
|
8 |
+
public function testCreate()
|
9 |
+
{
|
10 |
+
$charge = self::createTestCharge();
|
11 |
+
$refund = Refund::create(array('amount' => 100, 'charge' => $charge->id));
|
12 |
+
$this->assertSame(100, $refund->amount);
|
13 |
+
$this->assertSame($charge->id, $refund->charge);
|
14 |
+
}
|
15 |
+
|
16 |
+
public function testUpdateAndRetrieve()
|
17 |
+
{
|
18 |
+
$charge = self::createTestCharge();
|
19 |
+
$ref = Refund::create(array('amount' => 100, 'charge' => $charge->id));
|
20 |
+
$ref->metadata["key"] = "value";
|
21 |
+
$ref->save();
|
22 |
+
$ref = Refund::retrieve($ref->id);
|
23 |
+
$this->assertSame("value", $ref->metadata["key"], "value");
|
24 |
+
}
|
25 |
+
|
26 |
+
public function testListForCharge()
|
27 |
+
{
|
28 |
+
$charge = self::createTestCharge();
|
29 |
+
$refA = Refund::create(array('amount' => 100, 'charge' => $charge->id));
|
30 |
+
$refB = Refund::create(array('amount' => 50, 'charge' => $charge->id));
|
31 |
+
|
32 |
+
$all = Refund::all(array('charge' => $charge));
|
33 |
+
$this->assertSame(false, $all['has_more']);
|
34 |
+
$this->assertSame(2, count($all->data));
|
35 |
+
$this->assertSame($refB->id, $all->data[0]->id);
|
36 |
+
$this->assertSame($refA->id, $all->data[1]->id);
|
37 |
+
}
|
38 |
+
|
39 |
+
public function testList()
|
40 |
+
{
|
41 |
+
$all = Refund::all();
|
42 |
+
|
43 |
+
// Fetches all refunds on this test account.
|
44 |
+
$this->assertSame(true, $all['has_more']);
|
45 |
+
$this->assertSame(10, count($all->data));
|
46 |
+
}
|
47 |
+
|
48 |
+
public function testCreateForBitcoin()
|
49 |
+
{
|
50 |
+
self::authorizeFromEnv();
|
51 |
+
|
52 |
+
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
53 |
+
|
54 |
+
$charge = Charge::create(
|
55 |
+
array(
|
56 |
+
'amount' => $receiver->amount,
|
57 |
+
'currency' => $receiver->currency,
|
58 |
+
'description' => $receiver->description,
|
59 |
+
'source' => $receiver->id
|
60 |
+
)
|
61 |
+
);
|
62 |
+
|
63 |
+
$ref = Refund::create(
|
64 |
+
array(
|
65 |
+
'amount' => $receiver->amount,
|
66 |
+
'refund_address' => 'ABCDEF',
|
67 |
+
'charge' => $charge->id
|
68 |
+
)
|
69 |
+
);
|
70 |
+
$this->assertSame($receiver->amount, $ref->amount);
|
71 |
+
$this->assertNotNull($ref->id);
|
72 |
+
}
|
73 |
+
|
74 |
+
// Deprecated charge endpoints:
|
75 |
+
|
76 |
+
public function testCreateViaCharge()
|
77 |
+
{
|
78 |
+
$charge = self::createTestCharge();
|
79 |
+
$ref = $charge->refunds->create(array('amount' => 100));
|
80 |
+
$this->assertSame(100, $ref->amount);
|
81 |
+
$this->assertSame($charge->id, $ref->charge);
|
82 |
+
}
|
83 |
+
|
84 |
+
public function testUpdateAndRetrieveViaCharge()
|
85 |
+
{
|
86 |
+
$charge = self::createTestCharge();
|
87 |
+
$ref = $charge->refunds->create(array('amount' => 100));
|
88 |
+
$ref->metadata["key"] = "value";
|
89 |
+
$ref->save();
|
90 |
+
$ref = $charge->refunds->retrieve($ref->id);
|
91 |
+
$this->assertSame("value", $ref->metadata["key"], "value");
|
92 |
+
}
|
93 |
+
|
94 |
+
public function testListViaCharge()
|
95 |
+
{
|
96 |
+
$charge = self::createTestCharge();
|
97 |
+
$refA = $charge->refunds->create(array('amount' => 50));
|
98 |
+
$refB = $charge->refunds->create(array('amount' => 50));
|
99 |
+
|
100 |
+
$all = $charge->refunds->all();
|
101 |
+
$this->assertSame(false, $all['has_more']);
|
102 |
+
$this->assertSame(2, count($all->data));
|
103 |
+
$this->assertSame($refB->id, $all->data[0]->id);
|
104 |
+
$this->assertSame($refA->id, $all->data[1]->id);
|
105 |
+
}
|
106 |
+
|
107 |
+
public function testCreateForBitcoinViaCharge()
|
108 |
+
{
|
109 |
+
self::authorizeFromEnv();
|
110 |
+
|
111 |
+
$receiver = $this->createTestBitcoinReceiver("do+fill_now@stripe.com");
|
112 |
+
|
113 |
+
$charge = Charge::create(
|
114 |
+
array(
|
115 |
+
'amount' => $receiver->amount,
|
116 |
+
'currency' => $receiver->currency,
|
117 |
+
'description' => $receiver->description,
|
118 |
+
'source' => $receiver->id
|
119 |
+
)
|
120 |
+
);
|
121 |
+
|
122 |
+
$ref = $charge->refunds->create(
|
123 |
+
array(
|
124 |
+
'amount' => $receiver->amount,
|
125 |
+
'refund_address' => 'ABCDEF'
|
126 |
+
)
|
127 |
+
);
|
128 |
+
$this->assertSame($receiver->amount, $ref->amount);
|
129 |
+
$this->assertNotNull($ref->id);
|
130 |
+
}
|
131 |
+
}
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class RequestOptionsTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testStringAPIKey()
|
8 |
+
{
|
9 |
+
$opts = Util\RequestOptions::parse("foo");
|
10 |
+
$this->assertSame("foo", $opts->apiKey);
|
11 |
+
$this->assertSame(array(), $opts->headers);
|
12 |
+
}
|
13 |
+
|
14 |
+
public function testNull()
|
15 |
+
{
|
16 |
+
$opts = Util\RequestOptions::parse(null);
|
17 |
+
$this->assertSame(null, $opts->apiKey);
|
18 |
+
$this->assertSame(array(), $opts->headers);
|
19 |
+
}
|
20 |
+
|
21 |
+
public function testEmptyArray()
|
22 |
+
{
|
23 |
+
$opts = Util\RequestOptions::parse(array());
|
24 |
+
$this->assertSame(null, $opts->apiKey);
|
25 |
+
$this->assertSame(array(), $opts->headers);
|
26 |
+
}
|
27 |
+
|
28 |
+
public function testAPIKeyArray()
|
29 |
+
{
|
30 |
+
$opts = Util\RequestOptions::parse(
|
31 |
+
array(
|
32 |
+
'api_key' => 'foo',
|
33 |
+
)
|
34 |
+
);
|
35 |
+
$this->assertSame('foo', $opts->apiKey);
|
36 |
+
$this->assertSame(array(), $opts->headers);
|
37 |
+
}
|
38 |
+
|
39 |
+
public function testIdempotentKeyArray()
|
40 |
+
{
|
41 |
+
$opts = Util\RequestOptions::parse(
|
42 |
+
array(
|
43 |
+
'idempotency_key' => 'foo',
|
44 |
+
)
|
45 |
+
);
|
46 |
+
$this->assertSame(null, $opts->apiKey);
|
47 |
+
$this->assertSame(array('Idempotency-Key' => 'foo'), $opts->headers);
|
48 |
+
}
|
49 |
+
|
50 |
+
public function testKeyArray()
|
51 |
+
{
|
52 |
+
$opts = Util\RequestOptions::parse(
|
53 |
+
array(
|
54 |
+
'idempotency_key' => 'foo',
|
55 |
+
'api_key' => 'foo'
|
56 |
+
)
|
57 |
+
);
|
58 |
+
$this->assertSame('foo', $opts->apiKey);
|
59 |
+
$this->assertSame(array('Idempotency-Key' => 'foo'), $opts->headers);
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* @expectedException Stripe\Error\Api
|
64 |
+
*/
|
65 |
+
public function testWrongType()
|
66 |
+
{
|
67 |
+
$opts = Util\RequestOptions::parse(5);
|
68 |
+
}
|
69 |
+
}
|
@@ -0,0 +1,108 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class StripeObjectTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testArrayAccessorsSemantics()
|
8 |
+
{
|
9 |
+
$s = new StripeObject();
|
10 |
+
$s['foo'] = 'a';
|
11 |
+
$this->assertSame($s['foo'], 'a');
|
12 |
+
$this->assertTrue(isset($s['foo']));
|
13 |
+
unset($s['foo']);
|
14 |
+
$this->assertFalse(isset($s['foo']));
|
15 |
+
}
|
16 |
+
|
17 |
+
public function testNormalAccessorsSemantics()
|
18 |
+
{
|
19 |
+
$s = new StripeObject();
|
20 |
+
$s->foo = 'a';
|
21 |
+
$this->assertSame($s->foo, 'a');
|
22 |
+
$this->assertTrue(isset($s->foo));
|
23 |
+
unset($s->foo);
|
24 |
+
$this->assertFalse(isset($s->foo));
|
25 |
+
}
|
26 |
+
|
27 |
+
public function testArrayAccessorsMatchNormalAccessors()
|
28 |
+
{
|
29 |
+
$s = new StripeObject();
|
30 |
+
$s->foo = 'a';
|
31 |
+
$this->assertSame($s['foo'], 'a');
|
32 |
+
|
33 |
+
$s['bar'] = 'b';
|
34 |
+
$this->assertSame($s->bar, 'b');
|
35 |
+
}
|
36 |
+
|
37 |
+
public function testKeys()
|
38 |
+
{
|
39 |
+
$s = new StripeObject();
|
40 |
+
$s->foo = 'a';
|
41 |
+
$this->assertSame($s->keys(), array('foo'));
|
42 |
+
}
|
43 |
+
|
44 |
+
public function testToArray()
|
45 |
+
{
|
46 |
+
$s = new StripeObject();
|
47 |
+
$s->foo = 'a';
|
48 |
+
|
49 |
+
$converted = $s->__toArray();
|
50 |
+
|
51 |
+
$this->assertInternalType('array', $converted);
|
52 |
+
$this->assertArrayHasKey('foo', $converted);
|
53 |
+
$this->assertEquals('a', $converted['foo']);
|
54 |
+
}
|
55 |
+
|
56 |
+
public function testRecursiveToArray()
|
57 |
+
{
|
58 |
+
$s = new StripeObject();
|
59 |
+
$z = new StripeObject();
|
60 |
+
|
61 |
+
$s->child = $z;
|
62 |
+
$z->foo = 'a';
|
63 |
+
|
64 |
+
$converted = $s->__toArray(true);
|
65 |
+
|
66 |
+
$this->assertInternalType('array', $converted);
|
67 |
+
$this->assertArrayHasKey('child', $converted);
|
68 |
+
$this->assertInternalType('array', $converted['child']);
|
69 |
+
$this->assertArrayHasKey('foo', $converted['child']);
|
70 |
+
$this->assertEquals('a', $converted['child']['foo']);
|
71 |
+
}
|
72 |
+
|
73 |
+
public function testNonexistentProperty()
|
74 |
+
{
|
75 |
+
$s = new StripeObject();
|
76 |
+
$this->assertNull($s->nonexistent);
|
77 |
+
}
|
78 |
+
|
79 |
+
public function testPropertyDoesNotExists()
|
80 |
+
{
|
81 |
+
$s = new StripeObject();
|
82 |
+
$this->assertNull($s['nonexistent']);
|
83 |
+
}
|
84 |
+
|
85 |
+
public function testJsonEncode()
|
86 |
+
{
|
87 |
+
// We can only JSON encode our objects in PHP 5.4+. 5.3 must use ->__toJSON()
|
88 |
+
if (version_compare(phpversion(), '5.4.0', '<')) {
|
89 |
+
return;
|
90 |
+
}
|
91 |
+
|
92 |
+
$s = new StripeObject();
|
93 |
+
$s->foo = 'a';
|
94 |
+
|
95 |
+
$this->assertEquals('{"foo":"a"}', json_encode($s->__toArray()));
|
96 |
+
}
|
97 |
+
|
98 |
+
public function testReplaceNewNestedUpdatable()
|
99 |
+
{
|
100 |
+
StripeObject::init(); // Populate the $nestedUpdatableAttributes Set
|
101 |
+
$s = new StripeObject();
|
102 |
+
|
103 |
+
$s->metadata = array('bar');
|
104 |
+
$this->assertSame($s->metadata, array('bar'));
|
105 |
+
$s->metadata = array('baz', 'qux');
|
106 |
+
$this->assertSame($s->metadata, array('baz', 'qux'));
|
107 |
+
}
|
108 |
+
}
|
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class SubscriptionTest extends TestCase
|
6 |
+
{
|
7 |
+
|
8 |
+
public function testCustomerCreateUpdateListCancel()
|
9 |
+
{
|
10 |
+
$planID = 'gold-' . self::generateRandomString(20);
|
11 |
+
self::retrieveOrCreatePlan($planID);
|
12 |
+
|
13 |
+
$customer = self::createTestCustomer();
|
14 |
+
|
15 |
+
$sub = $customer->subscriptions->create(array('plan' => $planID));
|
16 |
+
|
17 |
+
$this->assertSame($sub->status, 'active');
|
18 |
+
$this->assertSame($sub->plan->id, $planID);
|
19 |
+
|
20 |
+
$sub->quantity = 2;
|
21 |
+
$sub->save();
|
22 |
+
|
23 |
+
$sub = $customer->subscriptions->retrieve($sub->id);
|
24 |
+
$this->assertSame($sub->status, 'active');
|
25 |
+
$this->assertSame($sub->plan->id, $planID);
|
26 |
+
$this->assertSame($sub->quantity, 2);
|
27 |
+
|
28 |
+
$subs = $customer->subscriptions->all(array('limit'=>3));
|
29 |
+
$this->assertSame(get_class($subs->data[0]), 'Stripe\Subscription');
|
30 |
+
|
31 |
+
$sub->cancel(array('at_period_end' => true));
|
32 |
+
|
33 |
+
$sub = $customer->subscriptions->retrieve($sub->id);
|
34 |
+
$this->assertSame($sub->status, 'active');
|
35 |
+
// @codingStandardsIgnoreStart
|
36 |
+
$this->assertTrue($sub->cancel_at_period_end);
|
37 |
+
// @codingStandardsIgnoreEnd
|
38 |
+
}
|
39 |
+
|
40 |
+
public function testCreateUpdateListCancel()
|
41 |
+
{
|
42 |
+
$planID = 'gold-' . self::generateRandomString(20);
|
43 |
+
self::retrieveOrCreatePlan($planID);
|
44 |
+
|
45 |
+
$customer = self::createTestCustomer();
|
46 |
+
|
47 |
+
$sub = Subscription::create(array('plan' => $planID, 'customer' => $customer->id));
|
48 |
+
|
49 |
+
$this->assertSame($sub->status, 'active');
|
50 |
+
$this->assertSame($sub->plan->id, $planID);
|
51 |
+
|
52 |
+
$sub->quantity = 2;
|
53 |
+
$sub->save();
|
54 |
+
|
55 |
+
$sub = Subscription::retrieve($sub->id);
|
56 |
+
$this->assertSame($sub->status, 'active');
|
57 |
+
$this->assertSame($sub->plan->id, $planID);
|
58 |
+
$this->assertSame($sub->quantity, 2);
|
59 |
+
|
60 |
+
// Update the quantity parameter one more time
|
61 |
+
$sub = Subscription::update($sub->id, array("quantity" => 3));
|
62 |
+
$this->assertSame($sub->status, 'active');
|
63 |
+
$this->assertSame($sub->plan->id, $planID);
|
64 |
+
$this->assertSame($sub->quantity, 3);
|
65 |
+
|
66 |
+
$subs = Subscription::all(array('customer'=>$customer->id, 'plan'=>$planID, 'limit'=>3));
|
67 |
+
$this->assertSame(get_class($subs->data[0]), 'Stripe\Subscription');
|
68 |
+
|
69 |
+
$sub->cancel(array('at_period_end' => true));
|
70 |
+
|
71 |
+
$sub = Subscription::retrieve($sub->id);
|
72 |
+
$this->assertSame($sub->status, 'active');
|
73 |
+
$this->assertTrue($sub->cancel_at_period_end);
|
74 |
+
}
|
75 |
+
|
76 |
+
public function testDeleteDiscount()
|
77 |
+
{
|
78 |
+
$planID = 'gold-' . self::generateRandomString(20);
|
79 |
+
self::retrieveOrCreatePlan($planID);
|
80 |
+
|
81 |
+
$couponID = '25off-' . self::generateRandomString(20);
|
82 |
+
self::retrieveOrCreateCoupon($couponID);
|
83 |
+
|
84 |
+
$customer = self::createTestCustomer();
|
85 |
+
|
86 |
+
$sub = $customer->subscriptions->create(
|
87 |
+
array(
|
88 |
+
'plan' => $planID,
|
89 |
+
'coupon' => $couponID
|
90 |
+
)
|
91 |
+
);
|
92 |
+
|
93 |
+
$this->assertSame($sub->status, 'active');
|
94 |
+
$this->assertSame($sub->plan->id, $planID);
|
95 |
+
$this->assertSame($sub->discount->coupon->id, $couponID);
|
96 |
+
|
97 |
+
$sub->deleteDiscount();
|
98 |
+
$sub = $customer->subscriptions->retrieve($sub->id);
|
99 |
+
$this->assertNull($sub->discount);
|
100 |
+
}
|
101 |
+
}
|
@@ -0,0 +1,224 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Base class for Stripe test cases, provides some utility methods for creating
|
7 |
+
* objects.
|
8 |
+
*/
|
9 |
+
class TestCase extends \PHPUnit_Framework_TestCase
|
10 |
+
{
|
11 |
+
const API_KEY = 'tGN0bIwXnHdwOa85VABjPdSn8nWY7G7I';
|
12 |
+
|
13 |
+
private $mock;
|
14 |
+
|
15 |
+
protected static function authorizeFromEnv()
|
16 |
+
{
|
17 |
+
$apiKey = getenv('STRIPE_API_KEY');
|
18 |
+
if (!$apiKey) {
|
19 |
+
$apiKey = self::API_KEY;
|
20 |
+
}
|
21 |
+
|
22 |
+
Stripe::setApiKey($apiKey);
|
23 |
+
}
|
24 |
+
|
25 |
+
protected function setUp()
|
26 |
+
{
|
27 |
+
ApiRequestor::setHttpClient(HttpClient\CurlClient::instance());
|
28 |
+
$this->mock = null;
|
29 |
+
$this->call = 0;
|
30 |
+
}
|
31 |
+
|
32 |
+
protected function mockRequest($method, $path, $params = array(), $return = array('id' => 'myId'), $rcode = 200)
|
33 |
+
{
|
34 |
+
$mock = $this->setUpMockRequest();
|
35 |
+
$mock->expects($this->at($this->call++))
|
36 |
+
->method('request')
|
37 |
+
->with(strtolower($method), 'https://api.stripe.com' . $path, $this->anything(), $params, false)
|
38 |
+
->willReturn(array(json_encode($return), $rcode, array()));
|
39 |
+
}
|
40 |
+
|
41 |
+
private function setUpMockRequest()
|
42 |
+
{
|
43 |
+
if (!$this->mock) {
|
44 |
+
self::authorizeFromEnv();
|
45 |
+
$this->mock = $this->getMock('\Stripe\HttpClient\ClientInterface');
|
46 |
+
ApiRequestor::setHttpClient($this->mock);
|
47 |
+
}
|
48 |
+
return $this->mock;
|
49 |
+
}
|
50 |
+
|
51 |
+
/**
|
52 |
+
* Create a valid test charge.
|
53 |
+
*/
|
54 |
+
protected static function createTestCharge(array $attributes = array())
|
55 |
+
{
|
56 |
+
self::authorizeFromEnv();
|
57 |
+
|
58 |
+
return Charge::create(
|
59 |
+
$attributes + array(
|
60 |
+
'amount' => 2000,
|
61 |
+
'currency' => 'usd',
|
62 |
+
'description' => 'Charge for test@example.com',
|
63 |
+
'card' => array(
|
64 |
+
'number' => '4242424242424242',
|
65 |
+
'exp_month' => 5,
|
66 |
+
'exp_year' => date('Y') + 3,
|
67 |
+
),
|
68 |
+
)
|
69 |
+
);
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Create a valid test charge.
|
74 |
+
*/
|
75 |
+
protected static function createTestTransfer(array $attributes = array())
|
76 |
+
{
|
77 |
+
self::authorizeFromEnv();
|
78 |
+
|
79 |
+
$recipient = self::createTestRecipient();
|
80 |
+
|
81 |
+
return Transfer::create(
|
82 |
+
$attributes + array(
|
83 |
+
'amount' => 2000,
|
84 |
+
'currency' => 'usd',
|
85 |
+
'description' => 'Transfer to test@example.com',
|
86 |
+
'recipient' => $recipient->id
|
87 |
+
)
|
88 |
+
);
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Create a valid test customer.
|
93 |
+
*/
|
94 |
+
protected static function createTestCustomer(array $attributes = array())
|
95 |
+
{
|
96 |
+
self::authorizeFromEnv();
|
97 |
+
|
98 |
+
return Customer::create(
|
99 |
+
$attributes + array(
|
100 |
+
'card' => array(
|
101 |
+
'number' => '4242424242424242',
|
102 |
+
'exp_month' => 5,
|
103 |
+
'exp_year' => date('Y') + 3,
|
104 |
+
),
|
105 |
+
)
|
106 |
+
);
|
107 |
+
}
|
108 |
+
|
109 |
+
/**
|
110 |
+
* Create a valid test recipient
|
111 |
+
*/
|
112 |
+
protected static function createTestRecipient(array $attributes = array())
|
113 |
+
{
|
114 |
+
self::authorizeFromEnv();
|
115 |
+
|
116 |
+
return Recipient::create(
|
117 |
+
$attributes + array(
|
118 |
+
'name' => 'PHP Test',
|
119 |
+
'type' => 'individual',
|
120 |
+
'tax_id' => '000000000',
|
121 |
+
'bank_account' => array(
|
122 |
+
'country' => 'US',
|
123 |
+
'routing_number' => '110000000',
|
124 |
+
'account_number' => '000123456789'
|
125 |
+
),
|
126 |
+
)
|
127 |
+
);
|
128 |
+
}
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Create a test account
|
132 |
+
*/
|
133 |
+
protected static function createTestAccount(array $attributes = array())
|
134 |
+
{
|
135 |
+
self::authorizeFromEnv();
|
136 |
+
|
137 |
+
return Account::create(
|
138 |
+
$attributes + array(
|
139 |
+
'managed' => false,
|
140 |
+
'country' => 'US',
|
141 |
+
'email' => self::generateRandomEmail(),
|
142 |
+
)
|
143 |
+
);
|
144 |
+
}
|
145 |
+
|
146 |
+
/**
|
147 |
+
* Verify that a plan with a given ID exists, or create a new one if it does
|
148 |
+
* not.
|
149 |
+
*/
|
150 |
+
protected static function retrieveOrCreatePlan($id)
|
151 |
+
{
|
152 |
+
self::authorizeFromEnv();
|
153 |
+
|
154 |
+
try {
|
155 |
+
$plan = Plan::retrieve($id);
|
156 |
+
} catch (Error\InvalidRequest $exception) {
|
157 |
+
$plan = Plan::create(
|
158 |
+
array(
|
159 |
+
'id' => $id,
|
160 |
+
'amount' => 0,
|
161 |
+
'currency' => 'usd',
|
162 |
+
'interval' => 'month',
|
163 |
+
'name' => 'Gold Test Plan',
|
164 |
+
)
|
165 |
+
);
|
166 |
+
}
|
167 |
+
}
|
168 |
+
|
169 |
+
/**
|
170 |
+
* Verify that a coupon with a given ID exists, or create a new one if it
|
171 |
+
* does not.
|
172 |
+
*/
|
173 |
+
protected static function retrieveOrCreateCoupon($id)
|
174 |
+
{
|
175 |
+
self::authorizeFromEnv();
|
176 |
+
|
177 |
+
try {
|
178 |
+
$coupon = Coupon::retrieve($id);
|
179 |
+
} catch (Error\InvalidRequest $exception) {
|
180 |
+
$coupon = Coupon::create(
|
181 |
+
array(
|
182 |
+
'id' => $id,
|
183 |
+
'duration' => 'forever',
|
184 |
+
'percent_off' => 25,
|
185 |
+
)
|
186 |
+
);
|
187 |
+
}
|
188 |
+
}
|
189 |
+
|
190 |
+
/**
|
191 |
+
* Genereate a semi-random string
|
192 |
+
*/
|
193 |
+
protected static function generateRandomString($length = 24)
|
194 |
+
{
|
195 |
+
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU';
|
196 |
+
$charactersLength = strlen($characters);
|
197 |
+
$randomString = '';
|
198 |
+
for ($i = 0; $i < $length; $i++) {
|
199 |
+
$randomString .= $characters[rand(0, $charactersLength - 1)];
|
200 |
+
}
|
201 |
+
return $randomString;
|
202 |
+
}
|
203 |
+
|
204 |
+
/**
|
205 |
+
* Generate a semi-random email.
|
206 |
+
*/
|
207 |
+
protected static function generateRandomEmail($domain = 'bar.com')
|
208 |
+
{
|
209 |
+
return self::generateRandomString().'@'.$domain;
|
210 |
+
}
|
211 |
+
|
212 |
+
protected static function createTestBitcoinReceiver($email)
|
213 |
+
{
|
214 |
+
$receiver = BitcoinReceiver::create(
|
215 |
+
array(
|
216 |
+
'amount' => 100,
|
217 |
+
'currency' => 'usd',
|
218 |
+
'description' => 'some details',
|
219 |
+
'email' => $email
|
220 |
+
)
|
221 |
+
);
|
222 |
+
return $receiver;
|
223 |
+
}
|
224 |
+
}
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class ThreeDSecureTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testCreate()
|
8 |
+
{
|
9 |
+
$this->mockRequest(
|
10 |
+
'POST',
|
11 |
+
'/v1/3d_secure',
|
12 |
+
array(
|
13 |
+
'card' => 'tok_test',
|
14 |
+
'amount' => 1500,
|
15 |
+
'currency' => 'usd',
|
16 |
+
'return_url' => 'https://example.org/3d-secure-result'
|
17 |
+
),
|
18 |
+
array(
|
19 |
+
'id' => 'tdsrc_test',
|
20 |
+
'object' => 'three_d_secure'
|
21 |
+
)
|
22 |
+
);
|
23 |
+
$three_d_secure = ThreeDSecure::create(array(
|
24 |
+
'card' => 'tok_test',
|
25 |
+
'amount' => 1500,
|
26 |
+
'currency' => 'usd',
|
27 |
+
'return_url' => 'https://example.org/3d-secure-result'
|
28 |
+
));
|
29 |
+
$this->assertSame($three_d_secure->id, 'tdsrc_test');
|
30 |
+
}
|
31 |
+
}
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class TokenTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testUrls()
|
8 |
+
{
|
9 |
+
$this->assertSame(Token::classUrl(), '/v1/tokens');
|
10 |
+
$token = new Token('abcd/efgh');
|
11 |
+
$this->assertSame($token->instanceUrl(), '/v1/tokens/abcd%2Fefgh');
|
12 |
+
}
|
13 |
+
}
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class TransferReversalTest extends TestCase
|
6 |
+
{
|
7 |
+
|
8 |
+
public function testList()
|
9 |
+
{
|
10 |
+
$transfer = self::createTestTransfer();
|
11 |
+
$all = $transfer->reversals->all();
|
12 |
+
$this->assertSame(false, $all['has_more']);
|
13 |
+
$this->assertSame(0, count($all->data));
|
14 |
+
}
|
15 |
+
}
|
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class TransferTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testCreate()
|
8 |
+
{
|
9 |
+
$recipient = self::createTestRecipient();
|
10 |
+
|
11 |
+
self::authorizeFromEnv();
|
12 |
+
$transfer = Transfer::create(array(
|
13 |
+
'amount' => 100,
|
14 |
+
'currency' => 'usd',
|
15 |
+
'recipient' => $recipient->id
|
16 |
+
));
|
17 |
+
$this->assertSame('pending', $transfer->status);
|
18 |
+
}
|
19 |
+
|
20 |
+
public function testRetrieve()
|
21 |
+
{
|
22 |
+
$recipient = self::createTestRecipient();
|
23 |
+
|
24 |
+
self::authorizeFromEnv();
|
25 |
+
$transfer = Transfer::create(array(
|
26 |
+
'amount' => 100,
|
27 |
+
'currency' => 'usd',
|
28 |
+
'recipient' => $recipient->id
|
29 |
+
));
|
30 |
+
$reloaded = Transfer::retrieve($transfer->id);
|
31 |
+
$this->assertSame($reloaded->id, $transfer->id);
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* @expectedException Stripe\Error\InvalidRequest
|
36 |
+
*/
|
37 |
+
public function testCancel()
|
38 |
+
{
|
39 |
+
$recipient = self::createTestRecipient();
|
40 |
+
|
41 |
+
self::authorizeFromEnv();
|
42 |
+
$transfer = Transfer::create(array(
|
43 |
+
'amount' => 100,
|
44 |
+
'currency' => 'usd',
|
45 |
+
'recipient' => $recipient->id
|
46 |
+
));
|
47 |
+
$reloaded = Transfer::retrieve($transfer->id);
|
48 |
+
$this->assertSame($reloaded->id, $transfer->id);
|
49 |
+
|
50 |
+
$reloaded->cancel();
|
51 |
+
}
|
52 |
+
|
53 |
+
public function testTransferUpdateMetadata()
|
54 |
+
{
|
55 |
+
$recipient = self::createTestRecipient();
|
56 |
+
|
57 |
+
self::authorizeFromEnv();
|
58 |
+
$transfer = Transfer::create(array(
|
59 |
+
'amount' => 100,
|
60 |
+
'currency' => 'usd',
|
61 |
+
'recipient' => $recipient->id
|
62 |
+
));
|
63 |
+
|
64 |
+
$transfer->metadata['test'] = 'foo bar';
|
65 |
+
$transfer->save();
|
66 |
+
|
67 |
+
$updatedTransfer = Transfer::retrieve($transfer->id);
|
68 |
+
$this->assertSame('foo bar', $updatedTransfer->metadata['test']);
|
69 |
+
}
|
70 |
+
|
71 |
+
public function testTransferUpdateMetadataAll()
|
72 |
+
{
|
73 |
+
$recipient = self::createTestRecipient();
|
74 |
+
|
75 |
+
self::authorizeFromEnv();
|
76 |
+
$transfer = Transfer::create(array(
|
77 |
+
'amount' => 100,
|
78 |
+
'currency' => 'usd',
|
79 |
+
'recipient' => $recipient->id
|
80 |
+
));
|
81 |
+
|
82 |
+
$transfer->metadata = array('test' => 'foo bar');
|
83 |
+
$transfer->save();
|
84 |
+
|
85 |
+
$updatedTransfer = Transfer::retrieve($transfer->id);
|
86 |
+
$this->assertSame('foo bar', $updatedTransfer->metadata['test']);
|
87 |
+
}
|
88 |
+
|
89 |
+
public function testRecipientUpdateMetadata()
|
90 |
+
{
|
91 |
+
$recipient = self::createTestRecipient();
|
92 |
+
|
93 |
+
$recipient->metadata['test'] = 'foo bar';
|
94 |
+
$recipient->save();
|
95 |
+
|
96 |
+
$updatedRecipient = Recipient::retrieve($recipient->id);
|
97 |
+
$this->assertSame('foo bar', $updatedRecipient->metadata['test']);
|
98 |
+
}
|
99 |
+
|
100 |
+
public function testRecipientUpdateMetadataAll()
|
101 |
+
{
|
102 |
+
$recipient = self::createTestRecipient();
|
103 |
+
|
104 |
+
$recipient->metadata = array('test' => 'foo bar');
|
105 |
+
$recipient->save();
|
106 |
+
|
107 |
+
$updatedRecipient = Recipient::retrieve($recipient->id);
|
108 |
+
$this->assertSame('foo bar', $updatedRecipient->metadata['test']);
|
109 |
+
}
|
110 |
+
}
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Stripe;
|
4 |
+
|
5 |
+
class UtilTest extends TestCase
|
6 |
+
{
|
7 |
+
public function testIsList()
|
8 |
+
{
|
9 |
+
$list = array(5, 'nstaoush', array());
|
10 |
+
$this->assertTrue(Util\Util::isList($list));
|
11 |
+
|
12 |
+
$notlist = array(5, 'nstaoush', array(), 'bar' => 'baz');
|
13 |
+
$this->assertFalse(Util\Util::isList($notlist));
|
14 |
+
}
|
15 |
+
|
16 |
+
public function testThatPHPHasValueSemanticsForArrays()
|
17 |
+
{
|
18 |
+
$original = array('php-arrays' => 'value-semantics');
|
19 |
+
$derived = $original;
|
20 |
+
$derived['php-arrays'] = 'reference-semantics';
|
21 |
+
|
22 |
+
$this->assertSame('value-semantics', $original['php-arrays']);
|
23 |
+
}
|
24 |
+
|
25 |
+
public function testConvertStripeObjectToArrayIncludesId()
|
26 |
+
{
|
27 |
+
$customer = self::createTestCustomer();
|
28 |
+
$this->assertTrue(array_key_exists("id", $customer->__toArray(true)));
|
29 |
+
}
|
30 |
+
|
31 |
+
public function testUtf8()
|
32 |
+
{
|
33 |
+
// UTF-8 string
|
34 |
+
$x = "\xc3\xa9";
|
35 |
+
$this->assertSame(Util\Util::utf8($x), $x);
|
36 |
+
|
37 |
+
// Latin-1 string
|
38 |
+
$x = "\xe9";
|
39 |
+
$this->assertSame(Util\Util::utf8($x), "\xc3\xa9");
|
40 |
+
|
41 |
+
// Not a string
|
42 |
+
$x = true;
|
43 |
+
$this->assertSame(Util\Util::utf8($x), $x);
|
44 |
+
}
|
45 |
+
}
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once __DIR__ . '/../init.php';
|
4 |
+
require_once __DIR__ . '/TestCase.php';
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once __DIR__ . '/TestCase.php';
|
@@ -1,3 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
6.2.6 (2015-01-28)
|
2 |
- Bug #1008 "UTC offset sing breaks PDF/A-1b compliance" was fixed.
|
3 |
|
1 |
+
6.2.25
|
2 |
+
- Fix support for image URLs.
|
3 |
+
|
4 |
+
6.2.24
|
5 |
+
- Support remote urls when checking if file exists.
|
6 |
+
|
7 |
+
6.2.23
|
8 |
+
- Simplify file_exists function.
|
9 |
+
|
10 |
+
6.2.22
|
11 |
+
- Fix for security vulnerability: Using the phar:// wrapper it was possible to trigger the unserialization of user provided data.
|
12 |
+
|
13 |
+
6.2.19
|
14 |
+
- Merge various fixes for PHP 7.3 compatibility and security.
|
15 |
+
|
16 |
+
6.2.13 (2016-06-10)
|
17 |
+
- IMPORTANT: A new version of this library is under development at https://github.com/tecnickcom/tc-lib-pdf and as a consequence this version will not receive any additional development or support. This version should be considered obsolete, new projects should use the new version as soon it will become stable.
|
18 |
+
|
19 |
+
6.2.12 (2015-09-12)
|
20 |
+
- fix composer package name to tecnickcom/tcpdf
|
21 |
+
|
22 |
+
6.2.11 (2015-08-02)
|
23 |
+
- Bug #1070 "PNG regression in 6.2.9 (they appear as their alpha channel)" was fixed.
|
24 |
+
- Bug #1069 "Encoded SRC URLs in <img> tags don't work anymore" was fixed.
|
25 |
+
|
26 |
+
6.2.10 (2015-07-28)
|
27 |
+
- Minor mod to PNG parsing.
|
28 |
+
- Make dependency on mcrypt optional.
|
29 |
+
|
30 |
+
6.2.8 (2015-04-29)
|
31 |
+
- Removed unwanted file.
|
32 |
+
|
33 |
+
6.2.7 (2015-04-28)
|
34 |
+
- Merged PR 17: Avoid warning when iterating a non-array variable.
|
35 |
+
- Merged PR 16: Improve MuliCell param definition.
|
36 |
+
- Improved column check (PR 15).
|
37 |
+
- Merged PR 11: Use stream_is_local instead of limit to file://.
|
38 |
+
- Merged PR 10: ImageMagick link on README.txt.
|
39 |
+
|
40 |
6.2.6 (2015-01-28)
|
41 |
- Bug #1008 "UTC offset sing breaks PDF/A-1b compliance" was fixed.
|
42 |
|
@@ -6,6 +6,8 @@
|
|
6 |
under the terms of the GNU Lesser General Public License as
|
7 |
published by the Free Software Foundation, either version 3 of the
|
8 |
License, or (at your option) any later version.
|
|
|
|
|
9 |
|
10 |
**********************************************************************
|
11 |
**********************************************************************
|
6 |
under the terms of the GNU Lesser General Public License as
|
7 |
published by the Free Software Foundation, either version 3 of the
|
8 |
License, or (at your option) any later version.
|
9 |
+
|
10 |
+
2002-2019 Nicola Asuni - Tecnick.com LTD
|
11 |
|
12 |
**********************************************************************
|
13 |
**********************************************************************
|
@@ -1,115 +0,0 @@
|
|
1 |
-
TCPDF - README
|
2 |
-
============================================================
|
3 |
-
|
4 |
-
I WISH TO IMPROVE AND EXPAND TCPDF BUT I NEED YOUR SUPPORT.
|
5 |
-
PLEASE MAKE A DONATION:
|
6 |
-
http://sourceforge.net/donate/index.php?group_id=128076
|
7 |
-
|
8 |
-
------------------------------------------------------------
|
9 |
-
|
10 |
-
Name: TCPDF
|
11 |
-
Version: 6.2.6
|
12 |
-
Release date: 2015-01-28
|
13 |
-
Author: Nicola Asuni
|
14 |
-
|
15 |
-
Copyright (c) 2002-2015:
|
16 |
-
Nicola Asuni
|
17 |
-
Tecnick.com LTD
|
18 |
-
www.tecnick.com
|
19 |
-
|
20 |
-
URLs:
|
21 |
-
http://www.tcpdf.org
|
22 |
-
http://www.sourceforge.net/projects/tcpdf
|
23 |
-
|
24 |
-
Description:
|
25 |
-
TCPDF is a PHP class for generating PDF files on-the-fly without requiring external extensions.
|
26 |
-
This library includes also a class to extract data from existing PDF documents and
|
27 |
-
classes to generate 1D and 2D barcodes in various formats.
|
28 |
-
|
29 |
-
Main Features:
|
30 |
-
* no external libraries are required for the basic functions;
|
31 |
-
* all standard page formats, custom page formats, custom margins and units of measure;
|
32 |
-
* UTF-8 Unicode and Right-To-Left languages;
|
33 |
-
* TrueTypeUnicode, OpenTypeUnicode v1, TrueType, OpenType v1, Type1 and CID-0 fonts;
|
34 |
-
* font subsetting;
|
35 |
-
* methods to publish some XHTML + CSS code, Javascript and Forms;
|
36 |
-
* images, graphic (geometric figures) and transformation methods;
|
37 |
-
* supports JPEG, PNG and SVG images natively, all images supported by GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImagMagick (http: www.imagemagick.org/www/formats.html)
|
38 |
-
* 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extension, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, Datamatrix, QR-Code, PDF417;
|
39 |
-
* JPEG and PNG ICC profiles, Grayscale, RGB, CMYK, Spot Colors and Transparencies;
|
40 |
-
* automatic page header and footer management;
|
41 |
-
* document encryption up to 256 bit and digital signature certifications;
|
42 |
-
* transactions to UNDO commands;
|
43 |
-
* PDF annotations, including links, text and file attachments;
|
44 |
-
* text rendering modes (fill, stroke and clipping);
|
45 |
-
* multiple columns mode;
|
46 |
-
* no-write page regions;
|
47 |
-
* bookmarks, named destinations and table of content;
|
48 |
-
* text hyphenation;
|
49 |
-
* text stretching and spacing (tracking);
|
50 |
-
* automatic page break, line break and text alignments including justification;
|
51 |
-
* automatic page numbering and page groups;
|
52 |
-
* move and delete pages;
|
53 |
-
* page compression (requires php-zlib extension);
|
54 |
-
* XOBject Templates;
|
55 |
-
* Layers and object visibility.
|
56 |
-
* PDF/A-1b support.
|
57 |
-
|
58 |
-
Installation (full instructions on http: www.tcpdf.org):
|
59 |
-
1. copy the folder on your Web server
|
60 |
-
2. set your installation path and other parameters on the config/tcpdf_config.php
|
61 |
-
3. call the examples/example_001.php page with your browser to see an example
|
62 |
-
|
63 |
-
Source Code Documentation:
|
64 |
-
http://www.tcpdf.org
|
65 |
-
|
66 |
-
Additional Documentation:
|
67 |
-
http://www.tcpdf.org
|
68 |
-
|
69 |
-
License:
|
70 |
-
Copyright (C) 2002-2014 Nicola Asuni - Tecnick.com LTD
|
71 |
-
|
72 |
-
TCPDF is free software: you can redistribute it and/or modify it
|
73 |
-
under the terms of the GNU Lesser General Public License as
|
74 |
-
published by the Free Software Foundation, either version 3 of the
|
75 |
-
License, or (at your option) any later version.
|
76 |
-
|
77 |
-
TCPDF is distributed in the hope that it will be useful, but
|
78 |
-
WITHOUT ANY WARRANTY; without even the implied warranty of
|
79 |
-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
80 |
-
See the GNU Lesser General Public License for more details.
|
81 |
-
|
82 |
-
You should have received a copy of the License
|
83 |
-
along with TCPDF. If not, see
|
84 |
-
<http://www.tecnick.com/pagefiles/tcpdf/LICENSE.TXT>.
|
85 |
-
|
86 |
-
See LICENSE.TXT file for more information.
|
87 |
-
|
88 |
-
Third party fonts:
|
89 |
-
|
90 |
-
This library may include third party font files released with different licenses.
|
91 |
-
|
92 |
-
All the PHP files on the fonts directory are subject to the general TCPDF license (GNU-LGPLv3),
|
93 |
-
they do not contain any binary data but just a description of the general properties of a particular font.
|
94 |
-
These files can be also generated on the fly using the font utilities and TCPDF methods.
|
95 |
-
|
96 |
-
All the original binary TTF font files have been renamed for compatibility with TCPDF and compressed using the gzcompress PHP function that uses the ZLIB data format (.z files).
|
97 |
-
|
98 |
-
The binary files (.z) that begins with the prefix "free" have been extracted from the GNU FreeFont collection (GNU-GPLv3).
|
99 |
-
The binary files (.z) that begins with the prefix "pdfa" have been derived from the GNU FreeFont, so they are subject to the same license.
|
100 |
-
For the details of Copyright, License and other information, please check the files inside the directory fonts/freefont-20120503
|
101 |
-
Link : http://www.gnu.org/software/freefont/
|
102 |
-
|
103 |
-
The binary files (.z) that begins with the prefix "dejavu" have been extracted from the DejaVu fonts 2.33 (Bitstream) collection.
|
104 |
-
For the details of Copyright, License and other information, please check the files inside the directory fonts/dejavu-fonts-ttf-2.33
|
105 |
-
Link : http://dejavu-fonts.org
|
106 |
-
|
107 |
-
The binary files (.z) that begins with the prefix "ae" have been extracted from the Arabeyes.org collection (GNU-GPLv2).
|
108 |
-
Link : http://projects.arabeyes.org/
|
109 |
-
|
110 |
-
ICC profile:
|
111 |
-
TCPDF includes the sRGB.icc profile from the icc-profiles-free Debian package:
|
112 |
-
https://packages.debian.org/source/stable/icc-profiles-free
|
113 |
-
|
114 |
-
|
115 |
-
============================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# TCPDF
|
2 |
+
*PHP PDF Library*
|
3 |
+
|
4 |
+
[![Donate via PayPal](https://img.shields.io/badge/donate-paypal-87ceeb.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations¤cy_code=GBP&business=paypal@tecnick.com&item_name=donation%20for%20TCPDF%20project)
|
5 |
+
*Please consider supporting this project by making a donation via [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_donations¤cy_code=GBP&business=paypal@tecnick.com&item_name=donation%20for%20TCPDF%20project)*
|
6 |
+
|
7 |
+
* **category** Library
|
8 |
+
* **author** Nicola Asuni <info@tecnick.com>
|
9 |
+
* **copyright** 2002-2020 Nicola Asuni - Tecnick.com LTD
|
10 |
+
* **license** http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT)
|
11 |
+
* **link** http://www.tcpdf.org
|
12 |
+
* **source** https://github.com/tecnickcom/TCPDF
|
13 |
+
|
14 |
+
|
15 |
+
## IMPORTANT
|
16 |
+
A new version of this library is under development at https://github.com/tecnickcom/tc-lib-pdf and as a consequence this version will not receive any additional development or support.
|
17 |
+
This version should be considered obsolete, new projects should use the new version as soon it will become stable.
|
18 |
+
|
19 |
+
|
20 |
+
|
21 |
+
## Description
|
22 |
+
|
23 |
+
PHP library for generating PDF documents on-the-fly.
|
24 |
+
|
25 |
+
### Main Features:
|
26 |
+
* no external libraries are required for the basic functions;
|
27 |
+
* all standard page formats, custom page formats, custom margins and units of measure;
|
28 |
+
* UTF-8 Unicode and Right-To-Left languages;
|
29 |
+
* TrueTypeUnicode, OpenTypeUnicode v1, TrueType, OpenType v1, Type1 and CID-0 fonts;
|
30 |
+
* font subsetting;
|
31 |
+
* methods to publish some XHTML + CSS code, Javascript and Forms;
|
32 |
+
* images, graphic (geometric figures) and transformation methods;
|
33 |
+
* supports JPEG, PNG and SVG images natively, all images supported by GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImagMagick (http://www.imagemagick.org/script/formats.php)
|
34 |
+
* 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extension, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, Datamatrix, QR-Code, PDF417;
|
35 |
+
* JPEG and PNG ICC profiles, Grayscale, RGB, CMYK, Spot Colors and Transparencies;
|
36 |
+
* automatic page header and footer management;
|
37 |
+
* document encryption up to 256 bit and digital signature certifications;
|
38 |
+
* transactions to UNDO commands;
|
39 |
+
* PDF annotations, including links, text and file attachments;
|
40 |
+
* text rendering modes (fill, stroke and clipping);
|
41 |
+
* multiple columns mode;
|
42 |
+
* no-write page regions;
|
43 |
+
* bookmarks, named destinations and table of content;
|
44 |
+
* text hyphenation;
|
45 |
+
* text stretching and spacing (tracking);
|
46 |
+
* automatic page break, line break and text alignments including justification;
|
47 |
+
* automatic page numbering and page groups;
|
48 |
+
* move and delete pages;
|
49 |
+
* page compression (requires php-zlib extension);
|
50 |
+
* XOBject Templates;
|
51 |
+
* Layers and object visibility.
|
52 |
+
* PDF/A-1b support.
|
53 |
+
|
54 |
+
### Third party fonts:
|
55 |
+
|
56 |
+
This library may include third party font files released with different licenses.
|
57 |
+
|
58 |
+
All the PHP files on the fonts directory are subject to the general TCPDF license (GNU-LGPLv3),
|
59 |
+
they do not contain any binary data but just a description of the general properties of a particular font.
|
60 |
+
These files can be also generated on the fly using the font utilities and TCPDF methods.
|
61 |
+
|
62 |
+
All the original binary TTF font files have been renamed for compatibility with TCPDF and compressed using the gzcompress PHP function that uses the ZLIB data format (.z files).
|
63 |
+
|
64 |
+
The binary files (.z) that begins with the prefix "free" have been extracted from the GNU FreeFont collection (GNU-GPLv3).
|
65 |
+
The binary files (.z) that begins with the prefix "pdfa" have been derived from the GNU FreeFont, so they are subject to the same license.
|
66 |
+
For the details of Copyright, License and other information, please check the files inside the directory fonts/freefont-20120503
|
67 |
+
Link : http://www.gnu.org/software/freefont/
|
68 |
+
|
69 |
+
The binary files (.z) that begins with the prefix "dejavu" have been extracted from the DejaVu fonts 2.33 (Bitstream) collection.
|
70 |
+
For the details of Copyright, License and other information, please check the files inside the directory fonts/dejavu-fonts-ttf-2.33
|
71 |
+
Link : http://dejavu-fonts.org
|
72 |
+
|
73 |
+
The binary files (.z) that begins with the prefix "ae" have been extracted from the Arabeyes.org collection (GNU-GPLv2).
|
74 |
+
Link : http://projects.arabeyes.org/
|
75 |
+
|
76 |
+
### ICC profile:
|
77 |
+
|
78 |
+
TCPDF includes the sRGB.icc profile from the icc-profiles-free Debian package:
|
79 |
+
https://packages.debian.org/source/stable/icc-profiles-free
|
80 |
+
|
81 |
+
|
82 |
+
## Developer(s) Contact
|
83 |
+
|
84 |
+
* Nicola Asuni <info@tecnick.com>
|
@@ -0,0 +1 @@
|
|
|
1 |
+
6.3.5
|
@@ -1,40 +1,47 @@
|
|
1 |
{
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
}
|
1 |
{
|
2 |
+
"name": "tecnickcom/tcpdf",
|
3 |
+
"version": "6.3.5",
|
4 |
+
"homepage": "http://www.tcpdf.org/",
|
5 |
+
"type": "library",
|
6 |
+
"description": "TCPDF is a PHP class for generating PDF documents and barcodes.",
|
7 |
+
"keywords": [
|
8 |
+
"PDF",
|
9 |
+
"tcpdf",
|
10 |
+
"PDFD32000-2008",
|
11 |
+
"qrcode",
|
12 |
+
"datamatrix",
|
13 |
+
"pdf417",
|
14 |
+
"barcodes"
|
15 |
+
],
|
16 |
+
"license": "LGPL-3.0-only",
|
17 |
+
"authors": [
|
18 |
+
{
|
19 |
+
"name": "Nicola Asuni",
|
20 |
+
"email": "info@tecnick.com",
|
21 |
+
"role": "lead"
|
22 |
+
}
|
23 |
+
],
|
24 |
+
"require": {
|
25 |
+
"php": ">=5.3.0"
|
26 |
+
},
|
27 |
+
"autoload": {
|
28 |
+
"classmap": [
|
29 |
+
"config",
|
30 |
+
"include",
|
31 |
+
"tcpdf.php",
|
32 |
+
"tcpdf_parser.php",
|
33 |
+
"tcpdf_import.php",
|
34 |
+
"tcpdf_barcodes_1d.php",
|
35 |
+
"tcpdf_barcodes_2d.php",
|
36 |
+
"include/tcpdf_colors.php",
|
37 |
+
"include/tcpdf_filters.php",
|
38 |
+
"include/tcpdf_font_data.php",
|
39 |
+
"include/tcpdf_fonts.php",
|
40 |
+
"include/tcpdf_images.php",
|
41 |
+
"include/tcpdf_static.php",
|
42 |
+
"include/barcodes/datamatrix.php",
|
43 |
+
"include/barcodes/pdf417.php",
|
44 |
+
"include/barcodes/qrcode.php"
|
45 |
+
]
|
46 |
+
}
|
47 |
}
|
@@ -154,7 +154,7 @@ define ('PDF_MARGIN_RIGHT', 15);
|
|
154 |
/**
|
155 |
* Default main font name.
|
156 |
*/
|
157 |
-
define ('PDF_FONT_NAME_MAIN', '
|
158 |
|
159 |
/**
|
160 |
* Default main font size.
|
@@ -164,7 +164,7 @@ define ('PDF_FONT_SIZE_MAIN', 10);
|
|
164 |
/**
|
165 |
* Default data font name.
|
166 |
*/
|
167 |
-
define ('PDF_FONT_NAME_DATA', '
|
168 |
|
169 |
/**
|
170 |
* Default data font size.
|
154 |
/**
|
155 |
* Default main font name.
|
156 |
*/
|
157 |
+
define ('PDF_FONT_NAME_MAIN', 'helvetica');
|
158 |
|
159 |
/**
|
160 |
* Default main font size.
|
164 |
/**
|
165 |
* Default data font name.
|
166 |
*/
|
167 |
+
define ('PDF_FONT_NAME_DATA', 'helvetica');
|
168 |
|
169 |
/**
|
170 |
* Default data font size.
|
@@ -1,54 +0,0 @@
|
|
1 |
-
abysta at yandex.ru
|
2 |
-
Adrian Schroeter
|
3 |
-
Aleksey Chalabyan
|
4 |
-
Andrey Valentinovich Panov
|
5 |
-
Ben Laenen
|
6 |
-
Besarion Gugushvili
|
7 |
-
Bhikkhu Pesala
|
8 |
-
Clayborne Arevalo
|
9 |
-
Dafydd Harries
|
10 |
-
Danilo Segan
|
11 |
-
Davide Viti
|
12 |
-
David Jez
|
13 |
-
David Lawrence Ramsey
|
14 |
-
Denis Jacquerye
|
15 |
-
Dwayne Bailey
|
16 |
-
Eugeniy Meshcheryakov
|
17 |
-
Gee Fung Sit
|
18 |
-
Heikki Lindroos
|
19 |
-
James Cloos
|
20 |
-
James Crippen
|
21 |
-
John Karp
|
22 |
-
Keenan Pepper
|
23 |
-
Lars Naesbye Christensen
|
24 |
-
Lior Halphon
|
25 |
-
MaEr
|
26 |
-
Mashrab Kuvatov
|
27 |
-
Max Berger
|
28 |
-
Mederic Boquien
|
29 |
-
Michael Everson
|
30 |
-
MihailJP
|
31 |
-
Misu Moldovan
|
32 |
-
Nguyen Thai Ngoc Duy
|
33 |
-
Nicolas Mailhot
|
34 |
-
Norayr Chilingarian
|
35 |
-
Ognyan Kulev
|
36 |
-
Ondrej Koala Vacha
|
37 |
-
Peter Cernak
|
38 |
-
Remy Oudompheng
|
39 |
-
Roozbeh Pournader
|
40 |
-
Rouben Hakobian
|
41 |
-
Sahak Petrosyan
|
42 |
-
Sander Vesik
|
43 |
-
Stepan Roh
|
44 |
-
Stephen Hartke
|
45 |
-
Steve Tinney
|
46 |
-
Tavmjong Bah
|
47 |
-
Thomas Henlich
|
48 |
-
Tim May
|
49 |
-
Valentin Stoykov
|
50 |
-
Vasek Stodulka
|
51 |
-
Wesley Transue
|
52 |
-
Yoshiki Ohshima
|
53 |
-
|
54 |
-
$Id: AUTHORS 2495 2011-11-14 22:56:26Z noct_dreamer $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,3 +0,0 @@
|
|
1 |
-
See http://dejavu.sourceforge.net/wiki/index.php/Bugs
|
2 |
-
|
3 |
-
$Id: BUGS 80 2004-11-13 13:12:02Z src $
|
|
|
|
|
|
@@ -1,99 +0,0 @@
|
|
1 |
-
Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
|
2 |
-
Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below)
|
3 |
-
|
4 |
-
Bitstream Vera Fonts Copyright
|
5 |
-
------------------------------
|
6 |
-
|
7 |
-
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
|
8 |
-
a trademark of Bitstream, Inc.
|
9 |
-
|
10 |
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
11 |
-
of the fonts accompanying this license ("Fonts") and associated
|
12 |
-
documentation files (the "Font Software"), to reproduce and distribute the
|
13 |
-
Font Software, including without limitation the rights to use, copy, merge,
|
14 |
-
publish, distribute, and/or sell copies of the Font Software, and to permit
|
15 |
-
persons to whom the Font Software is furnished to do so, subject to the
|
16 |
-
following conditions:
|
17 |
-
|
18 |
-
The above copyright and trademark notices and this permission notice shall
|
19 |
-
be included in all copies of one or more of the Font Software typefaces.
|
20 |
-
|
21 |
-
The Font Software may be modified, altered, or added to, and in particular
|
22 |
-
the designs of glyphs or characters in the Fonts may be modified and
|
23 |
-
additional glyphs or characters may be added to the Fonts, only if the fonts
|
24 |
-
are renamed to names not containing either the words "Bitstream" or the word
|
25 |
-
"Vera".
|
26 |
-
|
27 |
-
This License becomes null and void to the extent applicable to Fonts or Font
|
28 |
-
Software that has been modified and is distributed under the "Bitstream
|
29 |
-
Vera" names.
|
30 |
-
|
31 |
-
The Font Software may be sold as part of a larger software package but no
|
32 |
-
copy of one or more of the Font Software typefaces may be sold by itself.
|
33 |
-
|
34 |
-
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
35 |
-
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
|
36 |
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
|
37 |
-
TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
|
38 |
-
FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
|
39 |
-
ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
|
40 |
-
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
41 |
-
THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE
|
42 |
-
FONT SOFTWARE.
|
43 |
-
|
44 |
-
Except as contained in this notice, the names of Gnome, the Gnome
|
45 |
-
Foundation, and Bitstream Inc., shall not be used in advertising or
|
46 |
-
otherwise to promote the sale, use or other dealings in this Font Software
|
47 |
-
without prior written authorization from the Gnome Foundation or Bitstream
|
48 |
-
Inc., respectively. For further information, contact: fonts at gnome dot
|
49 |
-
org.
|
50 |
-
|
51 |
-
Arev Fonts Copyright
|
52 |
-
------------------------------
|
53 |
-
|
54 |
-
Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
|
55 |
-
|
56 |
-
Permission is hereby granted, free of charge, to any person obtaining
|
57 |
-
a copy of the fonts accompanying this license ("Fonts") and
|
58 |
-
associated documentation files (the "Font Software"), to reproduce
|
59 |
-
and distribute the modifications to the Bitstream Vera Font Software,
|
60 |
-
including without limitation the rights to use, copy, merge, publish,
|
61 |
-
distribute, and/or sell copies of the Font Software, and to permit
|
62 |
-
persons to whom the Font Software is furnished to do so, subject to
|
63 |
-
the following conditions:
|
64 |
-
|
65 |
-
The above copyright and trademark notices and this permission notice
|
66 |
-
shall be included in all copies of one or more of the Font Software
|
67 |
-
typefaces.
|
68 |
-
|
69 |
-
The Font Software may be modified, altered, or added to, and in
|
70 |
-
particular the designs of glyphs or characters in the Fonts may be
|
71 |
-
modified and additional glyphs or characters may be added to the
|
72 |
-
Fonts, only if the fonts are renamed to names not containing either
|
73 |
-
the words "Tavmjong Bah" or the word "Arev".
|
74 |
-
|
75 |
-
This License becomes null and void to the extent applicable to Fonts
|
76 |
-
or Font Software that has been modified and is distributed under the
|
77 |
-
"Tavmjong Bah Arev" names.
|
78 |
-
|
79 |
-
The Font Software may be sold as part of a larger software package but
|
80 |
-
no copy of one or more of the Font Software typefaces may be sold by
|
81 |
-
itself.
|
82 |
-
|
83 |
-
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
84 |
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
85 |
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
86 |
-
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
|
87 |
-
TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
88 |
-
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
89 |
-
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
90 |
-
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
91 |
-
OTHER DEALINGS IN THE FONT SOFTWARE.
|
92 |
-
|
93 |
-
Except as contained in this notice, the name of Tavmjong Bah shall not
|
94 |
-
be used in advertising or otherwise to promote the sale, use or other
|
95 |
-
dealings in this Font Software without prior written authorization
|
96 |
-
from Tavmjong Bah. For further information, contact: tavmjong @ free
|
97 |
-
. fr.
|
98 |
-
|
99 |
-
$Id: LICENSE 2133 2007-11-28 02:46:28Z lechimp $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,1373 +0,0 @@
|
|
1 |
-
Changes from 2.33 to 2.34
|
2 |
-
* Sans, SansMono, Serif: unlinked references of U+2596 for bug 50848
|
3 |
-
(by Denis Jacquerye)
|
4 |
-
* Sans, SansMono, Serif: added U+A7AA (by Denis Jacquerye)
|
5 |
-
* Sans, SansMono, Serif: added U+2A6A, U+2A6B, U+2E1F based on U+223B
|
6 |
-
(by Denis Jacquerye)
|
7 |
-
* Sans, Serif: removed superfluous ligature definitions for ffl und ffi
|
8 |
-
(bug 55363) (by Gee Fung Sit 薛至峰)
|
9 |
-
* Sans, Serif: swapped glyphs for U+25D2 and U+25D3 (bug 55197)
|
10 |
-
(by Gee Fung Sit 薛至峰)
|
11 |
-
* Sans, Serif: added U+A740, U+A741 (by Denis Jacquerye)
|
12 |
-
* Sans: added U+20BA Turkish Lira sign (by Denis Jacquerye)
|
13 |
-
* Sans: replaced Georgian Asomtavruli U+10A0-U+10C5 and Mkhedruli U+10D0-U+10FC
|
14 |
-
with new version (by Besarion Gugushvili)
|
15 |
-
* Sans: added Georgian Nuskhuri U+2D00-U+U+2D25 (by Besarion Gugushvili)
|
16 |
-
* Sans: added Private Use Area glyphs for Georgian U+F400-U+F441
|
17 |
-
(by Besarion Gugushvili)
|
18 |
-
* Sans: tweaked U+0250, U+0254 (by Denis Jacquerye)
|
19 |
-
* Sans: adjusted hinting of U+032C-U+032D, avoiding problem on some platforms
|
20 |
-
(by Denis Jacquerye)
|
21 |
-
* Sans: added U+A7A0-U+A7A9, pre-1921 Latvian letters with oblique stroke
|
22 |
-
(by Denis Jacquerye)
|
23 |
-
* Sans: added anchors to U+2C6D (by Denis Jacquerye)
|
24 |
-
* Sans: added cedilla anchor to some Latin characters (by Denis Jacquerye)
|
25 |
-
* Sans: added ogonek anchor to A, E, O, U, Y (by Denis Jacquerye)
|
26 |
-
* Sans: adjusted ogonek reference in U+0172, U+01EA, U+01EB
|
27 |
-
(by Denis Jacquerye)
|
28 |
-
* Sans: added anchors to U+0104, U+0105 (by Denis Jacquerye)
|
29 |
-
* Sans: added U+1F600, U+1F611, U+1F615, U+1F617, U+1F619, U+1F61B, U+1F61F,
|
30 |
-
U+1F626-U+1F627, U+1F62E-U+1F62F, U+1F634 (by Gee Fung Sit 薛至峰)
|
31 |
-
* Sans: replaced U+27A1 with mirror image of U+2B05 for consistency
|
32 |
-
(by Gee Fung Sit 薛至峰)
|
33 |
-
* Sans: copied hints from U+14A3, U+14A7 to U+2142-U+2143
|
34 |
-
(by Gee Fung Sit 薛至峰)
|
35 |
-
* Sans: added Lisu block (by Gee Fung Sit 薛至峰)
|
36 |
-
* Sans: typographical improvements to U+0166-U+0167, U+02A6, U+02AA
|
37 |
-
(by Gee Fung Sit 薛至峰)
|
38 |
-
* Sans: slightly change hinting of "2" to fix bug 37395 (by Ben Laenen)
|
39 |
-
* Sans: fixed U+1444 which had wrong top dot that shouldn't be there
|
40 |
-
(by Denis Jacquerye)
|
41 |
-
* Sans: added anchors for diacritics to U+01B7, U+01B8, U+01B9, U+0292
|
42 |
-
(by Denis Jacquerye)
|
43 |
-
* Sans: added U+01B7, U+01B8 to context for case diacritics above
|
44 |
-
* SansMono: fixed U+0574 (by Ruben Hakobian)
|
45 |
-
* SansMono: added U+2016, U+27C2 (by Yoshiki Ohshima)
|
46 |
-
* SansMono: added U+02CE, U+02CF (by Denis Jacquerye)
|
47 |
-
* SansMono: added U+2148, U+27E6-U+27E7, U+2B05-U+2B0D, U+1D55A
|
48 |
-
(by Gee Fung Sit 薛至峰)
|
49 |
-
* Serif: added U+02BA, U+02C2-U+02C5, U+02CA-U+02CB, U+02D7, U+02F3, U+02F7,
|
50 |
-
U+046C-U+046D, U+0476-U+0477, U+1D7C-U+1D7F, U+20B8, U+2132, U+214E, U+2C7B
|
51 |
-
to Serif (by Gee Fung Sit 薛至峰)
|
52 |
-
* Serif: typographic improvements to U+0194, U+01B1, U+0263, U+028A, U+02A6,
|
53 |
-
U+02A8, U+02AA, U+02E0, U+03DC, U+1D3B, U+1D7B (by Gee Fung Sit 薛至峰)
|
54 |
-
* Serif: added small cap versions of q, x (in italic styles), delta, theta, xi,
|
55 |
-
sigma, phi, omega, not wired in yet (by Gee Fung Sit 薛至峰)
|
56 |
-
* Serif: added anchors to U+0234-U+0236 (by Gee Fung Sit 薛至峰)
|
57 |
-
* Serif: added U+02EC, U+02EF, U+02F0, U+0360 (by Denis Jacquerye)
|
58 |
-
|
59 |
-
Changes from 2.32 to 2.33
|
60 |
-
|
61 |
-
* added Old Italic block to Sans (by MaEr)
|
62 |
-
* added U+051E, U+051F to Sans (by MaEr)
|
63 |
-
* added U+01BA, U+0372-U+0373, U+0376-U+0377, U+03CF, U+1D00-U+1D01,
|
64 |
-
U+1D03-U+1D07, U+1D0A-U+1D13, U+1D15, U+1D18-U+1D1C, U+1D20-U+1D2B,
|
65 |
-
U+1D2F, U+1D3D, U+1D5C-U+1D61, U+1D66-U+1D6B, U+1DB8, U+1E9C-U+1E9D,
|
66 |
-
U+1EFA-U+1EFB, U+2C60-U+2C61, U+2C63, U+A726-U+A73C, U+A73E-U+A73F,
|
67 |
-
U+A746-U+A747, U+A74A-U+A74B, U+A74E+U+A74F, U+A768-U+A769, U+A77B-U+A77C,
|
68 |
-
U+A780-U+A787, U+A790-U+A791, U+A7FA-U+A7FF to Serif (by Gee Fung Sit 薛至峰)
|
69 |
-
* added alternate forms to U+014A and U+01B7 in Serif (by Gee Fung Sit 薛至峰)
|
70 |
-
* typographical improvements to U+0166-U+0167, U+0197, U+01B5-U+01B6, U+01BB,
|
71 |
-
U+0222-U+0223, U+023D, U+0250-U+0252, U+026E, U+0274, U+028F, U+029F,
|
72 |
-
U+02A3-U+02A5, U+02AB, U+03FE-U+03FF, U+1D02, U+1D14, U+1D1D-U+1D1F, U+1D3B,
|
73 |
-
U+1D43-U+1D46, U+1D59, U+1D9B, U+2C71, U+2C73 in Serif (by Gee Fung Sit 薛至峰)
|
74 |
-
* fixed bugs #31762 and #34700 plus other small fixes (wrong direction,
|
75 |
-
duplicate points, etc.) for Sans and Serif (by Gee Fung Sit 薛至峰)
|
76 |
-
* added U+204B to Mono (by Gee Fung Sit 薛至峰)
|
77 |
-
* added U+26E2 to Sans (by Gee Fung Sit 薛至峰)
|
78 |
-
* added Playing Cards block (U+1F0A0-U+1F0DF) to Sans (by Gee Fung Sit 薛至峰)
|
79 |
-
* emoticons in Sans: replace U+2639-U+263B with better versions, add
|
80 |
-
U+1F601-U+1F610, U+1F612-U+1F614, U+1F616, U+1F618, U+1F61A, U+1F61C-U+1F61E,
|
81 |
-
U+1F620-U+1F624, U+1F625, U+1F628-U+1F62B, U+1F62D, U+1F630-U+1F633,
|
82 |
-
U+1F635-U+1F640 (by Ben Laenen and Denis Jacquerye)
|
83 |
-
* added U+A78E, U+A790-U+A791 to Sans and Mono (by Denis Jacquerye)
|
84 |
-
* added U+A7FA to Sans (by Denis Jacquerye)
|
85 |
-
* subscripts: added U+2095-U+209C to Sans, Serif and Mono, adjusted
|
86 |
-
U+1D49-U+1D4A in Sans and Mono (by Denis Jacquerye)
|
87 |
-
* added U+0243 to Mono (by Denis Jacquerye)
|
88 |
-
* adjusted U+0307 to match dot of i, replaced dotaccent U+02D9 with U+0307 in
|
89 |
-
most dependencies in Sans (by Denis Jacquerye)
|
90 |
-
* adjusted anchors of f and added them to long s in Sans (by Denis Jacquerye)
|
91 |
-
* added anchors to precomposed dependencies of D and d (by Denis Jacquerye)
|
92 |
-
* added debug glyphs U+F002 and U+F003 which will show current point size (by
|
93 |
-
Ben Laenen)
|
94 |
-
* use correct version for Serbian italic be (by Eugeniy Meshcheryakov)
|
95 |
-
* added pictograms U+1F42D-U+1F42E, U+1F431, U+1F435 (by Denis Jacquerye)
|
96 |
-
* improved Hebrew in Sans (by Lior Halphon)
|
97 |
-
* improved Armenian in Sans, and added Armenian in Serif and Mono (by Rouben
|
98 |
-
Hakobian (Tarumian), Aleksey Chalabyan and Norayr Chilingarian)
|
99 |
-
* remove "locl" feature for Romanian for S/T/s/t with cedilla/comma accent (by
|
100 |
-
Ben Laenen)
|
101 |
-
* replace wrong "dflt" script tag in Mono with "DFLT" (by Ben Laenen)
|
102 |
-
|
103 |
-
Changes from 2.31 to 2.32
|
104 |
-
|
105 |
-
* added to Sans: Latin small letter p with stroke (U+1D7D), Latin capital
|
106 |
-
letter p with stroke through descender (U+A750), Latin small letter p with
|
107 |
-
stroke through descender (U+A751), Latin capital letter thorn with stroke
|
108 |
-
(U+A764), Latin small letter thorn with stroke (U+A765), Latin capital letter
|
109 |
-
thorn with stroke through descender (U+A766), Latin small letter thorn with
|
110 |
-
stroke through descender (U+A767), Latin capital letter q with stroke through
|
111 |
-
descender (U+A756), Latin small letter q with stroke through descender
|
112 |
-
(U+A757), Latin capital letter p with flourish (U+A752), Latin small letter p
|
113 |
-
with flourish (U+A753) (by Ben Laenen)
|
114 |
-
* add new Indian rupee symbol (U+20B9) to Sans, Serif and Mono (although
|
115 |
-
standardization in Unicode not complete yet, UTC did assign this code point)
|
116 |
-
(by Ben Laenen)
|
117 |
-
* Sans: adjusted U+0E3F, U+20AB, U+20AD-U+20AE, U+20B1, U+20B5, U+20B8 to have
|
118 |
-
them take up the same width as digits (by Gee Fung Sit 薛至峰)
|
119 |
-
* added U+23E8 to Sans (by Thomas Henlich)
|
120 |
-
* fixed numerous bugs (#22579, #28189, #28977, N'Ko in Windows, fixed U+FB4F,
|
121 |
-
anchors for U+0332-U+0333, made extensions in Misc. Technical connect, and
|
122 |
-
other small fixes) (by Gee Fung Sit 薛至峰)
|
123 |
-
* added looptail g as stylistic variant to Serif (by Gee Fung Sit 薛至峰)
|
124 |
-
* added the remaining precomposed characters in Latin Extended Additional in
|
125 |
-
Serif (by Gee Fung Sit 薛至峰)
|
126 |
-
* added Georgian Mkhedruli (U+10D0-U+10FC) to Sans ExtraLight (by Besarion
|
127 |
-
Gugushvili)
|
128 |
-
* fix spacing in hinting of U+042E (Ю) in Mono (by Ben Laenen)
|
129 |
-
* replaced U+2650 and minor changes to U+2640-U+2642, U+2699, U+26A2-U+26A5,
|
130 |
-
U+26B2-U+26B5, U+26B8 in Sans (by Gee Fung Sit 薛至峰)
|
131 |
-
* added U+1E9C-U+1E9D, U+1EFA-U+1EFB, U+2028-U+2029, U+20B8, U+2150-U+2152,
|
132 |
-
U+2189, U+26C0-U+26C3, U+A722-U+A725, U+1F030-U+1F093 to Sans (by Gee Fung
|
133 |
-
Sit 薛至峰)
|
134 |
-
* added U+1E9C-U+1E9E, U+1EFA-U+1EFB, U+2028-U+2029, U+20B8, U+2181-U+2182,
|
135 |
-
U+2185 U+A722-U+A725, to Sans ExtraLight (by Gee Fung Sit 薛至峰)
|
136 |
-
* added U+20B8, U+22A2-U+22A5, U+A722-U+A725 to Mono (by Gee Fung Sit 薛至峰)
|
137 |
-
* added U+02CD, U+01BF, U+01F7, U+0222-U+0223, U+0243-U+0244, U+0246-U+024F,
|
138 |
-
U+2150-U+2152, U+2189, U+239B-U+23AD and U+A73D to Serif (by Gee Fung Sit
|
139 |
-
薛至峰)
|
140 |
-
|
141 |
-
Changes from 2.30 to 2.31
|
142 |
-
|
143 |
-
* fixed bug where Serif Condensed Italic wouldn't get proper subfamily tags (by
|
144 |
-
Ben Laenen)
|
145 |
-
* added math operators U+2234-U+2237 to Mono (by Ben Laenen)
|
146 |
-
* removed buggy instructions of U+032D (by Eugeniy Meshcheryakov)
|
147 |
-
* added U+2C70, U+2C7E, U+2C7F to Sans and Sans Mono (by Denis Jacquerye)
|
148 |
-
* added U+2C7D to Sans Mono (by Denis Jacquerye)
|
149 |
-
* added U+2C6D, U+2C70-2C73, U+2C7E-2C7F to Serif (by Denis Jacquerye)
|
150 |
-
* added extremas to alpha U+03B1 in Serif-Italic (by Denis Jacquerye)
|
151 |
-
* added U+4A4, U+4A5 to Mono (by Andrey V. Panov)
|
152 |
-
* added Arabic letters U+0657, U+0670, U+0688-U+0690, U+0693-U+0694,
|
153 |
-
U+0696-U+0697, U+0699-U+06A0, U+06A2-U+06A3, U+06A5, U+06A7-U+06A8,
|
154 |
-
U+06AA-U+06AE, U+06B0-U+06B4, U+06B6-U+06B9, U+06BB-U+06BE and their
|
155 |
-
contextual forms to Sans (by MihailJP)
|
156 |
-
* added U+A78D LATIN CAPITAL LETTER TURNED H for coming Unicode 6.0 (by Denis
|
157 |
-
Jacquerye)
|
158 |
-
|
159 |
-
Changes from 2.29 to 2.30
|
160 |
-
|
161 |
-
* added U+0462-U+0463 to Mono (by Denis Jacquerye)
|
162 |
-
* corrected U+1E53 in Serif (by Gee Fung Sit)
|
163 |
-
* added U+1E4C-U+1E4D to Mono and Serif (by Gee Fung Sit)
|
164 |
-
* added U+1E78-U+1E79 to Mono (by Gee Fung Sit)
|
165 |
-
* fixed missing diacritics in Latin Extended Additional in Sans ExtraLight
|
166 |
-
(moved stacked diacritics out of PUA in the process) (by Gee Fung Sit)
|
167 |
-
* fixed anchors on U+1E78 in Serif (by Gee Fung Sit)
|
168 |
-
* added U+1DC4-U+1DC9 to Serif (by Denis Jacquerye)
|
169 |
-
* renamed above-mark to above-mark in Serif-Italic (by Denis Jacquerye)
|
170 |
-
* added U+1DC4-U+1DC9 to context class for dotless substitution (by Denis
|
171 |
-
Jacquerye)
|
172 |
-
* changed Doubleacute to Doublegrave in Sans ExtraLight (by Gee Fung Sit)
|
173 |
-
* removed redundant reference in U+01FB in Sans Oblique (by Gee Fung Sit)
|
174 |
-
* added U+A726-U+A727 to Mono (Denis Jacquerye)
|
175 |
-
* changed U+04BE and U+04BF according to recommedations of Sasha Ankwab in Sans
|
176 |
-
(by Andrey V. Panov)
|
177 |
-
* remove "Symbol Charset" from set of codepages in Sans (by Eugeniy
|
178 |
-
Meshcheryakov)
|
179 |
-
|
180 |
-
Changes from 2.28 to 2.29
|
181 |
-
|
182 |
-
* modified U+10FB in Sans to be a mirror image of U+2056, since U+10FB is not
|
183 |
-
Georgian-specific (by Roozbeh Pournader)
|
184 |
-
* added U+2B1F, U+2B24, U+2B53, U+2B54 in Sans (by Roozbeh Pournader)
|
185 |
-
* fixed TUR opentype language tag to TRK in Serif (bug 19825) (by Ben Laenen)
|
186 |
-
* early implementation of Abkhaz letter U+0524-U+0525 in Sans
|
187 |
-
(by Michael Everson and abysta)
|
188 |
-
* flipped U+1D538 in Sans (by Gee Fung Sit)
|
189 |
-
* added U+26B3-U+26B8, U+1D7D8-U+1D7E1 in Sans (by Gee Fung Sit)
|
190 |
-
* corrected U+1D7A9 in Sans Bold Oblique (by Gee Fung Sit)
|
191 |
-
* Fixed U+0649 to be dual-joining in Sans Mono (by Roozbeh Pournader)
|
192 |
-
* Remove unnecessary 'isol' feature from Sans Mono (by Roozbeh Pournader)
|
193 |
-
* Remove 'cmap' mappings for U+066E, U+066F, U+067C, U+067D, U+0681, U+0682,
|
194 |
-
U+0685, U+0692, U+06A1, U+06B5, U+06BA, U+06C6, U+06CE, and U+06D5
|
195 |
-
in Sans Mono (bug 20323) (by Roozbeh Pournader)
|
196 |
-
* add half brackets (U+2E22 - U+2E25, by Steve Tinney)
|
197 |
-
|
198 |
-
Changes from 2.27 to 2.28
|
199 |
-
|
200 |
-
* added U+A789, U+A78A in Sans and Sans Mono (by Denis Jacquerye)
|
201 |
-
* modified U+02D6, U+02D7, U+02EE in Sans and Sans Mono (by Denis Jacquerye)
|
202 |
-
* added U+1E9E (German capital ß) to Sans and Serif (by Denis Jacquerye)
|
203 |
-
* adjusted width of U+01B7-U+01B9 in Serif Italic (by Denis Jacquerye)
|
204 |
-
* modified U+021C, U+021D in Sans (by Denis Jacquerye)
|
205 |
-
* added U+021C, U+021D in Mono (by Denis Jacquerye)
|
206 |
-
* added U+F428 (Georgian Nuskhuri "f") in private use area (by Besarion
|
207 |
-
Gugushvili)
|
208 |
-
* updated Georgian mkhedruli (U+10D0-U+10FA) with new version (by Besarion
|
209 |
-
Gugushvili)
|
210 |
-
* updated Georgian asomtavruli (U+10A0-U+10C5) with new version (by Besarion
|
211 |
-
Gugushvili)
|
212 |
-
* added Georgian nuskhuri (U+2D00-U+2D25) (by Besarion Gugushvili)
|
213 |
-
* added Georgian mtavruli in private use area (U+F400-U+F426) (by Besarion
|
214 |
-
Gugushvili)
|
215 |
-
* added mark anchors above to Cyrillic U+0430-U+0438, U+043A-U+044F,
|
216 |
-
U+0454-U+0455 in Mono (by Ben Laenen)
|
217 |
-
* modified/moved up U+0318-U+0319, U+031C-U+031F, U+0329-U+032A, U+032C-U+032D,
|
218 |
-
U+0339-U+033B, U+0348 and U+0353 in Sans to prevent cut-off (by Gee Fung Sit)
|
219 |
-
* added U+035A to Sans (by Gee Fung Sit)
|
220 |
-
* updated fontconfig files (by Nicolas Mailhot)
|
221 |
-
* added U+2032-2037 to Mono (by Denis Jacquerye)
|
222 |
-
* added Ogham to Sans ExtraLight (by Gee Fung Sit)
|
223 |
-
* added U+2C6F, U+2C79, U+2C7C-2C7D to Mono (by Gee Fung Sit)
|
224 |
-
* added U+210F to Serif and Sans ExtraLight (by Gee Fung Sit)
|
225 |
-
* changed U+210F to a more common glyph in Sans and Mono (by Gee Fung Sit)
|
226 |
-
|
227 |
-
Changes from 2.26 to 2.27
|
228 |
-
|
229 |
-
* added some of Michael Everson's new Cyrillic glyphs to Sans (by Wesley
|
230 |
-
Transue)
|
231 |
-
* removed blank glyph at U+05EF from Sans Bold Oblique (by Gee Fung Sit)
|
232 |
-
* small adjustments to existing tone bars in Sans and Mono (by Gee Fung Sit)
|
233 |
-
* added U+0372-U+0373, U+0376-U+0377, U+03CF, U+A668-U+A66E, U+A708-U+A711,
|
234 |
-
U+A71B-U+A71F to Sans (by Gee Fung Sit)
|
235 |
-
* copied U+02E5-U+02E9 over from Sans to fix inconsistencies in Serif (by Gee
|
236 |
-
Fung Sit)
|
237 |
-
* added U+021C-U+021D, U+0370-U+0371, U+037B-U+037D, U+0470-U+0471,
|
238 |
-
U+0510-U+0515, U+051A-U+051D, U+1E9F, U+2C64, U+2C6E-U+2C6F, U+2C79,
|
239 |
-
U+2C7C-U+2C7D, U+A644-U+A647, U+A650-U+A651, U+A654-U+A657, U+A708-U+A716,
|
240 |
-
U+A71B-U+A71F to Serif (by Gee Fung Sit)
|
241 |
-
* added U+A708-U+A716, U+A71B-U+A71F to Mono (by Gee Fung Sit)
|
242 |
-
* added anchors to U+017F (ſ) and fixed U+1E9B (ẛ) in Serif (by Gee Fung Sit)
|
243 |
-
* made U+0325 smaller in Sans Bold and Serif to match Sans Book (by Gee Fung
|
244 |
-
Sit)
|
245 |
-
* fixes to U+02F3 (moved up), U+228F-U+2294 (more square-like) and
|
246 |
-
U+22CE-U+22CF (stroke width) in Sans (by Gee Fung Sit)
|
247 |
-
* replaced U+2202 ∂ (Sans and Mono) and U+221D ∝, U+221E ∞ (Sans) with glyphs
|
248 |
-
from Arev (with small changes) (by Gee Fung Sit)
|
249 |
-
* added U+22B0-U+22B1, U+22C7, U+22D0-U+22D5 from Arev to Sans to complete the
|
250 |
-
block (by Gee Fung Sit)
|
251 |
-
* added U+0514-U+0515 to Sans ExtraLight (by Gee Fung Sit)
|
252 |
-
* skewed U+A78C in all Oblique/Italic fonts (by Gee Fung Sit)
|
253 |
-
* moved U+2215 to U+2044 in Sans and Serif and replaced U+2215 with reference
|
254 |
-
to U+002F in all fonts (by Gee Fung Sit)
|
255 |
-
* added U+2C6E to Mono (by Denis Jacquerye)
|
256 |
-
* added U+A782 and U+A783 in Sans (by Wesley Transue)
|
257 |
-
* added U+0244, U+024C-024D, U+2C64 in Sans Mono (by Denis Jacquerye)
|
258 |
-
* modified U+01AE in Sans Mono (by Denis Jacquerye)
|
259 |
-
* added U+2C7A to all fonts (by Gee Fung Sit)
|
260 |
-
* italicized/small changes to U+2C76 in Serif (Bold) Italic (by Gee Fung Sit)
|
261 |
-
* improved outlines of U+2C68, U+2C6A, U+2C6C in Serif (Bold) Italic (by Gee
|
262 |
-
Fung Sit)
|
263 |
-
* rounded U+2C77 at the bottom in Serif (by Gee Fung Sit)
|
264 |
-
* added joining behavior for tone letters (U+02E5-U+02E9) in Sans (bug #15669)
|
265 |
-
(by Gee Fung Sit)
|
266 |
-
* fixed outline of y.alt in Sans Regular (by Denis Jacquerye)
|
267 |
-
* changed references of U+1D5A8, U+1D5C5, U+1D5DC, U+1D5F9, U+1D610, U+1D62D,
|
268 |
-
U+1D644 and U+1D661 to stylistic alternates to have a better distinction (by
|
269 |
-
Gee Fung Sit)
|
270 |
-
* hinted I.alt in Sans Regular (by Gee Fung Sit)
|
271 |
-
* added U+0487, completing Cyrillic block (by Gee Fung Sit)
|
272 |
-
* extended the bar of U+0463 to the right and moved the anchor (by Gee Fung
|
273 |
-
Sit)
|
274 |
-
* added anchors to glyphs in Cyrillic block (by Gee Fung Sit)
|
275 |
-
* added (preliminary) hints to tone letter forms (U+02E5.5, U+02E9.1, stem) in
|
276 |
-
Sans Book (by Gee Fung Sit)
|
277 |
-
|
278 |
-
Changes from 2.25 to 2.26
|
279 |
-
|
280 |
-
- added glyphs for Cyrillic-B to Sans (by Wesley Transue)
|
281 |
-
- added U+0370-U+0371 to Sans (by Wesley Transue)
|
282 |
-
- added U+019C, U+01A2-U+01A3, U+01A6, U+01E4-U+01E5, U+024C-U+024D, U+0285,
|
283 |
-
U+0290, U+02A0, U+0370-U+0371, U+03F1, U+03FC to Sans ExtraLight (by Wesley
|
284 |
-
Transue)
|
285 |
-
- added U+20A0-U+20A5, U+20A7-U+20B3, U+2105, U+210D, U+210F, U+2115, U+2117,
|
286 |
-
U+2119-U+211A, U+211D, U+2124, U+212E, U+2200-U+2204 to Mono (by Heikki
|
287 |
-
Lindroos)
|
288 |
-
- added U+01BA and U+01BF to Mono (by Heikki Lindroos)
|
289 |
-
- merged OpenType "aalt" feature in Latin in Sans (by Denis Jacquerye)
|
290 |
-
- added alternative shape for y in Sans (by Denis Jacquerye)
|
291 |
-
- added saltillo (U+A78B-U+A78C) to all faces (by James Cloos)
|
292 |
-
- changed U+047C-U+047D to references instead of outlines in Sans (by Wesley
|
293 |
-
Transue)
|
294 |
-
- added Latin letter tresillo U+A72A-U+A72B to Sans (by Wesley Transue)
|
295 |
-
- added U+A734-U+A737 to Sans (by Wesley Transue)
|
296 |
-
- added U+2053 to Serif and fixed it bug:9425 in Sans (by Gee Fung Sit)
|
297 |
-
- removed problematic hints for U+0423 bug:10025 (by Gee Fung Sit)
|
298 |
-
- added U+27C5-U+27C6 bug:10255 to all faces (by Gee Fung Sit)
|
299 |
-
- fixed width of U+2016 in Sans Oblique (by Gee Fung Sit)
|
300 |
-
- added U+2016, U+2032-U+2038, U+2042, U+2045-U+2046, U+204B-U+204F,
|
301 |
-
U+2051-U+2052, U+2057 to Serif (by Gee Fung Sit)
|
302 |
-
- made U+2140 bigger to match other n-ary operators (by Gee Fung Sit)
|
303 |
-
- added U+0606-U+0607, U+0609-U+060A to Sans (by Gee Fung Sit)
|
304 |
-
- added U+221B-U+221C to Mono (by Gee Fung Sit)
|
305 |
-
- small adjustments to U+221B-U+221C in Sans and Serif (by Gee Fung Sit)
|
306 |
-
- update U+04B4-U+04B5 in Serif (by Andrey V. Panov)
|
307 |
-
- increased max-storage value from maxp table to 153 (by Andrey V. Panov)
|
308 |
-
- added U+0472-U+0473, U+0510-U+0511, U+051A-U+051D, U+0606-U+0607,
|
309 |
-
U+0609-U+060A, U+1E26-U+1E27, U+1E54-U+1E55, U+1E7C-U+1E7D, U+1E8C-U+1E8D,
|
310 |
-
U+1E90-U+1E91, U+1E97-U+1E99, U+1E9F, U+1EAC-U+1EAD, U+1EB6-U+1EB7,
|
311 |
-
U+1EC6-U+1EC7, U+1ED8-U+1EDD, U+1EE0-U+1EE3, U+1EE8-U+1EEB, U+1EEE-U+1EF1 to
|
312 |
-
Mono (by Gee Fung Sit)
|
313 |
-
- added locl rules for S/T cedilla for Romanian and Moldavian so they get
|
314 |
-
rendered as S/T with comma accent (see Redhat bug #455981) (by Ben Laenen)
|
315 |
-
- removed ligature rule from Armenian U+0587 bug:16113 (by Gee Fung Sit)
|
316 |
-
|
317 |
-
Changes from 2.24 to 2.25
|
318 |
-
|
319 |
-
- moved/added U+2E18 (by Gee Fung Sit)
|
320 |
-
- added empty glyph for U+2064 in Sans and Serif (by Gee Fung Sit)
|
321 |
-
- added U+22CE-U+22CF to Sans (by Gee Fung Sit)
|
322 |
-
- Sans Oblique and Bold Oblique, Serif: reverted digits hinting instructions back to before revision 1590, which fixed mistaken debian bug #471024. This fixes Debian bug #411308. The original bug was in freetype not in the fonts (by Denis Jacquerye)
|
323 |
-
- added U+A726-U+A729, U+A730-U+A733, U+A738-U+A73F, U+A746-U+A74B, U+A74E-U+A74F, U+A780-U+A781, U+A7FB-U+A7FF to Sans (by Gee Fung Sit)
|
324 |
-
- added Macedonian italic glyph shape for U+0453 in Serif (by Ben Laenen)
|
325 |
-
- changed descenders in U+0446, U+0449, U+0497, U+04A3, U+04AD (by Andrey V. Panov)
|
326 |
-
- updated main SFD files to SplineFontDB 3.0 (Denis Jacquerye and Gee Fung Sit)
|
327 |
-
- moved U+0561 2 up since it wasn't aligned with the baseline well (by Ben Laenen)
|
328 |
-
- added U+2E2E to Sans (by Gee Fung Sit)
|
329 |
-
- replaced U+2699 with simpler version in Sans (by Gee Fung Sit)
|
330 |
-
- added a lot of hinting instructions to Latin Extended B, Greek and Coptic glyphs Sans Book (by Wesley Transue)
|
331 |
-
- differentiated U+2219 from U+22C5 and adjusted affected references in Sans and Mono (by Gee Fung Sit)
|
332 |
-
- made Hebrew narrower in Sans Bold and Sans Bold Oblique (by Denis Jacquerye)
|
333 |
-
- added Kurdish and Chuvash letters from Unicode 5.1 Cyrillic Extended block (by Wesley Transue)
|
334 |
-
- added U+1E9F, U+A644-U+A647, U+A64C-U+A64D, U+A650-U+A651, U+A654-U+A655, U+A712U+A716 to Sans (by Gee Fung Sit)
|
335 |
-
- added several glyphs to Sans ExtraLight (by Gee Fung Sit)
|
336 |
-
- added hinting instructions to U+046A-U+046B, U+0508-U+0509, U+050B, U+0512-U+0513 in Sans Book (by Wesley Transue)
|
337 |
-
- corrected width of U+027E in Sans Book (by Gee Fung Sit)
|
338 |
-
- added U+2C79, U+2C7B-U+2C7D to Sans (by Gee Fung Sit)
|
339 |
-
- added a bunch of glyphs+small corrections to Sans Light (by Gee Fung Sit)
|
340 |
-
- added U+0496, U+0497, U+04B0, U+04B1 (by Andrey V. Panov)
|
341 |
-
- updated U+0493, U+049B, U+04B3, U+04B7, U+04F7 (by Andrey V. Panov)
|
342 |
-
- further improvements in extended Cyrillic (by Andrey V. Panov)
|
343 |
-
|
344 |
-
Changes from 2.23 to 2.24
|
345 |
-
|
346 |
-
- instructions for U+05C0 ׀, U+05C3 ׃, U+05F3 ׳, and U+05F4 ״ in DejaVu
|
347 |
-
Sans. (by Wesley Transue)
|
348 |
-
- instructions for U+2116 in Sans (by Andrey V. Panov)
|
349 |
-
- Unicode 5.1 update: moved U+F208 to U+2C6D, U+F25F to U+2C71, added
|
350 |
-
U+2C6E-U+2C6F, U+2C72-U+2C73, updated outline of U+2C71 in Sans. (by
|
351 |
-
Denis Jacquerye)
|
352 |
-
- updated and instructed U+0401 in Sans (by Andrey V. Panov)
|
353 |
-
- fixed the bug in Sans faces where U+02EC ˬ faced the wrong direction.
|
354 |
-
Also, added a few more glyph instructions. (by Wesley Transue)
|
355 |
-
- removed OS2Sub and OS2Strike that weren't intentional in Sans
|
356 |
-
ExtraLight. (by Denis Jacquerye)
|
357 |
-
- updated instructions for U+401, U+44F in Serif Book. (by Andrey V.
|
358 |
-
Panov)
|
359 |
-
- instructions for U+02C4 ˄, U+02C5 ˅, U+03D8 Ϙ, U+03D9 ϙ, U+0494 Ҕ, and
|
360 |
-
U+0495 ҕ in Sans Book. (by Wesley Transue)
|
361 |
-
- instructions for U+01A6 Ʀ, U+0238 ȸ, U+0239 ȹ, U+02EC ˬ, and U+05C6 ׆
|
362 |
-
in Sans Book. (by Wesley Transue)
|
363 |
-
- DejaVuSans.sfd DejaVuSerif.sfd: updated instructions for U+447 and
|
364 |
-
U+451 using code generated with xgridfit (by Andrey V. Panov)
|
365 |
-
- instructions for a few glyphs in the Latin Extended-B Block, Greek
|
366 |
-
Block, Cyrillic Block, and N'Ko block. (by Wesley Transue)
|
367 |
-
- updated sfdnormalize.pl, and SFD files to new SFD format with empty
|
368 |
-
lines. (by Denis Jacquerye)
|
369 |
-
|
370 |
-
Changes from 2.22 to 2.23
|
371 |
-
|
372 |
-
- fixed bug which made Condensed fonts appear instead of normal width ones
|
373 |
-
- added U+20DB, U+20DC, and U+20E1 to Sans (by Roozbeh Pournader)
|
374 |
-
- added hinting instructions to U+01A7, U+01AA-U+01AC, U+01AE-U+01AF,
|
375 |
-
U+01BC-U+01BD, U+01BF, U+01F7, U+0277, U+027F, U+0285-U+0286, U+0297, U+02AF,
|
376 |
-
U+02B4-U+02B5, U+02BD, U+030D, U+0311, U+0329, U+04A0-U+04A1 in Sans Book (by
|
377 |
-
Wesley Transue)
|
378 |
-
- modified hinting instructions of U+04A2 in Sans Book (by Wesley Transue)
|
379 |
-
- added hinting instructions to U+237D, U+2423 in Mono Book and Mono Bold (by
|
380 |
-
Wesley Transue)
|
381 |
-
- added mathematical alphanumeric symbols to all styles (by Max Berger)
|
382 |
-
- added Unicode 5.1 U+2E18 as U+2E18.u51 (not yet usable) to Sans (by Roozbeh
|
383 |
-
Pournader)
|
384 |
-
- dereferenced all glyphs with mixed references and outlines (by Denis
|
385 |
-
Jacquerye)
|
386 |
-
- removed non-zero width from U+0344 in Sans (by Denis Jacquerye)
|
387 |
-
|
388 |
-
Changes from 2.21 to 2.22
|
389 |
-
|
390 |
-
- directory structure has changed, we now use the Makefile
|
391 |
-
- modified Armenian U+0565 in Sans (by Սահակ Պետրոսյան)
|
392 |
-
- added double struck letters and numbers U+2102, U+210D, U+2115,
|
393 |
-
U+2119-U+211A, U+211D, U+2124, U+213C-U+2140, U+2145-U+2149, U+1D538-U+1D539,
|
394 |
-
U+1D53B-U+1D53E, U+1D540-U+1D544, U+1D546, U+1D54A-U+1D550, U+1D552-U+1D56B,
|
395 |
-
U+1D7D8-U+1D7E1 to Serif (by Stephen Hartke)
|
396 |
-
- added letterlike symbols U+2103, U+2109, U+2127, U+214B, U+2141-U+2144 to
|
397 |
-
Serif (by Ben Laenen)
|
398 |
-
- fixed outline direction of U+2143 in Sans Bold/Bold Oblique (by Ben Laenen)
|
399 |
-
- added arrow set in Serif: arrows: U+2194-U+21FF; dingbats: U+27A1;
|
400 |
-
supplemental arrows A: U+27F0-U+27FF; supplemental arrows B: U+2900-U+2975,
|
401 |
-
U+297A; miscellaneous symbols and arrows: U+2B00-U+2B11 (by Ben Laenen)
|
402 |
-
- added U+0180, U+01DE, U+01E0-01E1, U+022A, U+022C, U+0230, U+1E08-U+1E09,
|
403 |
-
U+1E10-U+1E11, U+1EB0-U+1EB1 to Mono (by Denis Jacquerye)
|
404 |
-
- adjusted U+01D5, U+01D7, U+01D9, U+1DB in Mono (by Denis Jacquerye)
|
405 |
-
- added Ogham in Sans (by Wesley Transue)
|
406 |
-
- added Yijing Hexagram Symbols in Sans (by Wesley Transue)
|
407 |
-
- hinting instructions added to Cyrillic U+0460, U+04A6-U+04A7, U+04AC-U+04AD,
|
408 |
-
U+04C7-U+04C8, U+04F6-U+04F7, U+04FA-U+04FB, U+050C-U+050D in Sans Book (by
|
409 |
-
Wesley Transue)
|
410 |
-
- adjusted Cyrillic letters U+042A, U+044A, U+044C, U+0459-U+045B, U+0462,
|
411 |
-
U+048C-U+048D in Serif (by Andrey V. Panov)
|
412 |
-
- hinting instructions added to Lao U+0EB7 in Sans (by Wesley Transue)
|
413 |
-
- added Roman numerals and Claudian letter U+2160-U+2184 in Serif (by Ben
|
414 |
-
Laenen)
|
415 |
-
- added U+FFF9-U+FFFD to Sans, Serif and Mono (by Lars Næsbye Christensen)
|
416 |
-
- added mathematical symbols to Serif: U+2200, U+2203-U+2204, U+2213-U+2214,
|
417 |
-
U+2217-U+2218, U+2223-U+2226, U+2250-U+2255, U+2295-U+22AF, U+22C5 (by Ben
|
418 |
-
Laenen)
|
419 |
-
- modified bullet symbol U+2219 in Serif (by Ben Laenen)
|
420 |
-
|
421 |
-
Changes from 2.20 to 2.21
|
422 |
-
|
423 |
-
- added U+FE20-U+FE23 (half diacritics) to Sans (by Denis Jacquerye)
|
424 |
-
- added anchor "half" to position right half of double marks, U+FE21 or U+FE23
|
425 |
-
to Sans (by Denis Jacquerye)
|
426 |
-
- shifted U+0360 up to avoid collision with some outlines in Sans (by Denis
|
427 |
-
Jacquerye)
|
428 |
-
- added anchor above-mark anchor to U+035D, U+035E, U+0360, U+0361 in Sans (by
|
429 |
-
Denis Jacquerye)
|
430 |
-
- added instructions for ff, ffi, ffl ligatures in Serif Bold (by Eugeniy
|
431 |
-
Meshcheryakov)
|
432 |
-
- added instructions to some N'Ko glyphs (by Wesley Transue)
|
433 |
-
- added instructions to some Lao glyphs (by Wesley Transue)
|
434 |
-
- cleaning up 'liga' Standard Ligature in Latin, in Sans and Sans Mono (by
|
435 |
-
Denis Jacquerye)
|
436 |
-
- added U+046A, U+046B (big yus) in Serif (by Andrey V. Panov)
|
437 |
-
- added box drawing symbols to Sans and Serif (by Lars Næsbye Christensen)
|
438 |
-
- added Makefile to improve font and packages generating (by Nicolas Mailhot)
|
439 |
-
|
440 |
-
Changes from 2.19 to 2.20
|
441 |
-
|
442 |
-
- removed TeX and TeXData tags from all sfd files (by Eugeniy Meshcheryakov)
|
443 |
-
- removed all 'frac' lookups (by Eugeniy Meshcheryakov)
|
444 |
-
- fixed duplicate glyph names (by Eugeniy Meshcheryakov)
|
445 |
-
- removed standard ligatures with U+00B7 in Mono (by Eugeniy Meshcheryakov)
|
446 |
-
- use reference to U+002D in U+00AD in Sans Oblique, and adjust instructions
|
447 |
-
(by Eugeniy Meshcheryakov)
|
448 |
-
- updated Cyrillic in Sans Extra Light (by Andrey V. Panov)
|
449 |
-
- added instructions to N'Ko U+07C1-U+07C6, U+07CA, U+07CE-U+07CF, U+07D1,
|
450 |
-
U+07D3-U+07D4, U+07D8, U+07DB and U+07EB in Sans (by Wesley Transue)
|
451 |
-
- added instructions to Lao U+0E8A, U+0E95, U+0E97, U+EA5, U+0EB4 and U+0EB5
|
452 |
-
(by Wesley Transue)
|
453 |
-
- adjusted instructions for Hebrew glyphs (by Denis Jacquerye)
|
454 |
-
- added instructions for U+0265 in Sans Bold (by Denis Jacquerye)
|
455 |
-
- fix U+1D68 in Sans: it had the shape of delta, where it should be a rho (by
|
456 |
-
Ben Laenen)
|
457 |
-
- remove U+1D5C glyph in Sans Oblique (it was empty) (by Ben Laenen)
|
458 |
-
- fix instructions of U+01AD in Sans Bold (by Ben Laenen)
|
459 |
-
- fix instructions of U+042D in Serif (by Ben Laenen)
|
460 |
-
- remove buggy instructions of U+2328 in Serif (by Ben Laenen)
|
461 |
-
- corrected width of U+2C75-U+2C76 in Sans Bold and Serif Bold (by Gee Fung Sit)
|
462 |
-
- added U+2C75-U+2C77 to Mono (by Gee Fung Sit)
|
463 |
-
|
464 |
-
Changes from 2.18 to 2.19
|
465 |
-
|
466 |
-
- fixed misplaced symbols (U+2325,2326) in Sans Oblique (by John Karp)
|
467 |
-
- added Mark to Base anchors: 'cedilla' for combining cedilla and
|
468 |
-
'above-legacy' for stacking above precomposed glyphs (just a,e,i,o,u with
|
469 |
-
macron for now) in Sans (by Denis Jacquerye).
|
470 |
-
- added contextual substitution for Case and Dotless forms in all Sans variants
|
471 |
-
(by Denis Jacquerye).
|
472 |
-
- renamed 'ccmp' lookups for RTL and Basic (LGC, etc.) (by Denis Jacquerye)
|
473 |
-
- added anchor 'cedilla' for vowels in Sans. (by Denis Jacquerye)
|
474 |
-
- extended contextual dotless and case substitutions to handle both below and
|
475 |
-
above diacritics (by Denis Jacquerye)
|
476 |
-
- renamed Dotless and Case Form GSUB lookups in Sans with meaningful names (by
|
477 |
-
Denis Jacquerye)
|
478 |
-
|
479 |
-
Changes from 2.17 to 2.18
|
480 |
-
|
481 |
-
- Re-encoded the source files for Full Unicode (by Ben Laenen)
|
482 |
-
- Re-enabled the "ff", "fl", "fi", "ffl", "ffi" ligatures by default in Serif
|
483 |
-
(by Ben Laenen)
|
484 |
-
- Disabled the "fi", "ffi" ligatures for languages with dotless i in Serif (by
|
485 |
-
Ben Laenen)
|
486 |
-
- added Tifinagh to Sans Book and Bold, U+2D30-U+2D65, U+2D6F, partially hinted
|
487 |
-
in Sans Book. (by Denis Jacquerye)
|
488 |
-
- added Tai Xuan Jing Symbols (U+1D300-1D356) to Sans (by Remy Oudompheng)
|
489 |
-
- added double-struck letters (U+1D538-U+1D56B minus reserved code points) to
|
490 |
-
Sans (by Gee Fung Sit)
|
491 |
-
- added U+22EE-U+22F1 to Sans (by Gee Fung Sit)
|
492 |
-
- added U+2C67-U+2C6C, U+2C75-U+2C77 to Serif (by Gee Fung Sit)
|
493 |
-
- italicized various glyphs in Latin Extended-B, IPA Extensions, Spacing
|
494 |
-
Modifier Letters, Phonetic Extension (Supplement) and Super- and Subscripts
|
495 |
-
in Serif Oblique fonts (by Gee Fung Sit)
|
496 |
-
- modified outlines, bearings of Hebrew U+05D6, U+05D8, U+05DB, U+05DE, U+05E0,
|
497 |
-
U+05E1, U+05E2, U+05EA in Sans Book and Oblique, adjusted hinting in Book
|
498 |
-
based on Yotam Benshalom's comments. (by Denis Jacquerye)
|
499 |
-
- added Braille Patterns (U+2800-U+28FF) to Serif fonts (by Gee Fung Sit)
|
500 |
-
- added N'Ko to Sans Book and Bold: U+07C0-U+07E7, U+07EB-U+07F5, U+07F8-U+07FA
|
501 |
-
(by Eugeniy Meshcheryakov)
|
502 |
-
- added U+0ED8 (Lao digit 8) to Sans (by Remy Oudompheng)
|
503 |
-
- added Lao diacritics U+0EB0-0EB9, U+0EBB-0EBC, U+0EC8-0ECD to Mono (by Remy
|
504 |
-
Oudompheng)
|
505 |
-
- renamed Serif [Bold] Oblique, make it Italic (by Eugeniy Meshcheryakov)
|
506 |
-
- added U+29FA-U+29FB to Sans and Sans Mono (by Gee Fung Sit)
|
507 |
-
- swapped glyphs for Eng U+014A from Sami Eng to African Eng, the latter being
|
508 |
-
more common (by Denis Jacquerye)
|
509 |
-
- swapped ae U+00E6 and ae.alt in Serif Italics fonts, thus fixing #8213 (by
|
510 |
-
Denis Jacquerye)
|
511 |
-
- minor improvements to Misc. Symbols in Sans (by Gee Fung Sit)
|
512 |
-
- minor improvements and additions to Sans ExtraLight (by Gee Fung Sit)
|
513 |
-
- improved instructions for various Cyrillic letters (by Eugeniy Meshcheryakov)
|
514 |
-
- fixed hinting of theta and chi in Sans Book (by Ben Laenen)
|
515 |
-
- added Georgian Mkhedruli to Sans, Serif and Mono, ASumtavruli to Sans and
|
516 |
-
Serif (by Besarion Gugushvili)
|
517 |
-
|
518 |
-
Changes from 2.16 to 2.17
|
519 |
-
|
520 |
-
- Sans fonts: fix position for certain combinations of Arabic fatha, kasra,
|
521 |
-
shadda, damma, kasratan, dammatan, fathatan and hamza (by Ben Laenen)
|
522 |
-
- added 'ae.alt' to Serif Oblique fonts, with design matching shape of italic
|
523 |
-
'a' instead of slanted 'a', see bug #8213 (by Denis Jacquerye)
|
524 |
-
- added super- and subscripts to Serif and Mono: U+1D2C-U+1D2E, U+1D30-U+1D3C,
|
525 |
-
U+1D3E-U+1D42, U+1D62-U+1D65, U+1D78, U+2071, U+207A-U+207E, U+208A-U+208E,
|
526 |
-
U+2090-U+2094 (by Gee Fung Sit)
|
527 |
-
|
528 |
-
Changes from 2.15 to 2.16
|
529 |
-
|
530 |
-
- fixed hinting instructions for digits in DejaVu Sans Oblique, Bold Oblique,
|
531 |
-
and Serif Book to not change glyph width (by Eugeniy Meshcheryakov)
|
532 |
-
- added instructions for U+0404, U+0411, U+0413, U+0414, U+0417-U+041B, U+041F,
|
533 |
-
U+0423, U+0424, U+0426-U+0429, U+042C, U+042E, U+042F, U+0490 in Serif Bold
|
534 |
-
(by Eugeniy Meshcheryakov)
|
535 |
-
- added U+0220 and Eng.alt to Serif fonts (by Denis Jacquerye)
|
536 |
-
- added U+232C, U+2394, U+23E3 to Sans fonts (by John Karp)
|
537 |
-
- added U+230C-U+230F, U+231C-U+231F to Sans fonts, fixing bug:9547
|
538 |
-
(by John Karp)
|
539 |
-
- adjusted dot below, dot above, dieresis above, dieresis below in Sans fonts
|
540 |
-
(by Denis Jacquerye)
|
541 |
-
- added U+2300, U+2301, U+2303, U+2304, U+2305, U+2307, U+2326, U+2327, U+232B,
|
542 |
-
arrow.base to Sans fonts (by John Karp)
|
543 |
-
- adjusted dot and dieresis below and above in Serif fonts (by Denis Jacquerye)
|
544 |
-
- added U+1E1C-U+1E1D to Serif fonts (by Denis Jacquerye)
|
545 |
-
- added U+22BE, U+22BF (by Wesley Transue)
|
546 |
-
- added U+2324; modified U+2325: more standard proportions, and matches U+2324
|
547 |
-
and U+2387; added U+2387 : flipped U+2325 with standard arrowhead
|
548 |
-
(by John Karp)
|
549 |
-
- added Lao digits U+0ED0-0ED7, U+0ED9 (by Remy Oudompheng)
|
550 |
-
- added to Mono in Arabic block : U+060C, U+0615, U+061B, U+061F,
|
551 |
-
U+0621-U+063A, U+0640-0655, U+065A, U+0660-066F, U+0674, U+0679-0687, U+0691,
|
552 |
-
U+0692, U+0698, U+06A1, U+06A4, U+06A9, U+06AF, U+06B5, U+06BA, U+06BE,
|
553 |
-
U+06C6, U+06CC, U+06CE, U+06D5, U+06F0-06F9 (by Remy Oudompheng)
|
554 |
-
- added to Mono in Arabic Presentations Forms-A : U+FB52-FB81, U+FB8A-FB95,
|
555 |
-
U+FB9E, U+FB9F, U+FBAA-FBAD, U+FBE8, U+FBE9, U+FBFC-FBFF (by Remy Oudompheng)
|
556 |
-
- added to Mono in Arabic Presentations Forms-B : U+FE70-FE74, U+FE76-FEFC,
|
557 |
-
U+FEFF (by Remy Oudompheng)
|
558 |
-
- added U+05BA, U+05BE, U+05F3, U+05F4, U+FB1E, U+FB21-U+FB28, U+FB4F to Sans
|
559 |
-
(by Eugeniy Meshcheryakov)
|
560 |
-
- added U+2102 to Mono (by Eugeniy Meshcheryakov)
|
561 |
-
- added U+2983-U+2984 to Sans (by Gee Fung Sit)
|
562 |
-
- added U+2A2F to Sans, Serif and Mono (by Gee Fung Sit)
|
563 |
-
- added U+2373-2375, U+237A to Sans (by John Karp)
|
564 |
-
- converted kern pairs to kern classes with Tavmjong Bah's scripts
|
565 |
-
(by Denis Jacquerye)
|
566 |
-
- set ScriptLang of kerning classes to just latn because of Pango bug
|
567 |
-
(by Denis Jacquerye)
|
568 |
-
- added DNK to ScriptLang latn otherwise it is excluded, and SRB and MDK to
|
569 |
-
cyrl (by Denis Jacquerye)
|
570 |
-
- removed flag 0x80 in generate.pe, otherwise it generates kerning tables some
|
571 |
-
systems don't like; thus loosing Apple tables (by Denis Jacquerye)
|
572 |
-
- removed ligature for precomposed legacy characters of Sans Oblique fonts
|
573 |
-
(by Denis Jacquerye)
|
574 |
-
- added bearings to en dash U+2013, em dash U+2014 and figure dash U+2012
|
575 |
-
by making dashes shorter, preserving character width (by Denis Jacquerye)
|
576 |
-
- reduced U+031C, U+0325 (ring below), U+0339 to be entirely visible;
|
577 |
-
added instructions in Sans Book; changed U+1e00-U+1e01 to use new ring below
|
578 |
-
(by Denis Jacquerye)
|
579 |
-
- adjusted circumflex below on U+1E12-U+1E13, U+1E18-U+1E19, U+1E3C-U+1E3D,
|
580 |
-
U+1E4A-U+1E4B, U+1E70-U+1E71, U+1E76-U+1E77 in Sans fonts (by Denis Jacquerye)
|
581 |
-
- Added U+0ED4, U+0ED5 to DejaVu Sans (by Remy Oudompheng)
|
582 |
-
- Lao-specific anchors (by Remy Oudompheng)
|
583 |
-
- added alternate I to match the small capital in Sans (by Gee Fung Sit)
|
584 |
-
|
585 |
-
Changes from 2.14 to 2.15
|
586 |
-
|
587 |
-
- improved hinting in Sans Oblique to deal with some spacing and inconsistency
|
588 |
-
issues (by Ben Laenen)
|
589 |
-
- added anchors to Mono Book, and added GPOS rules for combining diacritics to
|
590 |
-
show up as zero width glyphs (by Ben Laenen)
|
591 |
-
- removed U+F21C (PUA), it was copy of U+2C64 from Latin Extended C (by Eugeniy
|
592 |
-
Meshcheryakov)
|
593 |
-
- added U+27E6-U+27E7 to Sans (by Gee Fung Sit)
|
594 |
-
- added U+1407, U+1409, U+140C-U+141B, U+141D-U+1425, U+1427-U+142E,
|
595 |
-
U+1435-U+1438, U+143A-U+1449, U+1452, U+1454, U+1457-U+1465, U+1467-U+146A,
|
596 |
-
U+1471, U+1474-U+1482, U+1484-U+1488, U+148F, U+1492, U+14A0, U+14A2, U+14A9,
|
597 |
-
U+14AC-U+14BA, U+14BC, U+14BD, U+14C6, U+14C9-U+14CF, U+14D1, U+14D2, U+14D9,
|
598 |
-
U+14DC-U+14E9, U+14EC, U+14F3, U+14F6-U+1504, U+1506, U+1507, U+1510-U+1525,
|
599 |
-
U+152C, U+152F-U+153D, U+1540, U+1541, U+154E, U+154F, U+1552, U+155B, U+155C,
|
600 |
-
U+1568, U+1569, U+1574-U+157B, U+157D, U+15A7-U+15AE, U+1646, U+1647 (by
|
601 |
-
Eugeniy Meshcheryakov)
|
602 |
-
- fixed several contours to not intersect, use horizontal or vertical tangents,
|
603 |
-
use integer coordinates, etc in Sans Book (by Denis Jacquerye)
|
604 |
-
- added U+0496-U+0497 in Serif (by Andrey V. Panov)
|
605 |
-
|
606 |
-
Changes from 2.13 to 2.14
|
607 |
-
|
608 |
-
- added Philippine peso glyph U+20B1 (by Clayborne Arevalo)
|
609 |
-
- made U+2012 have the same width as digits, according to Unicode 5.0,
|
610 |
-
page 206 (by Roozbeh Pournader)
|
611 |
-
- made all of the "above" combining characters remove the dot of "i",
|
612 |
-
"j", etc (Soft_Dotted characters), according to Unicode 5.0,
|
613 |
-
page 228 (by Roozbeh Pournader)
|
614 |
-
- made U+012F, U+03F3, U+0456, U+0458, U+1E2D, and U+1ECB (all fonts
|
615 |
-
except Mono), U+0249, U+2148, and U+2149 (Sans and Sans Condensed),
|
616 |
-
U+0268 (Sans ExtraLight, Serif and Serif Condensed), and U+029D (Serif
|
617 |
-
and Serif Condensed) respect the Soft_Dotted property (by Roozbeh
|
618 |
-
Pournader)
|
619 |
-
- added U+223E, U+223F, U+2240, U+22C2, U+22C3 to Sans (by Remy Oudompheng)
|
620 |
-
- added U+203D to Serif (by Gee Fung Sit)
|
621 |
-
- added zero-width glyphs for U+2061-U+2063 to Sans and Serif (by Gee
|
622 |
-
Fung Sit)
|
623 |
-
- changed isolated forms of Arabic waw (U+0648, U+0624 and U+06C6) (bug #9432)
|
624 |
-
(by Ben Laenen)
|
625 |
-
- added Lao consonants U+0E81, U+0E82, U+0E84, U+0E87, U+0E88, U+0E8A,
|
626 |
-
U+0E8D, U+0E94-0E97, U+0E99-0E9F, U+0EA1-0EA3, U+0EA5, U+0EA7, U+0EAA,
|
627 |
-
U+0EAB, U+0EAD-0EAF to Sans Mono (by Remy Oudompheng)
|
628 |
-
- added U+0200-U+0217, U+0226-U+0229, U+02F3, U+1E00-U+1E07,
|
629 |
-
U+1E0A-U+1E0B, U+1E18-U+1E1F, U+1E22-U+1E23, U+1E28-U+1E2D,
|
630 |
-
U+1E3A-U+1E3B, U+1E40, U+1E48-U+1E49, U+1E56, U+1E58-U+1E59,
|
631 |
-
U+1E5E-U+1E5F, U+1E60, U+1E68-U+1E6B, U+1E6E-U+1E6F, U+1E72-U+1E77,
|
632 |
-
U+1E86-U+1E8B, U+1E92-U+1E96, U+1EA0-U+1EA1, U+1EF4-U+1EF5 to Mono
|
633 |
-
(by Ben Laenen)
|
634 |
-
- renamed uppercase variants of diacritics (macron, breve, double grave,
|
635 |
-
double acute, inverted breve, dot above) to "uni03XX.case" in Mono
|
636 |
-
(by Ben Laenen)
|
637 |
-
- moved uppercase variants of diacritics up in Mono so they properly
|
638 |
-
vertically align on capitals (by Ben Laenen)
|
639 |
-
- precomposed glyphs with macron, breve, double grave, double acute,
|
640 |
-
inverted breve, dot above, macron below, breve below, inverted breve
|
641 |
-
below, dot below, cedilla, caron below, circumflex below, diaeresis
|
642 |
-
below, tilde below now reference to combining diacritics instead of
|
643 |
-
space modifiers in Mono (by Ben Laenen)
|
644 |
-
- made ring below (U+0325), and half rings below (U+031C and U+0339)
|
645 |
-
smaller in Mono (by Ben Laenen)
|
646 |
-
- added U+205F to all fonts (by Roozbeh Pournader)
|
647 |
-
- added U+035E-U+035F to Sans (by Roozbeh Pournader)
|
648 |
-
- added empty glyphs for U+034F, U+202A-U+202E, U+2060, U+206A-206F,
|
649 |
-
U+FE00-U+FE0F to non-Mono fonts (by Roozbeh Pournader)
|
650 |
-
- added U+2101, U+2107-U+2108, U+210B, U+210C, U+2110, U+2112, U+211B,
|
651 |
-
U+211F, U+2123, U+2125, U+2128-U+2129, U+212C-U+212D, U+212F,
|
652 |
-
U+2130-U+2131, U+2133, U+2136-U+213A, U+2141-U+2144, U+2B00-U+2B11,
|
653 |
-
U+2B20-U+2B23 to Sans (by John Karp)
|
654 |
-
- reshaped omega (U+03C9) in Mono (by Ben Laenen)
|
655 |
-
- added U+2205, U+22C6, U+2300-U+2301, U+2303-U+2306, U+230C-U+230F,
|
656 |
-
U+2312-U+2315, U+231C-U+231F, U+2335, U+2337-U+233E, U+2341-U+2344,
|
657 |
-
U+2347-U+2348, U+234B-U+234D, U+2349-U+2350, U+2352-U+2354,
|
658 |
-
U+2357-U+2359, U+235A-U+235C, U+235E-U+2360, U+2363-U+2365,
|
659 |
-
U+2368-U+2369, U+236B-U+2370, U+2373-U+237A, U+2380-U+2383,
|
660 |
-
U+2388-U+238B, U+2395 in Mono (by Ben Laenen)
|
661 |
-
|
662 |
-
Changes from 2.12 to 2.13
|
663 |
-
|
664 |
-
- adjusted U+0198B, U+01B3-U+01B4 in Sans, hinted U+01B4 in Sans Book
|
665 |
-
(by Denis Jacquerye)
|
666 |
-
- added U+27F0-U+27FF, U+2906-U+2907, U+290A-U+290B, U+2940-U+2941 to Sans
|
667 |
-
(by Denis Jacquerye)
|
668 |
-
- added U+01E6-U+01E9, U+01EE-U+01EF, U+01F4-U+01F5, U+01FC-U+01FF,
|
669 |
-
U+021E-U+021F, U+0245, U+02BD, U+02C9, U+1E9B, U+2045-U+2046, U+2213, U+22C5,
|
670 |
-
U+22EF to Sans Mono (by Roozbeh Pournader)
|
671 |
-
- added U+04FA-U+04FD to Sans (by Michael Everson)
|
672 |
-
- removed U+2329 and U+232A because of their CJK properties, added U+27E8
|
673 |
-
and U+27E9 in their stead, fixing part of bug #9038 (by Roozbeh Pournader)
|
674 |
-
- corrected and improvised U+0466-U+0469, U+046E-U+0471, U+047C-U+047D, U+0482,
|
675 |
-
U+0484-U+0486, U+0492-U+0493, U+04B0-U+04B1, U+050C-U+050D, and U+204A
|
676 |
-
in Sans (by Michael Everson)
|
677 |
-
- added instructions for U+0402, U+0409, U+040A, U+040B, U+044D, U+040F,
|
678 |
-
U+0452, U+0459-U+045B, U+045F to Sans Book (by Eugeniy Meshcheryakov)
|
679 |
-
- made italic shape for U+431, U+432, U+437, U+43B, U+43C, U+43D, U+444, U+447,
|
680 |
-
U+44D, U+44F, U+459, U+45A in SerifOblique and SerifBoldOblique
|
681 |
-
(by Andrey V. Panov)
|
682 |
-
- modified U+024C to match glyph in Unicode chart, fixing bug #9039
|
683 |
-
(by Denis Jacquerye)
|
684 |
-
- made some canonically equivalent characters share the same glyph:
|
685 |
-
U+02B9 = U+0374, U+0343 = U+0313, and U+0387 = U+00B7 also adjusting U+02BA
|
686 |
-
to look like double U+02B9, fixing parts of bug #9038 (by Roozbeh Pournader)
|
687 |
-
- changed shapes for U+0478 and U+0479 in Sans to those in the Unicode charts,
|
688 |
-
based on a recent decision by Unicode Technical Committee to only use
|
689 |
-
the digraph form (by Michael Everson)
|
690 |
-
- adjusted width of NBSP U+00A0 and NNBSP U+202F, fixing bug #8401
|
691 |
-
(by Denis Jacquerye)
|
692 |
-
- fixed several contours to not intersect, use horizontal or vertical tangents,
|
693 |
-
use integer coordinates, etc (by Roozbeh Pournader and Denis Jacquerye)
|
694 |
-
- added U+1402, U+1430, U+144D, U+146C, U+148A, U+14A4, U+14C1, U+14D4, U+14EE,
|
695 |
-
U+1527, U+1545, U+157E, U+158E, U+15AF to Sans (by Eugeniy Meshcheryakov)
|
696 |
-
- enlarged width of U+459 and U+45A in Serif (by Andrey V. Panov)
|
697 |
-
- made traditional shape for U+452, U+45B (by Andrey V. Panov)
|
698 |
-
- added euro sign U+20AC to Sans ExtraLight, making fontconfig recognize
|
699 |
-
the font as supporting English (by Denis Jacquerye)
|
700 |
-
|
701 |
-
Changes from 2.11 to 2.12
|
702 |
-
|
703 |
-
- added U+0180 to Serif (by Denis Jacquerye)
|
704 |
-
- improved and/or hinted Armenian letters U+0542, U+0546, U+0562,
|
705 |
-
U+0563, U+0564, U+0577, U+0582 in Sans (by Ben Laenen)
|
706 |
-
- added U+4FE-U+4FF, U+512-U+513, U+2114, U+214E, U+26B2 to Sans
|
707 |
-
(by Gee Fung Sit)
|
708 |
-
- adjusted U+0496-U+0497, U+049A-U+04A1 in Sans to match U+0416,
|
709 |
-
U+041A, U+0436 and U+043A (by Gee Fung Sit)
|
710 |
-
- Mathematical Operators in Sans: changed U+22C0-U+22C1 to match
|
711 |
-
other n-ary operators, adjusted U+2203-U+2204, changed U+2220 in
|
712 |
-
Sans to match the style of U+2221 (by Gee Fung Sit)
|
713 |
-
- added U+1401, U+1403-U+1406, U+140A, U+140B, U+1426, U+142F,
|
714 |
-
U+1431-U+1434, U+1438, U+1439, U+1449, U+144A, U+144C,
|
715 |
-
U+144E-U+1451, U+1455, U+1456, U+1466, U+146B, U+146D-U+1470,
|
716 |
-
U+1472, U+1473, U+1483, U+1489, U+148B-U+148E, U+1490, U+1491,
|
717 |
-
U+14A1, U+14A3, U+14A5-U+14A8, U+14AA, U+14AB, U+14BB, U+14C0,
|
718 |
-
U+14C2-U+14C5, U+14C7, U+14C8, U+14D0, U+14D3, U+14D5-U+14D8,
|
719 |
-
U+14DA, U+14DB, U+14EA, U+14ED, U+14EF-U+14F2, U+14F4, U+14F5,
|
720 |
-
U+1405, U+1526, U+1528-U+152B, U+152D, U+152E, U+153E,
|
721 |
-
U+1542-U+1544, U+1546-U+154D, U+1550, U+1553, U+1555-U+155A,
|
722 |
-
U+1567, U+156A, U+157C, U+157F-U+1585, U+158A-U+158D,
|
723 |
-
U+158F-U+1596, U+15A0-U+15A6, U+15DE, U+15E1, U+166E-U+1676 to
|
724 |
-
Sans (by Eugeniy Meshcheryakov)
|
725 |
-
- re-enabled Latin ligatures fi, ffi, fl, ffl and ff in Sans
|
726 |
-
(by Ben Laenen)
|
727 |
-
- made italic shape for U+436, U+44A, U+44B, U+44C, U+44E, U+45F,
|
728 |
-
U+463 in SerifOblique and SerifBoldOblique (by Andrey V. Panov)
|
729 |
-
- fixed sub- and superscript metrics in Condensed Sans (bug #8848)
|
730 |
-
(by Ben Laenen)
|
731 |
-
- added U+474, U+475 in Serif (by Andrey V. Panov)
|
732 |
-
- hinted Greek glyphs U+03B7, U+30B8, U+03B9, U+03C1, U+03C3,
|
733 |
-
U+03C6 in Mono Book (by Ben Laenen)
|
734 |
-
|
735 |
-
Changes from 2.10 to 2.11
|
736 |
-
|
737 |
-
- added instructions for Hebrew glyphs (Sans Book, by Eugeniy
|
738 |
-
Meshcheryakov)
|
739 |
-
- changed U+01A6 (Latin Yr) after bug #8212, in Sans, Serif and
|
740 |
-
Sans Mono fonts (by Denis Jacquerye).
|
741 |
-
- removed instruction for U+2600-U+26A1 (by Mederic Boquien)
|
742 |
-
- added U+202F and set width of U+00A0 (nobreakingspace) to the
|
743 |
-
same as U+0020, space (by Denis Jacquerye).
|
744 |
-
- added and improved instructions for various Cyrillic letters
|
745 |
-
(by Eugeniy Meshcheryakov)
|
746 |
-
- Changed U+416, U+42F, U+427 (non-Bold), U+436, U+447 (non-Bold),
|
747 |
-
U+44F, U+437 (Bold), corrected U+40F, U+414, U+424, U+426, U+429,
|
748 |
-
U+434, U+438 (Bold), U+446, U+449, U+44D (non-Bold), U+45F in
|
749 |
-
Sans Mono (by Andrey V. Panov)
|
750 |
-
- made small corrections to Cyrillic, most appreciable to U+409,
|
751 |
-
U+413, U+41B, U+427 and U+433, U+434, U+43B, U+447, U+459
|
752 |
-
(upright fonts) to Serif (by Andrey V. Panov)
|
753 |
-
- adjusted bearings of U+410, U+416, U+41A, U+42F, U+436, U+43A,
|
754 |
-
U+443, U+44F in Serif (by Andrey V. Panov)
|
755 |
-
- enlarged width of U+44A, U+44B, U+44C, U+463 in Serif
|
756 |
-
(by Andrey V. Panov)
|
757 |
-
- added ligature "iacute" as "afii10103" (U+456) "acutecomb" in
|
758 |
-
Serif (by Andrey V. Panov)
|
759 |
-
- made italic shape to U+446, U+448, U+449 in Serif (by Andrey V.
|
760 |
-
Panov)
|
761 |
-
- added "afii10831" (U+F6C7), "afii10832" (U+F6C8) in Serif (by
|
762 |
-
Andrey V. Panov)
|
763 |
-
- new minimum version of fontforge is 20061014 (by Ben Laenen)
|
764 |
-
|
765 |
-
Changes from 2.9 to 2.10:
|
766 |
-
|
767 |
-
- added U+0242, U+024A-U+024B, U+024E-U+024F, U+037C-U+037D, U+0E3F,
|
768 |
-
U+1D2C-U+1D2E, U+1D30-U+1D42, U+1D5D-U+1D6A, U+1D78, U+1DB8,
|
769 |
-
U+2090-U+2094, U+20D0-U+20D1, U+2C60-U+2C66, U+2C6B-U+2C6C, U+2C74 and
|
770 |
-
U+FB29 to Sans (by Gee Fung Sit)
|
771 |
-
- added Lao glyphs : U+0E81-0E82, U+E084, U+0E87-0E88, U+0E8A, U+0E8D,
|
772 |
-
U+0E94-0E97, U+0E99-0E9F, U+0EA1-0EA3, U+0EA5, U+0EA7, U+0EAA-0EAB,
|
773 |
-
U+0EAD-0EB9, U+0EBB-0EBD, U+0EC0-0EC4, U+0EC6, U+0EC8-0ECD, U+0EDC-0EDD
|
774 |
-
(by Remy Oudompheng)
|
775 |
-
- fixed U+0193 not showing in Windows (bug #7897) (by Ben Laenen)
|
776 |
-
- changes to U+222B-222D in Sans Mono (by Remy Oudompheng)
|
777 |
-
- ported the three remaining currency symbols from Arev (U+20B0,
|
778 |
-
U+20B2-U+20B3), and replaced one (U+20AF) in Sans (by Lars Naesbye
|
779 |
-
Christensen)
|
780 |
-
- corrected U+20A5 in Sans (by Gee Fung Sit)
|
781 |
-
- merged Double-Struck Letters from Arev: U+2102, U+210D, U+2115,
|
782 |
-
U+2119-U+211A, U+2124, U+213C-U+2140 (by Gee Fung Sit)
|
783 |
-
- added U+2308-U+230B and U+2329-U+232A to Sans Mono and Serif faces,
|
784 |
-
fixed incorrect direction of U+2329 in Sans faces, and improved
|
785 |
-
U+2308-U+230B in Sans faces per Ben Laenen's suggestions (by David
|
786 |
-
Lawrence Ramsey)
|
787 |
-
- added U+06D5 and final form of it (needed for Kurdish) (by Ben Laenen)
|
788 |
-
- added two special glyphs U+F000 and U+F001 in Sans Book that show the
|
789 |
-
current ppem size (horizontal and vertical) (by Ben Laenen)
|
790 |
-
- added U+2318 and U+2325 to Sans Mono faces, based on the Sans versions
|
791 |
-
(by David Lawrence Ramsey)
|
792 |
-
- added U+2B14-U+2B1A to all faces except Sans ExtraLight (by David
|
793 |
-
Lawrence Ramsey)
|
794 |
-
- respaced all Geometric Shapes characters in Serif faces to match those
|
795 |
-
in Sans faces again, respaced U+23CF in Sans, Sans ExtraLight, and
|
796 |
-
Serif faces to match U+25A0 (or Sans in Sans ExtraLight's case) again,
|
797 |
-
and respaced U+2B12-U+2B13 in Sans and Serif faces to match U+25A1
|
798 |
-
again (by David Lawrence Ramsey)
|
799 |
-
- corrected width of Modifier Small Letters U+1D43-1D5B in Sans Oblique
|
800 |
-
and U+1D9B-U+1DBF in Sans Oblique and Sans Bold Oblique (by Gee Fung Sit)
|
801 |
-
- added a bunch of glyphs to Sans ExtraLight (see SVN for details) (by
|
802 |
-
Gee Fung Sit)
|
803 |
-
- adjusted Cyrillic descenders in Sans ExtraLight to sync with Sans (by
|
804 |
-
Gee Fung Sit)
|
805 |
-
- added U+0242, U+0245 to Serif (by Gee Fung Sit)
|
806 |
-
- replaced the SHPIX routines which gave them bad spacing at certain
|
807 |
-
sizes in FreeType for A, V, Z, v and z in Sans Bold (by Ben Laenen)
|
808 |
-
|
809 |
-
Changes from 2.8 to 2.9:
|
810 |
-
|
811 |
-
- DejaVuSansExtraLight.sfd: changed family name from "DejaVu Sans" to
|
812 |
-
"DejaVu Sans Light" (in case we add a Light weight variant), so legacy
|
813 |
-
apps that understand only 4 styles are happy. (by Denis Jacquerye)
|
814 |
-
- added Name ID 16, aka preferred family name, and Name ID 17, aka
|
815 |
-
preferred style name, so contemporary apps that understand more that 4
|
816 |
-
styles can use big fonts families "DejaVu Sans" and "DejaVu Serif". For
|
817 |
-
those, Extralight and Condensed are just styles not different families.
|
818 |
-
(by Denis Jacquerye)
|
819 |
-
- added U+22B6-22BD, U+22C0-22C1, U+22D6-22D7 to Sans. (by Remy Oudompheng)
|
820 |
-
- added U+037B, U+2184, U+2C67-U+2C6A and U+2C75-U+2C77 to Sans (by Gee
|
821 |
-
Fung Sit)
|
822 |
-
- adjusted asteriskmath (U+2217) for consistency with other mathematical
|
823 |
-
operators in Sans (by Ben Laenen)
|
824 |
-
- hinted some Armenian capitals in Sans Book (by Ben Laenen)
|
825 |
-
- added U+0246 - U+0249 (by Ben Laenen)
|
826 |
-
- BUGFIX : swapped U+224E and U+224F, in Sans, Sans Condensed and Sans Mono
|
827 |
-
(by Remy Oudompheng)
|
828 |
-
- adjusted U+20B5 (by Mederic Boquien)
|
829 |
-
- swapped U+21DA and U+21DB which were in wrong order (by Heikki Lindroos)
|
830 |
-
- added U+222E-2233, U+239B-23AD, U+2A00-2A02, U+2A0F-2A1C to Sans (by Remy
|
831 |
-
Oudompheng)
|
832 |
-
- added U+239B-23AD to Mono (by Remy Oudompheng)
|
833 |
-
- added U+2024-2025 to Serif (by Mederic Boquien)
|
834 |
-
- added U+222C-222D, U+2A0C-2A0E to Serif (by Remy Oudompheng)
|
835 |
-
- added U+2190-21FF to Mono (by Heikki Lindroos)
|
836 |
-
- added Hebrew glyphs - U+05B0-U+05BD, U+05BF-U+05C3, U+05C6, U+05C7,
|
837 |
-
U+05D0-U+05EA, U+05F0-U+05F2, U+FB1F, U+FB20, U+FB2A-U+FB36,
|
838 |
-
U+FB38-U+FB3C, U+FB3E, U+FB40, U+FB41, U+FB43, U+FB44, U+FB46-U+FB4E (by
|
839 |
-
Gee Fung Sit and Eugeniy Meshcheryakov)
|
840 |
-
- adjustments for Cyrillic in Sans (by Andrey V. Panov)
|
841 |
-
- made italic shape for U+0434, U+0456, U+0457 in SerifOblique and Serif
|
842 |
-
Bold Oblique (by Andrey V. Panov)
|
843 |
-
|
844 |
-
Changes from 2.7 to 2.8:
|
845 |
-
|
846 |
-
- fixed instructions for U+0423, U+0427, U+0447, U+0448 in Serif, so they
|
847 |
-
look good at large sizes too (by Eugeniy Meshcheryakov)
|
848 |
-
- added U+FB00 and U+FB03 to U+FB06 to Serif typefaces (by Heikki Lindroos)
|
849 |
-
- added U+26B0-U+26B1, U+2701-U+2704, U+2706-U+2709, U+270C-U+2727, U+2729
|
850 |
-
to U+274B, U+274D, U+274F to U+2752, U+2756, U+2758-U+275E, U+2761 to
|
851 |
-
U+2775 (by Heikki Lindroos)
|
852 |
-
- added and improved instructions for Cyrillic letters in Mono and Serif
|
853 |
-
(Book, by Eugeniy Meshcheryakov)
|
854 |
-
- rotated U+26B0 (was too small in mono) (by Gee Fung Sit)
|
855 |
-
- adjusted U+1EDA-U+1EDD, U+1EE8-U+1EEB, capitals using capital specific
|
856 |
-
accent and moved diacritics to match position on U+00F2 (ograve), etc.
|
857 |
-
(by Denis Jacquerye)
|
858 |
-
- added U+20D6, U+20D7 to Sans (by Gee Fung Sit)
|
859 |
-
- made Armenian ligatures discretionary since the Firefox ligature problem
|
860 |
-
still isn't fixed (by Ben Laenen)
|
861 |
-
- moved Armenian hyphen U+058A to a higher position (bug #7436) (by Ben
|
862 |
-
Laenen)
|
863 |
-
- hinted Greek glyphs in Sans Bold (by Ben Laenen)
|
864 |
-
- enabled Arabic lam-alif ligatures when diacritics are used (by Ben Laenen)
|
865 |
-
|
866 |
-
Changes from 2.6 to 2.7:
|
867 |
-
|
868 |
-
- added glyphs needed for Kurdish: U+0695, U+06B5, U+06C6, U+06CE and their
|
869 |
-
init/medi/fina forms in Sans (by Ben Laenen)
|
870 |
-
- added U+02CD, U+01F8 - U+01F9, U+1E3E - U+1E3F, U+1E30 - U+1E35, U+1EBC -
|
871 |
-
U+1EBD, U+1EF8 - U+1EF9 (includes glyphs needed for Yoruba, Maori, Guarani
|
872 |
-
and Twi) (by Ben Laenen)
|
873 |
-
- added U+22C8-22CC, U+29CE-29D5, U+2A7D-2AA0, U+2AAE-2ABA, U+2AF9-2AFA to
|
874 |
-
Sans (by Remy Oudompheng)
|
875 |
-
- adjusted diacritics on Vietnamese, Pinyin and other characters:
|
876 |
-
U+01A0-U+01A1, U+01AF-U+01B0, U+01D5-U+01DC, U+01DE-01E1, U+01FA-U+01FB
|
877 |
-
U+022A-U+022D, U+0230-U+0231, U+1E14-U+1E17, U+1E4C-U+1E53, U+1E78-U+1E7B,
|
878 |
-
U+1EA4-U+1EF1 in Sans (Book, Bold and Oblique) (by Denis Jacquerye)
|
879 |
-
- added basic arrows U+2190-U+2193 in Serif, which completes MES-1 compliance
|
880 |
-
for Serif (by Ben Laenen)
|
881 |
-
- added U+01E4, U+01E5, U+01FA, U+01FB, U+02BD, U+02C9 and U+02EE to Serif
|
882 |
-
(by Ben Laenen)
|
883 |
-
- fixed U+0209 in Serif Bold Oblique (by Ben Laenen)
|
884 |
-
- adjusted Box Drawing block characters U+2500-257F in Mono to fit character
|
885 |
-
cell, shifting them up by 416 (Denis Jacquerye)
|
886 |
-
- redid U+0194 in Sans (by Ben Laenen)
|
887 |
-
- added U+2217-2218, U+2295-22A1 to Mono (by Remy Oudompheng)
|
888 |
-
- added U+0462 to Serif (by Andrey V. Panov)
|
889 |
-
- added U+226C, U+228C-228E, U+2293-2294, U+22F2-22FF to Sans (by Remy
|
890 |
-
Oudompheng)
|
891 |
-
- adjusted U+2208-220D in Sans (by Remy Oudompheng)
|
892 |
-
- improved some Cyrillic glyphs in Mono (by Andrey V. Panov), rewritten
|
893 |
-
instructions for changed glyphs (by Eugeniy Meshcheryakov)
|
894 |
-
- added U+1E0E-1E0F, U+1E8E-1E8F to Mono fonts (by Denis Jacquerye). (bug
|
895 |
-
#7166)
|
896 |
-
- renamed 'Dotabove' to 'Dotaccent' in Mono Sans Oblique to match other fonts
|
897 |
-
(by Denis Jacquerye).
|
898 |
-
- added U+200B-U+200F in Sans faces and Serif faces, U+200B and U+200C were
|
899 |
-
in Sans already (by Lars Naesbye Christensen)
|
900 |
-
- added U+2601-U+262F, U+263D, U+263E, U+2648-U+265F, U+2668, U+2670-U+268B,
|
901 |
-
U+2690-U+269C, U+26A0, U+26A1, U+2794, U+2798-U+27AF, U+27B1-U+27BE to Mono
|
902 |
-
(by Heikki Lindroos)
|
903 |
-
- replaced the references with unshifted ones for both κ U+03BA and к U+043A
|
904 |
-
in Mono Book (by Denis Jacquerye)
|
905 |
-
- fixing glyph for U+04ED in Mono Book, consisted only of dieresis (by Andrey
|
906 |
-
V. Panov).
|
907 |
-
|
908 |
-
Changes from 2.5 to 2.6:
|
909 |
-
|
910 |
-
- redid U+2032 - U+2037, U+2057 based on Arev in Sans (by Gee Fung Sit)
|
911 |
-
- added U+0195, corrected U+039E, U+204B in Sans ExtraLight (by Gee Fung Sit)
|
912 |
-
- added instructions for some Cyrillic letters in Sans Bold (by Eugeniy
|
913 |
-
Meshcheryakov)
|
914 |
-
- added vulgar fractions U+2153-U+215F for Serif, made with references (by
|
915 |
-
Lars Naesbye Christensen)
|
916 |
-
- added U+228F-2292, U+2299-22AF, U+22B2-22B5, U+22CD, U+22D8-22ED to Sans
|
917 |
-
(by Remy Oudompheng)
|
918 |
-
- added U+2208-220D, U+2238-223D, U+2278-2281, U+228A-228B, U+228F-2292,
|
919 |
-
U+22CD, U+22DA-22E9 to Mono (by Remy Oudompheng)
|
920 |
-
- fixed misplaced dot in U+2250 in Mono (by Remy Oudompheng)
|
921 |
-
- added instructions for some Cyrillic letters in Mono Book and Bold(by
|
922 |
-
Eugeniy Meshcheryakov)
|
923 |
-
- minor changes to U+2241, U+2261-2263, U+22A4, U+22A5 in Sans (by Remy
|
924 |
-
Oudompheng)
|
925 |
-
- added hinting instructions to lowercase Armenian glyphs in Sans Book (by
|
926 |
-
Ben Laenen)
|
927 |
-
- changed U+2208, U+220B to match U+2209 and U+220C in Sans Bold (by Remy
|
928 |
-
Oudompheng)
|
929 |
-
- added Braille patterns U+2800-U+28FF to Sans (by Mederic Boquien)
|
930 |
-
- added instructions for some Cyrillic letters in Serif Book (by Eugeniy
|
931 |
-
Meshcheryakov)
|
932 |
-
- renamed BoldOblique fonts to Bold Oblique in TTF Name as originally in
|
933 |
-
Bitstream Vera fonts (by Denis Jacquerye)
|
934 |
-
- added hinting instructions to some Latin-B Extended and IPA characters in
|
935 |
-
Sans Book (by Denis Jacquerye and Ben Laenen)
|
936 |
-
- adjusted bearings, replaced diacritics, hinted hook and horn for
|
937 |
-
Vietnamese in Sans Book (by Denis Jacquerye)
|
938 |
-
- made FAX, TM, TEL, etc. discritionary ligatures in Sans and Serif fonts
|
939 |
-
(by Denis Jacquerye)
|
940 |
-
- removed ligatures of precomposed characters in Sans and Serif fonts (by
|
941 |
-
Denis Jacquerye)
|
942 |
-
- added U+F208, U+F20A, U+F215-F217, U+F21A-F21B, U+F25F in PUA (from SIL's
|
943 |
-
PUA, probably in Unicode 5.0): U+0243, U+0244, U+0245, U+024C, U+024D,
|
944 |
-
U+2C64, (U+2C6D), (U+2C71)
|
945 |
-
- modified some glyphs in Serif Oblique to make them more italic (by Denis
|
946 |
-
Jacquerye)
|
947 |
-
|
948 |
-
Changes from 2.4 to 2.5:
|
949 |
-
|
950 |
-
- fixed excessive kerning bug that occurs with Pango (by Denis Jacquerye)
|
951 |
-
- added U+20AF to Sans and Serif (by Lars Naesbye Christensen)
|
952 |
-
- regenerated Condensed faces (by Ben Laenen)
|
953 |
-
- added U+035C-U+035D to Sans, fixed U+0361 (by Denis Jacquerye)
|
954 |
-
- integrated 255 characters from Arev fonts: Latin Extended-B, Spacing
|
955 |
-
Modifiers, Combining Diacritical Marks, Cyrillic, Cyrillic supplement,
|
956 |
-
General Punctuation, Letterlike Symbols, Arrows, Mathematical Operators,
|
957 |
-
Miscellaneous Technical, Dingbats, Alphabetic Presentation Forms (by Denis
|
958 |
-
Jacquerye)
|
959 |
-
- added basic Cyrillic and basic Greek to Sans ExtraLight (by Denis Jacquerye)
|
960 |
-
- added U+0498, U+049A, U+04AA, U+04AB, U+04AF to Serif (by Eugeniy
|
961 |
-
Meshcheryakov)
|
962 |
-
- added U+0494, U+0495, U+0498, U+0499, U+04AA, U+04AB, U+04C3, U+04C4,
|
963 |
-
U+04C7, U+04C8 to Mono (by Eugeniy Meshcheryakov)
|
964 |
-
- adjusted weight of U+0256, U+0257, U+0260, U+0272, U+0273, U+0277, U+029B,
|
965 |
-
U+02A0 and modifed U+028B and U+027A in Mono (by Denis Jacquerye)
|
966 |
-
- added U+2000-200A to Mono (by Denis Jacquerye)
|
967 |
-
- added vulgar fractions U+2153 - U+215F to Mono (by Gee Fung Sit)
|
968 |
-
- adapted metrics of Arabic glyphs so they stay above cut-off height in Sans
|
969 |
-
(by Ben Laenen)
|
970 |
-
- fixed mkmk anchors for Arabic diacritics so they stack properly in Sans (by
|
971 |
-
Ben Laenen)
|
972 |
-
- fixed weight of lowercase upsilon in Sans Bold, make small adjustment to
|
973 |
-
lowercase omega in Sans (by Ben Laenen)
|
974 |
-
- added U+210E (by Mederic Boquien)
|
975 |
-
- unslanted U+2201, U+221B and U+221C in Sans Oblique (by Mederic Boquien)
|
976 |
-
- added several mathematical relation symbols to Sans and Mono (U+2241-224C,
|
977 |
-
U+2250-2255, U+2260-2269, U+226E-2277, U+2282-2287) modified U+223C to match
|
978 |
-
other tildes, and U+2282-2284 to have the same shape. (by Remy Oudompheng)
|
979 |
-
- made U+2234-U+2237 refer to U+2219 instead of U+00B7 in Sans (by Mederic
|
980 |
-
Boquien)
|
981 |
-
- added U+2238-223B, U+226A-226B, U+2278-2281, U+2288-228B to Sans (by Remy
|
982 |
-
Oudompheng)
|
983 |
-
- unslanted and changed reference of U+22C5 from U+00B7 to U+2219 in Sans (by
|
984 |
-
Mederic Boquien)
|
985 |
-
- added U+224D-225F, U+226D, U+22C6 to Sans and unslanted U+2219 in Sans
|
986 |
-
Oblique. (by Remy Oudompheng)
|
987 |
-
- added U+224D-225F, U+226D to Mono, shifted U+2266-2269 higher upwards and
|
988 |
-
unslanted U+2219 in Oblique. (by Remy Oudompheng)
|
989 |
-
- merged Coptic glyphs from Arev 0.2 (by Lars Naesbye Christensen)
|
990 |
-
- fixed and adjusted various Cyrillic glyphs in Serif (by Andrey V. Panov)
|
991 |
-
- made fi, fl... ligatures discretionary ligatures (by Ben Laenen)
|
992 |
-
|
993 |
-
Changes from 2.3 to 2.4:
|
994 |
-
|
995 |
-
- added U+04A2, U+04A3, U+04AC - U+04AF, U+04BA, U+04BB, U+04C0 -
|
996 |
-
U+04C2, U+04CB, U+04CD, U+04D8 - U+04DF, U+04E2 - U+04E5, U+04E8 - U+04F5,
|
997 |
-
U+04F6 - U+04F9 to Mono (by Eugeniy Meshcheryakov)
|
998 |
-
- added U+048C, U+048D, U+0494, U+0495, U+049E - U+04A7, U+04AC -
|
999 |
-
U+04AE, U+04B4- U+04B7, U+04BA, U+04BB, U+04C0 - U+04C4, U+04C7, U+04C8,
|
1000 |
-
U+04CB, U+04CC, U+04D8 - U+04DF, U+04E2 - U+04E5, U+04EC - U+04F9 to Serif
|
1001 |
-
(by Eugeniy Meshcheryakov)
|
1002 |
-
- added U+2134 to Sans (by Gee Fung Sit)
|
1003 |
-
- added U+2080 - U+2089 to all faces (by Gee Fung Sit)
|
1004 |
-
- several minor corrections to Sans (by Gee Fung Sit)
|
1005 |
-
- major corrections to Sans Condensed (by Gee Fung Sit)
|
1006 |
-
- corrected Superscripts and Subscripts in Sans (by Gee Fung Sit)
|
1007 |
-
- corrected anchors of U+0316-U+0319 (by Denis Jacquerye)
|
1008 |
-
- Verajja integrated (by Stepan Roh)
|
1009 |
-
- copied U+2328, U+2600, U+2639-U+263C, U+263F-U+2647, U+2660-U+2667,
|
1010 |
-
and U+2669-U+266F from Sans to Serif, and copied scaled-down versions of
|
1011 |
-
them to Sans Mono (by David Lawrence Ramsey)
|
1012 |
-
- added U+20B4 to all faces (by Eugeniy Meshcheryakov)
|
1013 |
-
- added more minor positional adjustments to U+2638 in all faces to
|
1014 |
-
match the other miscellaneous symbols in Verajja, and rescale it in Sans
|
1015 |
-
Mono so that it looks better (by David Lawrence Ramsey)
|
1016 |
-
- added U+2242, U+2243 and U+22A4 (by Mederic Boquien)
|
1017 |
-
- corrected U+2245 in Sans (by Mederic Boquien)
|
1018 |
-
- added U+0221, U+0234-0236 (by Denis Jacquerye)
|
1019 |
-
- added in Arabic block to Sans: U+060C, U+0615, U+061B, U+061F, U+0621
|
1020 |
-
- U+063A, U+0640 - U+0655, U+0660 - U+066F, U+0679 - U+0687, U+0698, U+06A1,
|
1021 |
-
U+06A9, U+06AF, U+06BA, U+06BF, U+06CC, U+06F0 - U+06F9 (by Ben Laenen)
|
1022 |
-
- added in Arabic Presentation Forms A to Sans: U+FB52 - U+FB81, U+FB8A
|
1023 |
-
- U+FB95, U+FB9E - U+FB9F, U+FBE8 - U+FBE9, U+FBFC - U+FBFF (by Ben Laenen)
|
1024 |
-
- added complete Arabic Presentation Forms B to Sans: U+FE70 - U+FE74,
|
1025 |
-
U+FE76 - U+FEFC, U+FEFF (by Ben Laenen)
|
1026 |
-
- added complete Greek Extended block to Mono (by Ben Laenen)
|
1027 |
-
- modified Greek capitals with tonos in Mono (by Ben Laenen)
|
1028 |
-
- added U+01C4-01CC, U+01D5, U+01DE, U+01E0-U+01E1, U+01E6-U+01E9,
|
1029 |
-
U+01EE-U+01F5, U+01F8-U+0217, U+021E-U+021F, U+0226-U+022A, U+022C to Serif
|
1030 |
-
(by Denis Jacquerye)
|
1031 |
-
- adjusted U+043B and U+044F in Serif (by Denis Jacquerye)
|
1032 |
-
- added U+2000-U+200A (by Denis Jacquerye)
|
1033 |
-
- added U+1E00-U+1E0B, U+1E0E-U+1E11, U+1E14-U+1E1C, U+1E1E-U+1E23,
|
1034 |
-
U+1E26-U+1E2D, U+1E30-U+1E35, U+1E3A-U+1E3B, U+1E3E-U+1E40, U+1E48-U+1E49,
|
1035 |
-
U+1E50-U+1E56, U+1E58-U+1E59, U+1E5E-U+1E60, U+1E68-U+1E6B, U+1E6E-U+1E6F,
|
1036 |
-
U+1E72-U+1E7D, U+1E86-U+1E9B, U+1EA0-U+1EA3, U+1EAC-U+1EB7, U+1EBA-U+1EBD,
|
1037 |
-
U+1EC6-U+1ECF, U+1ED8-U+1ED9, U+1EE6-U+1EE7, U+1EF4-U+1EF9 to Serif (by
|
1038 |
-
Denis Jacquerye)
|
1039 |
-
- added U+048E, U+048F, U+049C-U+049F, U+04B8, U+04B9, U+04BC-U+04BF,
|
1040 |
-
U+04C3, U+04C4 to Sans (by Eugeniy Meshcheryakov)
|
1041 |
-
- added DejaVu Sans Extra Light (by Denis Jacquerye)
|
1042 |
-
- Adjusted underline position for (hopefully) improved legibility in
|
1043 |
-
Sans, Serif, Mono (Tim May)
|
1044 |
-
- added auto-generated DejaVu LGC (by Stepan Roh)
|
1045 |
-
|
1046 |
-
Changes from 2.2 to 2.3:
|
1047 |
-
|
1048 |
-
- fixed bug U+042B and U+044B behave badly in Sans Bold or Oblique (by
|
1049 |
-
Keenan Pepper)
|
1050 |
-
- added and improved TrueType instructions and related settings (by
|
1051 |
-
Keenan Pepper)
|
1052 |
-
- added U+04D0-U+04D7, U+04E6, U+04E7 to Mono (by Eugeniy Meshcheryakov)
|
1053 |
-
- added U+048A - U+048D, U+0498, U+0499, U+04AA, U+04AB, U+04B0, U+04B1,
|
1054 |
-
U+04C0, U+04C9, U+04CA, U+04CE, U+04CD, U+04DA, U+04DB, U+04DE, U+04DF,
|
1055 |
-
U+04E2 - U+04E5, U+04EC - U+04F8, U+04F9 to Sans (by Eugeniy Meshcheryakov)
|
1056 |
-
- added U+04E0, U+04E1 to all faces (by Eugeniy Meshcheryakov)
|
1057 |
-
- added Greek Extended to Sans and Serif: U+1F00-U+1F15, U+1F18-U+1F1D,
|
1058 |
-
U+1F20-U+1F45, U+1F48-U+1F4D, U+1F50-U+1F57, U+1F59, U+1F5B, U+1F5D,
|
1059 |
-
U+1F5F-U+1F7D, U+1F80-U+1FB4, U+1FB6-U+1FC4, U+1FC6-U+1FD3, U+1FD6-U+1FDB,
|
1060 |
-
U+1FDD-U+1FEF, U+1FF2-U+1FF4, U+1FF6-U+1FFE (by Ben Laenen)
|
1061 |
-
- added Greek variant letterforms, archaic letters and symbols to Mono:
|
1062 |
-
U+03D0-U+03E1, U+03F0-U+03FF (by Ben Laenen)
|
1063 |
-
- added Armenian block and Armenian ligatures to Sans (U+0531 - U+0556,
|
1064 |
-
U+0559 - U+055F, U+0561 - U+0587, U+0589 - U+058A, U+FB13 - U+FB17) (by Ben
|
1065 |
-
Laenen)
|
1066 |
-
- redid some Greek characters in Sans and Mono to make them look better
|
1067 |
-
and to correct some errors (by Ben Laenen)
|
1068 |
-
- added U+27E0 to all faces (by David Lawrence Ramsey)
|
1069 |
-
- added underscore (U+005F) consistency fixes: extended the Sans Mono
|
1070 |
-
and Sans Mono Oblique underscores to touch both horizontal edges, and
|
1071 |
-
reduced the height of the Sans Bold Oblique underscore to match the Sans
|
1072 |
-
Bold underscore (by David Lawrence Ramsey)
|
1073 |
-
- added underscore (U+005F) derivatives and consistency fixes for them:
|
1074 |
-
made U+0332 a reference to underscore at Denis Jacquerye's suggestion; made
|
1075 |
-
U+0333 two references to underscore; made U+033F two references to U+203E;
|
1076 |
-
added U+2017 as two references to underscore, and made U+0333 a reference to
|
1077 |
-
it; and added U+203E as a reference to underscore, and made U+0305 a
|
1078 |
-
reference to it (by David Lawrence Ramsey)
|
1079 |
-
- added U+201B, U+2220, U+2320-U+2321, U+23AE, U+23CF, all remaining
|
1080 |
-
Geometric Shapes glyphs (U+25A0-U+25C9, U+25CB-U+25D7, U+25D9-U+25E5,
|
1081 |
-
U+25E7-U+25FF), and U+2B12-U+2B13 to all faces (by David Lawrence Ramsey)
|
1082 |
-
- added minor positional adjustments to U+2638 in all faces (by David
|
1083 |
-
Lawrence Ramsey)
|
1084 |
-
- added U+201F to Sans Mono and Serif faces (by David Lawrence Ramsey)
|
1085 |
-
- added U+01B7, U+01F6, U+0464 - U+0465, U+2160 - U+2180, U+2183,
|
1086 |
-
U+220A, U+220D, U+2329, U+232A, U+2422, U+27E8 - U+27EB, U+2680 - U+2685 to
|
1087 |
-
Sans (by Gee Fung Sit ???)
|
1088 |
-
- added U+2116 to Sans and Serif (by Gee Fung Sit)
|
1089 |
-
- changed florin sign U+0192 in Sans (by Gee Fung Sit)
|
1090 |
-
- added anchor points to some glyphs (by Denis Jacquerye)
|
1091 |
-
- adjusted height of IPA superscripts U+02B0-02B8, U+02C0-02C1,
|
1092 |
-
U+02E0-02E4, U+207F to match with height of U+00B2 (by Denis Jacquerye)
|
1093 |
-
- added U+0184-U+0185, U+019C, U+019F, U+01A0-U+01A3, U+01A6, U+01AA,
|
1094 |
-
U+01AF-U+01B0, U+01B2-U+01B4, U+01B7-U+01B8, U+01BC-U+01BC, U+0224-U+0225,
|
1095 |
-
U+023A-U+0240, U+1D16-U+1D17, U+1D1D-U+1D1E, U+1D43-U+1D5B, U+1D7B,
|
1096 |
-
U+1D85,U+1D9B-1DB7, U+1DB9-U+1DBF, U+20A6 to all fonts (by Denis Jacquerye)
|
1097 |
-
- added added U+0182, U+018B, U+018E, U+01A0-U+01A1, U+01B1, U+01B9,
|
1098 |
-
U+01C0-U+01C3, U+0238-U+0239, U+1D02, U+1D08-U+1D09, U+1D14, U+1D1F, U+1D77
|
1099 |
-
to Serif and Mono (by Denis Jacquerye)
|
1100 |
-
- added U+0181, U+0183, U+0187-U+0188, U+018A-U+018F, U+0191, U+0193,
|
1101 |
-
U+0195-U+019B, U+019D-U+019E, U+01A4-U+01A5, U+01AC-U+01AE, U+01B5-U+01B6,
|
1102 |
-
U+01B9, U+01BB, U+01F6 to Serif (by Denis Jacquerye)
|
1103 |
-
- added U+0181, U+0187-U+0188, U+018A, U+018D, U+018F, U+0191, U+0193,
|
1104 |
-
U+0195-U+019F, U+01A4-01A5, U+01AC-01AD, U+01B5-U+01B6, U+1BB, U+01F6,
|
1105 |
-
U+01D7-U+01DC, U+0238-U+0239, U+0241 to Mono (by Denis Jacquerye)
|
1106 |
-
- added to Mono and Serif (by Denis Jacquerye)
|
1107 |
-
|
1108 |
-
Changes from 2.1 to 2.2:
|
1109 |
-
|
1110 |
-
- reworked the vertical orientation of the Blocks Elements characters
|
1111 |
-
in all faces to remove their overly large descenders, in order to fix
|
1112 |
-
problems with e.g. terminal emulators (by David Lawrence Ramsey)
|
1113 |
-
- copied bullet in Sans faces to Serif faces for consistency (by David
|
1114 |
-
Lawrence Ramsey)
|
1115 |
-
- added U+2023, U+25D8, U+25E6, and U+29EB to all faces (by David
|
1116 |
-
Lawrence Ramsey)
|
1117 |
-
- added U+1EB8, U+1EB9, U+1ECA - U+1ECD, U+1EE4, U+1EE5 (by Tim May)
|
1118 |
-
- added U+01DD, U+02BE, U+02BF, U+02D3 to all, changed U+02D2 in
|
1119 |
-
non-Condensed and U+1EE5 in Serif (by Tim May)
|
1120 |
-
- fixed U+01CE, replacing wrong circumflex by caron (by Denis Jacquerye)
|
1121 |
-
- added anchor points to some glyphs (by Denis Jacquerye)
|
1122 |
-
- added U+20B5 (by Denis Jacquerye)
|
1123 |
-
- added U+0181 - U+0183, U+0187, U+0188, U+018A - U+018D, U+0191,
|
1124 |
-
U+0193, U+0195 - U+019B, U+019D, U+019E, U+01A4, U+01A7 - U+01A9, U+01AB -
|
1125 |
-
U+01AE, U+01B1, U+01B5, U+01B6, U+01BB, U+01C0 - U+01C3, U+01F1 - U+01F3,
|
1126 |
-
U+0238, U+0239, U+1D02, U+1D08, U+1D09, U+1D14, U+1D1F, U+1D77, U+2103,
|
1127 |
-
U+2126, U+2127, U+212A, U+212B, U+2132, U+214B, U+2210, U+2217, U+2218,
|
1128 |
-
U+2A0C - U+2A0E, U+FB00, U+FB03 and U+FB04 to Sans (by Gee Fung Sit)
|
1129 |
-
- added U+01A9, U+01C3 and U+2126 to Mono and Serif (by Gee Fung Sit)
|
1130 |
-
- adjusted bearings of U+028B in Sans (by Gee Fung Sit)
|
1131 |
-
- added U+018F, U+0494-U+0497, U+04A0-U+04A7, U+04AC-U+04AF,
|
1132 |
-
U+04B4-U+04B7, U+04BA-U+04BB, U+04C1-U+04C2, U+04C5-U+04C8, U+04CB-U+04CC,
|
1133 |
-
U+04D0-U+04D9, U+04DC-U+04DD, U+04E6-U+04EB to Sans (by Eugeniy
|
1134 |
-
Meshcheryakov)
|
1135 |
-
- replaced with references U+0391-U+0393, U+0395-U+0397, U+0399, U+039A,
|
1136 |
-
U+039C, U+039D, U+039F-U+03A1, U+03A4, U+03A5, U+03A7, U+03BF, U+03DC,
|
1137 |
-
U+0405, U+0406, U+0408, U+0410, U+0412, U+0415, U+0417, U+041A,
|
1138 |
-
U+041C-U+041E, U+0420-U+0422, U+0425, U+0430, U+0435, U+043E, U+0440,
|
1139 |
-
U+0441, U+0443, U+0445, U+0455-U+0458 in Serif and Mono (by Eugeniy
|
1140 |
-
Meshcheryakov)
|
1141 |
-
- added U+04D0-U+04D7, U+04E6-U+04EB to Serif (by Eugeniy Meshcheryakov)
|
1142 |
-
- added U+212A and U+212B to the rest of the faces (by Lars Naesbye
|
1143 |
-
Christensen)
|
1144 |
-
- added U+2318 and U+2325 to Sans and Serif (by Lars Naesbye Christensen)
|
1145 |
-
- added and improved TrueType instructions and related settings (by
|
1146 |
-
Keenan Pepper)
|
1147 |
-
- completed basic Greek alphabet: added U+0374-U+0375, U+037A, U+037E,
|
1148 |
-
U+0384-U+038A, U+038C, U+038E-U+0390, U+03AC-U+03BF, U+03C1-U+03CE (by Ben
|
1149 |
-
Laenen)
|
1150 |
-
- added U+2070 and U+2074-U+2079 (by Mederic Boquien)
|
1151 |
-
|
1152 |
-
Changes from 2.0 to 2.1:
|
1153 |
-
|
1154 |
-
*** Be aware that names of some TTF files changed since version 2.0. ***
|
1155 |
-
|
1156 |
-
- added U+0323, U+1E0C, U+1E0D, U+1E24, U+1E25, U+1E36 - U+1E39, U+1E42,
|
1157 |
-
U+1E43, U+1E46, U+1E47, U+1E5A - U+1E5D, U+1E62, U+1E63, U+1E6C, U+1E6D,
|
1158 |
-
U+1E7E, U+1E7F (by Tim May)
|
1159 |
-
- fixed bug where GNOME applications used Mono Bold Oblique instead of
|
1160 |
-
Mono Oblique (by Keenan Pepper)
|
1161 |
-
- added and improved TrueType instructions and related settings (by
|
1162 |
-
Keenan Pepper)
|
1163 |
-
- added U+1E41, U+1E57, U+1E61 (by Sander Vesik)
|
1164 |
-
- added U+0189, U+0309, U+0313, U+0314, U+031A, U+031B, U+0327, U+0328,
|
1165 |
-
U+032B, U+0333, U+033C (by Denis Jacquerye)
|
1166 |
-
- adjusted and fixed U+0186, U+0254, U+0291, U+0316 - U+0319, U+031C -
|
1167 |
-
U+0320, U+0323 - U+0326, U+0329 - U+032A, U+032C - U+0332, U+0339 - U+033B,
|
1168 |
-
U+033E, U+033F (by Denis Jacquerye)
|
1169 |
-
- fixed U+1E12, U+1E3C, U+1E4A, U+1E70 to have normal below diacritics
|
1170 |
-
(by Denis Jacquerye)
|
1171 |
-
- fixed U+1E82, U+1E84 and U+1EF2 to have uppercase above diacritics (by
|
1172 |
-
Denis Jacquerye)
|
1173 |
-
- added anchor points to some glyphs (by Denis Jacquerye)
|
1174 |
-
- dropped "-Roman" from font names - affects both internal TTF names and
|
1175 |
-
names of generated files (by Stepan Roh)
|
1176 |
-
- attempt to fix bug Vertical spacing too big for Mono by exchanging
|
1177 |
-
LineGap and OS2TypoLinegap values (proofed by Stefan Rank)
|
1178 |
-
- added Greek capitals U+0391 - U+03A1, U+03A3 - U+03A9, U+03AA, U+03AB
|
1179 |
-
in Mono (by Ben Laenen)
|
1180 |
-
- added the per ten thousand sign U+2031 (by Mederic Boquien)
|
1181 |
-
- added U+2207, U+221D, U+221F, U+2227 - U+222A, and U+2261 (by David
|
1182 |
-
Lawrence Ramsey)
|
1183 |
-
- new logo (by Gee Fung Sit)
|
1184 |
-
- added U+0180, U+018E, U+201F, U+2024, U+2025, U+203D, U+2200, U+2203,
|
1185 |
-
U+2213, U+222C, U+222D, U+2263 to Sans (by Gee Fung Sit)
|
1186 |
-
|
1187 |
-
Changes from 1.15 to 2.0:
|
1188 |
-
|
1189 |
-
- "Italized" basic glyphs in all Serif Oblique and their Condensed faces
|
1190 |
-
(by David Jez)
|
1191 |
-
- added and improved TrueType instructions and related settings (by Keenan
|
1192 |
-
Pepper)
|
1193 |
-
- added anchor points to some glyphs (by Denis Jacquerye)
|
1194 |
-
- many new spacing and combining accents (by Denis Jacquerye)
|
1195 |
-
- smart substitutions for transforming i and j to dottless form and for
|
1196 |
-
using uppercase diacritics (by Denis Jacquerye)
|
1197 |
-
- fixed remaining erroneously slanted characters in Serif Oblique faces (by
|
1198 |
-
David Lawrence Ramsey)
|
1199 |
-
- copied bullet in Sans faces to Sans Oblique faces for consistency (by
|
1200 |
-
David Lawrence Ramsey)
|
1201 |
-
- added U+203C and U+2047-U+2049 (by David Lawrence Ramsey)
|
1202 |
-
- added Greek glyphs to Serif (by Ben Laenen, Condensed merge by David Jez)
|
1203 |
-
- fixed bug LTR glyphs behaving like RTL (by Ben Laenen)
|
1204 |
-
- fixed wrong glyph directions (by David Jez)
|
1205 |
-
- fixed repositioned accents in Condensed faces (by David Jez)
|
1206 |
-
|
1207 |
-
Changes from 1.14 to 1.15:
|
1208 |
-
|
1209 |
-
- added and improved TrueType instructions and related settings (by Keenan
|
1210 |
-
Pepper)
|
1211 |
-
- fixed U+2302, U+2319 (by David Lawrence Ramsey)
|
1212 |
-
- fixed yet another monospace bug (by Stepan Roh)
|
1213 |
-
- fixed potential "too big ascender/descender" bug (by Stepan Roh)
|
1214 |
-
- fixed U+026E and U+028E (by Denis Jacquerye)
|
1215 |
-
- added U+0186, U+0190, U+0300 - U+0304, U+0306 - U+0308, U+030A - U+030C,
|
1216 |
-
U+0321, U+0322 (by Denis Jacquerye)
|
1217 |
-
- added rest of Block Elements: U+2591 - U+2593 (by David Lawrence Ramsey)
|
1218 |
-
- added U+2311, U+237D and U+2638 (by David Lawrence Ramsey)
|
1219 |
-
- added U+01CD - U+01D4 (by Denis Jacquerye)
|
1220 |
-
- fixed accents of U+00F2 - U+00F6 by replacing them with references in Mono
|
1221 |
-
Bold (by David Jez)
|
1222 |
-
- added U+0490, U+0491 (by Eugeniy Meshcheryakov)
|
1223 |
-
- added hints to U+0404 and U+0454 in Sans (by Eugeniy Meshcheryakov)
|
1224 |
-
- completed Greek glyphs from U+0370 to U+03CF in Serif (by Ben Laenen)
|
1225 |
-
- fixed shape of U+0255 in Sans Bold and Sans Bold Oblique (by Denis
|
1226 |
-
Jacquerye)
|
1227 |
-
|
1228 |
-
Changes from 1.13 to 1.14:
|
1229 |
-
|
1230 |
-
- fixed bug where Mono faces were not recognized as fixed pitch in Windows
|
1231 |
-
by correcting Venda glyphs (by David Jez)
|
1232 |
-
- added and improved TrueType instructions (by Keenan Pepper)
|
1233 |
-
- added 6 Uzbekian glyphs (by Mashrab Kuvatov)
|
1234 |
-
- added Greek glyphs to Sans and Serif, changed pi and omega to fit in (by
|
1235 |
-
Ben Laenen)
|
1236 |
-
- added IPA and related superscript glyphs (by Denis Jacquerye)
|
1237 |
-
- fixed buggy Venda glyphs (by David Lawrence Ramsey and Stepan Roh)
|
1238 |
-
- added U+2302, U+2310, U+2319 (by David Lawrence Ramsey)
|
1239 |
-
- fixed slanted U+00AC in Serif Oblique faces (by David Lawrence Ramsey)
|
1240 |
-
- added 29 glyphs from Block Elements (by David Lawrence Ramsey)
|
1241 |
-
|
1242 |
-
Changes from 1.12 to 1.13:
|
1243 |
-
|
1244 |
-
- removed all stems (PS hints) (requested by David Jez)
|
1245 |
-
- added U+01D6, U+01DF, U+022B, U+022D and U+0231 (by Sander Vesik)
|
1246 |
-
- added 10 Venda glyphs (by Dwayne Bailey)
|
1247 |
-
- fixed bug when fonts had no name on Microsoft Windows (by Stepan Roh)
|
1248 |
-
- updated 'missing' glyph U+FFFD (by David Jez)
|
1249 |
-
- set TTF flag fsType to 'Installable Embedding' (= unrestricted usage)
|
1250 |
-
(idea by C. Tiffany)
|
1251 |
-
|
1252 |
-
Changes from 1.11 to 1.12:
|
1253 |
-
|
1254 |
-
- added long s (by James Cloos)
|
1255 |
-
- prettier comma accent in gcommaaccent (by David Jez)
|
1256 |
-
- added Hbar, hbar, kgreenlandic, napostrophe, Eng, eng, Tbar, tbar,
|
1257 |
-
afii57929 (by David Jez)
|
1258 |
-
- changed Iogonek, iogonek, IJ, ij to look better (by David Jez)
|
1259 |
-
- glyph uni0237 renamed to dotlessj (requested by David Jez)
|
1260 |
-
- fixed accents for dcaron, lcaron, tcaron, Uogonek, uogonek in Serif (by
|
1261 |
-
David Jez)
|
1262 |
-
- added U+2500 - U+257F box drawing glyphs to Sans Mono (by David Jez)
|
1263 |
-
- fixed accents in Wcircumflex, Ycircumflex and Zdotaccent (by David Jez)
|
1264 |
-
- extra kerning for F (by Sander Vesik)
|
1265 |
-
- added 'missing' glyph U+FFFD (by David Jez)
|
1266 |
-
|
1267 |
-
Changes from 1.10 to 1.11:
|
1268 |
-
|
1269 |
-
- kerning updates (by Sander Vesik)
|
1270 |
-
- added Iogonek, iogonek, IJ, ij, Uogonek, uogonek (from SuSE standard fonts
|
1271 |
-
by Adrian Schroeter, SuSE AG)
|
1272 |
-
- added Gcommaaccent, gcommaaccent, Kcommaaccent, kcommaaccent,
|
1273 |
-
Lcommaaccent, lcommaaccent, Ncommaaccent, ncommaaccent, Rcommaaccent,
|
1274 |
-
rcommaaccent (by Stepan Roh)
|
1275 |
-
|
1276 |
-
Changes from 1.9 to 1.10:
|
1277 |
-
|
1278 |
-
- added U+022E, U+022F (by Sander Vesik)
|
1279 |
-
- kerning updates for DejaVu Sans (by Sander Vesik)
|
1280 |
-
- fixed too wide cyrillic glyphs in DejaVu Sans Mono (by Valentin Stoykov)
|
1281 |
-
- fixed ligatures bug in Mono (by Stepan Roh)
|
1282 |
-
|
1283 |
-
Changes from 1.8 to 1.9:
|
1284 |
-
|
1285 |
-
- integrated Arev Cyrillics (by Danilo Segan)
|
1286 |
-
- added U+01EA, U+01EB, U+01EC, U+01ED (by Sander Vesik)
|
1287 |
-
|
1288 |
-
Changes from 1.7 to 1.8:
|
1289 |
-
|
1290 |
-
- fixed accents in Serif Oblique and Serif Bold Oblique (by Stepan Roh)
|
1291 |
-
|
1292 |
-
Changes from 1.6 to 1.7:
|
1293 |
-
|
1294 |
-
- added automatically generated Condensed typefaces (by Stepan Roh)
|
1295 |
-
|
1296 |
-
Changes from 1.5 to 1.6:
|
1297 |
-
|
1298 |
-
- monospace bug fixed (by Stepan Roh)
|
1299 |
-
- incorrect Bitstream foundry assigned by fontconfig and KDE Font Installer
|
1300 |
-
fixed (by Stepan Roh)
|
1301 |
-
- added automatically generated Oblique version of Serif typefaces (by
|
1302 |
-
Stepan Roh)
|
1303 |
-
- corrected cyrillic D and d (by Danilo Segan and David Jez)
|
1304 |
-
- fixed accents position in Oblique version of Serif typefaces (by Danilo
|
1305 |
-
Segan and Sander Vesik)
|
1306 |
-
- fixed incorrect computation of OS2Win* fields (by Stepan Roh)
|
1307 |
-
- added visiblespace U+2423 (by David Jez)
|
1308 |
-
- fixed 'line height' bug by fixing ascender and descender values (by David
|
1309 |
-
Jez and Stepan Roh)
|
1310 |
-
- fixed part of 'worse than Vera' bug (by Peter Cernak)
|
1311 |
-
- smaller comma accent U+0326 (by David Jez)
|
1312 |
-
|
1313 |
-
Changes from 1.4 to 1.5:
|
1314 |
-
|
1315 |
-
- added Cyrillics (96 characters) and Dcroat to the rest of typefaces (by
|
1316 |
-
Danilo Segan)
|
1317 |
-
- fixed bugs in some Cyrillic characters, some of them reported by Sander
|
1318 |
-
Vesik (by Danilo Segan)
|
1319 |
-
- added U+0100, U+0101, U+0112, U+0113, U+012A, U+012B, U+014C, U+014D,
|
1320 |
-
U+016A, U+016B, U+01E2, U+01E3, U+0232 and U+0233 (by Sander Vesik)
|
1321 |
-
- added Romanian characters (by Misu Moldovan)
|
1322 |
-
- added U+0108, U+0109, U+010A, U+010B, U+0114, U+0115, U+0116, U+0117,
|
1323 |
-
U+011C, U+011D, U+0120, U+0121, U+0124, U+0125, U+0128, U+0129, U+012C,
|
1324 |
-
U+012D, U+0134, U+0135, U+014E, U+014F, U+0150, U+0151, U+015C, U+015D,
|
1325 |
-
U+0168, U+0169, U+016C, U+016D, U+0170, U+0171 and U+0237 (by James
|
1326 |
-
Crippen)
|
1327 |
-
- added U+02BB, U+2010, U+2011, U+2012 and U+2015 (by Stepan Roh)
|
1328 |
-
|
1329 |
-
Changes from 1.3 to 1.4:
|
1330 |
-
|
1331 |
-
- added Polish characters (Aogonek, aogonek, Eogonek, eogonek, Nacute,
|
1332 |
-
nacute, Sacute, sacute, Zacute, zacute, Zdotaccent, zdotaccent) (by Stepan
|
1333 |
-
Roh)
|
1334 |
-
|
1335 |
-
Changes from 1.2 to 1.3:
|
1336 |
-
|
1337 |
-
- added Cyrillics (96 characters) and Dcroat to Sans typefaces (by Danilo
|
1338 |
-
Segan from his BePa fonts)
|
1339 |
-
|
1340 |
-
Changes from 1.1 to 1.2:
|
1341 |
-
|
1342 |
-
- added Ldot, ldot, Wcircumflex, wcircumflex, Ycircumflex, ycircumflex,
|
1343 |
-
Wgrave, wgrave, Wacute, wacute, Wdieresis, wdieresis, Ygrave and ygrave
|
1344 |
-
(from The Olwen Font Family 0.2 by Dafydd Harries)
|
1345 |
-
|
1346 |
-
Changes from 1.0 to 1.1:
|
1347 |
-
|
1348 |
-
- added Lacute, lacute, Lcaron, lcaron, Racute and racute (by Peter Cernak)
|
1349 |
-
|
1350 |
-
Changes from 0.9.4 to 1.0:
|
1351 |
-
|
1352 |
-
- none, just changed version and updated README
|
1353 |
-
|
1354 |
-
Changes from 0.9.3 to 0.9.4:
|
1355 |
-
|
1356 |
-
- fixed TTF generation (kerning tables were missing)
|
1357 |
-
|
1358 |
-
Changes from 0.9.2 to 0.9.3:
|
1359 |
-
|
1360 |
-
- kerning of added characters
|
1361 |
-
- proper caron shape for dcaron in Mono (by Ondrej Koala Vacha)
|
1362 |
-
- minor visual changes
|
1363 |
-
|
1364 |
-
Changes from 0.9.1 to 0.9.2:
|
1365 |
-
|
1366 |
-
- internal bugged version
|
1367 |
-
|
1368 |
-
Changes from 0.9 to 0.9.1:
|
1369 |
-
|
1370 |
-
- proper caron shape for dcaron and tcaron
|
1371 |
-
- minor visual changes
|
1372 |
-
|
1373 |
-
$Id: NEWS 2535 2013-08-25 15:21:17Z moyogo $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,59 +0,0 @@
|
|
1 |
-
DejaVu fonts 2.34 (c)2004-2013 DejaVu fonts team
|
2 |
-
------------------------------------------------
|
3 |
-
|
4 |
-
The DejaVu fonts are a font family based on the Bitstream Vera Fonts
|
5 |
-
(http://gnome.org/fonts/). Its purpose is to provide a wider range of
|
6 |
-
characters (see status.txt for more information) while maintaining the
|
7 |
-
original look and feel.
|
8 |
-
|
9 |
-
DejaVu fonts are based on Bitstream Vera fonts version 1.10.
|
10 |
-
|
11 |
-
Available fonts (Sans = sans serif, Mono = monospaced):
|
12 |
-
|
13 |
-
DejaVu Sans Mono
|
14 |
-
DejaVu Sans Mono Bold
|
15 |
-
DejaVu Sans Mono Bold Oblique
|
16 |
-
DejaVu Sans Mono Oblique
|
17 |
-
DejaVu Sans
|
18 |
-
DejaVu Sans Bold
|
19 |
-
DejaVu Sans Bold Oblique
|
20 |
-
DejaVu Sans Oblique
|
21 |
-
DejaVu Sans ExtraLight (experimental)
|
22 |
-
DejaVu Serif
|
23 |
-
DejaVu Serif Bold
|
24 |
-
DejaVu Serif Bold Italic (experimental)
|
25 |
-
DejaVu Serif Italic (experimental)
|
26 |
-
DejaVu Sans Condensed (experimental)
|
27 |
-
DejaVu Sans Condensed Bold (experimental)
|
28 |
-
DejaVu Sans Condensed Bold Oblique (experimental)
|
29 |
-
DejaVu Sans Condensed Oblique (experimental)
|
30 |
-
DejaVu Serif Condensed (experimental)
|
31 |
-
DejaVu Serif Condensed Bold (experimental)
|
32 |
-
DejaVu Serif Condensed Bold Italic (experimental)
|
33 |
-
DejaVu Serif Condensed Italic (experimental)
|
34 |
-
|
35 |
-
All fonts are also available as derivative called DejaVu LGC with support
|
36 |
-
only for Latin, Greek and Cyrillic scripts.
|
37 |
-
|
38 |
-
For license information see LICENSE. What's new is described in NEWS. Known
|
39 |
-
bugs are in BUGS. All authors are mentioned in AUTHORS.
|
40 |
-
|
41 |
-
Fonts are published in source form as SFD files (Spline Font Database from
|
42 |
-
FontForge - http://fontforge.sf.net/) and in compiled form as TTF files
|
43 |
-
(TrueType fonts).
|
44 |
-
|
45 |
-
For more information go to http://dejavu.sourceforge.net/.
|
46 |
-
|
47 |
-
Characters from Arev fonts, Copyright (c) 2006 by Tavmjong Bah:
|
48 |
-
---------------------------
|
49 |
-
U+01BA, U+01BF, U+01F7, U+021C-U+021D, U+0220, U+0222-U+0223,
|
50 |
-
U+02B9, U+02BA, U+02BD, U+02C2-U+02C5, U+02d4-U+02D5,
|
51 |
-
U+02D7, U+02EC-U+02EE, U+0346-U+034E, U+0360, U+0362,
|
52 |
-
U+03E2-03EF, U+0460-0463, U+0466-U+0486, U+0488-U+0489, U+04A8-U+04A9,
|
53 |
-
U+0500-U+050F, U+2055-205E, U+20B0, U+20B2-U+20B3, U+2102, U+210D, U+210F,
|
54 |
-
U+2111, U+2113, U+2115, U+2118-U+211A, U+211C-U+211D, U+2124, U+2135,
|
55 |
-
U+213C-U+2140, U+2295-U+2298, U+2308-U+230B, U+26A2-U+26B1, U+2701-U+2704,
|
56 |
-
U+2706-U+2709, U+270C-U+274B, U+2758-U+275A, U+2761-U+2775, U+2780-U+2794,
|
57 |
-
U+2798-U+27AF, U+27B1-U+27BE, U+FB05-U+FB06
|
58 |
-
|
59 |
-
$Id: README 2535 2013-08-25 15:21:17Z moyogo $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,249 +0,0 @@
|
|
1 |
-
This is the language coverage file for DejaVu fonts
|
2 |
-
($Id: langcover.txt 2538 2013-08-25 16:02:56Z moyogo $)
|
3 |
-
|
4 |
-
Sans Serif Sans Mono
|
5 |
-
aa Afar 100% (62/62) 100% (62/62) 100% (62/62)
|
6 |
-
ab Abkhazia 100% (90/90) 93% (84/90) 84% (76/90)
|
7 |
-
af Afrikaans 100% (69/69) 100% (69/69) 100% (69/69)
|
8 |
-
ak Akan 100% (73/73) 100% (73/73) 100% (73/73)
|
9 |
-
am Amharic (0/264) (0/264) (0/264)
|
10 |
-
an Aragonese 100% (66/66) 100% (66/66) 100% (66/66)
|
11 |
-
ar Arabic 100% (36/36) (0/36) 100% (36/36)
|
12 |
-
as Assamese (0/64) (0/64) (0/64)
|
13 |
-
ast Asturian/Bable/Leonese/Asturleonese 100% (70/70) 100% (70/70) 100% (70/70)
|
14 |
-
av Avaric 100% (67/67) 100% (67/67) 100% (67/67)
|
15 |
-
ay Aymara 100% (60/60) 100% (60/60) 100% (60/60)
|
16 |
-
az-az Azerbaijani in Azerbaijan 100% (66/66) 100% (66/66) 100% (66/66)
|
17 |
-
az-ir Azerbaijani in Iran 100% (40/40) (0/40) 100% (40/40)
|
18 |
-
ba Bashkir 100% (82/82) 100% (82/82) 97% (80/82)
|
19 |
-
be Byelorussian 100% (68/68) 100% (68/68) 100% (68/68)
|
20 |
-
ber-dz Berber in Algeria 100% (70/70) 100% (70/70) 100% (70/70)
|
21 |
-
ber-ma Berber in Morocco 100% (32/32) (0/32) (0/32)
|
22 |
-
bg Bulgarian 100% (60/60) 100% (60/60) 100% (60/60)
|
23 |
-
bh Bihari (Devanagari script) (0/68) (0/68) (0/68)
|
24 |
-
bho Bhojpuri (Devanagari script) (0/68) (0/68) (0/68)
|
25 |
-
bi Bislama 100% (58/58) 100% (58/58) 100% (58/58)
|
26 |
-
bin Edo or Bini 100% (78/78) 100% (78/78) 100% (78/78)
|
27 |
-
bm Bambara 100% (60/60) 100% (60/60) 100% (60/60)
|
28 |
-
bn Bengali (0/63) (0/63) (0/63)
|
29 |
-
bo Tibetan (0/95) (0/95) (0/95)
|
30 |
-
br Breton 100% (64/64) 100% (64/64) 100% (64/64)
|
31 |
-
brx Bodo (Devanagari script) (0/82) (0/82) (0/82)
|
32 |
-
bs Bosnian 100% (62/62) 100% (62/62) 100% (62/62)
|
33 |
-
bua Buriat (Buryat) 100% (70/70) 100% (70/70) 100% (70/70)
|
34 |
-
byn Blin/Bilin (0/255) (0/255) (0/255)
|
35 |
-
ca Catalan 100% (74/74) 100% (74/74) 100% (74/74)
|
36 |
-
ce Chechen 100% (67/67) 100% (67/67) 100% (67/67)
|
37 |
-
ch Chamorro 100% (58/58) 100% (58/58) 100% (58/58)
|
38 |
-
chm Mari (Lower Cheremis / Upper Cheremis) 100% (76/76) 100% (76/76) 100% (76/76)
|
39 |
-
chr Cherokee (0/85) (0/85) (0/85)
|
40 |
-
co Corsican 100% (84/84) 100% (84/84) 100% (84/84)
|
41 |
-
crh Crimean Tatar/Crimean Turkish 100% (68/68) 100% (68/68) 100% (68/68)
|
42 |
-
cs Czech 100% (82/82) 100% (82/82) 100% (82/82)
|
43 |
-
csb Kashubian 100% (74/74) 100% (74/74) 100% (74/74)
|
44 |
-
cu Old Church Slavonic 100% (103/103) 90% (93/103) 78% (81/103)
|
45 |
-
cv Chuvash 100% (74/74) 100% (74/74) 100% (74/74)
|
46 |
-
cy Welsh 100% (78/78) 100% (78/78) 100% (78/78)
|
47 |
-
da Danish 100% (70/70) 100% (70/70) 100% (70/70)
|
48 |
-
de German 100% (59/59) 100% (59/59) 100% (59/59)
|
49 |
-
doi Dogri (0/85) (0/85) (0/85)
|
50 |
-
dv Divehi/Dhivehi/Maldivian (0/49) (0/49) (0/49)
|
51 |
-
dz Dzongkha (0/95) (0/95) (0/95)
|
52 |
-
ee Ewe 100% (99/99) 100% (99/99) 100% (99/99)
|
53 |
-
el Greek 100% (69/69) 100% (69/69) 100% (69/69)
|
54 |
-
en English 100% (72/72) 100% (72/72) 100% (72/72)
|
55 |
-
eo Esperanto 100% (64/64) 100% (64/64) 100% (64/64)
|
56 |
-
es Spanish 100% (66/66) 100% (66/66) 100% (66/66)
|
57 |
-
et Estonian 100% (64/64) 100% (64/64) 100% (64/64)
|
58 |
-
eu Basque 100% (56/56) 100% (56/56) 100% (56/56)
|
59 |
-
fa Persian 100% (40/40) (0/40) 100% (40/40)
|
60 |
-
fat Fanti 100% (73/73) 100% (73/73) 100% (73/73)
|
61 |
-
ff Fulah (Fula) 100% (62/62) 100% (62/62) 100% (62/62)
|
62 |
-
fi Finnish 100% (62/62) 100% (62/62) 100% (62/62)
|
63 |
-
fil Filipino 100% (84/84) 100% (84/84) 100% (84/84)
|
64 |
-
fj Fijian 100% (52/52) 100% (52/52) 100% (52/52)
|
65 |
-
fo Faroese 100% (68/68) 100% (68/68) 100% (68/68)
|
66 |
-
fr French 100% (84/84) 100% (84/84) 100% (84/84)
|
67 |
-
fur Friulian 100% (66/66) 100% (66/66) 100% (66/66)
|
68 |
-
fy Frisian 100% (75/75) 100% (75/75) 100% (75/75)
|
69 |
-
ga Irish 100% (80/80) 100% (80/80) 100% (80/80)
|
70 |
-
gd Scots Gaelic 100% (70/70) 100% (70/70) 100% (70/70)
|
71 |
-
gez Ethiopic (Geez) (0/218) (0/218) (0/218)
|
72 |
-
gl Galician 100% (66/66) 100% (66/66) 100% (66/66)
|
73 |
-
gn Guarani 100% (70/70) 100% (70/70) 100% (70/70)
|
74 |
-
gu Gujarati (0/68) (0/68) (0/68)
|
75 |
-
gv Manx Gaelic 100% (54/54) 100% (54/54) 100% (54/54)
|
76 |
-
ha Hausa 100% (60/60) 100% (60/60) 100% (60/60)
|
77 |
-
haw Hawaiian 100% (63/63) 100% (63/63) 100% (63/63)
|
78 |
-
he Hebrew 100% (27/27) (0/27) (0/27)
|
79 |
-
hi Hindi (Devanagari script) (0/68) (0/68) (0/68)
|
80 |
-
hne Chhattisgarhi (0/68) (0/68) (0/68)
|
81 |
-
ho Hiri Motu 100% (52/52) 100% (52/52) 100% (52/52)
|
82 |
-
hr Croatian 100% (62/62) 100% (62/62) 100% (62/62)
|
83 |
-
hsb Upper Sorbian 100% (72/72) 100% (72/72) 100% (72/72)
|
84 |
-
ht Haitian/Haitian Creole 100% (56/56) 100% (56/56) 100% (56/56)
|
85 |
-
hu Hungarian 100% (70/70) 100% (70/70) 100% (70/70)
|
86 |
-
hy Armenian 100% (77/77) 100% (77/77) 100% (77/77)
|
87 |
-
hz Herero 100% (57/57) 100% (57/57) 100% (57/57)
|
88 |
-
ia Interlingua 100% (52/52) 100% (52/52) 100% (52/52)
|
89 |
-
id Indonesian 100% (54/54) 100% (54/54) 100% (54/54)
|
90 |
-
ie Interlingue 100% (52/52) 100% (52/52) 100% (52/52)
|
91 |
-
ig Igbo 100% (58/58) 100% (58/58) 100% (58/58)
|
92 |
-
ii Sichuan Yi/Nuosu (0/1165) (0/1165) (0/1165)
|
93 |
-
ik Inupiaq (Inupiak, Eskimo) 100% (68/68) 100% (68/68) 100% (68/68)
|
94 |
-
io Ido 100% (52/52) 100% (52/52) 100% (52/52)
|
95 |
-
is Icelandic 100% (70/70) 100% (70/70) 100% (70/70)
|
96 |
-
it Italian 100% (72/72) 100% (72/72) 100% (72/72)
|
97 |
-
iu Inuktitut 100% (161/161) (0/161) (0/161)
|
98 |
-
ja Japanese (0/6537) (0/6537) (0/6537)
|
99 |
-
jv Javanese 100% (56/56) 100% (56/56) 100% (56/56)
|
100 |
-
ka Georgian 100% (33/33) 100% (33/33) 100% (33/33)
|
101 |
-
kaa Kara-Kalpak (Karakalpak) 100% (78/78) 100% (78/78) 100% (78/78)
|
102 |
-
kab Kabyle 100% (70/70) 100% (70/70) 100% (70/70)
|
103 |
-
ki Kikuyu 100% (56/56) 100% (56/56) 100% (56/56)
|
104 |
-
kj Kuanyama/Kwanyama 100% (52/52) 100% (52/52) 100% (52/52)
|
105 |
-
kk Kazakh 100% (77/77) 100% (77/77) 100% (77/77)
|
106 |
-
kl Greenlandic 100% (81/81) 100% (81/81) 100% (81/81)
|
107 |
-
km Central Khmer (0/63) (0/63) (0/63)
|
108 |
-
kn Kannada (0/70) (0/70) (0/70)
|
109 |
-
ko Korean (0/2443) (0/2443) (0/2443)
|
110 |
-
kok Kokani (Devanagari script) (0/68) (0/68) (0/68)
|
111 |
-
kr Kanuri 100% (56/56) 100% (56/56) 100% (56/56)
|
112 |
-
ks Kashmiri 78% (26/33) (0/33) 69% (23/33)
|
113 |
-
ku-am Kurdish in Armenia 100% (64/64) 100% (64/64) 100% (64/64)
|
114 |
-
ku-iq Kurdish in Iraq 100% (32/32) (0/32) 87% (28/32)
|
115 |
-
ku-ir Kurdish in Iran 100% (32/32) (0/32) 87% (28/32)
|
116 |
-
ku-tr Kurdish in Turkey 100% (62/62) 100% (62/62) 100% (62/62)
|
117 |
-
kum Kumyk 100% (66/66) 100% (66/66) 100% (66/66)
|
118 |
-
kv Komi (Komi-Permyak/Komi-Siryan) 100% (70/70) 100% (70/70) 100% (70/70)
|
119 |
-
kw Cornish 100% (64/64) 100% (64/64) 100% (64/64)
|
120 |
-
kwm Kwambi 100% (52/52) 100% (52/52) 100% (52/52)
|
121 |
-
ky Kirgiz 100% (70/70) 100% (70/70) 100% (70/70)
|
122 |
-
la Latin 100% (68/68) 100% (68/68) 100% (68/68)
|
123 |
-
lah Lahnda 92% (25/27) (0/27) 85% (23/27)
|
124 |
-
lb Luxembourgish (Letzeburgesch) 100% (75/75) 100% (75/75) 100% (75/75)
|
125 |
-
lez Lezghian (Lezgian) 100% (67/67) 100% (67/67) 100% (67/67)
|
126 |
-
lg Ganda 100% (54/54) 100% (54/54) 100% (54/54)
|
127 |
-
li Limburgan/Limburger/Limburgish 100% (62/62) 100% (62/62) 100% (62/62)
|
128 |
-
ln Lingala 100% (81/81) 100% (81/81) 100% (81/81)
|
129 |
-
lo Lao 100% (55/55) (0/55) 83% (46/55)
|
130 |
-
lt Lithuanian 100% (70/70) 100% (70/70) 100% (70/70)
|
131 |
-
lv Latvian 100% (78/78) 100% (78/78) 100% (78/78)
|
132 |
-
mai Maithili (Devanagari script) (0/68) (0/68) (0/68)
|
133 |
-
mg Malagasy 100% (56/56) 100% (56/56) 100% (56/56)
|
134 |
-
mh Marshallese 100% (62/62) 100% (62/62) 100% (62/62)
|
135 |
-
mi Maori 100% (64/64) 100% (64/64) 100% (64/64)
|
136 |
-
mk Macedonian 100% (42/42) 100% (42/42) 100% (42/42)
|
137 |
-
ml Malayalam (0/68) (0/68) (0/68)
|
138 |
-
mn-cn Mongolian in China (0/130) (0/130) (0/130)
|
139 |
-
mn-mn Mongolian in Mongolia 100% (70/70) 100% (70/70) 100% (70/70)
|
140 |
-
mni Maniputi (0/78) (0/78) (0/78)
|
141 |
-
mo Moldavian 100% (128/128) 100% (128/128) 100% (128/128)
|
142 |
-
mr Marathi (Devanagari script) (0/68) (0/68) (0/68)
|
143 |
-
ms Malay 100% (52/52) 100% (52/52) 100% (52/52)
|
144 |
-
mt Maltese 100% (72/72) 100% (72/72) 100% (72/72)
|
145 |
-
my Burmese (Myanmar) (0/48) (0/48) (0/48)
|
146 |
-
na Nauru 100% (60/60) 100% (60/60) 100% (60/60)
|
147 |
-
nb Norwegian Bokmal 100% (70/70) 100% (70/70) 100% (70/70)
|
148 |
-
nds Low Saxon 100% (59/59) 100% (59/59) 100% (59/59)
|
149 |
-
ne Nepali (0/72) (0/72) (0/72)
|
150 |
-
ng Ndonga 100% (52/52) 100% (52/52) 100% (52/52)
|
151 |
-
nl Dutch 100% (82/82) 100% (82/82) 100% (82/82)
|
152 |
-
nn Norwegian Nynorsk 100% (76/76) 100% (76/76) 100% (76/76)
|
153 |
-
no Norwegian (Bokmal) 100% (70/70) 100% (70/70) 100% (70/70)
|
154 |
-
nqo N'Ko 91% (54/59) (0/59) (0/59)
|
155 |
-
nr Ndebele, South 100% (52/52) 100% (52/52) 100% (52/52)
|
156 |
-
nso Northern Sotho 100% (58/58) 100% (58/58) 100% (58/58)
|
157 |
-
nv Navajo/Navaho 100% (72/72) 100% (72/72) 100% (72/72)
|
158 |
-
ny Chichewa 100% (54/54) 100% (54/54) 100% (54/54)
|
159 |
-
oc Occitan 100% (70/70) 100% (70/70) 100% (70/70)
|
160 |
-
om Oromo or Galla 100% (52/52) 100% (52/52) 100% (52/52)
|
161 |
-
or Oriya (0/68) (0/68) (0/68)
|
162 |
-
os Ossetic 100% (66/66) 100% (66/66) 100% (66/66)
|
163 |
-
ota Ottoman Turkish 100% (37/37) (0/37) 97% (36/37)
|
164 |
-
pa Panjabi/Punjabi (0/63) (0/63) (0/63)
|
165 |
-
pa-pk Panjabi/Punjabi in Pakistan 92% (25/27) (0/27) 85% (23/27)
|
166 |
-
pap-an Papiamento in Netherlands Antilles 100% (72/72) 100% (72/72) 100% (72/72)
|
167 |
-
pap-aw Papiamento in Aruba 100% (54/54) 100% (54/54) 100% (54/54)
|
168 |
-
pes Western Farsi 100% (40/40) (0/40) 100% (40/40)
|
169 |
-
pl Polish 100% (70/70) 100% (70/70) 100% (70/70)
|
170 |
-
prs Dari/Eastern Farsi 100% (40/40) (0/40) 100% (40/40)
|
171 |
-
ps-af Pashto in Afghanistan 95% (47/49) (0/49) 77% (38/49)
|
172 |
-
ps-pk Pashto in Pakistan 93% (46/49) (0/49) 75% (37/49)
|
173 |
-
pt Portuguese 100% (82/82) 100% (82/82) 100% (82/82)
|
174 |
-
qu Quechua 100% (55/55) 100% (55/55) 100% (55/55)
|
175 |
-
rm Rhaeto-Romance (Romansch) 100% (66/66) 100% (66/66) 100% (66/66)
|
176 |
-
rn Rundi 100% (52/52) 100% (52/52) 100% (52/52)
|
177 |
-
ro Romanian 100% (62/62) 100% (62/62) 100% (62/62)
|
178 |
-
ru Russian 100% (66/66) 100% (66/66) 100% (66/66)
|
179 |
-
rw Kinyarwanda 100% (52/52) 100% (52/52) 100% (52/52)
|
180 |
-
sa Sanskrit (Devanagari script) (0/68) (0/68) (0/68)
|
181 |
-
sah Yakut 100% (76/76) 100% (76/76) 100% (76/76)
|
182 |
-
sat Santali (Devanagari script) (0/70) (0/70) (0/70)
|
183 |
-
sc Sardinian 100% (62/62) 100% (62/62) 100% (62/62)
|
184 |
-
sco Scots 100% (56/56) 100% (56/56) 100% (56/56)
|
185 |
-
sd Sindhi 100% (54/54) (0/54) 79% (43/54)
|
186 |
-
se North Sami 100% (66/66) 100% (66/66) 100% (66/66)
|
187 |
-
sel Selkup (Ostyak-Samoyed) 100% (66/66) 100% (66/66) 100% (66/66)
|
188 |
-
sg Sango 100% (72/72) 100% (72/72) 100% (72/72)
|
189 |
-
sh Serbo-Croatian 100% (156/156) 100% (156/156) 98% (154/156)
|
190 |
-
shs Secwepemctsin 100% (48/48) 100% (48/48) 100% (48/48)
|
191 |
-
si Sinhala/Sinhalese (0/73) (0/73) (0/73)
|
192 |
-
sid Sidamo (0/281) (0/281) (0/281)
|
193 |
-
sk Slovak 100% (86/86) 100% (86/86) 100% (86/86)
|
194 |
-
sl Slovenian 100% (62/62) 100% (62/62) 100% (62/62)
|
195 |
-
sm Samoan 100% (53/53) 100% (53/53) 100% (53/53)
|
196 |
-
sma South Sami 100% (60/60) 100% (60/60) 100% (60/60)
|
197 |
-
smj Lule Sami 100% (60/60) 100% (60/60) 100% (60/60)
|
198 |
-
smn Inari Sami 100% (68/68) 100% (68/68) 100% (68/68)
|
199 |
-
sms Skolt Sami 100% (80/80) 100% (80/80) 97% (78/80)
|
200 |
-
sn Shona 100% (52/52) 100% (52/52) 100% (52/52)
|
201 |
-
so Somali 100% (52/52) 100% (52/52) 100% (52/52)
|
202 |
-
sq Albanian 100% (56/56) 100% (56/56) 100% (56/56)
|
203 |
-
sr Serbian 100% (60/60) 100% (60/60) 100% (60/60)
|
204 |
-
ss Swati 100% (52/52) 100% (52/52) 100% (52/52)
|
205 |
-
st Sotho, Southern 100% (52/52) 100% (52/52) 100% (52/52)
|
206 |
-
su Sundanese 100% (54/54) 100% (54/54) 100% (54/54)
|
207 |
-
sv Swedish 100% (68/68) 100% (68/68) 100% (68/68)
|
208 |
-
sw Swahili 100% (52/52) 100% (52/52) 100% (52/52)
|
209 |
-
syr Syriac (0/45) (0/45) (0/45)
|
210 |
-
ta Tamil (0/48) (0/48) (0/48)
|
211 |
-
te Telugu (0/70) (0/70) (0/70)
|
212 |
-
tg Tajik 100% (78/78) 100% (78/78) 97% (76/78)
|
213 |
-
th Thai 1% (1/74) (0/74) (0/74)
|
214 |
-
ti-er Eritrean Tigrinya (0/255) (0/255) (0/255)
|
215 |
-
ti-et Ethiopian Tigrinya (0/281) (0/281) (0/281)
|
216 |
-
tig Tigre (0/221) (0/221) (0/221)
|
217 |
-
tk Turkmen 100% (68/68) 100% (68/68) 100% (68/68)
|
218 |
-
tl Tagalog 100% (84/84) 100% (84/84) 100% (84/84)
|
219 |
-
tn Tswana 100% (58/58) 100% (58/58) 100% (58/58)
|
220 |
-
to Tonga 100% (53/53) 100% (53/53) 100% (53/53)
|
221 |
-
tr Turkish 100% (70/70) 100% (70/70) 100% (70/70)
|
222 |
-
ts Tsonga 100% (52/52) 100% (52/52) 100% (52/52)
|
223 |
-
tt Tatar 100% (76/76) 100% (76/76) 100% (76/76)
|
224 |
-
tw Twi 100% (73/73) 100% (73/73) 100% (73/73)
|
225 |
-
ty Tahitian 100% (65/65) 100% (65/65) 100% (65/65)
|
226 |
-
tyv Tuvinian 100% (70/70) 100% (70/70) 100% (70/70)
|
227 |
-
ug Uyghur 87% (29/33) (0/33) 78% (26/33)
|
228 |
-
uk Ukrainian 100% (72/72) 100% (72/72) 100% (72/72)
|
229 |
-
ur Urdu 92% (25/27) (0/27) 85% (23/27)
|
230 |
-
uz Uzbek 100% (52/52) 100% (52/52) 100% (52/52)
|
231 |
-
ve Venda 100% (62/62) 100% (62/62) 100% (62/62)
|
232 |
-
vi Vietnamese 100% (194/194) 100% (194/194) 76% (148/194)
|
233 |
-
vo Volapuk 100% (54/54) 100% (54/54) 100% (54/54)
|
234 |
-
vot Votic 100% (62/62) 100% (62/62) 100% (62/62)
|
235 |
-
wa Walloon 100% (70/70) 100% (70/70) 100% (70/70)
|
236 |
-
wal Wolaitta/Wolaytta (0/281) (0/281) (0/281)
|
237 |
-
wen Sorbian languages (lower and upper) 100% (76/76) 100% (76/76) 100% (76/76)
|
238 |
-
wo Wolof 100% (66/66) 100% (66/66) 100% (66/66)
|
239 |
-
xh Xhosa 100% (52/52) 100% (52/52) 100% (52/52)
|
240 |
-
yap Yapese 100% (58/58) 100% (58/58) 100% (58/58)
|
241 |
-
yi Yiddish 100% (27/27) (0/27) (0/27)
|
242 |
-
yo Yoruba 100% (119/119) 100% (119/119) 100% (119/119)
|
243 |
-
za Zhuang/Chuang 100% (52/52) 100% (52/52) 100% (52/52)
|
244 |
-
zh-cn Chinese (simplified) 0% (2/6765) 0% (2/6765) 0% (2/6765)
|
245 |
-
zh-hk Chinese Hong Kong Supplementary Character Set (0/2213) (0/2213) (0/2213)
|
246 |
-
zh-mo Chinese in Macau (0/2213) (0/2213) (0/2213)
|
247 |
-
zh-sg Chinese in Singapore 0% (2/6765) 0% (2/6765) 0% (2/6765)
|
248 |
-
zh-tw Chinese (traditional) (0/13063) (0/13063) (0/13063)
|
249 |
-
zu Zulu 100% (52/52) 100% (52/52) 100% (52/52)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,6766 +0,0 @@
|
|
1 |
-
This is the status file for DejaVu fonts
|
2 |
-
($Id: status.txt 2475 2011-02-27 14:51:17Z ben_laenen $)
|
3 |
-
|
4 |
-
original = present in original Bitstream Vera 1.10
|
5 |
-
<version> = added in DejaVu fonts <version>
|
6 |
-
|
7 |
-
U+0020 space original
|
8 |
-
U+0021 exclam original
|
9 |
-
U+0022 quotedbl original
|
10 |
-
U+0023 numbersign original
|
11 |
-
U+0024 dollar original
|
12 |
-
U+0025 percent original
|
13 |
-
U+0026 ampersand original
|
14 |
-
U+0027 quotesingle original
|
15 |
-
U+0028 parenleft original
|
16 |
-
U+0029 parenright original
|
17 |
-
U+002a asterisk original
|
18 |
-
U+002b plus original
|
19 |
-
U+002c comma original
|
20 |
-
U+002d hyphen original
|
21 |
-
U+002e period original
|
22 |
-
U+002f slash original
|
23 |
-
U+0030 zero original
|
24 |
-
U+0031 one original
|
25 |
-
U+0032 two original
|
26 |
-
U+0033 three original
|
27 |
-
U+0034 four original
|
28 |
-
U+0035 five original
|
29 |
-
U+0036 six original
|
30 |
-
U+0037 seven original
|
31 |
-
U+0038 eight original
|
32 |
-
U+0039 nine original
|
33 |
-
U+003a colon original
|
34 |
-
U+003b semicolon original
|
35 |
-
U+003c less original
|
36 |
-
U+003d equal original
|
37 |
-
U+003e greater original
|
38 |
-
U+003f question original
|
39 |
-
U+0040 at original
|
40 |
-
U+0041 A original
|
41 |
-
U+0042 B original
|
42 |
-
U+0043 C original
|
43 |
-
U+0044 D original
|
44 |
-
U+0045 E original
|
45 |
-
U+0046 F original
|
46 |
-
U+0047 G original
|
47 |
-
U+0048 H original
|
48 |
-
U+0049 I original
|
49 |
-
U+004a J original
|
50 |
-
U+004b K original
|
51 |
-
U+004c L original
|
52 |
-
U+004d M original
|
53 |
-
U+004e N original
|
54 |
-
U+004f O original
|
55 |
-
U+0050 P original
|
56 |
-
U+0051 Q original
|
57 |
-
U+0052 R original
|
58 |
-
U+0053 S original
|
59 |
-
U+0054 T original
|
60 |
-
U+0055 U original
|
61 |
-
U+0056 V original
|
62 |
-
U+0057 W original
|
63 |
-
U+0058 X original
|
64 |
-
U+0059 Y original
|
65 |
-
U+005a Z original
|
66 |
-
U+005b bracketleft original
|
67 |
-
U+005c backslash original
|
68 |
-
U+005d bracketright original
|
69 |
-
U+005e asciicircum original
|
70 |
-
U+005f underscore original
|
71 |
-
U+0060 grave original
|
72 |
-
U+0061 a original
|
73 |
-
U+0062 b original
|
74 |
-
U+0063 c original
|
75 |
-
U+0064 d original
|
76 |
-
U+0065 e original
|
77 |
-
U+0066 f original
|
78 |
-
U+0067 g original
|
79 |
-
U+0068 h original
|
80 |
-
U+0069 i original
|
81 |
-
U+006a j original
|
82 |
-
U+006b k original
|
83 |
-
U+006c l original
|
84 |
-
U+006d m original
|
85 |
-
U+006e n original
|
86 |
-
U+006f o original
|
87 |
-
U+0070 p original
|
88 |
-
U+0071 q original
|
89 |
-
U+0072 r original
|
90 |
-
U+0073 s original
|
91 |
-
U+0074 t original
|
92 |
-
U+0075 u original
|
93 |
-
U+0076 v original
|
94 |
-
U+0077 w original
|
95 |
-
U+0078 x original
|
96 |
-
U+0079 y original
|
97 |
-
U+007a z original
|
98 |
-
U+007b braceleft original
|
99 |
-
U+007c bar original
|
100 |
-
U+007d braceright original
|
101 |
-
U+007e asciitilde original
|
102 |
-
U+00a0 nonbreakingspace original
|
103 |
-
U+00a1 exclamdown original
|
104 |
-
U+00a2 cent original
|
105 |
-
U+00a3 sterling original
|
106 |
-
U+00a4 currency original
|
107 |
-
U+00a5 yen original
|
108 |
-
U+00a6 brokenbar original
|
109 |
-
U+00a7 section original
|
110 |
-
U+00a8 dieresis original
|
111 |
-
U+00a9 copyright original
|
112 |
-
U+00aa ordfeminine original
|
113 |
-
U+00ab guillemotleft original
|
114 |
-
U+00ac logicalnot original
|
115 |
-
U+00ad sfthyphen original
|
116 |
-
U+00ae registered original
|
117 |
-
U+00af macron original
|
118 |
-
U+00b0 degree original
|
119 |
-
U+00b1 plusminus original
|
120 |
-
U+00b2 twosuperior original
|
121 |
-
U+00b3 threesuperior original
|
122 |
-
U+00b4 acute original
|
123 |
-
U+00b5 mu original
|
124 |
-
U+00b6 paragraph original
|
125 |
-
U+00b7 periodcentered original
|
126 |
-
U+00b8 cedilla original
|
127 |
-
U+00b9 onesuperior original
|
128 |
-
U+00ba ordmasculine original
|
129 |
-
U+00bb guillemotright original
|
130 |
-
U+00bc onequarter original
|
131 |
-
U+00bd onehalf original
|
132 |
-
U+00be threequarters original
|
133 |
-
U+00bf questiondown original
|
134 |
-
U+00c0 Agrave original
|
135 |
-
U+00c1 Aacute original
|
136 |
-
U+00c2 Acircumflex original
|
137 |
-
U+00c3 Atilde original
|
138 |
-
U+00c4 Adieresis original
|
139 |
-
U+00c5 Aring original
|
140 |
-
U+00c6 AE original
|
141 |
-
U+00c7 Ccedilla original
|
142 |
-
U+00c8 Egrave original
|
143 |
-
U+00c9 Eacute original
|
144 |
-
U+00ca Ecircumflex original
|
145 |
-
U+00cb Edieresis original
|
146 |
-
U+00cc Igrave original
|
147 |
-
U+00cd Iacute original
|
148 |
-
U+00ce Icircumflex original
|
149 |
-
U+00cf Idieresis original
|
150 |
-
U+00d0 Eth original
|
151 |
-
U+00d1 Ntilde original
|
152 |
-
U+00d2 Ograve original
|
153 |
-
U+00d3 Oacute original
|
154 |
-
U+00d4 Ocircumflex original
|
155 |
-
U+00d5 Otilde original
|
156 |
-
U+00d6 Odieresis original
|
157 |
-
U+00d7 multiply original
|
158 |
-
U+00d8 Oslash original
|
159 |
-
U+00d9 Ugrave original
|
160 |
-
U+00da Uacute original
|
161 |
-
U+00db Ucircumflex original
|
162 |
-
U+00dc Udieresis original
|
163 |
-
U+00dd Yacute original
|
164 |
-
U+00de Thorn original
|
165 |
-
U+00df germandbls original
|
166 |
-
U+00e0 agrave original
|
167 |
-
U+00e1 aacute original
|
168 |
-
U+00e2 acircumflex original
|
169 |
-
U+00e3 atilde original
|
170 |
-
U+00e4 adieresis original
|
171 |
-
U+00e5 aring original
|
172 |
-
U+00e6 ae original
|
173 |
-
U+00e7 ccedilla original
|
174 |
-
U+00e8 egrave original
|
175 |
-
U+00e9 eacute original
|
176 |
-
U+00ea ecircumflex original
|
177 |
-
U+00eb edieresis original
|
178 |
-
U+00ec igrave original
|
179 |
-
U+00ed iacute original
|
180 |
-
U+00ee icircumflex original
|
181 |
-
U+00ef idieresis original
|
182 |
-
U+00f0 eth original
|
183 |
-
U+00f1 ntilde original
|
184 |
-
U+00f2 ograve original
|
185 |
-
U+00f3 oacute original
|
186 |
-
U+00f4 ocircumflex original
|
187 |
-
U+00f5 otilde original
|
188 |
-
U+00f6 odieresis original
|
189 |
-
U+00f7 divide original
|
190 |
-
U+00f8 oslash original
|
191 |
-
U+00f9 ugrave original
|
192 |
-
U+00fa uacute original
|
193 |
-
U+00fb ucircumflex original
|
194 |
-
U+00fc udieresis original
|
195 |
-
U+00fd yacute original
|
196 |
-
U+00fe thorn original
|
197 |
-
U+00ff ydieresis original
|
198 |
-
U+0100 Amacron 1.5
|
199 |
-
U+0101 amacron 1.5
|
200 |
-
U+0102 Abreve 1.5
|
201 |
-
U+0103 abreve 1.5
|
202 |
-
U+0104 Aogonek 1.4
|
203 |
-
U+0105 aogonek 1.4
|
204 |
-
U+0106 Cacute original
|
205 |
-
U+0107 cacute original
|
206 |
-
U+0108 Ccircumflex 1.5
|
207 |
-
U+0109 ccircumflex 1.5
|
208 |
-
U+010a Cdotaccent 1.5
|
209 |
-
U+010b cdotaccent 1.5
|
210 |
-
U+010c Ccaron original
|
211 |
-
U+010d ccaron original
|
212 |
-
U+010e Dcaron 1.0
|
213 |
-
U+010f dcaron 1.0
|
214 |
-
U+0110 Dcroat 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
215 |
-
U+0111 dcroat original
|
216 |
-
U+0112 Emacron 1.5
|
217 |
-
U+0113 emacron 1.5
|
218 |
-
U+0114 Ebreve 1.5
|
219 |
-
U+0115 ebreve 1.5
|
220 |
-
U+0116 Edotaccent 1.5
|
221 |
-
U+0117 edotaccent 1.5
|
222 |
-
U+0118 Eogonek 1.4
|
223 |
-
U+0119 eogonek 1.4
|
224 |
-
U+011a Ecaron 1.0
|
225 |
-
U+011b ecaron 1.0
|
226 |
-
U+011c Gcircumflex 1.5
|
227 |
-
U+011d gcircumflex 1.5
|
228 |
-
U+011e Gbreve original
|
229 |
-
U+011f gbreve original
|
230 |
-
U+0120 Gdotaccent 1.5
|
231 |
-
U+0121 gdotaccent 1.5
|
232 |
-
U+0122 Gcommaaccent 1.11
|
233 |
-
U+0123 gcommaaccent 1.11
|
234 |
-
U+0124 Hcircumflex 1.5
|
235 |
-
U+0125 hcircumflex 1.5
|
236 |
-
U+0126 Hbar 1.12
|
237 |
-
U+0127 hbar 1.12
|
238 |
-
U+0128 Itilde 1.5
|
239 |
-
U+0129 itilde 1.5
|
240 |
-
U+012a Imacron 1.5
|
241 |
-
U+012b imacron 1.5
|
242 |
-
U+012c Ibreve 1.5
|
243 |
-
U+012d ibreve 1.5
|
244 |
-
U+012e Iogonek 1.11
|
245 |
-
U+012f iogonek 1.11
|
246 |
-
U+0130 Idotaccent original
|
247 |
-
U+0131 dotlessi original
|
248 |
-
U+0132 IJ 1.11
|
249 |
-
U+0133 ij 1.11
|
250 |
-
U+0134 Jcircumflex 1.5
|
251 |
-
U+0135 jcircumflex 1.5
|
252 |
-
U+0136 Kcommaaccent 1.11
|
253 |
-
U+0137 kcommaaccent 1.11
|
254 |
-
U+0138 kgreenlandic 1.12
|
255 |
-
U+0139 Lacute 1.1
|
256 |
-
U+013a lacute 1.1
|
257 |
-
U+013b Lcommaaccent 1.11
|
258 |
-
U+013c lcommaaccent 1.11
|
259 |
-
U+013d Lcaron 1.1
|
260 |
-
U+013e lcaron 1.1
|
261 |
-
U+013f Ldot 1.2
|
262 |
-
U+0140 ldot 1.2
|
263 |
-
U+0141 Lslash original
|
264 |
-
U+0142 lslash original
|
265 |
-
U+0143 Nacute 1.4
|
266 |
-
U+0144 nacute 1.4
|
267 |
-
U+0145 Ncommaaccent 1.11
|
268 |
-
U+0146 ncommaaccent 1.11
|
269 |
-
U+0147 Ncaron 1.0
|
270 |
-
U+0148 ncaron 1.0
|
271 |
-
U+0149 napostrophe 1.12
|
272 |
-
U+014a Eng 1.12
|
273 |
-
U+014b eng 1.12
|
274 |
-
U+014c Omacron 1.5
|
275 |
-
U+014d omacron 1.5
|
276 |
-
U+014e Obreve 1.5
|
277 |
-
U+014f obreve 1.5
|
278 |
-
U+0150 Ohungarumlaut 1.5
|
279 |
-
U+0151 ohungarumlaut 1.5
|
280 |
-
U+0152 OE original
|
281 |
-
U+0153 oe original
|
282 |
-
U+0154 Racute 1.1
|
283 |
-
U+0155 racute 1.1
|
284 |
-
U+0156 Rcommaaccent 1.11
|
285 |
-
U+0157 rcommaaccent 1.11
|
286 |
-
U+0158 Rcaron 1.0
|
287 |
-
U+0159 rcaron 1.0
|
288 |
-
U+015a Sacute 1.4
|
289 |
-
U+015b sacute 1.4
|
290 |
-
U+015c Scircumflex 1.5
|
291 |
-
U+015d scircumflex 1.5
|
292 |
-
U+015e Scedilla original
|
293 |
-
U+015f scedilla original
|
294 |
-
U+0160 Scaron original
|
295 |
-
U+0161 scaron original
|
296 |
-
U+0162 Tcommaaccent 1.5
|
297 |
-
U+0163 tcommaaccent 1.5
|
298 |
-
U+0164 Tcaron 1.0
|
299 |
-
U+0165 tcaron 1.0
|
300 |
-
U+0166 Tbar 1.12
|
301 |
-
U+0167 tbar 1.12
|
302 |
-
U+0168 Utilde 1.5
|
303 |
-
U+0169 utilde 1.5
|
304 |
-
U+016a Umacron 1.5
|
305 |
-
U+016b umacron 1.5
|
306 |
-
U+016c Ubreve 1.5
|
307 |
-
U+016d ubreve 1.5
|
308 |
-
U+016e Uring 1.0
|
309 |
-
U+016f uring 1.0
|
310 |
-
U+0170 Uhungarumlaut 1.5
|
311 |
-
U+0171 uhungarumlaut 1.5
|
312 |
-
U+0172 Uogonek 1.11
|
313 |
-
U+0173 uogonek 1.11
|
314 |
-
U+0174 Wcircumflex 1.2
|
315 |
-
U+0175 wcircumflex 1.2
|
316 |
-
U+0176 Ycircumflex 1.2
|
317 |
-
U+0177 ycircumflex 1.2
|
318 |
-
U+0178 Ydieresis original
|
319 |
-
U+0179 Zacute 1.4
|
320 |
-
U+017a zacute 1.4
|
321 |
-
U+017b Zdotaccent 1.4
|
322 |
-
U+017c zdotaccent 1.4
|
323 |
-
U+017d Zcaron original
|
324 |
-
U+017e zcaron original
|
325 |
-
U+017f longs 1.12
|
326 |
-
U+0180 uni0180 2.1 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight) 2.12 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.22 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
327 |
-
U+0181 uni0181 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
328 |
-
U+0182 uni0182 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
329 |
-
U+0183 uni0183 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
330 |
-
U+0184 uni0184 2.3
|
331 |
-
U+0185 uni0185 2.3
|
332 |
-
U+0186 uni0186 1.15
|
333 |
-
U+0187 uni0187 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
334 |
-
U+0188 uni0188 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
335 |
-
U+0189 uni0189 2.1
|
336 |
-
U+018a uni018A 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
337 |
-
U+018b uni018B 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
338 |
-
U+018c uni018C 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
339 |
-
U+018d uni018D 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
340 |
-
U+018e uni018E 2.1 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
341 |
-
U+018f uni018F 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
342 |
-
U+0190 uni0190 1.15
|
343 |
-
U+0191 uni0191 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
344 |
-
U+0192 florin original
|
345 |
-
U+0193 uni0193 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
346 |
-
U+0194 uni0194 1.14
|
347 |
-
U+0195 uni0195 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.6 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
348 |
-
U+0196 uni0196 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
349 |
-
U+0197 uni0197 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
350 |
-
U+0198 uni0198 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
351 |
-
U+0199 uni0199 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
352 |
-
U+019a uni019A 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
353 |
-
U+019b uni019B 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
354 |
-
U+019c uni019C 2.3
|
355 |
-
U+019d uni019D 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
356 |
-
U+019e uni019E 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
357 |
-
U+019f uni019F 2.3
|
358 |
-
U+01a0 Ohorn 2.3
|
359 |
-
U+01a1 ohorn 2.3
|
360 |
-
U+01a2 uni01A2 2.3
|
361 |
-
U+01a3 uni01A3 2.3
|
362 |
-
U+01a4 uni01A4 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
363 |
-
U+01a5 uni01A5 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
364 |
-
U+01a6 uni01A6 2.3
|
365 |
-
U+01a7 uni01A7 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
366 |
-
U+01a8 uni01A8 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
367 |
-
U+01a9 uni01A9 2.2
|
368 |
-
U+01aa uni01AA 2.3
|
369 |
-
U+01ab uni01AB 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
370 |
-
U+01ac uni01AC 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
371 |
-
U+01ad uni01AD 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
372 |
-
U+01ae uni01AE 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
373 |
-
U+01af Uhorn 2.3
|
374 |
-
U+01b0 uhorn 2.3
|
375 |
-
U+01b1 uni01B1 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
376 |
-
U+01b2 uni01B2 2.3
|
377 |
-
U+01b3 uni01B3 2.3
|
378 |
-
U+01b4 uni01B4 2.3
|
379 |
-
U+01b5 uni01B5 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
380 |
-
U+01b6 uni01B6 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
381 |
-
U+01b7 uni01B7 2.3
|
382 |
-
U+01b8 uni01B8 2.3
|
383 |
-
U+01b9 uni01B9 2.3
|
384 |
-
U+01ba uni01BA 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.26 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.33 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
385 |
-
U+01bb uni01BB 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
386 |
-
U+01bc uni01BC 2.3
|
387 |
-
U+01bd uni01BD 2.3
|
388 |
-
U+01be uni01BE 2.3
|
389 |
-
U+01bf uni01BF 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.26 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
390 |
-
U+01c0 uni01C0 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
391 |
-
U+01c1 uni01C1 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
392 |
-
U+01c2 uni01C2 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
393 |
-
U+01c3 uni01C3 2.2
|
394 |
-
U+01c4 uni01C4 1.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
395 |
-
U+01c5 uni01C5 1.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
396 |
-
U+01c6 uni01C6 1.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
397 |
-
U+01c7 uni01C7 1.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
398 |
-
U+01c8 uni01C8 1.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
399 |
-
U+01c9 uni01C9 1.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
400 |
-
U+01ca uni01CA 1.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
401 |
-
U+01cb uni01CB 1.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
402 |
-
U+01cc uni01CC 1.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
403 |
-
U+01cd uni01CD 1.15
|
404 |
-
U+01ce uni01CE 1.15
|
405 |
-
U+01cf uni01CF 1.15
|
406 |
-
U+01d0 uni01D0 1.15
|
407 |
-
U+01d1 uni01D1 1.15
|
408 |
-
U+01d2 uni01D2 1.15
|
409 |
-
U+01d3 uni01D3 1.15
|
410 |
-
U+01d4 uni01D4 1.15
|
411 |
-
U+01d5 uni01D5 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.22 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
412 |
-
U+01d6 uni01D6 1.13
|
413 |
-
U+01d7 uni01D7 2.3
|
414 |
-
U+01d8 uni01D8 2.3
|
415 |
-
U+01d9 uni01D9 2.3
|
416 |
-
U+01da uni01DA 2.3
|
417 |
-
U+01db uni01DB 2.3
|
418 |
-
U+01dc uni01DC 2.3
|
419 |
-
U+01dd uni01DD 2.2
|
420 |
-
U+01de uni01DE 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.22 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique) 2.23 (Serif Italic Condensed)
|
421 |
-
U+01df uni01DF 1.13
|
422 |
-
U+01e0 uni01E0 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.22 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
423 |
-
U+01e1 uni01E1 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.22 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
424 |
-
U+01e2 uni01E2 1.5
|
425 |
-
U+01e3 uni01E3 1.5
|
426 |
-
U+01e4 uni01E4 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.7 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed) 2.26 (Sans ExtraLight)
|
427 |
-
U+01e5 uni01E5 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.7 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed) 2.26 (Sans ExtraLight)
|
428 |
-
U+01e6 Gcaron 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
429 |
-
U+01e7 gcaron 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
430 |
-
U+01e8 uni01E8 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
431 |
-
U+01e9 uni01E9 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
432 |
-
U+01ea uni01EA 1.9
|
433 |
-
U+01eb uni01EB 1.9
|
434 |
-
U+01ec uni01EC 1.9
|
435 |
-
U+01ed uni01ED 1.9
|
436 |
-
U+01ee uni01EE 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
437 |
-
U+01ef uni01EF 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
438 |
-
U+01f0 uni01F0 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono) 2.22 (Sans Mono Bold) 2.23 (Serif Italic Condensed)
|
439 |
-
U+01f1 uni01F1 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
440 |
-
U+01f2 uni01F2 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
441 |
-
U+01f3 uni01F3 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
442 |
-
U+01f4 uni01F4 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
443 |
-
U+01f5 uni01F5 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
444 |
-
U+01f6 uni01F6 2.3
|
445 |
-
U+01f7 uni01F7 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
446 |
-
U+01f8 uni01F8 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.7 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
447 |
-
U+01f9 uni01F9 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.7 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
448 |
-
U+01fa Aringacute 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.7 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
449 |
-
U+01fb aringacute 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.7 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
450 |
-
U+01fc AEacute 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
451 |
-
U+01fd aeacute 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
452 |
-
U+01fe Oslashacute 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
453 |
-
U+01ff oslashacute 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
454 |
-
U+0200 uni0200 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
455 |
-
U+0201 uni0201 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
456 |
-
U+0202 uni0202 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
457 |
-
U+0203 uni0203 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
458 |
-
U+0204 uni0204 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
459 |
-
U+0205 uni0205 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
460 |
-
U+0206 uni0206 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
461 |
-
U+0207 uni0207 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
462 |
-
U+0208 uni0208 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
463 |
-
U+0209 uni0209 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
464 |
-
U+020a uni020A 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
465 |
-
U+020b uni020B 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
466 |
-
U+020c uni020C 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
467 |
-
U+020d uni020D 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
468 |
-
U+020e uni020E 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
469 |
-
U+020f uni020F 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
470 |
-
U+0210 uni0210 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
471 |
-
U+0211 uni0211 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
472 |
-
U+0212 uni0212 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
473 |
-
U+0213 uni0213 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
474 |
-
U+0214 uni0214 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
475 |
-
U+0215 uni0215 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
476 |
-
U+0216 uni0216 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
477 |
-
U+0217 uni0217 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
478 |
-
U+0218 Scommaaccent 1.5
|
479 |
-
U+0219 scommaaccent 1.5
|
480 |
-
U+021a uni021A 1.5
|
481 |
-
U+021b uni021B 1.5
|
482 |
-
U+021c uni021C 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.27 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Italic, Serif Italic Condensed) 2.28 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.31 (Serif Condensed Italic)
|
483 |
-
U+021d uni021D 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.27 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Italic, Serif Italic Condensed) 2.28 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.31 (Serif Condensed Italic)
|
484 |
-
U+021e uni021E 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
485 |
-
U+021f uni021F 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
486 |
-
U+0220 uni0220 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.16 (Serif, Serif Bold, Serif Bold Italic, Serif Italic) 2.17 (Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.18 (Sans Mono, Sans Mono Bold) 2.23 (Serif Italic Condensed)
|
487 |
-
U+0221 uni0221 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
488 |
-
U+0222 uni0222 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
489 |
-
U+0223 uni0223 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
490 |
-
U+0224 uni0224 2.3
|
491 |
-
U+0225 uni0225 2.3
|
492 |
-
U+0226 uni0226 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
493 |
-
U+0227 uni0227 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
494 |
-
U+0228 uni0228 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
495 |
-
U+0229 uni0229 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
496 |
-
U+022a uni022A 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.22 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
497 |
-
U+022b uni022B 1.13
|
498 |
-
U+022c uni022C 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.22 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
499 |
-
U+022d uni022D 1.13
|
500 |
-
U+022e uni022E 1.10
|
501 |
-
U+022f uni022F 1.10
|
502 |
-
U+0230 uni0230 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.5 (Sans ExtraLight) 2.22 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
503 |
-
U+0231 uni0231 1.13
|
504 |
-
U+0232 uni0232 1.5
|
505 |
-
U+0233 uni0233 1.5
|
506 |
-
U+0234 uni0234 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
507 |
-
U+0235 uni0235 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
508 |
-
U+0236 uni0236 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
509 |
-
U+0237 dotlessj 1.5
|
510 |
-
U+0238 uni0238 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.10 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
511 |
-
U+0239 uni0239 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.10 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
512 |
-
U+023a uni023A 2.3
|
513 |
-
U+023b uni023B 2.3
|
514 |
-
U+023c uni023C 2.3
|
515 |
-
U+023d uni023D 2.3
|
516 |
-
U+023e uni023E 2.3
|
517 |
-
U+023f uni023F 2.3
|
518 |
-
U+0240 uni0240 2.3
|
519 |
-
U+0241 uni0241 2.3
|
520 |
-
U+0242 uni0242 2.10 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Italic) 2.11 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.23 (Serif Italic Condensed)
|
521 |
-
U+0243 uni0243 2.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.33 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique)
|
522 |
-
U+0244 uni0244 2.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.27 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
523 |
-
U+0245 uni0245 2.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.10 (Sans ExtraLight, Serif, Serif Bold, Serif Bold Italic, Serif Italic) 2.11 (Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
524 |
-
U+0246 uni0246 2.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
525 |
-
U+0247 uni0247 2.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
526 |
-
U+0248 uni0248 2.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.26 (Sans ExtraLight) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
527 |
-
U+0249 uni0249 2.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.26 (Sans ExtraLight) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
528 |
-
U+024a uni024A 2.10 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 2.11 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
529 |
-
U+024b uni024B 2.10 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 2.11 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique) 2.26 (Sans ExtraLight) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
530 |
-
U+024c uni024C 2.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.26 (Sans ExtraLight) 2.27 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
531 |
-
U+024d uni024D 2.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.26 (Sans ExtraLight) 2.27 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
532 |
-
U+024e uni024E 2.10 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 2.11 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
533 |
-
U+024f uni024F 2.10 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 2.11 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
534 |
-
U+0250 uni0250 1.14
|
535 |
-
U+0251 uni0251 1.14
|
536 |
-
U+0252 uni0252 1.14
|
537 |
-
U+0253 uni0253 1.14
|
538 |
-
U+0254 uni0254 1.14
|
539 |
-
U+0255 uni0255 1.14
|
540 |
-
U+0256 uni0256 1.14
|
541 |
-
U+0257 uni0257 1.14
|
542 |
-
U+0258 uni0258 1.14
|
543 |
-
U+0259 uni0259 1.14
|
544 |
-
U+025a uni025A 1.14
|
545 |
-
U+025b uni025B 1.14
|
546 |
-
U+025c uni025C 1.14
|
547 |
-
U+025d uni025D 1.14
|
548 |
-
U+025e uni025E 1.14
|
549 |
-
U+025f uni025F 1.14
|
550 |
-
U+0260 uni0260 1.14
|
551 |
-
U+0261 uni0261 1.14
|
552 |
-
U+0262 uni0262 1.14
|
553 |
-
U+0263 uni0263 1.14
|
554 |
-
U+0264 uni0264 1.14
|
555 |
-
U+0265 uni0265 1.14
|
556 |
-
U+0266 uni0266 1.14
|
557 |
-
U+0267 uni0267 1.14
|
558 |
-
U+0268 uni0268 1.14
|
559 |
-
U+0269 uni0269 1.14
|
560 |
-
U+026a uni026A 1.14
|
561 |
-
U+026b uni026B 1.14
|
562 |
-
U+026c uni026C 1.14
|
563 |
-
U+026d uni026D 1.14
|
564 |
-
U+026e uni026E 1.14
|
565 |
-
U+026f uni026F 1.14
|
566 |
-
U+0270 uni0270 1.14
|
567 |
-
U+0271 uni0271 1.14
|
568 |
-
U+0272 uni0272 1.14
|
569 |
-
U+0273 uni0273 1.14
|
570 |
-
U+0274 uni0274 1.14
|
571 |
-
U+0275 uni0275 1.14
|
572 |
-
U+0276 uni0276 1.14
|
573 |
-
U+0277 uni0277 1.14
|
574 |
-
U+0278 uni0278 1.14
|
575 |
-
U+0279 uni0279 1.14
|
576 |
-
U+027a uni027A 1.14
|
577 |
-
U+027b uni027B 1.14
|
578 |
-
U+027c uni027C 1.14
|
579 |
-
U+027d uni027D 1.14
|
580 |
-
U+027e uni027E 1.14
|
581 |
-
U+027f uni027F 1.14
|
582 |
-
U+0280 uni0280 1.14
|
583 |
-
U+0281 uni0281 1.14
|
584 |
-
U+0282 uni0282 1.14
|
585 |
-
U+0283 uni0283 1.14
|
586 |
-
U+0284 uni0284 1.14
|
587 |
-
U+0285 uni0285 1.14
|
588 |
-
U+0286 uni0286 1.14
|
589 |
-
U+0287 uni0287 1.14
|
590 |
-
U+0288 uni0288 1.14
|
591 |
-
U+0289 uni0289 1.14
|
592 |
-
U+028a uni028A 1.14
|
593 |
-
U+028b uni028B 1.14
|
594 |
-
U+028c uni028C 1.14
|
595 |
-
U+028d uni028D 1.14
|
596 |
-
U+028e uni028E 1.14
|
597 |
-
U+028f uni028F 1.14
|
598 |
-
U+0290 uni0290 1.14
|
599 |
-
U+0291 uni0291 1.14
|
600 |
-
U+0292 uni0292 1.14
|
601 |
-
U+0293 uni0293 1.14
|
602 |
-
U+0294 uni0294 1.14
|
603 |
-
U+0295 uni0295 1.14
|
604 |
-
U+0296 uni0296 1.14
|
605 |
-
U+0297 uni0297 1.14
|
606 |
-
U+0298 uni0298 1.14
|
607 |
-
U+0299 uni0299 1.14
|
608 |
-
U+029a uni029A 1.14
|
609 |
-
U+029b uni029B 1.14
|
610 |
-
U+029c uni029C 1.14
|
611 |
-
U+029d uni029D 1.14
|
612 |
-
U+029e uni029E 1.14
|
613 |
-
U+029f uni029F 1.14
|
614 |
-
U+02a0 uni02A0 1.14
|
615 |
-
U+02a1 uni02A1 1.14
|
616 |
-
U+02a2 uni02A2 1.14
|
617 |
-
U+02a3 uni02A3 1.14
|
618 |
-
U+02a4 uni02A4 1.14
|
619 |
-
U+02a5 uni02A5 1.14
|
620 |
-
U+02a6 uni02A6 1.14
|
621 |
-
U+02a7 uni02A7 1.14
|
622 |
-
U+02a8 uni02A8 1.14
|
623 |
-
U+02a9 uni02A9 1.14
|
624 |
-
U+02aa uni02AA 1.14
|
625 |
-
U+02ab uni02AB 1.14
|
626 |
-
U+02ac uni02AC 1.14
|
627 |
-
U+02ad uni02AD 1.14
|
628 |
-
U+02ae uni02AE 1.14
|
629 |
-
U+02af uni02AF 1.14
|
630 |
-
U+02b0 uni02B0 1.14
|
631 |
-
U+02b1 uni02B1 1.14
|
632 |
-
U+02b2 uni02B2 1.14
|
633 |
-
U+02b3 uni02B3 1.14
|
634 |
-
U+02b4 uni02B4 1.14
|
635 |
-
U+02b5 uni02B5 1.14
|
636 |
-
U+02b6 uni02B6 1.14
|
637 |
-
U+02b7 uni02B7 1.14
|
638 |
-
U+02b8 uni02B8 1.14
|
639 |
-
U+02b9 uni02B9 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
640 |
-
U+02ba uni02BA 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
641 |
-
U+02bb uni02BB 1.5
|
642 |
-
U+02bc uni02BC 1.12
|
643 |
-
U+02bd uni02BD 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.7 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
644 |
-
U+02be uni02BE 2.2
|
645 |
-
U+02bf uni02BF 2.2
|
646 |
-
U+02c0 uni02C0 1.14
|
647 |
-
U+02c1 uni02C1 1.14
|
648 |
-
U+02c2 uni02C2 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
649 |
-
U+02c3 uni02C3 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
650 |
-
U+02c4 uni02C4 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
651 |
-
U+02c5 uni02C5 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
652 |
-
U+02c6 circumflex original
|
653 |
-
U+02c7 caron original
|
654 |
-
U+02c8 uni02C8 2.0
|
655 |
-
U+02c9 uni02C9 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.7 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
656 |
-
U+02ca uni02CA 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
657 |
-
U+02cb uni02CB 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
658 |
-
U+02cc uni02CC 2.0
|
659 |
-
U+02cd uni02CD 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.7 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.32 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
660 |
-
U+02ce uni02CE 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.34 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique)
|
661 |
-
U+02cf uni02CF 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.34 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique)
|
662 |
-
U+02d0 uni02D0 1.14
|
663 |
-
U+02d1 uni02D1 1.14
|
664 |
-
U+02d2 uni02D2 2.0
|
665 |
-
U+02d3 uni02D3 2.2
|
666 |
-
U+02d4 uni02D4 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
667 |
-
U+02d5 uni02D5 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
668 |
-
U+02d6 uni02D6 2.0
|
669 |
-
U+02d7 uni02D7 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.28 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
670 |
-
U+02d8 breve original
|
671 |
-
U+02d9 dotaccent original
|
672 |
-
U+02da ring original
|
673 |
-
U+02db ogonek original
|
674 |
-
U+02dc tilde original
|
675 |
-
U+02dd hungarumlaut original
|
676 |
-
U+02de uni02DE 2.0
|
677 |
-
U+02df uni02DF 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
678 |
-
U+02e0 uni02E0 1.14
|
679 |
-
U+02e1 uni02E1 1.14
|
680 |
-
U+02e2 uni02E2 1.14
|
681 |
-
U+02e3 uni02E3 1.14
|
682 |
-
U+02e4 uni02E4 1.14
|
683 |
-
U+02e5 uni02E5 2.0
|
684 |
-
U+02e6 uni02E6 2.0
|
685 |
-
U+02e7 uni02E7 2.0
|
686 |
-
U+02e8 uni02E8 2.0
|
687 |
-
U+02e9 uni02E9 2.0
|
688 |
-
U+02ec uni02EC 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
689 |
-
U+02ed uni02ED 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
690 |
-
U+02ee uni02EE 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.7 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed) 2.28 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique)
|
691 |
-
U+02ef uni02EF 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
692 |
-
U+02f0 uni02F0 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
693 |
-
U+02f3 uni02F3 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.14 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
694 |
-
U+02f7 uni02F7 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
695 |
-
U+0300 gravecomb 1.15
|
696 |
-
U+0301 acutecomb 1.15
|
697 |
-
U+0302 uni0302 1.15
|
698 |
-
U+0303 tildecomb 1.15
|
699 |
-
U+0304 uni0304 1.15
|
700 |
-
U+0305 uni0305 2.0
|
701 |
-
U+0306 uni0306 1.15
|
702 |
-
U+0307 uni0307 1.15
|
703 |
-
U+0308 uni0308 1.15
|
704 |
-
U+0309 hookabovecomb 2.1
|
705 |
-
U+030a uni030A 1.15
|
706 |
-
U+030b uni030B 1.15
|
707 |
-
U+030c uni030C 1.15
|
708 |
-
U+030d uni030D 2.0
|
709 |
-
U+030e uni030E 2.0
|
710 |
-
U+030f uni030F 2.0
|
711 |
-
U+0310 uni0310 2.0
|
712 |
-
U+0311 uni0311 2.0
|
713 |
-
U+0312 uni0312 1.11
|
714 |
-
U+0313 uni0313 2.1
|
715 |
-
U+0314 uni0314 2.1
|
716 |
-
U+0315 uni0315 2.0
|
717 |
-
U+0316 uni0316 2.0
|
718 |
-
U+0317 uni0317 2.0
|
719 |
-
U+0318 uni0318 2.0
|
720 |
-
U+0319 uni0319 2.0
|
721 |
-
U+031a uni031A 2.1
|
722 |
-
U+031b uni031B 2.1
|
723 |
-
U+031c uni031C 2.0
|
724 |
-
U+031d uni031D 2.0
|
725 |
-
U+031e uni031E 2.0
|
726 |
-
U+031f uni031F 2.0
|
727 |
-
U+0320 uni0320 2.0
|
728 |
-
U+0321 uni0321 1.15
|
729 |
-
U+0322 uni0322 1.15
|
730 |
-
U+0323 dotbelowcomb 2.1
|
731 |
-
U+0324 uni0324 2.0
|
732 |
-
U+0325 uni0325 2.0
|
733 |
-
U+0326 uni0326 1.5
|
734 |
-
U+0327 uni0327 2.1
|
735 |
-
U+0328 uni0328 2.1
|
736 |
-
U+0329 uni0329 2.0
|
737 |
-
U+032a uni032A 2.0
|
738 |
-
U+032b uni032B 2.1
|
739 |
-
U+032c uni032C 2.0
|
740 |
-
U+032d uni032D 2.0
|
741 |
-
U+032e uni032E 2.0
|
742 |
-
U+032f uni032F 2.0
|
743 |
-
U+0330 uni0330 2.0
|
744 |
-
U+0331 uni0331 2.0
|
745 |
-
U+0332 uni0332 2.0
|
746 |
-
U+0333 uni0333 2.1
|
747 |
-
U+0334 uni0334 2.3
|
748 |
-
U+0335 uni0335 2.3
|
749 |
-
U+0336 uni0336 2.3
|
750 |
-
U+0337 uni0337 2.3
|
751 |
-
U+0338 uni0338 2.3
|
752 |
-
U+0339 uni0339 2.0
|
753 |
-
U+033a uni033A 2.0
|
754 |
-
U+033b uni033B 2.0
|
755 |
-
U+033c uni033C 2.1
|
756 |
-
U+033d uni033D 2.0
|
757 |
-
U+033e uni033E 2.1
|
758 |
-
U+033f uni033F 2.1
|
759 |
-
U+0340 uni0340 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
760 |
-
U+0341 uni0341 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
761 |
-
U+0342 uni0342 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
762 |
-
U+0343 uni0343 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.13 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
763 |
-
U+0344 uni0344 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
764 |
-
U+0345 uni0345 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
765 |
-
U+0346 uni0346 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
766 |
-
U+0347 uni0347 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
767 |
-
U+0348 uni0348 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
768 |
-
U+0349 uni0349 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
769 |
-
U+034a uni034A 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
770 |
-
U+034b uni034B 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
771 |
-
U+034c uni034C 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
772 |
-
U+034d uni034D 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
773 |
-
U+034e uni034E 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
774 |
-
U+034f uni034F 2.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
775 |
-
U+0351 uni0351 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
776 |
-
U+0352 uni0352 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique) 2.28 (Sans Condensed Oblique, Sans Oblique)
|
777 |
-
U+0353 uni0353 2.5 (Sans, Sans Bold, Sans Condensed, Sans Condensed Bold) 2.28 (Sans Bold Oblique, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
778 |
-
U+0357 uni0357 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
779 |
-
U+0358 uni0358 2.3
|
780 |
-
U+035a uni035A 2.28 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
781 |
-
U+035c uni035C 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique)
|
782 |
-
U+035d uni035D 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique)
|
783 |
-
U+035e uni035E 2.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
784 |
-
U+035f uni035F 2.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
785 |
-
U+0360 uni0360 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
786 |
-
U+0361 uni0361 2.0
|
787 |
-
U+0362 uni0362 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
788 |
-
U+0370 uni0370 2.26 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.27 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Italic, Serif Italic Condensed) 2.31 (Serif Condensed Italic)
|
789 |
-
U+0371 uni0371 2.26 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.27 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Italic, Serif Italic Condensed) 2.31 (Serif Condensed Italic)
|
790 |
-
U+0372 uni0372 2.27 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.33 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
791 |
-
U+0373 uni0373 2.27 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.33 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
792 |
-
U+0374 uni0374 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
793 |
-
U+0375 uni0375 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
794 |
-
U+0376 uni0376 2.27 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.33 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
795 |
-
U+0377 uni0377 2.27 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.33 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
796 |
-
U+037a uni037A 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
797 |
-
U+037b uni037B 2.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.10 (Sans ExtraLight) 2.27 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Italic, Serif Italic Condensed) 2.31 (Serif Condensed Italic)
|
798 |
-
U+037c uni037C 2.10 (Sans, Sans Bold, Sans Bold Oblique, Sans ExtraLight, Sans Oblique) 2.11 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique) 2.27 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Italic, Serif Italic Condensed) 2.31 (Serif Condensed Italic)
|
799 |
-
U+037d uni037D 2.10 (Sans, Sans Bold, Sans Bold Oblique, Sans ExtraLight, Sans Oblique) 2.11 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique) 2.27 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Italic, Serif Italic Condensed) 2.31 (Serif Condensed Italic)
|
800 |
-
U+037e uni037E 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
801 |
-
U+0384 tonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
802 |
-
U+0385 dieresistonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
803 |
-
U+0386 Alphatonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
804 |
-
U+0387 anoteleia 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
805 |
-
U+0388 Epsilontonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
806 |
-
U+0389 Etatonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
807 |
-
U+038a Iotatonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
808 |
-
U+038c Omicrontonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
809 |
-
U+038e Upsilontonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
810 |
-
U+038f Omegatonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
811 |
-
U+0390 iotadieresistonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
812 |
-
U+0391 Alpha 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
813 |
-
U+0392 Beta 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
814 |
-
U+0393 Gamma 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
815 |
-
U+0394 uni0394 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
816 |
-
U+0395 Epsilon 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
817 |
-
U+0396 Zeta 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
818 |
-
U+0397 Eta 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
819 |
-
U+0398 Theta 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
820 |
-
U+0399 Iota 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
821 |
-
U+039a Kappa 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
822 |
-
U+039b Lambda 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
823 |
-
U+039c Mu 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
824 |
-
U+039d Nu 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
825 |
-
U+039e Xi 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
826 |
-
U+039f Omicron 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
827 |
-
U+03a0 Pi 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
828 |
-
U+03a1 Rho 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
829 |
-
U+03a3 Sigma 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
830 |
-
U+03a4 Tau 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
831 |
-
U+03a5 Upsilon 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
832 |
-
U+03a6 Phi 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
833 |
-
U+03a7 Chi 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
834 |
-
U+03a8 Psi 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
835 |
-
U+03a9 Omega original
|
836 |
-
U+03aa Iotadieresis 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
837 |
-
U+03ab Upsilondieresis 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.1 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
838 |
-
U+03ac alphatonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
839 |
-
U+03ad epsilontonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
840 |
-
U+03ae etatonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
841 |
-
U+03af iotatonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
842 |
-
U+03b0 upsilondieresistonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
843 |
-
U+03b1 alpha 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
844 |
-
U+03b2 beta 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
845 |
-
U+03b3 gamma 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
846 |
-
U+03b4 delta 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
847 |
-
U+03b5 epsilon 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
848 |
-
U+03b6 zeta 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
849 |
-
U+03b7 eta 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
850 |
-
U+03b8 theta 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
851 |
-
U+03b9 iota 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
852 |
-
U+03ba kappa 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
853 |
-
U+03bb lambda 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
854 |
-
U+03bc uni03BC 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
855 |
-
U+03bd nu 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
856 |
-
U+03be xi 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
857 |
-
U+03bf omicron 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
858 |
-
U+03c0 pi original
|
859 |
-
U+03c1 rho 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
860 |
-
U+03c2 sigma1 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
861 |
-
U+03c3 sigma 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
862 |
-
U+03c4 tau 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
863 |
-
U+03c5 upsilon 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
864 |
-
U+03c6 phi 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
865 |
-
U+03c7 chi 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
866 |
-
U+03c8 psi 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
867 |
-
U+03c9 omega 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
868 |
-
U+03ca iotadieresis 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
869 |
-
U+03cb upsilondieresis 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
870 |
-
U+03cc omicrontonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
871 |
-
U+03cd upsilontonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
872 |
-
U+03ce omegatonos 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 1.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.2 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
873 |
-
U+03cf uni03CF 2.27 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans ExtraLight, Sans Oblique) 2.33 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
874 |
-
U+03d0 uni03D0 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
875 |
-
U+03d1 theta1 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
876 |
-
U+03d2 Upsilon1 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
877 |
-
U+03d3 uni03D3 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
878 |
-
U+03d4 uni03D4 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
879 |
-
U+03d5 phi1 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.18 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
880 |
-
U+03d6 omega1 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed) 2.26 (Sans ExtraLight)
|
881 |
-
U+03d7 uni03D7 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
882 |
-
U+03d8 uni03D8 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed) 2.26 (Sans ExtraLight)
|
883 |
-
U+03d9 uni03D9 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed) 2.26 (Sans ExtraLight)
|
884 |
-
U+03da uni03DA 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
885 |
-
U+03db uni03DB 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
886 |
-
U+03dc uni03DC 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
887 |
-
U+03dd uni03DD 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
888 |
-
U+03de uni03DE 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
889 |
-
U+03df uni03DF 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
890 |
-
U+03e0 uni03E0 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
891 |
-
U+03e1 uni03E1 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
892 |
-
U+03e2 uni03E2 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
893 |
-
U+03e3 uni03E3 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
894 |
-
U+03e4 uni03E4 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
895 |
-
U+03e5 uni03E5 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
896 |
-
U+03e6 uni03E6 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
897 |
-
U+03e7 uni03E7 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
898 |
-
U+03e8 uni03E8 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
899 |
-
U+03e9 uni03E9 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
900 |
-
U+03ea uni03EA 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
901 |
-
U+03eb uni03EB 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
902 |
-
U+03ec uni03EC 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
903 |
-
U+03ed uni03ED 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
904 |
-
U+03ee uni03EE 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
905 |
-
U+03ef uni03EF 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
906 |
-
U+03f0 uni03F0 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
907 |
-
U+03f1 uni03F1 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed) 2.26 (Sans ExtraLight)
|
908 |
-
U+03f2 uni03F2 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
909 |
-
U+03f3 uni03F3 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
910 |
-
U+03f4 uni03F4 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
911 |
-
U+03f5 uni03F5 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
912 |
-
U+03f6 uni03F6 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
913 |
-
U+03f7 uni03F7 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
914 |
-
U+03f8 uni03F8 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
915 |
-
U+03f9 uni03F9 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
916 |
-
U+03fa uni03FA 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
917 |
-
U+03fb uni03FB 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
918 |
-
U+03fc uni03FC 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed) 2.26 (Sans ExtraLight)
|
919 |
-
U+03fd uni03FD 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
920 |
-
U+03fe uni03FE 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
921 |
-
U+03ff uni03FF 1.14 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.0 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
922 |
-
U+0400 uni0400 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
923 |
-
U+0401 uni0401 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
924 |
-
U+0402 uni0402 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
925 |
-
U+0403 uni0403 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
926 |
-
U+0404 uni0404 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
927 |
-
U+0405 uni0405 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
928 |
-
U+0406 uni0406 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
929 |
-
U+0407 uni0407 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
930 |
-
U+0408 uni0408 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
931 |
-
U+0409 uni0409 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
932 |
-
U+040a uni040A 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
933 |
-
U+040b uni040B 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
934 |
-
U+040c uni040C 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
935 |
-
U+040d uni040D 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
936 |
-
U+040e uni040E 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
937 |
-
U+040f uni040F 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
938 |
-
U+0410 uni0410 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
939 |
-
U+0411 uni0411 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
940 |
-
U+0412 uni0412 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
941 |
-
U+0413 uni0413 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
942 |
-
U+0414 uni0414 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
943 |
-
U+0415 uni0415 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
944 |
-
U+0416 uni0416 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
945 |
-
U+0417 uni0417 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
946 |
-
U+0418 uni0418 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
947 |
-
U+0419 uni0419 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
948 |
-
U+041a uni041A 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
949 |
-
U+041b uni041B 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
950 |
-
U+041c uni041C 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
951 |
-
U+041d uni041D 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
952 |
-
U+041e uni041E 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
953 |
-
U+041f uni041F 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
954 |
-
U+0420 uni0420 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
955 |
-
U+0421 uni0421 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
956 |
-
U+0422 uni0422 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
957 |
-
U+0423 uni0423 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
958 |
-
U+0424 uni0424 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
959 |
-
U+0425 uni0425 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
960 |
-
U+0426 uni0426 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
961 |
-
U+0427 uni0427 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
962 |
-
U+0428 uni0428 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
963 |
-
U+0429 uni0429 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
964 |
-
U+042a uni042A 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
965 |
-
U+042b uni042B 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
966 |
-
U+042c uni042C 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
967 |
-
U+042d uni042D 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
968 |
-
U+042e uni042E 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
969 |
-
U+042f uni042F 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
970 |
-
U+0430 uni0430 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
971 |
-
U+0431 uni0431 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
972 |
-
U+0432 uni0432 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
973 |
-
U+0433 uni0433 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
974 |
-
U+0434 uni0434 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
975 |
-
U+0435 uni0435 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
976 |
-
U+0436 uni0436 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
977 |
-
U+0437 uni0437 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
978 |
-
U+0438 uni0438 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
979 |
-
U+0439 uni0439 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
980 |
-
U+043a uni043A 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
981 |
-
U+043b uni043B 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
982 |
-
U+043c uni043C 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
983 |
-
U+043d uni043D 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
984 |
-
U+043e uni043E 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
985 |
-
U+043f uni043F 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
986 |
-
U+0440 uni0440 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
987 |
-
U+0441 uni0441 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
988 |
-
U+0442 uni0442 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
989 |
-
U+0443 uni0443 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
990 |
-
U+0444 uni0444 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
991 |
-
U+0445 uni0445 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
992 |
-
U+0446 uni0446 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
993 |
-
U+0447 uni0447 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
994 |
-
U+0448 uni0448 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
995 |
-
U+0449 uni0449 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
996 |
-
U+044a uni044A 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
997 |
-
U+044b uni044B 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
998 |
-
U+044c uni044C 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
999 |
-
U+044d uni044D 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1000 |
-
U+044e uni044E 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1001 |
-
U+044f uni044F 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1002 |
-
U+0450 uni0450 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1003 |
-
U+0451 uni0451 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1004 |
-
U+0452 uni0452 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1005 |
-
U+0453 uni0453 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1006 |
-
U+0454 uni0454 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1007 |
-
U+0455 uni0455 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1008 |
-
U+0456 uni0456 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1009 |
-
U+0457 uni0457 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1010 |
-
U+0458 uni0458 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1011 |
-
U+0459 uni0459 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1012 |
-
U+045a uni045A 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1013 |
-
U+045b uni045B 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1014 |
-
U+045c uni045C 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1015 |
-
U+045d uni045D 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1016 |
-
U+045e uni045E 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1017 |
-
U+045f uni045F 1.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Oblique) 1.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold) 1.6 (Serif Bold Italic, Serif Italic) 1.7 (Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1018 |
-
U+0460 uni0460 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1019 |
-
U+0461 uni0461 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.10 (Sans ExtraLight)
|
1020 |
-
U+0462 uni0462 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.7 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.20 (Sans ExtraLight) 2.23 (Serif Italic Condensed) 2.30 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique)
|
1021 |
-
U+0463 uni0463 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.20 (Sans ExtraLight) 2.23 (Serif Italic Condensed) 2.30 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique)
|
1022 |
-
U+0464 uni0464 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.5 (Sans ExtraLight) 2.18 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1023 |
-
U+0465 uni0465 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.5 (Sans ExtraLight) 2.18 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1024 |
-
U+0466 uni0466 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1025 |
-
U+0467 uni0467 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1026 |
-
U+0468 uni0468 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1027 |
-
U+0469 uni0469 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1028 |
-
U+046a uni046A 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.21 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1029 |
-
U+046b uni046B 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.21 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1030 |
-
U+046c uni046C 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
1031 |
-
U+046d uni046D 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
1032 |
-
U+046e uni046E 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1033 |
-
U+046f uni046F 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1034 |
-
U+0470 uni0470 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.10 (Sans ExtraLight) 2.27 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Italic, Serif Italic Condensed) 2.31 (Serif Condensed Italic)
|
1035 |
-
U+0471 uni0471 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.10 (Sans ExtraLight) 2.27 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Italic, Serif Italic Condensed) 2.31 (Serif Condensed Italic)
|
1036 |
-
U+0472 uni0472 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.10 (Sans ExtraLight) 2.23 (Serif Italic Condensed) 2.26 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique)
|
1037 |
-
U+0473 uni0473 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed) 2.26 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique)
|
1038 |
-
U+0474 uni0474 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.12 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1039 |
-
U+0475 uni0475 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.12 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1040 |
-
U+0476 uni0476 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
1041 |
-
U+0477 uni0477 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.34 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic)
|
1042 |
-
U+0478 uni0478 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1043 |
-
U+0479 uni0479 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1044 |
-
U+047a uni047A 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1045 |
-
U+047b uni047B 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1046 |
-
U+047c uni047C 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1047 |
-
U+047d uni047D 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1048 |
-
U+047e uni047E 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1049 |
-
U+047f uni047F 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1050 |
-
U+0480 uni0480 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1051 |
-
U+0481 uni0481 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1052 |
-
U+0482 uni0482 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1053 |
-
U+0483 uni0483 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1054 |
-
U+0484 uni0484 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1055 |
-
U+0485 uni0485 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1056 |
-
U+0486 uni0486 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1057 |
-
U+0487 uni0487 2.9 (Sans, Sans Condensed) 2.27 (Sans Bold, Sans Bold Oblique, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1058 |
-
U+0488 uni0488 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1059 |
-
U+0489 uni0489 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1060 |
-
U+048a uni048A 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1061 |
-
U+048b uni048B 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1062 |
-
U+048c uni048C 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1063 |
-
U+048d uni048D 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1064 |
-
U+048e uni048E 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1065 |
-
U+048f uni048F 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1066 |
-
U+0490 uni0490 1.15
|
1067 |
-
U+0491 uni0491 1.15
|
1068 |
-
U+0492 uni0492 1.14
|
1069 |
-
U+0493 uni0493 1.14
|
1070 |
-
U+0494 uni0494 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
1071 |
-
U+0495 uni0495 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
1072 |
-
U+0496 uni0496 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed) 2.26 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique)
|
1073 |
-
U+0497 uni0497 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.15 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed) 2.26 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique)
|
1074 |
-
U+0498 uni0498 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight) 2.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1075 |
-
U+0499 uni0499 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight) 2.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1076 |
-
U+049a uni049A 1.14
|
1077 |
-
U+049b uni049B 1.14
|
1078 |
-
U+049c uni049C 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1079 |
-
U+049d uni049D 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1080 |
-
U+049e uni049E 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1081 |
-
U+049f uni049F 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1082 |
-
U+04a0 uni04A0 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed) 2.26 (Sans ExtraLight)
|
1083 |
-
U+04a1 uni04A1 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed) 2.26 (Sans ExtraLight)
|
1084 |
-
U+04a2 uni04A2 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1085 |
-
U+04a3 uni04A3 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1086 |
-
U+04a4 uni04A4 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.10 (Sans ExtraLight) 2.23 (Serif Italic Condensed) 2.31 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique)
|
1087 |
-
U+04a5 uni04A5 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.10 (Sans ExtraLight) 2.23 (Serif Italic Condensed) 2.31 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique)
|
1088 |
-
U+04a6 uni04A6 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1089 |
-
U+04a7 uni04A7 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1090 |
-
U+04a8 uni04A8 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1091 |
-
U+04a9 uni04A9 2.5 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1092 |
-
U+04aa uni04AA 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight) 2.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1093 |
-
U+04ab uni04AB 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight) 2.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1094 |
-
U+04ac uni04AC 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1095 |
-
U+04ad uni04AD 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1096 |
-
U+04ae uni04AE 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1097 |
-
U+04af uni04AF 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.5 (Sans ExtraLight, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1098 |
-
U+04b0 uni04B0 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.26 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Italic, Serif Italic Condensed) 2.31 (Serif Condensed Italic)
|
1099 |
-
U+04b1 uni04B1 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.26 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Italic, Serif Italic Condensed) 2.31 (Serif Condensed Italic)
|
1100 |
-
U+04b2 uni04B2 1.14
|
1101 |
-
U+04b3 uni04B3 1.14
|
1102 |
-
U+04b4 uni04B4 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.10 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1103 |
-
U+04b5 uni04B5 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.10 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1104 |
-
U+04b6 uni04B6 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1105 |
-
U+04b7 uni04B7 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1106 |
-
U+04b8 uni04B8 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1107 |
-
U+04b9 uni04B9 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1108 |
-
U+04ba uni04BA 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1109 |
-
U+04bb uni04BB 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1110 |
-
U+04bc uni04BC 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1111 |
-
U+04bd uni04BD 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1112 |
-
U+04be uni04BE 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1113 |
-
U+04bf uni04BF 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1114 |
-
U+04c0 uni04C0 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1115 |
-
U+04c1 uni04C1 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1116 |
-
U+04c2 uni04C2 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.5 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1117 |
-
U+04c3 uni04C3 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
1118 |
-
U+04c4 uni04C4 2.4 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed)
|
1119 |
-
U+04c5 uni04C5 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1120 |
-
U+04c6 uni04C6 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1121 |
-
U+04c7 uni04C7 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed) 2.26 (Sans ExtraLight)
|
1122 |
-
U+04c8 uni04C8 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.5 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.23 (Serif Italic Condensed) 2.26 (Sans ExtraLight)
|
1123 |
-
U+04c9 uni04C9 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1124 |
-
U+04ca uni04CA 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1125 |
-
U+04cb uni04CB 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1126 |
-
U+04cc uni04CC 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1127 |
-
U+04cd uni04CD 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1128 |
-
U+04ce uni04CE 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique)
|
1129 |
-
U+04cf uni04CF 2.9 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1130 |
-
U+04d0 uni04D0 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1131 |
-
U+04d1 uni04D1 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1132 |
-
U+04d2 uni04D2 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1133 |
-
U+04d3 uni04D3 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1134 |
-
U+04d4 uni04D4 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1135 |
-
U+04d5 uni04D5 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1136 |
-
U+04d6 uni04D6 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1137 |
-
U+04d7 uni04D7 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.3 (Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique) 2.4 (Sans ExtraLight) 2.23 (Serif Italic Condensed)
|
1138 |
-
U+04d8 uni04D8 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1139 |
-
U+04d9 uni04D9 2.2 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1140 |
-
U+04da uni04DA 2.3 (Sans, Sans Bold, Sans Bold Oblique, Sans Condensed, Sans Condensed Bold, Sans Condensed Bold Oblique, Sans Condensed Oblique, Sans Oblique) 2.4 (Sans ExtraLight, Sans Mono, Sans Mono Bold, Sans Mono Bold Oblique, Sans Mono Oblique, Serif, Serif Bold, Serif Bold Italic, Serif Condensed, Serif Condensed Bold, Serif Condensed Bold Italic, Serif Condensed Italic, Serif Italic) 2.23 (Serif Italic Condensed)
|
1141 |
-
U+04db uni04DB 2.3 (S
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|