UNPKG

549 kBSource Map (JSON)View Raw
1{"version":3,"sources":["webpack://contentfulManagement/webpack/bootstrap","webpack://contentfulManagement/../node_modules/axios/index.js","webpack://contentfulManagement/../node_modules/axios/lib/adapters/http.js","webpack://contentfulManagement/../node_modules/axios/lib/adapters/xhr.js","webpack://contentfulManagement/../node_modules/axios/lib/axios.js","webpack://contentfulManagement/../node_modules/axios/lib/cancel/Cancel.js","webpack://contentfulManagement/../node_modules/axios/lib/cancel/CancelToken.js","webpack://contentfulManagement/../node_modules/axios/lib/cancel/isCancel.js","webpack://contentfulManagement/../node_modules/axios/lib/core/Axios.js","webpack://contentfulManagement/../node_modules/axios/lib/core/InterceptorManager.js","webpack://contentfulManagement/../node_modules/axios/lib/core/buildFullPath.js","webpack://contentfulManagement/../node_modules/axios/lib/core/createError.js","webpack://contentfulManagement/../node_modules/axios/lib/core/dispatchRequest.js","webpack://contentfulManagement/../node_modules/axios/lib/core/enhanceError.js","webpack://contentfulManagement/../node_modules/axios/lib/core/mergeConfig.js","webpack://contentfulManagement/../node_modules/axios/lib/core/settle.js","webpack://contentfulManagement/../node_modules/axios/lib/core/transformData.js","webpack://contentfulManagement/../node_modules/axios/lib/defaults.js","webpack://contentfulManagement/../node_modules/axios/lib/helpers/bind.js","webpack://contentfulManagement/../node_modules/axios/lib/helpers/buildURL.js","webpack://contentfulManagement/../node_modules/axios/lib/helpers/combineURLs.js","webpack://contentfulManagement/../node_modules/axios/lib/helpers/cookies.js","webpack://contentfulManagement/../node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://contentfulManagement/../node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://contentfulManagement/../node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://contentfulManagement/../node_modules/axios/lib/helpers/parseHeaders.js","webpack://contentfulManagement/../node_modules/axios/lib/helpers/spread.js","webpack://contentfulManagement/../node_modules/axios/lib/utils.js","webpack://contentfulManagement/../node_modules/contentful-sdk-core/dist/index.es-modules.js","webpack://contentfulManagement/../node_modules/debug/src/browser.js","webpack://contentfulManagement/../node_modules/debug/src/debug.js","webpack://contentfulManagement/../node_modules/debug/src/index.js","webpack://contentfulManagement/../node_modules/debug/src/node.js","webpack://contentfulManagement/../node_modules/follow-redirects/index.js","webpack://contentfulManagement/../node_modules/has-flag/index.js","webpack://contentfulManagement/../node_modules/lodash/_Hash.js","webpack://contentfulManagement/../node_modules/lodash/_ListCache.js","webpack://contentfulManagement/../node_modules/lodash/_Map.js","webpack://contentfulManagement/../node_modules/lodash/_MapCache.js","webpack://contentfulManagement/../node_modules/lodash/_Stack.js","webpack://contentfulManagement/../node_modules/lodash/_arrayEach.js","webpack://contentfulManagement/../node_modules/lodash/_assignValue.js","webpack://contentfulManagement/../node_modules/lodash/_assocIndexOf.js","webpack://contentfulManagement/../node_modules/lodash/_baseAssign.js","webpack://contentfulManagement/../node_modules/lodash/_baseAssignIn.js","webpack://contentfulManagement/../node_modules/lodash/_baseAssignValue.js","webpack://contentfulManagement/../node_modules/lodash/_baseClone.js","webpack://contentfulManagement/../node_modules/lodash/_baseCreate.js","webpack://contentfulManagement/../node_modules/lodash/_baseGet.js","webpack://contentfulManagement/../node_modules/lodash/_baseGetTag.js","webpack://contentfulManagement/../node_modules/lodash/_cloneBuffer.js","webpack://contentfulManagement/../node_modules/lodash/_copyArray.js","webpack://contentfulManagement/../node_modules/lodash/_copyObject.js","webpack://contentfulManagement/../node_modules/lodash/_copySymbols.js","webpack://contentfulManagement/../node_modules/lodash/_copySymbolsIn.js","webpack://contentfulManagement/../node_modules/lodash/_defineProperty.js","webpack://contentfulManagement/../node_modules/lodash/_freeGlobal.js","webpack://contentfulManagement/../node_modules/lodash/_getAllKeys.js","webpack://contentfulManagement/../node_modules/lodash/_getAllKeysIn.js","webpack://contentfulManagement/../node_modules/lodash/_getMapData.js","webpack://contentfulManagement/../node_modules/lodash/_getNative.js","webpack://contentfulManagement/../node_modules/lodash/_getPrototype.js","webpack://contentfulManagement/../node_modules/lodash/_getSymbols.js","webpack://contentfulManagement/../node_modules/lodash/_getSymbolsIn.js","webpack://contentfulManagement/../node_modules/lodash/_getTag.js","webpack://contentfulManagement/../node_modules/lodash/_hashClear.js","webpack://contentfulManagement/../node_modules/lodash/_hashDelete.js","webpack://contentfulManagement/../node_modules/lodash/_hashGet.js","webpack://contentfulManagement/../node_modules/lodash/_hashHas.js","webpack://contentfulManagement/../node_modules/lodash/_hashSet.js","webpack://contentfulManagement/../node_modules/lodash/_initCloneArray.js","webpack://contentfulManagement/../node_modules/lodash/_initCloneByTag.js","webpack://contentfulManagement/../node_modules/lodash/_initCloneObject.js","webpack://contentfulManagement/../node_modules/lodash/_isKeyable.js","webpack://contentfulManagement/../node_modules/lodash/_isPrototype.js","webpack://contentfulManagement/../node_modules/lodash/_listCacheClear.js","webpack://contentfulManagement/../node_modules/lodash/_listCacheDelete.js","webpack://contentfulManagement/../node_modules/lodash/_listCacheGet.js","webpack://contentfulManagement/../node_modules/lodash/_listCacheHas.js","webpack://contentfulManagement/../node_modules/lodash/_listCacheSet.js","webpack://contentfulManagement/../node_modules/lodash/_mapCacheClear.js","webpack://contentfulManagement/../node_modules/lodash/_mapCacheDelete.js","webpack://contentfulManagement/../node_modules/lodash/_mapCacheGet.js","webpack://contentfulManagement/../node_modules/lodash/_mapCacheHas.js","webpack://contentfulManagement/../node_modules/lodash/_mapCacheSet.js","webpack://contentfulManagement/../node_modules/lodash/_nativeCreate.js","webpack://contentfulManagement/../node_modules/lodash/_overArg.js","webpack://contentfulManagement/../node_modules/lodash/_root.js","webpack://contentfulManagement/../node_modules/lodash/_stackClear.js","webpack://contentfulManagement/../node_modules/lodash/_stackDelete.js","webpack://contentfulManagement/../node_modules/lodash/_stackGet.js","webpack://contentfulManagement/../node_modules/lodash/_stackHas.js","webpack://contentfulManagement/../node_modules/lodash/_stackSet.js","webpack://contentfulManagement/../node_modules/lodash/cloneDeep.js","webpack://contentfulManagement/../node_modules/lodash/eq.js","webpack://contentfulManagement/../node_modules/lodash/get.js","webpack://contentfulManagement/../node_modules/lodash/isArray.js","webpack://contentfulManagement/../node_modules/lodash/isBuffer.js","webpack://contentfulManagement/../node_modules/lodash/isMap.js","webpack://contentfulManagement/../node_modules/lodash/isObject.js","webpack://contentfulManagement/../node_modules/lodash/isObjectLike.js","webpack://contentfulManagement/../node_modules/lodash/isPlainObject.js","webpack://contentfulManagement/../node_modules/lodash/isSet.js","webpack://contentfulManagement/../node_modules/lodash/keys.js","webpack://contentfulManagement/../node_modules/lodash/keysIn.js","webpack://contentfulManagement/../node_modules/ms/index.js","webpack://contentfulManagement/../node_modules/qs/lib/formats.js","webpack://contentfulManagement/../node_modules/qs/lib/index.js","webpack://contentfulManagement/../node_modules/qs/lib/parse.js","webpack://contentfulManagement/../node_modules/qs/lib/stringify.js","webpack://contentfulManagement/../node_modules/qs/lib/utils.js","webpack://contentfulManagement/../node_modules/supports-color/index.js","webpack://contentfulManagement/../node_modules/webpack/buildin/module.js","webpack://contentfulManagement/./common-utils.ts","webpack://contentfulManagement/./contentful-management.ts","webpack://contentfulManagement/./create-cma-http-client.ts","webpack://contentfulManagement/./create-contentful-api.ts","webpack://contentfulManagement/./create-environment-api.ts","webpack://contentfulManagement/./create-organization-api.ts","webpack://contentfulManagement/./create-space-api.ts","webpack://contentfulManagement/./enhance-with-methods.ts","webpack://contentfulManagement/./entities/api-key.ts","webpack://contentfulManagement/./entities/app-definition.ts","webpack://contentfulManagement/./entities/app-installation.ts","webpack://contentfulManagement/./entities/asset.ts","webpack://contentfulManagement/./entities/content-type.ts","webpack://contentfulManagement/./entities/editor-interface.ts","webpack://contentfulManagement/./entities/entry.ts","webpack://contentfulManagement/./entities/environment-alias.ts","webpack://contentfulManagement/./entities/environment.ts","webpack://contentfulManagement/./entities/index.ts","webpack://contentfulManagement/./entities/locale.ts","webpack://contentfulManagement/./entities/organization-invitation.ts","webpack://contentfulManagement/./entities/organization-membership.ts","webpack://contentfulManagement/./entities/organization.ts","webpack://contentfulManagement/./entities/personal-access-token.ts","webpack://contentfulManagement/./entities/preview-api-key.ts","webpack://contentfulManagement/./entities/role.ts","webpack://contentfulManagement/./entities/snapshot.ts","webpack://contentfulManagement/./entities/space-member.ts","webpack://contentfulManagement/./entities/space-membership.ts","webpack://contentfulManagement/./entities/space.ts","webpack://contentfulManagement/./entities/team-membership.ts","webpack://contentfulManagement/./entities/team-space-membership.ts","webpack://contentfulManagement/./entities/team.ts","webpack://contentfulManagement/./entities/ui-extension.ts","webpack://contentfulManagement/./entities/upload.ts","webpack://contentfulManagement/./entities/usage.ts","webpack://contentfulManagement/./entities/user.ts","webpack://contentfulManagement/./entities/webhook.ts","webpack://contentfulManagement/./error-handler.ts","webpack://contentfulManagement/./instance-actions.ts","webpack://contentfulManagement/external \"assert\"","webpack://contentfulManagement/external \"http\"","webpack://contentfulManagement/external \"https\"","webpack://contentfulManagement/external \"os\"","webpack://contentfulManagement/external \"stream\"","webpack://contentfulManagement/external \"tty\"","webpack://contentfulManagement/external \"url\"","webpack://contentfulManagement/external \"util\"","webpack://contentfulManagement/external \"zlib\""],"names":["wrapCollection","fn","http","data","collectionData","toPlainObject","cloneDeep","items","map","entity","createClient","params","createCMAHttpClient","api","createContentfulApi","defaultParameters","defaultHostname","defaultHostnameUpload","userAgentHeader","getUserAgentHeader","application","integration","feature","requiredHeaders","accessToken","TypeError","headers","createHttpClient","axios","createClientApi","entities","space","wrapSpace","wrapSpaceCollection","wrapUser","user","personalAccessToken","wrapPersonalAccessToken","wrapPersonalAccessTokenCollection","organization","wrapOrganization","wrapOrganizationCollection","wrapUsageCollection","usage","getSpaces","query","get","createRequestConfig","then","response","errorHandler","getSpace","id","createSpace","organizationId","post","getOrganization","baseURL","defaults","replace","org","find","sys","error","Error","JSON","stringify","status","statusText","Promise","reject","getOrganizations","getCurrentUser","createPersonalAccessToken","getPersonalAccessToken","tokenId","getPersonalAccessTokens","getOrganizationUsage","getSpaceUsage","rawRequest","opts","createEnvironmentApi","httpUpload","wrapEnvironment","environment","contentType","wrapContentType","wrapContentTypeCollection","entry","wrapEntry","wrapEntryCollection","asset","wrapAsset","wrapAssetCollection","locale","wrapLocale","wrapLocaleCollection","wrapSnapshotCollection","snapshot","wrapEditorInterface","editorInterface","wrapUpload","upload","uiExtension","wrapUiExtension","wrapUiExtensionCollection","appInstallation","wrapAppInstallation","wrapAppInstallationCollection","createAsset","createUpload","file","uploadResponse","catch","normalizeSelect","select","test","delete","deleteEnvironment","update","updateEnvironment","raw","put","version","getEntryFromData","entryData","getAssetFromData","assetData","getContentType","getContentTypes","createContentType","createContentTypeWithId","getEditorInterfaceForContentType","contentTypeId","getEntry","getEntries","createEntry","createEntryWithId","getAsset","getAssets","createAssetWithId","createAssetFromFiles","fields","all","Object","keys","fileName","uploadFrom","type","linkType","uploads","reduce","fieldsData","getUpload","getLocale","getLocales","createLocale","getUiExtension","getUiExtensions","createUiExtension","createUiExtensionWithId","createAppInstallation","appDefinitionId","getAppInstallation","getAppInstallations","getEntrySnapshots","entryId","getContentTypeSnapshots","createOrganizationApi","appDefinition","wrapAppDefinition","wrapAppDefinitionCollection","wrapUserCollection","organizationMembership","wrapOrganizationMembership","wrapOrganizationMembershipCollection","teamMembership","wrapTeamMembership","wrapTeamMembershipCollection","teamSpaceMembership","wrapTeamSpaceMembership","wrapTeamSpaceMembershipCollection","team","wrapTeam","wrapTeamCollection","spaceMembership","wrapSpaceMembership","wrapSpaceMembershipCollection","wrapOrganizationInvitation","organizationInvitation","getUser","getUsers","getOrganizationMembership","getOrganizationMemberships","createTeam","getTeam","teamId","getTeams","createTeamMembership","getTeamMembership","teamMembershipId","getTeamMemberships","getTeamSpaceMemberships","getTeamSpaceMembership","teamSpaceMembershipId","getOrganizationSpaceMembership","getOrganizationSpaceMemberships","getOrganizationInvitation","invitationId","createOrganizationInvitation","invitationAlphaHeaders","createAppDefinition","getAppDefinitions","getAppDefinition","raiseDeprecationWarning","method","console","warn","join","spaceMembershipDeprecationWarning","createSpaceApi","wrapEnvironmentCollection","webhook","wrapWebhook","wrapWebhookCollection","role","wrapRole","wrapRoleCollection","spaceMember","wrapSpaceMember","wrapSpaceMemberCollection","apiKey","wrapApiKey","wrapApiKeyCollection","previewApiKey","wrapPreviewApiKey","wrapPreviewApiKeyCollection","environmentAlias","wrapEnvironmentAlias","wrapEnvironmentAliasCollection","deleteSpace","updateSpace","getEnvironment","getEnvironments","createEnvironment","createEnvironmentWithId","sourceEnvironmentId","getWebhook","getWebhooks","createWebhook","createWebhookWithId","getRole","getRoles","createRole","createRoleWithId","getSpaceUser","getSpaceUsers","getSpaceMember","getSpaceMembers","getSpaceMembership","getSpaceMemberships","createSpaceMembership","createSpaceMembershipWithId","createTeamSpaceMembership","getApiKey","getApiKeys","getPreviewApiKeys","getPreviewApiKey","createApiKey","createApiKeyWithId","getEnvironmentAlias","getEnvironmentAliases","enhanceWithMethods","baseObject","methodsObject","enhancedObject","methodName","defineProperty","enumerable","configurable","writable","value","createApiKeyApi","self","preview_api_key","policies","createUpdateEntity","entityPath","wrapperMethod","call","createDeleteEntity","apiKeyWithMethods","freezeSys","createAppDefinitionApi","appDefinitionWithMethods","createAppInstallationApi","appInstallationWithMethods","ASSET_PROCESSING_CHECK_WAIT","ASSET_PROCESSING_CHECK_RETRIES","createAssetApi","checkIfAssetHasUrl","resolve","processingCheckWait","processingCheckRetries","checkCount","url","name","message","setTimeout","processForLocale","assetId","processForAllLocales","options","locales","mostUpToDateAssetVersion","undefined","allProcessingLocales","result","publish","createPublishEntity","unpublish","createUnpublishEntity","archive","createArchiveEntity","unarchive","createUnarchiveEntity","isPublished","createPublishedChecker","isUpdated","createUpdatedChecker","isDraft","createDraftChecker","isArchived","createArchivedChecker","assetWithMethods","createContentTypeApi","getEditorInterface","getSnapshots","getSnapshot","snapshotId","wrapSnapshot","omitAndDeleteField","findAndUpdateField","newContentType","key","field","contentTypeWithMethods","createEditorInterfaceApi","getControlForField","fieldId","controls","filter","control","length","editorInterfaceWithMethods","createEntryApi","entryWithMethods","createEnvironmentAliasApi","alias","enhancedAlias","sdkHttp","httpClientParams","hostUpload","environmentScopedHttpClient","cloneWithNewParams","environmentScopedUploadClient","host","environmentApi","enhancedEnvironment","createLocaleApi","default","internal_code","localeWithMethods","invitation","createOrganizationMembershipApi","organizationMembershipWithMethods","orgScopedHttpClient","orgApi","enhancedOrganization","revoke","personalAccessTokenWithMethods","createPreviewApiKeyApi","_http","previewApiKeyWithMethods","createRoleApi","roleWithMethods","createSnapshotApi","snapshotWithMethods","createSpaceMembershipApi","spaceMembershipWithMethods","spaceScopedHttpClient","spaceScopedUploadClient","spaceApi","enhancedSpace","createTeamMembershipApi","teamMembershipWithMethods","createTeamSpaceMembershipApi","teamSpaceMembershipWithMethods","createTeamApi","teamWithMethods","createUiExtensionApi","uiExtensionWithMethods","createUploadApi","uploadWithMethods","wrapUsage","usageWithMethods","userWithMethods","createWebhookApi","getCalls","getCall","getHealth","webhookWithMethods","errorResponse","config","errorName","token","substr","isPlainObject","errorData","details","request","payloadData","requestId","publishedVersion","archivedVersion"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;AClFA,iBAAiB,mBAAO,CAAC,uDAAa,E;;;;;;;;;;;;ACAzB;;AAEb,YAAY,mBAAO,CAAC,sDAAY;AAChC,aAAa,mBAAO,CAAC,kEAAkB;AACvC,oBAAoB,mBAAO,CAAC,8EAAuB;AACnD,eAAe,mBAAO,CAAC,4EAAuB;AAC9C,WAAW,mBAAO,CAAC,kBAAM;AACzB,YAAY,mBAAO,CAAC,oBAAO;AAC3B,iBAAiB,mBAAO,CAAC,mEAAkB;AAC3C,kBAAkB,mBAAO,CAAC,mEAAkB;AAC5C,UAAU,mBAAO,CAAC,gBAAK;AACvB,WAAW,mBAAO,CAAC,kBAAM;AACzB,UAAU,mBAAO,CAAC,gEAAsB;AACxC,kBAAkB,mBAAO,CAAC,0EAAqB;AAC/C,mBAAmB,mBAAO,CAAC,4EAAsB;;AAEjD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,mDAAmD;AAClE;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACtRa;;AAEb,YAAY,mBAAO,CAAC,sDAAY;AAChC,aAAa,mBAAO,CAAC,kEAAkB;AACvC,eAAe,mBAAO,CAAC,4EAAuB;AAC9C,oBAAoB,mBAAO,CAAC,8EAAuB;AACnD,mBAAmB,mBAAO,CAAC,oFAA2B;AACtD,sBAAsB,mBAAO,CAAC,0FAA8B;AAC5D,kBAAkB,mBAAO,CAAC,0EAAqB;;AAE/C;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,mBAAO,CAAC,0EAAsB;;AAElD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACnLa;;AAEb,YAAY,mBAAO,CAAC,mDAAS;AAC7B,WAAW,mBAAO,CAAC,iEAAgB;AACnC,YAAY,mBAAO,CAAC,6DAAc;AAClC,kBAAkB,mBAAO,CAAC,yEAAoB;AAC9C,eAAe,mBAAO,CAAC,yDAAY;;AAEnC;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,eAAe,mBAAO,CAAC,mEAAiB;AACxC,oBAAoB,mBAAO,CAAC,6EAAsB;AAClD,iBAAiB,mBAAO,CAAC,uEAAmB;;AAE5C;AACA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,qEAAkB;;AAEzC;;AAEA;AACA;;;;;;;;;;;;;ACpDa;;AAEb;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;;;;;AClBa;;AAEb,aAAa,mBAAO,CAAC,4DAAU;;AAE/B;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACxDa;;AAEb;AACA;AACA;;;;;;;;;;;;;ACJa;;AAEb,YAAY,mBAAO,CAAC,sDAAY;AAChC,eAAe,mBAAO,CAAC,0EAAqB;AAC5C,yBAAyB,mBAAO,CAAC,kFAAsB;AACvD,sBAAsB,mBAAO,CAAC,4EAAmB;AACjD,kBAAkB,mBAAO,CAAC,oEAAe;;AAEzC;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;;;;;;;;;;;;;AC7Fa;;AAEb,YAAY,mBAAO,CAAC,sDAAY;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;;;;;;ACnDa;;AAEb,oBAAoB,mBAAO,CAAC,oFAA0B;AACtD,kBAAkB,mBAAO,CAAC,gFAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACnBa;;AAEb,mBAAmB,mBAAO,CAAC,sEAAgB;;AAE3C;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,sDAAY;AAChC,oBAAoB,mBAAO,CAAC,wEAAiB;AAC7C,eAAe,mBAAO,CAAC,wEAAoB;AAC3C,eAAe,mBAAO,CAAC,0DAAa;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;;AC9Ea;;AAEb;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACzCa;;AAEb,YAAY,mBAAO,CAAC,oDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;;ACxEa;;AAEb,kBAAkB,mBAAO,CAAC,oEAAe;;AAEzC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACxBa;;AAEb,YAAY,mBAAO,CAAC,sDAAY;;AAEhC;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,MAAM;AACjB,WAAW,eAAe;AAC1B,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,mDAAS;AAC7B,0BAA0B,mBAAO,CAAC,+FAA+B;;AAEjE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,iEAAgB;AACtC,GAAG;AACH;AACA,cAAc,mBAAO,CAAC,mEAAiB;AACvC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,YAAY;AACnB;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;;AChGa;;AAEb;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACVa;;AAEb,YAAY,mBAAO,CAAC,sDAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACtEa;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACba;;AAEb,YAAY,mBAAO,CAAC,sDAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;AAC1C,SAAS;;AAET;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kCAAkC;AAClC,+BAA+B,aAAa,EAAE;AAC9C;AACA;AACA,KAAK;AACL;;;;;;;;;;;;;ACpDa;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACba;;AAEb,YAAY,mBAAO,CAAC,sDAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;;ACnEa;;AAEb,YAAY,mBAAO,CAAC,oDAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACXa;;AAEb,YAAY,mBAAO,CAAC,sDAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,eAAe;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;;ACpDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC1Ba;;AAEb,WAAW,mBAAO,CAAC,iEAAgB;;AAEnC;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,2BAA2B;AAC3B;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gCAAgC;AAChC,KAAK;AACL;AACA;AACA;;AAEA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACvVA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACrB;AAC6B;AACV;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C,+BAA+B;AAC5E;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wCAAwC,SAAS;;AAEjD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,8BAA8B;;AAE9B;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,UAAU,OAAO;AACjB,UAAU,OAAO;AACjB,UAAU,SAAS;AACnB,UAAU,QAAQ;AAClB,UAAU,QAAQ;AAClB,UAAU,QAAQ;AAClB,UAAU,UAAU;AACpB,UAAU,UAAU;AACpB,UAAU,UAAU;AACpB,UAAU,QAAQ;AAClB,UAAU,QAAQ;AAClB,UAAU,UAAU;AACpB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,gCAAgC,mBAAmB;;AAEnD;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yCAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;;AAEA;AACA,oDAAoD,EAAE,uDAAS,aAAa;AAC5E;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,uDAAS;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,QAAQ,2DAAa;AACrB;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,mDAAQ;AACnB,gBAAgB,kDAAO;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,SAAS,OAAO;AACnB;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,uDAAS;AACtB;AACA,GAAG;AACH;;AAE+G;;;;;;;;;;;;AC9f/G;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,mBAAO,CAAC,mDAAS;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;ACjMA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uCAAI;;AAE/B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc;AACd;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa,SAAS;AACtB,4BAA4B;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,aAAa,8BAA8B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;AChOA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,mBAAO,CAAC,0DAAc;AACzC,CAAC;AACD,mBAAmB,mBAAO,CAAC,oDAAW;AACtC;;;;;;;;;;;;ACTA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,gBAAK;AACvB,WAAW,mBAAO,CAAC,kBAAM;;AAEzB;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,mBAAO,CAAC,mDAAS;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,sBAAsB,mBAAO,CAAC,+DAAgB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,2CAA2C,yBAAyB;;AAEpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC,IAAI;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD,EAAE;AACnD,sCAAsC;;AAEtC;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzLA,UAAU,mBAAO,CAAC,gBAAK;AACvB,WAAW,mBAAO,CAAC,kBAAM;AACzB,YAAY,mBAAO,CAAC,oBAAO;AAC3B,aAAa,mBAAO,CAAC,sBAAQ;AAC7B,eAAe,mBAAO,CAAC,sBAAQ;AAC/B,YAAY,mBAAO,CAAC,iDAAO;;AAE3B;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,iCAAiC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,sBAAsB,uCAAuC,EAAE;AAC/D,GAAG;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,uBAAuB,2BAA2B;AAClD;;;;;;;;;;;;;ACjUa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACPA,gBAAgB,mBAAO,CAAC,0DAAc;AACtC,iBAAiB,mBAAO,CAAC,4DAAe;AACxC,cAAc,mBAAO,CAAC,sDAAY;AAClC,cAAc,mBAAO,CAAC,sDAAY;AAClC,cAAc,mBAAO,CAAC,sDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/BA,qBAAqB,mBAAO,CAAC,oEAAmB;AAChD,sBAAsB,mBAAO,CAAC,sEAAoB;AAClD,mBAAmB,mBAAO,CAAC,gEAAiB;AAC5C,mBAAmB,mBAAO,CAAC,gEAAiB;AAC5C,mBAAmB,mBAAO,CAAC,gEAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;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O,CAAC,gDAAS;AAC7B,WAAW,mBAAO,CAAC,8CAAQ;;AAE3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;;;;;ACpKA,eAAe,mBAAO,CAAC,sDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;AC7BA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACZA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA,yDAAW,mBAAO,CAAC,gDAAS;;AAE5B;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;;AClCA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,kBAAkB,mBAAO,CAAC,8DAAgB;AAC1C,sBAAsB,mBAAO,CAAC,sEAAoB;;AAElD;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO,WAAW;AAC7B,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACvCA,iBAAiB,mBAAO,CAAC,4DAAe;AACxC,iBAAiB,mBAAO,CAAC,4DAAe;;AAExC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO,WAAW;AAC7B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,4DAAe;AACxC,mBAAmB,mBAAO,CAAC,gEAAiB;;AAE5C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO,WAAW;AAC7B,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,gBAAgB,mBAAO,CAAC,0DAAc;;AAEtC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,GAAG;AACH,CAAC;;AAED;;;;;;;;;;;;ACVA;AACA;;AAEA;;;;;;;;;;;;ACHA,cAAc,mBAAO,CAAC,sDAAY;;AAElC;AACA;;AAEA;;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA,gBAAgB,mBAAO,CAAC,0DAAc;;AAEtC;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACZA,cAAc,mBAAO,CAAC,sDAAY;;AAElC;AACA;;AAEA;;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA,mBAAmB,mBAAO,CAAC,gEAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChBA,mBAAmB,mBAAO,CAAC,gEAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7BA,mBAAmB,mBAAO,CAAC,gEAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA,mBAAmB,mBAAO,CAAC,gEAAiB;;AAE5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA,iBAAiB,mBAAO,CAAC,4DAAe;AACxC,mBAAmB,mBAAO,CAAC,gEAAiB;AAC5C,kBAAkB,mBAAO,CAAC,8DAAgB;;AAE1C;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACZA,mBAAmB,mBAAO,CAAC,gEAAiB;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AClCA,mBAAmB,mBAAO,CAAC,gEAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;AClBA,mBAAmB,mBAAO,CAAC,gEAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,mBAAmB,mBAAO,CAAC,gEAAiB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA,WAAW,mBAAO,CAAC,gDAAS;AAC5B,gBAAgB,mBAAO,CAAC,0DAAc;AACtC,UAAU,mBAAO,CAAC,8CAAQ;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpBA,iBAAiB,mBAAO,CAAC,4DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,iBAAiB,mBAAO,CAAC,4DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,4DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACfA,iBAAiB,mBAAO,CAAC,4DAAe;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA,gBAAgB,mBAAO,CAAC,0DAAc;;AAEtC;AACA;;AAEA;;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,4DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACRA,gBAAgB,mBAAO,CAAC,0DAAc;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACbA,gBAAgB,mBAAO,CAAC,0DAAc;AACtC,UAAU,mBAAO,CAAC,8CAAQ;AAC1B,eAAe,mBAAO,CAAC,wDAAa;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjCA,gBAAgB,mBAAO,CAAC,0DAAc;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA;AACA,mBAAmB,SAAS,GAAG,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpCA,cAAc,mBAAO,CAAC,sDAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,4DAAe;AACxC,mBAAmB,mBAAO,CAAC,gEAAiB;AAC5C,mBAAmB,mBAAO,CAAC,8DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjBA,cAAc,mBAAO,CAAC,sDAAY;;AAElC;AACA;;AAEA;;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACvJa;;AAEb;AACA;;AAEA,WAAW,mBAAO,CAAC,gDAAS;;AAE5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;ACzBa;;AAEb,gBAAgB,mBAAO,CAAC,wDAAa;AACrC,YAAY,mBAAO,CAAC,gDAAS;AAC7B,cAAc,mBAAO,CAAC,oDAAW;;AAEjC;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACVa;;AAEb,YAAY,mBAAO,CAAC,gDAAS;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC,gCAAgC;;AAExE;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA,eAAe,kBAAkB;AACjC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,kCAAkC,QAAQ;AAC1C;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,uBAAuB;AACvB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA,mBAAmB;AACnB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;AChQa;;AAEb,YAAY,mBAAO,CAAC,gDAAS;AAC7B,cAAc,mBAAO,CAAC,oDAAW;AACjC;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,mBAAmB,oBAAoB;AACvC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,oBAAoB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;AC9Qa;;AAEb;AACA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA,2BAA2B,gBAAgB;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,iDAAiD,EAAE;AACnD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,kDAAkD,EAAE;AACpD;AACA,SAAS;AACT;;AAEA;AACA,mBAAmB,mBAAmB;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,OAAO,WAAW,aAAa;AACjD;;AAEA,mBAAmB,kBAAkB;AACrC;AACA;;AAEA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACvPa;AACb,WAAW,mBAAO,CAAC,cAAI;AACvB,gBAAgB,mBAAO,CAAC,mDAAU;;AAElC;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iCAAiC,GAAG;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;ACrBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAEA;AAGO,MAAMA,cAAc,GAAUC,EAAP,IAAqD,CACjFC,IADiF,EAEjFC,IAFiF,KAG5D;AACrB,QAAMC,cAAc,GAAGC,yEAAa,CAACC,uDAAS,CAACH,IAAD,CAAV,CAApC,CADqB,CAErB;;AACAC,gBAAc,CAACG,KAAf,GAAuBH,cAAc,CAACG,KAAf,CAAqBC,GAArB,CAA0BC,MAAD,IAAYR,EAAE,CAACC,IAAD,EAAOO,MAAP,CAAvC,CAAvB,CAHqB,CAIrB;;AACA,SAAOL,cAAP;AACD,CATM,C;;;;;;;;;;;;ACPP;AAAA;AAAA;AAAA;AA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","file":"contentful-management.node.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildFullPath = require('../core/buildFullPath');\nvar buildURL = require('./../helpers/buildURL');\nvar http = require('http');\nvar https = require('https');\nvar httpFollow = require('follow-redirects').http;\nvar httpsFollow = require('follow-redirects').https;\nvar url = require('url');\nvar zlib = require('zlib');\nvar pkg = require('./../../package.json');\nvar createError = require('../core/createError');\nvar enhanceError = require('../core/enhanceError');\n\nvar isHttps = /https:?/;\n\n/*eslint consistent-return:0*/\nmodule.exports = function httpAdapter(config) {\n return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) {\n var resolve = function resolve(value) {\n resolvePromise(value);\n };\n var reject = function reject(value) {\n rejectPromise(value);\n };\n var data = config.data;\n var headers = config.headers;\n\n // Set User-Agent (required by some servers)\n // Only set header if it hasn't been set in config\n // See https://github.com/axios/axios/issues/69\n if (!headers['User-Agent'] && !headers['user-agent']) {\n headers['User-Agent'] = 'axios/' + pkg.version;\n }\n\n if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(createError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers['Content-Length'] = data.length;\n }\n\n // HTTP basic authentication\n var auth = undefined;\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n // Parse url\n var fullPath = buildFullPath(config.baseURL, config.url);\n var parsed = url.parse(fullPath);\n var protocol = parsed.protocol || 'http:';\n\n if (!auth && parsed.auth) {\n var urlAuth = parsed.auth.split(':');\n var urlUsername = urlAuth[0] || '';\n var urlPassword = urlAuth[1] || '';\n auth = urlUsername + ':' + urlPassword;\n }\n\n if (auth) {\n delete headers.Authorization;\n }\n\n var isHttpsRequest = isHttps.test(protocol);\n var agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n\n var options = {\n path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\\?/, ''),\n method: config.method.toUpperCase(),\n headers: headers,\n agent: agent,\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth: auth\n };\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname;\n options.port = parsed.port;\n }\n\n var proxy = config.proxy;\n if (!proxy && proxy !== false) {\n var proxyEnv = protocol.slice(0, -1) + '_proxy';\n var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()];\n if (proxyUrl) {\n var parsedProxyUrl = url.parse(proxyUrl);\n var noProxyEnv = process.env.no_proxy || process.env.NO_PROXY;\n var shouldProxy = true;\n\n if (noProxyEnv) {\n var noProxy = noProxyEnv.split(',').map(function trim(s) {\n return s.trim();\n });\n\n shouldProxy = !noProxy.some(function proxyMatch(proxyElement) {\n if (!proxyElement) {\n return false;\n }\n if (proxyElement === '*') {\n return true;\n }\n if (proxyElement[0] === '.' &&\n parsed.hostname.substr(parsed.hostname.length - proxyElement.length) === proxyElement) {\n return true;\n }\n\n return parsed.hostname === proxyElement;\n });\n }\n\n\n if (shouldProxy) {\n proxy = {\n host: parsedProxyUrl.hostname,\n port: parsedProxyUrl.port\n };\n\n if (parsedProxyUrl.auth) {\n var proxyUrlAuth = parsedProxyUrl.auth.split(':');\n proxy.auth = {\n username: proxyUrlAuth[0],\n password: proxyUrlAuth[1]\n };\n }\n }\n }\n }\n\n if (proxy) {\n options.hostname = proxy.host;\n options.host = proxy.host;\n options.headers.host = parsed.hostname + (parsed.port ? ':' + parsed.port : '');\n options.port = proxy.port;\n options.path = protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path;\n\n // Basic proxy authorization\n if (proxy.auth) {\n var base64 = Buffer.from(proxy.auth.username + ':' + proxy.auth.password, 'utf8').toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n }\n\n var transport;\n var isHttpsProxy = isHttpsRequest && (proxy ? isHttps.test(proxy.protocol) : true);\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsProxy ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n transport = isHttpsProxy ? httpsFollow : httpFollow;\n }\n\n if (config.maxContentLength && config.maxContentLength > -1) {\n options.maxBodyLength = config.maxContentLength;\n }\n\n // Create the request\n var req = transport.request(options, function handleResponse(res) {\n if (req.aborted) return;\n\n // uncompress the response body transparently if required\n var stream = res;\n switch (res.headers['content-encoding']) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'compress':\n case 'deflate':\n // add the unzipper to the body stream processing pipeline\n stream = (res.statusCode === 204) ? stream : stream.pipe(zlib.createUnzip());\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n }\n\n // return the last request in case of redirects\n var lastRequest = res.req || req;\n\n var response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: res.headers,\n config: config,\n request: lastRequest\n };\n\n if (config.responseType === 'stream') {\n response.data = stream;\n settle(resolve, reject, response);\n } else {\n var responseBuffer = [];\n stream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && Buffer.concat(responseBuffer).length > config.maxContentLength) {\n stream.destroy();\n reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n config, null, lastRequest));\n }\n });\n\n stream.on('error', function handleStreamError(err) {\n if (req.aborted) return;\n reject(enhanceError(err, config, null, lastRequest));\n });\n\n stream.on('end', function handleStreamEnd() {\n var responseData = Buffer.concat(responseBuffer);\n if (config.responseType !== 'arraybuffer') {\n responseData = responseData.toString(config.responseEncoding);\n }\n\n response.data = responseData;\n settle(resolve, reject, response);\n });\n }\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n if (req.aborted) return;\n reject(enhanceError(err, config, null, req));\n });\n\n // Handle request timeout\n if (config.timeout) {\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devoring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(config.timeout, function handleRequestTimeout() {\n req.abort();\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', req));\n });\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (req.aborted) return;\n\n req.abort();\n reject(cancel);\n });\n }\n\n // Send the request\n if (utils.isStream(data)) {\n data.on('error', function handleStreamError(err) {\n reject(enhanceError(err, config, null, req));\n }).pipe(req);\n } else {\n req.end(data);\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n var defaultToConfig2Keys = [\n 'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',\n 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath'\n ];\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys);\n\n var otherKeys = Object\n .keys(config2)\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};\n","import cloneDeep from 'lodash/cloneDeep';\nimport qs from 'qs';\nimport isPlainObject from 'lodash/isPlainObject';\nimport { platform, release } from 'os';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar attempts = {};\nvar networkErrorAttempts = 0;\nfunction rateLimit(instance) {\n var maxRetry = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;\n var _instance$defaults = instance.defaults,\n _instance$defaults$re = _instance$defaults.responseLogger,\n responseLogger = _instance$defaults$re === void 0 ? function () {\n return undefined;\n } : _instance$defaults$re,\n _instance$defaults$re2 = _instance$defaults.requestLogger,\n requestLogger = _instance$defaults$re2 === void 0 ? function () {\n return undefined;\n } : _instance$defaults$re2;\n instance.interceptors.request.use(function (config) {\n requestLogger(config);\n return config;\n }, function (error) {\n return Promise.reject(error);\n });\n instance.interceptors.response.use(function (response) {\n // we don't need to do anything here\n responseLogger(response);\n return response;\n }, function (error) {\n var response = error.response,\n config = error.config; // Do not retry if it is disabled or no request config exists (not an axios error)\n\n if (!config || !instance.defaults.retryOnError) {\n return Promise.reject(error);\n }\n\n var retryErrorType = null;\n var wait = 0; // Errors without response did not recieve anything from the server\n\n if (!response) {\n retryErrorType = 'Connection';\n networkErrorAttempts++;\n\n if (networkErrorAttempts > maxRetry) {\n error.attempts = networkErrorAttempts;\n return Promise.reject(error);\n }\n\n wait = Math.pow(Math.SQRT2, networkErrorAttempts);\n response = {};\n } else {\n networkErrorAttempts = 0;\n }\n\n if (response.status >= 500 && response.status < 600) {\n // 5** errors are server related\n retryErrorType = \"Server \".concat(response.status);\n var headers = response.headers || {};\n var requestId = headers['x-contentful-request-id'] || null;\n attempts[requestId] = attempts[requestId] || 0;\n attempts[requestId]++; // we reject if there are too many errors with the same request id or request id is not defined\n\n if (attempts[requestId] > maxRetry || !requestId) {\n error.attempts = attempts[requestId];\n return Promise.reject(error);\n }\n\n wait = Math.pow(Math.SQRT2, attempts[requestId]);\n } else if (response.status === 429) {\n // 429 errors are exceeded rate limit exceptions\n retryErrorType = 'Rate limit'; // all headers are lowercased by axios https://github.com/mzabriskie/axios/issues/413\n\n if (response.headers && error.response.headers['x-contentful-ratelimit-reset']) {\n wait = response.headers['x-contentful-ratelimit-reset'];\n }\n }\n\n var delay = function delay(ms) {\n return new Promise(function (resolve) {\n setTimeout(resolve, ms);\n });\n };\n\n if (retryErrorType) {\n // convert to ms and add jitter\n wait = Math.floor(wait * 1000 + Math.random() * 200 + 500);\n instance.defaults.logHandler('warning', \"\".concat(retryErrorType, \" error occurred. Waiting for \").concat(wait, \" ms before retrying...\"));\n /* Somehow between the interceptor and retrying the request the httpAgent/httpsAgent gets transformed from an Agent-like object\n to a regular object, causing failures on retries after rate limits. Removing these properties here fixes the error, but retry\n requests still use the original http/httpsAgent property */\n\n delete config.httpAgent;\n delete config.httpsAgent;\n return delay(wait).then(function () {\n return instance(config);\n });\n }\n\n return Promise.reject(error);\n });\n}\n\nfunction isNode() {\n /**\n * Polyfills of 'process' might set process.browser === true\n *\n * See:\n * https://github.com/webpack/node-libs-browser/blob/master/mock/process.js#L8\n * https://github.com/defunctzombie/node-process/blob/master/browser.js#L156\n **/\n return typeof process !== 'undefined' && !process.browser;\n}\nfunction getNodeVersion() {\n return process.versions && process.versions.node ? \"v\".concat(process.versions.node) : process.version;\n}\n\n// Also enforces toplevel domain specified, no spaces and no protocol\n\nvar HOST_REGEX = /^(?!\\w+:\\/\\/)([^\\s:]+\\.?[^\\s:]+)(?::(\\d+))?(?!:)$/;\n/**\n * Create pre configured axios instance\n * @private\n * @param {Object} axios - Axios library\n * @param {Object} httpClientParams - Initialization parameters for the HTTP client\n * @prop {string} space - Space ID\n * @prop {string} accessToken - Access Token\n * @prop {boolean=} insecure - If we should use http instead\n * @prop {string=} host - Alternate host\n * @prop {Object=} httpAgent - HTTP agent for node\n * @prop {Object=} httpsAgent - HTTPS agent for node\n * @prop {function=} adapter - Axios adapter to handle requests\n * @prop {function=} requestLogger - Gets called on every request triggered by the SDK, takes the axios request config as an argument\n * @prop {function=} responseLogger - Gets called on every response, takes axios response object as an argument\n * @prop {Object=} proxy - Axios proxy config\n * @prop {Object=} headers - Additional headers\n * @prop {function=} logHandler - A log handler function to process given log messages & errors. Receives the log level (error, warning & info) and the actual log data (Error object or string). (Default can be found here: https://github.com/contentful/contentful-sdk-core/blob/master/lib/create-http-client.js)\n * @return {Object} Initialized axios instance\n */\n\nfunction createHttpClient(axios, options) {\n var defaultConfig = {\n insecure: false,\n retryOnError: true,\n logHandler: function logHandler(level, data) {\n if (level === 'error' && data) {\n var title = [data.name, data.message].filter(function (a) {\n return a;\n }).join(' - ');\n console.error(\"[error] \".concat(title));\n console.error(data);\n return;\n }\n\n console.log(\"[\".concat(level, \"] \").concat(data));\n },\n // Passed to axios\n headers: {},\n httpAgent: false,\n httpsAgent: false,\n timeout: 30000,\n proxy: false,\n basePath: '',\n adapter: false,\n maxContentLength: 1073741824 // 1GB\n\n };\n\n var config = _objectSpread2({}, defaultConfig, {}, options);\n\n if (!config.accessToken) {\n var missingAccessTokenError = new TypeError('Expected parameter accessToken');\n config.logHandler('error', missingAccessTokenError);\n throw missingAccessTokenError;\n } // Construct axios baseURL option\n\n\n var protocol = config.insecure ? 'http' : 'https';\n var space = config.space ? \"\".concat(config.space, \"/\") : '';\n var hostname = config.defaultHostname;\n var port = config.insecure ? 80 : 443;\n\n if (config.host && HOST_REGEX.test(config.host)) {\n var parsed = config.host.split(':');\n\n if (parsed.length === 2) {\n var _parsed = _slicedToArray(parsed, 2);\n\n hostname = _parsed[0];\n port = _parsed[1];\n } else {\n hostname = parsed[0];\n }\n } // Ensure that basePath does start but not end with a slash\n\n\n if (config.basePath) {\n config.basePath = \"/\".concat(config.basePath.split('/').filter(Boolean).join('/'));\n }\n\n var baseURL = options.baseURL || \"\".concat(protocol, \"://\").concat(hostname, \":\").concat(port).concat(config.basePath, \"/spaces/\").concat(space);\n\n if (!config.headers['Authorization']) {\n config.headers['Authorization'] = 'Bearer ' + config.accessToken;\n } // Set these headers only for node because browsers don't like it when you\n // override user-agent or accept-encoding.\n // The SDKs should set their own X-Contentful-User-Agent.\n\n\n if (isNode()) {\n config.headers['user-agent'] = 'node.js/' + getNodeVersion();\n config.headers['Accept-Encoding'] = 'gzip';\n }\n\n var axiosOptions = {\n // Axios\n baseURL: baseURL,\n headers: config.headers,\n httpAgent: config.httpAgent,\n httpsAgent: config.httpsAgent,\n paramsSerializer: qs.stringify,\n proxy: config.proxy,\n timeout: config.timeout,\n adapter: config.adapter,\n maxContentLength: config.maxContentLength,\n // Contentful\n logHandler: config.logHandler,\n responseLogger: config.responseLogger,\n requestLogger: config.requestLogger,\n retryOnError: config.retryOnError\n };\n var instance = axios.create(axiosOptions);\n instance.httpClientParams = options;\n /**\n * Creates a new axios instance with the same default base parameters as the\n * current one, and with any overrides passed to the newParams object\n * This is useful as the SDKs use dependency injection to get the axios library\n * and the version of the library comes from different places depending\n * on whether it's a browser build or a node.js build.\n * @private\n * @param {Object} httpClientParams - Initialization parameters for the HTTP client\n * @return {Object} Initialized axios instance\n */\n\n instance.cloneWithNewParams = function (newParams) {\n return createHttpClient(axios, _objectSpread2({}, cloneDeep(options), {}, newParams));\n };\n\n rateLimit(instance, config.retryLimit);\n return instance;\n}\n\n/**\n * Creates request parameters configuration by parsing an existing query object\n * @private\n * @param {Object} query\n * @return {Object} Config object with `params` property, ready to be used in axios\n */\n\nfunction createRequestConfig(_ref) {\n var query = _ref.query;\n var config = {};\n delete query.resolveLinks;\n config.params = cloneDeep(query);\n return config;\n}\n\nfunction enforceObjPath(obj, path) {\n if (!(path in obj)) {\n var err = new Error();\n err.name = 'PropertyMissing';\n err.message = \"Required property \".concat(path, \" missing from:\\n\\n\").concat(JSON.stringify(obj), \"\\n\\n\");\n throw err;\n }\n\n return true;\n}\n\nfunction freezeObjectDeep(obj) {\n Object.keys(obj).forEach(function (key) {\n var value = obj[key];\n\n if (isPlainObject(value)) {\n freezeObjectDeep(value);\n }\n });\n return Object.freeze(obj);\n}\n\nfunction freezeSys(obj) {\n freezeObjectDeep(obj.sys || {});\n return obj;\n}\n\nfunction isReactNative() {\n return typeof window !== 'undefined' && 'navigator' in window && 'product' in window.navigator && window.navigator.product === 'ReactNative';\n}\n\nfunction getBrowserOS() {\n if (!window) {\n return null;\n }\n\n var userAgent = window.navigator.userAgent;\n var platform = window.navigator.platform;\n var macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'];\n var windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'];\n var iosPlatforms = ['iPhone', 'iPad', 'iPod'];\n var os = null;\n\n if (macosPlatforms.indexOf(platform) !== -1) {\n os = 'macOS';\n } else if (iosPlatforms.indexOf(platform) !== -1) {\n os = 'iOS';\n } else if (windowsPlatforms.indexOf(platform) !== -1) {\n os = 'Windows';\n } else if (/Android/.test(userAgent)) {\n os = 'Android';\n } else if (/Linux/.test(platform)) {\n os = 'Linux';\n }\n\n return os;\n}\n\nfunction getNodeOS() {\n var os = platform() || 'linux';\n var version = release() || '0.0.0';\n var osMap = {\n android: 'Android',\n aix: 'Linux',\n darwin: 'macOS',\n freebsd: 'Linux',\n linux: 'Linux',\n openbsd: 'Linux',\n sunos: 'Linux',\n win32: 'Windows'\n };\n\n if (os in osMap) {\n return \"\".concat(osMap[os] || 'Linux', \"/\").concat(version);\n }\n\n return null;\n}\n\nfunction getUserAgentHeader(sdk, application, integration, feature) {\n var headerParts = [];\n\n if (application) {\n headerParts.push(\"app \".concat(application));\n }\n\n if (integration) {\n headerParts.push(\"integration \".concat(integration));\n }\n\n if (feature) {\n headerParts.push('feature ' + feature);\n }\n\n headerParts.push(\"sdk \".concat(sdk));\n var os = null;\n\n try {\n if (isReactNative()) {\n os = getBrowserOS();\n headerParts.push('platform ReactNative');\n } else if (isNode()) {\n os = getNodeOS();\n headerParts.push(\"platform node.js/\".concat(getNodeVersion()));\n } else {\n os = getBrowserOS();\n headerParts.push(\"platform browser\");\n }\n } catch (e) {\n os = null;\n }\n\n if (os) {\n headerParts.push(\"os \".concat(os));\n }\n\n return \"\".concat(headerParts.filter(function (item) {\n return item !== '';\n }).join('; '), \";\");\n}\n\n/**\n * Mixes in a method to return just a plain object with no additional methods\n * @private\n * @param {Object} data - Any plain JSON response returned from the API\n * @return {Object} Enhanced object with toPlainObject method\n */\n\nfunction toPlainObject(data) {\n return Object.defineProperty(data, 'toPlainObject', {\n enumerable: false,\n configurable: false,\n writable: false,\n value: function value() {\n return cloneDeep(this);\n }\n });\n}\n\nexport { createHttpClient, createRequestConfig, enforceObjPath, freezeSys, getUserAgentHeader, toPlainObject };\n","/**\n * This is the web browser implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = 'undefined' != typeof chrome\n && 'undefined' != typeof chrome.storage\n ? chrome.storage.local\n : localstorage();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC',\n '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF',\n '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC',\n '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF',\n '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC',\n '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033',\n '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366',\n '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933',\n '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC',\n '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF',\n '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\nfunction useColors() {\n // NB: In an Electron preload script, document will be defined but not fully\n // initialized. Since we know we're in Chrome, we'll just detect this case\n // explicitly\n if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {\n return true;\n }\n\n // Internet Explorer and Edge do not support colors.\n if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n return false;\n }\n\n // is webkit? http://stackoverflow.com/a/16459606/376773\n // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n // is firebug? http://stackoverflow.com/a/398120/376773\n (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n // is firefox >= v31?\n // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n // double check webkit in userAgent just in case we are in a worker\n (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nexports.formatters.j = function(v) {\n try {\n return JSON.stringify(v);\n } catch (err) {\n return '[UnexpectedJSONParseError]: ' + err.message;\n }\n};\n\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var useColors = this.useColors;\n\n args[0] = (useColors ? '%c' : '')\n + this.namespace\n + (useColors ? ' %c' : ' ')\n + args[0]\n + (useColors ? '%c ' : ' ')\n + '+' + exports.humanize(this.diff);\n\n if (!useColors) return;\n\n var c = 'color: ' + this.color;\n args.splice(1, 0, c, 'color: inherit')\n\n // the final \"%c\" is somewhat tricky, because there could be other\n // arguments passed either before or after the %c, so we need to\n // figure out the correct index to insert the CSS into\n var index = 0;\n var lastC = 0;\n args[0].replace(/%[a-zA-Z%]/g, function(match) {\n if ('%%' === match) return;\n index++;\n if ('%c' === match) {\n // we only are interested in the *last* %c\n // (the user may have provided their own)\n lastC = index;\n }\n });\n\n args.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.log()` when available.\n * No-op when `console.log` is not a \"function\".\n *\n * @api public\n */\n\nfunction log() {\n // this hackery is required for IE8/9, where\n // the `console.log` function doesn't have 'apply'\n return 'object' === typeof console\n && console.log\n && Function.prototype.apply.call(console.log, console, arguments);\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n try {\n if (null == namespaces) {\n exports.storage.removeItem('debug');\n } else {\n exports.storage.debug = namespaces;\n }\n } catch(e) {}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n var r;\n try {\n r = exports.storage.debug;\n } catch(e) {}\n\n // If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n if (!r && typeof process !== 'undefined' && 'env' in process) {\n r = process.env.DEBUG;\n }\n\n return r;\n}\n\n/**\n * Enable namespaces listed in `localStorage.debug` initially.\n */\n\nexports.enable(load());\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n try {\n return window.localStorage;\n } catch (e) {}\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = createDebug.debug = createDebug['default'] = createDebug;\nexports.coerce = coerce;\nexports.disable = disable;\nexports.enable = enable;\nexports.enabled = enabled;\nexports.humanize = require('ms');\n\n/**\n * Active `debug` instances.\n */\nexports.instances = [];\n\n/**\n * The currently active debug mode names, and names to skip.\n */\n\nexports.names = [];\nexports.skips = [];\n\n/**\n * Map of special \"%n\" handling functions, for the debug \"format\" argument.\n *\n * Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n */\n\nexports.formatters = {};\n\n/**\n * Select a color.\n * @param {String} namespace\n * @return {Number}\n * @api private\n */\n\nfunction selectColor(namespace) {\n var hash = 0, i;\n\n for (i in namespace) {\n hash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n\n return exports.colors[Math.abs(hash) % exports.colors.length];\n}\n\n/**\n * Create a debugger with the given `namespace`.\n *\n * @param {String} namespace\n * @return {Function}\n * @api public\n */\n\nfunction createDebug(namespace) {\n\n var prevTime;\n\n function debug() {\n // disabled?\n if (!debug.enabled) return;\n\n var self = debug;\n\n // set `diff` timestamp\n var curr = +new Date();\n var ms = curr - (prevTime || curr);\n self.diff = ms;\n self.prev = prevTime;\n self.curr = curr;\n prevTime = curr;\n\n // turn the `arguments` into a proper Array\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n args[0] = exports.coerce(args[0]);\n\n if ('string' !== typeof args[0]) {\n // anything else let's inspect with %O\n args.unshift('%O');\n }\n\n // apply any `formatters` transformations\n var index = 0;\n args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {\n // if we encounter an escaped % then don't increase the array index\n if (match === '%%') return match;\n index++;\n var formatter = exports.formatters[format];\n if ('function' === typeof formatter) {\n var val = args[index];\n match = formatter.call(self, val);\n\n // now we need to remove `args[index]` since it's inlined in the `format`\n args.splice(index, 1);\n index--;\n }\n return match;\n });\n\n // apply env-specific formatting (colors, etc.)\n exports.formatArgs.call(self, args);\n\n var logFn = debug.log || exports.log || console.log.bind(console);\n logFn.apply(self, args);\n }\n\n debug.namespace = namespace;\n debug.enabled = exports.enabled(namespace);\n debug.useColors = exports.useColors();\n debug.color = selectColor(namespace);\n debug.destroy = destroy;\n\n // env-specific initialization logic for debug instances\n if ('function' === typeof exports.init) {\n exports.init(debug);\n }\n\n exports.instances.push(debug);\n\n return debug;\n}\n\nfunction destroy () {\n var index = exports.instances.indexOf(this);\n if (index !== -1) {\n exports.instances.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\n\nfunction enable(namespaces) {\n exports.save(namespaces);\n\n exports.names = [];\n exports.skips = [];\n\n var i;\n var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n var len = split.length;\n\n for (i = 0; i < len; i++) {\n if (!split[i]) continue; // ignore empty strings\n namespaces = split[i].replace(/\\*/g, '.*?');\n if (namespaces[0] === '-') {\n exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));\n } else {\n exports.names.push(new RegExp('^' + namespaces + '$'));\n }\n }\n\n for (i = 0; i < exports.instances.length; i++) {\n var instance = exports.instances[i];\n instance.enabled = exports.enabled(instance.namespace);\n }\n}\n\n/**\n * Disable debug output.\n *\n * @api public\n */\n\nfunction disable() {\n exports.enable('');\n}\n\n/**\n * Returns true if the given mode name is enabled, false otherwise.\n *\n * @param {String} name\n * @return {Boolean}\n * @api public\n */\n\nfunction enabled(name) {\n if (name[name.length - 1] === '*') {\n return true;\n }\n var i, len;\n for (i = 0, len = exports.skips.length; i < len; i++) {\n if (exports.skips[i].test(name)) {\n return false;\n }\n }\n for (i = 0, len = exports.names.length; i < len; i++) {\n if (exports.names[i].test(name)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Coerce `val`.\n *\n * @param {Mixed} val\n * @return {Mixed}\n * @api private\n */\n\nfunction coerce(val) {\n if (val instanceof Error) return val.stack || val.message;\n return val;\n}\n","/**\n * Detect Electron renderer process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer') {\n module.exports = require('./browser.js');\n} else {\n module.exports = require('./node.js');\n}\n","/**\n * Module dependencies.\n */\n\nvar tty = require('tty');\nvar util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n *\n * Expose `debug()` as the module.\n */\n\nexports = module.exports = require('./debug');\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\n\n/**\n * Colors.\n */\n\nexports.colors = [ 6, 2, 3, 4, 5, 1 ];\n\ntry {\n var supportsColor = require('supports-color');\n if (supportsColor && supportsColor.level >= 2) {\n exports.colors = [\n 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68,\n 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134,\n 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,\n 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204,\n 205, 206, 207, 208, 209, 214, 215, 220, 221\n ];\n }\n} catch (err) {\n // swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(function (key) {\n return /^debug_/i.test(key);\n}).reduce(function (obj, key) {\n // camel-case\n var prop = key\n .substring(6)\n .toLowerCase()\n .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() });\n\n // coerce string value into JS value\n var val = process.env[key];\n if (/^(yes|on|true|enabled)$/i.test(val)) val = true;\n else if (/^(no|off|false|disabled)$/i.test(val)) val = false;\n else if (val === 'null') val = null;\n else val = Number(val);\n\n obj[prop] = val;\n return obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n return 'colors' in exports.inspectOpts\n ? Boolean(exports.inspectOpts.colors)\n : tty.isatty(process.stderr.fd);\n}\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nexports.formatters.o = function(v) {\n this.inspectOpts.colors = this.useColors;\n return util.inspect(v, this.inspectOpts)\n .split('\\n').map(function(str) {\n return str.trim()\n }).join(' ');\n};\n\n/**\n * Map %o to `util.inspect()`, allowing multiple lines if needed.\n */\n\nexports.formatters.O = function(v) {\n this.inspectOpts.colors = this.useColors;\n return util.inspect(v, this.inspectOpts);\n};\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n var name = this.namespace;\n var useColors = this.useColors;\n\n if (useColors) {\n var c = this.color;\n var colorCode = '\\u001b[3' + (c < 8 ? c : '8;5;' + c);\n var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\\u001b[0m';\n\n args[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\\u001b[0m');\n } else {\n args[0] = getDate() + name + ' ' + args[0];\n }\n}\n\nfunction getDate() {\n if (exports.inspectOpts.hideDate) {\n return '';\n } else {\n return new Date().toISOString() + ' ';\n }\n}\n\n/**\n * Invokes `util.format()` with the specified arguments and writes to stderr.\n */\n\nfunction log() {\n return process.stderr.write(util.format.apply(util, arguments) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\n\nfunction save(namespaces) {\n if (null == namespaces) {\n // If you set a process.env field to null or undefined, it gets cast to the\n // string 'null' or 'undefined'. Just delete instead.\n delete process.env.DEBUG;\n } else {\n process.env.DEBUG = namespaces;\n }\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n return process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init (debug) {\n debug.inspectOpts = {};\n\n var keys = Object.keys(exports.inspectOpts);\n for (var i = 0; i < keys.length; i++) {\n debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n }\n}\n\n/**\n * Enable namespaces listed in `process.env.DEBUG` initially.\n */\n\nexports.enable(load());\n","var url = require(\"url\");\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar assert = require(\"assert\");\nvar Writable = require(\"stream\").Writable;\nvar debug = require(\"debug\")(\"follow-redirects\");\n\n// RFC7231§4.2.1: Of the request methods defined by this specification,\n// the GET, HEAD, OPTIONS, and TRACE methods are defined to be safe.\nvar SAFE_METHODS = { GET: true, HEAD: true, OPTIONS: true, TRACE: true };\n\n// Create handlers that pass events from native requests\nvar eventHandlers = Object.create(null);\n[\"abort\", \"aborted\", \"error\", \"socket\", \"timeout\"].forEach(function (event) {\n eventHandlers[event] = function (arg) {\n this._redirectable.emit(event, arg);\n };\n});\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n options.headers = options.headers || {};\n this._options = options;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n self._processResponse(response);\n };\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Validate input and shift parameters if necessary\n if (!(typeof data === \"string\" || typeof data === \"object\" && (\"length\" in data))) {\n throw new Error(\"data should be a string, Buffer or Uint8Array\");\n }\n if (typeof encoding === \"function\") {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new Error(\"Request body larger than maxBodyLength limit\"));\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (typeof data === \"function\") {\n callback = data;\n data = encoding = null;\n }\n else if (typeof encoding === \"function\") {\n callback = encoding;\n encoding = null;\n }\n\n // Write data and end\n var currentRequest = this._currentRequest;\n this.write(data || \"\", encoding, function () {\n currentRequest.end(null, null, callback);\n });\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Proxy all other public ClientRequest methods\n[\n \"abort\", \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\", \"setTimeout\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n this.emit(\"error\", new Error(\"Unsupported protocol \" + protocol));\n return;\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.substr(0, protocol.length - 1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n this._currentUrl = url.format(this._options);\n\n // Set up event handlers\n request._redirectable = this;\n for (var event in eventHandlers) {\n /* istanbul ignore else */\n if (event) {\n request.on(event, eventHandlers[event]);\n }\n }\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end.\n var i = 0;\n var buffers = this._requestBodyBuffers;\n (function writeNext() {\n if (i < buffers.length) {\n var buffer = buffers[i++];\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n else {\n request.end();\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: response.statusCode,\n });\n }\n\n // RFC7231§6.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n var location = response.headers.location;\n if (location && this._options.followRedirects !== false &&\n response.statusCode >= 300 && response.statusCode < 400) {\n // RFC7231§6.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n this.emit(\"error\", new Error(\"Max redirects exceeded.\"));\n return;\n }\n\n // RFC7231§6.4: Automatic redirection needs to done with\n // care for methods not known to be safe […],\n // since the user might not wish to redirect an unsafe request.\n // RFC7231§6.4.7: The 307 (Temporary Redirect) status code indicates\n // that the target resource resides temporarily under a different URI\n // and the user agent MUST NOT change the request method\n // if it performs an automatic redirection to that URI.\n var header;\n var headers = this._options.headers;\n if (response.statusCode !== 307 && !(this._options.method in SAFE_METHODS)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n for (header in headers) {\n if (/^content-/i.test(header)) {\n delete headers[header];\n }\n }\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n if (!this._isRedirect) {\n for (header in headers) {\n if (/^host$/i.test(header)) {\n delete headers[header];\n }\n }\n }\n\n // Perform the redirected request\n var redirectUrl = url.resolve(this._currentUrl, location);\n debug(\"redirecting to\", redirectUrl);\n Object.assign(this._options, url.parse(redirectUrl));\n this._isRedirect = true;\n this._performRequest();\n\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n }\n else {\n // The response is not a redirect; return it as-is\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n }\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n wrappedProtocol.request = function (options, callback) {\n if (typeof options === \"string\") {\n options = url.parse(options);\n options.maxRedirects = exports.maxRedirects;\n }\n else {\n options = Object.assign({\n protocol: protocol,\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, options);\n }\n options.nativeProtocols = nativeProtocols;\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n };\n\n // Executes a GET request, following redirects\n wrappedProtocol.get = function (options, callback) {\n var request = wrappedProtocol.request(options, callback);\n request.end();\n return request;\n };\n });\n return exports;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n","'use strict';\nmodule.exports = (flag, argv) => {\n\targv = argv || process.argv;\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst pos = argv.indexOf(prefix + flag);\n\tconst terminatorPos = argv.indexOf('--');\n\treturn pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isNaN(val) === false) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n if (ms >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (ms >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (ms >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (ms >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n return plural(ms, d, 'day') ||\n plural(ms, h, 'hour') ||\n plural(ms, m, 'minute') ||\n plural(ms, s, 'second') ||\n ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, n, name) {\n if (ms < n) {\n return;\n }\n if (ms < n * 1.5) {\n return Math.floor(ms / n) + ' ' + name;\n }\n return Math.ceil(ms / n) + ' ' + name + 's';\n}\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar util = require('./utils');\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = util.assign(\n {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n }\n },\n Format\n);\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj; // eslint-disable-line no-param-reassign\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly,\n charset\n) {\n var obj = object;\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n }).join(',');\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key') : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key');\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value'))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n var value = obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix\n : prefix + (allowDots ? '.' + key : '[' + key + ']');\n\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly,\n charset\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && opts.encoder !== undefined && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.formatter,\n options.encodeValuesOnly,\n options.charset\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('&#10003;'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\nconst os = require('os');\nconst hasFlag = require('has-flag');\n\nconst env = process.env;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false')) {\n\tforceColor = false;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = true;\n}\nif ('FORCE_COLOR' in env) {\n\tforceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(stream) {\n\tif (forceColor === false) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (stream && !stream.isTTY && forceColor !== true) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor ? 1 : 0;\n\n\tif (process.platform === 'win32') {\n\t\t// Node.js 7.5.0 is the first version of Node.js to include a patch to\n\t\t// libuv that enables 256 color output on Windows. Anything earlier and it\n\t\t// won't work. However, here we target Node.js 8 at minimum as it is an LTS\n\t\t// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows\n\t\t// release that supports 256 colors. Windows 10 build 14931 is the first release\n\t\t// that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(process.versions.node.split('.')[0]) >= 8 &&\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: getSupportLevel(process.stdout),\n\tstderr: getSupportLevel(process.stderr)\n};\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/* eslint-disable @typescript-eslint/ban-ts-ignore */\n\nimport cloneDeep from 'lodash/cloneDeep'\nimport { AxiosInstance } from 'axios'\nimport { toPlainObject } from 'contentful-sdk-core'\nimport { CollectionProp, Collection } from './common-types'\n\nexport const wrapCollection = <R, T>(fn: (http: AxiosInstance, entity: T) => R) => (\n http: AxiosInstance,\n data: CollectionProp<T>\n): Collection<R, T> => {\n const collectionData = toPlainObject(cloneDeep(data))\n // @ts-ignore\n collectionData.items = collectionData.items.map((entity) => fn(http, entity))\n // @ts-ignore\n return collectionData\n}\n","/**\n * Contentful Management API SDK. Allows you to create instances of a client\n * with access to the Contentful Content Management API.\n * @packageDocumentation\n */\n\nimport createContentfulApi, { ClientAPI } from './create-contentful-api'\nimport { createCMAHttpClient, ClientParams } from './create-cma-http-client'\n\n/**\n * Create a client instance\n * @param params - Client initialization parameters\n *\n * ```javascript\n * const client = contentfulManagement.createClient({\n * accessToken: 'myAccessToken'\n * })\n * ```\n */\nexport function createClient(params: ClientParams): ClientAPI {\n const http = createCMAHttpClient(params)\n const api = createContentfulApi({\n http: http,\n })\n return api\n}\n","/**\n * @packageDocumentation\n * @hidden\n */\n\nimport axios, { AxiosRequestConfig, AxiosProxyConfig, AxiosResponse } from 'axios'\nimport { createHttpClient, getUserAgentHeader } from 'contentful-sdk-core'\nimport cloneDeep from 'lodash/cloneDeep'\n\nimport { Agent as httpAgent } from 'http'\nimport { Agent as httpsAgent } from 'https'\n\nexport type ClientParams = {\n /**\n * Contentful CMA Access Token\n */\n accessToken: string\n /**\n * Requests will be made over http instead of the default https\n * @default false\n */\n insecure?: boolean\n /**\n * If we should retry on errors and 429 rate limit exceptions\n * @default true\n */\n retryOnError?: boolean\n /**\n * API host\n * @default api.contentful.com\n */\n host?: string\n /**\n * direct file upload host\n * @default upload.contentful.com\n */\n hostUpload?: string\n /**\n * Optional Node.js HTTP agent for proxying\n * @see <a href=\"https://nodejs.org/api/http.html#http_class_http_agent\">Node.js docs</a> and <a href=\"https://www.npmjs.com/package/https-proxy-agent\">https-proxy-agent</a>\n */\n httpAgent?: httpAgent\n /**\n * Optional Node.js HTTP agent for proxying\n * @see <a href=\"https://nodejs.org/api/http.html#http_class_http_agent\">Node.js docs</a> and <a href=\"https://www.npmjs.com/package/https-proxy-agent\">https-proxy-agent</a>\n */\n httpsAgent?: httpsAgent\n /**\n * Optional Axios proxy\n * @see <a href=\"https://github.com/mzabriskie/axios#request-config\"> axios docs </a>\n */\n proxy?: AxiosProxyConfig\n /**\n * Optional additional headers\n */\n headers?: { [key: string]: unknown }\n /**\n * A log handler function to process given log messages & errors.\n * Receives the log level (error, warning & info) and the actual log data (Error object or string).\n * @see The default can be found at: https://github.com/contentful/contentful-sdk-core/blob/master/lib/create-http-client.js\n */\n logHandler?: (level: string, data: Error | string) => void\n /**\n * Gets called on every request triggered by the SDK\n */\n requestLogger?: (config: AxiosRequestConfig) => void\n /**\n * Gets called on every response\n */\n responseLogger?: (response: AxiosResponse) => void\n /**\n * Application name and version e.g myApp/version\n */\n application?: string\n /**\n * Integration name and version e.g react/version\n */\n integration?: string\n /**\n * Optional number of milliseconds before the request times out.\n * @default 30000\n */\n timeout?: number\n /**\n * Optional number of retries before failure\n * @default 5\n */\n retryLimit?: number\n /**\n * Optional maximum content length in bytes\n * @default 1073741824 i.e 1GB\n */\n maxContentLength?: number\n\n feature?: string\n}\n\n/**\n * @private\n */\nexport function createCMAHttpClient(params: ClientParams) {\n const defaultParameters = {\n defaultHostname: 'api.contentful.com',\n defaultHostnameUpload: 'upload.contentful.com',\n }\n\n const userAgentHeader = getUserAgentHeader(\n // @ts-expect-error\n `contentful-management.js/${__VERSION__}`,\n params.application,\n params.integration,\n params.feature\n )\n\n const requiredHeaders = {\n 'Content-Type': 'application/vnd.contentful.management.v1+json',\n 'X-Contentful-User-Agent': userAgentHeader,\n }\n\n params = {\n ...defaultParameters,\n ...cloneDeep(params),\n }\n\n if (!params.accessToken) {\n throw new TypeError('Expected parameter accessToken')\n }\n\n params.headers = {\n ...params.headers,\n ...requiredHeaders,\n }\n\n return createHttpClient(axios, params)\n}\n","import { AxiosInstance, AxiosRequestConfig } from 'axios'\nimport { createRequestConfig } from 'contentful-sdk-core'\nimport errorHandler from './error-handler'\nimport entities from './entities'\nimport { CollectionProp, Collection, QueryOptions } from './common-types'\nimport { OrganizationProp, Organization } from './entities/organization'\nimport { SpaceProps, Space } from './entities/space'\nimport { PersonalAccessTokenProp } from './entities/personal-access-token'\nimport { UsageQuery, UsageProps } from './entities/usage'\n\nexport type ClientAPI = ReturnType<typeof createClientApi>\n\nexport default function createClientApi({ http }: { http: AxiosInstance }) {\n const { wrapSpace, wrapSpaceCollection } = entities.space\n const { wrapUser } = entities.user\n const {\n wrapPersonalAccessToken,\n wrapPersonalAccessTokenCollection,\n } = entities.personalAccessToken\n const { wrapOrganization, wrapOrganizationCollection } = entities.organization\n const { wrapUsageCollection } = entities.usage\n\n return {\n /**\n * Gets all spaces\n * @return Promise for a collection of Spaces\n * ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpaces()\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getSpaces: function getSpaces(\n query: QueryOptions = {}\n ): Promise<Collection<Space, SpaceProps>> {\n return http\n .get('', createRequestConfig({ query: query }))\n .then((response) => wrapSpaceCollection(http, response.data), errorHandler)\n },\n /**\n * Gets a space\n * @param id - Space ID\n * @return Promise for a Space\n * ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => console.log(space))\n * .catch(console.error)\n * ```\n */\n getSpace: function getSpace(id: string): Promise<Space> {\n return http.get(id).then((response) => wrapSpace(http, response.data), errorHandler)\n },\n /**\n * Creates a space\n * @param data - Object representation of the Space to be created\n * @param organizationId - Organization ID, if the associated token can manage more than one organization.\n * @return Promise for the newly created Space\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.createSpace({\n * name: 'Name of new space'\n * })\n * .then((space) => console.log(space))\n * .catch(console.error)\n * ```\n */\n createSpace: function createSpace(\n data: Omit<SpaceProps, 'sys'>,\n organizationId: string\n ): Promise<Space> {\n return http\n .post('', data, {\n headers: organizationId ? { 'X-Contentful-Organization': organizationId } : {},\n })\n .then((response) => wrapSpace(http, response.data), errorHandler)\n },\n /**\n * Gets an organization\n * @param id - Organization ID\n * @return Promise for a Organization\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('<org_id>')\n * .then((org) => console.log(org))\n * .catch(console.error)\n * ```\n */\n getOrganization: function getOrganization(id: string): Promise<Organization> {\n const baseURL = http.defaults?.baseURL?.replace('/spaces/', '/organizations/')\n return http\n .get<CollectionProp<OrganizationProp>>('', { baseURL })\n .then((response) => {\n const org = response.data.items.find((org) => org.sys.id === id)\n if (!org) {\n const error = new Error(\n `No organization was found with the ID ${id} instead got ${JSON.stringify(response)}`\n )\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n error.status = 404\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n error.statusText = 'Not Found'\n return Promise.reject(error)\n }\n return wrapOrganization(http, org)\n }, errorHandler)\n },\n /**\n * Gets a collection of Organizations\n * @return Promise for a collection of Organizations\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganizations()\n * .then(result => console.log(result.items))\n * .catch(console.error)\n * ```\n */\n getOrganizations: function getOrganizations(): Promise<\n Collection<Organization, OrganizationProp>\n > {\n const baseURL = http.defaults?.baseURL?.replace('/spaces/', '/organizations/')\n return http\n .get('', { baseURL })\n .then((response) => wrapOrganizationCollection(http, response.data), errorHandler)\n },\n /**\n * Gets the authenticated user\n * @return Promise for a User\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getCurrentUser()\n * .then(user => console.log(user.firstName))\n * .catch(console.error)\n * ```\n */\n getCurrentUser: function getCurrentUser() {\n const baseURL = http.defaults?.baseURL?.replace('/spaces/', '/users/me/')\n return http\n .get('', {\n baseURL,\n })\n .then((response) => wrapUser(http, response.data), errorHandler)\n },\n /**\n * Creates a personal access token\n * @param data - personal access token config\n * @return Promise for a Token\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.createPersonalAccessToken(\n * {\n * \"name\": \"My Token\",\n * \"scope\": [\n * \"content_management_manage\"\n * ]\n * }\n * )\n * .then(personalAccessToken => console.log(personalAccessToken.token))\n * .catch(console.error)\n * ```\n */\n createPersonalAccessToken: function createPersonalAccessToken(\n data: Omit<PersonalAccessTokenProp, 'sys'>\n ) {\n const baseURL = http.defaults?.baseURL?.replace('/spaces/', '/users/me/access_tokens')\n return http\n .post('', data, {\n baseURL,\n })\n .then((response) => wrapPersonalAccessToken(http, response.data), errorHandler)\n },\n /**\n * Gets a personal access token\n * @param data - personal access token config\n * @return Promise for a Token\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getPersonalAccessToken(tokenId)\n * .then(token => console.log(token.token))\n * .catch(console.error)\n * ```\n */\n getPersonalAccessToken: function getPersonalAccessToken(tokenId: string) {\n const baseURL = http.defaults?.baseURL?.replace('/spaces/', '/users/me/access_tokens')\n return http\n .get(tokenId, {\n baseURL,\n })\n .then((response) => wrapPersonalAccessToken(http, response.data), errorHandler)\n },\n /**\n * Gets all personal access tokens\n * @return Promise for a Token\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getPersonalAccessTokens()\n * .then(response => console.log(reponse.items))\n * .catch(console.error)\n * ```\n */\n getPersonalAccessTokens: function getPersonalAccessTokens() {\n const baseURL = http.defaults?.baseURL?.replace('/spaces/', '/users/me/access_tokens')\n return http\n .get('', {\n baseURL,\n })\n .then((response) => wrapPersonalAccessTokenCollection(http, response.data), errorHandler)\n },\n /**\n * Get organization usage grouped by {@link UsageMetricEnum metric}\n *\n * @param organizationId - Id of an organization\n * @param query - Query parameters\n * @return Promise of a collection of usages\n * @example ```javascript\n *\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganizationUsage('<organizationId>', {\n * 'metric[in]': 'cma,gql',\n * 'dateRange.startAt': '2019-10-22',\n * 'dateRange.endAt': '2019-11-10'\n * }\n * })\n * .then(result => console.log(result.items))\n * .catch(console.error)\n * ```\n */\n getOrganizationUsage: function getOrganizationUsage(\n organizationId: string,\n query: QueryOptions = {}\n ) {\n const baseURL = http.defaults?.baseURL?.replace(\n '/spaces/',\n `/organizations/${organizationId}/organization_periodic_usages`\n )\n return http\n .get('', { baseURL, params: query })\n .then((response) => wrapUsageCollection(http, response.data), errorHandler)\n },\n /**\n * Get organization usage grouped by space and metric\n *\n * @param organizationId - Id of an organization\n * @param query - Query parameters\n * @return Promise of a collection of usages\n * ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpaceUsage('<organizationId>', {\n * skip: 0,\n * limit: 10,\n * 'metric[in]': 'cda,cpa,gql',\n * 'dateRange.startAt': '2019-10-22',\n * 'dateRange.endAt': '2020-11-30'\n * }\n * })\n * .then(result => console.log(result.items))\n * .catch(console.error)\n * ```\n */\n getSpaceUsage: function getSpaceUsage(organizationId: string, query: UsageQuery = {}) {\n const baseURL = http.defaults?.baseURL?.replace(\n '/spaces/',\n `/organizations/${organizationId}/space_periodic_usages`\n )\n return http\n .get<CollectionProp<UsageProps>>('', { baseURL, params: query })\n .then((response) => wrapUsageCollection(http, response.data), errorHandler)\n },\n /**\n * Make a custom request to the Contentful management API's /spaces endpoint\n * @param opts - axios request options (https://github.com/mzabriskie/axios)\n * @return Promise for the response data\n * ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.rawRequest({\n * method: 'GET',\n * url: '/custom/path'\n * })\n * .then((responseData) => console.log(responseData))\n * .catch(console.error)\n * ```\n */\n rawRequest: function rawRequest(opts: AxiosRequestConfig) {\n return http(opts).then((response) => response.data, errorHandler)\n },\n }\n}\n","import cloneDeep from 'lodash/cloneDeep'\nimport { createRequestConfig } from 'contentful-sdk-core'\nimport errorHandler from './error-handler'\nimport entities from './entities'\n\nimport type { ContentTypeProps, ContentType } from './entities/content-type'\nimport type { QueryOptions } from './common-types'\nimport { EntryProp, Entry } from './entities/entry'\nimport type { AssetFileProp, AssetProps } from './entities/asset'\nimport type { LocaleProps } from './entities/locale'\nimport type { UIExtensionProps } from './entities/ui-extension'\nimport type { AppInstallationProps } from './entities/app-installation'\nimport { Stream } from 'stream'\nimport { AxiosInstance } from 'axios'\n\nexport type ContentfulEnvironmentAPI = ReturnType<typeof createEnvironmentApi>\n\n/**\n * Creates API object with methods to access the Environment API\n */\nexport default function createEnvironmentApi({\n http,\n httpUpload,\n}: {\n http: AxiosInstance\n httpUpload: AxiosInstance\n}) {\n const { wrapEnvironment } = entities.environment\n const { wrapContentType, wrapContentTypeCollection } = entities.contentType\n const { wrapEntry, wrapEntryCollection } = entities.entry\n const { wrapAsset, wrapAssetCollection } = entities.asset\n const { wrapLocale, wrapLocaleCollection } = entities.locale\n const { wrapSnapshotCollection } = entities.snapshot\n const { wrapEditorInterface } = entities.editorInterface\n const { wrapUpload } = entities.upload\n const { wrapUiExtension, wrapUiExtensionCollection } = entities.uiExtension\n const { wrapAppInstallation, wrapAppInstallationCollection } = entities.appInstallation\n\n function createAsset(data: Omit<AssetProps, 'sys'>) {\n return http\n .post('assets', data)\n .then((response) => wrapAsset(http, response.data), errorHandler)\n }\n\n function createUpload(data: { file: string | ArrayBuffer | Stream }) {\n const { file } = data\n if (!file) {\n return Promise.reject(new Error('Unable to locate a file to upload.'))\n }\n return httpUpload\n .post('uploads', file, {\n headers: {\n 'Content-Type': 'application/octet-stream',\n },\n })\n .then((uploadResponse) => {\n return wrapUpload(httpUpload, uploadResponse.data)\n })\n .catch(errorHandler)\n }\n\n /**\n * @private\n * sdk relies heavily on sys metadata\n * so we cannot omit the sys property on sdk level\n */\n function normalizeSelect(query: QueryOptions) {\n if (query.select && !/sys/i.test(query.select)) {\n query.select += ',sys'\n }\n }\n\n return {\n /**\n * Deletes the environment\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.delete())\n * .then(() => console.log('Environment deleted.'))\n * .catch(console.error)\n * ```\n */\n delete: function deleteEnvironment() {\n return http.delete('').then(() => {\n // noop\n }, errorHandler)\n },\n /**\n * Updates the environment\n * @return Promise for the updated environment.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => {\n * environment.name = 'New name'\n * return environment.update()\n * })\n * .then((environment) => console.log(`Environment ${environment.sys.id} renamed.`)\n * .catch(console.error)\n * ```\n */\n update: function updateEnvironment() {\n const raw = this.toPlainObject()\n const data = cloneDeep(raw)\n delete data.sys\n return http\n .put('', data, {\n headers: {\n 'X-Contentful-Version': raw.sys.version,\n },\n })\n .then((response) => wrapEnvironment(http, response.data), errorHandler)\n },\n\n /**\n * Creates SDK Entry object (locally) from entry data\n * @param entryData - Entry Data\n * @return Entry\n * @example ```javascript\n * environment.getEntry('entryId').then(entry => {\n *\n * // Build a plainObject in order to make it usable for React (saving in state or redux)\n * const plainObject = entry.toPlainObject();\n *\n * // The entry is being updated in some way as plainObject:\n * const updatedPlainObject = {\n * ...plainObject,\n * fields: {\n * ...plainObject.fields,\n * title: {\n * 'en-US': 'updatedTitle'\n * }\n * }\n * };\n *\n * // Rebuild an sdk object out of the updated plainObject:\n * const entryWithMethodsAgain = environment.getEntryFromData(updatedPlainObject);\n *\n * // Update with help of the sdk method:\n * entryWithMethodsAgain.update();\n *\n * });\n * ```\n **/\n getEntryFromData(entryData: EntryProp) {\n return wrapEntry(http, entryData)\n },\n /**\n * Creates SDK Asset object (locally) from entry data\n * @param assetData - Asset ID\n * @return Asset\n * @example ```javascript\n * environment.getAsset('asset_id').then(asset => {\n *\n * // Build a plainObject in order to make it usable for React (saving in state or redux)\n * const plainObject = asset.toPlainObject();\n *\n * // The asset is being updated in some way as plainObject:\n * const updatedPlainObject = {\n * ...plainObject,\n * fields: {\n * ...plainObject.fields,\n * title: {\n * 'en-US': 'updatedTitle'\n * }\n * }\n * };\n *\n * // Rebuild an sdk object out of the updated plainObject:\n * const assetWithMethodsAgain = environment.getAssetFromData(updatedPlainObject);\n *\n * // Update with help of the sdk method:\n * assetWithMethodsAgain.update();\n *\n * });\n * ```\n */\n getAssetFromData(assetData: AssetProps) {\n return wrapAsset(http, assetData)\n },\n\n /**\n * Gets a Content Type\n * @param id - Content Type ID\n * @return Promise for a Content Type\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getContentType('<content_type_id>'))\n * .then((contentType) => console.log(contentType))\n * .catch(console.error)\n * ```\n */\n getContentType(id: string) {\n return http\n .get('content_types/' + id)\n .then((response) => wrapContentType(http, response.data), errorHandler)\n },\n\n /**\n * Gets a collection of Content Types\n * @param query - Object with search parameters. Check the <a href=\"https://www.contentful.com/developers/docs/javascript/tutorials/using-js-cda-sdk/#retrieving-entries-with-search-parameters\">JS SDK tutorial</a> and the <a href=\"https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters\">REST API reference</a> for more details.\n * @return Promise for a collection of Content Types\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getContentTypes())\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getContentTypes(query: QueryOptions = {}) {\n return http\n .get('content_types', createRequestConfig({ query: query }))\n .then((response) => wrapContentTypeCollection(http, response.data), errorHandler)\n },\n /**\n * Creates a Content Type\n * @param data - Object representation of the Content Type to be created\n * @return Promise for the newly created Content Type\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.createContentType({\n * name: 'Blog Post',\n * fields: [\n * {\n * id: 'title',\n * name: 'Title',\n * required: true,\n * localized: false,\n * type: 'Text'\n * }\n * ]\n * }))\n * .then((contentType) => console.log(contentType))\n * .catch(console.error)\n * ```\n */\n createContentType(data: Omit<ContentTypeProps, 'sys'>) {\n return http\n .post('content_types', data)\n .then((response) => wrapContentType(http, response.data), errorHandler)\n },\n /**\n * Creates a Content Type with a custom ID\n * @param id - Content Type ID\n * @param data - Object representation of the Content Type to be created\n * @return Promise for the newly created Content Type\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.createContentTypeWithId('<content-type-id>', {\n * name: 'Blog Post',\n * fields: [\n * {\n * id: 'title',\n * name: 'Title',\n * required: true,\n * localized: false,\n * type: 'Text'\n * }\n * ]\n * }))\n * .then((contentType) => console.log(contentType))\n * .catch(console.error)\n * ```\n */\n createContentTypeWithId(id: string, data: Omit<ContentTypeProps, 'sys'>) {\n return http\n .put('content_types/' + id, data)\n .then((response) => wrapContentType(http, response.data), errorHandler)\n },\n\n /**\n * Gets an EditorInterface for a ContentType\n * @param contentTypeId - Content Type ID\n * @return Promise for an EditorInterface\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getEditorInterfaceForContentType('<content_type_id>'))\n * .then((EditorInterface) => console.log(EditorInterface))\n * .catch(console.error)\n * ```\n */\n getEditorInterfaceForContentType(contentTypeId: string) {\n return http\n .get('content_types/' + contentTypeId + '/editor_interface')\n .then((response) => wrapEditorInterface(http, response.data), errorHandler)\n },\n\n /**\n * Gets an Entry\n * Warning: if you are using the select operator, when saving, any field that was not selected will be removed\n * from your entry in the backend\n * @param id - Entry ID\n * @param query - Object with search parameters. In this method it's only useful for `locale`.\n * @return Promise for an Entry\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getEntry('<entry-id>'))\n * .then((entry) => console.log(entry))\n * .catch(console.error)\n * ```\n */\n getEntry(id: string, query: QueryOptions = {}) {\n normalizeSelect(query)\n return http\n .get('entries/' + id, createRequestConfig({ query: query }))\n .then((response) => wrapEntry(http, response.data), errorHandler)\n },\n\n /**\n * Gets a collection of Entries\n * Warning: if you are using the select operator, when saving, any field that was not selected will be removed\n * from your entry in the backend\n * @param query - Object with search parameters. Check the <a href=\"https://www.contentful.com/developers/docs/javascript/tutorials/using-js-cda-sdk/#retrieving-entries-with-search-parameters\">JS SDK tutorial</a> and the <a href=\"https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters\">REST API reference</a> for more details.\n * @return Promise for a collection of Entries\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getEntries({'content_type': 'foo'})) // you can add more queries as 'key': 'value'\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getEntries(query: QueryOptions = {}) {\n normalizeSelect(query)\n return http\n .get('entries', createRequestConfig({ query: query }))\n .then((response) => wrapEntryCollection(http, response.data), errorHandler)\n },\n\n /**\n * Creates a Entry\n * @param contentTypeId - The Content Type ID of the newly created Entry\n * @param data - Object representation of the Entry to be created\n * @return Promise for the newly created Entry\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.createEntry('<content_type_id>', {\n * fields: {\n * title: {\n * 'en-US': 'Entry title'\n * }\n * }\n * }))\n * .then((entry) => console.log(entry))\n * .catch(console.error)\n * ```\n */\n createEntry(contentTypeId: string, data: Omit<EntryProp, 'sys'>) {\n return http\n .post('entries', data, {\n headers: {\n 'X-Contentful-Content-Type': contentTypeId,\n },\n })\n .then((response) => wrapEntry(http, response.data), errorHandler)\n },\n\n /**\n * Creates a Entry with a custom ID\n * @param contentTypeId - The Content Type of the newly created Entry\n * @param id - Entry ID\n * @param data - Object representation of the Entry to be created\n * @return Promise for the newly created Entry\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * // Create entry\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.createEntryWithId('<content_type_id>', '<entry_id>', {\n * fields: {\n * title: {\n * 'en-US': 'Entry title'\n * }\n * }\n * }))\n * .then((entry) => console.log(entry))\n * .catch(console.error)\n * ```\n */\n createEntryWithId(contentTypeId: string, id: string, data: Omit<EntryProp, 'sys'>) {\n return http\n .put('entries/' + id, data, {\n headers: {\n 'X-Contentful-Content-Type': contentTypeId,\n },\n })\n .then((response) => wrapEntry(http, response.data), errorHandler)\n },\n\n /**\n * Gets an Asset\n * Warning: if you are using the select operator, when saving, any field that was not selected will be removed\n * from your entry in the backend\n * @param id - Asset ID\n * @param query - Object with search parameters. In this method it's only useful for `locale`.\n * @return Promise for an Asset\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getAsset('<asset_id>'))\n * .then((asset) => console.log(asset))\n * .catch(console.error)\n * ```\n */\n getAsset(id: string, query: QueryOptions = {}) {\n normalizeSelect(query)\n return http\n .get('assets/' + id, createRequestConfig({ query: query }))\n .then((response) => wrapAsset(http, response.data), errorHandler)\n },\n\n /**\n * Gets a collection of Assets\n * Warning: if you are using the select operator, when saving, any field that was not selected will be removed\n * from your entry in the backend\n * @param query - Object with search parameters. Check the <a href=\"https://www.contentful.com/developers/docs/javascript/tutorials/using-js-cda-sdk/#retrieving-entries-with-search-parameters\">JS SDK tutorial</a> and the <a href=\"https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters\">REST API reference</a> for more details.\n * @return Promise for a collection of Assets\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getAssets())\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getAssets(query: QueryOptions = {}) {\n normalizeSelect(query)\n return http\n .get('assets', createRequestConfig({ query: query }))\n .then((response) => wrapAssetCollection(http, response.data), errorHandler)\n },\n /**\n * Creates a Asset. After creation, call asset.processForLocale or asset.processForAllLocales to start asset processing.\n * @param data - Object representation of the Asset to be created. Note that the field object should have an upload property on asset creation, which will be removed and replaced with an url property when processing is finished.\n * @return Promise for the newly created Asset\n * @example ```javascript\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * // Create asset\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.createAsset({\n * fields: {\n * title: {\n * 'en-US': 'Playsam Streamliner'\n * },\n * file: {\n * 'en-US': {\n * contentType: 'image/jpeg',\n * fileName: 'example.jpeg',\n * upload: 'https://example.com/example.jpg'\n * }\n * }\n * }\n * }))\n * .then((asset) => asset.processForLocale(\"en-US\")) // OR asset.processForAllLocales()\n * .then((asset) => console.log(asset))\n * .catch(console.error)\n * ```\n */\n createAsset: createAsset,\n /**\n * Creates a Asset with a custom ID. After creation, call asset.processForLocale or asset.processForAllLocales to start asset processing.\n * @param id - Asset ID\n * @param data - Object representation of the Asset to be created. Note that the field object should have an upload property on asset creation, which will be removed and replaced with an url property when processing is finished.\n * @return Promise for the newly created Asset\n * @example ```javascript\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * // Create asset\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.createAssetWithId('<asset_id>', {\n * title: {\n * 'en-US': 'Playsam Streamliner'\n * },\n * file: {\n * 'en-US': {\n * contentType: 'image/jpeg',\n * fileName: 'example.jpeg',\n * upload: 'https://example.com/example.jpg'\n * }\n * }\n * }))\n * .then((asset) => asset.process())\n * .then((asset) => console.log(asset))\n * .catch(console.error)\n * ```\n */\n createAssetWithId(id: string, data: Omit<AssetProps, 'sys'>) {\n return http\n .put('assets/' + id, data)\n .then((response) => wrapAsset(http, response.data), errorHandler)\n },\n /**\n * Creates a Asset based on files. After creation, call asset.processForLocale or asset.processForAllLocales to start asset processing.\n * @param data - Object representation of the Asset to be created. Note that the field object should have an uploadFrom property on asset creation, which will be removed and replaced with an url property when processing is finished.\n * @param data.fields.file.[LOCALE].file - Can be a string, an ArrayBuffer or a Stream.\n * @return Promise for the newly created Asset\n * @example ```javascript\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.createAssetFromFiles({\n * fields: {\n * file: {\n * 'en-US': {\n * contentType: 'image/jpeg',\n * fileName: 'filename_english.jpg',\n * file: createReadStream('path/to/filename_english.jpg')\n * },\n * 'de-DE': {\n * contentType: 'image/svg+xml',\n * fileName: 'filename_german.svg',\n * file: '<svg><path fill=\"red\" d=\"M50 50h150v50H50z\"/></svg>'\n * }\n * }\n * }\n * }))\n * .then((asset) => console.log(asset))\n * .catch(console.error)\n * ```\n */\n createAssetFromFiles(data: Omit<AssetFileProp, 'sys'>) {\n const { file } = data.fields\n return Promise.all(\n Object.keys(file).map((locale) => {\n const { contentType, fileName } = file[locale]\n return createUpload(file[locale]).then((upload) => {\n return {\n [locale]: {\n contentType,\n fileName,\n uploadFrom: {\n sys: {\n type: 'Link',\n linkType: 'Upload',\n id: upload.sys.id,\n },\n },\n },\n }\n })\n })\n )\n .then((uploads) => {\n const file = uploads.reduce((fieldsData, upload) => ({ ...fieldsData, ...upload }), {})\n const asset = {\n ...data,\n fields: {\n ...data.fields,\n file,\n },\n }\n return createAsset(asset)\n })\n .catch(errorHandler)\n },\n /**\n * Gets an Upload\n * @param id - Upload ID\n * @return Promise for an Upload\n * @example ```javascript\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n * const uploadStream = createReadStream('path/to/filename_english.jpg')\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getUpload('<upload-id>')\n * .then((upload) => console.log(upload))\n * .catch(console.error)\n */\n getUpload(id: string) {\n return httpUpload\n .get('uploads/' + id)\n .then((response) => wrapUpload(http, response.data))\n .catch(errorHandler)\n },\n\n /**\n * Creates a Upload.\n * @param data - Object with file information.\n * @param data.file - Actual file content. Can be a string, an ArrayBuffer or a Stream.\n * @return Upload object containing information about the uploaded file.\n * @example ```javascript\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n * const uploadStream = createReadStream('path/to/filename_english.jpg')\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.createUpload({file: uploadStream})\n * .then((upload) => console.log(upload))\n * .catch(console.error)\n * ```\n */\n createUpload: createUpload,\n /**\n * Gets a Locale\n * @param id - Locale ID\n * @return Promise for an Locale\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getLocale('<locale_id>'))\n * .then((locale) => console.log(locale))\n * .catch(console.error)\n * ```\n */\n getLocale(id: string) {\n return http\n .get('locales/' + id)\n .then((response) => wrapLocale(http, response.data), errorHandler)\n },\n\n /**\n * Gets a collection of Locales\n * @return Promise for a collection of Locales\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getLocales())\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getLocales() {\n return http\n .get('locales')\n .then((response) => wrapLocaleCollection(http, response.data), errorHandler)\n },\n /**\n * Creates a Locale\n * @param data - Object representation of the Locale to be created\n * @return Promise for the newly created Locale\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * // Create locale\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.createLocale({\n * name: 'German (Austria)',\n * code: 'de-AT',\n * fallbackCode: 'de-DE',\n * optional: true\n * }))\n * .then((locale) => console.log(locale))\n * .catch(console.error)\n * ```\n */\n createLocale(data: Omit<LocaleProps, 'sys'>) {\n return http\n .post('locales', data)\n .then((response) => wrapLocale(http, response.data), errorHandler)\n },\n /**\n * Gets an UI Extension\n * @param id - Extension ID\n * @return Promise for an UI Extension\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getUiExtension('<extension-id>'))\n * .then((uiExtension) => console.log(uiExtension))\n * .catch(console.error)\n * ```\n */\n getUiExtension(id: string) {\n return http\n .get('extensions/' + id)\n .then((response) => wrapUiExtension(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of UI Extension\n * @return Promise for a collection of UI Extensions\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getUiExtensions()\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getUiExtensions() {\n return http\n .get('extensions')\n .then((response) => wrapUiExtensionCollection(http, response.data), errorHandler)\n },\n /**\n * Creates a UI Extension\n * @param data - Object representation of the UI Extension to be created\n * @return Promise for the newly created UI Extension\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.createUiExtension({\n * extension: {\n * name: 'My awesome extension',\n * src: 'https://example.com/my',\n * fieldTypes: [\n * {\n * type: 'Symbol'\n * },\n * {\n * type: 'Text'\n * }\n * ],\n * sidebar: false\n * }\n * }))\n * .then((uiExtension) => console.log(uiExtension))\n * .catch(console.error)\n * ```\n */\n createUiExtension(data: Omit<UIExtensionProps, 'sys'>) {\n return http\n .post('extensions', data)\n .then((response) => wrapUiExtension(http, response.data), errorHandler)\n },\n /**\n * Creates a UI Extension with a custom ID\n * @param id - Extension ID\n * @param data - Object representation of the UI Extension to be created\n * @return Promise for the newly created UI Extension\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.createUiExtensionWithId('<extension_id>', {\n * extension: {\n * name: 'My awesome extension',\n * src: 'https://example.com/my',\n * fieldTypes: [\n * {\n * type: 'Symbol'\n * },\n * {\n * type: 'Text'\n * }\n * ],\n * sidebar: false\n * }\n * }))\n * .then((uiExtension) => console.log(uiExtension))\n * .catch(console.error)\n * ```\n */\n createUiExtensionWithId(id: string, data: Omit<UIExtensionProps, 'sys'>) {\n return http\n .put('extensions/' + id, data)\n .then((response) => wrapUiExtension(http, response.data), errorHandler)\n },\n\n /**\n * Gets an App Installation\n * @param appDefinitionId - AppDefinition ID\n * @param data - AppInstallation data\n * @return Promise for an App Installation\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.createAppInstallation('<app_definition_id>', {\n * parameters: {\n * someParameter: someValue\n * }\n * })\n * .then((appInstallation) => console.log(appInstallation))\n * .catch(console.error)\n * ```\n */\n createAppInstallation(appDefinitionId: string, data: Omit<AppInstallationProps, 'sys'>) {\n return http\n .put('app_installations/' + appDefinitionId, data)\n .then((response) => wrapAppInstallation(http, response.data), errorHandler)\n },\n /**\n * Gets an App Installation\n * @param id - AppDefintion ID\n * @return Promise for an App Installation\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getAppInstallation('<app-definition-id>'))\n * .then((appInstallation) => console.log(appInstallation))\n * .catch(console.error)\n * ```\n */\n getAppInstallation(id: string) {\n return http\n .get('app_installations/' + id)\n .then((response) => wrapAppInstallation(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of App Installation\n * @return Promise for a collection of App Installations\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getAppInstallations()\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getAppInstallations() {\n return http\n .get('app_installations')\n .then((response) => wrapAppInstallationCollection(http, response.data), errorHandler)\n },\n /**\n * Gets all snapshots of an entry\n * @func getEntrySnapshots\n * @param entryId - Entry ID\n * @param query - query additional query paramaters\n * @return Promise for a collection of Entry Snapshots\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getEntrySnapshots('<entry_id>'))\n * .then((snapshots) => console.log(snapshots.items))\n * .catch(console.error)\n * ```\n */\n getEntrySnapshots(entryId: string, query: QueryOptions = {}) {\n return http\n .get(`entries/${entryId}/snapshots`, createRequestConfig({ query: query }))\n .then((response) => wrapSnapshotCollection<Entry>(http, response.data), errorHandler)\n },\n /**\n * Gets all snapshots of a contentType\n * @func getContentTypeSnapshots\n * @param contentTypeId - Content Type ID\n * @param query - query additional query paramaters\n * @return Promise for a collection of Content Type Snapshots\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment-id>'))\n * .then((environment) => environment.getContentTypeSnapshots('<contentTypeId>'))\n * .then((snapshots) => console.log(snapshots.items))\n * .catch(console.error)\n * ```\n */\n getContentTypeSnapshots(contentTypeId: string, query: QueryOptions = {}) {\n return http\n .get(`content_types/${contentTypeId}/snapshots`, createRequestConfig({ query: query }))\n .then((response) => wrapSnapshotCollection<ContentType>(http, response.data), errorHandler)\n },\n }\n}\n","import { AxiosInstance } from 'axios'\nimport { get } from 'lodash'\nimport { createRequestConfig } from 'contentful-sdk-core'\nimport errorHandler from './error-handler'\nimport entities from './entities'\nimport { TeamMembershipProps } from './entities/team-membership'\nimport { TeamProps } from './entities/team'\nimport { OrganizationInvitationProps } from './entities/organization-invitation'\nimport { QueryOptions } from './common-types'\nimport { AppDefinitionProps } from './entities/app-definition'\n\nexport type ContentfulOrganizationAPI = ReturnType<typeof createOrganizationApi>\n\n/**\n * Creates API object with methods to access the Organization API\n */\nexport default function createOrganizationApi({ http }: { http: AxiosInstance }) {\n const { wrapAppDefinition, wrapAppDefinitionCollection } = entities.appDefinition\n const { wrapUser, wrapUserCollection } = entities.user\n const {\n wrapOrganizationMembership,\n wrapOrganizationMembershipCollection,\n } = entities.organizationMembership\n const { wrapTeamMembership, wrapTeamMembershipCollection } = entities.teamMembership\n const {\n wrapTeamSpaceMembership,\n wrapTeamSpaceMembershipCollection,\n } = entities.teamSpaceMembership\n const { wrapTeam, wrapTeamCollection } = entities.team\n const { wrapSpaceMembership, wrapSpaceMembershipCollection } = entities.spaceMembership\n const { wrapOrganizationInvitation } = entities.organizationInvitation\n\n const headers = { 'x-contentful-enable-alpha-feature': 'organization-user-management-api' }\n\n return {\n /**\n * Gets a User\n * @return Promise for a User\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('<organization_id>')\n * .then((organization) => organization.getUser('id'))\n * .then((user) => console.log(user))\n * .catch(console.error)\n * ```\n */\n getUser(id: string) {\n return http.get('users/' + id).then((response) => wrapUser(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of Users in organization\n * @param query - Object with search parameters. Check the <a href=\"https://www.contentful.com/developers/docs/javascript/tutorials/using-js-cda-sdk/#retrieving-entries-with-search-parameters\">JS SDK tutorial</a> and the <a href=\"https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters\">REST API reference</a> for more details.\n * @return Promise a collection of Users in organization\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('<organization_id>')\n * .then((organization) => organization.getUsers())\n * .then((user) => console.log(user))\n * .catch(console.error)\n * ```\n */\n getUsers(query: QueryOptions = {}) {\n return http\n .get('users', createRequestConfig({ query }))\n .then((response) => wrapUserCollection(http, response.data), errorHandler)\n },\n /**\n * Gets an Organization Membership\n * @param id - Organization Membership ID\n * @return Promise for an Organization Membership\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organization_id')\n * .then((organization) => organization.getOrganizationMembership('organizationMembership_id'))\n * .then((organizationMembership) => console.log(organizationMembership))\n * .catch(console.error)\n * ```\n */\n getOrganizationMembership(id: string) {\n return http\n .get('organization_memberships/' + id)\n .then((response) => wrapOrganizationMembership(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of Organization Memberships\n * @param query - Object with search parameters. Check the <a href=\"https://www.contentful.com/developers/docs/javascript/tutorials/using-js-cda-sdk/#retrieving-entries-with-search-parameters\">JS SDK tutorial</a> and the <a href=\"https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters\">REST API reference</a> for more details.\n * @return Promise for a collection of Organization Memberships\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organization_id')\n * .then((organization) => organization.getOrganizationMemberships({'limit': 100})) // you can add more queries as 'key': 'value'\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getOrganizationMemberships(query: QueryOptions = {}) {\n return http\n .get('organization_memberships', createRequestConfig({ query }))\n .then((response) => wrapOrganizationMembershipCollection(http, response.data), errorHandler)\n },\n /**\n * Creates a Team\n * @param Object representation of the Team to be created\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('<org_id>')\n * .then((org) => org.createTeam({\n * name: 'new team',\n * description: 'new team description'\n * }))\n * .then((team) => console.log(team))\n * .catch(console.error)\n * ```\n */\n createTeam(data: Omit<TeamProps, 'sys'>) {\n return http\n .post('teams', data)\n .then((response) => wrapTeam(http, response.data), errorHandler)\n },\n /**\n * Gets an Team\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('orgId')\n * .then((organization) => organization.getTeam('teamId'))\n * .then((team) => console.log(team))\n * .catch(console.error)\n * ```\n */\n getTeam(teamId: string) {\n return http\n .get('teams/' + teamId)\n .then((response) => wrapTeam(http, response.data), errorHandler)\n },\n /**\n * Gets all Teams in an organization\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('orgId')\n * .then((organization) => organization.getTeams())\n * .then((teams) => console.log(teams))\n * .catch(console.error)\n * ```\n */\n getTeams(query: QueryOptions = {}) {\n return http\n .get('teams', createRequestConfig({ query }))\n .then((response) => wrapTeamCollection(http, response.data), errorHandler)\n },\n /**\n * Creates a Team membership\n * @param data - Object representation of the Team Membership to be created\n * @return Promise for the newly created TeamMembership\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organizationId')\n * .then((org) => org.createTeamMembership('teamId', {\n * admin: true,\n * organizationMembershipId: 'organizationMembershipId'\n * }))\n * .then((teamMembership) => console.log(teamMembership))\n * .catch(console.error)\n * ```\n */\n createTeamMembership(teamId: string, data: Omit<TeamMembershipProps, 'sys'>) {\n return http\n .post('teams/' + teamId + '/team_memberships', data)\n .then((response) => wrapTeamMembership(http, response.data), errorHandler)\n },\n /**\n * Gets an Team Membership from the team with given teamId\n * @return Promise for an Team Membership\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organizationId')\n * .then((organization) => organization.getTeamMembership('teamId', 'teamMembership_id'))\n * .then((teamMembership) => console.log(teamMembership))\n * .catch(console.error)\n * ```\n */\n getTeamMembership(teamId: string, teamMembershipId: string) {\n return http\n .get('teams/' + teamId + '/team_memberships/' + teamMembershipId)\n .then((response) => wrapTeamMembership(http, response.data), errorHandler)\n },\n /**\n * Get all Team Memberships. If teamID is provided in the optional config object, it will return all Team Memberships in that team. By default, returns all team memberships for the organization.\n * @return Promise for a Team Membership Collection\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organizationId')\n * .then((organization) => organization.getTeamMemberships('teamId'))\n * .then((teamMemberships) => console.log(teamMemberships))\n * .catch(console.error)\n * ```\n */\n getTeamMemberships(opts: { teamId?: string; query?: QueryOptions } = {}) {\n const query = get(opts, 'query', {})\n if (opts.teamId) {\n return http\n .get('teams/' + opts.teamId + '/team_memberships', createRequestConfig({ query }))\n .then((response) => wrapTeamMembershipCollection(http, response.data), errorHandler)\n }\n return http\n .get('team_memberships', createRequestConfig({ query }))\n .then((response) => wrapTeamMembershipCollection(http, response.data), errorHandler)\n },\n /**\n * Get all Team Space Memberships. If teamID is provided in the optional config object, it will return all Team Space Memberships in that team. By default, returns all team space memberships across all teams in the organization.\n * @return Promise for a Team Space Membership Collection\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organizationId')\n * .then((organization) => organization.getTeamSpaceMemberships('teamId'))\n * .then((teamSpaceMemberships) => console.log(teamSpaceMemberships))\n * .catch(console.error)\n * ```\n */\n getTeamSpaceMemberships(opts: { teamId?: string; query?: QueryOptions } = {}) {\n const query = get(opts, 'query', {})\n if (opts.teamId) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n query['sys.team.sys.id'] = opts.teamId\n }\n return http\n .get('team_space_memberships', createRequestConfig({ query }))\n .then((response) => wrapTeamSpaceMembershipCollection(http, response.data), errorHandler)\n },\n /**\n * Get a Team Space Membership with given teamSpaceMembershipId\n * @return Promise for a Team Space Membership\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organizationId')\n * .then((organization) => organization.getTeamSpaceMembership('teamSpaceMembershipId'))\n * .then((teamSpaceMembership) => console.log(teamSpaceMembership))\n * .catch(console.error)]\n * ```\n */\n getTeamSpaceMembership(teamSpaceMembershipId: string) {\n return http\n .get('team_space_memberships/' + teamSpaceMembershipId)\n .then((response) => wrapTeamSpaceMembership(http, response.data), errorHandler)\n },\n /**\n * Gets an Space Membership in Organization\n * @param id - Organiztion Space Membership ID\n * @return Promise for a Space Membership in an organization\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organization_id')\n * .then((organization) => organization.getOrganizationSpaceMembership('organizationSpaceMembership_id'))\n * .then((organizationMembership) => console.log(organizationMembership))\n * .catch(console.error)\n * ```\n */\n getOrganizationSpaceMembership(id: string) {\n return http\n .get('space_memberships/' + id)\n .then((response) => wrapSpaceMembership(http, response.data), errorHandler)\n },\n /**\n * Gets a collection Space Memberships in organization\n * @param query - Object with search parameters. Check the <a href=\"https://www.contentful.com/developers/docs/javascript/tutorials/using-js-cda-sdk/#retrieving-entries-with-search-parameters\">JS SDK tutorial</a> and the <a href=\"https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters\">REST API reference</a> for more details.\n * @return Promise for a Space Membership collection across all spaces in the organization\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organization_id')\n * .then((organization) => organization.getOrganizationSpaceMemberships()) // you can add queries like 'limit': 100\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getOrganizationSpaceMemberships(query: QueryOptions = {}) {\n return http\n .get('space_memberships', createRequestConfig({ query }))\n .then((response) => wrapSpaceMembershipCollection(http, response.data), errorHandler)\n },\n /**\n * Gets an Invitation in Organization\n * @return Promise for a OrganizationInvitation in an organization\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('<org_id>')\n * .then((organization) => organization.getOrganizationInvitation('invitation_id'))\n * .then((invitation) => console.log(invitation))\n * .catch(console.error)\n * ```\n */\n getOrganizationInvitation(invitationId: string) {\n return http\n .get('invitations/' + invitationId, {\n headers,\n })\n .then((response) => wrapOrganizationInvitation(http, response.data), errorHandler)\n },\n /**\n * Create an Invitation in Organization\n * @return Promise for a OrganizationInvitation in an organization\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('<org_id>')\n * .then((organization) => organization.createOrganizationInvitation({\n * email: 'user.email@example.com'\n * firstName: 'User First Name'\n * lastName: 'User Last Name'\n * role: 'developer'\n * })\n * .catch(console.error)\n * ```\n */\n createOrganizationInvitation(data: Omit<OrganizationInvitationProps, 'sys'>) {\n const invitationAlphaHeaders = {\n 'x-contentful-enable-alpha-feature': 'pending-org-membership',\n }\n\n return http\n .post('invitations', data, { headers: invitationAlphaHeaders })\n .then((response) => wrapOrganizationInvitation(http, response.data), errorHandler)\n },\n /**\n * Creates an app definition\n * @param Object representation of the App Definition to be created\n * @return Promise for the newly created AppDefinition\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('<org_id>')\n * .then((org) => org.createAppDefinition({\n * name: 'Example app',\n * locations: [{ location: 'app-config' }],\n * src: \"http://my-app-host.com/my-app\"\n * }))\n * .then((appDefinition) => console.log(appDefinition))\n * .catch(console.error)\n * ```\n */\n createAppDefinition(data: Omit<AppDefinitionProps, 'sys'>) {\n return http\n .post('app_definitions', data)\n .then((response) => wrapAppDefinition(http, response.data), errorHandler)\n },\n /**\n * Gets all app definitions\n * @return Promise for a collection of App Definitions\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('<org_id>')\n * .then((org) => org.getAppDefinitions())\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getAppDefinitions(query: QueryOptions = {}) {\n return http\n .get('app_definitions', createRequestConfig({ query }))\n .then((response) => wrapAppDefinitionCollection(http, response.data), errorHandler)\n },\n\n /**\n * Gets an app definition\n * @return Promise for an App Definition\n * @example ```javascript\n * const contentful = require('contentful-management')\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('<org_id>')\n * .then((org) => org.getAppDefinition('<app_definition_id>'))\n * .then((appDefinition) => console.log(appDefinition))\n * .catch(console.error)\n * ```\n */\n getAppDefinition(id: string) {\n return http\n .get('app_definitions/' + id)\n .then((response) => wrapAppDefinition(http, response.data), errorHandler)\n },\n }\n}\n","/**\n * Contentful Space API. Contains methods to access any operations at a space\n * level, such as creating and reading entities contained in a space.\n */\n\nimport { AxiosInstance } from 'axios'\nimport { Stream } from 'stream'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { createRequestConfig } from 'contentful-sdk-core'\nimport errorHandler from './error-handler'\nimport entities from './entities'\nimport { EnvironmentProps } from './entities/environment'\nimport { ContentTypeProps } from './entities/content-type'\nimport { EntryProp } from './entities/entry'\nimport { AssetProps, AssetFileProp } from './entities/asset'\nimport { TeamSpaceMembershipProps } from './entities/team-space-membership'\nimport { SpaceMembershipProps } from './entities/space-membership'\nimport { RoleProps } from './entities/role'\nimport { LocaleProps } from './entities/locale'\nimport { WebhookProps } from './entities/webhook'\nimport { QueryOptions } from './common-types'\nimport { UIExtensionProps } from './entities/ui-extension'\nimport { CreateApiKeyProps } from './entities/api-key'\n\nfunction raiseDeprecationWarning(method: string) {\n console.warn(\n [\n `Deprecated: Space.${method}() will be removed in future major versions.`,\n null,\n `Please migrate your code to use Environment.${method}():`,\n `https://contentful.github.io/contentful-management.js/contentful-management/latest/ContentfulEnvironmentAPI.html#.${method}`,\n null,\n ].join('\\n')\n )\n}\n\nfunction spaceMembershipDeprecationWarning() {\n console.warn(\n 'The user attribute in the space membership root is deprecated. The attribute has been moved inside the sys object (i.e. sys.user)'\n )\n}\n\nexport type ContentfulSpaceAPI = ReturnType<typeof createSpaceApi>\n\n/**\n * Creates API object with methods to access the Space API\n * @param {object} params - API initialization params\n * @prop {object} http - HTTP client instance\n * @prop {object} entities - Object with wrapper methods for each kind of entity\n * @return {ContentfulSpaceAPI}\n */\nexport default function createSpaceApi({\n http,\n httpUpload,\n}: {\n http: AxiosInstance\n httpUpload: AxiosInstance\n}) {\n const { wrapSpace } = entities.space\n const { wrapEnvironment, wrapEnvironmentCollection } = entities.environment\n const { wrapContentType, wrapContentTypeCollection } = entities.contentType\n const { wrapEntry, wrapEntryCollection } = entities.entry\n const { wrapAsset, wrapAssetCollection } = entities.asset\n const { wrapLocale, wrapLocaleCollection } = entities.locale\n const { wrapWebhook, wrapWebhookCollection } = entities.webhook\n const { wrapRole, wrapRoleCollection } = entities.role\n const { wrapUser, wrapUserCollection } = entities.user\n const { wrapSpaceMember, wrapSpaceMemberCollection } = entities.spaceMember\n const { wrapSpaceMembership, wrapSpaceMembershipCollection } = entities.spaceMembership\n const {\n wrapTeamSpaceMembership,\n wrapTeamSpaceMembershipCollection,\n } = entities.teamSpaceMembership\n const { wrapApiKey, wrapApiKeyCollection } = entities.apiKey\n const { wrapPreviewApiKey, wrapPreviewApiKeyCollection } = entities.previewApiKey\n const { wrapSnapshotCollection } = entities.snapshot\n const { wrapEditorInterface } = entities.editorInterface\n const { wrapUpload } = entities.upload\n const { wrapUiExtension, wrapUiExtensionCollection } = entities.uiExtension\n const { wrapEnvironmentAlias, wrapEnvironmentAliasCollection } = entities.environmentAlias\n\n function createAsset(data: Omit<AssetProps, 'sys'>) {\n return http\n .post('assets', data)\n .then((response) => wrapAsset(http, response.data), errorHandler)\n }\n\n function createUpload(data: { file: string | ArrayBuffer | Stream }) {\n raiseDeprecationWarning('createUpload')\n const { file } = data\n if (!file) {\n return Promise.reject(new Error('Unable to locate a file to upload.'))\n }\n return httpUpload\n .post('uploads', file, {\n headers: {\n 'Content-Type': 'application/octet-stream',\n },\n })\n .then((uploadResponse) => {\n return wrapUpload(httpUpload, uploadResponse.data)\n })\n .catch(errorHandler)\n }\n\n /*\n * @private\n * sdk relies heavily on sys metadata\n * so we cannot omit the sys property on sdk level\n *\n */\n function normalizeSelect(query: QueryOptions) {\n if (query.select && !/sys/i.test(query.select)) {\n query.select += ',sys'\n }\n }\n\n return {\n /**\n * Deletes the space\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.delete())\n * .then(() => console.log('Space deleted.'))\n * .catch(console.error)\n * ```\n */\n delete: function deleteSpace() {\n return http.delete('').then(() => {\n // do nothing\n }, errorHandler)\n },\n /**\n * Updates the space\n * @return Promise for the updated space.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => {\n * space.name = 'New name'\n * return space.update()\n * })\n * .then((space) => console.log(`Space ${space.sys.id} renamed.`)\n * .catch(console.error)\n * ```\n */\n update: function updateSpace() {\n const raw = this.toPlainObject()\n const data = cloneDeep(raw)\n delete data.sys\n return http\n .put('', data, {\n headers: {\n 'X-Contentful-Version': raw.sys.version,\n },\n })\n .then((response) => wrapSpace(http, response.data), errorHandler)\n },\n /**\n * Gets an environment\n * @param id - Environment ID\n * @return Promise for an Environment\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environement_id>'))\n * .then((environment) => console.log(environment))\n * .catch(console.error)\n * ```\n */\n getEnvironment(id: string) {\n return http\n .get('environments/' + id)\n .then((response) => wrapEnvironment(http, response.data), errorHandler)\n },\n\n /**\n * Gets a collection of Environments\n * @return Promise for a collection of Environment\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironments())\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getEnvironments() {\n return http\n .get('environments')\n .then((response) => wrapEnvironmentCollection(http, response.data), errorHandler)\n },\n\n /**\n * Creates an Environement\n * @param data - Object representation of the Environment to be created\n * @return Promise for the newly created Environment\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createEnvironment({ name: 'Staging' }))\n * .then((environment) => console.log(environment))\n * .catch(console.error)\n * ```\n */\n createEnvironment(data = {}) {\n return http\n .post('environments', data)\n .then((response) => wrapEnvironment(http, response.data), errorHandler)\n },\n\n /**\n * Creates an Environment with a custom ID\n * @param id - Environment ID\n * @param data - Object representation of the Environment to be created\n * @param sourceEnvironmentId - ID of the source environment that will be copied to create the new environment. Default is \"master\"\n * @return Promise for the newly created Environment\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createEnvironmentWithId('<environment-id>', { name: 'Staging'}, 'master'))\n * .then((environment) => console.log(environment))\n * .catch(console.error)\n * ```\n */\n createEnvironmentWithId(\n id: string,\n data: Omit<EnvironmentProps, 'sys'>,\n sourceEnvironmentId?: string\n ) {\n return http\n .put('environments/' + id, data, {\n headers: sourceEnvironmentId\n ? { 'X-Contentful-Source-Environment': sourceEnvironmentId }\n : {},\n })\n .then((response) => wrapEnvironment(http, response.data), errorHandler)\n },\n /**\n * Gets a Content Type\n * @deprecated since version 5.0\n * @param id - Content Type ID\n * @return Promise for a Content Type\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getContentType('<content_type_id>'))\n * .then((contentType) => console.log(contentType))\n * .catch(console.error)\n * ```\n */\n getContentType(id: string) {\n raiseDeprecationWarning('getContentType')\n return http\n .get('content_types/' + id)\n .then((response) => wrapContentType(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of Content Types\n * @deprecated since version 5.0\n * @param query - Object with search parameters. Check the <a href=\"https://www.contentful.com/developers/docs/javascript/tutorials/using-js-cda-sdk/#retrieving-entries-with-search-parameters\">JS SDK tutorial</a> and the <a href=\"https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters\">REST API reference</a> for more details.\n * @return Promise for a collection of Content Types\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getContentTypes())\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getContentTypes(query: QueryOptions = {}) {\n raiseDeprecationWarning('getContentTypes')\n return http\n .get('content_types', createRequestConfig({ query: query }))\n .then((response) => wrapContentTypeCollection(http, response.data), errorHandler)\n },\n\n /**\n * Creates a Content Type\n * @deprecated since version 5.0\n * @param data - Object representation of the Content Type to be created\n * @return Promise for the newly created Content Type\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createContentType({\n * name: 'Blog Post',\n * fields: [\n * {\n * id: 'title',\n * name: 'Title',\n * required: true,\n * localized: false,\n * type: 'Text'\n * }\n * ]\n * }))\n * .then((contentType) => console.log(contentType))\n * .catch(console.error)\n * ```\n */\n createContentType(data: Omit<ContentTypeProps, 'sys'>) {\n raiseDeprecationWarning('createContentType')\n return http\n .post('content_types', data)\n .then((response) => wrapContentType(http, response.data), errorHandler)\n },\n /**\n * Creates a Content Type with a custom ID\n * @deprecated since version 5.0\n * @param id - Content Type ID\n * @param data - Object representation of the Content Type to be created\n * @return Promise for the newly created Content Type\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createContentTypeWithId('<content-type-id>', {\n * name: 'Blog Post',\n * fields: [\n * {\n * id: 'title',\n * name: 'Title',\n * required: true,\n * localized: false,\n * type: 'Text'\n * }\n * ]\n * }))\n * .then((contentType) => console.log(contentType))\n * .catch(console.error)\n * ```\n */\n createContentTypeWithId(id: string, data: Omit<ContentTypeProps, 'sys'>) {\n raiseDeprecationWarning('createContentTypeWithId')\n return http\n .put('content_types/' + id, data)\n .then((response) => wrapContentType(http, response.data), errorHandler)\n },\n\n /**\n * Gets an EditorInterface for a ContentType\n * @deprecated since version 5.0\n * @param contentTypeId - Content Type ID\n * @return Promise for an EditorInterface\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEditorInterfaceForContentType('<content_type_id>'))\n * .then((EditorInterface) => console.log(EditorInterface))\n * .catch(console.error)\n * ```\n */\n getEditorInterfaceForContentType(contentTypeId: string) {\n raiseDeprecationWarning('getEditorInterfaceForContentType')\n return http\n .get('content_types/' + contentTypeId + '/editor_interface')\n .then((response) => wrapEditorInterface(http, response.data), errorHandler)\n },\n /**\n * Gets an Entry\n * Warning: if you are using the select operator, when saving, any field that was not selected will be removed\n * from your entry in the backend\n * @deprecated since version 5.0\n * @param id - Entry ID\n * @param query - Object with search parameters. In this method it's only useful for `locale`.\n * @return Promise for an Entry\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEntry('<entry-id>'))\n * .then((entry) => console.log(entry))\n * .catch(console.error)\n * ```\n */\n getEntry(id: string, query: QueryOptions = {}) {\n raiseDeprecationWarning('getEntry')\n normalizeSelect(query)\n return http\n .get('entries/' + id, createRequestConfig({ query: query }))\n .then((response) => wrapEntry(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of Entries\n * Warning: if you are using the select operator, when saving, any field that was not selected will be removed\n * from your entry in the backend\n * @deprecated since version 5.0\n * @param query - Object with search parameters. Check the <a href=\"https://www.contentful.com/developers/docs/javascript/tutorials/using-js-cda-sdk/#retrieving-entries-with-search-parameters\">JS SDK tutorial</a> and the <a href=\"https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters\">REST API reference</a> for more details.\n * @return Promise for a collection of Entries\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEntries({'content_type': 'foo'})) // you can add more queries as 'key': 'value'\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getEntries(query: QueryOptions = {}) {\n raiseDeprecationWarning('getEntries')\n normalizeSelect(query)\n return http\n .get('entries', createRequestConfig({ query: query }))\n .then((response) => wrapEntryCollection(http, response.data), errorHandler)\n },\n /**\n * Creates a Entry\n * @deprecated since version 5.0\n * @param contentTypeId - The Content Type which this Entry is based on\n * @param data - Object representation of the Entry to be created\n * @return Promise for the newly created Entry\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createEntry('<content_type_id>', {\n * fields: {\n * title: {\n * 'en-US': 'Entry title'\n * }\n * }\n * }))\n * .then((entry) => console.log(entry))\n * .catch(console.error)\n * ```\n */\n createEntry(contentTypeId: string, data: Omit<EntryProp, 'sys'>) {\n raiseDeprecationWarning('createEntry')\n return http\n .post('entries', data, {\n headers: {\n 'X-Contentful-Content-Type': contentTypeId,\n },\n })\n .then((response) => wrapEntry(http, response.data), errorHandler)\n },\n /**\n * Creates a Entry with a custom ID\n * @deprecated since version 5.0\n * @param contentTypeId - The Content Type which this Entry is based on\n * @param id - Entry ID\n * @param data - Object representation of the Entry to be created\n * @return Promise for the newly created Entry\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * // Create entry\n * client.getSpace('<space_id>')\n * .then((space) => space.createEntryWithId('<content_type_id>', '<entry_id>', {\n * fields: {\n * title: {\n * 'en-US': 'Entry title'\n * }\n * }\n * }))\n * .then((entry) => console.log(entry))\n * .catch(console.error)\n * ```\n */\n createEntryWithId(contentTypeId: string, id: string, data: Omit<EntryProp, 'sys'>) {\n raiseDeprecationWarning('createEntryWithId')\n return http\n .put('entries/' + id, data, {\n headers: {\n 'X-Contentful-Content-Type': contentTypeId,\n },\n })\n .then((response) => wrapEntry(http, response.data), errorHandler)\n },\n /**\n * Creates a Upload.\n * @deprecated since version 5.0\n * @param data - Object with file information.\n * @param data.file - Actual file content. Can be a string, an ArrayBuffer or a Stream.\n * @return Upload object containing information about the uploaded file.\n * @example ```javascript\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n * const uploadStream = createReadStream('path/to/filename_english.jpg')\n * client.getSpace('<space_id>')\n * .then((space) => space.createUpload({file: uploadStream, 'image/png'})\n * .then((upload) => console.log(upload))\n * .catch(console.error)\n * ```\n */\n createUpload,\n /**\n * Creates a Asset. After creation, call asset.processForLocale or asset.processForAllLocales to start asset processing.\n * @deprecated since version 5.0\n * @param data - Object representation of the Asset to be created. Note that the field object should have an upload property on asset creation, which will be removed and replaced with an url property when processing is finished.\n * @return Promise for the newly created Asset\n * @example ```javascript\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * // Create asset\n * client.getSpace('<space_id>')\n * .then((space) => space.createAsset({\n * fields: {\n * title: {\n * 'en-US': 'Playsam Streamliner'\n * },\n * file: {\n * 'en-US': {\n * contentType: 'image/jpeg',\n * fileName: 'example.jpeg',\n * upload: 'https://example.com/example.jpg'\n * }\n * }\n * }\n * }))\n * .then((asset) => asset.processForLocale(\"en-US\")) // OR asset.processForAllLocales()\n * .then((asset) => console.log(asset))\n * .catch(console.error)\n * ```\n */\n createAsset,\n /**\n * Gets an Asset\n * Warning: if you are using the select operator, when saving, any field that was not selected will be removed\n * from your entry in the backend\n * @deprecated since version 5.0\n * @param id - Asset ID\n * @param query - Object with search parameters. In this method it's only useful for `locale`.\n * @return Promise for an Asset\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getAsset('<asset_id>'))\n * .then((asset) => console.log(asset))\n * .catch(console.error)\n * ```\n */\n getAsset(id: string, query: QueryOptions = {}) {\n raiseDeprecationWarning('getAsset')\n normalizeSelect(query)\n return http\n .get('assets/' + id, createRequestConfig({ query: query }))\n .then((response) => wrapAsset(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of Assets\n * Warning: if you are using the select operator, when saving, any field that was not selected will be removed\n * from your entry in the backend\n * @deprecated since version 5.0\n * @param query - Object with search parameters. Check the <a href=\"https://www.contentful.com/developers/docs/javascript/tutorials/using-js-cda-sdk/#retrieving-entries-with-search-parameters\">JS SDK tutorial</a> and the <a href=\"https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters\">REST API reference</a> for more details.\n * @return Promise for a collection of Assets\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getAssets())\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getAssets(query: QueryOptions = {}) {\n raiseDeprecationWarning('getAssets')\n normalizeSelect(query)\n return http\n .get('assets', createRequestConfig({ query: query }))\n .then((response) => wrapAssetCollection(http, response.data), errorHandler)\n },\n /**\n * Creates a Asset with a custom ID. After creation, call asset.processForLocale or asset.processForAllLocales to start asset processing.\n * @deprecated since version 5.0\n * @param id - Asset ID\n * @param data - Object representation of the Asset to be created. Note that the field object should have an upload property on asset creation, which will be removed and replaced with an url property when processing is finished.\n * @return Promise for the newly created Asset\n * @example ```javascript\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * // Create asset\n * client.getSpace('<space_id>')\n * .then((space) => space.createAssetWithId('<asset_id>', {\n * title: {\n * 'en-US': 'Playsam Streamliner'\n * },\n * file: {\n * 'en-US': {\n * contentType: 'image/jpeg',\n * fileName: 'example.jpeg',\n * upload: 'https://example.com/example.jpg'\n * }\n * }\n * }))\n * .then((asset) => asset.process())\n * .then((asset) => console.log(asset))\n * .catch(console.error)\n * ```\n */\n createAssetWithId(id: string, data: Omit<AssetProps, 'sys'>) {\n raiseDeprecationWarning('createAssetWithId')\n return http\n .put('assets/' + id, data)\n .then((response) => wrapAsset(http, response.data), errorHandler)\n },\n /**\n * Creates a Asset based on files. After creation, call asset.processForLocale or asset.processForAllLocales to start asset processing.\n * @deprecated since version 5.0\n * @param data - Object representation of the Asset to be created. Note that the field object should have an uploadFrom property on asset creation, which will be removed and replaced with an url property when processing is finished.\n * @param data.fields.file.[LOCALE].file - Can be a string, an ArrayBuffer or a Stream.\n * @return Promise for the newly created Asset\n * @example ```javascript\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n * client.getSpace('<space_id>')\n * .then((space) => space.createAssetFromFiles({\n * fields: {\n * file: {\n * 'en-US': {\n * contentType: 'image/jpeg',\n * fileName: 'filename_english.jpg',\n * file: createReadStream('path/to/filename_english.jpg')\n * },\n * 'de-DE': {\n * contentType: 'image/svg+xml',\n * fileName: 'filename_german.svg',\n * file: '<svg><path fill=\"red\" d=\"M50 50h150v50H50z\"/></svg>'\n * }\n * }\n * }\n * }))\n * .then((asset) => console.log(asset))\n * .catch(console.error)\n * ```\n */\n createAssetFromFiles(data: Omit<AssetFileProp, 'sys'>) {\n raiseDeprecationWarning('createAssetFromFiles')\n const { file } = data.fields\n return Promise.all(\n Object.keys(file).map((locale) => {\n const { contentType, fileName } = file[locale]\n return createUpload(file[locale]).then((upload) => {\n return {\n [locale]: {\n contentType,\n fileName,\n uploadFrom: {\n sys: {\n type: 'Link',\n linkType: 'Upload',\n id: upload.sys.id,\n },\n },\n },\n }\n })\n })\n )\n .then((uploads) => {\n // @ts-expect-error\n data.fields.file = uploads.reduce((fieldsData, upload) => {\n return {\n ...fieldsData,\n ...upload,\n }\n }, {})\n return createAsset(data)\n })\n .catch(errorHandler)\n },\n /**\n * Gets an Upload\n * @deprecated since version 5.0\n * @param id - Upload ID\n * @return Promise for an Upload\n * @example ```javascript\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n * const uploadStream = createReadStream('path/to/filename_english.jpg')\n * client.getSpace('<space_id>')\n * .then((space) => space.getUpload('<upload-id>')\n * .then((upload) => console.log(upload))\n * .catch(console.error)\n * ```\n */\n getUpload(id: string) {\n raiseDeprecationWarning('getUpload')\n return httpUpload\n .get('uploads/' + id)\n .then((response) => wrapUpload(http, response.data))\n .catch(errorHandler)\n },\n /**\n * Gets a Locale\n * @deprecated since version 5.0\n * @param id - Locale ID\n * @return Promise for an Locale\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getLocale('<locale_id>'))\n * .then((locale) => console.log(locale))\n * .catch(console.error)\n * ```\n */\n getLocale(id: string) {\n raiseDeprecationWarning('getLocale')\n return http\n .get('locales/' + id)\n .then((response) => wrapLocale(http, response.data), errorHandler)\n },\n\n /**\n * Gets a collection of Locales\n * @deprecated since version 5.0\n * @return Promise for a collection of Locales\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getLocales())\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getLocales() {\n raiseDeprecationWarning('getLocales')\n return http\n .get('locales')\n .then((response) => wrapLocaleCollection(http, response.data), errorHandler)\n },\n\n /**\n * Creates a Locale\n * @deprecated since version 5.0\n * @param data - Object representation of the Locale to be created\n * @return Promise for the newly created Locale\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * // Create locale\n * client.getSpace('<space_id>')\n * .then((space) => space.createLocale({\n * name: 'German (Austria)',\n * code: 'de-AT',\n * fallbackCode: 'de-DE',\n * optional: true\n * }))\n * .then((locale) => console.log(locale))\n * .catch(console.error)\n * ```\n */\n createLocale(data: Omit<LocaleProps, 'sys'>) {\n raiseDeprecationWarning('createLocale')\n return http\n .post('locales', data)\n .then((response) => wrapLocale(http, response.data), errorHandler)\n },\n /**\n * Gets a Webhook\n * @param id - Webhook ID\n * @return Promise for a Webhook\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getWebhook('<webhook_id>'))\n * .then((webhook) => console.log(webhook))\n * .catch(console.error)\n * ```\n */\n getWebhook(id: string) {\n return http\n .get('webhook_definitions/' + id)\n .then((response) => wrapWebhook(http, response.data), errorHandler)\n },\n\n /**\n * Gets a collection of Webhooks\n * @return Promise for a collection of Webhooks\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getWebhooks())\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getWebhooks() {\n return http\n .get('webhook_definitions')\n .then((response) => wrapWebhookCollection(http, response.data), errorHandler)\n },\n\n /**\n * Creates a Webhook\n * @param data - Object representation of the Webhook to be created\n * @return Promise for the newly created Webhook\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createWebhook({\n * 'name': 'My webhook',\n * 'url': 'https://www.example.com/test',\n * 'topics': [\n * 'Entry.create',\n * 'ContentType.create',\n * '*.publish',\n * 'Asset.*'\n * ]\n * }))\n * .then((webhook) => console.log(webhook))\n * .catch(console.error)\n * ```\n */\n createWebhook(data: Omit<WebhookProps, 'sys'>) {\n return http\n .post('webhook_definitions', data)\n .then((response) => wrapWebhook(http, response.data), errorHandler)\n },\n\n /**\n * Creates a Webhook with a custom ID\n * @param id - Webhook ID\n * @param data - Object representation of the Webhook to be created\n * @return Promise for the newly created Webhook\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createWebhookWithId('<webhook_id>', {\n * 'name': 'My webhook',\n * 'url': 'https://www.example.com/test',\n * 'topics': [\n * 'Entry.create',\n * 'ContentType.create',\n * '*.publish',\n * 'Asset.*'\n * ]\n * }))\n * .then((webhook) => console.log(webhook))\n * .catch(console.error)\n * ```\n */\n createWebhookWithId(id: string, data: Omit<WebhookProps, 'sys'>) {\n return http\n .put('webhook_definitions/' + id, data)\n .then((response) => wrapWebhook(http, response.data), errorHandler)\n },\n /**\n * Gets a Role\n * @param id - Role ID\n * @return Promise for a Role\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createRole({\n * fields: {\n * title: {\n * 'en-US': 'Role title'\n * }\n * }\n * }))\n * .then((role) => console.log(role))\n * .catch(console.error)\n * ```\n */\n getRole(id: string) {\n return http.get('roles/' + id).then((response) => wrapRole(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of Roles\n * @return Promise for a collection of Roles\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getRoles())\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getRoles() {\n return http\n .get('roles')\n .then((response) => wrapRoleCollection(http, response.data), errorHandler)\n },\n\n /**\n * Creates a Role\n * @param data - Object representation of the Role to be created\n * @return Promise for the newly created Role\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n * client.getSpace('<space_id>')\n * .then((space) => space.createRole({\n * name: 'My Role',\n * description: 'foobar role',\n * permissions: {\n * ContentDelivery: 'all',\n * ContentModel: ['read'],\n * Settings: []\n * },\n * policies: [\n * {\n * effect: 'allow',\n * actions: 'all',\n * constraint: {\n * and: [\n * {\n * equals: [\n * { doc: 'sys.type' },\n * 'Entry'\n * ]\n * },\n * {\n * equals: [\n * { doc: 'sys.type' },\n * 'Asset'\n * ]\n * }\n * ]\n * }\n * }\n * ]\n * }))\n * .then((role) => console.log(role))\n * .catch(console.error)\n * ```\n */\n createRole(data: Omit<RoleProps, 'sys'>) {\n return http\n .post('roles', data)\n .then((response) => wrapRole(http, response.data), errorHandler)\n },\n /**\n * Creates a Role with a custom ID\n * @param id - Role ID\n * @param data - Object representation of the Role to be created\n * @return Promise for the newly created Role\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n * client.getSpace('<space_id>')\n * .then((space) => space.createRoleWithId('<role-id>', {\n * name: 'My Role',\n * description: 'foobar role',\n * permissions: {\n * ContentDelivery: 'all',\n * ContentModel: ['read'],\n * Settings: []\n * },\n * policies: [\n * {\n * effect: 'allow',\n * actions: 'all',\n * constraint: {\n * and: [\n * {\n * equals: [\n * { doc: 'sys.type' },\n * 'Entry'\n * ]\n * },\n * {\n * equals: [\n * { doc: 'sys.type' },\n * 'Asset'\n * ]\n * }\n * ]\n * }\n * }\n * ]\n * }))\n * .then((role) => console.log(role))\n * .catch(console.error)\n * ```\n */\n createRoleWithId(id: string, data: Omit<RoleProps, 'sys'>) {\n return http\n .put('roles/' + id, data)\n .then((response) => wrapRole(http, response.data), errorHandler)\n },\n /**\n * Gets a User\n * @param id - User ID\n * @return Promise for a User\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getSpaceUser('id'))\n * .then((user) => console.log(user))\n * .catch(console.error)\n * ```\n */\n getSpaceUser(id: string) {\n return http.get('users/' + id).then((response) => wrapUser(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of Users in a space\n * @param query - Object with search parameters. Check the <a href=\"https://www.contentful.com/developers/docs/javascript/tutorials/using-js-cda-sdk/#retrieving-entries-with-search-parameters\">JS SDK tutorial</a> and the <a href=\"https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters\">REST API reference</a> for more details.\n * @return Promise a collection of Users in a space\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getSpaceUsers(query))\n * .then((data) => console.log(data))\n * .catch(console.error)\n * ```\n */\n getSpaceUsers(query: QueryOptions = {}) {\n return http\n .get('users/', createRequestConfig({ query: query }))\n .then((response) => wrapUserCollection(http, response.data), errorHandler)\n },\n /**\n * Gets a Space Member\n * @param id Get Space Member by user_id\n * @return Promise for a Space Member\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getSpaceMember(id))\n * .then((spaceMember) => console.log(spaceMember))\n * .catch(console.error)\n * ```\n */\n getSpaceMember(id: string) {\n return http\n .get('space_members/' + id)\n .then((response) => wrapSpaceMember(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of Space Members\n * @param query\n * @return Promise for a collection of Space Members\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getSpaceMembers({'limit': 100}))\n * .then((spaceMemberCollection) => console.log(spaceMemberCollection))\n * .catch(console.error)\n * ```\n */\n getSpaceMembers(query: QueryOptions = {}) {\n return http\n .get('space_members', createRequestConfig({ query: query }))\n .then((response) => wrapSpaceMemberCollection(http, response.data), errorHandler)\n },\n /**\n * Gets a Space Membership\n * Warning: the user attribute in the space membership root is deprecated. The attribute has been moved inside the sys object (i.e. sys.user).\n * @param id - Space Membership ID\n * @return Promise for a Space Membership\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getSpaceMembership('id'))\n * .then((spaceMembership) => console.log(spaceMembership))\n * .catch(console.error)\n * ```\n */\n getSpaceMembership(id: string) {\n spaceMembershipDeprecationWarning()\n return http\n .get('space_memberships/' + id)\n .then((response) => wrapSpaceMembership(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of Space Memberships\n * Warning: the user attribute in the space membership root is deprecated. The attribute has been moved inside the sys object (i.e. sys.user).\n * @param query - Object with search parameters. Check the <a href=\"https://www.contentful.com/developers/docs/javascript/tutorials/using-js-cda-sdk/#retrieving-entries-with-search-parameters\">JS SDK tutorial</a> and the <a href=\"https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters\">REST API reference</a> for more details.\n * @return Promise for a collection of Space Memberships\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getSpaceMemberships({'limit': 100})) // you can add more queries as 'key': 'value'\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getSpaceMemberships(query: QueryOptions = {}) {\n spaceMembershipDeprecationWarning()\n return http\n .get('space_memberships', createRequestConfig({ query: query }))\n .then((response) => wrapSpaceMembershipCollection(http, response.data), errorHandler)\n },\n\n /**\n * Creates a Space Membership\n * Warning: the user attribute in the space membership root is deprecated. The attribute has been moved inside the sys object (i.e. sys.user).\n * @param data - Object representation of the Space Membership to be created\n * @return Promise for the newly created Space Membership\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createSpaceMembership({\n * admin: false,\n * roles: [\n * {\n * type: 'Link',\n * linkType: 'Role',\n * id: '<role_id>'\n * }\n * ],\n * email: 'foo@example.com'\n * }))\n * .then((spaceMembership) => console.log(spaceMembership))\n * .catch(console.error)\n * ```\n */\n createSpaceMembership(data: Omit<SpaceMembershipProps, 'sys'>) {\n spaceMembershipDeprecationWarning()\n return http\n .post('space_memberships', data)\n .then((response) => wrapSpaceMembership(http, response.data), errorHandler)\n },\n /**\n * Creates a Space Membership with a custom ID\n * Warning: the user attribute in the space membership root is deprecated. The attribute has been moved inside the sys object (i.e. sys.user).\n * @param id - Space Membership ID\n * @param data - Object representation of the Space Membership to be created\n * @return Promise for the newly created Space Membership\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createSpaceMembershipWithId('<space-membership-id>', {\n * admin: false,\n * roles: [\n * {\n * type: 'Link',\n * linkType: 'Role',\n * id: '<role_id>'\n * }\n * ],\n * email: 'foo@example.com'\n * }))\n * .then((spaceMembership) => console.log(spaceMembership))\n * .catch(console.error)\n * ```\n */\n createSpaceMembershipWithId(id: string, data: Omit<SpaceMembershipProps, 'sys'>) {\n spaceMembershipDeprecationWarning()\n return http\n .put('space_memberships/' + id, data)\n .then((response) => wrapSpaceMembership(http, response.data), errorHandler)\n },\n\n /**\n * Gets a Team Space Membership\n * @param id - Team Space Membership ID\n * @return Promise for a Team Space Membership\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getTeamSpaceMembership('team_space_membership_id'))\n * .then((teamSpaceMembership) => console.log(teamSpaceMembership))\n * .catch(console.error)\n * ```\n */\n getTeamSpaceMembership(teamSpaceMembershipId: string) {\n return http\n .get('team_space_memberships/' + teamSpaceMembershipId)\n .then((response) => wrapTeamSpaceMembership(http, response.data), errorHandler)\n },\n\n /**\n * Gets a collection of Team Space Memberships\n * @param query - Object with search parameters. Check the <a href=\"https://www.contentful.com/developers/docs/javascript/tutorials/using-js-cda-sdk/#retrieving-entries-with-search-parameters\">JS SDK tutorial</a> and the <a href=\"https://www.contentful.com/developers/docs/references/content-delivery-api/#/reference/search-parameters\">REST API reference</a> for more details.\n * @return Promise for a collection of Team Space Memberships\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getTeamSpaceMemberships())\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getTeamSpaceMemberships(query: QueryOptions = {}) {\n return http\n .get('team_space_memberships', createRequestConfig({ query: query }))\n .then((response) => wrapTeamSpaceMembershipCollection(http, response.data), errorHandler)\n },\n /**\n * Creates a Team Space Membership\n * @param id - Team ID\n * @param data - Object representation of the Team Space Membership to be created\n * @return Promise for the newly created Team Space Membership\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createTeamSpaceMembership('team_id', {\n * admin: false,\n * roles: [\n * {\n sys: {\n * type: 'Link',\n * linkType: 'Role',\n * id: '<role_id>'\n * }\n * }\n * ],\n * }))\n * .then((teamSpaceMembership) => console.log(teamSpaceMembership))\n * .catch(console.error)\n * ```\n */\n createTeamSpaceMembership(teamId: string, data: Omit<TeamSpaceMembershipProps, 'sys'>) {\n return http\n .post('team_space_memberships', data, {\n headers: {\n 'x-contentful-team': teamId,\n },\n })\n .then((response) => wrapTeamSpaceMembership(http, response.data), errorHandler)\n },\n /**\n * Gets a Api Key\n * @param id - API Key ID\n * @return Promise for a Api Key\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getApiKey('<apikey-id>'))\n * .then((apikey) => console.log(apikey))\n * .catch(console.error)\n * ```\n */\n getApiKey(id: string) {\n return http\n .get('api_keys/' + id)\n .then((response) => wrapApiKey(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of Api Keys\n * @return Promise for a collection of Api Keys\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getApiKeys())\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getApiKeys() {\n return http\n .get('api_keys')\n .then((response) => wrapApiKeyCollection(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of preview Api Keys\n * @return Promise for a collection of Preview Api Keys\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getPreviewApiKeys())\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getPreviewApiKeys() {\n return http\n .get('preview_api_keys')\n .then((response) => wrapPreviewApiKeyCollection(http, response.data), errorHandler)\n },\n /**\n * Gets a preview Api Key\n * @param id - Preview API Key ID\n * @return Promise for a Preview Api Key\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getPreviewApiKey('<preview-apikey-id>'))\n * .then((previewApikey) => console.log(previewApikey))\n * .catch(console.error)\n * ```\n */\n getPreviewApiKey(id: string) {\n return http\n .get('preview_api_keys/' + id)\n .then((response) => wrapPreviewApiKey(http, response.data), errorHandler)\n },\n /**\n * Creates a Api Key\n * @param data - Object representation of the Api Key to be created\n * @return Promise for the newly created Api Key\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createApiKey({\n * name: 'API Key name',\n * environments:[\n * {\n * sys: {\n * type: 'Link'\n * linkType: 'Environment',\n * id:'<environment_id>'\n * }\n * }\n * ]\n * }\n * }))\n * .then((apiKey) => console.log(apiKey))\n * .catch(console.error)\n * ```\n */\n createApiKey: function createApiKey(data: CreateApiKeyProps) {\n return http\n .post('api_keys', data)\n .then((response) => wrapApiKey(http, response.data), errorHandler)\n },\n /**\n * Creates a Api Key with a custom ID\n * @param id - Api Key ID\n * @param data - Object representation of the Api Key to be created\n * @return Promise for the newly created Api Key\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createApiKeyWithId('<api-key-id>', {\n * name: 'API Key name'\n * environments:[\n * {\n * sys: {\n * type: 'Link'\n * linkType: 'Environment',\n * id:'<environment_id>'\n * }\n * }\n * ]\n * }\n * }))\n * .then((apiKey) => console.log(apiKey))\n * .catch(console.error)\n * ```\n */\n createApiKeyWithId(id: string, data: CreateApiKeyProps) {\n return http\n .put('api_keys/' + id, data)\n .then((response) => wrapApiKey(http, response.data), errorHandler)\n },\n /**\n * Gets an UI Extension\n * @deprecated since version 5.0\n * @param id - UI Extension ID\n * @return Promise for an UI Extension\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getUiExtension('<extension-id>'))\n * .then((uiExtension) => console.log(uiExtension))\n * .catch(console.error)\n * ```\n */\n getUiExtension(id: string) {\n raiseDeprecationWarning('getUiExtension')\n return http\n .get('extensions/' + id)\n .then((response) => wrapUiExtension(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of UI Extension\n * @deprecated since version 5.0\n * @return Promise for a collection of UI Extensions\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getUiExtensions()\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getUiExtensions() {\n raiseDeprecationWarning('getUiExtensions')\n return http\n .get('extensions')\n .then((response) => wrapUiExtensionCollection(http, response.data), errorHandler)\n },\n /**\n * Creates a UI Extension\n * @deprecated since version 5.0\n * @param data - Object representation of the UI Extension to be created\n * @return Promise for the newly created UI Extension\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createUiExtension({\n * extension: {\n * name: 'My awesome extension',\n * src: 'https://example.com/my',\n * fieldTypes: [\n * {\n * type: 'Symbol'\n * },\n * {\n * type: 'Text'\n * }\n * ],\n * sidebar: false\n * }\n * }))\n * .then((uiExtension) => console.log(uiExtension))\n * .catch(console.error)\n * ```\n */\n createUiExtension(data: Omit<UIExtensionProps, 'sys'>) {\n raiseDeprecationWarning('createUiExtension')\n return http\n .post('extensions', data)\n .then((response) => wrapUiExtension(http, response.data), errorHandler)\n },\n /**\n * Creates a UI Extension with a custom ID\n * @deprecated since version 5.0\n * @param id - UI Extension ID\n * @param data - Object representation of the UI Extension to be created\n * @return Promise for the newly created UI Extension\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.createUiExtensionWithId('<extension_id>', {\n * extension: {\n * name: 'My awesome extension',\n * src: 'https://example.com/my',\n * fieldTypes: [\n * {\n * type: 'Symbol'\n * },\n * {\n * type: 'Text'\n * }\n * ],\n * sidebar: false\n * }\n * }))\n * .then((uiExtension) => console.log(uiExtension))\n * .catch(console.error)\n * ```\n */\n createUiExtensionWithId(id: string, data: Omit<UIExtensionProps, 'sys'>) {\n raiseDeprecationWarning('createUiExtensionWithId')\n return http\n .put('extensions/' + id, data)\n .then((response) => wrapUiExtension(http, response.data), errorHandler)\n },\n\n /**\n * Gets all snapshots of an entry\n * @deprecated since version 5.0\n * @param entryId - Entry ID\n * @param query - additional query paramaters\n * @return Promise for a collection of Entry Snapshots\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEntrySnapshots('<entry_id>'))\n * .then((snapshots) => console.log(snapshots.items))\n * .catch(console.error)\n * ```\n */\n getEntrySnapshots(entryId: string, query: QueryOptions = {}) {\n raiseDeprecationWarning('getEntrySnapshots')\n return http\n .get(`entries/${entryId}/snapshots`, createRequestConfig({ query: query }))\n .then((response) => wrapSnapshotCollection(http, response.data), errorHandler)\n },\n /**\n * Gets all snapshots of a contentType\n * @deprecated since version 5.0\n * @param contentTypeId - Content Type ID\n * @param query - additional query paramaters\n * @return Promise for a collection of Content Type Snapshots\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getContentTypeSnapshots('<contentTypeId>'))\n * .then((snapshots) => console.log(snapshots.items))\n * .catch(console.error)\n * ```\n */\n getContentTypeSnapshots(contentTypeId: string, query: QueryOptions = {}) {\n raiseDeprecationWarning('getContentTypeSnapshots')\n return http\n .get(`content_types/${contentTypeId}/snapshots`, createRequestConfig({ query: query }))\n .then((response) => wrapSnapshotCollection(http, response.data), errorHandler)\n },\n /**\n * Gets an Environment Alias\n * @param Environment Alias ID\n * @return Promise for an Environment Alias\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironmentAlias('<alias-id>'))\n * .then((alias) => console.log(alias))\n * .catch(console.error)\n * ```\n */\n getEnvironmentAlias(id: string) {\n return http\n .get('environment_aliases/' + id)\n .then((response) => wrapEnvironmentAlias(http, response.data), errorHandler)\n },\n /**\n * Gets a collection of Environment Aliases\n * @return Promise for a collection of Environment Aliases\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironmentAliases()\n * .then((response) => console.log(response.items))\n * .catch(console.error)\n * ```\n */\n getEnvironmentAliases() {\n return http\n .get('environment_aliases')\n .then((response) => wrapEnvironmentAliasCollection(http, response.data), errorHandler)\n },\n }\n}\n","/**\n * This method enhances a base object which would normally contain data, with\n * methods from another object that might work on manipulating that data.\n * All the added methods are set as non enumerable, non configurable, and non\n * writable properties. This ensures that if we try to clone or stringify the\n * base object, we don't have to worry about these additional methods.\n * @private\n * @param {object} baseObject - Base object with data\n * @param {object} methodsObject - Object with methods as properties. The key\n * values used here will be the same that will be defined on the baseObject.\n */\nexport default function enhanceWithMethods<\n B extends Record<string, unknown>,\n M extends Record<string, Function>\n>(baseObject: B, methodsObject: M): M & B {\n // @ts-expect-error\n return Object.keys(methodsObject).reduce((enhancedObject, methodName) => {\n Object.defineProperty(enhancedObject, methodName, {\n enumerable: false,\n configurable: true,\n writable: false,\n value: methodsObject[methodName],\n })\n return enhancedObject\n }, baseObject)\n}\n","import cloneDeep from 'lodash/cloneDeep'\nimport { AxiosInstance } from 'axios'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { createUpdateEntity, createDeleteEntity } from '../instance-actions'\nimport { MetaLinkProps, MetaSysProps, DefaultElements } from '../common-types'\nimport { wrapCollection } from '../common-utils'\n\nexport type ApiKeyProps = {\n sys: MetaSysProps\n name: string\n accessToken: string\n environments: {\n sys: MetaLinkProps\n }[]\n preview_api_key: { sys: MetaLinkProps }\n description?: string\n policies?: { effect: string; action: string }[]\n}\n\nexport type CreateApiKeyProps = Pick<ApiKeyProps, 'name' | 'environments' | 'description'>\n\nexport interface ApiKey extends ApiKeyProps, DefaultElements<ApiKeyProps> {\n /**\n * Deletes this object on the server.\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n * client.getSpace('<space_id>')\n * .then((space) => space.getApiKey(<api-key-id>))\n * .then((apiKey) => apiKey.delete())\n * .then(() => console.log('apikey deleted'))\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n * client.getSpace('<space_id>')\n * .then((space) => space.getApiKey(<api-key-id>))\n * .then((apiKey) => {\n * apiKey.name = 'New name'\n * return apiKey.update()\n * })\n * .then(apiKey => console.log(apiKey.name))\n * .catch(console.error)\n * ```\n */\n update(): Promise<ApiKey>\n}\n\nfunction createApiKeyApi(http: AxiosInstance) {\n return {\n update: function update() {\n const self = this as ApiKeyProps\n if ('accessToken' in self) {\n delete self.accessToken\n }\n if ('preview_api_key' in self) {\n delete self.preview_api_key\n }\n if ('policies' in self) {\n delete self.policies\n }\n const update = createUpdateEntity({\n http: http,\n entityPath: 'api_keys',\n wrapperMethod: wrapApiKey,\n })\n return update.call(self)\n },\n\n delete: createDeleteEntity({\n http: http,\n entityPath: 'api_keys',\n }),\n }\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw api key data\n */\nexport function wrapApiKey(http: AxiosInstance, data: ApiKeyProps): ApiKey {\n const apiKey = toPlainObject(cloneDeep(data))\n const apiKeyWithMethods = enhanceWithMethods(apiKey, createApiKeyApi(http))\n return freezeSys(apiKeyWithMethods)\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw api key collection data\n * @return Wrapped api key collection data\n */\nexport const wrapApiKeyCollection = wrapCollection(wrapApiKey)\n","import cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport { MetaSysProps, DefaultElements } from '../common-types'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { createUpdateEntity, createDeleteEntity } from '../instance-actions'\nimport { AxiosInstance } from 'axios'\nimport { wrapCollection } from '../common-utils'\n\nconst entityPath = 'app_definitions'\n\ntype Field =\n | 'Symbol'\n | 'Text'\n | 'RichText'\n | 'Integer'\n | 'Number'\n | 'Date'\n | 'Location'\n | 'Boolean'\n | 'Object'\n\ntype LinkType = 'Asset' | 'Entry'\n\n// Fields Types\ninterface SingleFieldType {\n type: Field\n}\n\ninterface LinkFieldType {\n type: 'Link'\n linkType: LinkType\n}\n\ninterface ArrayFieldType {\n type: 'Array'\n items: SingleFieldType | LinkFieldType\n}\n\ntype FieldType = SingleFieldType | LinkFieldType | ArrayFieldType\n\n// Locations\ntype AppLocation = 'app-config' | 'entry-sidebar' | 'entry-editor' | 'dialog' | 'page'\n\ninterface SingleLocationDefinition {\n location: AppLocation\n}\n\ninterface EntryFieldLocationDefinition {\n location: 'entry-field'\n fieldTypes: FieldType[]\n}\n\ntype LocationDefinition = SingleLocationDefinition | EntryFieldLocationDefinition\n\nexport type AppDefinitionProps = {\n /**\n * System metadata\n */\n sys: MetaSysProps\n /**\n * App name\n */\n name: string\n /**\n * URL where the root HTML document of the app can be found\n */\n src: string\n /**\n * Locations where the app can be installed\n */\n locations: LocationDefinition[]\n}\n\nexport interface AppDefinition extends AppDefinitionProps, DefaultElements<AppDefinitionProps> {\n /**\n * Deletes this object on the server.\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getAppDefinition('<ui_extension_id>'))\n * .then((appDefinition) => appDefinition.delete())\n * .then(() => console.log(`App Definition deleted.`))\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getAppDefinition('<ui_extension_id>'))\n * .then((appDefinition) => {\n * appDefinition.extension.name = 'New App Definition name'\n * return appDefinition.update()\n * })\n * .then((appDefinition) => console.log(`App Definition ${appDefinition.sys.id} updated.`))\n * .catch(console.error)\n * ```\n */\n update(): Promise<AppDefinition>\n}\n\nfunction createAppDefinitionApi(http: AxiosInstance) {\n return {\n update: createUpdateEntity({\n http,\n entityPath,\n wrapperMethod: wrapAppDefinition,\n }),\n\n delete: createDeleteEntity({\n http,\n entityPath,\n }),\n }\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw App Definition data\n * @return Wrapped App Definition data\n */\nexport function wrapAppDefinition(http: AxiosInstance, data: AppDefinitionProps): AppDefinition {\n const appDefinition = toPlainObject(cloneDeep(data))\n const appDefinitionWithMethods = enhanceWithMethods(appDefinition, createAppDefinitionApi(http))\n return freezeSys(appDefinitionWithMethods)\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw App Definition collection data\n * @return Wrapped App Definition collection data\n */\nexport const wrapAppDefinitionCollection = wrapCollection(wrapAppDefinition)\n","import { toPlainObject, freezeSys } from 'contentful-sdk-core'\nimport { AxiosInstance } from 'axios'\nimport cloneDeep from 'lodash/cloneDeep'\nimport errorHandler from '../error-handler'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { createDeleteEntity } from '../instance-actions'\nimport { wrapCollection } from '../common-utils'\nimport { MetaSysProps, MetaLinkProps, DefaultElements } from '../common-types'\n\nexport type AppInstallationProps = {\n sys: MetaSysProps & {\n appDefinition: { sys: MetaLinkProps }\n }\n /** App Installation specific configuration variables */\n parameters: {\n [key: string]: string\n }\n}\n\nexport interface AppInstallation\n extends AppInstallationProps,\n DefaultElements<AppInstallationProps> {\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment_id>'))\n * .then((environment) => environment.getAppInstallation('<app_definition_id>'))\n * .then((appInstallation) => {\n * appInstallation.parameters.someParameter = 'New Value'\n * return appInstallation.update()\n * })\n * .then((appInstallation) => console.log(`App installation ${appInstallation.sys.id} was updated`))\n * .catch(console.error)\n * ```\n */\n update(): Promise<AppInstallation>\n /**\n * Deletes this object on the server.\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironment('<environment_id>'))\n * .then((environment) => environment.getAppInstallation('<app_definition_id>'))\n * .then((appInstallation) => appInstallation.delete())\n * .then(() => console.log(`App installation deleted.`))\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n}\n\nfunction createAppInstallationApi(http: AxiosInstance) {\n return {\n update: function () {\n const self = this as AppInstallation\n const raw = self.toPlainObject()\n const data = cloneDeep(raw)\n delete data.sys\n return http\n .put(`app_installations/${self.sys.appDefinition.sys.id}`, data)\n .then((response) => wrapAppInstallation(http, response.data), errorHandler)\n },\n\n delete: createDeleteEntity({\n http: http,\n entityPath: 'app_installations',\n }),\n }\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw App Installation data\n * @return Wrapped App installation data\n */\nexport function wrapAppInstallation(\n http: AxiosInstance,\n data: AppInstallationProps\n): AppInstallation {\n const appInstallation = toPlainObject(cloneDeep(data))\n const appInstallationWithMethods = enhanceWithMethods(\n appInstallation,\n createAppInstallationApi(http)\n )\n return freezeSys(appInstallationWithMethods)\n}\n\n/**\n * @private\n */\nexport const wrapAppInstallationCollection = wrapCollection(wrapAppInstallation)\n","import cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport { Stream } from 'stream'\nimport { AxiosInstance } from 'axios'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport errorHandler from '../error-handler'\nimport { MetaSysProps, DefaultElements } from '../common-types'\nimport { wrapCollection } from '../common-utils'\nimport {\n createUpdateEntity,\n createDeleteEntity,\n createPublishEntity,\n createUnpublishEntity,\n createArchiveEntity,\n createUnarchiveEntity,\n createPublishedChecker,\n createUpdatedChecker,\n createDraftChecker,\n createArchivedChecker,\n} from '../instance-actions'\n\nexport type AssetProps = {\n sys: {\n /** If present, indicates the locale which this asset uses */\n locale: string\n } & MetaSysProps\n fields: {\n /** Title for this asset */\n title: { [key: string]: string }\n /** Description for this asset */\n description: { [key: string]: string }\n /** File object for this asset */\n file: {\n [key: string]: {\n fileName: string\n contentType: string\n /** Url where the file is available to be downloaded from, into the Contentful asset system. After the asset is processed this field is gone. */\n upload?: string\n /** Url where the file is available at the Contentful media asset system. This field won't be available until the asset is processed. */\n url?: string\n /** Details for the file, depending on file type (example: image size in bytes, etc) */\n details?: Record<string, any>\n uploadFrom?: Record<string, any>\n }\n }\n }\n}\n\nexport interface AssetFileProp {\n sys: MetaSysProps\n fields: {\n title: { [key: string]: string }\n description: { [key: string]: string }\n file: {\n [key: string]: {\n file: string | ArrayBuffer | Stream\n contentType: string\n fileName: string\n }\n }\n }\n}\n\nexport interface AssetProcessingForLocale {\n processingCheckWait?: number\n processingCheckRetries?: number\n}\n\ntype AssetApi = {\n /**\n * Triggers asset processing after an upload, for the files uploaded to all locales of an asset.\n * @param options - Additional options for processing\n * @prop options.processingCheckWait - Time in milliseconds to wait before checking again if the asset has been processed (default: 500ms)\n * @prop options.processingCheckRetries - Maximum amount of times to check if the asset has been processed (default: 5)\n * @return Object returned from the server with updated metadata.\n * @throws {AssetProcessingTimeout} If the asset takes too long to process. If this happens, retrieve the asset again, and if the url property is available, then processing has succeeded. If not, your file might be damaged.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n * client.getSpace('<space_id>')\n * .then((space) => space.createAssetWithId('<asset_id>', {\n * title: {\n * 'en-US': 'Playsam Streamliner',\n * 'de-DE': 'Playsam Streamliner'\n * },\n * file: {\n * 'en-US': {\n * contentType: 'image/jpeg',\n * fileName: 'example.jpeg',\n * upload: 'https://example.com/example.jpg'\n * },\n * 'de-DE': {\n * contentType: 'image/jpeg',\n * fileName: 'example.jpeg',\n * upload: 'https://example.com/example-de.jpg'\n * }\n * }\n * }))\n * .then((asset) => asset.processForAllLocales())\n * .then((asset) => console.log(asset))\n * .catch(console.error)\n * ```\n */\n processForAllLocales(options?: AssetProcessingForLocale): Promise<Asset>\n /**\n * Triggers asset processing after an upload, for the file uploaded to a specific locale.\n * @param locale - Locale which processing should be triggered for\n * @param options - Additional options for processing\n * @prop options.processingCheckWait - Time in milliseconds to wait before checking again if the asset has been processed (default: 500ms)\n * @prop options.processingCheckRetries - Maximum amount of times to check if the asset has been processed (default: 5)\n * @return Object returned from the server with updated metadata.\n * @throws {AssetProcessingTimeout} If the asset takes too long to process. If this happens, retrieve the asset again, and if the url property is available, then processing has succeeded. If not, your file might be damaged.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n * client.getSpace('<space_id>')\n * .then((space) => space.createAssetWithId('<asset_id>', {\n * title: {\n * 'en-US': 'Playsam Streamliner',\n * },\n * file: {\n * 'en-US': {\n * contentType: 'image/jpeg',\n * fileName: 'example.jpeg',\n * upload: 'https://example.com/example.jpg'\n * }\n * }\n * }))\n * .then((asset) => asset.processForLocale('en-US'))\n * .then((asset) => console.log(asset))\n * .catch(console.error)\n * ```\n */\n processForLocale(locale: string, Options?: AssetProcessingForLocale): Promise<Asset>\n /**\n * Publishes the object\n * @return Object returned from the server with updated metadata.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getAsset('<asset_id>'))\n * .then((asset) => asset.publish())\n * .then((asset) => console.log(`Asset ${asset.sys.id} published.`)\n * .catch(console.error)\n * ```\n */\n publish(): Promise<Asset>\n /**\n * Archives the object\n * @return Object returned from the server with updated metadata.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getAsset('<asset_id>'))\n * .then((asset) => asset.archive())\n * .then((asset) => console.log(`Asset ${asset.sys.id} archived.`)\n * .catch(console.error)\n * ```\n */\n archive(): Promise<Asset>\n /**\n * Deletes this object on the server.\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getAsset('<asset_id>'))\n * .then((asset) => asset.delete())\n * .then((asset) => console.log(`Asset deleted.`)\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n /**\n * Unarchives the object\n * @return Object returned from the server with updated metadata.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getAsset('<asset_id>'))\n * .then((asset) => asset.unarchive())\n * .then((asset) => console.log(`Asset ${asset.sys.id} unarchived.`)\n * .catch(console.error)\n * ```\n */\n unarchive(): Promise<Asset>\n /**\n * Unpublishes the object\n * @return Object returned from the server with updated metadata.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getAsset('<asset_id>'))\n * .then((asset) => asset.unpublish())\n * .then((asset) => console.log(`Asset ${asset.sys.id} unpublished.`)\n * .catch(console.error)\n * ```\n */\n unpublish(): Promise<Asset>\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getAsset('<asset_id>'))\n * .then((asset) => {\n * asset.fields.title['en-US'] = 'New asset title'\n * return asset.update()\n * })\n * .then((asset) => console.log(`Asset ${asset.sys.id} updated.`)\n * .catch(console.error)\n * ```\n */\n update(): Promise<Asset>\n /**\n * Checks if the asset is published. A published asset might have unpublished changes\n */\n isPublished(): boolean\n /**\n * Checks if the asset is updated. This means the asset was previously published but has unpublished changes.\n */\n isUpdated(): boolean\n /**\n * Checks if the asset is in draft mode. This means it is not published.\n */\n isDraft(): boolean\n /**\n * Checks if asset is archived. This means it's not exposed to the Delivery/Preview APIs.\n */\n isArchived(): boolean\n}\n\nexport interface Asset extends AssetProps, DefaultElements<AssetProps>, AssetApi {}\n\nconst ASSET_PROCESSING_CHECK_WAIT = 3000\nconst ASSET_PROCESSING_CHECK_RETRIES = 10\n\nfunction createAssetApi(http: AxiosInstance): AssetApi {\n function checkIfAssetHasUrl({\n resolve,\n reject,\n id,\n locale,\n processingCheckWait = ASSET_PROCESSING_CHECK_WAIT,\n processingCheckRetries = ASSET_PROCESSING_CHECK_RETRIES,\n checkCount = 0,\n }: {\n resolve: Function\n reject: Function\n id: string\n locale: string\n checkCount?: number\n } & AssetProcessingForLocale) {\n http\n .get('assets/' + id)\n .then((response) => wrapAsset(http, response.data), errorHandler)\n .then((asset) => {\n if (asset.fields.file[locale].url) {\n resolve(asset)\n } else if (checkCount === processingCheckRetries) {\n const error = new Error()\n error.name = 'AssetProcessingTimeout'\n error.message = 'Asset is taking longer then expected to process.'\n reject(error)\n } else {\n checkCount++\n setTimeout(\n () =>\n checkIfAssetHasUrl({\n resolve: resolve,\n reject: reject,\n id: id,\n locale: locale,\n checkCount: checkCount,\n processingCheckWait,\n processingCheckRetries,\n }),\n processingCheckWait\n )\n }\n })\n }\n\n function processForLocale(\n locale: string,\n { processingCheckWait, processingCheckRetries }: AssetProcessingForLocale = {}\n ): Promise<Asset> {\n const assetId = this.sys.id\n return http\n .put('assets/' + this.sys.id + '/files/' + locale + '/process', null, {\n headers: {\n 'X-Contentful-Version': this.sys.version,\n },\n })\n .then(() => {\n return new Promise((resolve, reject) =>\n checkIfAssetHasUrl({\n resolve: resolve,\n reject: reject,\n id: assetId,\n locale: locale,\n processingCheckWait: processingCheckWait,\n processingCheckRetries: processingCheckRetries,\n })\n )\n }, errorHandler)\n }\n\n function processForAllLocales(options: AssetProcessingForLocale = {}): Promise<Asset> {\n const self = this as Asset\n const locales = Object.keys(this.fields.file || {})\n\n let mostUpToDateAssetVersion: Asset | undefined = undefined\n\n // Let all the locales process\n // Since they all resolve at different times,\n // we need to pick the last resolved value\n // to reflect the most recent state\n const allProcessingLocales = locales.map((locale) =>\n processForLocale.call(self, locale, options).then((result) => {\n // Side effect of always setting the most up to date asset version\n // The last one to call this will be the last one that finished\n // and thus the most up to date\n mostUpToDateAssetVersion = result\n })\n )\n\n return Promise.all(allProcessingLocales).then(() => mostUpToDateAssetVersion as Asset)\n }\n\n return {\n update: createUpdateEntity({\n http: http,\n entityPath: 'assets',\n wrapperMethod: wrapAsset,\n }),\n\n delete: createDeleteEntity({\n http: http,\n entityPath: 'assets',\n }),\n\n publish: createPublishEntity({\n http: http,\n entityPath: 'assets',\n wrapperMethod: wrapAsset,\n }),\n\n unpublish: createUnpublishEntity({\n http: http,\n entityPath: 'assets',\n wrapperMethod: wrapAsset,\n }),\n\n archive: createArchiveEntity({\n http: http,\n entityPath: 'assets',\n wrapperMethod: wrapAsset,\n }),\n\n unarchive: createUnarchiveEntity({\n http: http,\n entityPath: 'assets',\n wrapperMethod: wrapAsset,\n }),\n\n processForLocale: processForLocale,\n\n processForAllLocales: processForAllLocales,\n\n isPublished: createPublishedChecker(),\n\n isUpdated: createUpdatedChecker(),\n\n isDraft: createDraftChecker(),\n\n isArchived: createArchivedChecker(),\n }\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw asset data\n * @return Wrapped asset data\n */\nexport function wrapAsset(http: AxiosInstance, data: AssetProps): Asset {\n const asset = toPlainObject(cloneDeep(data))\n const assetWithMethods = enhanceWithMethods(asset, createAssetApi(http))\n return freezeSys(assetWithMethods)\n}\n\n/**\n * @private\n */\nexport const wrapAssetCollection = wrapCollection(wrapAsset)\n","import { AxiosInstance } from 'axios'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject, createRequestConfig } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { wrapCollection } from '../common-utils'\nimport {\n createUpdateEntity,\n createDeleteEntity,\n createPublishEntity,\n createUnpublishEntity,\n createPublishedChecker,\n createUpdatedChecker,\n createDraftChecker,\n} from '../instance-actions'\nimport { wrapEditorInterface } from './editor-interface'\nimport errorHandler from '../error-handler'\nimport { wrapSnapshot, wrapSnapshotCollection, Snapshot } from './snapshot'\n\nimport { ContentFields } from './content-type-fields'\nimport { MetaSysProps, DefaultElements, Collection, QueryOptions } from '../common-types'\nimport { EditorInterface } from './editor-interface'\nimport { SnapshotProps } from './snapshot'\n\nexport type ContentTypeProps = {\n sys: MetaSysProps\n name: string\n description: string\n /** Field used as the main display field for Entries */\n displayField: string\n /** All the fields contained in this Content Type */\n fields: ContentFields[]\n}\n\ntype ContentTypeApi = {\n /**\n * Sends an update to the server with any changes made to the object's properties. <br />\n * <strong>Important note about deleting fields</strong>: The standard way to delete a field is with two updates: first omit the property from your responses (set the field attribute \"omitted\" to true), and then\n * delete it by setting the attribute \"deleted\" to true. See the \"Deleting fields\" section in the\n * <a href=\"https://www.contentful.com/developers/docs/references/content-management-api/#/reference/content-types/content-type\">API reference</a> for more reasoning. Alternatively,\n * you may use the convenience method omitAndDeleteField to do both steps at once.\n * @return Object returned from the server with updated changes.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getContentType('<contentType_id>'))\n * .then((contentType) => {\n * contentType.name = 'New name'\n * return contentType.update()\n * })\n * .then(contentType => console.log(contentType))\n * .catch(console.error)\n * ```\n */\n update(): Promise<ContentType>\n\n /**\n * Deletes this object on the server.\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getContentType('<contentType_id>'))\n * .then((contentType) => contentType.delete())\n * .then(() => console.log('contentType deleted'))\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n /**\n * Publishes the object\n * @return Object returned from the server with updated metadata.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getContentType('<contentType_id>'))\n * .then((contentType) => contentType.publish())\n * .then((contentType) => console.log(`${contentType.sys.id} is published`))\n * .catch(console.error)\n * ```\n */\n publish(): Promise<ContentType>\n /**\n * Unpublishes the object\n * @return Object returned from the server with updated metadata.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getContentType('<contentType_id>'))\n * .then((contentType) => contentType.unpublish())\n * .then((contentType) => console.log(`${contentType.sys.id} is unpublished`))\n * .catch(console.error)\n * ```\n */\n unpublish(): Promise<ContentType>\n /**\n * Gets the editor interface for the object <br />\n * <strong>Important note</strong>: The editor interface only represent a published contentType.<br />\n * To get the most recent representation of the contentType make sure to publish it first\n * @return Object returned from the server with the current editor interface.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getContentType('<contentType_id>'))\n * .then((contentType) => contentType.getEditorInterface())\n * .then((editorInterface) => console.log(editorInterface.contorls))\n * .catch(console.error)\n * ```\n */\n getEditorInterface(): Promise<EditorInterface>\n /**\n * Checks if the contentType is in draft mode. This means it is not published.\n */\n isDraft(): boolean\n /**\n * Checks if the contentType is published. A published contentType might have unpublished changes (@see {ContentType.isUpdated})\n */\n isPublished(): boolean\n /**\n * Checks if the contentType is updated. This means the contentType was previously published but has unpublished changes.\n */\n isUpdated(): boolean\n\n /**\n * Omits and deletes a field if it exists on the contentType. This is a convenience method which does both operations at once and potentially less\n * safe than the standard way. See note about deleting fields on the Update method.\n * @return Object returned from the server with updated metadata.\n */\n omitAndDeleteField(id: string): Promise<ContentType>\n\n /**\n * Gets a snapshot of a contentType\n * @param snapshotId - Id of the snapshot\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getContentType('<content_type-id>'))\n * .then((entry) => entry.getSnapshot('<snapshot-id>'))\n * .then((snapshot) => console.log(snapshot))\n * .catch(console.error)\n * ```\n */\n getSnapshot(id: string): Promise<SnapshotProps<ContentTypeProps>>\n /**\n * Gets all snapshots of a contentType\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getContentType('<contentType_id>'))\n * .then((entry) => entry.getSnapshots())\n * .then((snapshots) => console.log(snapshots.items))\n * .catch(console.error)\n * ```\n */\n getSnapshots(): Promise<Collection<Snapshot<ContentTypeProps>, SnapshotProps<ContentTypeProps>>>\n}\n\nexport interface ContentType\n extends ContentTypeProps,\n DefaultElements<ContentTypeProps>,\n ContentTypeApi {}\n\nfunction createContentTypeApi(http: AxiosInstance): ContentTypeApi {\n return {\n update: createUpdateEntity({\n http: http,\n entityPath: 'content_types',\n wrapperMethod: wrapContentType,\n }),\n\n delete: createDeleteEntity({\n http: http,\n entityPath: 'content_types',\n }),\n\n publish: createPublishEntity({\n http: http,\n entityPath: 'content_types',\n wrapperMethod: wrapContentType,\n }),\n\n unpublish: createUnpublishEntity({\n http: http,\n entityPath: 'content_types',\n wrapperMethod: wrapContentType,\n }),\n\n getEditorInterface: function () {\n return http\n .get('content_types/' + this.sys.id + '/editor_interface')\n .then((response) => wrapEditorInterface(http, response.data), errorHandler)\n },\n\n getSnapshots: function (query: QueryOptions = {}) {\n return http\n .get(`content_types/${this.sys.id}/snapshots`, createRequestConfig({ query: query }))\n .then(\n (response) => wrapSnapshotCollection<ContentTypeProps>(http, response.data),\n errorHandler\n )\n },\n\n getSnapshot: function (snapshotId: string) {\n return http\n .get(`content_types/${this.sys.id}/snapshots/${snapshotId}`)\n .then((response) => wrapSnapshot<ContentTypeProps>(http, response.data), errorHandler)\n },\n\n isPublished: createPublishedChecker(),\n\n isUpdated: createUpdatedChecker(),\n\n isDraft: createDraftChecker(),\n\n omitAndDeleteField: function (id: string) {\n return findAndUpdateField(this as ContentType, id, 'omitted', true)\n .then((newContentType) => findAndUpdateField(newContentType, id, 'deleted', true))\n .catch(errorHandler)\n },\n }\n}\n\n/**\n * @private\n * @param id - unique ID of the field\n * @param key - the attribute on the field to change\n * @param value - the value to set the attribute to\n */\nconst findAndUpdateField = function (\n contentType: ContentType,\n id: string,\n key: string,\n value: any\n) {\n const field = contentType.fields.find((field) => field.id === id)\n if (!field) {\n return Promise.reject(\n new Error(\n `Tried to omitAndDeleteField on a nonexistent field, ${id}, on the content type ${contentType.name}.`\n )\n )\n }\n // @ts-expect-error\n field[key] = value\n return contentType.update()\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw content type data\n * @return Wrapped content type data\n */\nexport function wrapContentType(http: AxiosInstance, data: ContentTypeProps): ContentType {\n const contentType = toPlainObject(cloneDeep(data))\n const contentTypeWithMethods = enhanceWithMethods(contentType, createContentTypeApi(http))\n return freezeSys(contentTypeWithMethods)\n}\n\n/**\n * @private\n */\nexport const wrapContentTypeCollection = wrapCollection(wrapContentType)\n","import cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport errorHandler from '../error-handler'\nimport { AxiosInstance } from 'axios'\nimport { MetaSysProps, MetaLinkProps, DefaultElements } from '../common-types'\n\nexport interface Control {\n /**\n * the id of the customized field\n */\n fieldId: string\n /**\n * customization associated to the field\n */\n widgetId: string\n widgetNamespace: string\n}\n\nexport type EditorInterfaceProps = {\n sys: MetaSysProps & {\n space: { sys: MetaLinkProps }\n environment: { sys: MetaLinkProps }\n contentType: { sys: MetaLinkProps }\n }\n /**\n * Array of fields and it's associated widgetId\n */\n controls: Control[]\n}\n\nexport interface EditorInterface\n extends EditorInterfaceProps,\n DefaultElements<EditorInterfaceProps> {\n /**\n * Gets a control for a specific field\n * @return control object for specific field\n * ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getContentType('<contentType_id>'))\n * .then((contentType) => contentType.getEditorInterface())\n * .then((editorInterface) => {\n * control = editorInterface.getControlForField('<field-id>')\n * console.log(control)\n * })\n * .catch(console.error)\n * ```\n */\n getControlForField(id: string): null | Control\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getContentType('<contentType_id>'))\n * .then((contentType) => contentType.getEditorInterface())\n * .then((editorInterface) => {\n * editorInterface.controls[0] = { \"fieldId\": \"title\", \"widgetId\": \"singleLine\"}\n * return editorInterface.update()\n * })\n * .catch(console.error)\n * ```\n */\n update(): Promise<EditorInterface>\n}\n\nfunction createEditorInterfaceApi(http: AxiosInstance) {\n return {\n update: function () {\n const self = this as EditorInterface\n const raw = self.toPlainObject()\n const data = cloneDeep(raw)\n delete data.sys\n return http\n .put<EditorInterfaceProps>(\n `content_types/${self.sys.contentType.sys.id}/editor_interface`,\n data,\n {\n headers: { 'X-Contentful-Version': self.sys.version },\n }\n )\n .then((response) => wrapEditorInterface(http, response.data), errorHandler)\n },\n\n getControlForField: function (fieldId: string) {\n const self = this as EditorInterface\n const result = self.controls.filter((control) => {\n return control.fieldId === fieldId\n })\n return result && result.length > 0 ? result[0] : null\n },\n }\n}\n\n/**\n * @private\n */\nexport function wrapEditorInterface(\n http: AxiosInstance,\n data: EditorInterfaceProps\n): EditorInterface {\n const editorInterface = toPlainObject(cloneDeep(data))\n const editorInterfaceWithMethods = enhanceWithMethods(\n editorInterface,\n createEditorInterfaceApi(http)\n )\n return freezeSys(editorInterfaceWithMethods)\n}\n","import { AxiosInstance } from 'axios'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject, createRequestConfig } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { wrapCollection } from '../common-utils'\nimport {\n createUpdateEntity,\n createDeleteEntity,\n createPublishEntity,\n createUnpublishEntity,\n createArchiveEntity,\n createUnarchiveEntity,\n createPublishedChecker,\n createUpdatedChecker,\n createDraftChecker,\n createArchivedChecker,\n} from '../instance-actions'\nimport errorHandler from '../error-handler'\nimport { wrapSnapshot, wrapSnapshotCollection, SnapshotProps, Snapshot } from './snapshot'\nimport { MetaSysProps, MetaLinkProps, DefaultElements, Collection } from '../common-types'\n\nexport interface EntrySys extends MetaSysProps {\n contentType: { sys: MetaLinkProps }\n environment: { sys: MetaLinkProps }\n publishedBy?: { sys: MetaLinkProps }\n publishedVersion?: number\n publishedAt?: string\n firstPublishedAt?: string\n publishedCounter?: number\n}\n\nexport type EntryProp = {\n sys: EntrySys\n fields: Record<string, any>\n}\n\ntype EntryApi = {\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEntry('<entry_id>'))\n * .then((entry) => {\n * entry.fields.title['en-US'] = 'New entry title'\n * return entry.update()\n * })\n * .then((entry) => console.log(`Entry ${entry.sys.id} updated.`))\n * .catch(console.error)\n * ```\n */\n update(): Promise<Entry>\n /**\n * Archives the object\n * @return Object returned from the server with updated metadata.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEntry('<entry_id>'))\n * .then((entry) => entry.archive())\n * .then((entry) => console.log(`Entry ${entry.sys.id} archived.`))\n * .catch(console.error)\n * ```\n */\n archive(): Promise<Entry>\n\n /**\n * Deletes this object on the server.\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEntry('<entry_id>'))\n * .then((entry) => entry.delete())\n * .then(() => console.log(`Entry deleted.`))\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n /**\n * Publishes the object\n * @return Object returned from the server with updated metadata.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEntry('<entry_id>'))\n * .then((entry) => entry.publish())\n * .then((entry) => console.log(`Entry ${entry.sys.id} published.`))\n * .catch(console.error)\n * ```\n */\n publish(): Promise<Entry>\n\n /**\n * Unarchives the object\n * @return Object returned from the server with updated metadata.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEntry('<entry_id>'))\n * .then((entry) => entry.unarchive())\n * .then((entry) => console.log(`Entry ${entry.sys.id} unarchived.`))\n * .catch(console.error)\n * ```\n */\n unarchive(): Promise<Entry>\n /**\n * Unpublishes the object\n * @return Object returned from the server with updated metadata.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEntry('<entry_id>'))\n * .then((entry) => entry.unpublish())\n * .then((entry) => console.log(`Entry ${entry.sys.id} unpublished.`))\n * .catch(console.error)\n * ```\n */\n unpublish(): Promise<Entry>\n\n /**\n * Gets a snapshot of an entry\n * @param snapshotId - Id of the snapshot\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEntry('<entry_id>'))\n * .then((entry) => entry.getSnapshot('<snapshot_id>'))\n * .then((snapshot) => console.log(snapshot))\n * .catch(console.error)\n * ```\n */\n getSnapshot(id: string): Promise<Snapshot<EntryProp>>\n /**\n * Gets all snapshots of an entry\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEntry('<entry_id>'))\n * .then((entry) => entry.getSnapshots())\n * .then((snapshots) => console.log(snapshots.items))\n * .catch(console.error)\n * ```\n */\n getSnapshots(): Promise<Collection<Snapshot<EntryProp>, SnapshotProps<EntryProp>>>\n /**\n * Checks if entry is archived. This means it's not exposed to the Delivery/Preview APIs.\n */\n isArchived(): boolean\n /**\n * Checks if the entry is in draft mode. This means it is not published.\n */\n isDraft(): boolean\n /**\n * Checks if the entry is published. A published entry might have unpublished changes\n */\n isPublished(): boolean\n\n /**\n * Checks if the entry is updated. This means the entry was previously published but has unpublished changes.\n */\n isUpdated(): boolean\n}\n\nexport interface Entry extends EntryProp, DefaultElements<EntryProp>, EntryApi {}\n\nfunction createEntryApi(http: AxiosInstance): EntryApi {\n return {\n update: createUpdateEntity({\n http: http,\n entityPath: 'entries',\n wrapperMethod: wrapEntry,\n }),\n\n delete: createDeleteEntity({\n http: http,\n entityPath: 'entries',\n }),\n\n publish: createPublishEntity({\n http: http,\n entityPath: 'entries',\n wrapperMethod: wrapEntry,\n }),\n\n unpublish: createUnpublishEntity({\n http: http,\n entityPath: 'entries',\n wrapperMethod: wrapEntry,\n }),\n\n archive: createArchiveEntity({\n http: http,\n entityPath: 'entries',\n wrapperMethod: wrapEntry,\n }),\n\n unarchive: createUnarchiveEntity({\n http: http,\n entityPath: 'entries',\n wrapperMethod: wrapEntry,\n }),\n\n getSnapshots: function (query = {}) {\n return http\n .get(`entries/${this.sys.id}/snapshots`, createRequestConfig({ query: query }))\n .then((response) => wrapSnapshotCollection<EntryProp>(http, response.data), errorHandler)\n },\n\n getSnapshot: function (snapshotId: string) {\n return http\n .get(`entries/${this.sys.id}/snapshots/${snapshotId}`)\n .then((response) => wrapSnapshot<EntryProp>(http, response.data), errorHandler)\n },\n\n isPublished: createPublishedChecker(),\n\n isUpdated: createUpdatedChecker(),\n\n isDraft: createDraftChecker(),\n\n isArchived: createArchivedChecker(),\n }\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw entry data\n * @return Wrapped entry data\n */\nexport function wrapEntry(http: AxiosInstance, data: EntryProp): Entry {\n const entry = toPlainObject(cloneDeep(data))\n const entryWithMethods = enhanceWithMethods(entry, createEntryApi(http))\n return freezeSys(entryWithMethods)\n}\n\n/**\n * Data is also mixed in with link getters if links exist and includes were requested\n * @private\n */\nexport const wrapEntryCollection = wrapCollection(wrapEntry)\n","import cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { createUpdateEntity } from '../instance-actions'\nimport { wrapCollection } from '../common-utils'\nimport { DefaultElements, MetaLinkProps, MetaSysProps } from '../common-types'\nimport { AxiosInstance } from 'axios'\n\nexport type EnvironmentAliasProps = {\n /**\n * System meta data\n */\n sys: MetaSysProps\n environment: MetaLinkProps\n}\n\nexport interface EnvironmentAlias\n extends EnvironmentAliasProps,\n DefaultElements<EnvironmentAliasProps> {\n /**\n * Sends an update to the server with any changes made to the object's properties. Currently, you can only change the id of the alias's underlying environment. See the example below.\n * @memberof EnvironmentAlias\n * @func update\n * @return {Promise<EnvironmentAlias>} Object returned from the server with updated changes.\n * ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getEnvironmentAlias('<environment_alias_id>'))\n * .then((alias) => {\n * alias.environment.sys.id = '<environment_id>'\n * return alias.update()\n * })\n * .then((alias) => console.log(`alias ${alias.sys.id} updated.`))\n * .catch(console.error)\n * ```\n */\n update(data: Omit<EnvironmentAliasProps, 'sys'>): Promise<EnvironmentAlias>\n}\n\nfunction createEnvironmentAliasApi(http: AxiosInstance) {\n return {\n update: createUpdateEntity({\n http: http,\n entityPath: 'environment_aliases',\n wrapperMethod: wrapEnvironmentAlias,\n }),\n }\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw environment alias data\n * @return Wrapped environment alias data\n */\nexport function wrapEnvironmentAlias(\n http: AxiosInstance,\n data: EnvironmentAliasProps\n): EnvironmentAlias {\n const alias = toPlainObject(cloneDeep(data))\n const enhancedAlias = enhanceWithMethods(alias, createEnvironmentAliasApi(http))\n return freezeSys(enhancedAlias)\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw environment alias collection data\n * @return Wrapped environment alias collection data\n */\nexport const wrapEnvironmentAliasCollection = wrapCollection(wrapEnvironmentAlias)\n","import cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport createEnvironmentApi, { ContentfulEnvironmentAPI } from '../create-environment-api'\nimport { wrapCollection } from '../common-utils'\nimport { DefaultElements, MetaLinkProps, MetaSysProps } from '../common-types'\nimport { AxiosInstance } from 'axios'\n\ntype SdkHttpClient = AxiosInstance & {\n httpClientParams: Record<string, any>\n cloneWithNewParams: (newParams: Record<string, any>) => SdkHttpClient\n}\n\nexport type EnvironmentProps = {\n /**\n * System metadata\n */\n sys: MetaSysProps & {\n space: { sys: MetaLinkProps }\n }\n /**\n * Name of the environmant\n */\n name: string\n}\n\nexport type Environment = ContentfulEnvironmentAPI &\n EnvironmentProps &\n DefaultElements<EnvironmentProps>\n\n/**\n * This method creates the API for the given environment with all the methods for\n * reading and creating other entities. It also passes down a clone of the\n * http client with a environment id, so the base path for requests now has the\n * environment id already set.\n * @private\n * @param http - HTTP client instance\n * @param data - API response for a Environment\n * @return\n */\nexport function wrapEnvironment(http: AxiosInstance, data: EnvironmentProps): Environment {\n // do not pollute generated typings\n const sdkHttp = http as SdkHttpClient\n const environment = toPlainObject(cloneDeep(data))\n const { hostUpload, defaultHostnameUpload } = sdkHttp.httpClientParams\n const environmentScopedHttpClient = sdkHttp.cloneWithNewParams({\n baseURL: http.defaults.baseURL + 'environments/' + environment.sys.id,\n })\n const environmentScopedUploadClient = sdkHttp.cloneWithNewParams({\n space: environment.sys.space.sys.id,\n host: hostUpload || defaultHostnameUpload,\n })\n const environmentApi = createEnvironmentApi({\n http: environmentScopedHttpClient,\n httpUpload: environmentScopedUploadClient,\n })\n const enhancedEnvironment = enhanceWithMethods(environment, environmentApi)\n return freezeSys(enhancedEnvironment)\n}\n\n/**\n * This method wraps each environment in a collection with the environment API. See wrapEnvironment\n * above for more details.\n * @private\n */\nexport const wrapEnvironmentCollection = wrapCollection(wrapEnvironment)\n","import * as appDefinition from './app-definition'\nimport * as space from './space'\nimport * as environment from './environment'\nimport * as entry from './entry'\nimport * as asset from './asset'\nimport * as contentType from './content-type'\nimport * as editorInterface from './editor-interface'\nimport * as locale from './locale'\nimport * as webhook from './webhook'\nimport * as spaceMember from './space-member'\nimport * as spaceMembership from './space-membership'\nimport * as teamSpaceMembership from './team-space-membership'\nimport * as organizationMembership from './organization-membership'\nimport * as organizationInvitation from './organization-invitation'\nimport * as role from './role'\nimport * as apiKey from './api-key'\nimport * as previewApiKey from './preview-api-key'\nimport * as upload from './upload'\nimport * as organization from './organization'\nimport * as uiExtension from './ui-extension'\nimport * as appInstallation from './app-installation'\nimport * as snapshot from './snapshot'\nimport * as user from './user'\nimport * as personalAccessToken from './personal-access-token'\nimport * as usage from './usage'\nimport * as environmentAlias from './environment-alias'\nimport * as team from './team'\nimport * as teamMembership from './team-membership'\n\nexport default {\n appDefinition,\n space,\n environment,\n entry,\n asset,\n contentType,\n editorInterface,\n locale,\n webhook,\n spaceMember,\n spaceMembership,\n teamSpaceMembership,\n organizationMembership,\n organizationInvitation,\n role,\n apiKey,\n previewApiKey,\n upload,\n organization,\n uiExtension,\n appInstallation,\n snapshot,\n user,\n personalAccessToken,\n usage,\n environmentAlias,\n team,\n teamMembership,\n}\n","import cloneDeep from 'lodash/cloneDeep'\nimport { AxiosInstance } from 'axios'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport { Except, SetOptional } from 'type-fest'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { wrapCollection } from '../common-utils'\nimport { createUpdateEntity, createDeleteEntity } from '../instance-actions'\nimport { MetaSysProps, DefaultElements, CollectionProp } from '../common-types'\n\nexport type LocaleProps = {\n sys: MetaSysProps\n /**\n * Locale name\n */\n name: string\n /**\n * Locale code (example: en-us)\n */\n code: string\n /**\n * Locale code to fallback to when there is not content for the current locale\n */\n fallbackCode: string\n /**\n * If the content under this locale should be available on the CDA (for public reading)\n */\n contentDeliveryApi: boolean\n /**\n * If the content under this locale should be available on the CMA (for editing)\n */\n contentManagementApi: boolean\n /**\n * If this is the default locale\n */\n default: boolean\n /**\n * If the locale needs to be filled in on entries or not\n */\n optional: boolean\n}\n\nexport type CreateLocaleProps = SetOptional<\n Except<LocaleProps, 'sys'>,\n 'optional' | 'contentManagementApi' | 'default' | 'contentDeliveryApi'\n>\n\nexport interface Locale extends LocaleProps, DefaultElements<LocaleProps> {\n /**\n * Deletes this object on the server.\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getLocale('<locale_id>'))\n * .then((locale) => locale.delete())\n * .then(() => console.log(`locale deleted.`))\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getLocale('<locale_id>'))\n * .then((locale) => {\n * locale.name = 'New locale name'\n * return locale.update()\n * })\n * .then((locale) => console.log(`locale ${locale.sys.id} updated.`))\n * .catch(console.error)\n * ```\n */\n update(): Promise<Locale>\n}\n\nfunction createLocaleApi(http: AxiosInstance) {\n return {\n update: function () {\n const self = this as Locale\n delete self.default // we should not send this back\n return createUpdateEntity({\n http: http,\n entityPath: 'locales',\n wrapperMethod: wrapLocale,\n }).call(self)\n },\n\n delete: createDeleteEntity({\n http: http,\n entityPath: 'locales',\n }),\n }\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw locale data\n * @return Wrapped locale data\n */\nexport function wrapLocale(http: AxiosInstance, data: LocaleProps): Locale {\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore\n delete data.internal_code\n const locale = toPlainObject(cloneDeep(data))\n const localeWithMethods = enhanceWithMethods(locale, createLocaleApi(http))\n return freezeSys(localeWithMethods)\n}\n\n/**\n * @private\n */\nexport const wrapLocaleCollection = wrapCollection(wrapLocale)\n","import cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport { AxiosInstance } from 'axios'\nimport { MetaLinkProps, MetaSysProps, DefaultElements } from '../common-types'\n\nexport type OrganizationInvitationProps = {\n sys: MetaSysProps & {\n organizationMembership: { sys: MetaLinkProps }\n user: Record<string, any> | null\n invitationUrl: string\n status: string\n }\n firstName: string\n lastName: string\n email: string\n role: string\n}\n\nexport interface OrganizationInvitation\n extends OrganizationInvitationProps,\n DefaultElements<OrganizationInvitationProps> {}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw invitation data\n * @return {OrganizationInvitation} Wrapped Inviation data\n */\nexport function wrapOrganizationInvitation(\n http: AxiosInstance,\n data: OrganizationInvitationProps\n): OrganizationInvitation {\n const invitation = toPlainObject(cloneDeep(data))\n return freezeSys(invitation)\n}\n","import { AxiosInstance } from 'axios'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport errorHandler from '../error-handler'\nimport { createDeleteEntity } from '../instance-actions'\nimport { wrapCollection } from '../common-utils'\nimport { MetaSysProps, DefaultElements } from '../common-types'\n\nexport type OrganizationMembershipProps = {\n /**\n * System metadata\n */\n sys: MetaSysProps\n\n /**\n * Role\n */\n role: string\n\n /**\n * status\n */\n status: boolean\n}\n\nexport interface OrganizationMembership\n extends OrganizationMembershipProps,\n DefaultElements<OrganizationMembershipProps> {\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organization_id')\n * .then(org => org.getOrganizationMembership('organizationMembership_id'))\n * .then((organizationMembership) => {\n * organizationMembership.role = 'member';\n * organizationMembership.update();\n * })\n * .catch(console.error)\n */\n update(): Promise<OrganizationMembership>\n\n /**\n * Deletes this object on the server.\n * @example```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organization_id')\n * .then(org => org.getOrganizationMembership('organizationMembership_id'))\n * .then((organizationMembership) => {\n * organizationMembership.delete();\n * })\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n}\n\nfunction createOrganizationMembershipApi(http: AxiosInstance) {\n return {\n update: function () {\n const self = this as OrganizationMembership\n const raw = self.toPlainObject()\n const { role } = raw\n\n return http\n .put(\n 'organization_memberships' + '/' + self.sys.id,\n { role },\n {\n headers: {\n 'X-Contentful-Version': self.sys.version || 0,\n },\n }\n )\n .then((response) => wrapOrganizationMembership(http, response.data), errorHandler)\n },\n\n delete: createDeleteEntity({\n http: http,\n entityPath: 'organization_memberships',\n }),\n }\n}\n\n/**\n * @private\n * @param {Object} http - HTTP client instance\n * @param {Object} data - Raw organization membership data\n * @return {OrganizationMembership} Wrapped organization membership data\n */\nexport function wrapOrganizationMembership(\n http: AxiosInstance,\n data: OrganizationMembershipProps\n): OrganizationMembership {\n const organizationMembership = toPlainObject(cloneDeep(data))\n const organizationMembershipWithMethods = enhanceWithMethods(\n organizationMembership,\n createOrganizationMembershipApi(http)\n )\n return freezeSys(organizationMembershipWithMethods)\n}\n\n/**\n * @private\n */\nexport const wrapOrganizationMembershipCollection = wrapCollection(wrapOrganizationMembership)\n","import { AxiosInstance } from 'axios'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport createOrganizationApi, { ContentfulOrganizationAPI } from '../create-organization-api'\nimport { wrapCollection } from '../common-utils'\nimport { MetaSysProps, DefaultElements } from '../common-types'\n\nexport type Organization = DefaultElements<OrganizationProp> &\n OrganizationProp &\n ContentfulOrganizationAPI\n\nexport type OrganizationProp = {\n /**\n * System metadata\n */\n sys: MetaSysProps\n /**\n * Name\n */\n name: string\n}\n\n/**\n * This method creates the API for the given organization with all the methods for\n * reading and creating other entities. It also passes down a clone of the\n * http client with an organization id, so the base path for requests now has the\n * organization id already set.\n * @private\n * @param http - HTTP client instance\n * @param data - API response for an Organization\n * @return {Organization}\n */\nexport function wrapOrganization(http: AxiosInstance, data: OrganizationProp): Organization {\n const org = toPlainObject(cloneDeep(data))\n const baseURL =\n (http.defaults.baseURL || '').replace('/spaces/', '/organizations/') + org.sys.id + '/'\n\n // @ts-expect-error\n const orgScopedHttpClient = http.cloneWithNewParams({ baseURL })\n const orgApi = createOrganizationApi({\n http: orgScopedHttpClient,\n })\n const enhancedOrganization = enhanceWithMethods(org, orgApi)\n return freezeSys(enhancedOrganization)\n}\n\n/**\n * This method normalizes each organization in a collection.\n * @private\n */\nexport const wrapOrganizationCollection = wrapCollection(wrapOrganization)\n","import { AxiosInstance } from 'axios'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport errorHandler from '../error-handler'\nimport { wrapCollection } from '../common-utils'\nimport { MetaSysProps, DefaultElements } from '../common-types'\n\nexport type PersonalAccessTokenProp = {\n sys: MetaSysProps\n name: string\n scopes: 'content_management_manage'[]\n revokedAt: null | string\n token?: string\n}\n\nexport interface PersonalAccessToken\n extends PersonalAccessTokenProp,\n DefaultElements<PersonalAccessTokenProp> {\n /**\n * Revokes a personal access token\n * @return Object the revoked personal access token\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: <content_management_api_key>\n * })\n *\n * client.getPersonalAccessToken('<token-id>')\n * .then((personalAccessToken) => {\n * return personalAccessToken.revoke()\n * })\n * .catch(console.error)\n * ```\n */\n revoke(): Promise<PersonalAccessToken>\n}\n\nfunction createPersonalAccessToken(http: AxiosInstance) {\n return {\n revoke: function () {\n const baseURL = (http.defaults.baseURL || '').replace('/spaces/', '/users/me/access_tokens')\n return http\n .put(`${this.sys.id}/revoked`, null, {\n baseURL,\n })\n .then((response) => response.data, errorHandler)\n },\n }\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw personal access token data\n * @return Wrapped personal access token\n */\nexport function wrapPersonalAccessToken(\n http: AxiosInstance,\n data: PersonalAccessTokenProp\n): PersonalAccessToken {\n const personalAccessToken = toPlainObject(cloneDeep(data))\n const personalAccessTokenWithMethods = enhanceWithMethods(\n personalAccessToken,\n createPersonalAccessToken(http)\n )\n return freezeSys(personalAccessTokenWithMethods)\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw personal access collection data\n * @return Wrapped personal access token collection data\n */\nexport const wrapPersonalAccessTokenCollection = wrapCollection(wrapPersonalAccessToken)\n","import cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport { AxiosInstance } from 'axios'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { wrapCollection } from '../common-utils'\nimport { MetaSysProps, DefaultElements } from '../common-types'\n\nexport type PreviewApiKeyProps = {\n sys: MetaSysProps\n name: string\n description: string\n}\n\nexport interface PreviewApiKey extends PreviewApiKeyProps, DefaultElements<PreviewApiKeyProps> {}\n\nfunction createPreviewApiKeyApi() {\n return {}\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw api key data\n * @return Wrapped preview api key data\n */\nexport function wrapPreviewApiKey(_http: AxiosInstance, data: PreviewApiKeyProps): PreviewApiKey {\n const previewApiKey = toPlainObject(cloneDeep(data))\n const previewApiKeyWithMethods = enhanceWithMethods(previewApiKey, createPreviewApiKeyApi())\n return freezeSys(previewApiKeyWithMethods)\n}\n\n/**\n * @private\n */\nexport const wrapPreviewApiKeyCollection = wrapCollection(wrapPreviewApiKey)\n","import cloneDeep from 'lodash/cloneDeep'\nimport { AxiosInstance } from 'axios'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { wrapCollection } from '../common-utils'\nimport { createUpdateEntity, createDeleteEntity } from '../instance-actions'\nimport { MetaSysProps, DefaultElements } from '../common-types'\n\nexport type ActionType =\n | 'read'\n | 'create'\n | 'update'\n | 'delete'\n | 'publish'\n | 'unpublish'\n | 'archive'\n | 'unarchive'\n\ntype ConditionType = 'and' | 'or' | 'not' | 'equals'\nexport type ConstraintType = {\n [key in ConditionType]: ConstraintType[] | any\n}\n\nexport type RoleProps = {\n sys: MetaSysProps\n name: string\n /**\n * Permissions for application sections\n */\n permissions: {\n ContentDelivery: string[] | string\n ContentModel: string[]\n EnvironmentAliases: string[] | string\n Environments: string[] | string\n Settings: string[] | string\n }\n policies: {\n effect: string\n actions: ActionType[] | 'all'\n constraint: ConstraintType\n }[]\n}\n\nexport interface Role extends RoleProps, DefaultElements<RoleProps> {\n /**\n * Deletes this object on the server.\n * @memberof Role\n * @func delete\n * @return {Promise} Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getRole('<role_id>'))\n * .then((role) => role.delete())\n * .then((role) => console.log(`role deleted.`))\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getRole('<roles_id>'))\n * .then((roles) => {\n * roles.name = 'New role name'\n * return roles.update()\n * })\n * .then((roles) => console.log(`roles ${roles.sys.id} updated.`))\n * .catch(console.error)\n * ```\n */\n update(): Promise<Role>\n}\n\nfunction createRoleApi(http: AxiosInstance) {\n return {\n update: createUpdateEntity({\n http: http,\n entityPath: 'roles',\n wrapperMethod: wrapRole,\n }),\n\n delete: createDeleteEntity({\n http: http,\n entityPath: 'roles',\n }),\n }\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw role data\n * @return Wrapped role data\n */\nexport function wrapRole(http: AxiosInstance, data: RoleProps): Role {\n const role = toPlainObject(cloneDeep(data))\n const roleWithMethods = enhanceWithMethods(role, createRoleApi(http))\n return freezeSys(roleWithMethods)\n}\n\n/**\n * @private\n */\nexport const wrapRoleCollection = wrapCollection(wrapRole)\n","import { AxiosInstance } from 'axios'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { wrapCollection } from '../common-utils'\nimport { MetaSysProps, DefaultElements } from '../common-types'\n\nexport type SnapshotProps<T> = {\n sys: MetaSysProps & {\n snapshotType: string\n snapshotEntityType: string\n }\n snapshot: T\n}\n\nexport interface Snapshot<T> extends SnapshotProps<T>, DefaultElements<SnapshotProps<T>> {}\n\nfunction createSnapshotApi() {\n return {\n /* In case the snapshot object evolve later */\n }\n}\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw snapshot data\n * @return Wrapped snapshot data\n */\nexport function wrapSnapshot<T>(_http: AxiosInstance, data: SnapshotProps<T>): Snapshot<T> {\n const snapshot = toPlainObject(cloneDeep(data))\n const snapshotWithMethods = enhanceWithMethods(snapshot, createSnapshotApi())\n return freezeSys(snapshotWithMethods)\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw snapshot collection data\n * @return Wrapped snapshot collection data\n */\nexport const wrapSnapshotCollection = wrapCollection(wrapSnapshot)\n","import cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport { wrapCollection } from '../common-utils'\nimport { MetaSysProps, MetaLinkProps, DefaultElements } from '../common-types'\nimport { AxiosInstance } from 'axios'\n\nexport type SpaceMemberProps = {\n sys: MetaSysProps\n /**\n * User is an admin\n */\n admin: boolean\n /**\n * Array of Role Links\n */\n roles: MetaLinkProps[]\n}\n\nexport interface SpaceMember extends SpaceMemberProps, DefaultElements<SpaceMemberProps> {}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw space member data\n * @return Wrapped space member data\n */\nexport function wrapSpaceMember(http: AxiosInstance, data: SpaceMemberProps) {\n const spaceMember = toPlainObject(cloneDeep(data))\n return freezeSys(spaceMember)\n}\n\n/**\n * @private\n */\nexport const wrapSpaceMemberCollection = wrapCollection(wrapSpaceMember)\n","import { AxiosInstance } from 'axios'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { wrapCollection } from '../common-utils'\nimport { createUpdateEntity, createDeleteEntity } from '../instance-actions'\nimport { MetaSysProps, MetaLinkProps, DefaultElements } from '../common-types'\n\nexport type SpaceMembershipProps = {\n sys: MetaSysProps\n name: string\n /**\n * User is an admin\n */\n admin: boolean\n roles: MetaLinkProps[]\n}\n\nexport interface SpaceMembership\n extends SpaceMembershipProps,\n DefaultElements<SpaceMembershipProps> {\n /**\n * Deletes this object on the server.\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getSpaceMembership('<spaceMembership_id>'))\n * .then((spaceMembership) => spaceMembership.delete())\n * .then(() => console.log(`spaceMembership deleted.`))\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getSpaceMembership('<spaceMembership_id>'))\n * .then((spaceMembership) => {\n * spaceMembership.name = 'new space membership name'\n * })\n * .then((spaceMembership) => console.log(`spaceMembership ${spaceMembership.sys.id} updated.`))\n * .catch(console.error)\n * ```\n */\n update(): Promise<SpaceMembership>\n}\n\nfunction createSpaceMembershipApi(http: AxiosInstance) {\n return {\n update: createUpdateEntity({\n http: http,\n entityPath: 'space_memberships',\n wrapperMethod: wrapSpaceMembership,\n }),\n\n delete: createDeleteEntity({\n http: http,\n entityPath: 'space_memberships',\n }),\n }\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw space membership data\n * @return Wrapped space membership data\n */\nexport function wrapSpaceMembership(\n http: AxiosInstance,\n data: SpaceMembershipProps\n): SpaceMembership {\n const spaceMembership = toPlainObject(cloneDeep(data))\n const spaceMembershipWithMethods = enhanceWithMethods(\n spaceMembership,\n createSpaceMembershipApi(http)\n )\n return freezeSys(spaceMembershipWithMethods)\n}\n\n/**\n * @private\n */\nexport const wrapSpaceMembershipCollection = wrapCollection(wrapSpaceMembership)\n","import { AxiosInstance } from 'axios'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { wrapCollection } from '../common-utils'\nimport createSpaceApi, { ContentfulSpaceAPI } from '../create-space-api'\nimport { MetaSysProps, DefaultElements } from '../common-types'\n\ntype SdkHttpClient = AxiosInstance & {\n httpClientParams: Record<string, any>\n cloneWithNewParams: (newParams: Record<string, any>) => SdkHttpClient\n}\n\nexport type SpaceProps = {\n sys: MetaSysProps\n name: string\n}\n\nexport type Space = SpaceProps & DefaultElements<SpaceProps> & ContentfulSpaceAPI\n\n/**\n * This method creates the API for the given space with all the methods for\n * reading and creating other entities. It also passes down a clone of the\n * http client with a space id, so the base path for requests now has the\n * space id already set.\n * @private\n * @param http - HTTP client instance\n * @param data - API response for a Space\n * @return {Space}\n */\nexport function wrapSpace(http: AxiosInstance, data: SpaceProps): Space {\n const sdkHttp = (http as unknown) as SdkHttpClient\n\n const space = toPlainObject(cloneDeep(data))\n const { hostUpload, defaultHostnameUpload } = sdkHttp.httpClientParams\n const spaceScopedHttpClient = sdkHttp.cloneWithNewParams({\n space: space.sys.id,\n })\n const spaceScopedUploadClient = sdkHttp.cloneWithNewParams({\n space: space.sys.id,\n host: hostUpload || defaultHostnameUpload,\n })\n const spaceApi = createSpaceApi({\n http: spaceScopedHttpClient,\n httpUpload: spaceScopedUploadClient,\n })\n const enhancedSpace = enhanceWithMethods(space, spaceApi)\n return freezeSys(enhancedSpace)\n}\n\n/**\n * This method wraps each space in a collection with the space API. See wrapSpace\n * above for more details.\n * @private\n */\nexport const wrapSpaceCollection = wrapCollection(wrapSpace)\n","import { AxiosInstance } from 'axios'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport errorHandler from '../error-handler'\nimport { wrapCollection } from '../common-utils'\nimport { DefaultElements, MetaSysProps, MetaLinkProps } from '../common-types'\n\nexport type TeamMembershipProps = {\n /**\n * System metadata\n */\n sys: MetaSysProps & { team: { sys: MetaLinkProps } }\n\n /**\n * Is admin\n */\n admin: boolean\n\n /**\n * Organization membership id\n */\n organizationMembershipId: string\n}\n\nexport interface TeamMembership extends TeamMembershipProps, DefaultElements<TeamMembershipProps> {\n /**\n * Deletes this object on the server.\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organizationId')\n * .then(org => org.getTeamMembership('teamId', 'teamMembershipId'))\n * .then((teamMembership) => {\n * teamMembership.delete();\n * })\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organizationId')\n * .then(org => org.getTeamMembership('teamId', 'teamMembershipId'))\n * .then((teamMembership) => {\n * teamMembership.admin = true;\n * teamMembership.update();\n * })\n * .catch(console.error)\n * ```\n */\n update(): Promise<TeamMembership>\n}\n\nfunction createTeamMembershipApi(http: AxiosInstance) {\n return {\n update: function () {\n const raw = this.toPlainObject()\n const teamId = raw.sys.team.sys.id\n return http\n .put('teams/' + teamId + '/team_memberships/' + this.sys.id, raw, {\n headers: {\n 'X-Contentful-Version': this.sys.version || 0,\n },\n })\n .then((response) => wrapTeamMembership(http, response.data), errorHandler)\n },\n\n delete: function () {\n const raw = this.toPlainObject()\n const teamId = raw.sys.team.sys.id\n return http.delete('teams/' + teamId + '/team_memberships/' + this.sys.id).then(() => {\n // do nothing\n }, errorHandler)\n },\n }\n}\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw team membership data\n * @return Wrapped team membership data\n */\nexport function wrapTeamMembership(http: AxiosInstance, data: TeamMembershipProps): TeamMembership {\n const teamMembership = toPlainObject(cloneDeep(data))\n const teamMembershipWithMethods = enhanceWithMethods(\n teamMembership,\n createTeamMembershipApi(http)\n )\n return freezeSys(teamMembershipWithMethods)\n}\n\n/**\n * @private\n */\nexport const wrapTeamMembershipCollection = wrapCollection(wrapTeamMembership)\n","import { AxiosInstance } from 'axios'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { createDeleteEntity } from '../instance-actions'\nimport errorHandler from '../error-handler'\nimport { wrapCollection } from '../common-utils'\nimport { DefaultElements, MetaLinkProps, MetaSysProps, QueryOptions } from '../common-types'\n\nexport interface Options {\n teamId?: string\n query?: QueryOptions\n}\n\nexport type TeamSpaceMembershipProps = {\n /**\n * System metadata\n */\n sys: MetaSysProps\n\n /**\n * Is admin\n */\n admin: boolean\n\n /**\n * Roles\n */\n roles: MetaLinkProps[]\n}\n\nexport interface TeamSpaceMembership\n extends TeamSpaceMembershipProps,\n DefaultElements<TeamSpaceMembershipProps> {\n /**\n * Deletes this object on the server.\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getTeamSpaceMembership('<team_space_membership_id>'))\n * .then((teamSpaceMembership) => teamSpaceMembership.delete())\n * .then(() => console.log(`spaceMembership deleted.`))\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getTeamSpaceMembership('team_space_membership_id'))\n * .then((teamSpaceMembership) => {\n * item.roles = [\n * {\n * sys: {\n * type: 'Link',\n * linkType: 'Role',\n * id: 'role_id'\n * }\n * }\n * ]\n * })\n * .then((spaceMembership) => console.log(`spaceMembership ${spaceMembership.sys.id} updated.`))\n * .catch(console.error)\n * ```\n */\n update(): Promise<TeamSpaceMembership>\n}\n\nfunction createTeamSpaceMembershipApi(http: AxiosInstance) {\n return {\n update: function () {\n const raw = this.toPlainObject() as TeamSpaceMembershipProps\n const data = cloneDeep(raw)\n delete data.sys\n\n return http\n .put('team_space_memberships/' + this.sys.id, data, {\n headers: {\n 'X-Contentful-Version': this.sys.version || 0,\n 'x-contentful-team': this.sys.team.sys.id,\n },\n })\n .then((response) => wrapTeamSpaceMembership(http, response.data), errorHandler)\n },\n\n delete: createDeleteEntity({\n http: http,\n entityPath: 'team_space_memberships',\n }),\n }\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw space membership data\n * @return Wrapped team space membership data\n */\nexport function wrapTeamSpaceMembership(\n http: AxiosInstance,\n data: TeamSpaceMembershipProps\n): TeamSpaceMembership {\n const teamSpaceMembership = toPlainObject(cloneDeep(data))\n const teamSpaceMembershipWithMethods = enhanceWithMethods(\n teamSpaceMembership,\n createTeamSpaceMembershipApi(http)\n )\n return freezeSys(teamSpaceMembershipWithMethods)\n}\n\n/**\n * @private\n */\nexport const wrapTeamSpaceMembershipCollection = wrapCollection(wrapTeamSpaceMembership)\n","import { AxiosInstance } from 'axios'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { wrapCollection } from '../common-utils'\nimport { DefaultElements, MetaSysProps } from '../common-types'\nimport { createDeleteEntity, createUpdateEntity } from '../instance-actions'\n\nexport type TeamProps = {\n /**\n * System metadata\n */\n sys: MetaSysProps\n\n /**\n * Name of the team\n */\n name: string\n\n /**\n * Description of the team\n */\n description: string\n}\n\nexport interface Team extends TeamProps, DefaultElements<TeamProps> {\n /**\n * Deletes this object on the server.\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organization_id')\n * .then(org => org.getOrganizationMembership('organizationMembership_id'))\n * .then((team) => {\n * team.delete();\n * })\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getOrganization('organization_id')\n * .then(org => org.getTeam('team_id'))\n * .then((team) => {\n * team.description = 'new description';\n * team.update();\n * })\n * .catch(console.error)\n * ```\n */\n update(): Promise<Team>\n}\n\nconst entityPath = 'teams'\n\n/**\n * @private\n */\nfunction createTeamApi(http: AxiosInstance) {\n return {\n update: createUpdateEntity({\n http,\n entityPath,\n wrapperMethod: wrapTeam,\n }),\n\n delete: createDeleteEntity({\n http,\n entityPath,\n }),\n }\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw team data\n * @return Wrapped team data\n */\nexport function wrapTeam(http: AxiosInstance, data: TeamProps): Team {\n const team = toPlainObject(cloneDeep(data))\n const teamWithMethods = enhanceWithMethods(team, createTeamApi(http))\n return freezeSys(teamWithMethods)\n}\n\n/**\n * @private\n */\nexport const wrapTeamCollection = wrapCollection(wrapTeam)\n","import cloneDeep from 'lodash/cloneDeep'\nimport { AxiosInstance } from 'axios'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { createUpdateEntity, createDeleteEntity } from '../instance-actions'\nimport { EntryFields } from './entry-fields'\nimport { wrapCollection } from '../common-utils'\nimport { DefaultElements, MetaSysProps } from '../common-types'\n\nexport type UIExtensionProps = {\n sys: MetaSysProps\n extension: {\n /**\n * Extension name\n */\n name: string\n /**\n * Field types where an extension can be used\n */\n fieldTypes: EntryFields[]\n /**\n * URL where the root HTML document of the extension can be found\n */\n src?: string\n /**\n * String representation of the extension (e.g. inline HTML code)\n */\n srcdoc?: string\n /**\n * Controls the location of the extension. If true it will be rendered on the sidebar instead of replacing the field's editing control\n */\n sidebar: boolean\n }\n}\n\nexport interface UIExtension extends UIExtensionProps, DefaultElements<UIExtensionProps> {\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getUiExtension('<ui_extension_id>'))\n * .then((uiExtension) => {\n * uiExtension.extension.name = 'New UI Extension name'\n * return uiExtension.update()\n * })\n * .then((uiExtension) => console.log(`UI Extension ${uiExtension.sys.id} updated.`))\n * .catch(console.error)\n * ```\n */\n update(): Promise<UIExtension>\n /**\n * Deletes this object on the server.\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getUiExtension('<ui_extension_id>'))\n * .then((uiExtension) => uiExtension.delete())\n * .then(() => console.log(`UI Extension deleted.`))\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n}\n\nfunction createUiExtensionApi(http: AxiosInstance) {\n return {\n update: createUpdateEntity({\n http: http,\n entityPath: 'extensions',\n wrapperMethod: wrapUiExtension,\n }),\n delete: createDeleteEntity({\n http: http,\n entityPath: 'extensions',\n }),\n }\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw UI Extension data\n * @return Wrapped UI Extension data\n */\nexport function wrapUiExtension(http: AxiosInstance, data: UIExtensionProps): UIExtension {\n const uiExtension = toPlainObject(cloneDeep(data))\n const uiExtensionWithMethods = enhanceWithMethods(uiExtension, createUiExtensionApi(http))\n return freezeSys(uiExtensionWithMethods)\n}\n\n/**\n * @private\n */\nexport const wrapUiExtensionCollection = wrapCollection(wrapUiExtension)\n","import cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { createDeleteEntity } from '../instance-actions'\nimport { AxiosInstance } from 'axios'\nimport { DefaultElements, MetaSysProps } from '../common-types'\n\nexport type UploadProps = {\n /**\n * System metadata\n */\n sys: MetaSysProps\n}\n\nexport interface Upload extends UploadProps, DefaultElements<UploadProps> {\n /**\n * Deletes this object on the server.\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * @example\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getUpload('<upload_id>'))\n * .then((upload) => upload.delete())\n * .then((upload) => console.log(`upload ${upload.sys.id} updated.`))\n * .catch(console.error)\n */\n delete(): Promise<void>\n}\n\nfunction createUploadApi(http: AxiosInstance) {\n return {\n delete: createDeleteEntity({\n http: http,\n entityPath: 'uploads',\n }),\n }\n}\n\n/**\n * @private\n * @param {Object} http - HTTP client instance\n * @param {Object} data - Raw upload data\n * @return {Upload} Wrapped upload data\n */\nexport function wrapUpload(http: AxiosInstance, data: UploadProps) {\n const upload = toPlainObject(cloneDeep(data))\n const uploadWithMethods = enhanceWithMethods(upload, createUploadApi(http))\n return freezeSys(uploadWithMethods)\n}\n","import cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport { AxiosInstance } from 'axios'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { wrapCollection } from '../common-utils'\nimport { DefaultElements, MetaLinkProps, MetaSysProps, QueryOptions } from '../common-types'\n\nexport type UsageMetricEnum = 'cda' | 'cma' | 'cpa' | 'gql'\n\nexport interface UsageQuery extends QueryOptions {\n 'metric[in]'?: string\n 'dateRange.startAt'?: string\n 'dateRange.endAt'?: string\n}\n\nexport type UsageProps = {\n /**\n * System metadata\n */\n sys: MetaSysProps & {\n organization?: { sys: MetaLinkProps }\n }\n\n /**\n * Type of usage\n */\n metric: UsageMetricEnum\n\n /**\n * Unit of usage metric\n */\n unitOfMeasure: string\n\n /**\n * Range of usage\n */\n dateRange: {\n startAt: string\n endAt: string\n }\n\n /**\n * Value of the usage\n */\n usage: number\n\n /**\n * Usage per day\n */\n usagePerDay: {\n [key: string]: number\n }\n}\n\nexport interface Usage extends UsageProps, DefaultElements<UsageProps> {}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw data\n * @return Normalized usage\n */\nexport function wrapUsage(http: AxiosInstance, data: UsageProps): Usage {\n const usage = toPlainObject(cloneDeep(data))\n const usageWithMethods = enhanceWithMethods(usage, {})\n return freezeSys(usageWithMethods)\n}\n\n/**\n * @private\n */\nexport const wrapUsageCollection = wrapCollection(wrapUsage)\n","import { AxiosInstance } from 'axios'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport cloneDeep from 'lodash/cloneDeep'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport { wrapCollection } from '../common-utils'\nimport { DefaultElements, MetaSysProps } from '../common-types'\n\nexport type UserProps = {\n /**\n * System metadata\n */\n sys: MetaSysProps\n\n /**\n * First name of the user\n */\n firstName: string\n\n /**\n * Last name of the user\n */\n lastName: string\n\n /**\n * Url to the users avatar\n */\n avatarUrl: string\n\n /**\n * Email address of the user\n */\n email: string\n\n /**\n * Activation flag\n */\n activated: boolean\n\n /**\n * Number of sign ins\n */\n signInCount: number\n\n /**\n * User confirmation flag\n */\n confirmed: boolean\n}\n\nexport interface User extends UserProps, DefaultElements<UserProps> {}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw data\n * @return Normalized user\n */\nexport function wrapUser(http: AxiosInstance, data: UserProps): User {\n const user = toPlainObject(cloneDeep(data))\n const userWithMethods = enhanceWithMethods(user, {})\n return freezeSys(userWithMethods)\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw data collection\n * @return Normalized user collection\n */\nexport const wrapUserCollection = wrapCollection(wrapUser)\n","import { AxiosInstance } from 'axios'\nimport cloneDeep from 'lodash/cloneDeep'\nimport { freezeSys, toPlainObject } from 'contentful-sdk-core'\nimport enhanceWithMethods from '../enhance-with-methods'\nimport errorHandler from '../error-handler'\nimport { createUpdateEntity, createDeleteEntity } from '../instance-actions'\nimport { wrapCollection } from '../common-utils'\nimport { DefaultElements, MetaSysProps } from '../common-types'\n\nconst entityPath = 'webhook_definitions'\n\nexport type WebhookProps = {\n /**\n * System metadata\n */\n sys: MetaSysProps\n\n /**\n * Webhook name\n */\n name: string\n\n /**\n * Webhook url\n */\n url: string\n\n /**\n * Username for basic http auth\n */\n httpBasicUsername: string\n\n /**\n * Password for basic http auth\n */\n httpBasicPassword: string\n\n /**\n * Headers that should be appended to the webhook request\n */\n headers: {\n [key: string]: string\n }\n\n /**\n * Topics the webhook wants to subscribe to\n */\n topics: string[]\n\n /**\n * Transformation to apply\n */\n transformation?: {\n method?: string\n contentType?: string\n includeContentLength?: boolean\n body?: object\n }\n}\n\nexport interface WebHooks extends WebhookProps, DefaultElements<WebhookProps> {\n /**\n * Sends an update to the server with any changes made to the object's properties\n * @return Object returned from the server with updated changes.\n * ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getWebhook('<webhook_id>'))\n * .then((webhook) => {\n * webhook.name = 'new webhook name'\n * return webhook.update()\n * })\n * .then((webhook) => console.log(`webhook ${webhook.sys.id} updated.`))\n * .catch(console.error)\n * ```\n */\n update(): Promise<WebHooks>\n\n /**\n * Deletes this object on the server.\n * @return Promise for the deletion. It contains no data, but the Promise error case should be handled.\n * ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getWebhook('<webhook_id>'))\n * .then((webhook) => webhook.delete())\n * .then((webhook) => console.log(`webhook ${webhook.sys.id} updated.`))\n * .catch(console.error)\n * ```\n */\n delete(): Promise<void>\n\n /**\n * List of the most recent webhook calls. See https://www.contentful.com/developers/docs/references/content-management-api/#/reference/webhook-calls/webhook-call-overviews for more details.\n * @return Promise for list of calls\n * ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getWebhook('<webhook_id>'))\n * .then((webhook) => webhook.getCalls())\n * .then((response) => console.log(response.items)) // webhook calls\n * .catch(console.error)\n * ```\n */\n getCalls(): Promise<Record<string, unknown>>\n\n /**\n * Webhook call with specific id. See https://www.contentful.com/developers/docs/references/content-management-api/#/reference/webhook-calls/webhook-call-overviews for more details\n * @return Promise for call details\n * ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getWebhook('<webhook_id>'))\n * .then((webhook) => webhook.getCall('<call-id>'))\n * .then((webhookCall) => console.log(webhookCall))\n * .catch(console.error)\n * ```\n */\n getCall(id: string): Promise<Record<string, unknown>>\n\n /**\n * Overview of the health of webhook calls. See https://www.contentful.com/developers/docs/references/content-management-api/#/reference/webhook-calls/webhook-call-overviews for more details.\n * @return Promise for health info\n * ```javascript\n * const contentful = require('contentful-management')\n *\n * const client = contentful.createClient({\n * accessToken: '<content_management_api_key>'\n * })\n *\n * client.getSpace('<space_id>')\n * .then((space) => space.getWebhook('<webhook_id>'))\n * .then((webhook) => webhook.getHealth())\n * .then((webhookHealth) => console.log(webhookHealth))\n * .catch(console.error)\n * ```\n */\n getHealth(): Promise<Record<string, unknown>>\n}\n\nfunction createWebhookApi(http: AxiosInstance) {\n return {\n update: createUpdateEntity({\n http,\n entityPath,\n wrapperMethod: wrapWebhook,\n }),\n\n delete: createDeleteEntity({\n http,\n entityPath,\n }),\n\n getCalls: function (): Promise<Record<string, unknown>> {\n return http\n .get('webhooks/' + this.sys.id + '/calls')\n .then((response) => response.data, errorHandler)\n },\n\n getCall: function (id: string): Promise<Record<string, unknown>> {\n return http\n .get('webhooks/' + this.sys.id + '/calls/' + id)\n .then((response) => response.data, errorHandler)\n },\n\n getHealth: function (): Promise<Record<string, unknown>> {\n return http\n .get('webhooks/' + this.sys.id + '/health')\n .then((response) => response.data, errorHandler)\n },\n }\n}\n\n/**\n * @private\n * @param http - HTTP client instance\n * @param data - Raw webhook data\n * @return Wrapped webhook data\n */\nexport function wrapWebhook(http: AxiosInstance, data: WebhookProps): WebHooks {\n const webhook = toPlainObject(cloneDeep(data))\n const webhookWithMethods = enhanceWithMethods(webhook, createWebhookApi(http))\n return freezeSys(webhookWithMethods)\n}\n\n/**\n * @private\n */\nexport const wrapWebhookCollection = wrapCollection(wrapWebhook)\n","import isPlainObject from 'lodash/isPlainObject'\nimport { AxiosError } from 'axios'\n\n/**\n * Handles errors received from the server. Parses the error into a more useful\n * format, places it in an exception and throws it.\n * See https://www.contentful.com/developers/docs/references/errors/\n * for more details on the data received on the errorResponse.data property\n * and the expected error codes.\n * @private\n */\nexport default function errorHandler(errorResponse: AxiosError): never {\n const { config, response } = errorResponse\n let errorName\n\n // Obscure the Management token\n if (config.headers && config.headers['Authorization']) {\n const token = `...${config.headers['Authorization'].substr(-5)}`\n config.headers['Authorization'] = `Bearer ${token}`\n }\n\n if (!isPlainObject(response) || !isPlainObject(config)) {\n throw errorResponse\n }\n\n const data = response?.data\n\n const errorData: {\n status?: number\n statusText?: string\n requestId?: string\n message: string\n details: object\n request?: object\n } = {\n status: response?.status,\n statusText: response?.statusText,\n message: '',\n details: {},\n }\n\n if (isPlainObject(config)) {\n errorData.request = {\n url: config.url,\n headers: config.headers,\n method: config.method,\n payloadData: config.data,\n }\n }\n if (data && isPlainObject(data)) {\n if ('requestId' in data) {\n errorData.requestId = data.requestId || 'UNKNOWN'\n }\n if ('message' in data) {\n errorData.message = data.message || ''\n }\n if ('details' in data) {\n errorData.details = data.details || {}\n }\n if ('sys' in data) {\n if ('id' in data.sys) {\n errorName = data.sys.id\n }\n }\n }\n\n const error = new Error()\n error.name =\n errorName && errorName !== 'Unknown' ? errorName : `${response?.status} ${response?.statusText}`\n error.message = JSON.stringify(errorData, null, ' ')\n throw error\n}\n","import cloneDeep from 'lodash/cloneDeep'\nimport { AxiosInstance } from 'axios'\nimport type { MetaSysProps, DefaultElements } from './common-types'\n\nimport errorHandler from './error-handler'\n\ntype ThisContext = { sys: MetaSysProps } & DefaultElements<{ sys: MetaSysProps }>\ntype WrapperMethod<E, A extends AxiosInstance = AxiosInstance> = (http: A, data: any) => E\n\n/**\n * @private\n */\nexport function createUpdateEntity<T>({\n http,\n entityPath,\n wrapperMethod,\n headers,\n}: {\n http: AxiosInstance\n entityPath: string\n wrapperMethod: WrapperMethod<T>\n headers?: Record<string, unknown>\n}): () => Promise<T> {\n return function () {\n const self = this as ThisContext\n const raw = self.toPlainObject()\n const data = cloneDeep(raw)\n delete data.sys\n return http\n .put(entityPath + '/' + self.sys.id, data, {\n headers: {\n 'X-Contentful-Version': self.sys.version || 0, // if there is no sys.version, just send 0\n ...headers,\n },\n })\n .then((response) => wrapperMethod(http, response.data), errorHandler)\n }\n}\n\n/**\n * @private\n */\nexport function createDeleteEntity({\n http,\n entityPath,\n}: {\n http: AxiosInstance\n entityPath: string\n}) {\n return function () {\n const self = this as ThisContext\n return http.delete(entityPath + '/' + self.sys.id).then(() => {\n // do nothing\n }, errorHandler)\n }\n}\n\n/**\n * @private\n */\nexport function createPublishEntity<T>({\n http,\n entityPath,\n wrapperMethod,\n}: {\n http: AxiosInstance\n entityPath: string\n wrapperMethod: WrapperMethod<T>\n}) {\n return function () {\n const self = this as ThisContext\n return http\n .put<T>(entityPath + '/' + self.sys.id + '/published', null, {\n headers: {\n 'X-Contentful-Version': self.sys.version,\n },\n })\n .then((response) => wrapperMethod(http, response.data), errorHandler)\n }\n}\n\n/**\n * @private\n */\nexport function createUnpublishEntity<T>({\n http,\n entityPath,\n wrapperMethod,\n}: {\n http: AxiosInstance\n entityPath: string\n wrapperMethod: WrapperMethod<T>\n}) {\n return function () {\n const self = this as ThisContext\n return http\n .delete<T>(entityPath + '/' + self.sys.id + '/published')\n .then((response) => wrapperMethod(http, response.data), errorHandler)\n }\n}\n\n/**\n * @private\n */\nexport function createArchiveEntity<T>({\n http,\n entityPath,\n wrapperMethod,\n}: {\n http: AxiosInstance\n entityPath: string\n wrapperMethod: WrapperMethod<T>\n}) {\n return function () {\n const self = this as ThisContext\n return http\n .put<T>(entityPath + '/' + self.sys.id + '/archived')\n .then((response) => wrapperMethod(http, response.data), errorHandler)\n }\n}\n\n/**\n * @private\n */\nexport function createUnarchiveEntity<T>({\n http,\n entityPath,\n wrapperMethod,\n}: {\n http: AxiosInstance\n entityPath: string\n wrapperMethod: WrapperMethod<T>\n}) {\n return function () {\n const self = this\n return http\n .delete<T>(entityPath + '/' + self.sys.id + '/archived')\n .then((response) => wrapperMethod(http, response.data), errorHandler)\n }\n}\n\n/**\n * @private\n */\nexport function createPublishedChecker() {\n return function () {\n const self = this as ThisContext\n return !!self.sys.publishedVersion\n }\n}\n\n/**\n * @private\n */\nexport function createUpdatedChecker() {\n return function () {\n const self = this as ThisContext\n // The act of publishing an entity increases its version by 1, so any entry which has\n // 2 versions higher or more than the publishedVersion has unpublished changes.\n return !!(self.sys.publishedVersion && self.sys.version > self.sys.publishedVersion + 1)\n }\n}\n\n/**\n * @private\n */\nexport function createDraftChecker() {\n return function () {\n const self = this as ThisContext\n return !self.sys.publishedVersion\n }\n}\n\n/**\n * @private\n */\nexport function createArchivedChecker() {\n return function () {\n const self = this as ThisContext\n return !!self.sys.archivedVersion\n }\n}\n","module.exports = require(\"assert\");","module.exports = require(\"http\");","module.exports = require(\"https\");","module.exports = require(\"os\");","module.exports = require(\"stream\");","module.exports = require(\"tty\");","module.exports = require(\"url\");","module.exports = require(\"util\");","module.exports = require(\"zlib\");"],"sourceRoot":""}
\No newline at end of file