@spartacus/cart
Version:
`@spartacus/cart` is a package that you can include in your application, which allows you to use various cart features.
175 lines • 25.8 kB
JavaScript
import { MULTI_CART_DATA, PROCESS_FEATURE, StateUtils } from '@spartacus/core';
import { SAVED_CART_CLONE_CART_PROCESS_ID, SAVED_CART_LIST_PROCESS_ID, SAVED_CART_RESTORE_CART_PROCESS_ID, SAVED_CART_SAVE_CART_PROCESS_ID, } from '../saved-cart-constants';
export const LOAD_SAVED_CART = '[Saved Cart] Load Saved Cart';
export const LOAD_SAVED_CART_SUCCESS = '[Saved Cart] Load Saved Cart Success';
export const LOAD_SAVED_CART_FAIL = '[Saved Cart] Load Saved Cart Fail';
export const LOAD_SAVED_CARTS = '[Saved Cart] Load Saved Carts';
export const LOAD_SAVED_CARTS_SUCCESS = '[Saved Cart] Load Saved Carts Success';
export const LOAD_SAVED_CARTS_FAIL = '[Saved Cart] Load Saved Carts Fail';
export const CLEAR_SAVED_CARTS = '[Saved Cart] Clear Saved Carts';
export const RESTORE_SAVED_CART = '[Saved Cart] Restore Saved Cart';
export const RESTORE_SAVED_CART_SUCCESS = '[Saved Cart] Restore Saved Cart Success';
export const RESTORE_SAVED_CART_FAIL = '[Saved Cart] Restore Saved Cart Fail';
export const CLEAR_RESTORE_SAVED_CART = '[Saved Cart] Clear Restore Saved Cart';
export const SAVE_CART = '[Saved Cart] Save Cart';
export const SAVE_CART_SUCCESS = '[Saved Cart] Save Cart Success';
export const SAVE_CART_FAIL = '[Saved Cart] Save Cart Fail';
export const CLEAR_SAVE_CART = '[Saved Cart] Clear Save Cart';
export const EDIT_SAVED_CART = '[Saved Cart] Edit Saved Cart';
export const EDIT_SAVED_CART_SUCCESS = '[Saved Cart] Edit Saved Cart Success';
export const EDIT_SAVED_CART_FAIL = '[Saved Cart] Edit Saved Cart Fail';
export const CLONE_SAVED_CART = '[Saved Cart] Clone Saved Cart';
export const CLONE_SAVED_CART_SUCCESS = '[Saved Cart] Clone Saved Cart Success';
export const CLONE_SAVED_CART_FAIL = '[Saved Cart] Clone Saved Cart Fail';
export const CLEAR_CLONE_SAVED_CART = '[Saved Cart] Clear Clone Saved Cart';
export class LoadSavedCart extends StateUtils.EntityLoadAction {
constructor(payload) {
super(MULTI_CART_DATA, payload.cartId);
this.payload = payload;
this.type = LOAD_SAVED_CART;
}
}
export class LoadSavedCartSuccess extends StateUtils.EntitySuccessAction {
constructor(payload) {
super(MULTI_CART_DATA, payload.cartId);
this.payload = payload;
this.type = LOAD_SAVED_CART_SUCCESS;
}
}
export class LoadSavedCartFail extends StateUtils.EntityFailAction {
constructor(payload) {
super(MULTI_CART_DATA, payload.cartId, payload === null || payload === void 0 ? void 0 : payload.error);
this.payload = payload;
this.type = LOAD_SAVED_CART_FAIL;
}
}
export class LoadSavedCarts extends StateUtils.EntityLoadAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_LIST_PROCESS_ID);
this.payload = payload;
this.type = LOAD_SAVED_CARTS;
}
}
export class LoadSavedCartsSuccess extends StateUtils.EntitySuccessAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_LIST_PROCESS_ID);
this.payload = payload;
this.type = LOAD_SAVED_CARTS_SUCCESS;
}
}
export class LoadSavedCartsFail extends StateUtils.EntityFailAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_LIST_PROCESS_ID, payload.error);
this.payload = payload;
this.type = LOAD_SAVED_CARTS_FAIL;
}
}
export class ClearSavedCarts extends StateUtils.EntityLoaderResetAction {
constructor() {
super(PROCESS_FEATURE, SAVED_CART_LIST_PROCESS_ID);
this.type = CLEAR_SAVED_CARTS;
}
}
export class RestoreSavedCart extends StateUtils.EntityLoadAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_RESTORE_CART_PROCESS_ID);
this.payload = payload;
this.type = RESTORE_SAVED_CART;
}
}
export class RestoreSavedCartSuccess extends StateUtils.EntitySuccessAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_RESTORE_CART_PROCESS_ID);
this.payload = payload;
this.type = RESTORE_SAVED_CART_SUCCESS;
}
}
export class RestoreSavedCartFail extends StateUtils.EntityFailAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_RESTORE_CART_PROCESS_ID, payload.error);
this.payload = payload;
this.type = RESTORE_SAVED_CART_FAIL;
}
}
export class ClearRestoreSavedCart extends StateUtils.EntityLoaderResetAction {
constructor() {
super(PROCESS_FEATURE, SAVED_CART_RESTORE_CART_PROCESS_ID);
this.type = CLEAR_RESTORE_SAVED_CART;
}
}
export class SaveCart extends StateUtils.EntityLoadAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_SAVE_CART_PROCESS_ID);
this.payload = payload;
this.type = SAVE_CART;
}
}
export class SaveCartSuccess extends StateUtils.EntitySuccessAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_SAVE_CART_PROCESS_ID);
this.payload = payload;
this.type = SAVE_CART_SUCCESS;
}
}
export class SaveCartFail extends StateUtils.EntityFailAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_SAVE_CART_PROCESS_ID, payload.error);
this.payload = payload;
this.type = SAVE_CART_FAIL;
}
}
export class ClearSaveCart extends StateUtils.EntityLoaderResetAction {
constructor() {
super(PROCESS_FEATURE, SAVED_CART_SAVE_CART_PROCESS_ID);
this.type = CLEAR_SAVE_CART;
}
}
export class EditSavedCart extends StateUtils.EntityLoadAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_SAVE_CART_PROCESS_ID);
this.payload = payload;
this.type = EDIT_SAVED_CART;
}
}
export class EditSavedCartSuccess extends StateUtils.EntitySuccessAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_SAVE_CART_PROCESS_ID);
this.payload = payload;
this.type = EDIT_SAVED_CART_SUCCESS;
}
}
export class EditSavedCartFail extends StateUtils.EntityFailAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_SAVE_CART_PROCESS_ID, payload.error);
this.payload = payload;
this.type = EDIT_SAVED_CART_FAIL;
}
}
export class CloneSavedCart extends StateUtils.EntityLoadAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_CLONE_CART_PROCESS_ID);
this.payload = payload;
this.type = CLONE_SAVED_CART;
}
}
export class CloneSavedCartSuccess extends StateUtils.EntitySuccessAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_CLONE_CART_PROCESS_ID);
this.payload = payload;
this.type = CLONE_SAVED_CART_SUCCESS;
}
}
export class CloneSavedCartFail extends StateUtils.EntityFailAction {
constructor(payload) {
super(PROCESS_FEATURE, SAVED_CART_CLONE_CART_PROCESS_ID, payload.error);
this.payload = payload;
this.type = CLONE_SAVED_CART_FAIL;
}
}
export class ClearCloneSavedCart extends StateUtils.EntityLoaderResetAction {
constructor() {
super(PROCESS_FEATURE, SAVED_CART_CLONE_CART_PROCESS_ID);
this.type = CLEAR_CLONE_SAVED_CART;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtY2FydC5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9mZWF0dXJlLWxpYnMvY2FydC9zYXZlZC1jYXJ0L2NvcmUvc3RvcmUvYWN0aW9ucy9zYXZlZC1jYXJ0LmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRSxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLDBCQUEwQixFQUMxQixrQ0FBa0MsRUFDbEMsK0JBQStCLEdBQ2hDLE1BQU0seUJBQXlCLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLDhCQUE4QixDQUFDO0FBQzlELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLHNDQUFzQyxDQUFDO0FBQzlFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLG1DQUFtQyxDQUFDO0FBRXhFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLCtCQUErQixDQUFDO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLHVDQUF1QyxDQUFDO0FBQ2hGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLG9DQUFvQyxDQUFDO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGdDQUFnQyxDQUFDO0FBRWxFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGlDQUFpQyxDQUFDO0FBQ3BFLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUNyQyx5Q0FBeUMsQ0FBQztBQUM1QyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxzQ0FBc0MsQ0FBQztBQUM5RSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyx1Q0FBdUMsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsd0JBQXdCLENBQUM7QUFDbEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdB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QWdDLENBQUMsQ0FBQztRQU5sRCxZQUFPLEdBQVAsT0FBTyxDQUliO1FBTk0sU0FBSSxHQUFHLGdCQUFnQixDQUFDO0lBU2pDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxVQUFVLENBQUMsbUJBQW1CO0lBRXZFLFlBQ1MsT0FJTjtRQUVELEtBQUssQ0FBQyxlQUFlLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztRQU5sRCxZQUFPLEdBQVAsT0FBTyxDQUliO1FBTk0sU0FBSSxHQUFHLHdCQUF3QixDQUFDO0lBU3pDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxVQUFVLENBQUMsZ0JBQWdCO0lBRWpFLFlBQ1MsT0FLTjtRQUVELEtBQUssQ0FBQyxlQUFlLEVBQUUsZ0NBQWdDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBUGpFLFlBQU8sR0FBUCxPQUFPLENBS2I7UUFQTSxTQUFJLEdBQUcscUJBQXFCLENBQUM7SUFVdEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFVBQVUsQ0FBQyx1QkFBdUI7SUFFekU7UUFDRSxLQUFLLENBQUMsZUFBZSxFQUFFLGdDQUFnQyxDQUFDLENBQUM7UUFGbEQsU0FBSSxHQUFHLHNCQUFzQixDQUFDO0lBR3ZDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1VTFRJX0NBUlRfREFUQSwgUFJPQ0VTU19GRUFUVVJFLCBTdGF0ZVV0aWxzIH0gZnJvbSAnQHNwYXJ0YWN1cy9jb3JlJztcbmltcG9ydCB7XG4gIFNBVkVEX0NBUlRfQ0xPTkVfQ0FSVF9QUk9DRVNTX0lELFxuICBTQVZFRF9DQVJUX0xJU1RfUFJPQ0VTU19JRCxcbiAgU0FWRURfQ0FSVF9SRVNUT1JFX0NBUlRfUFJPQ0VTU19JRCxcbiAgU0FWRURfQ0FSVF9TQVZFX0NBUlRfUFJPQ0VTU19JRCxcbn0gZnJvbSAnLi4vc2F2ZWQtY2FydC1jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3QgTE9BRF9TQVZFRF9DQVJUID0gJ1tTYXZlZCBDYXJ0XSBMb2FkIFNhdmVkIENhcnQnO1xuZXhwb3J0IGNvbnN0IExPQURfU0FWRURfQ0FSVF9TVUNDRVNTID0gJ1tTYXZlZCBDYXJ0XSBMb2FkIFNhdmVkIENhcnQgU3VjY2Vzcyc7XG5leHBvcnQgY29uc3QgTE9BRF9TQVZFRF9DQVJUX0ZBSUwgPSAnW1NhdmVkIENhcnRdIExvYWQgU2F2ZWQgQ2FydCBGYWlsJztcblxuZXhwb3J0IGNvbnN0IExPQURfU0FWRURfQ0FSVFMgPSAnW1NhdmVkIENhcnRdIExvYWQgU2F2ZWQgQ2FydHMnO1xuZXhwb3J0IGNvbnN0IExPQURfU0FWRURfQ0FSVFNfU1VDQ0VTUyA9ICdbU2F2ZWQgQ2FydF0gTG9hZCBTYXZlZCBDYXJ0cyBTdWNjZXNzJztcbmV4cG9ydCBjb25zdCBMT0FEX1NBVkVEX0NBUlRTX0ZBSUwgPSAnW1NhdmVkIENhcnRdIExvYWQgU2F2ZWQgQ2FydHMgRmFpbCc7XG5leHBvcnQgY29uc3QgQ0xFQVJfU0FWRURfQ0FSVFMgPSAnW1NhdmVkIENhcnRdIENsZWFyIFNhdmVkIENhcnRzJztcblxuZXhwb3J0IGNvbnN0IFJFU1RPUkVfU0FWRURfQ0FSVCA9ICdbU2F2ZWQgQ2FydF0gUmVzdG9yZSBTYXZlZCBDYXJ0JztcbmV4cG9ydCBjb25zdCBSRVNUT1JFX1NBVkVEX0NBUlRfU1VDQ0VTUyA9XG4gICdbU2F2ZWQgQ2FydF0gUmVzdG9yZSBTYXZlZCBDYXJ0IFN1Y2Nlc3MnO1xuZXhwb3J0IGNvbnN0IFJFU1RPUkVfU0FWRURfQ0FSVF9GQUlMID0gJ1tTYXZlZCBDYXJ0XSBSZXN0b3JlIFNhdmVkIENhcnQgRmFpbCc7XG5leHBvcnQgY29uc3QgQ0xFQVJfUkVTVE9SRV9TQVZFRF9DQVJUID0gJ1tTYXZlZCBDYXJ0XSBDbGVhciBSZXN0b3JlIFNhdmVkIENhcnQnO1xuXG5leHBvcnQgY29uc3QgU0FWRV9DQVJUID0gJ1tTYXZlZCBDYXJ0XSBTYXZlIENhcnQnO1xuZXhwb3J0IGNvbnN0IFNBVkVfQ0FSVF9TVUNDRVNTID0gJ1tTYXZlZCBDYXJ0XSBTYXZlIENhcnQgU3VjY2Vzcyc7XG5leHBvcnQgY29uc3QgU0FWRV9DQVJUX0ZBSUwgPSAnW1NhdmVkIENhcnRdIFNhdmUgQ2FydCBGYWlsJztcbmV4cG9ydCBjb25zdCBDTEVBUl9TQVZFX0NBUlQgPSAnW1NhdmVkIENhcnRdIENsZWFyIFNhdmUgQ2FydCc7XG5cbmV4cG9ydCBjb25zdCBFRElUX1NBVkVEX0NBUlQgPSAnW1NhdmVkIENhcnRdIEVkaXQgU2F2ZWQgQ2FydCc7XG5leHBvcnQgY29uc3QgRURJVF9TQVZFRF9DQVJUX1NVQ0NFU1MgPSAnW1NhdmVkIENhcnRdIEVkaXQgU2F2ZWQgQ2FydCBTdWNjZXNzJztcbmV4cG9ydCBjb25zdCBFRElUX1NBVkVEX0NBUlRfRkFJTCA9ICdbU2F2ZWQgQ2FydF0gRWRpdCBTYXZlZCBDYXJ0IEZhaWwnO1xuXG5leHBvcnQgY29uc3QgQ0xPTkVfU0FWRURfQ0FSVCA9ICdbU2F2ZWQgQ2FydF0gQ2xvbmUgU2F2ZWQgQ2FydCc7XG5leHBvcnQgY29uc3QgQ0xPTkVfU0FWRURfQ0FSVF9TVUNDRVNTID0gJ1tTYXZlZCBDYXJ0XSBDbG9uZSBTYXZlZCBDYXJ0IFN1Y2Nlc3MnO1xuZXhwb3J0IGNvbnN0IENMT05FX1NBVkVEX0NBUlRfRkFJTCA9ICdbU2F2ZWQgQ2FydF0gQ2xvbmUgU2F2ZWQgQ2FydCBGYWlsJztcbmV4cG9ydCBjb25zdCBDTEVBUl9DTE9ORV9TQVZFRF9DQVJUID0gJ1tTYXZlZCBDYXJ0XSBDbGVhciBDbG9uZSBTYXZlZCBDYXJ0JztcblxuZXhwb3J0IGNsYXNzIExvYWRTYXZlZENhcnQgZXh0ZW5kcyBTdGF0ZVV0aWxzLkVudGl0eUxvYWRBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gTE9BRF9TQVZFRF9DQVJUO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGF5bG9hZDoge1xuICAgICAgdXNlcklkOiBzdHJpbmc7XG4gICAgICBjYXJ0SWQ6IHN0cmluZztcbiAgICB9XG4gICkge1xuICAgIHN1cGVyKE1VTFRJX0NBUlRfREFUQSwgcGF5bG9hZC5jYXJ0SWQpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMb2FkU2F2ZWRDYXJ0U3VjY2VzcyBleHRlbmRzIFN0YXRlVXRpbHMuRW50aXR5U3VjY2Vzc0FjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBMT0FEX1NBVkVEX0NBUlRfU1VDQ0VTUztcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBheWxvYWQ6IHtcbiAgICAgIHVzZXJJZDogc3RyaW5nO1xuICAgICAgY2FydElkOiBzdHJpbmc7XG4gICAgfVxuICApIHtcbiAgICBzdXBlcihNVUxUSV9DQVJUX0RBVEEsIHBheWxvYWQuY2FydElkKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTG9hZFNhdmVkQ2FydEZhaWwgZXh0ZW5kcyBTdGF0ZVV0aWxzLkVudGl0eUZhaWxBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gTE9BRF9TQVZFRF9DQVJUX0ZBSUw7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiB7IHVzZXJJZDogc3RyaW5nOyBjYXJ0SWQ6IHN0cmluZzsgZXJyb3I6IGFueSB9KSB7XG4gICAgc3VwZXIoTVVMVElfQ0FSVF9EQVRBLCBwYXlsb2FkLmNhcnRJZCwgcGF5bG9hZD8uZXJyb3IpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMb2FkU2F2ZWRDYXJ0cyBleHRlbmRzIFN0YXRlVXRpbHMuRW50aXR5TG9hZEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBMT0FEX1NBVkVEX0NBUlRTO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGF5bG9hZDoge1xuICAgICAgdXNlcklkOiBzdHJpbmc7XG4gICAgfVxuICApIHtcbiAgICBzdXBlcihQUk9DRVNTX0ZFQVRVUkUsIFNBVkVEX0NBUlRfTElTVF9QUk9DRVNTX0lEKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTG9hZFNhdmVkQ2FydHNTdWNjZXNzIGV4dGVuZHMgU3RhdGVVdGlscy5FbnRpdHlTdWNjZXNzQWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IExPQURfU0FWRURfQ0FSVFNfU1VDQ0VTUztcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBheWxvYWQ6IHtcbiAgICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIH1cbiAgKSB7XG4gICAgc3VwZXIoUFJPQ0VTU19GRUFUVVJFLCBTQVZFRF9DQVJUX0xJU1RfUFJPQ0VTU19JRCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExvYWRTYXZlZENhcnRzRmFpbCBleHRlbmRzIFN0YXRlVXRpbHMuRW50aXR5RmFpbEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBMT0FEX1NBVkVEX0NBUlRTX0ZBSUw7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwYXlsb2FkOiB7XG4gICAgICB1c2VySWQ6IHN0cmluZztcbiAgICAgIGVycm9yOiBhbnk7XG4gICAgfVxuICApIHtcbiAgICBzdXBlcihQUk9DRVNTX0ZFQVRVUkUsIFNBVkVEX0NBUlRfTElTVF9QUk9DRVNTX0lELCBwYXlsb2FkLmVycm9yKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2xlYXJTYXZlZENhcnRzIGV4dGVuZHMgU3RhdGVVdGlscy5FbnRpdHlMb2FkZXJSZXNldEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBDTEVBUl9TQVZFRF9DQVJUUztcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoUFJPQ0VTU19GRUFUVVJFLCBTQVZFRF9DQVJUX0xJU1RfUFJPQ0VTU19JRCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJlc3RvcmVTYXZlZENhcnQgZXh0ZW5kcyBTdGF0ZVV0aWxzLkVudGl0eUxvYWRBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gUkVTVE9SRV9TQVZFRF9DQVJUO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGF5bG9hZDoge1xuICAgICAgdXNlcklkOiBzdHJpbmc7XG4gICAgICBjYXJ0SWQ6IHN0cmluZztcbiAgICB9XG4gICkge1xuICAgIHN1cGVyKFBST0NFU1NfRkVBVFVSRSwgU0FWRURfQ0FSVF9SRVNUT1JFX0NBUlRfUFJPQ0VTU19JRCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJlc3RvcmVTYXZlZENhcnRTdWNjZXNzIGV4dGVuZHMgU3RhdGVVdGlscy5FbnRpdHlTdWNjZXNzQWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IFJFU1RPUkVfU0FWRURfQ0FSVF9TVUNDRVNTO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGF5bG9hZDoge1xuICAgICAgdXNlcklkOiBzdHJpbmc7XG4gICAgICBjYXJ0SWQ6IHN0cmluZztcbiAgICB9XG4gICkge1xuICAgIHN1cGVyKFBST0NFU1NfRkVBVFVSRSwgU0FWRURfQ0FSVF9SRVNUT1JFX0NBUlRfUFJPQ0VTU19JRCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJlc3RvcmVTYXZlZENhcnRGYWlsIGV4dGVuZHMgU3RhdGVVdGlscy5FbnRpdHlGYWlsQWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IFJFU1RPUkVfU0FWRURfQ0FSVF9GQUlMO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGF5bG9hZDoge1xuICAgICAgdXNlcklkOiBzdHJpbmc7XG4gICAgICBjYXJ0SWQ6IHN0cmluZztcbiAgICAgIGVycm9yOiBhbnk7XG4gICAgfVxuICApIHtcbiAgICBzdXBlcihQUk9DRVNTX0ZFQVRVUkUsIFNBVkVEX0NBUlRfUkVTVE9SRV9DQVJUX1BST0NFU1NfSUQsIHBheWxvYWQuZXJyb3IpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDbGVhclJlc3RvcmVTYXZlZENhcnQgZXh0ZW5kcyBTdGF0ZVV0aWxzLkVudGl0eUxvYWRlclJlc2V0QWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IENMRUFSX1JFU1RPUkVfU0FWRURfQ0FSVDtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoUFJPQ0VTU19GRUFUVVJFLCBTQVZFRF9DQVJUX1JFU1RPUkVfQ0FSVF9QUk9DRVNTX0lEKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2F2ZUNhcnQgZXh0ZW5kcyBTdGF0ZVV0aWxzLkVudGl0eUxvYWRBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gU0FWRV9DQVJUO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGF5bG9hZDoge1xuICAgICAgdXNlcklkOiBzdHJpbmc7XG4gICAgICBjYXJ0SWQ6IHN0cmluZztcbiAgICAgIHNhdmVDYXJ0TmFtZT86IHN0cmluZztcbiAgICAgIHNhdmVDYXJ0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgfVxuICApIHtcbiAgICBzdXBlcihQUk9DRVNTX0ZFQVRVUkUsIFNBVkVEX0NBUlRfU0FWRV9DQVJUX1BST0NFU1NfSUQpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTYXZlQ2FydFN1Y2Nlc3MgZXh0ZW5kcyBTdGF0ZVV0aWxzLkVudGl0eVN1Y2Nlc3NBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gU0FWRV9DQVJUX1NVQ0NFU1M7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwYXlsb2FkOiB7XG4gICAgICB1c2VySWQ6IHN0cmluZztcbiAgICAgIGNhcnRJZDogc3RyaW5nO1xuICAgICAgc2F2ZUNhcnROYW1lPzogc3RyaW5nO1xuICAgICAgc2F2ZUNhcnREZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICB9XG4gICkge1xuICAgIHN1cGVyKFBST0NFU1NfRkVBVFVSRSwgU0FWRURfQ0FSVF9TQVZFX0NBUlRfUFJPQ0VTU19JRCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNhdmVDYXJ0RmFpbCBleHRlbmRzIFN0YXRlVXRpbHMuRW50aXR5RmFpbEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBTQVZFX0NBUlRfRkFJTDtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBheWxvYWQ6IHtcbiAgICAgIHVzZXJJZDogc3RyaW5nO1xuICAgICAgY2FydElkOiBzdHJpbmc7XG4gICAgICBzYXZlQ2FydE5hbWU/OiBzdHJpbmc7XG4gICAgICBzYXZlQ2FydERlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgZXJyb3I6IGFueTtcbiAgICB9XG4gICkge1xuICAgIHN1cGVyKFBST0NFU1NfRkVBVFVSRSwgU0FWRURfQ0FSVF9TQVZFX0NBUlRfUFJPQ0VTU19JRCwgcGF5bG9hZC5lcnJvcik7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENsZWFyU2F2ZUNhcnQgZXh0ZW5kcyBTdGF0ZVV0aWxzLkVudGl0eUxvYWRlclJlc2V0QWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IENMRUFSX1NBVkVfQ0FSVDtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoUFJPQ0VTU19GRUFUVVJFLCBTQVZFRF9DQVJUX1NBVkVfQ0FSVF9QUk9DRVNTX0lEKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRWRpdFNhdmVkQ2FydCBleHRlbmRzIFN0YXRlVXRpbHMuRW50aXR5TG9hZEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBFRElUX1NBVkVEX0NBUlQ7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwYXlsb2FkOiB7XG4gICAgICB1c2VySWQ6IHN0cmluZztcbiAgICAgIGNhcnRJZDogc3RyaW5nO1xuICAgICAgc2F2ZUNhcnROYW1lPzogc3RyaW5nO1xuICAgICAgc2F2ZUNhcnREZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICB9XG4gICkge1xuICAgIHN1cGVyKFBST0NFU1NfRkVBVFVSRSwgU0FWRURfQ0FSVF9TQVZFX0NBUlRfUFJPQ0VTU19JRCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEVkaXRTYXZlZENhcnRTdWNjZXNzIGV4dGVuZHMgU3RhdGVVdGlscy5FbnRpdHlTdWNjZXNzQWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IEVESVRfU0FWRURfQ0FSVF9TVUNDRVNTO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGF5bG9hZDoge1xuICAgICAgdXNlcklkOiBzdHJpbmc7XG4gICAgICBjYXJ0SWQ6IHN0cmluZztcbiAgICAgIHNhdmVDYXJ0TmFtZT86IHN0cmluZztcbiAgICAgIHNhdmVDYXJ0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgfVxuICApIHtcbiAgICBzdXBlcihQUk9DRVNTX0ZFQVRVUkUsIFNBVkVEX0NBUlRfU0FWRV9DQVJUX1BST0NFU1NfSUQpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBFZGl0U2F2ZWRDYXJ0RmFpbCBleHRlbmRzIFN0YXRlVXRpbHMuRW50aXR5RmFpbEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBFRElUX1NBVkVEX0NBUlRfRkFJTDtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBheWxvYWQ6IHtcbiAgICAgIHVzZXJJZDogc3RyaW5nO1xuICAgICAgY2FydElkOiBzdHJpbmc7XG4gICAgICBzYXZlQ2FydE5hbWU/OiBzdHJpbmc7XG4gICAgICBzYXZlQ2FydERlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgZXJyb3I6IGFueTtcbiAgICB9XG4gICkge1xuICAgIHN1cGVyKFBST0NFU1NfRkVBVFVSRSwgU0FWRURfQ0FSVF9TQVZFX0NBUlRfUFJPQ0VTU19JRCwgcGF5bG9hZC5lcnJvcik7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENsb25lU2F2ZWRDYXJ0IGV4dGVuZHMgU3RhdGVVdGlscy5FbnRpdHlMb2FkQWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IENMT05FX1NBVkVEX0NBUlQ7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwYXlsb2FkOiB7XG4gICAgICB1c2VySWQ6IHN0cmluZztcbiAgICAgIGNhcnRJZDogc3RyaW5nO1xuICAgICAgc2F2ZUNhcnROYW1lPzogc3RyaW5nO1xuICAgIH1cbiAgKSB7XG4gICAgc3VwZXIoUFJPQ0VTU19GRUFUVVJFLCBTQVZFRF9DQVJUX0NMT05FX0NBUlRfUFJPQ0VTU19JRCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENsb25lU2F2ZWRDYXJ0U3VjY2VzcyBleHRlbmRzIFN0YXRlVXRpbHMuRW50aXR5U3VjY2Vzc0FjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBDTE9ORV9TQVZFRF9DQVJUX1NVQ0NFU1M7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwYXlsb2FkOiB7XG4gICAgICB1c2VySWQ6IHN0cmluZztcbiAgICAgIGNhcnRJZDogc3RyaW5nO1xuICAgICAgc2F2ZUNhcnROYW1lPzogc3RyaW5nO1xuICAgIH1cbiAgKSB7XG4gICAgc3VwZXIoUFJPQ0VTU19GRUFUVVJFLCBTQVZFRF9DQVJUX0NMT05FX0NBUlRfUFJPQ0VTU19JRCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENsb25lU2F2ZWRDYXJ0RmFpbCBleHRlbmRzIFN0YXRlVXRpbHMuRW50aXR5RmFpbEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBDTE9ORV9TQVZFRF9DQVJUX0ZBSUw7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwYXlsb2FkOiB7XG4gICAgICB1c2VySWQ6IHN0cmluZztcbiAgICAgIGNhcnRJZDogc3RyaW5nO1xuICAgICAgc2F2ZUNhcnROYW1lPzogc3RyaW5nO1xuICAgICAgZXJyb3I6IGFueTtcbiAgICB9XG4gICkge1xuICAgIHN1cGVyKFBST0NFU1NfRkVBVFVSRSwgU0FWRURfQ0FSVF9DTE9ORV9DQVJUX1BST0NFU1NfSUQsIHBheWxvYWQuZXJyb3IpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDbGVhckNsb25lU2F2ZWRDYXJ0IGV4dGVuZHMgU3RhdGVVdGlscy5FbnRpdHlMb2FkZXJSZXNldEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBDTEVBUl9DTE9ORV9TQVZFRF9DQVJUO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihQUk9DRVNTX0ZFQVRVUkUsIFNBVkVEX0NBUlRfQ0xPTkVfQ0FSVF9QUk9DRVNTX0lEKTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBTYXZlZENhcnRBY3Rpb25zID1cbiAgfCBMb2FkU2F2ZWRDYXJ0XG4gIHwgTG9hZFNhdmVkQ2FydFN1Y2Nlc3NcbiAgfCBMb2FkU2F2ZWRDYXJ0RmFpbFxuICB8IExvYWRTYXZlZENhcnRzXG4gIHwgTG9hZFNhdmVkQ2FydHNTdWNjZXNzXG4gIHwgTG9hZFNhdmVkQ2FydHNGYWlsXG4gIHwgQ2xlYXJTYXZlZENhcnRzXG4gIHwgUmVzdG9yZVNhdmVkQ2FydFxuICB8IFJlc3RvcmVTYXZlZENhcnRTdWNjZXNzXG4gIHwgUmVzdG9yZVNhdmVkQ2FydEZhaWxcbiAgfCBDbGVhclJlc3RvcmVTYXZlZENhcnRcbiAgfCBTYXZlQ2FydFxuICB8IFNhdmVDYXJ0U3VjY2Vzc1xuICB8IFNhdmVDYXJ0RmFpbFxuICB8IENsZWFyU2F2ZUNhcnRcbiAgfCBFZGl0U2F2ZWRDYXJ0XG4gIHwgRWRpdFNhdmVkQ2FydFN1Y2Nlc3NcbiAgfCBFZGl0U2F2ZWRDYXJ0RmFpbFxuICB8IENsb25lU2F2ZWRDYXJ0XG4gIHwgQ2xvbmVTYXZlZENhcnRTdWNjZXNzXG4gIHwgQ2xvbmVTYXZlZENhcnRGYWlsXG4gIHwgQ2xlYXJDbG9uZVNhdmVkQ2FydDtcbiJdfQ==