payquicker-apimatic-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +208 -0
  4. data/bin/console +15 -0
  5. data/lib/pay_quicker_sdk/api_helper.rb +10 -0
  6. data/lib/pay_quicker_sdk/client.rb +205 -0
  7. data/lib/pay_quicker_sdk/configuration.rb +229 -0
  8. data/lib/pay_quicker_sdk/controllers/agreements_controller.rb +129 -0
  9. data/lib/pay_quicker_sdk/controllers/balances_controller.rb +156 -0
  10. data/lib/pay_quicker_sdk/controllers/bank_accounts_controller.rb +587 -0
  11. data/lib/pay_quicker_sdk/controllers/base_controller.rb +60 -0
  12. data/lib/pay_quicker_sdk/controllers/client_side_controller.rb +237 -0
  13. data/lib/pay_quicker_sdk/controllers/compliance_controller.rb +77 -0
  14. data/lib/pay_quicker_sdk/controllers/documents_controller.rb +233 -0
  15. data/lib/pay_quicker_sdk/controllers/electronic_wallets_controller.rb +280 -0
  16. data/lib/pay_quicker_sdk/controllers/events_controller.rb +75 -0
  17. data/lib/pay_quicker_sdk/controllers/invitations_controller.rb +179 -0
  18. data/lib/pay_quicker_sdk/controllers/jobs_controller.rb +154 -0
  19. data/lib/pay_quicker_sdk/controllers/o_auth_authorization_controller.rb +43 -0
  20. data/lib/pay_quicker_sdk/controllers/payments_controller.rb +217 -0
  21. data/lib/pay_quicker_sdk/controllers/prepaid_cards_controller.rb +262 -0
  22. data/lib/pay_quicker_sdk/controllers/program_controller.rb +88 -0
  23. data/lib/pay_quicker_sdk/controllers/receipts_controller.rb +287 -0
  24. data/lib/pay_quicker_sdk/controllers/spendback_controller.rb +201 -0
  25. data/lib/pay_quicker_sdk/controllers/spendback_refunds_controller.rb +232 -0
  26. data/lib/pay_quicker_sdk/controllers/statements_controller.rb +197 -0
  27. data/lib/pay_quicker_sdk/controllers/transfers_controller.rb +259 -0
  28. data/lib/pay_quicker_sdk/controllers/users_controller.rb +151 -0
  29. data/lib/pay_quicker_sdk/controllers/webhooks_controller.rb +173 -0
  30. data/lib/pay_quicker_sdk/exceptions/api_error_result_exception.rb +80 -0
  31. data/lib/pay_quicker_sdk/exceptions/api_exception.rb +21 -0
  32. data/lib/pay_quicker_sdk/exceptions/o_auth_provider_exception.rb +64 -0
  33. data/lib/pay_quicker_sdk/http/auth/clientside.rb +53 -0
  34. data/lib/pay_quicker_sdk/http/auth/server.rb +156 -0
  35. data/lib/pay_quicker_sdk/http/http_call_back.rb +10 -0
  36. data/lib/pay_quicker_sdk/http/http_method_enum.rb +10 -0
  37. data/lib/pay_quicker_sdk/http/http_request.rb +10 -0
  38. data/lib/pay_quicker_sdk/http/http_response.rb +10 -0
  39. data/lib/pay_quicker_sdk/http/proxy_settings.rb +22 -0
  40. data/lib/pay_quicker_sdk/logging/configuration/api_logging_configuration.rb +186 -0
  41. data/lib/pay_quicker_sdk/logging/sdk_logger.rb +17 -0
  42. data/lib/pay_quicker_sdk/models/addresses.rb +45 -0
  43. data/lib/pay_quicker_sdk/models/agreement_list_result_json.rb +106 -0
  44. data/lib/pay_quicker_sdk/models/agreement_object.rb +120 -0
  45. data/lib/pay_quicker_sdk/models/agreement_result.rb +130 -0
  46. data/lib/pay_quicker_sdk/models/agreement_types.rb +64 -0
  47. data/lib/pay_quicker_sdk/models/authorization_list_result.rb +106 -0
  48. data/lib/pay_quicker_sdk/models/authorization_object.rb +194 -0
  49. data/lib/pay_quicker_sdk/models/balance_list_result.rb +106 -0
  50. data/lib/pay_quicker_sdk/models/balance_object.rb +118 -0
  51. data/lib/pay_quicker_sdk/models/balance_result.rb +128 -0
  52. data/lib/pay_quicker_sdk/models/bank_account_address.rb +132 -0
  53. data/lib/pay_quicker_sdk/models/bank_account_field.rb +83 -0
  54. data/lib/pay_quicker_sdk/models/bank_account_fields.rb +195 -0
  55. data/lib/pay_quicker_sdk/models/bank_account_list_result.rb +106 -0
  56. data/lib/pay_quicker_sdk/models/bank_account_object.rb +226 -0
  57. data/lib/pay_quicker_sdk/models/bank_account_ownership.rb +36 -0
  58. data/lib/pay_quicker_sdk/models/bank_account_required_fields.rb +125 -0
  59. data/lib/pay_quicker_sdk/models/bank_account_requirement.rb +142 -0
  60. data/lib/pay_quicker_sdk/models/bank_account_requirement_format.rb +93 -0
  61. data/lib/pay_quicker_sdk/models/bank_account_requirement_format_legend.rb +93 -0
  62. data/lib/pay_quicker_sdk/models/bank_account_requirement_list_result.rb +110 -0
  63. data/lib/pay_quicker_sdk/models/bank_account_requirement_validator.rb +86 -0
  64. data/lib/pay_quicker_sdk/models/bank_account_result.rb +234 -0
  65. data/lib/pay_quicker_sdk/models/bank_account_statuses.rb +49 -0
  66. data/lib/pay_quicker_sdk/models/bank_account_types.rb +47 -0
  67. data/lib/pay_quicker_sdk/models/bank_types.rb +68 -0
  68. data/lib/pay_quicker_sdk/models/base_model.rb +122 -0
  69. data/lib/pay_quicker_sdk/models/business_contact_roles.rb +44 -0
  70. data/lib/pay_quicker_sdk/models/card_networks.rb +36 -0
  71. data/lib/pay_quicker_sdk/models/card_processors.rb +52 -0
  72. data/lib/pay_quicker_sdk/models/category_types.rb +36 -0
  73. data/lib/pay_quicker_sdk/models/countries.rb +1031 -0
  74. data/lib/pay_quicker_sdk/models/countries_alpha_code3.rb +1028 -0
  75. data/lib/pay_quicker_sdk/models/create_invitation.rb +614 -0
  76. data/lib/pay_quicker_sdk/models/create_or_update_bank_account.rb +163 -0
  77. data/lib/pay_quicker_sdk/models/create_or_update_document.rb +82 -0
  78. data/lib/pay_quicker_sdk/models/create_or_update_document_fields.rb +81 -0
  79. data/lib/pay_quicker_sdk/models/create_or_update_electronic_wallet.rb +126 -0
  80. data/lib/pay_quicker_sdk/models/create_or_update_user.rb +614 -0
  81. data/lib/pay_quicker_sdk/models/create_spendback_refund_quote.rb +173 -0
  82. data/lib/pay_quicker_sdk/models/create_webhook_request.rb +82 -0
  83. data/lib/pay_quicker_sdk/models/currencies.rb +700 -0
  84. data/lib/pay_quicker_sdk/models/delivery_details.rb +119 -0
  85. data/lib/pay_quicker_sdk/models/document_details.rb +81 -0
  86. data/lib/pay_quicker_sdk/models/document_list_result.rb +108 -0
  87. data/lib/pay_quicker_sdk/models/document_object.rb +147 -0
  88. data/lib/pay_quicker_sdk/models/document_requirements_list_result.rb +91 -0
  89. data/lib/pay_quicker_sdk/models/document_result.rb +157 -0
  90. data/lib/pay_quicker_sdk/models/document_status_types.rb +48 -0
  91. data/lib/pay_quicker_sdk/models/document_types.rb +264 -0
  92. data/lib/pay_quicker_sdk/models/electronic_funds_transfer_types.rb +36 -0
  93. data/lib/pay_quicker_sdk/models/electronic_transfer_failure_types.rb +97 -0
  94. data/lib/pay_quicker_sdk/models/electronic_transfer_status_types.rb +46 -0
  95. data/lib/pay_quicker_sdk/models/electronic_wallet_field.rb +83 -0
  96. data/lib/pay_quicker_sdk/models/electronic_wallet_fields.rb +41 -0
  97. data/lib/pay_quicker_sdk/models/electronic_wallet_list_result.rb +106 -0
  98. data/lib/pay_quicker_sdk/models/electronic_wallet_object.rb +186 -0
  99. data/lib/pay_quicker_sdk/models/electronic_wallet_required_fields.rb +125 -0
  100. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement.rb +166 -0
  101. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_format.rb +93 -0
  102. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_format_legend.rb +93 -0
  103. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_list_result.rb +110 -0
  104. data/lib/pay_quicker_sdk/models/electronic_wallet_requirement_validator.rb +86 -0
  105. data/lib/pay_quicker_sdk/models/electronic_wallet_result.rb +195 -0
  106. data/lib/pay_quicker_sdk/models/electronic_wallet_statuses.rb +48 -0
  107. data/lib/pay_quicker_sdk/models/electronic_wallet_type.rb +99 -0
  108. data/lib/pay_quicker_sdk/models/electronic_wallet_types.rb +368 -0
  109. data/lib/pay_quicker_sdk/models/event_category_types.rb +40 -0
  110. data/lib/pay_quicker_sdk/models/event_list_result.rb +106 -0
  111. data/lib/pay_quicker_sdk/models/event_object.rb +191 -0
  112. data/lib/pay_quicker_sdk/models/event_requirement_categories.rb +56 -0
  113. data/lib/pay_quicker_sdk/models/event_requirements.rb +105 -0
  114. data/lib/pay_quicker_sdk/models/event_statuses.rb +52 -0
  115. data/lib/pay_quicker_sdk/models/event_types.rb +36 -0
  116. data/lib/pay_quicker_sdk/models/expected_delivery_types.rb +36 -0
  117. data/lib/pay_quicker_sdk/models/fee_configuration.rb +154 -0
  118. data/lib/pay_quicker_sdk/models/fee_distribution.rb +159 -0
  119. data/lib/pay_quicker_sdk/models/fee_responsibility_parties.rb +44 -0
  120. data/lib/pay_quicker_sdk/models/fee_responsibility_sources.rb +36 -0
  121. data/lib/pay_quicker_sdk/models/fee_sources.rb +40 -0
  122. data/lib/pay_quicker_sdk/models/fee_values.rb +36 -0
  123. data/lib/pay_quicker_sdk/models/fees.rb +222 -0
  124. data/lib/pay_quicker_sdk/models/fx_rate.rb +144 -0
  125. data/lib/pay_quicker_sdk/models/gateway_payment_job.rb +131 -0
  126. data/lib/pay_quicker_sdk/models/gateway_payment_job_quote.rb +167 -0
  127. data/lib/pay_quicker_sdk/models/gateway_payment_quote.rb +220 -0
  128. data/lib/pay_quicker_sdk/models/gateway_spendback_quote.rb +167 -0
  129. data/lib/pay_quicker_sdk/models/gateway_transfer_quote.rb +195 -0
  130. data/lib/pay_quicker_sdk/models/genders.rb +48 -0
  131. data/lib/pay_quicker_sdk/models/government_ids.rb +45 -0
  132. data/lib/pay_quicker_sdk/models/hateoas_relationship.rb +69 -0
  133. data/lib/pay_quicker_sdk/models/hateoas_self_ref.rb +84 -0
  134. data/lib/pay_quicker_sdk/models/identity_verification_providers.rb +62 -0
  135. data/lib/pay_quicker_sdk/models/identity_verification_result_sub_types.rb +38 -0
  136. data/lib/pay_quicker_sdk/models/identity_verification_result_types.rb +57 -0
  137. data/lib/pay_quicker_sdk/models/idv_check_list_result.rb +108 -0
  138. data/lib/pay_quicker_sdk/models/idv_check_object.rb +209 -0
  139. data/lib/pay_quicker_sdk/models/idv_check_result.rb +221 -0
  140. data/lib/pay_quicker_sdk/models/invitation_list_result.rb +106 -0
  141. data/lib/pay_quicker_sdk/models/invitation_object.rb +262 -0
  142. data/lib/pay_quicker_sdk/models/invitation_result.rb +272 -0
  143. data/lib/pay_quicker_sdk/models/job_status_types.rb +68 -0
  144. data/lib/pay_quicker_sdk/models/job_types.rb +36 -0
  145. data/lib/pay_quicker_sdk/models/languages.rb +101 -0
  146. data/lib/pay_quicker_sdk/models/list_metadata.rb +116 -0
  147. data/lib/pay_quicker_sdk/models/lock_side_types.rb +37 -0
  148. data/lib/pay_quicker_sdk/models/metadata.rb +72 -0
  149. data/lib/pay_quicker_sdk/models/metadata_items.rb +80 -0
  150. data/lib/pay_quicker_sdk/models/o_auth_provider_error.rb +62 -0
  151. data/lib/pay_quicker_sdk/models/o_auth_scope_server.rb +36 -0
  152. data/lib/pay_quicker_sdk/models/o_auth_token.rb +106 -0
  153. data/lib/pay_quicker_sdk/models/occupations.rb +100 -0
  154. data/lib/pay_quicker_sdk/models/operation_result.rb +72 -0
  155. data/lib/pay_quicker_sdk/models/order_prepaid_card.rb +97 -0
  156. data/lib/pay_quicker_sdk/models/payment_job_list_result.rb +106 -0
  157. data/lib/pay_quicker_sdk/models/payment_job_object.rb +211 -0
  158. data/lib/pay_quicker_sdk/models/payment_job_result.rb +220 -0
  159. data/lib/pay_quicker_sdk/models/payment_list_result.rb +106 -0
  160. data/lib/pay_quicker_sdk/models/payment_object.rb +263 -0
  161. data/lib/pay_quicker_sdk/models/payment_purposes.rb +58 -0
  162. data/lib/pay_quicker_sdk/models/payment_result.rb +272 -0
  163. data/lib/pay_quicker_sdk/models/portal_payment_job.rb +131 -0
  164. data/lib/pay_quicker_sdk/models/portal_payment_job_quote.rb +176 -0
  165. data/lib/pay_quicker_sdk/models/portal_payment_quote.rb +228 -0
  166. data/lib/pay_quicker_sdk/models/portal_spendback_quote.rb +177 -0
  167. data/lib/pay_quicker_sdk/models/portal_transfer_quote.rb +204 -0
  168. data/lib/pay_quicker_sdk/models/prepaid_card_authorizations.rb +129 -0
  169. data/lib/pay_quicker_sdk/models/prepaid_card_capabilities.rb +69 -0
  170. data/lib/pay_quicker_sdk/models/prepaid_card_data_object.rb +136 -0
  171. data/lib/pay_quicker_sdk/models/prepaid_card_data_result.rb +146 -0
  172. data/lib/pay_quicker_sdk/models/prepaid_card_data_token_object.rb +134 -0
  173. data/lib/pay_quicker_sdk/models/prepaid_card_data_token_result.rb +145 -0
  174. data/lib/pay_quicker_sdk/models/prepaid_card_data_type.rb +36 -0
  175. data/lib/pay_quicker_sdk/models/prepaid_card_image_side.rb +36 -0
  176. data/lib/pay_quicker_sdk/models/prepaid_card_list_result.rb +106 -0
  177. data/lib/pay_quicker_sdk/models/prepaid_card_object.rb +243 -0
  178. data/lib/pay_quicker_sdk/models/prepaid_card_pin_object.rb +108 -0
  179. data/lib/pay_quicker_sdk/models/prepaid_card_pin_result.rb +121 -0
  180. data/lib/pay_quicker_sdk/models/prepaid_card_pin_token_object.rb +128 -0
  181. data/lib/pay_quicker_sdk/models/prepaid_card_pin_token_result.rb +139 -0
  182. data/lib/pay_quicker_sdk/models/prepaid_card_replacement_reasons.rb +48 -0
  183. data/lib/pay_quicker_sdk/models/prepaid_card_result.rb +254 -0
  184. data/lib/pay_quicker_sdk/models/prepaid_card_statuses.rb +71 -0
  185. data/lib/pay_quicker_sdk/models/program_list_result.rb +106 -0
  186. data/lib/pay_quicker_sdk/models/program_object.rb +138 -0
  187. data/lib/pay_quicker_sdk/models/program_result.rb +147 -0
  188. data/lib/pay_quicker_sdk/models/program_types.rb +44 -0
  189. data/lib/pay_quicker_sdk/models/receipt_descriptions.rb +84 -0
  190. data/lib/pay_quicker_sdk/models/receipt_details.rb +439 -0
  191. data/lib/pay_quicker_sdk/models/receipt_list_result.rb +106 -0
  192. data/lib/pay_quicker_sdk/models/receipt_object.rb +241 -0
  193. data/lib/pay_quicker_sdk/models/receipt_result.rb +251 -0
  194. data/lib/pay_quicker_sdk/models/receipt_statuses.rb +76 -0
  195. data/lib/pay_quicker_sdk/models/replace_prepaid_card.rb +85 -0
  196. data/lib/pay_quicker_sdk/models/retrieve_card_data.rb +73 -0
  197. data/lib/pay_quicker_sdk/models/retrieve_card_pin.rb +76 -0
  198. data/lib/pay_quicker_sdk/models/sandbox_instance.rb +76 -0
  199. data/lib/pay_quicker_sdk/models/signs.rb +40 -0
  200. data/lib/pay_quicker_sdk/models/spendback_list_result.rb +106 -0
  201. data/lib/pay_quicker_sdk/models/spendback_object.rb +291 -0
  202. data/lib/pay_quicker_sdk/models/spendback_quote_accept_result.rb +301 -0
  203. data/lib/pay_quicker_sdk/models/spendback_refund_list_result.rb +106 -0
  204. data/lib/pay_quicker_sdk/models/spendback_refund_object.rb +251 -0
  205. data/lib/pay_quicker_sdk/models/spendback_refund_result.rb +262 -0
  206. data/lib/pay_quicker_sdk/models/spendback_result.rb +301 -0
  207. data/lib/pay_quicker_sdk/models/statement_list_result.rb +106 -0
  208. data/lib/pay_quicker_sdk/models/statement_object.rb +183 -0
  209. data/lib/pay_quicker_sdk/models/statement_result.rb +192 -0
  210. data/lib/pay_quicker_sdk/models/tax_resident_statuses.rb +40 -0
  211. data/lib/pay_quicker_sdk/models/token_purposes.rb +36 -0
  212. data/lib/pay_quicker_sdk/models/transfer_list_result.rb +106 -0
  213. data/lib/pay_quicker_sdk/models/transfer_method_types.rb +48 -0
  214. data/lib/pay_quicker_sdk/models/transfer_object.rb +309 -0
  215. data/lib/pay_quicker_sdk/models/transfer_result.rb +318 -0
  216. data/lib/pay_quicker_sdk/models/transfer_statuses.rb +76 -0
  217. data/lib/pay_quicker_sdk/models/transfer_types.rb +112 -0
  218. data/lib/pay_quicker_sdk/models/translation.rb +85 -0
  219. data/lib/pay_quicker_sdk/models/uat_instance.rb +48 -0
  220. data/lib/pay_quicker_sdk/models/update_card_pin.rb +87 -0
  221. data/lib/pay_quicker_sdk/models/update_prepaid_card.rb +85 -0
  222. data/lib/pay_quicker_sdk/models/upload_fields.rb +40 -0
  223. data/lib/pay_quicker_sdk/models/user_action.rb +40 -0
  224. data/lib/pay_quicker_sdk/models/user_doc_req_item_docs_items_metadata_items.rb +101 -0
  225. data/lib/pay_quicker_sdk/models/user_doc_req_item_docs_items_metadata_items_name_items.rb +83 -0
  226. data/lib/pay_quicker_sdk/models/user_doc_req_item_docs_items_supplemental_docs_items.rb +92 -0
  227. data/lib/pay_quicker_sdk/models/user_document_requirement_item.rb +105 -0
  228. data/lib/pay_quicker_sdk/models/user_document_requirement_item_documents_items.rb +132 -0
  229. data/lib/pay_quicker_sdk/models/user_event_result.rb +201 -0
  230. data/lib/pay_quicker_sdk/models/user_impact.rb +48 -0
  231. data/lib/pay_quicker_sdk/models/user_list_result.rb +106 -0
  232. data/lib/pay_quicker_sdk/models/user_object.rb +676 -0
  233. data/lib/pay_quicker_sdk/models/user_result.rb +686 -0
  234. data/lib/pay_quicker_sdk/models/user_statuses.rb +40 -0
  235. data/lib/pay_quicker_sdk/models/user_types.rb +36 -0
  236. data/lib/pay_quicker_sdk/models/validator_types.rb +50 -0
  237. data/lib/pay_quicker_sdk/models/webhook_namespaces.rb +307 -0
  238. data/lib/pay_quicker_sdk/models/webhook_subscription_list_result.rb +106 -0
  239. data/lib/pay_quicker_sdk/models/webhook_subscription_object.rb +158 -0
  240. data/lib/pay_quicker_sdk/models/webhook_subscription_result.rb +167 -0
  241. data/lib/pay_quicker_sdk/models/webhook_subscription_statuses.rb +44 -0
  242. data/lib/pay_quicker_sdk/utilities/date_time_helper.rb +11 -0
  243. data/lib/pay_quicker_sdk/utilities/file_wrapper.rb +28 -0
  244. data/lib/pay_quicker_sdk/utilities/union_type_lookup.rb +62 -0
  245. data/lib/pay_quicker_sdk.rb +274 -0
  246. data/test/controllers/controller_test_base.rb +24 -0
  247. data/test/controllers/test_agreements_controller.rb +108 -0
  248. data/test/controllers/test_balances_controller.rb +132 -0
  249. data/test/controllers/test_bank_accounts_controller.rb +645 -0
  250. data/test/controllers/test_client_side_controller.rb +295 -0
  251. data/test/controllers/test_compliance_controller.rb +86 -0
  252. data/test/controllers/test_documents_controller.rb +212 -0
  253. data/test/controllers/test_electronic_wallets_controller.rb +292 -0
  254. data/test/controllers/test_events_controller.rb +138 -0
  255. data/test/controllers/test_invitations_controller.rb +162 -0
  256. data/test/controllers/test_jobs_controller.rb +114 -0
  257. data/test/controllers/test_payments_controller.rb +323 -0
  258. data/test/controllers/test_prepaid_cards_controller.rb +351 -0
  259. data/test/controllers/test_program_controller.rb +134 -0
  260. data/test/controllers/test_receipts_controller.rb +813 -0
  261. data/test/controllers/test_spendback_controller.rb +302 -0
  262. data/test/controllers/test_spendback_refunds_controller.rb +128 -0
  263. data/test/controllers/test_statements_controller.rb +192 -0
  264. data/test/controllers/test_transfers_controller.rb +613 -0
  265. data/test/controllers/test_users_controller.rb +483 -0
  266. data/test/controllers/test_webhooks_controller.rb +402 -0
  267. data/test/http_response_catcher.rb +19 -0
  268. metadata +380 -0
@@ -0,0 +1,1031 @@
1
+ # pay_quicker_sdk
2
+ #
3
+ # This file was automatically generated for PayQuicker by
4
+ # APIMATIC v3.0 ( https://www.apimatic.io ).
5
+
6
+ module PayQuickerSdk
7
+ # Throughout the PayQuicker API, the usage of the 2-letter alpha code is used
8
+ # in place of the country name, e.g., for bank country or residential country.
9
+ # The 2-letter codes adhere to the ISO 3166-1 spec and are listed here for
10
+ # convenience.
11
+ class Countries
12
+ COUNTRIES = [
13
+ # Andorra
14
+ AD = 'AD'.freeze,
15
+
16
+ # United Arab Emirates
17
+ AE = 'AE'.freeze,
18
+
19
+ # Afghanistan
20
+ AF = 'AF'.freeze,
21
+
22
+ # Antigua and Barbuda
23
+ AG = 'AG'.freeze,
24
+
25
+ # Anguilla
26
+ AI = 'AI'.freeze,
27
+
28
+ # Albania
29
+ AL = 'AL'.freeze,
30
+
31
+ # Armenia
32
+ AM = 'AM'.freeze,
33
+
34
+ # Netherlands Antilles
35
+ AN = 'AN'.freeze,
36
+
37
+ # Angola
38
+ AO = 'AO'.freeze,
39
+
40
+ # Antarctica
41
+ AQ = 'AQ'.freeze,
42
+
43
+ # Argentina
44
+ AR = 'AR'.freeze,
45
+
46
+ # American Samoa
47
+ AS = 'AS'.freeze,
48
+
49
+ # Austria
50
+ AT = 'AT'.freeze,
51
+
52
+ # Australia
53
+ AU = 'AU'.freeze,
54
+
55
+ # Aruba
56
+ AW = 'AW'.freeze,
57
+
58
+ # Aland Islands
59
+ AX = 'AX'.freeze,
60
+
61
+ # Azerbaijan
62
+ AZ = 'AZ'.freeze,
63
+
64
+ # Bosnia and Herzegovina
65
+ BA = 'BA'.freeze,
66
+
67
+ # Barbados
68
+ BB = 'BB'.freeze,
69
+
70
+ # Bangladesh
71
+ BD = 'BD'.freeze,
72
+
73
+ # Belgium
74
+ BE = 'BE'.freeze,
75
+
76
+ # Burkina Faso
77
+ BF = 'BF'.freeze,
78
+
79
+ # Bulgaria
80
+ BG = 'BG'.freeze,
81
+
82
+ # Bahrain
83
+ BH = 'BH'.freeze,
84
+
85
+ # Burundi
86
+ BI = 'BI'.freeze,
87
+
88
+ # Benin
89
+ BJ = 'BJ'.freeze,
90
+
91
+ # Saint Barthelemy
92
+ BL = 'BL'.freeze,
93
+
94
+ # Bermuda
95
+ BM = 'BM'.freeze,
96
+
97
+ # Brunei Darussalam
98
+ BN = 'BN'.freeze,
99
+
100
+ # Bolivia
101
+ BO = 'BO'.freeze,
102
+
103
+ # Bonaire, Saint Eustatius and Saba
104
+ BQ = 'BQ'.freeze,
105
+
106
+ # Brazil
107
+ BR = 'BR'.freeze,
108
+
109
+ # Bahamas
110
+ BS = 'BS'.freeze,
111
+
112
+ # Bhutan
113
+ BT = 'BT'.freeze,
114
+
115
+ # Bouvet Island
116
+ BV = 'BV'.freeze,
117
+
118
+ # Botswana
119
+ BW = 'BW'.freeze,
120
+
121
+ # Belarus
122
+ BY = 'BY'.freeze,
123
+
124
+ # Belize
125
+ BZ = 'BZ'.freeze,
126
+
127
+ # Canada
128
+ CA = 'CA'.freeze,
129
+
130
+ # Cocos Islands
131
+ CC = 'CC'.freeze,
132
+
133
+ # Congo, Democratic Republic of the
134
+ CD = 'CD'.freeze,
135
+
136
+ # Central African Republic
137
+ CF = 'CF'.freeze,
138
+
139
+ # Republic of the Congo
140
+ CG = 'CG'.freeze,
141
+
142
+ # Switzerland
143
+ CH = 'CH'.freeze,
144
+
145
+ # Ivory Coast
146
+ CI = 'CI'.freeze,
147
+
148
+ # Cook Islands
149
+ CK = 'CK'.freeze,
150
+
151
+ # Chile
152
+ CL = 'CL'.freeze,
153
+
154
+ # Cameroon
155
+ CM = 'CM'.freeze,
156
+
157
+ # China
158
+ CN = 'CN'.freeze,
159
+
160
+ # Colombia
161
+ CO = 'CO'.freeze,
162
+
163
+ # Costa Rica
164
+ CR = 'CR'.freeze,
165
+
166
+ # Cuba
167
+ CU = 'CU'.freeze,
168
+
169
+ # Cape Verde
170
+ CV = 'CV'.freeze,
171
+
172
+ # Curacao
173
+ CW = 'CW'.freeze,
174
+
175
+ # Christmas Island
176
+ CX = 'CX'.freeze,
177
+
178
+ # Cyprus
179
+ CY = 'CY'.freeze,
180
+
181
+ # Czech Republic
182
+ CZ = 'CZ'.freeze,
183
+
184
+ # Germany
185
+ DE = 'DE'.freeze,
186
+
187
+ # Djibouti
188
+ DJ = 'DJ'.freeze,
189
+
190
+ # Denmark
191
+ DK = 'DK'.freeze,
192
+
193
+ # Dominica
194
+ DM = 'DM'.freeze,
195
+
196
+ # Dominican Republic
197
+ DO = 'DO'.freeze,
198
+
199
+ # Algeria
200
+ DZ = 'DZ'.freeze,
201
+
202
+ # Ecuador
203
+ EC = 'EC'.freeze,
204
+
205
+ # Estonia
206
+ EE = 'EE'.freeze,
207
+
208
+ # Egypt
209
+ EG = 'EG'.freeze,
210
+
211
+ # Western Sahara
212
+ EH = 'EH'.freeze,
213
+
214
+ # Eritrea
215
+ ER = 'ER'.freeze,
216
+
217
+ # Spain
218
+ ES = 'ES'.freeze,
219
+
220
+ # Ethiopia
221
+ ET = 'ET'.freeze,
222
+
223
+ # Finland
224
+ FI = 'FI'.freeze,
225
+
226
+ # Fiji
227
+ FJ = 'FJ'.freeze,
228
+
229
+ # Falkland Islands (Malvinas)
230
+ FK = 'FK'.freeze,
231
+
232
+ # Micronesia
233
+ FM = 'FM'.freeze,
234
+
235
+ # Faroe Islands
236
+ FO = 'FO'.freeze,
237
+
238
+ # France
239
+ FR = 'FR'.freeze,
240
+
241
+ # Gabon
242
+ GA = 'GA'.freeze,
243
+
244
+ # United Kingdom
245
+ GB = 'GB'.freeze,
246
+
247
+ # Grenada
248
+ GD = 'GD'.freeze,
249
+
250
+ # Georgia
251
+ GE = 'GE'.freeze,
252
+
253
+ # French Guiana
254
+ GF = 'GF'.freeze,
255
+
256
+ # Guernsey
257
+ GG = 'GG'.freeze,
258
+
259
+ # Ghana
260
+ GH = 'GH'.freeze,
261
+
262
+ # Gibraltar
263
+ GI = 'GI'.freeze,
264
+
265
+ # Greenland
266
+ GL = 'GL'.freeze,
267
+
268
+ # Gambia
269
+ GM = 'GM'.freeze,
270
+
271
+ # Guinea
272
+ GN = 'GN'.freeze,
273
+
274
+ # Guadeloupe
275
+ GP = 'GP'.freeze,
276
+
277
+ # Equatorial Guinea
278
+ GQ = 'GQ'.freeze,
279
+
280
+ # Greece
281
+ GR = 'GR'.freeze,
282
+
283
+ # South Georgia and the South Sandwich Islands
284
+ GS = 'GS'.freeze,
285
+
286
+ # Guatemala
287
+ GT = 'GT'.freeze,
288
+
289
+ # Guam
290
+ GU = 'GU'.freeze,
291
+
292
+ # Guinea-Bissau
293
+ GW = 'GW'.freeze,
294
+
295
+ # Guyana
296
+ GY = 'GY'.freeze,
297
+
298
+ # Hong Kong
299
+ HK = 'HK'.freeze,
300
+
301
+ # Heard Island and Mcdonald Islands
302
+ HM = 'HM'.freeze,
303
+
304
+ # Honduras
305
+ HN = 'HN'.freeze,
306
+
307
+ # Croatia
308
+ HR = 'HR'.freeze,
309
+
310
+ # Haiti
311
+ HT = 'HT'.freeze,
312
+
313
+ # Hungary
314
+ HU = 'HU'.freeze,
315
+
316
+ # Indonesia
317
+ ID = 'ID'.freeze,
318
+
319
+ # Ireland
320
+ IE = 'IE'.freeze,
321
+
322
+ # Israel
323
+ IL = 'IL'.freeze,
324
+
325
+ # Isle of Man
326
+ IM = 'IM'.freeze,
327
+
328
+ # India
329
+ IN = 'IN'.freeze,
330
+
331
+ # British Indian Ocean Territory
332
+ IO = 'IO'.freeze,
333
+
334
+ # Iraq
335
+ IQ = 'IQ'.freeze,
336
+
337
+ # Iran
338
+ IR = 'IR'.freeze,
339
+
340
+ # Iceland
341
+ IS = 'IS'.freeze,
342
+
343
+ # Italy
344
+ IT = 'IT'.freeze,
345
+
346
+ # Jersey
347
+ JE = 'JE'.freeze,
348
+
349
+ # Jamaica
350
+ JM = 'JM'.freeze,
351
+
352
+ # Jordan
353
+ JO = 'JO'.freeze,
354
+
355
+ # Japan
356
+ JP = 'JP'.freeze,
357
+
358
+ # Kenya
359
+ KE = 'KE'.freeze,
360
+
361
+ # Kyrgyzstan
362
+ KG = 'KG'.freeze,
363
+
364
+ # Cambodia
365
+ KH = 'KH'.freeze,
366
+
367
+ # Kiribati
368
+ KI = 'KI'.freeze,
369
+
370
+ # Comoros
371
+ KM = 'KM'.freeze,
372
+
373
+ # Saint Kitts and Nevis
374
+ KN = 'KN'.freeze,
375
+
376
+ # North Korea
377
+ KP = 'KP'.freeze,
378
+
379
+ # South Korea
380
+ KR = 'KR'.freeze,
381
+
382
+ # Kuwait
383
+ KW = 'KW'.freeze,
384
+
385
+ # Cayman Islands
386
+ KY = 'KY'.freeze,
387
+
388
+ # Kazakhstan
389
+ KZ = 'KZ'.freeze,
390
+
391
+ # Lao PDR
392
+ LA = 'LA'.freeze,
393
+
394
+ # Lebanon
395
+ LB = 'LB'.freeze,
396
+
397
+ # Saint Lucia
398
+ LC = 'LC'.freeze,
399
+
400
+ # Liechtenstein
401
+ LI = 'LI'.freeze,
402
+
403
+ # Sri Lanka
404
+ LK = 'LK'.freeze,
405
+
406
+ # Liberia
407
+ LR = 'LR'.freeze,
408
+
409
+ # Lesotho
410
+ LS = 'LS'.freeze,
411
+
412
+ # Lithuania
413
+ LT = 'LT'.freeze,
414
+
415
+ # Luxembourg
416
+ LU = 'LU'.freeze,
417
+
418
+ # Latvia
419
+ LV = 'LV'.freeze,
420
+
421
+ # Libya
422
+ LY = 'LY'.freeze,
423
+
424
+ # Morocco
425
+ MA = 'MA'.freeze,
426
+
427
+ # Monaco
428
+ MC = 'MC'.freeze,
429
+
430
+ # Moldova
431
+ MD = 'MD'.freeze,
432
+
433
+ # Montenegro
434
+ ME = 'ME'.freeze,
435
+
436
+ # Saint Martin
437
+ MF = 'MF'.freeze,
438
+
439
+ # Madagascar
440
+ MG = 'MG'.freeze,
441
+
442
+ # Marshall Islands
443
+ MH = 'MH'.freeze,
444
+
445
+ # Macedonia
446
+ MK = 'MK'.freeze,
447
+
448
+ # Mali
449
+ ML = 'ML'.freeze,
450
+
451
+ # Myanmar
452
+ MM = 'MM'.freeze,
453
+
454
+ # Mongolia
455
+ MN = 'MN'.freeze,
456
+
457
+ # Macao
458
+ MO = 'MO'.freeze,
459
+
460
+ # Northern Mariana Islands
461
+ MP = 'MP'.freeze,
462
+
463
+ # Martinique
464
+ MQ = 'MQ'.freeze,
465
+
466
+ # Mauritania
467
+ MR = 'MR'.freeze,
468
+
469
+ # Montserrat
470
+ MS = 'MS'.freeze,
471
+
472
+ # Malta
473
+ MT = 'MT'.freeze,
474
+
475
+ # Mauritius
476
+ MU = 'MU'.freeze,
477
+
478
+ # Maldives
479
+ MV = 'MV'.freeze,
480
+
481
+ # Malawi
482
+ MW = 'MW'.freeze,
483
+
484
+ # Mexico
485
+ MX = 'MX'.freeze,
486
+
487
+ # Malaysia
488
+ MY = 'MY'.freeze,
489
+
490
+ # Mozambique
491
+ MZ = 'MZ'.freeze,
492
+
493
+ # Namibia
494
+ NA = 'NA'.freeze,
495
+
496
+ # New Caledonia
497
+ NC = 'NC'.freeze,
498
+
499
+ # Niger
500
+ NE = 'NE'.freeze,
501
+
502
+ # Norfolk Island
503
+ NF = 'NF'.freeze,
504
+
505
+ # Nigeria
506
+ NG = 'NG'.freeze,
507
+
508
+ # Nicaragua
509
+ NI = 'NI'.freeze,
510
+
511
+ # Netherlands
512
+ NL = 'NL'.freeze,
513
+
514
+ # Norway
515
+ NO = 'NO'.freeze,
516
+
517
+ # Nepal
518
+ NP = 'NP'.freeze,
519
+
520
+ # Nauru
521
+ NR = 'NR'.freeze,
522
+
523
+ # Niue
524
+ NU = 'NU'.freeze,
525
+
526
+ # New Zealand
527
+ NZ = 'NZ'.freeze,
528
+
529
+ # Oman
530
+ OM = 'OM'.freeze,
531
+
532
+ # Panama
533
+ PA = 'PA'.freeze,
534
+
535
+ # Peru
536
+ PE = 'PE'.freeze,
537
+
538
+ # French Polynesia
539
+ PF = 'PF'.freeze,
540
+
541
+ # Papua New Guinea
542
+ PG = 'PG'.freeze,
543
+
544
+ # Philippines
545
+ PH = 'PH'.freeze,
546
+
547
+ # Pakistan
548
+ PK = 'PK'.freeze,
549
+
550
+ # Poland
551
+ PL = 'PL'.freeze,
552
+
553
+ # Saint Pierre and Miquelon
554
+ PM = 'PM'.freeze,
555
+
556
+ # Pitcairn
557
+ PN = 'PN'.freeze,
558
+
559
+ # Puerto Rico
560
+ PR = 'PR'.freeze,
561
+
562
+ # Palestinian Territory
563
+ PS = 'PS'.freeze,
564
+
565
+ # Portugal
566
+ PT = 'PT'.freeze,
567
+
568
+ # Palau
569
+ PW = 'PW'.freeze,
570
+
571
+ # Paraguay
572
+ PY = 'PY'.freeze,
573
+
574
+ # Qatar
575
+ QA = 'QA'.freeze,
576
+
577
+ # Reunion
578
+ RE = 'RE'.freeze,
579
+
580
+ # Romania
581
+ RO = 'RO'.freeze,
582
+
583
+ # Serbia
584
+ RS = 'RS'.freeze,
585
+
586
+ # Russian Federation
587
+ RU = 'RU'.freeze,
588
+
589
+ # Rwanda
590
+ RW = 'RW'.freeze,
591
+
592
+ # Saudi Arabia
593
+ SA = 'SA'.freeze,
594
+
595
+ # Solomon Islands
596
+ SB = 'SB'.freeze,
597
+
598
+ # Seychelles
599
+ SC = 'SC'.freeze,
600
+
601
+ # Sudan
602
+ SD = 'SD'.freeze,
603
+
604
+ # Sweden
605
+ SE = 'SE'.freeze,
606
+
607
+ # Singapore
608
+ SG = 'SG'.freeze,
609
+
610
+ # Saint Helena
611
+ SH = 'SH'.freeze,
612
+
613
+ # Slovenia
614
+ SI = 'SI'.freeze,
615
+
616
+ # Svalbard and Jan Mayen Islands
617
+ SJ = 'SJ'.freeze,
618
+
619
+ # Slovakia
620
+ SK = 'SK'.freeze,
621
+
622
+ # Sierra Leone
623
+ SL = 'SL'.freeze,
624
+
625
+ # San Marino
626
+ SM = 'SM'.freeze,
627
+
628
+ # Senegal
629
+ SN = 'SN'.freeze,
630
+
631
+ # Somalia
632
+ SO = 'SO'.freeze,
633
+
634
+ # Suriname
635
+ SR = 'SR'.freeze,
636
+
637
+ # South Sudan
638
+ SS = 'SS'.freeze,
639
+
640
+ # Sao Tome and Principe
641
+ ST = 'ST'.freeze,
642
+
643
+ # El Salvador
644
+ SV = 'SV'.freeze,
645
+
646
+ # Sint Maarten
647
+ SX = 'SX'.freeze,
648
+
649
+ # Syria
650
+ SY = 'SY'.freeze,
651
+
652
+ # Swaziland
653
+ SZ = 'SZ'.freeze,
654
+
655
+ # Turks and Caicos Islands
656
+ TC = 'TC'.freeze,
657
+
658
+ # Chad
659
+ TD = 'TD'.freeze,
660
+
661
+ # French Southern Territories
662
+ TF = 'TF'.freeze,
663
+
664
+ # Togo
665
+ TG = 'TG'.freeze,
666
+
667
+ # Thailand
668
+ TH = 'TH'.freeze,
669
+
670
+ # Tajikistan
671
+ TJ = 'TJ'.freeze,
672
+
673
+ # Tokelau
674
+ TK = 'TK'.freeze,
675
+
676
+ # East Timor
677
+ TL = 'TL'.freeze,
678
+
679
+ # Turkmenistan
680
+ TM = 'TM'.freeze,
681
+
682
+ # Tunisia
683
+ TN = 'TN'.freeze,
684
+
685
+ # Tonga
686
+ TO = 'TO'.freeze,
687
+
688
+ # Turkey
689
+ TR = 'TR'.freeze,
690
+
691
+ # Trinidad and Tobago
692
+ TT = 'TT'.freeze,
693
+
694
+ # Tuvalu
695
+ TV = 'TV'.freeze,
696
+
697
+ # Taiwan
698
+ TW = 'TW'.freeze,
699
+
700
+ # Tanzania
701
+ TZ = 'TZ'.freeze,
702
+
703
+ # Ukraine
704
+ UA = 'UA'.freeze,
705
+
706
+ # Uganda
707
+ UG = 'UG'.freeze,
708
+
709
+ # United States Minor Outlying Islands
710
+ UM = 'UM'.freeze,
711
+
712
+ # United States of America
713
+ US = 'US'.freeze,
714
+
715
+ # Uruguay
716
+ UY = 'UY'.freeze,
717
+
718
+ # Uzbekistan
719
+ UZ = 'UZ'.freeze,
720
+
721
+ # Vatican
722
+ VA = 'VA'.freeze,
723
+
724
+ # Saint Vincent and Grenadines
725
+ VC = 'VC'.freeze,
726
+
727
+ # Venezuela
728
+ VE = 'VE'.freeze,
729
+
730
+ # British Virgin Islands
731
+ VG = 'VG'.freeze,
732
+
733
+ # U.S. Virgin Islands
734
+ VI = 'VI'.freeze,
735
+
736
+ # Vietnam
737
+ VN = 'VN'.freeze,
738
+
739
+ # Vanuatu
740
+ VU = 'VU'.freeze,
741
+
742
+ # Wallis and Futuna Islands
743
+ WF = 'WF'.freeze,
744
+
745
+ # Samoa
746
+ WS = 'WS'.freeze,
747
+
748
+ # Yemen
749
+ YE = 'YE'.freeze,
750
+
751
+ # Mayotte
752
+ YT = 'YT'.freeze,
753
+
754
+ # South Africa
755
+ ZA = 'ZA'.freeze,
756
+
757
+ # Zambia
758
+ ZM = 'ZM'.freeze,
759
+
760
+ # Zimbabwe
761
+ ZW = 'ZW'.freeze
762
+ ].freeze
763
+
764
+ def self.validate(value)
765
+ return false if value.nil?
766
+
767
+ COUNTRIES.include?(value)
768
+ end
769
+
770
+ def self.from_value(value, default_value = AD)
771
+ return default_value if value.nil?
772
+
773
+ str = value.to_s.strip
774
+
775
+ case str.downcase
776
+ when 'ad' then AD
777
+ when 'ae' then AE
778
+ when 'af' then AF
779
+ when 'ag' then AG
780
+ when 'ai' then AI
781
+ when 'al' then AL
782
+ when 'am' then AM
783
+ when 'an' then AN
784
+ when 'ao' then AO
785
+ when 'aq' then AQ
786
+ when 'ar' then AR
787
+ when 'as' then AS
788
+ when 'at' then AT
789
+ when 'au' then AU
790
+ when 'aw' then AW
791
+ when 'ax' then AX
792
+ when 'az' then AZ
793
+ when 'ba' then BA
794
+ when 'bb' then BB
795
+ when 'bd' then BD
796
+ when 'be' then BE
797
+ when 'bf' then BF
798
+ when 'bg' then BG
799
+ when 'bh' then BH
800
+ when 'bi' then BI
801
+ when 'bj' then BJ
802
+ when 'bl' then BL
803
+ when 'bm' then BM
804
+ when 'bn' then BN
805
+ when 'bo' then BO
806
+ when 'bq' then BQ
807
+ when 'br' then BR
808
+ when 'bs' then BS
809
+ when 'bt' then BT
810
+ when 'bv' then BV
811
+ when 'bw' then BW
812
+ when 'by' then BY
813
+ when 'bz' then BZ
814
+ when 'ca' then CA
815
+ when 'cc' then CC
816
+ when 'cd' then CD
817
+ when 'cf' then CF
818
+ when 'cg' then CG
819
+ when 'ch' then CH
820
+ when 'ci' then CI
821
+ when 'ck' then CK
822
+ when 'cl' then CL
823
+ when 'cm' then CM
824
+ when 'cn' then CN
825
+ when 'co' then CO
826
+ when 'cr' then CR
827
+ when 'cu' then CU
828
+ when 'cv' then CV
829
+ when 'cw' then CW
830
+ when 'cx' then CX
831
+ when 'cy' then CY
832
+ when 'cz' then CZ
833
+ when 'de' then DE
834
+ when 'dj' then DJ
835
+ when 'dk' then DK
836
+ when 'dm' then DM
837
+ when 'do' then DO
838
+ when 'dz' then DZ
839
+ when 'ec' then EC
840
+ when 'ee' then EE
841
+ when 'eg' then EG
842
+ when 'eh' then EH
843
+ when 'er' then ER
844
+ when 'es' then ES
845
+ when 'et' then ET
846
+ when 'fi' then FI
847
+ when 'fj' then FJ
848
+ when 'fk' then FK
849
+ when 'fm' then FM
850
+ when 'fo' then FO
851
+ when 'fr' then FR
852
+ when 'ga' then GA
853
+ when 'gb' then GB
854
+ when 'gd' then GD
855
+ when 'ge' then GE
856
+ when 'gf' then GF
857
+ when 'gg' then GG
858
+ when 'gh' then GH
859
+ when 'gi' then GI
860
+ when 'gl' then GL
861
+ when 'gm' then GM
862
+ when 'gn' then GN
863
+ when 'gp' then GP
864
+ when 'gq' then GQ
865
+ when 'gr' then GR
866
+ when 'gs' then GS
867
+ when 'gt' then GT
868
+ when 'gu' then GU
869
+ when 'gw' then GW
870
+ when 'gy' then GY
871
+ when 'hk' then HK
872
+ when 'hm' then HM
873
+ when 'hn' then HN
874
+ when 'hr' then HR
875
+ when 'ht' then HT
876
+ when 'hu' then HU
877
+ when 'id' then ID
878
+ when 'ie' then IE
879
+ when 'il' then IL
880
+ when 'im' then IM
881
+ when 'in' then IN
882
+ when 'io' then IO
883
+ when 'iq' then IQ
884
+ when 'ir' then IR
885
+ when 'is' then IS
886
+ when 'it' then IT
887
+ when 'je' then JE
888
+ when 'jm' then JM
889
+ when 'jo' then JO
890
+ when 'jp' then JP
891
+ when 'ke' then KE
892
+ when 'kg' then KG
893
+ when 'kh' then KH
894
+ when 'ki' then KI
895
+ when 'km' then KM
896
+ when 'kn' then KN
897
+ when 'kp' then KP
898
+ when 'kr' then KR
899
+ when 'kw' then KW
900
+ when 'ky' then KY
901
+ when 'kz' then KZ
902
+ when 'la' then LA
903
+ when 'lb' then LB
904
+ when 'lc' then LC
905
+ when 'li' then LI
906
+ when 'lk' then LK
907
+ when 'lr' then LR
908
+ when 'ls' then LS
909
+ when 'lt' then LT
910
+ when 'lu' then LU
911
+ when 'lv' then LV
912
+ when 'ly' then LY
913
+ when 'ma' then MA
914
+ when 'mc' then MC
915
+ when 'md' then MD
916
+ when 'me' then ME
917
+ when 'mf' then MF
918
+ when 'mg' then MG
919
+ when 'mh' then MH
920
+ when 'mk' then MK
921
+ when 'ml' then ML
922
+ when 'mm' then MM
923
+ when 'mn' then MN
924
+ when 'mo' then MO
925
+ when 'mp' then MP
926
+ when 'mq' then MQ
927
+ when 'mr' then MR
928
+ when 'ms' then MS
929
+ when 'mt' then MT
930
+ when 'mu' then MU
931
+ when 'mv' then MV
932
+ when 'mw' then MW
933
+ when 'mx' then MX
934
+ when 'my' then MY
935
+ when 'mz' then MZ
936
+ when 'na' then NA
937
+ when 'nc' then NC
938
+ when 'ne' then NE
939
+ when 'nf' then NF
940
+ when 'ng' then NG
941
+ when 'ni' then NI
942
+ when 'nl' then NL
943
+ when 'no' then NO
944
+ when 'np' then NP
945
+ when 'nr' then NR
946
+ when 'nu' then NU
947
+ when 'nz' then NZ
948
+ when 'om' then OM
949
+ when 'pa' then PA
950
+ when 'pe' then PE
951
+ when 'pf' then PF
952
+ when 'pg' then PG
953
+ when 'ph' then PH
954
+ when 'pk' then PK
955
+ when 'pl' then PL
956
+ when 'pm' then PM
957
+ when 'pn' then PN
958
+ when 'pr' then PR
959
+ when 'ps' then PS
960
+ when 'pt' then PT
961
+ when 'pw' then PW
962
+ when 'py' then PY
963
+ when 'qa' then QA
964
+ when 're' then RE
965
+ when 'ro' then RO
966
+ when 'rs' then RS
967
+ when 'ru' then RU
968
+ when 'rw' then RW
969
+ when 'sa' then SA
970
+ when 'sb' then SB
971
+ when 'sc' then SC
972
+ when 'sd' then SD
973
+ when 'se' then SE
974
+ when 'sg' then SG
975
+ when 'sh' then SH
976
+ when 'si' then SI
977
+ when 'sj' then SJ
978
+ when 'sk' then SK
979
+ when 'sl' then SL
980
+ when 'sm' then SM
981
+ when 'sn' then SN
982
+ when 'so' then SO
983
+ when 'sr' then SR
984
+ when 'ss' then SS
985
+ when 'st' then ST
986
+ when 'sv' then SV
987
+ when 'sx' then SX
988
+ when 'sy' then SY
989
+ when 'sz' then SZ
990
+ when 'tc' then TC
991
+ when 'td' then TD
992
+ when 'tf' then TF
993
+ when 'tg' then TG
994
+ when 'th' then TH
995
+ when 'tj' then TJ
996
+ when 'tk' then TK
997
+ when 'tl' then TL
998
+ when 'tm' then TM
999
+ when 'tn' then TN
1000
+ when 'to' then TO
1001
+ when 'tr' then TR
1002
+ when 'tt' then TT
1003
+ when 'tv' then TV
1004
+ when 'tw' then TW
1005
+ when 'tz' then TZ
1006
+ when 'ua' then UA
1007
+ when 'ug' then UG
1008
+ when 'um' then UM
1009
+ when 'us' then US
1010
+ when 'uy' then UY
1011
+ when 'uz' then UZ
1012
+ when 'va' then VA
1013
+ when 'vc' then VC
1014
+ when 've' then VE
1015
+ when 'vg' then VG
1016
+ when 'vi' then VI
1017
+ when 'vn' then VN
1018
+ when 'vu' then VU
1019
+ when 'wf' then WF
1020
+ when 'ws' then WS
1021
+ when 'ye' then YE
1022
+ when 'yt' then YT
1023
+ when 'za' then ZA
1024
+ when 'zm' then ZM
1025
+ when 'zw' then ZW
1026
+ else
1027
+ default_value
1028
+ end
1029
+ end
1030
+ end
1031
+ end