diff --git a/docs/includes/archives b/docs/includes/archives index 4394bcd7..56285915 100644 --- a/docs/includes/archives +++ b/docs/includes/archives @@ -9,6 +9,11 @@ +22/03/2022 +1.16.1 +Minor errata and documentation fixes. Update of swagger files to OAS3 + + 04/02/2022 1.16.0 Changes arising from Decision 222 (Insights and Trusted Adviser Disclosure Consents CX Standards) diff --git a/docs/includes/cds_dcr b/docs/includes/cds_dcr index 7edc6d72..3a3df98b 100644 --- a/docs/includes/cds_dcr +++ b/docs/includes/cds_dcr @@ -205,7 +205,7 @@ This operation does not require authentication header string mandatory -An Authorisation Token as per RFC6750 +An Authorisation Token as per [RFC6750] @@ -298,7 +298,7 @@ This operation does not require authentication WWW-Authenticate string -The Response Header Field as per RFC6750 +The Response Header Field as per [RFC6750] @@ -379,7 +379,7 @@ To perform this operation, you must be authenticated and authorised with the fol header string mandatory -An Authorisation Token as per RFC6750 +An Authorisation Token as per [RFC6750] body @@ -485,7 +485,7 @@ To perform this operation, you must be authenticated and authorised with the fol WWW-Authenticate string -The Response Header Field as per RFC6750 +The Response Header Field as per [RFC6750] @@ -559,7 +559,7 @@ Authorization: string header string mandatory -An Authorisation Token as per RFC6750 +An Authorisation Token as per [RFC6750] @@ -613,7 +613,7 @@ Authorization: string WWW-Authenticate string -The Response Header Field as per RFC6750 +The Response Header Field as per [RFC6750] @@ -790,7 +790,7 @@ To perform this operation, you must be authenticated and authorised with the fol jwks_uri string mandatory -URL string referencing the client JSON Web Key (JWK) Set [RFC7517] document, which contains the client public keys +URL string referencing the client JSON Web Key (JWK) Set [RFC7517] document, which contains the client public keys revocation_uri @@ -903,6 +903,22 @@ To perform this operation, you must be authenticated and authorised with the fol ES256 +grant_types +client_credentials + + +grant_types +authorization_code + + +grant_types +refresh_token + + +response_types +code id_token + + application_type web diff --git a/docs/includes/cds_energy b/docs/includes/cds_energy index 824e9a06..3dc485d0 100644 --- a/docs/includes/cds_energy +++ b/docs/includes/cds_energy @@ -6366,7 +6366,19 @@ x-cds-client-headers: string "endDate": "string", "type": "ENVIRONMENTAL", "amount": "string", - "description": "string" + "description": "string", + "calculationFactors": [ + { + "value": 0, + "type": "DLF" + } + ], + "adjustments": [ + { + "amount": "string", + "description": "string" + } + ] }, "payment": { "amount": "string", @@ -6697,7 +6709,19 @@ x-cds-client-headers: string "endDate": "string", "type": "ENVIRONMENTAL", "amount": "string", - "description": "string" + "description": "string", + "calculationFactors": [ + { + "value": 0, + "type": "DLF" + } + ], + "adjustments": [ + { + "amount": "string", + "description": "string" + } + ] }, "payment": { "amount": "string", @@ -7057,7 +7081,19 @@ x-cds-client-headers: string "endDate": "string", "type": "ENVIRONMENTAL", "amount": "string", - "description": "string" + "description": "string", + "calculationFactors": [ + { + "value": 0, + "type": "DLF" + } + ], + "adjustments": [ + { + "amount": "string", + "description": "string" + } + ] }, "payment": { "amount": "string", @@ -9059,7 +9095,19 @@ To perform this operation, you must be authenticated and authorised with the fol "endDate": "string", "type": "ENVIRONMENTAL", "amount": "string", - "description": "string" + "description": "string", + "calculationFactors": [ + { + "value": 0, + "type": "DLF" + } + ], + "adjustments": [ + { + "amount": "string", + "description": "string" + } + ] }, "payment": { "amount": "string", @@ -12735,7 +12783,7 @@ To perform this operation, you must be authenticated and authorised with the fol »»» registerSuffix string -mandatory +optional Register suffix of the meter register where the meter reads are obtained @@ -15177,7 +15225,19 @@ To perform this operation, you must be authenticated and authorised with the fol "endDate": "string", "type": "ENVIRONMENTAL", "amount": "string", - "description": "string" + "description": "string", + "calculationFactors": [ + { + "value": 0, + "type": "DLF" + } + ], + "adjustments": [ + { + "amount": "string", + "description": "string" + } + ] }, "payment": { "amount": "string", @@ -15732,7 +15792,19 @@ To perform this operation, you must be authenticated and authorised with the fol "endDate": "string", "type": "ENVIRONMENTAL", "amount": "string", - "description": "string" + "description": "string", + "calculationFactors": [ + { + "value": 0, + "type": "DLF" + } + ], + "adjustments": [ + { + "amount": "string", + "description": "string" + } + ] }

Properties

@@ -15786,6 +15858,42 @@ To perform this operation, you must be authenticated and authorised with the fol mandatory A free text description of the item + +calculationFactors +[object] +optional +Additional calculation factors that inform the transaction + + +» value +number +mandatory +The value of the calculation factor + + +» type +string +mandatory +The type of the calculation factor + + +adjustments +[object] +optional +Optional array of adjustments arising for this transaction + + +» amount +AmountString +mandatory +The amount of the adjustment + + +» description +string +mandatory +A free text description of the adjustment +

Enumerated Values

@@ -15822,6 +15930,14 @@ To perform this operation, you must be authenticated and authorised with the fol + + + + + + + +
type OTHER
typeDLF
typeMLF

EnergyBillingPaymentTransaction

diff --git a/docs/includes/cds_energy_sdh b/docs/includes/cds_energy_sdh index d6229208..0be2f28a 100644 --- a/docs/includes/cds_energy_sdh +++ b/docs/includes/cds_energy_sdh @@ -2891,7 +2891,7 @@ This operation does not require authentication »»» registerSuffix string -mandatory +optional Register suffix of the meter register where the meter reads are obtained diff --git a/docs/includes/cds_register b/docs/includes/cds_register index a5f5d2df..c5647467 100644 --- a/docs/includes/cds_register +++ b/docs/includes/cds_register @@ -256,7 +256,7 @@ x-min-v: string header string mandatory -An Authorisation Token as per RFC6750. +An Authorisation Token as per [RFC6750]. x-v @@ -378,10 +378,6 @@ x-min-v: string } } -
-

400 Response

-
-

Responses

@@ -542,7 +538,7 @@ Authorization: string - +
header string mandatoryAn Authorisation Token as per RFC6750.An Authorisation Token as per [RFC6750].

Enumerated Values

@@ -577,10 +573,6 @@ Authorization: string
"string"
 
-
-

400 Response

-
-

Responses

@@ -789,10 +781,6 @@ If-None-Match: string "meta": {} } -
-

400 Response

-
-

Responses

@@ -997,10 +985,6 @@ If-None-Match: string "meta": {} } -
-

400 Response

-
-

Responses

@@ -1205,10 +1189,6 @@ If-None-Match: string "meta": {} } -
-

400 Response

-
-

Responses

@@ -1435,10 +1415,6 @@ If-None-Match: string "meta": {} } -
-

400 Response

-
-

Responses

@@ -1573,7 +1549,7 @@ This operation does not require authentication - + @@ -1603,13 +1579,13 @@ This operation does not require authentication - + - + @@ -1639,7 +1615,7 @@ This operation does not require authentication - +
jwks_uri string mandatoryURL of the CDR Register's JSON Web Key Set [JWK] document. This contains the signing key(s) used to validate access tokens issued from the CDR Register. Note that this differs from the JWKS endpoint used to validate SSAs and CDR Register client authenticationURL of the CDR Register's JSON Web Key Set [JWK] document. This contains the signing key(s) used to validate access tokens issued from the CDR Register. Note that this differs from the JWKS endpoint used to validate SSAs and CDR Register client authentication
token_endpointcode_challenge_methods_supported [string] mandatoryJSON array containing a list of Proof Key for Code Exchange (PKCE) [RFC7636] code challenge methods supported by this authorization server. Given the CDR Register does not support PKCE, this field can be safely ignoredJSON array containing a list of Proof Key for Code Exchange (PKCE) [RFC7636] code challenge methods supported by this authorization server. Given the CDR Register does not support PKCE, this field can be safely ignored
scopes_supported [string] mandatoryJSON array containing a list of the OAuth 2.0 [RFC6749] scope values that the CDR Register supportsJSON array containing a list of the OAuth 2.0 [RFC6749] scope values that the CDR Register supports
response_types_supportedtoken_endpoint_auth_signing_alg_values_supported [string] mandatoryJSON array containing a list of the JWS signing algorithms (alg values) supported by the token endpoint for the signature on the JWT [JWT] used to authenticate the client at the token endpoint for the \"private_key_jwt\" authentication methodJSON array containing a list of the JWS signing algorithms (alg values) supported by the token endpoint for the signature on the JWT [JWT] used to authenticate the client at the token endpoint for the \"private_key_jwt\" authentication method
@@ -1945,6 +1921,18 @@ This operation does not require authentication +industries +banking + + +industries +energy + + +industries +telco + + status ACTIVE @@ -2679,7 +2667,7 @@ This operation does not require authentication anzsicDivision string optional -ANZSIC division of the organisation. ANZSIC (2006) +ANZSIC division of the organisation. [ANZSIC-2006] organisationType diff --git a/docs/includes/changelog b/docs/includes/changelog index 5c7b8540..81caffc6 100644 --- a/docs/includes/changelog +++ b/docs/includes/changelog @@ -10,6 +10,12 @@ +TBD +1.17.0 +Changes arising from Decision 237 (Maintenance Iteration 10) +See release notes and Decision 237 for details + + 22/03/2022 1.16.1 Minor errata and documentation fixes. Update of swagger files to OAS3 diff --git a/docs/includes/cx_standards/data_language b/docs/includes/cx_standards/data_language index 3f799859..b2601927 100644 --- a/docs/includes/cx_standards/data_language +++ b/docs/includes/cx_standards/data_language @@ -23,25 +23,43 @@


-

Profile Scope

-

In accordance with [OIDC] section 5.4 and section 5.5, this language refers to the [OIDC] profile scope and request of individual claims for the authenticated End-User.

+

Profile Scope and Standard Claims


+Removed ambiguous language for Contact Details data cluster data language Authorisation Scopes description:
+- "OIDC Profile scope and/or"
+
+Changed ambiguous language for Name data cluster data language Authorisation Scopes description:
+- "OIDC Profile scope and/or one or more of these standard [OIDC] claims"
++ "OIDC Profile scope or one or more of these standard [OIDC] claims"
+
+Table columns:
++ Added "Required" column to highlight which claims and OIDC scopes must be supported
+
+Changed title of this section:
+- "Profile Scope"
++ "Profile Scope and Standard Claims"
+
+
+

In accordance with [OIDC] section 5.4 and section 5.5, this language refers to the [OIDC] profile scope and request of individual claims for the authenticated End-User.

+ - + + - + +
Data cluster language
Permission language
Authorisation ScopesRequired
Name Full name and title(s)OIDC Profile scope and/or one or more of these claims:
name
given_name
family_name
updated_at
OIDC Profile scope or one or more of these standard [OIDC] claims*:
name
given_name
family_name
updated_at

*See 5.4. Requesting Claims using Scope Values on the OIDC website for more information.
Required
Contact Details Phone number;
Email address;
Mail address;
OIDC Profile scope and/or one or more of these claims:
email
email_verified
phone_number
phone_number_verified
address
One or more of these standard [OIDC] claims*:
email
email_verified
phone_number
phone_number_verified
address

*See 5.4. Requesting Claims using Scope Values on the OIDC website for more information.
Optional
@@ -156,9 +174,7 @@

Payees

See below for the data language standards for the payees scope:

-
Corrected the capitalisation of BPAY (from BPay) to reflect that
-organisation's branding guidelines
-
+ diff --git a/docs/includes/endpoint-version-schedule/index.html b/docs/includes/endpoint-version-schedule/index.html index ee0ae00a..e0f2716c 100644 --- a/docs/includes/endpoint-version-schedule/index.html +++ b/docs/includes/endpoint-version-schedule/index.html @@ -212,6 +212,9 @@
-

Endpoint Version Schedule

+

Obligation Dates Schedule

+

The following schedule represents future obligation dates. This includes a set of bi-monthly obligation milestone windows and historically assigned obligation dates.

+ +

The calendar of obligation milestones are published to provide predictability. This calendar does not mean that any obligations exist at these dates however when addressing the future dating of obligations for any breaking changes, this calendar will be used to pin those obligations to pre-determined obligation milestones.

+ +

These dates may be subject to change depending upon new or changed legislative and policy dates as well as optimisation and streamlining based on community feedback.

+ +
Data cluster language
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Obligation MilestoneMilestone Date# Obligations Assigned
Legacy FDO01/07/20211
Legacy FDO31/07/20211
Legacy FDO31/10/20211
Legacy FDO01/11/20212
Legacy FDO01/02/20222
Y22 #131/03/20221
Legacy FDO01/07/20222
Y22 #204/07/20221
Legacy FDO31/07/20224
Legacy FDO30/07/20226
Y22 #331/08/20222
Legacy FDO16/09/20221
Legacy FDO01/10/20221
Y22 #415/11/20220
Legacy FDO30/11/20223
Legacy FDO05/12/20221
Legacy FDO28/02/20233
Y23 #107/04/20231
Y23 #208/05/20230
Y23 #310/07/20230
Y23 #411/09/20230
Y23 #513/11/20230
Y24 #111/03/20240
Y24 #213/05/20240
Y24 #315/07/20240
Y24 #409/09/20240
Y24 #511/11/20240
+ +
+
+
+ Obligations @ +
+ +
+
Collapse obligations
+ + +
+ +
+ × +
+ + +

Endpoint Version Schedule

The following tables describe the endpoint versions and the dates they become binding within the data standards.

Binding Date indicates the dates the particular version of an endpoint becomes binding in the data standards.

diff --git a/docs/includes/obsolete/get-account-detail-v1.html b/docs/includes/obsolete/get-account-detail-v1.html index 092d4c5d..46d42bc1 100644 --- a/docs/includes/obsolete/get-account-detail-v1.html +++ b/docs/includes/obsolete/get-account-detail-v1.html @@ -2933,6 +2933,10 @@

BankingProductRateCo
+
+ + +
diff --git a/docs/includes/obsolete/get-customer-detail-v1.html b/docs/includes/obsolete/get-customer-detail-v1.html index 468862b3..d7ed68de 100644 --- a/docs/includes/obsolete/get-customer-detail-v1.html +++ b/docs/includes/obsolete/get-customer-detail-v1.html @@ -1953,6 +1953,10 @@

Properties

+
+ + +
diff --git a/docs/includes/obsolete/get-data-holder-brands-v1.html b/docs/includes/obsolete/get-data-holder-brands-v1.html index c263b220..4b6543e8 100644 --- a/docs/includes/obsolete/get-data-holder-brands-v1.html +++ b/docs/includes/obsolete/get-data-holder-brands-v1.html @@ -1070,6 +1070,10 @@

Error

+
+ + +
diff --git a/docs/includes/obsolete/get-data-recipient-statuses-v1.html b/docs/includes/obsolete/get-data-recipient-statuses-v1.html index a0b41fcb..cec485bd 100644 --- a/docs/includes/obsolete/get-data-recipient-statuses-v1.html +++ b/docs/includes/obsolete/get-data-recipient-statuses-v1.html @@ -545,6 +545,10 @@

Error

+
+ + +
diff --git a/docs/includes/obsolete/get-data-recipients-v2.html b/docs/includes/obsolete/get-data-recipients-v2.html index f63b4047..78457d8a 100644 --- a/docs/includes/obsolete/get-data-recipients-v2.html +++ b/docs/includes/obsolete/get-data-recipients-v2.html @@ -809,6 +809,10 @@

Error

+
+ + +
diff --git a/docs/includes/obsolete/get-metrics-v1.html b/docs/includes/obsolete/get-metrics-v1.html index 1b4ad997..414df648 100644 --- a/docs/includes/obsolete/get-metrics-v1.html +++ b/docs/includes/obsolete/get-metrics-v1.html @@ -1319,6 +1319,10 @@

RejectionMetrics

+
+ + +
diff --git a/docs/includes/obsolete/get-metrics-v2.html b/docs/includes/obsolete/get-metrics-v2.html index ad689097..6956e72b 100644 --- a/docs/includes/obsolete/get-metrics-v2.html +++ b/docs/includes/obsolete/get-metrics-v2.html @@ -1452,6 +1452,10 @@

Meta

+
+ + +
diff --git a/docs/includes/obsolete/get-payee-detail-v1.html b/docs/includes/obsolete/get-payee-detail-v1.html index 072f7c16..7c2e5037 100644 --- a/docs/includes/obsolete/get-payee-detail-v1.html +++ b/docs/includes/obsolete/get-payee-detail-v1.html @@ -1203,6 +1203,10 @@

BankingInternationalPa
+
+ + +
diff --git a/docs/includes/obsolete/get-payees-v1.html b/docs/includes/obsolete/get-payees-v1.html index d3f03153..83dcf411 100644 --- a/docs/includes/obsolete/get-payees-v1.html +++ b/docs/includes/obsolete/get-payees-v1.html @@ -1207,6 +1207,10 @@

BankingInternationalPa
+
+ + +
diff --git a/docs/includes/obsolete/get-product-detail-v1.html b/docs/includes/obsolete/get-product-detail-v1.html index c1faec50..34f37f5e 100644 --- a/docs/includes/obsolete/get-product-detail-v1.html +++ b/docs/includes/obsolete/get-product-detail-v1.html @@ -2686,6 +2686,10 @@

Meta

+
+ + +
diff --git a/docs/includes/obsolete/get-product-detail-v2.html b/docs/includes/obsolete/get-product-detail-v2.html index 2df6230c..137b218e 100644 --- a/docs/includes/obsolete/get-product-detail-v2.html +++ b/docs/includes/obsolete/get-product-detail-v2.html @@ -2498,6 +2498,10 @@

MetaPaginated

+
+ + +
diff --git a/docs/includes/obsolete/get-product-detail-v3.html b/docs/includes/obsolete/get-product-detail-v3.html index 39640849..1872120c 100644 --- a/docs/includes/obsolete/get-product-detail-v3.html +++ b/docs/includes/obsolete/get-product-detail-v3.html @@ -2441,6 +2441,10 @@

BankingProductRateCo
+
+ + +
diff --git a/docs/includes/obsolete/get-products-v1.html b/docs/includes/obsolete/get-products-v1.html index 689e5c38..08c17b9b 100644 --- a/docs/includes/obsolete/get-products-v1.html +++ b/docs/includes/obsolete/get-products-v1.html @@ -954,6 +954,10 @@

MetaPaginated

+
+ + +
diff --git a/docs/includes/obsolete/get-products-v2.html b/docs/includes/obsolete/get-products-v2.html index 65e28849..96e3ddac 100644 --- a/docs/includes/obsolete/get-products-v2.html +++ b/docs/includes/obsolete/get-products-v2.html @@ -1034,6 +1034,10 @@

MetaPaginated

+
+ + +
diff --git a/docs/includes/obsolete/get-software-product-statuses-v1.html b/docs/includes/obsolete/get-software-product-statuses-v1.html index 442d2314..7c394c62 100644 --- a/docs/includes/obsolete/get-software-product-statuses-v1.html +++ b/docs/includes/obsolete/get-software-product-statuses-v1.html @@ -541,6 +541,10 @@

Error

+
+ + +
diff --git a/docs/includes/obsolete/get-software-statement-assertion-v2.html b/docs/includes/obsolete/get-software-statement-assertion-v2.html index bc3a9b05..821dce16 100644 --- a/docs/includes/obsolete/get-software-statement-assertion-v2.html +++ b/docs/includes/obsolete/get-software-statement-assertion-v2.html @@ -496,6 +496,10 @@

Error

+
+ + +
diff --git a/docs/includes/releasenotes/releasenotes.1.17.0.html b/docs/includes/releasenotes/releasenotes.1.17.0.html new file mode 100644 index 00000000..d0fdafce --- /dev/null +++ b/docs/includes/releasenotes/releasenotes.1.17.0.html @@ -0,0 +1,345 @@ + + + + + + + + Consumer Data Standards - v1.17.0 Release Notes + + + + + + + + + + + + NAV + Navbar + + +
+ + + +
+
+
+

V1.17.0 Release Notes

+

Release notes for version v1.17.0 of the CDR Standards.

+

Changes Made

Change Requests

+

This release addresses the following change requests raised on Standards Maintenance:

+ + +

Decision Proposals

+

This release addresses the following Decision Proposals published on Standards:

+ + +

High Level Standards

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
ChangeDescriptionLink
Energy schemaStandards Maintenance #438 Added 'calculationFactors' and 'adjustments' objects to 'EnergyBillingOtherTransaction' model to allow consistent representation of any calculation factors (i.e. DLF or MLF) used for deriving other charges and any adjustments arising from other types of charges such as environmental charge.Energy Schema
Obligation date highlightingHighlighting based on a date pickers has been added for the Endpoint versioning schedule to enhance documentation functionality. This feature allows users to select a target date and determine what obligations apply at that date.Endpoint versioning schedule
Obligation Dates TableA series of fixed obligation milestones were agreed in Maintenance Iteration 10. This set of milestones will be used to pin breaking changes to a deterministic series of possible obligation dates.Obligation Dates
Scrollable diffs and examplesAdded previous and next buttons to support easy scrolling between all diffs and non-normative examples. This feature is context dependent on the tab being viewedN/A
+

API End Points

+ + + + + + + + + + + + +
ChangeDescriptionLink
Energy schemaStandards Maintenance #457 Made EnergyServicePointDetail.meters.registers.registerSuffix field optionalEnergy Schema
+

Information Security Profile

+ + + + + + + + + + + + + + + + + + + + + + +
ChangeDescriptionLink
CDR Arrangement Revocation End PointStandards Maintenance Issue 503: Corrected the documentation to include CDR Arrangement Form Parameter and CDR Arrangement JWT methods. Previous versions did not include this documentation correctly.CDR Arrangement Revocation End Point
Self-signed JWT Client Authentication non-normative exampleStandards Maintenance #482: Updated self-signed JWT client authentication non-normative example alg field from HS256 to PS256Client Authentication
CDR Arrangement Revocation End Point non-normative exampleStandards Maintenance #482: Updated data recipient hosted CDR Arrangement Revocation End Point non-normative example alg field from HS256 to PS256Security Endpoints
+

Consumer Experience

+ + + + + + + + + + + + +
ChangeDescriptionLink
OIDC Contact Detail claimsStandards Maintenance #504: Data language standards have been corrected to clarify that individual OIDC standard contact detail claims must be requested individually and not using the OIDC profile scope. These claims are optional for the Data Holder support and Data Recipients should check the Data Holder's OIDD discovery document to determine which claims are supported by inspecting the claims_supported parameter.Profile scope
+ +
+
+ + diff --git a/docs/includes/swagger/cds_admin.json b/docs/includes/swagger/cds_admin.json index c08d7827..2b73a555 100644 --- a/docs/includes/swagger/cds_admin.json +++ b/docs/includes/swagger/cds_admin.json @@ -12,7 +12,7 @@ "url" : "https://opensource.org/licenses/MIT" }, "title" : "CDR Admin API", - "version" : "1.16.1" + "version" : "1.17.0" }, "servers" : [ { "url" : "https://data.holder.com.au/cds-au/v1" @@ -906,4 +906,4 @@ } } } -} +} \ No newline at end of file diff --git a/docs/includes/swagger/cds_admin.yaml b/docs/includes/swagger/cds_admin.yaml index b14f57f8..ad91f2b4 100644 --- a/docs/includes/swagger/cds_admin.yaml +++ b/docs/includes/swagger/cds_admin.yaml @@ -11,7 +11,7 @@ info: name: MIT License url: https://opensource.org/licenses/MIT title: CDR Admin API - version: 1.16.1 + version: 1.17.0 servers: - url: https://data.holder.com.au/cds-au/v1 paths: diff --git a/docs/includes/swagger/cds_banking.json b/docs/includes/swagger/cds_banking.json index bdf4c2cf..61ad5cb5 100644 --- a/docs/includes/swagger/cds_banking.json +++ b/docs/includes/swagger/cds_banking.json @@ -12,7 +12,7 @@ "url" : "https://opensource.org/licenses/MIT" }, "title" : "CDR Banking API", - "version" : "1.16.1" + "version" : "1.17.0" }, "servers" : [ { "url" : "https://data.holder.com.au/cds-au/v1" @@ -5961,4 +5961,4 @@ } } } -} +} \ No newline at end of file diff --git a/docs/includes/swagger/cds_banking.yaml b/docs/includes/swagger/cds_banking.yaml index 9dbb45d3..0bf2f009 100644 --- a/docs/includes/swagger/cds_banking.yaml +++ b/docs/includes/swagger/cds_banking.yaml @@ -11,7 +11,7 @@ info: name: MIT License url: https://opensource.org/licenses/MIT title: CDR Banking API - version: 1.16.1 + version: 1.17.0 servers: - url: https://data.holder.com.au/cds-au/v1 paths: diff --git a/docs/includes/swagger/cds_common.json b/docs/includes/swagger/cds_common.json index ed85f1ff..79895d2c 100644 --- a/docs/includes/swagger/cds_common.json +++ b/docs/includes/swagger/cds_common.json @@ -12,7 +12,7 @@ "url" : "https://opensource.org/licenses/MIT" }, "title" : "CDR Common API", - "version" : "1.16.1" + "version" : "1.17.0" }, "servers" : [ { "url" : "https://data.holder.com.au/cds-au/v1" diff --git a/docs/includes/swagger/cds_common.yaml b/docs/includes/swagger/cds_common.yaml index 7d80ac09..c22e9d5f 100644 --- a/docs/includes/swagger/cds_common.yaml +++ b/docs/includes/swagger/cds_common.yaml @@ -11,7 +11,7 @@ info: name: MIT License url: https://opensource.org/licenses/MIT title: CDR Common API - version: 1.16.1 + version: 1.17.0 servers: - url: https://data.holder.com.au/cds-au/v1 paths: diff --git a/docs/includes/swagger/cds_dcr.json b/docs/includes/swagger/cds_dcr.json index 7ff281df..aa99a35c 100644 --- a/docs/includes/swagger/cds_dcr.json +++ b/docs/includes/swagger/cds_dcr.json @@ -3,7 +3,7 @@ "info" : { "description" : "This specification defines the APIs for Data Holders exposing Dynamic Client Registration endpoints.", "title" : "CDR Dynamic Client Registration API", - "version" : "1.16.1" + "version" : "1.17.0" }, "servers" : [ { "url" : "https://data.holder.com.au/register" @@ -78,11 +78,9 @@ } ], "responses" : { "204" : { - "content" : { }, "description" : "Client deleted" }, "401" : { - "content" : { }, "description" : "Request failed due to unknown or invalid Client or invalid access token", "headers" : { "WWW-Authenticate" : { @@ -97,11 +95,9 @@ } }, "403" : { - "content" : { }, "description" : "The client does not have permission to read, update or delete the Client" }, "405" : { - "content" : { }, "description" : "Method Not Allowed. The requested method is unsupported" } }, @@ -145,7 +141,6 @@ "description" : "Client registration retrieval success" }, "401" : { - "content" : { }, "description" : "Request failed due to unknown or invalid Client or invalid access token", "headers" : { "WWW-Authenticate" : { @@ -160,7 +155,6 @@ } }, "403" : { - "content" : { }, "description" : "The client does not have permission to read, update or delete the Client" } }, @@ -225,7 +219,6 @@ "description" : "Request failed due to client error" }, "401" : { - "content" : { }, "description" : "Request failed due to unknown or invalid Client or invalid access token", "headers" : { "WWW-Authenticate" : { @@ -240,7 +233,6 @@ } }, "403" : { - "content" : { }, "description" : "The client does not have permission to read, update or delete the Client" } }, @@ -288,7 +280,6 @@ "description" : "Request failed due to client error" }, "401Error" : { - "content" : { }, "description" : "Request failed due to unknown or invalid Client or invalid access token", "headers" : { "WWW-Authenticate" : { @@ -303,11 +294,9 @@ } }, "403Error" : { - "content" : { }, "description" : "The client does not have permission to read, update or delete the Client" }, "405Error" : { - "content" : { }, "description" : "Method Not Allowed. The requested method is unsupported" } }, diff --git a/docs/includes/swagger/cds_dcr.yaml b/docs/includes/swagger/cds_dcr.yaml index 36a38942..be5a2921 100644 --- a/docs/includes/swagger/cds_dcr.yaml +++ b/docs/includes/swagger/cds_dcr.yaml @@ -3,7 +3,7 @@ info: description: This specification defines the APIs for Data Holders exposing Dynamic Client Registration endpoints. title: CDR Dynamic Client Registration API - version: 1.16.1 + version: 1.17.0 servers: - url: https://data.holder.com.au/register paths: @@ -60,10 +60,8 @@ paths: style: simple responses: "204": - content: {} description: Client deleted "401": - content: {} description: Request failed due to unknown or invalid Client or invalid access token headers: @@ -75,11 +73,9 @@ paths: type: string style: simple "403": - content: {} description: The client does not have permission to read, update or delete the Client "405": - content: {} description: Method Not Allowed. The requested method is unsupported summary: Delete Data Recipient oAuth Client Registration tags: @@ -114,7 +110,6 @@ paths: $ref: '#/components/schemas/RegistrationProperties' description: Client registration retrieval success "401": - content: {} description: Request failed due to unknown or invalid Client or invalid access token headers: @@ -126,7 +121,6 @@ paths: type: string style: simple "403": - content: {} description: The client does not have permission to read, update or delete the Client summary: Get oAuth Client Registration @@ -176,7 +170,6 @@ paths: $ref: '#/components/schemas/RegistrationError' description: Request failed due to client error "401": - content: {} description: Request failed due to unknown or invalid Client or invalid access token headers: @@ -188,7 +181,6 @@ paths: type: string style: simple "403": - content: {} description: The client does not have permission to read, update or delete the Client summary: Update Data Recipient Registration @@ -225,7 +217,6 @@ components: $ref: '#/components/schemas/RegistrationError' description: Request failed due to client error "401Error": - content: {} description: Request failed due to unknown or invalid Client or invalid access token headers: @@ -237,11 +228,9 @@ components: type: string style: simple "403Error": - content: {} description: The client does not have permission to read, update or delete the Client "405Error": - content: {} description: Method Not Allowed. The requested method is unsupported schemas: ClientRegistrationRequest: diff --git a/docs/includes/swagger/cds_energy.json b/docs/includes/swagger/cds_energy.json index e80052f3..bf12731d 100644 --- a/docs/includes/swagger/cds_energy.json +++ b/docs/includes/swagger/cds_energy.json @@ -3,7 +3,7 @@ "info" : { "description" : "Consumer Data Right end points and payloads for the Energy sector", "title" : "CDR Energy API", - "version" : "1.16.1" + "version" : "1.17.0" }, "servers" : [ { "url" : "/" @@ -6767,6 +6767,20 @@ "description" : { "description" : "A free text description of the item", "type" : "string" + }, + "calculationFactors" : { + "description" : "Additional calculation factors that inform the transaction", + "items" : { + "$ref" : "#/components/schemas/EnergyBillingUsageTransaction_calculationFactors" + }, + "type" : "array" + }, + "adjustments" : { + "description" : "Optional array of adjustments arising for this transaction", + "items" : { + "$ref" : "#/components/schemas/EnergyBillingUsageTransaction_adjustments" + }, + "type" : "array" } }, "required" : [ "amount", "description" ], @@ -7476,7 +7490,7 @@ "type" : "string" } }, - "required" : [ "registerConsumptionType", "registerId", "registerSuffix" ], + "required" : [ "registerConsumptionType", "registerId" ], "type" : "object" }, "EnergyServicePointDetail_meters" : { diff --git a/docs/includes/swagger/cds_energy.yaml b/docs/includes/swagger/cds_energy.yaml index baa930c4..be902de8 100644 --- a/docs/includes/swagger/cds_energy.yaml +++ b/docs/includes/swagger/cds_energy.yaml @@ -2,7 +2,7 @@ openapi: 3.0.3 info: description: Consumer Data Right end points and payloads for the Energy sector title: CDR Energy API - version: 1.16.1 + version: 1.17.0 servers: - url: / paths: @@ -5818,10 +5818,20 @@ components: description: description otherCharges: amount: amount + adjustments: + - amount: amount + description: description + - amount: amount + description: description endDate: endDate servicePointId: servicePointId invoiceNumber: invoiceNumber description: description + calculationFactors: + - type: DLF + value: 6.027456183070403 + - type: DLF + value: 6.027456183070403 type: ENVIRONMENTAL startDate: startDate usage: @@ -5879,10 +5889,20 @@ components: description: description otherCharges: amount: amount + adjustments: + - amount: amount + description: description + - amount: amount + description: description endDate: endDate servicePointId: servicePointId invoiceNumber: invoiceNumber description: description + calculationFactors: + - type: DLF + value: 6.027456183070403 + - type: DLF + value: 6.027456183070403 type: ENVIRONMENTAL startDate: startDate usage: @@ -8382,10 +8402,20 @@ components: description: description otherCharges: amount: amount + adjustments: + - amount: amount + description: description + - amount: amount + description: description endDate: endDate servicePointId: servicePointId invoiceNumber: invoiceNumber description: description + calculationFactors: + - type: DLF + value: 6.027456183070403 + - type: DLF + value: 6.027456183070403 type: ENVIRONMENTAL startDate: startDate usage: @@ -8690,10 +8720,20 @@ components: EnergyBillingOtherTransaction: example: amount: amount + adjustments: + - amount: amount + description: description + - amount: amount + description: description endDate: endDate servicePointId: servicePointId invoiceNumber: invoiceNumber description: description + calculationFactors: + - type: DLF + value: 6.027456183070403 + - type: DLF + value: 6.027456183070403 type: ENVIRONMENTAL startDate: startDate properties: @@ -8731,6 +8771,16 @@ components: description: description: A free text description of the item type: string + calculationFactors: + description: Additional calculation factors that inform the transaction + items: + $ref: '#/components/schemas/EnergyBillingUsageTransaction_calculationFactors' + type: array + adjustments: + description: Optional array of adjustments arising for this transaction + items: + $ref: '#/components/schemas/EnergyBillingUsageTransaction_adjustments' + type: array required: - amount - description @@ -9356,10 +9406,20 @@ components: description: description otherCharges: amount: amount + adjustments: + - amount: amount + description: description + - amount: amount + description: description endDate: endDate servicePointId: servicePointId invoiceNumber: invoiceNumber description: description + calculationFactors: + - type: DLF + value: 6.027456183070403 + - type: DLF + value: 6.027456183070403 type: ENVIRONMENTAL startDate: startDate usage: @@ -9417,10 +9477,20 @@ components: description: description otherCharges: amount: amount + adjustments: + - amount: amount + description: description + - amount: amount + description: description endDate: endDate servicePointId: servicePointId invoiceNumber: invoiceNumber description: description + calculationFactors: + - type: DLF + value: 6.027456183070403 + - type: DLF + value: 6.027456183070403 type: ENVIRONMENTAL startDate: startDate usage: @@ -10145,7 +10215,6 @@ components: required: - registerConsumptionType - registerId - - registerSuffix type: object EnergyServicePointDetail_meters: example: diff --git a/docs/includes/swagger/cds_energy_sdh.json b/docs/includes/swagger/cds_energy_sdh.json index bddf882c..ed4176bd 100644 --- a/docs/includes/swagger/cds_energy_sdh.json +++ b/docs/includes/swagger/cds_energy_sdh.json @@ -3,7 +3,7 @@ "info" : { "description" : "Consumer Data Right end points and payloads for Secondary Data Holder for the Energy sector", "title" : "CDR Energy Secondary Data Holder API", - "version" : "1.16.1" + "version" : "1.17.0" }, "servers" : [ { "url" : "/" @@ -2052,7 +2052,7 @@ "type" : "string" } }, - "required" : [ "registerConsumptionType", "registerId", "registerSuffix" ], + "required" : [ "registerConsumptionType", "registerId" ], "type" : "object" }, "EnergyServicePointDetail_meters" : { diff --git a/docs/includes/swagger/cds_energy_sdh.yaml b/docs/includes/swagger/cds_energy_sdh.yaml index 31ed47ae..64d58a39 100644 --- a/docs/includes/swagger/cds_energy_sdh.yaml +++ b/docs/includes/swagger/cds_energy_sdh.yaml @@ -3,7 +3,7 @@ info: description: Consumer Data Right end points and payloads for Secondary Data Holder for the Energy sector title: CDR Energy Secondary Data Holder API - version: 1.16.1 + version: 1.17.0 servers: - url: / paths: @@ -3098,7 +3098,6 @@ components: required: - registerConsumptionType - registerId - - registerSuffix type: object EnergyServicePointDetail_meters: example: diff --git a/docs/includes/swagger/cds_register.json b/docs/includes/swagger/cds_register.json index 80277ad6..186aeac1 100644 --- a/docs/includes/swagger/cds_register.json +++ b/docs/includes/swagger/cds_register.json @@ -2,7 +2,7 @@ "openapi" : "3.0.3", "info" : { "title" : "CDR Participant Discovery API", - "version" : "1.16.1" + "version" : "1.17.0" }, "servers" : [ { "url" : "https:///" @@ -415,7 +415,6 @@ } }, "304" : { - "content" : { }, "description" : "Not Modified - The current representation of the target resource matches with the entity-tag provided in the If-None-Match request header", "headers" : { "Etag" : { @@ -530,7 +529,6 @@ } }, "304" : { - "content" : { }, "description" : "Not Modified - The current representation of the target resource matches with the entity-tag provided in the If-None-Match request header", "headers" : { "Etag" : { @@ -645,7 +643,6 @@ } }, "304" : { - "content" : { }, "description" : "Not Modified - The current representation of the target resource matches with the entity-tag provided in the If-None-Match request header", "headers" : { "Etag" : { @@ -760,7 +757,6 @@ } }, "304" : { - "content" : { }, "description" : "Not Modified - The current representation of the target resource matches with the entity-tag provided in the If-None-Match request header", "headers" : { "Etag" : { @@ -917,7 +913,6 @@ "description" : "Invalid Bearer Token" }, "NotModified" : { - "content" : { }, "description" : "Not Modified - The current representation of the target resource matches with the entity-tag provided in the If-None-Match request header", "headers" : { "Etag" : { diff --git a/docs/includes/swagger/cds_register.yaml b/docs/includes/swagger/cds_register.yaml index ead8ba51..f527cb78 100644 --- a/docs/includes/swagger/cds_register.yaml +++ b/docs/includes/swagger/cds_register.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: title: CDR Participant Discovery API - version: 1.16.1 + version: 1.17.0 servers: - url: https:/// paths: @@ -349,7 +349,6 @@ paths: type: string style: simple "304": - content: {} description: Not Modified - The current representation of the target resource matches with the entity-tag provided in the If-None-Match request header headers: @@ -448,7 +447,6 @@ paths: type: string style: simple "304": - content: {} description: Not Modified - The current representation of the target resource matches with the entity-tag provided in the If-None-Match request header headers: @@ -547,7 +545,6 @@ paths: type: string style: simple "304": - content: {} description: Not Modified - The current representation of the target resource matches with the entity-tag provided in the If-None-Match request header headers: @@ -646,7 +643,6 @@ paths: type: string style: simple "304": - content: {} description: Not Modified - The current representation of the target resource matches with the entity-tag provided in the If-None-Match request header headers: @@ -773,7 +769,6 @@ components: $ref: '#/components/schemas/ResponseErrorListV2' description: Invalid Bearer Token NotModified: - content: {} description: Not Modified - The current representation of the target resource matches with the entity-tag provided in the If-None-Match request header headers: diff --git a/docs/index.html b/docs/index.html index 516913fd..0f56cc74 100644 --- a/docs/index.html +++ b/docs/index.html @@ -294,7 +294,7 @@ Data Language Standards: Common
  • - Profile Scope + Profile Scope and Standard Claims
  • Banking Language @@ -1346,9 +1346,7 @@

    Introduction

    -
    The Version Delta tab can be used to see in context changes between
    -this version of the standards and the immediately previous version
    -of the standards.
    +
    The Version Delta tab can be used to see in context changes between this version of the standards and the immediately previous version of the standards.
     
     This text is an example of a new addition to the standards:
     + New text added here
    @@ -1356,9 +1354,7 @@ 

    Introduction

    This text is an example of text removed from the standards: - Old text removed -Note: changes to request and response payloads are listed at the -beginning of the relevant API section due to the documentation -being auto generated from OpenAPI specification files. +Note: changes to request and response payloads are listed at the beginning of the relevant API section due to the documentation being auto generated from OpenAPI specification files.

    These standards have been developed as part of the Australian Government's introduction of the Consumer Data Right legislation to give Australians greater control over their data.

    @@ -1374,14 +1370,16 @@

    Introduction

  • where the standards are specified as binding standards as required by the Consumer Data Right rules for the purposes of s56FA of the legislation, they apply as under contract between a data holder and an accredited data recipient. The legal effect of binding standards as between data holders and accredited data recipients is fully set out in s56FD and s56FE of the legislation.
  • -
    Note that in v1.16.1 of the standards tooltips have been added whenever
    -a normative, or informative, reference is referred to in the standards
    -

    Version

    -

    These standards represent version 1.16.1 of the high level standards. See the versioning section for more information on how versions are managed in the standard.

    +

    Version

    + +

    These standards represent version 1.17.0 of the high level standards. See the versioning section for more information on how versions are managed in the standard.

    +

    Interpretation

    +

    Note that, in these standards, the key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL are to be interpreted as described in [RFC2119].

    Future Dated Obligations

    +

    The standards, as published from time to time, may include specific statements indicating that a specific section of the standards will not take effect until a future date or may cease to have effect on some future date.

    The table below highlights these areas of the standards.

    @@ -1570,10 +1568,10 @@

    Future Dated Obligations

    ‡NOTE: Get Data Holder Brands V2 definition is still subject to change

    Endpoint Version Schedule

    +

    A table-view of all endpoint versioning is available here.

    -

    Normative References

    Added tooltip support for all inline references to normative and informative references. Tooltips will provide details to the title of the referenced document when users hover over the link with their mouse.
    -
    +

    Normative References

    @@ -1939,14 +1937,12 @@

    End Point Versioning

    A table-view of all endpoint versioning is available here.

    -
    Added link to the Endpoint Versioning Schedule:
    -
    -+ A table-view of all endpoint versioning is available <a href='includes/endpoint-version-schedule/'>here</a>.
    -

    URI Structure

    +

    Some example URIs that meet this standard are:

    +
    1. https://www.bank.com.au/api/cds-au/v1/banking/accounts  
     2. https://www.bank.com.au/api/cds-au/v1/banking/accounts/abc123/transactions/?x=y#bar  
     3. https://www.bank.com.au/complex/uri/taxonomy/cds-au/v1/banking/products?page=2  
    @@ -3454,33 +3450,49 @@ 

    Data Language Standards: Common


    -

    Profile Scope

    - -

    In accordance with [OIDC] section 5.4 and section 5.5, this language refers to the [OIDC] profile scope and request of individual claims for the authenticated End-User.

    +

    Profile Scope and Standard Claims

    
    +Removed ambiguous language for Contact Details data cluster data language Authorisation Scopes description:
    +- "OIDC Profile scope and/or"
    +
    +Changed ambiguous language for Name data cluster data language Authorisation Scopes description:
    +- "OIDC Profile scope and/or one or more of these standard [OIDC] claims"
    ++ "OIDC Profile scope or one or more of these standard [OIDC] claims"
    +
    +Table columns:
    ++ Added "Required" column to highlight which claims and OIDC scopes must be supported
    +
    +Changed title of this section:
    +- "Profile Scope"
    ++ "Profile Scope and Standard Claims"
    +
    +
    +

    In accordance with [OIDC] section 5.4 and section 5.5, this language refers to the [OIDC] profile scope and request of individual claims for the authenticated End-User.

    + - + + - + +
    Data cluster language
    Permission language
    Authorisation ScopesRequired
    Name Full name and title(s)OIDC Profile scope and/or one or more of these claims:
    name
    given_name
    family_name
    updated_at
    OIDC Profile scope or one or more of these standard [OIDC] claims*:
    name
    given_name
    family_name
    updated_at

    *See 5.4. Requesting Claims using Scope Values on the OIDC website for more information.
    Required
    Contact Details Phone number;
    Email address;
    Mail address;
    OIDC Profile scope and/or one or more of these claims:
    email
    email_verified
    phone_number
    phone_number_verified
    address
    One or more of these standard [OIDC] claims*:
    email
    email_verified
    phone_number
    phone_number_verified
    address

    *See 5.4. Requesting Claims using Scope Values on the OIDC website for more information.
    Optional

    Note: For non-individual consumers, claims available via the profile scope will only return the details of the authenticated End-User and not the organisation or non-individual consumer.


    -

    Banking Language

    Individual Consumer

    @@ -3589,9 +3601,7 @@

    Regular Payments

    Payees

    See below for the data language standards for the payees scope:

    -
    Corrected the capitalisation of BPAY (from BPay) to reflect that
    -organisation's branding guidelines
    -
    + @@ -4470,7 +4480,7 @@

    Self-signed JWT Client Authentica ## Decoded Bearer token JWT { - "alg":"HS256", + "alg":"PS256", "typ":"JWT", "kid":"12456" } @@ -4482,6 +4492,7 @@

    Self-signed JWT Client Authentica "exp":1516239322, "jti":"32358102-a44f-43cc-ad7c-42443d01507a" } +
    Updated self-signed JWT client authentication non-normative example `alg` field from HS256 to PS256
     

    Data Recipient Software Products and Data Holders supporting the self-signed JWT authentication of clients using a signed JWT MUST do so according to the following requirements:

    @@ -6451,19 +6462,33 @@

    CDR Arrangement Revocation End Poi

    Data Holders and Data Recipient Software Products MUST implement a CDR Arrangement Revocation End Point that can be used to revoke an existing sharing arrangement.

    -


    -CDR Arrangement Form Parameter method

    +


    + +
    
    +Corrected documentation to include CDR Arrangement Form Parameter method and CDR Arrangement JWT method description. This was previously omitted.
     
    -

    The request MUST include the following parameters using the application/x-www-form-urlencoded format in the HTTP request entity-body:

    +
    + +

    CDR Arrangement Form Parameter method

    + +

    The request MUST include the following parameters using the application/x-www-form-urlencoded format in the HTTP request entity-body:

      -
    • cdr_arrangement_jwt: A signed JWT that includes the cdr_arrangement_id.
    • +
    • cdr_arrangement_id: The ID of the arrangement that the client wants to revoke.
    -

    The cdr_arrangement_jwt MUST be a newly signed JWT with the following parameters in accordance with [JWT]:

    +

    CDR Arrangement JWT method

    + +

    The request MUST include the following parameters using the application/x-www-form-urlencoded format in the HTTP request entity-body:

    + +
      +
    • cdr_arrangement_jwt: A signed JWT that includes the cdr_arrangement_id.
    • +
    • cdr_arrangement_jwt: A newly signed JWT with the following parameters in accordance with [JWT]:
        +
      • All parameters in accordance with Data Holders calling Data Recipients using Self-Signed JWT Client Authentication.
      • cdr_arrangement_id: The ID of the arrangement that the client wants to revoke.
      • +

    Data Holder hosted endpoint

    @@ -6514,12 +6539,13 @@

    CDR Arrangement Revocation End Poi ## Decoded cdr_arrangement_jwt JWT { "typ": "JWT", - "alg": "HS256", + "alg": "PS256", "kid":"12456" } { "cdr_arrangement_id": "5a1bf696-ee03-408b-b315-97955415d1f0" } +
    Updated Data Recipient end point non-normative example `alg` field from HS256 to PS256
     

    Data Recipient hosted endpoint

    @@ -6842,11 +6868,7 @@

    DCR APIs

    Data cluster language
    DCR OpenAPI Specification (JSON)
    DCR OpenAPI Specification (YAML)

    -
    Below are the changes to the DCR APIs section of the
    -standards.
     
    -Upgraded swagger to OpenAPI Specification 3
    -

    Register Data Recipient oAuth Client

    @@ -7067,7 +7089,7 @@

    Parameters

    header string mandatory -An Authorisation Token as per RFC6750 +An Authorisation Token as per [RFC6750] @@ -7164,7 +7186,7 @@

    Response Headers

    WWW-Authenticate string -The Response Header Field as per RFC6750 +The Response Header Field as per [RFC6750] @@ -7251,7 +7273,7 @@

    Parameters

    header string mandatory -An Authorisation Token as per RFC6750 +An Authorisation Token as per [RFC6750] body @@ -7361,7 +7383,7 @@

    Response Headers

    WWW-Authenticate string -The Response Header Field as per RFC6750 +The Response Header Field as per [RFC6750] @@ -7441,7 +7463,7 @@

    Parametersheader string mandatory -An Authorisation Token as per RFC6750 +An Authorisation Token as per [RFC6750] @@ -7497,7 +7519,7 @@

    Response Headers

    WWW-Authenticate string -The Response Header Field as per RFC6750 +The Response Header Field as per [RFC6750] @@ -7679,7 +7701,7 @@

    RegistrationPropertiesjwks_uri string mandatory -URL string referencing the client JSON Web Key (JWK) Set [RFC7517] document, which contains the client public keys +URL string referencing the client JSON Web Key (JWK) Set [RFC7517] document, which contains the client public keys revocation_uri @@ -7792,6 +7814,22 @@

    Enumerated Values

    ES256 +grant_types +client_credentials + + +grant_types +authorization_code + + +grant_types +refresh_token + + +response_types +code id_token + + application_type web @@ -8091,11 +8129,7 @@

    Base URLs:

    https://secure.api.cdr.gov.au -
    Below are the changes to the Register APIs section of the
    -standards.
     
    -Upgraded swagger to OpenAPI Specification 3
    -

    Get OpenId Provider Config

    @@ -8375,7 +8409,7 @@

    Parameters

    header string mandatory -An Authorisation Token as per RFC6750. +An Authorisation Token as per [RFC6750]. x-v @@ -8501,10 +8535,6 @@

    Enumerated Values

    }
    -
    -

    400 Response

    -
    -

    Responses

    @@ -8673,7 +8703,7 @@

    Parameters

    - +
    header string mandatoryAn Authorisation Token as per RFC6750.An Authorisation Token as per [RFC6750].
    @@ -8712,10 +8742,6 @@

    Enumerated Values

    "string"
     
    -
    -

    400 Response

    -
    -

    Responses

    @@ -8936,10 +8962,6 @@

    Enumerated Values

    } -
    -

    400 Response

    -
    -

    Responses

    @@ -9156,10 +9178,6 @@

    Enumerated Values

    } -
    -

    400 Response

    -
    -

    Responses

    @@ -9376,10 +9394,6 @@

    Enumerated Values

    } -
    -

    400 Response

    -
    -

    Responses

    @@ -9618,10 +9632,6 @@

    Enumerated Values

    } -
    -

    400 Response

    -
    -

    Responses

    @@ -9762,7 +9772,7 @@

    Properties

    - + @@ -9792,13 +9802,13 @@

    Properties

    - + - + @@ -9828,7 +9838,7 @@

    Properties

    - +
    jwks_uri string mandatoryURL of the CDR Register's JSON Web Key Set [JWK] document. This contains the signing key(s) used to validate access tokens issued from the CDR Register. Note that this differs from the JWKS endpoint used to validate SSAs and CDR Register client authenticationURL of the CDR Register's JSON Web Key Set [JWK] document. This contains the signing key(s) used to validate access tokens issued from the CDR Register. Note that this differs from the JWKS endpoint used to validate SSAs and CDR Register client authentication
    token_endpoint code_challenge_methods_supported [string] mandatoryJSON array containing a list of Proof Key for Code Exchange (PKCE) [RFC7636] code challenge methods supported by this authorization server. Given the CDR Register does not support PKCE, this field can be safely ignoredJSON array containing a list of Proof Key for Code Exchange (PKCE) [RFC7636] code challenge methods supported by this authorization server. Given the CDR Register does not support PKCE, this field can be safely ignored
    scopes_supported [string] mandatoryJSON array containing a list of the OAuth 2.0 [RFC6749] scope values that the CDR Register supportsJSON array containing a list of the OAuth 2.0 [RFC6749] scope values that the CDR Register supports
    response_types_supported token_endpoint_auth_signing_alg_values_supported [string] mandatoryJSON array containing a list of the JWS signing algorithms (alg values) supported by the token endpoint for the signature on the JWT [JWT] used to authenticate the client at the token endpoint for the \"private_key_jwt\" authentication methodJSON array containing a list of the JWS signing algorithms (alg values) supported by the token endpoint for the signature on the JWT [JWT] used to authenticate the client at the token endpoint for the \"private_key_jwt\" authentication method
    @@ -10147,6 +10157,18 @@

    Enumerated Values

    +industries +banking + + +industries +energy + + +industries +telco + + status ACTIVE @@ -10900,7 +10922,7 @@

    Properties

    anzsicDivision string optional -ANZSIC division of the organisation. ANZSIC (2006) +ANZSIC division of the organisation. [ANZSIC-2006] organisationType @@ -11691,11 +11713,7 @@

    Banking APIs

    Banking OpenAPI Specification (JSON) Banking OpenAPI Specification (YAML)

    -
    Below are the changes to the Banking APIs section of the
    -standards.
     
    -Upgraded swagger to OpenAPI Specification 3
    -

    Get Accounts

    @@ -24508,22 +24526,11 @@

    Energy APIs

    Energy OpenAPI Specification (JSON) Energy OpenAPI Specification (YAML) -
    Below are the changes to the Banking APIs section of the
    -standards.
    -
    -The following minor corrections have been made:
    -
    -* The `isTokenised` field has been corrected to be a boolean type
    -
    -* Fields of common type `positiveInteger` have been corrected to be of 'integer' type in OAS
    -
    -* The optional/mandatory status of meta objects has been aligned with standard practice for CDR
    -
    -* `x-fapi-iteraction-id` has been removed from the publi Tariff endpoints
    -
    -* Correct the bug where arrays of enums were not being listed with their enumeration values
    -
    -* Corrected the description of the controlledLoad flag to indicate that the field is a pure boolean flag
    +
    The following objects were added to EnergyBillingOtherTransaction model
    ++ calculationFactors
    ++ adjustments
    +
    +The `EnergyServicePointDetail.meters.registers.registerSuffix` field has been made optional
     

    Get Generic Plans

    @@ -31093,7 +31100,19 @@

    Parameters

    "endDate": "string", "type": "ENVIRONMENTAL", "amount": "string", - "description": "string" + "description": "string", + "calculationFactors": [ + { + "value": 0, + "type": "DLF" + } + ], + "adjustments": [ + { + "amount": "string", + "description": "string" + } + ] }, "payment": { "amount": "string", @@ -31434,7 +31453,19 @@

    Parameters

    "endDate": "string", "type": "ENVIRONMENTAL", "amount": "string", - "description": "string" + "description": "string", + "calculationFactors": [ + { + "value": 0, + "type": "DLF" + } + ], + "adjustments": [ + { + "amount": "string", + "description": "string" + } + ] }, "payment": { "amount": "string", @@ -31802,7 +31833,19 @@

    Parameters

    "endDate": "string", "type": "ENVIRONMENTAL", "amount": "string", - "description": "string" + "description": "string", + "calculationFactors": [ + { + "value": 0, + "type": "DLF" + } + ], + "adjustments": [ + { + "amount": "string", + "description": "string" + } + ] }, "payment": { "amount": "string", @@ -33808,7 +33851,19 @@

    EnergyBillingListRespo "endDate": "string", "type": "ENVIRONMENTAL", "amount": "string", - "description": "string" + "description": "string", + "calculationFactors": [ + { + "value": 0, + "type": "DLF" + } + ], + "adjustments": [ + { + "amount": "string", + "description": "string" + } + ] }, "payment": { "amount": "string", @@ -37530,7 +37585,7 @@

    EnergyServicePointDetai »»» registerSuffix string -mandatory +optional Register suffix of the meter register where the meter reads are obtained @@ -39976,7 +40031,19 @@

    EnergyBillingTransactio "endDate": "string", "type": "ENVIRONMENTAL", "amount": "string", - "description": "string" + "description": "string", + "calculationFactors": [ + { + "value": 0, + "type": "DLF" + } + ], + "adjustments": [ + { + "amount": "string", + "description": "string" + } + ] }, "payment": { "amount": "string", @@ -40535,7 +40602,19 @@

    EnergyBillingOther "endDate": "string", "type": "ENVIRONMENTAL", "amount": "string", - "description": "string" + "description": "string", + "calculationFactors": [ + { + "value": 0, + "type": "DLF" + } + ], + "adjustments": [ + { + "amount": "string", + "description": "string" + } + ] }

    Properties

    @@ -40589,6 +40668,42 @@

    EnergyBillingOther mandatory A free text description of the item + +calculationFactors +[object] +optional +Additional calculation factors that inform the transaction + + +» value +number +mandatory +The value of the calculation factor + + +» type +string +mandatory +The type of the calculation factor + + +adjustments +[object] +optional +Optional array of adjustments arising for this transaction + + +» amount +AmountString +mandatory +The amount of the adjustment + + +» description +string +mandatory +A free text description of the adjustment +

    Enumerated Values

    @@ -40625,6 +40740,14 @@

    Enumerated Values

    + + + + + + + +
    type OTHER
    typeDLF
    typeMLF

    EnergyBillingPaymentTransaction

    @@ -40822,11 +40945,7 @@

    Common APIs

    Common OpenAPI Specification (JSON) Common OpenAPI Specification (YAML)

    -
    Below are the changes to the Common APIs section of the
    -standards.
     
    -Upgraded swagger to OpenAPI Specification 3
    -

    Get Customer

    @@ -45392,16 +45511,8 @@

    Energy Secondary DH APIs

    Energy Secondary Data Holder OpenAPI Specification (JSON) Energy Secondary Data Holder OpenAPI Specification (YAML) -
    This is a new section added to the standards to support implementation.
    -
    -It does not represent a change to the standards. The swagger included are
    -based on the current energy swagger document with modifications aligned
    -to the statements in the Shared Responsibility section of the standards
    +
    The `EnergyServicePointDetail.meters.registers.registerSuffix` field has been made optional 
     
    -

    Note that in the documentation of the Secondary Data Holder endpoints below it is indicated the no authentication is required.

    - -

    This should be understood to mean that there is no authentication documented in these standards. The actual security requirements for invocation of the AEMO hosted endpoints will be defined by AEMO as staged in the Energy Shared Responsibility section.

    -

    Get Service Points (SR)

    @@ -48356,7 +48467,7 @@

    EnergyServicePointDetai »»» registerSuffix string -mandatory +optional Register suffix of the meter register where the meter reads are obtained @@ -49414,6 +49525,12 @@

    Change Log

    +TBD +1.17.0 +Changes arising from Decision 237 (Maintenance Iteration 10) +See release notes and Decision 237 for details + + 22/03/2022 1.16.1 Minor errata and documentation fixes. Update of swagger files to OAS3 @@ -49809,6 +49926,11 @@

    Archives

    +22/03/2022 +1.16.1 +Minor errata and documentation fixes. Update of swagger files to OAS3 + + 04/02/2022 1.16.0 Changes arising from Decision 222 (Insights and Trusted Adviser Disclosure Consents CX Standards) @@ -49938,9 +50060,13 @@

    Archives

    diff --git a/docs/javascripts/all.js b/docs/javascripts/all.js index 671b067c..5b9f7bab 100644 --- a/docs/javascripts/all.js +++ b/docs/javascripts/all.js @@ -11,7 +11,7 @@ * * Date: 2017-03-20T18:59Z */ -function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t){t=t||ne;var n=t.createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function r(e){var t=!!e&&"length"in e&&e.length,n=ge.type(e);return"function"!==n&&!ge.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function i(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function o(e,t,n){return ge.isFunction(t)?ge.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?ge.grep(e,function(e){return e===t!==n}):"string"!=typeof t?ge.grep(e,function(e){return ae.call(t,e)>-1!==n}):Ee.test(t)?ge.filter(t,e,n):(t=ge.filter(t,e),ge.grep(e,function(e){return ae.call(t,e)>-1!==n&&1===e.nodeType}))}function s(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){var t={};return ge.each(e.match(Le)||[],function(e,n){t[n]=!0}),t}function u(e){return e}function c(e){throw e}function l(e,t,n,r){var i;try{e&&ge.isFunction(i=e.promise)?i.call(e).done(t).fail(n):e&&ge.isFunction(i=e.then)?i.call(e,t,n):t.apply(undefined,[e].slice(r))}catch(e){n.apply(undefined,[e])}}function f(){ne.removeEventListener("DOMContentLoaded",f),e.removeEventListener("load",f),ge.ready()}function d(){this.expando=ge.expando+d.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:He.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(n===undefined&&1===e.nodeType)if(r="data-"+t.replace(Ie,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=p(n)}catch(e){}Pe.set(e,t,n)}else n=undefined;return n}function g(e,t,n,r){var i,o=1,s=20,a=r?function(){return r.cur()}:function(){return ge.css(e,t,"")},u=a(),c=n&&n[3]||(ge.cssNumber[t]?"":"px"),l=(ge.cssNumber[t]||"px"!==c&&+u)&&_e.exec(ge.css(e,t));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do{o=o||".5",l/=o,ge.style(e,t,l+c)}while(o!==(o=a()/u)&&1!==o&&--s)}return n&&(l=+l||+u||0,i=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=i)),i}function m(e){var t,n=e.ownerDocument,r=e.nodeName,i=ze[r];return i||(t=n.body.appendChild(n.createElement(r)),i=ge.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),ze[r]=i,i)}function v(e,t){for(var n,r,i=[],o=0,s=e.length;o-1)i&&i.push(o);else if(c=ge.contains(o.ownerDocument,o),s=y(f.appendChild(o),"script"),c&&x(s),n)for(l=0;o=s[l++];)Ue.test(o.type||"")&&n.push(o);return f}function w(){return!0}function T(){return!1}function S(){try{return ne.activeElement}catch(e){}}function C(e,t,n,r,i,o){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=undefined);for(a in t)C(e,a,n,r,t[a],o);return e}if(null==r&&null==i?(i=n,r=n=undefined):null==i&&("string"==typeof n?(i=r,r=undefined):(i=r,r=n,n=undefined)),!1===i)i=T;else if(!i)return e;return 1===o&&(s=i,i=function(e){return ge().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=ge.guid++)),e.each(function(){ge.event.add(this,t,i,r,n)})}function E(e,t){return i(e,"table")&&i(11!==t.nodeType?t:t.firstChild,"tr")?ge(">tbody",e)[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function N(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function j(e,t){var n,r,i,o,s,a,u,c;if(1===t.nodeType){if(Fe.hasData(e)&&(o=Fe.access(e),s=Fe.set(t,o),c=o.events)){delete s.handle,s.events={};for(i in c)for(n=0,r=c[i].length;n1&&"string"==typeof h&&!pe.checkClone&&nt.test(h))return e.each(function(n){var o=e.eq(n);g&&(t[0]=h.call(this,n,o.html())),L(o,t,r,i)});if(d&&(o=b(t,e[0].ownerDocument,!1,e,i),s=o.firstChild,1===o.childNodes.length&&(o=s),s||i)){for(a=ge.map(y(o,"script"),k),u=a.length;f=0&&n0&&t-1 in e)}function i(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function o(e,t,n){return ge.isFunction(t)?ge.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?ge.grep(e,function(e){return e===t!==n}):"string"!=typeof t?ge.grep(e,function(e){return ae.call(t,e)>-1!==n}):Ee.test(t)?ge.filter(t,e,n):(t=ge.filter(t,e),ge.grep(e,function(e){return ae.call(t,e)>-1!==n&&1===e.nodeType}))}function s(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){var t={};return ge.each(e.match(Le)||[],function(e,n){t[n]=!0}),t}function u(e){return e}function c(e){throw e}function l(e,t,n,r){var i;try{e&&ge.isFunction(i=e.promise)?i.call(e).done(t).fail(n):e&&ge.isFunction(i=e.then)?i.call(e,t,n):t.apply(undefined,[e].slice(r))}catch(e){n.apply(undefined,[e])}}function f(){ne.removeEventListener("DOMContentLoaded",f),e.removeEventListener("load",f),ge.ready()}function d(){this.expando=ge.expando+d.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:He.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(n===undefined&&1===e.nodeType)if(r="data-"+t.replace(Ie,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=p(n)}catch(e){}Pe.set(e,t,n)}else n=undefined;return n}function g(e,t,n,r){var i,o=1,s=20,a=r?function(){return r.cur()}:function(){return ge.css(e,t,"")},u=a(),c=n&&n[3]||(ge.cssNumber[t]?"":"px"),l=(ge.cssNumber[t]||"px"!==c&&+u)&&_e.exec(ge.css(e,t));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do{o=o||".5",l/=o,ge.style(e,t,l+c)}while(o!==(o=a()/u)&&1!==o&&--s)}return n&&(l=+l||+u||0,i=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=i)),i}function m(e){var t,n=e.ownerDocument,r=e.nodeName,i=ze[r];return i||(t=n.body.appendChild(n.createElement(r)),i=ge.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),ze[r]=i,i)}function v(e,t){for(var n,r,i=[],o=0,s=e.length;o-1)i&&i.push(o);else if(c=ge.contains(o.ownerDocument,o),s=y(f.appendChild(o),"script"),c&&x(s),n)for(l=0;o=s[l++];)Ue.test(o.type||"")&&n.push(o);return f}function w(){return!0}function T(){return!1}function S(){try{return ne.activeElement}catch(e){}}function C(e,t,n,r,i,o){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=undefined);for(a in t)C(e,a,n,r,t[a],o);return e}if(null==r&&null==i?(i=n,r=n=undefined):null==i&&("string"==typeof n?(i=r,r=undefined):(i=r,r=n,n=undefined)),!1===i)i=T;else if(!i)return e;return 1===o&&(s=i,i=function(e){return ge().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=ge.guid++)),e.each(function(){ge.event.add(this,t,i,r,n)})}function E(e,t){return i(e,"table")&&i(11!==t.nodeType?t:t.firstChild,"tr")?ge(">tbody",e)[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function N(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function j(e,t){var n,r,i,o,s,a,u,c;if(1===t.nodeType){if(Fe.hasData(e)&&(o=Fe.access(e),s=Fe.set(t,o),c=o.events)){delete s.handle,s.events={};for(i in c)for(n=0,r=c[i].length;n1&&"string"==typeof h&&!pe.checkClone&&nt.test(h))return e.each(function(n){var o=e.eq(n);g&&(t[0]=h.call(this,n,o.html())),L(o,t,r,i)});if(d&&(o=b(t,e[0].ownerDocument,!1,e,i),s=o.firstChild,1===o.childNodes.length&&(o=s),s||i)){for(a=ge.map(y(o,"script"),k),u=a.length;f=0&&nS.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[_]=!0,e}function i(e){var t=$.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)S.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&Ce(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function d(){}function p(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var i=0,o=n.length;i-1&&(r[c]=!(s[c]=f))}}else x=v(x===s?x.splice(h,x.length):x),o?o(null,s,x,u):K.apply(s,x)})}function x(e){for(var t,n,r,i=e.length,o=S.relative[e[0].type],s=o||S.relative[" "],a=o?1:0,u=h(function(e){return e===t},s,!0),c=h(function(e){return ee(t,e)>-1},s,!0),l=[function(e,n,r){var i=!o&&(r||n!==A)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,i}];a1&&g(l),a>1&&p(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ae,"$1"),n,a0,o=e.length>0,s=function(r,s,a,u,c){var l,f,d,p=0,h="0",g=r&&[],m=[],y=A,x=r||o&&S.find.TAG("*",c),b=W+=null==y?1:Math.random()||.1,w=x.length;for(c&&(A=s===$||s||c);h!==w&&null!=(l=x[h]);h++){if(o&&l){for(f=0,s||l.ownerDocument===$||(O(l),a=!F);d=e[f++];)if(d(l,s||$,a)){u.push(l);break}c&&(W=b)}i&&((l=!d&&l)&&p--,r&&g.push(l))}if(p+=h,i&&h!==p){for(f=0;d=n[f++];)d(g,m,s,a);if(r){if(p>0)for(;h--;)g[h]||m[h]||(m[h]=J.call(u));m=v(m)}K.apply(u,m),c&&!r&&m.length>0&&p+n.length>1&&t.uniqueSort(u)}return c&&(W=b,A=y),g};return i?r(s):s}var w,T,S,C,E,k,N,j,A,L,D,O,$,q,F,P,H,I,R,_="sizzle"+1*new Date,M=e.document,W=0,B=0,z=n(),V=n(),X=n(),U=function(e,t){return e===t&&(D=!0),0},Q={}.hasOwnProperty,Y=[],J=Y.pop,G=Y.push,K=Y.push,Z=Y.slice,ee=function(e,t){for(var n=0,r=e.length;n+~]|"+ne+")"+ne+"*"),le=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(oe),de=new RegExp("^"+re+"$"),pe={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+ie),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,xe=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),be=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},we=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Te=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Se=function(){O()},Ce=h(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{K.apply(Y=Z.call(M.childNodes),M.childNodes),Y[M.childNodes.length].nodeType}catch(e){K={apply:Y.length?function(e,t){G.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}T=t.support={},E=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},O=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:M;return r!==$&&9===r.nodeType&&r.documentElement?($=r,q=$.documentElement,F=!E($),M!==$&&(n=$.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Se,!1):n.attachEvent&&n.attachEvent("onunload",Se)),T.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),T.getElementsByTagName=i(function(e){return e.appendChild($.createComment("")),!e.getElementsByTagName("*").length}),T.getElementsByClassName=me.test($.getElementsByClassName),T.getById=i(function(e){return q.appendChild(e).id=_,!$.getElementsByName||!$.getElementsByName(_).length}),T.getById?(S.filter.ID=function(e){var t=e.replace(xe,be);return function(e){return e.getAttribute("id")===t}},S.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n=t.getElementById(e);return n?[n]:[]}}):(S.filter.ID=function(e){var t=e.replace(xe,be);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},S.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),S.find.TAG=T.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):T.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},S.find.CLASS=T.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&F)return t.getElementsByClassName(e)},H=[],P=[],(T.qsa=me.test($.querySelectorAll))&&(i(function(e){q.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&P.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||P.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+_+"-]").length||P.push("~="),e.querySelectorAll(":checked").length||P.push(":checked"),e.querySelectorAll("a#"+_+"+*").length||P.push(".#.+[+~]")}),i(function(e){e.innerHTML="";var t=$.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&P.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&P.push(":enabled",":disabled"),q.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&P.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),P.push(",.*:")})),(T.matchesSelector=me.test(I=q.matches||q.webkitMatchesSelector||q.mozMatchesSelector||q.oMatchesSelector||q.msMatchesSelector))&&i(function(e){T.disconnectedMatch=I.call(e,"*"),I.call(e,"[s!='']:x"),H.push("!=",oe)}),P=P.length&&new RegExp(P.join("|")),H=H.length&&new RegExp(H.join("|")),t=me.test(q.compareDocumentPosition),R=t||me.test(q.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},U=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!T.sortDetached&&t.compareDocumentPosition(e)===n?e===$||e.ownerDocument===M&&R(M,e)?-1:t===$||t.ownerDocument===M&&R(M,t)?1:L?ee(L,e)-ee(L,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],u=[t];if(!i||!o)return e===$?-1:t===$?1:i?-1:o?1:L?ee(L,e)-ee(L,t):0;if(i===o)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===M?-1:u[r]===M?1:0},$):$},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==$&&O(e),n=n.replace(le,"='$1']"),T.matchesSelector&&F&&!X[n+" "]&&(!H||!H.test(n))&&(!P||!P.test(n)))try{var r=I.call(e,n);if(r||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,$,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==$&&O(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==$&&O(e);var n=S.attrHandle[t.toLowerCase()],r=n&&Q.call(S.attrHandle,t.toLowerCase())?n(e,t,!F):undefined;return r!==undefined?r:T.attributes||!F?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(we,Te)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(D=!T.detectDuplicates,L=!T.sortStable&&e.slice(0),e.sort(U),D){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return L=null,e},C=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=C(t);return n},S=t.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xe,be),e[3]=(e[3]||e[4]||e[5]||"").replace(xe,be),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=k(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(xe,be).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=z[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&z(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(se," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,d,p,h,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a,x=!1;if(m){if(o){for(;g;){for(d=t;d=d[g];)if(a?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[s?m.firstChild:m.lastChild],s&&y){for(d=m,f=d[_]||(d[_]={}),l=f[d.uniqueID]||(f[d.uniqueID]={}),c=l[e]||[],p=c[0]===W&&c[1],x=p&&c[2],d=p&&m.childNodes[p];d=++p&&d&&d[g]||(x=p=0)||h.pop();)if(1===d.nodeType&&++x&&d===t){l[e]=[W,p,x];break}}else if(y&&(d=t,f=d[_]||(d[_]={}),l=f[d.uniqueID]||(f[d.uniqueID]={}),c=l[e]||[],p=c[0]===W&&c[1],x=p),!1===x)for(;(d=++p&&d&&d[g]||(x=p=0)||h.pop())&&((a?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++x||(y&&(f=d[_]||(d[_]={}),l=f[d.uniqueID]||(f[d.uniqueID]={}),l[e]=[W,x]),d!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=S.pseudos[e]||S.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[_]?o(n):o.length>1?(i=[e,e,"",n],S.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),s=i.length;s--;)r=ee(e,i[s]),e[r]=!(t[r]=i[s])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=N(e.replace(ae,"$1"));return i[_]?r(function(e,t,n,r){for(var o,s=i(e,null,r,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(xe,be),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:r(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(xe,be).toLowerCase(),function(t){var n;do{if(n=F?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===q},focus:function(e){return e===$.activeElement&&(!$.hasFocus||$.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:c(!1),disabled:c(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!S.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(s=o[0]).type&&9===t.nodeType&&F&&S.relative[o[1].type]){if(!(t=(S.find.ID(s.matches[0].replace(xe,be),t)||[])[0]))return n;c&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(s=o[i],!S.relative[a=s.type]);)if((u=S.find[a])&&(r=u(s.matches[0].replace(xe,be),ye.test(o[0].type)&&f(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&p(o)))return K.apply(n,r),n;break}}return(c||N(e,l))(r,t,!F,n,!t||ye.test(e)&&f(t.parentNode)||t),n},T.sortStable=_.split("").sort(U).join("")===_,T.detectDuplicates=!!D,O(),T.sortDetached=i(function(e){return 1&e.compareDocumentPosition($.createElement("fieldset"))}),i(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),T.attributes&&i(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(te,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);ge.find=be,ge.expr=be.selectors,ge.expr[":"]=ge.expr.pseudos,ge.uniqueSort=ge.unique=be.uniqueSort,ge.text=be.getText,ge.isXMLDoc=be.isXML,ge.contains=be.contains,ge.escapeSelector=be.escape;var we=function(e,t,n){for(var r=[],i=n!==undefined;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&ge(e).is(n))break;r.push(e)}return r},Te=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Se=ge.expr.match.needsContext,Ce=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,Ee=/^.[^:#\[\.,]*$/;ge.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?ge.find.matchesSelector(r,e)?[r]:[]:ge.find.matches(e,ge.grep(t,function(e){return 1===e.nodeType}))},ge.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(ge(e).filter(function(){for(t=0;t1?ge.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Se.test(e)?ge(e):e||[],!1).length}});var ke,Ne=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(ge.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||ke,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Ne.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ge?t[0]:t,ge.merge(this,ge.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:ne,!0)),Ce.test(r[1])&&ge.isPlainObject(t))for(r in t)ge.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=ne.getElementById(r[2]),i&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):ge.isFunction(e)?n.ready!==undefined?n.ready(e):e(ge):ge.makeArray(e,this)}).prototype=ge.fn,ke=ge(ne);var je=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};ge.fn.extend({has:function(e){var t=ge(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&ge.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?ge.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?ae.call(ge(e),this[0]):ae.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ge.uniqueSort(ge.merge(this.get(),ge(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ge.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return we(e,"parentNode")},parentsUntil:function(e,t,n){return we(e,"parentNode",n)},next:function(e){return s(e,"nextSibling")},prev:function(e){return s(e,"previousSibling")},nextAll:function(e){return we(e,"nextSibling")},prevAll:function(e){return we(e,"previousSibling")},nextUntil:function(e,t,n){return we(e,"nextSibling",n)},prevUntil:function(e,t,n){return we(e,"previousSibling",n)},siblings:function(e){return Te((e.parentNode||{}).firstChild,e)},children:function(e){return Te(e.firstChild)},contents:function(e){return i(e,"iframe")?e.contentDocument:(i(e,"template")&&(e=e.content||e),ge.merge([],e.childNodes))}},function(e,t){ge.fn[e]=function(n,r){var i=ge.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=ge.filter(r,i)),this.length>1&&(Ae[e]||ge.uniqueSort(i),je.test(e)&&i.reverse()),this.pushStack(i)}});var Le=/[^\x20\t\r\n\f]+/g;ge.Callbacks=function(e){e="string"==typeof e?a(e):ge.extend({},e);var t,n,r,i,o=[],s=[],u=-1,c=function(){for(i=i||e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u-1;)o.splice(n,1),n<=u&&u--}),this},has:function(e){return e?ge.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=s=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=s=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},ge.extend({Deferred:function(t){var n=[["notify","progress",ge.Callbacks("memory"),ge.Callbacks("memory"),2],["resolve","done",ge.Callbacks("once memory"),ge.Callbacks("once memory"),0,"resolved"],["reject","fail",ge.Callbacks("once memory"),ge.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return ge.Deferred(function(t){ge.each(n,function(n,r){var i=ge.isFunction(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&ge.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){function o(t,n,r,i){return function(){var a=this,l=arguments,f=function(){var e,f;if(!(t=s&&(r!==c&&(a=undefined,l=[e]),n.rejectWith(a,l))}};t?d():(ge.Deferred.getStackHook&&(d.stackTrace=ge.Deferred.getStackHook()),e.setTimeout(d))}}var s=0;return ge.Deferred(function(e){n[0][3].add(o(0,e,ge.isFunction(i)?i:u,e.notifyWith)),n[1][3].add(o(0,e,ge.isFunction(t)?t:u)),n[2][3].add(o(0,e,ge.isFunction(r)?r:c))}).promise()},promise:function(e){return null!=e?ge.extend(e,i):i}},o={};return ge.each(n,function(e,t){var s=t[2],a=t[5];i[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[0][2].lock),s.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?undefined:this,arguments),this},o[t[0]+"With"]=s.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=ie.call(arguments),o=ge.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?ie.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(l(e,o.done(s(n)).resolve,o.reject,!t),"pending"===o.state()||ge.isFunction(i[n]&&i[n].then)))return o.then();for(;n--;)l(i[n],s(n),o.reject);return o.promise()}});var De=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;ge.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&De.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},ge.readyException=function(t){e.setTimeout(function(){throw t})};var Oe=ge.Deferred();ge.fn.ready=function(e){return Oe.then(e)["catch"](function(e){ge.readyException(e)}),this},ge.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--ge.readyWait:ge.isReady)||(ge.isReady=!0,!0!==e&&--ge.readyWait>0||Oe.resolveWith(ne,[ge]))}}),ge.ready.then=Oe.then,"complete"===ne.readyState||"loading"!==ne.readyState&&!ne.documentElement.doScroll?e.setTimeout(ge.ready):(ne.addEventListener("DOMContentLoaded",f),e.addEventListener("load",f));var $e=function(e,t,n,r,i,o,s){var a=0,u=e.length,c=null==n;if("object"===ge.type(n)){i=!0;for(a in n)$e(e,t,a,n[a],!0,o,s)}else if(r!==undefined&&(i=!0,ge.isFunction(r)||(s=!0),c&&(s?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(ge(e),n)})),t))for(;a1,null,!0)},removeData:function(e){return this.each(function(){Pe.remove(this,e)})}}),ge.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||Array.isArray(n)?r=Fe.access(e,t,ge.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=ge.queue(e,t),r=n.length,i=n.shift(),o=ge._queueHooks(e,t),s=function(){ge.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:ge.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),ge.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,Ue=/^$|\/(?:java|ecma)script/i,Qe={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};Qe.optgroup=Qe.option,Qe.tbody=Qe.tfoot=Qe.colgroup=Qe.caption=Qe.thead,Qe.th=Qe.td;var Ye=/<|&#?\w+;/;!function(){var e=ne.createDocumentFragment(),t=e.appendChild(ne.createElement("div")),n=ne.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Je=ne.documentElement,Ge=/^key/,Ke=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;ge.event={global:{},add:function(e,t,n,r,i){var o,s,a,u,c,l,f,d,p,h,g,m=Fe.get(e);if(m)for(n.handler&&(o=n,n=o.handler,i=o.selector),i&&ge.find.matchesSelector(Je,i), -n.guid||(n.guid=ge.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return void 0!==ge&&ge.event.triggered!==t.type?ge.event.dispatch.apply(e,arguments):undefined}),t=(t||"").match(Le)||[""],c=t.length;c--;)a=Ze.exec(t[c])||[],p=g=a[1],h=(a[2]||"").split(".").sort(),p&&(f=ge.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=ge.event.special[p]||{},l=ge.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&ge.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=u[p])||(d=u[p]=[],d.delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,s)||e.addEventListener&&e.addEventListener(p,s)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,l):d.push(l),ge.event.global[p]=!0)},remove:function(e,t,n,r,i){var o,s,a,u,c,l,f,d,p,h,g,m=Fe.hasData(e)&&Fe.get(e);if(m&&(u=m.events)){for(t=(t||"").match(Le)||[""],c=t.length;c--;)if(a=Ze.exec(t[c])||[],p=g=a[1],h=(a[2]||"").split(".").sort(),p){for(f=ge.event.special[p]||{},p=(r?f.delegateType:f.bindType)||p,d=u[p]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=d.length;o--;)l=d[o],!i&&g!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(d.splice(o,1),l.selector&&d.delegateCount--,f.remove&&f.remove.call(e,l));s&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,m.handle)||ge.removeEvent(e,p,m.handle),delete u[p])}else for(p in u)ge.event.remove(e,p+t[c],n,r,!0);ge.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,s,a=ge.event.fix(e),u=new Array(arguments.length),c=(Fe.get(this,"events")||{})[a.type]||[],l=ge.event.special[a.type]||{};for(u[0]=a,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(o=[],s={},n=0;n-1:ge.find(i,this,null,[c]).length),s[i]&&o.push(r);o.length&&a.push({elem:c,handlers:o})}return c=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/\s*$/g;ge.extend({htmlPrefilter:function(e){return e.replace(et,"<$1>")},clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=ge.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ge.isXMLDoc(e)))for(s=y(a),o=y(e),r=0,i=o.length;r0&&x(s,!u&&y(e,"script")),a},cleanData:function(e){for(var t,n,r,i=ge.event.special,o=0;(n=e[o])!==undefined;o++)if(qe(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)i[r]?ge.event.remove(n,r):ge.removeEvent(n,r,t.handle);n[Fe.expando]=undefined}n[Pe.expando]&&(n[Pe.expando]=undefined)}}}),ge.fn.extend({detach:function(e){return D(this,e,!0)},remove:function(e){return D(this,e)},text:function(e){return $e(this,function(e){return e===undefined?ge.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return L(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){E(this,e).appendChild(e)}})},prepend:function(){return L(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=E(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return L(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return L(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ge.cleanData(y(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return ge.clone(this,e,t)})},html:function(e){return $e(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tt.test(e)&&!Qe[(Xe.exec(e)||["",""])[1].toLowerCase()]){e=ge.htmlPrefilter(e);try{for(;n1)}}),ge.Tween=R,R.prototype={constructor:R,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||ge.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(ge.cssNumber[n]?"":"px")},cur:function(){var e=R.propHooks[this.prop];return e&&e.get?e.get(this):R.propHooks._default.get(this)},run:function(e){var t,n=R.propHooks[this.prop];return this.options.duration?this.pos=t=ge.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):R.propHooks._default.set(this),this}},R.prototype.init.prototype=R.prototype,R.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=ge.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){ge.fx.step[e.prop]?ge.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[ge.cssProps[e.prop]]&&!ge.cssHooks[e.prop]?e.elem[e.prop]=e.now:ge.style(e.elem,e.prop,e.now+e.unit)}}},R.propHooks.scrollTop=R.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ge.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},ge.fx=R.prototype.init,ge.fx.step={};var ht,gt,mt=/^(?:toggle|show|hide)$/,vt=/queueHooks$/;ge.Animation=ge.extend(X,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return g(n.elem,e,_e.exec(t),n),n}]},tweener:function(e,t){ge.isFunction(e)?(t=e,e=["*"]):e=e.match(Le);for(var n,r=0,i=e.length;r1)},removeAttr:function(e){return this.each(function(){ge.removeAttr(this,e)})}}),ge.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?ge.prop(e,t,n):(1===o&&ge.isXMLDoc(e)||(i=ge.attrHooks[t.toLowerCase()]||(ge.expr.match.bool.test(t)?yt:undefined)),n!==undefined?null===n?void ge.removeAttr(e,t):i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=ge.find.attr(e,t),null==r?undefined:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&i(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(Le);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),yt={set:function(e,t,n){return!1===t?ge.removeAttr(e,n):e.setAttribute(n,n),n}},ge.each(ge.expr.match.bool.source.match(/\w+/g),function(e,t){var n=xt[t]||ge.find.attr;xt[t]=function(e,t,r){var i,o,s=t.toLowerCase();return r||(o=xt[s],xt[s]=i,i=null!=n(e,t,r)?s:null,xt[s]=o),i}});var bt=/^(?:input|select|textarea|button)$/i,wt=/^(?:a|area)$/i;ge.fn.extend({prop:function(e,t){return $e(this,ge.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[ge.propFix[e]||e]})}}),ge.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&ge.isXMLDoc(e)||(t=ge.propFix[t]||t,i=ge.propHooks[t]),n!==undefined?i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=ge.find.attr(e,"tabindex");return t?parseInt(t,10):bt.test(e.nodeName)||wt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),pe.optSelected||(ge.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),ge.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ge.propFix[this.toLowerCase()]=this}),ge.fn.extend({addClass:function(e){var t,n,r,i,o,s,a,u=0;if(ge.isFunction(e))return this.each(function(t){ge(this).addClass(e.call(this,t,Q(this)))});if("string"==typeof e&&e)for(t=e.match(Le)||[];n=this[u++];)if(i=Q(n),r=1===n.nodeType&&" "+U(i)+" "){for(s=0;o=t[s++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");a=U(r),i!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,i,o,s,a,u=0;if(ge.isFunction(e))return this.each(function(t){ge(this).removeClass(e.call(this,t,Q(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(Le)||[];n=this[u++];)if(i=Q(n),r=1===n.nodeType&&" "+U(i)+" "){for(s=0;o=t[s++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");a=U(r),i!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):ge.isFunction(e)?this.each(function(n){ge(this).toggleClass(e.call(this,n,Q(this),t),t)}):this.each(function(){var t,r,i,o;if("string"===n)for(r=0,i=ge(this),o=e.match(Le)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else e!==undefined&&"boolean"!==n||(t=Q(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+U(Q(n))+" ").indexOf(t)>-1)return!0;return!1}});var Tt=/\r/g;ge.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=ge.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,ge(this).val()):e,null==i?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=ge.map(i,function(e){return null==e?"":e+""})),(t=ge.valHooks[this.type]||ge.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&t.set(this,i,"value")!==undefined||(this.value=i))});if(i)return(t=ge.valHooks[i.type]||ge.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&(n=t.get(i,"value"))!==undefined?n:(n=i.value,"string"==typeof n?n.replace(Tt,""):null==n?"":n)}}}),ge.extend({valHooks:{option:{get:function(e){var t=ge.find.attr(e,"value");return null!=t?t:U(ge.text(e))}},select:{get:function(e){var t,n,r,o=e.options,s=e.selectedIndex,a="select-one"===e.type,u=a?null:[],c=a?s+1:o.length;for(r=s<0?c:a?s:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),ge.each(["radio","checkbox"],function(){ge.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=ge.inArray(ge(e).val(),t)>-1}},pe.checkOn||(ge.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var St=/^(?:focusinfocus|focusoutblur)$/;ge.extend(ge.event,{trigger:function(t,n,r,i){var o,s,a,u,c,l,f,d=[r||ne],p=le.call(t,"type")?t.type:t,h=le.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||ne,3!==r.nodeType&&8!==r.nodeType&&!St.test(p+ge.event.triggered)&&(p.indexOf(".")>-1&&(h=p.split("."),p=h.shift(),h.sort()),c=p.indexOf(":")<0&&"on"+p,t=t[ge.expando]?t:new ge.Event(p,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=undefined,t.target||(t.target=r),n=null==n?[t]:ge.makeArray(n,[t]),f=ge.event.special[p]||{},i||!f.trigger||!1!==f.trigger.apply(r,n))){if(!i&&!f.noBubble&&!ge.isWindow(r)){for(u=f.delegateType||p,St.test(u+p)||(s=s.parentNode);s;s=s.parentNode)d.push(s),a=s;a===(r.ownerDocument||ne)&&d.push(a.defaultView||a.parentWindow||e)}for(o=0;(s=d[o++])&&!t.isPropagationStopped();)t.type=o>1?u:f.bindType||p,l=(Fe.get(s,"events")||{})[t.type]&&Fe.get(s,"handle"),l&&l.apply(s,n),(l=c&&s[c])&&l.apply&&qe(s)&&(t.result=l.apply(s,n),!1===t.result&&t.preventDefault());return t.type=p,i||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(d.pop(),n)||!qe(r)||c&&ge.isFunction(r[p])&&!ge.isWindow(r)&&(a=r[c],a&&(r[c]=null),ge.event.triggered=p,r[p](),ge.event.triggered=undefined,a&&(r[c]=a)),t.result}},simulate:function(e,t,n){var r=ge.extend(new ge.Event,n,{type:e,isSimulated:!0});ge.event.trigger(r,null,t)}}),ge.fn.extend({trigger:function(e,t){return this.each(function(){ge.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return ge.event.trigger(e,t,n,!0)}}),ge.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){ge.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ge.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||ge.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){ge.event.simulate(t,e.target,ge.event.fix(e))};ge.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=Fe.access(r,t);i||r.addEventListener(e,n,!0),Fe.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Fe.access(r,t)-1;i?Fe.access(r,t,i):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var Ct=e.location,Et=ge.now(),kt=/\?/;ge.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=undefined}return n&&!n.getElementsByTagName("parsererror").length||ge.error("Invalid XML: "+t),n};var Nt=/\[\]$/,jt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Lt=/^(?:input|select|textarea|keygen)/i;ge.param=function(e,t){var n,r=[],i=function(e,t){var n=ge.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!ge.isPlainObject(e))ge.each(e,function(){i(this.name,this.value)});else for(n in e)Y(n,e[n],t,i);return r.join("&")},ge.fn.extend({serialize:function(){return ge.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ge.prop(this,"elements");return e?ge.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ge(this).is(":disabled")&&Lt.test(this.nodeName)&&!At.test(e)&&(this.checked||!Ve.test(e))}).map(function(e,t){var n=ge(this).val();return null==n?null:Array.isArray(n)?ge.map(n,function(e){return{name:t.name,value:e.replace(jt,"\r\n")}}):{name:t.name,value:n.replace(jt,"\r\n")}}).get()}});var Dt=/%20/g,Ot=/#.*$/,$t=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ft=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Pt=/^(?:GET|HEAD)$/,Ht=/^\/\//,It={},Rt={},_t="*/".concat("*"),Mt=ne.createElement("a");Mt.href=Ct.href,ge.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Ft.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":_t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":ge.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?K(K(e,ge.ajaxSettings),t):K(ge.ajaxSettings,e)},ajaxPrefilter:J(It),ajaxTransport:J(Rt),ajax:function(t,n){function r(t,n,r,a){var c,d,p,b,w,T=n;l||(l=!0,u&&e.clearTimeout(u),i=undefined,s=a||"",S.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(b=Z(h,S,r)),b=ee(h,b,S,c),c?(h.ifModified&&(w=S.getResponseHeader("Last-Modified"),w&&(ge.lastModified[o]=w),(w=S.getResponseHeader("etag"))&&(ge.etag[o]=w)),204===t||"HEAD"===h.type?T="nocontent":304===t?T="notmodified":(T=b.state,d=b.data,p=b.error,c=!p)):(p=T,!t&&T||(T="error",t<0&&(t=0))),S.status=t,S.statusText=(n||T)+"",c?v.resolveWith(g,[d,T,S]):v.rejectWith(g,[S,T,p]),S.statusCode(x),x=undefined,f&&m.trigger(c?"ajaxSuccess":"ajaxError",[S,h,c?d:p]),y.fireWith(g,[S,T]),f&&(m.trigger("ajaxComplete",[S,h]),--ge.active||ge.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=undefined),n=n||{};var i,o,s,a,u,c,l,f,d,p,h=ge.ajaxSetup({},n),g=h.context||h,m=h.context&&(g.nodeType||g.jquery)?ge(g):ge.event,v=ge.Deferred(),y=ge.Callbacks("once memory"),x=h.statusCode||{},b={},w={},T="canceled",S={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=qt.exec(s);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return l?s:null},setRequestHeader:function(e,t){return null==l&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)S.always(e[S.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||T;return i&&i.abort(t),r(0,t),this}};if(v.promise(S),h.url=((t||h.url||Ct.href)+"").replace(Ht,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(Le)||[""],null==h.crossDomain){c=ne.createElement("a");try{c.href=h.url,c.href=c.href,h.crossDomain=Mt.protocol+"//"+Mt.host!=c.protocol+"//"+c.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=ge.param(h.data,h.traditional)),G(It,h,n,S),l)return S;f=ge.event&&h.global,f&&0==ge.active++&&ge.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Pt.test(h.type),o=h.url.replace(Ot,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(Dt,"+")):(p=h.url.slice(o.length),h.data&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace($t,"$1"),p=(kt.test(o)?"&":"?")+"_="+Et+++p),h.url=o+p),h.ifModified&&(ge.lastModified[o]&&S.setRequestHeader("If-Modified-Since",ge.lastModified[o]),ge.etag[o]&&S.setRequestHeader("If-None-Match",ge.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&S.setRequestHeader("Content-Type",h.contentType),S.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+_t+"; q=0.01":""):h.accepts["*"]);for(d in h.headers)S.setRequestHeader(d,h.headers[d]);if(h.beforeSend&&(!1===h.beforeSend.call(g,S,h)||l))return S.abort();if(T="abort",y.add(h.complete),S.done(h.success),S.fail(h.error),i=G(Rt,h,n,S)){if(S.readyState=1,f&&m.trigger("ajaxSend",[S,h]),l)return S;h.async&&h.timeout>0&&(u=e.setTimeout(function(){S.abort("timeout")},h.timeout));try{l=!1,i.send(b,r)}catch(e){if(l)throw e;r(-1,e)}}else r(-1,"No Transport");return S},getJSON:function(e,t,n){return ge.get(e,t,n,"json")},getScript:function(e,t){return ge.get(e,undefined,t,"script")}}),ge.each(["get","post"],function(e,t){ge[t]=function(e,n,r,i){return ge.isFunction(n)&&(i=i||r,r=n,n=undefined),ge.ajax(ge.extend({url:e,type:t,dataType:i,data:n,success:r},ge.isPlainObject(e)&&e))}}),ge._evalUrl=function(e){return ge.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},ge.fn.extend({wrapAll:function(e){var t;return this[0]&&(ge.isFunction(e)&&(e=e.call(this[0])),t=ge(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return ge.isFunction(e)?this.each(function(t){ge(this).wrapInner(e.call(this,t))}):this.each(function(){var t=ge(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=ge.isFunction(e);return this.each(function(n){ge(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){ge(this).replaceWith(this.childNodes)}),this}}),ge.expr.pseudos.hidden=function(e){return!ge.expr.pseudos.visible(e)},ge.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},ge.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Bt=ge.ajaxSettings.xhr();pe.cors=!!Bt&&"withCredentials"in Bt,pe.ajax=Bt=!!Bt,ge.ajaxTransport(function(t){var n,r;if(pe.cors||Bt&&!t.crossDomain)return{send:function(i,o){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(s in i)a.setRequestHeader(s,i[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(Wt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=n("error"),a.onabort!==undefined?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),ge.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),ge.ajaxSetup({accepts:{ -script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return ge.globalEval(e),e}}}),ge.ajaxPrefilter("script",function(e){e.cache===undefined&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),ge.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=ge("