@overmap-ai/core 2.0.6-comment-attachment-improvements.0 → 2.0.6-comment-attachment-improvements.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/overmap-core.js +5165 -5010
- package/dist/overmap-core.umd.cjs +6 -6
- package/dist/sdk/services/FormSubmissionCommentAttachmentService.d.ts +31 -0
- package/dist/sdk/services/IssueUpdateService.d.ts +2 -0
- package/dist/sdk/services/index.d.ts +1 -0
- package/dist/store/reducers.d.ts +3 -0
- package/dist/store/slices/assetSlice.d.ts +1 -0
- package/dist/store/slices/assetTypeFieldValuesAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/assetTypeFieldValuesSlice.d.ts +1 -0
- package/dist/store/slices/assetTypeFieldsAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/assetTypeFieldsSlice.d.ts +1 -0
- package/dist/store/slices/assetTypeStatusSlice.d.ts +1 -0
- package/dist/store/slices/emailDomainsSlice.d.ts +1 -0
- package/dist/store/slices/formRevisionAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/formRevisionSlice.d.ts +1 -0
- package/dist/store/slices/formSlice.d.ts +1 -0
- package/dist/store/slices/formSubmissionCommentAttachmentSlice.d.ts +22 -0
- package/dist/store/slices/geoImageSlice.d.ts +1 -0
- package/dist/store/slices/index.d.ts +1 -0
- package/dist/store/slices/issueAssociationSlice.d.ts +1 -0
- package/dist/store/slices/issueTypeFieldValuesAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/issueTypeFieldValuesSlice.d.ts +1 -0
- package/dist/store/slices/issueTypeFieldsAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/issueTypeFieldsSlice.d.ts +1 -0
- package/dist/store/slices/issueTypePrioritySlice.d.ts +1 -0
- package/dist/store/slices/issueTypeStatusSlice.d.ts +1 -0
- package/dist/store/slices/issueUpdateSlice.d.ts +3 -0
- package/dist/store/slices/organizationSlice.d.ts +1 -0
- package/dist/store/slices/procedureFieldValuesSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepAssigneeSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepCommentSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepDefaultAssigneeSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepDefaultReviewerSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepEventSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepFieldValuesAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepFieldValuesReviewSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepFieldValuesSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepFieldsAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepFieldsSlice.d.ts +2 -0
- package/dist/store/slices/procedureStepReviewerSlice.d.ts +1 -0
- package/dist/store/slices/procedureStepSlice.d.ts +1 -0
- package/dist/store/slices/procedureTypeAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/procedureTypeFieldValuesAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/procedureTypeFieldsAttachmentSlice.d.ts +1 -0
- package/dist/store/slices/projectFileSlice.d.ts +1 -0
- package/dist/store/slices/projectSlice.d.ts +1 -0
- package/dist/store/slices/reportSlice.d.ts +1 -0
- package/dist/store/slices/userSlice.d.ts +1 -0
- package/package.json +3 -3
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
(function(s,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("@overmap-ai/common"),require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("idb"),require("jwt-decode"),require("dependency-graph")):typeof define=="function"&&define.amd?define(["exports","@overmap-ai/common","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","idb","jwt-decode","dependency-graph"],l):(s=typeof globalThis<"u"?globalThis:s||self,l(s["overmap-core"]={},s.common,null,s.toolkit,s.request,s.uuid,s.reduxOffline,s.offlineConfig,s.localforage,s.idb,s.jwtDecode,s.dependencyGraph))})(this,(function(s,l,sw,u,ft,dt,i_,An,a_,n_,c_,r_){"use strict";const Tn=["created_at","updated_at","index","revision"];var o=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(o||{});function O(t){return{addOne:(f,A)=>{const I=t(A.payload);I in f.instances||(f.instances[I]=A.payload)},addMany:(f,A)=>{for(const I of A.payload){const S=t(I);S in f.instances||(f.instances[S]=I)}},updateOne:(f,A)=>{const I=t(A.payload);I in f.instances&&(f.instances[I]=A.payload)},setMany:(f,A)=>{for(const I of A.payload){const S=t(I);f.instances[S]=I}},setOne:(f,A)=>{const I=t(A.payload);f.instances[I]=A.payload},updateMany:(f,A)=>{for(const I of A.payload){const S=t(I);S in f.instances&&(f.instances[S]=I)}},deleteOne:(f,A)=>{delete f.instances[A.payload]},deleteMany:(f,A)=>{for(const I of A.payload)delete f.instances[I]},initialize:(f,A)=>{f.instances={};const I=new Set;for(const S of A.payload){const P=t(S);I.add(P),f.instances[P]=S}I.size!==A.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function d_(t){return{initializeSelection:(p,h)=>{p[t]=Array.from(new Set(h.payload))},selectOne:(p,h)=>{console.debug(p,p[t]),!new Set(p[t]).has(h.payload)&&p[t].push(h.payload)},selectMany:(p,h)=>{const f=new Set(p[t]);for(const A of h.payload)f.has(A)||f.add(A);p[t]=Array.from(f)},unselectOne:(p,h)=>{const f=new Set(p[t]);f.has(h.payload)&&(f.delete(h.payload),p[t]=Array.from(f))},unselectMany:(p,h)=>{const f=new Set(p[t]);for(const A of h.payload)f.has(A)&&f.delete(A);p[t]=Array.from(f)},toggleOne:(p,h)=>{const f=new Set(p[t]);f.has(h.payload)?f.delete(h.payload):f.add(h.payload),p[t]=Array.from(f)},toggleMany:(p,h)=>{const f=new Set(p[t]);for(const A of h.payload)f.has(A)?f.delete(A):f.add(A);p[t]=Array.from(f)}}}const T=u.createAction("RESET"),E=u.createAction("RESET_PROJECT_STATE"),b=u.createAction("RESET_ORGANIZATION_STATE"),y=(t=>(...e)=>i=>t(i,...e)),$=O(t=>t.uuid),In={instances:{}},ds=u.createSlice({name:"agents",initialState:In,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,In)),reducers:{initializeConversations:$.initialize,addConversation:$.addOne,addConversations:$.addMany,setConversation:$.setOne,setConversations:$.setMany,updateConversation:$.updateOne,updateConversations:$.updateMany,deleteConversation:$.deleteOne,deleteConversations:$.deleteMany}}),{initializeConversations:On,addConversation:bn,addConversations:u_,setConversation:Pn,setConversations:l_,updateConversation:Fn,updateConversations:o_,deleteConversation:h_,deleteConversations:p_}=ds.actions,us=t=>t.agentsReducer.instances,y_=u.createSelector([us],t=>Object.values(t)),m_=y(u.createSelector([us,(t,e)=>e],(t,e)=>t[e])),_n=ds.reducer,U=O(t=>t.uuid),Mn={instances:{}},ls=u.createSlice({name:"assetAttachments",initialState:Mn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Mn)),reducers:{initializeAssetAttachments:U.initialize,addAssetAttachment:U.addOne,addAssetAttachments:U.addMany,setAssetAttachment:U.setOne,setAssetAttachments:U.setMany,updateAssetAttachment:U.updateOne,updateAssetAttachments:U.updateMany,deleteAssetAttachment:U.deleteOne,deleteAssetAttachments:U.deleteMany}}),{initializeAssetAttachments:gn,addAssetAttachment:Rn,addAssetAttachments:os,setAssetAttachment:wn,setAssetAttachments:En,updateAssetAttachment:vn,updateAssetAttachments:Vn,deleteAssetAttachment:Bn,deleteAssetAttachments:hs}=ls.actions,zn=t=>t.assetAttachmentReducer.instances,ps=u.createSelector([zn],t=>Object.values(t)),jn=t=>e=>e.assetAttachmentReducer.instances[t],Cn=y(u.createSelector([ps,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Dn=y(u.createSelector([ps,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>e===i)))),qn=ls.reducer,k=O(t=>t.uuid),$n={instances:{}},ys=u.createSlice({name:"assetCommentAttachments",initialState:$n,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,$n)),reducers:{initializeAssetCommentAttachments:k.initialize,addAssetCommentAttachment:k.addOne,addAssetCommentAttachments:k.addMany,setAssetCommentAttachment:k.setOne,setAssetCommentAttachments:k.setMany,updateAssetCommentAttachment:k.updateOne,updateAssetCommentAttachments:k.updateMany,deleteAssetCommentAttachment:k.deleteOne,deleteAssetCommentAttachments:k.deleteMany}}),{initializeAssetCommentAttachments:Un,addAssetCommentAttachment:kn,addAssetCommentAttachments:Ln,setAssetCommentAttachment:Hn,setAssetCommentAttachments:Gn,updateAssetCommentAttachment:Nn,updateAssetCommentAttachments:Kn,deleteAssetCommentAttachment:Wn,deleteAssetCommentAttachments:Xn}=ys.actions,Yn=t=>t.assetCommentAttachmentReducer.instances,ms=u.createSelector([Yn],t=>Object.values(t)),Zn=t=>e=>e.assetCommentAttachmentReducer.instances[t],Jn=y(u.createSelector([ms,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),f_=y(u.createSelector([ms,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset_comment:i})=>e===i)))),Qn=ys.reducer,L=O(t=>t.uuid),xn={instances:{}},fs=u.createSlice({name:"assetComments",initialState:xn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,xn)),reducers:{initializeAssetComments:L.initialize,addAssetComment:L.addOne,addAssetComments:L.addMany,setAssetComment:L.setOne,setAssetComments:L.setMany,updateAssetComment:L.updateOne,updateAssetComments:L.updateMany,deleteAssetComment:L.deleteOne,deleteAssetComments:L.deleteMany}}),{initializeAssetComments:ec,addAssetComment:tc,addAssetComments:jt,setAssetComment:sc,setAssetComments:ic,updateAssetComment:ac,updateAssetComments:nc,deleteAssetComment:cc,deleteAssetComments:Ct}=fs.actions,rc=t=>t.assetCommentReducer.instances,Dt=u.createSelector([rc],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),dc=t=>e=>e.assetCommentReducer.instances[t],uc=y(u.createSelector([Dt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),lc=y(u.createSelector([Dt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),oc=y(u.createSelector([Dt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.asset)))})),hc=fs.reducer,H=O(t=>t.uuid),pc={instances:{}},Ss=u.createSlice({name:"assets",initialState:pc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,pc)),reducers:{initializeAssets:H.initialize,addAsset:H.addOne,addAssets:H.addMany,setAsset:H.setOne,setAssets:H.setMany,updateAsset:H.updateOne,updateAssets:H.updateMany,deleteAsset:H.deleteOne,deleteAssets:H.deleteMany}}),{initializeAssets:yc,addAsset:mc,addAssets:As,updateAsset:fc,updateAssets:Sc,deleteAsset:Ac,deleteAssets:Ts,setAsset:Tc,setAssets:Ic}=Ss.actions,Oc=t=>t.assetReducer.instances,qt=u.createSelector([Oc],t=>l.fallbackToEmptyArray(Object.values(t))),S_=y(u.createSelector([qt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),bc=y(u.createSelector([qt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),Pc=t=>e=>e.assetReducer.instances[t],Fc=y(u.createSelector([qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),_c=Ss.reducer,G=O(t=>t.uuid),Mc={instances:{}},Is=u.createSlice({name:"assetTypeAttachments",initialState:Mc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Mc)),reducers:{initializeAssetTypeAttachments:G.initialize,addAssetTypeAttachment:G.addOne,addAssetTypeAttachments:G.addMany,setAssetTypeAttachment:G.setOne,setAssetTypeAttachments:G.setMany,updateAssetTypeAttachment:G.updateOne,updateAssetTypeAttachments:G.updateMany,deleteAssetTypeAttachment:G.deleteOne,deleteAssetTypeAttachments:G.deleteMany}}),{initializeAssetTypeAttachments:gc,addAssetTypeAttachment:Rc,addAssetTypeAttachments:Os,setAssetTypeAttachment:wc,setAssetTypeAttachments:Ec,updateAssetTypeAttachment:vc,updateAssetTypeAttachments:Vc,deleteAssetTypeAttachment:Bc,deleteAssetTypeAttachments:bs}=Is.actions,zc=t=>t.assetTypeAttachmentReducer.instances,Ps=u.createSelector([zc],t=>Object.values(t)),jc=t=>e=>e.assetTypeAttachmentReducer.instances[t],Cc=y(u.createSelector([Ps,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Dc=y(u.createSelector([Ps,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset_type:i})=>e===i)))),qc=Is.reducer,N=O(t=>t.uuid),$c={instances:{}},Fs=u.createSlice({name:"assetTypeFieldsAttachments",initialState:$c,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,$c)),reducers:{initializeAssetTypeFieldsAttachments:N.initialize,addAssetTypeFieldsAttachment:N.addOne,addAssetTypeFieldsAttachments:N.addMany,setAssetTypeFieldsAttachment:N.setOne,setAssetTypeFieldsAttachments:N.setMany,updateAssetTypeFieldsAttachment:N.updateOne,updateAssetTypeFieldsAttachments:N.updateMany,deleteAssetTypeFieldsAttachment:N.deleteOne,deleteAssetTypeFieldsAttachments:N.deleteMany}}),{initializeAssetTypeFieldsAttachments:Uc,addAssetTypeFieldsAttachment:kc,addAssetTypeFieldsAttachments:Lc,setAssetTypeFieldsAttachment:Hc,setAssetTypeFieldsAttachments:Gc,updateAssetTypeFieldsAttachment:Nc,updateAssetTypeFieldsAttachments:Kc,deleteAssetTypeFieldsAttachment:Wc,deleteAssetTypeFieldsAttachments:Xc}=Fs.actions,Yc=t=>t.assetTypeFieldsAttachmentReducer.instances,_s=u.createSelector([Yc],t=>Object.values(t)),A_=y(u.createSelector([_s,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),Zc=t=>e=>e.assetTypeFieldsAttachmentReducer.instances[t],Jc=y(u.createSelector([_s,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Qc=Fs.reducer,K=O(t=>t.uuid),xc={instances:{}},Ms=u.createSlice({name:"assetTypeFields",initialState:xc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,xc)),reducers:{initializeAssetTypeFields:K.initialize,addAssetTypeFields:K.addOne,addAssetTypeFieldsMany:K.addMany,setAssetTypeFields:K.setOne,setAssetTypeFieldsMany:K.setMany,updateAssetTypeFields:K.updateOne,updateAssetTypeFieldsMany:K.updateMany,deleteAssetTypeFields:K.deleteOne,deleteAssetTypeFieldsMany:K.deleteMany}}),{initializeAssetTypeFields:er,addAssetTypeFields:tr,addAssetTypeFieldsMany:sr,setAssetTypeFields:ir,setAssetTypeFieldsMany:ar,updateAssetTypeFields:nr,updateAssetTypeFieldsMany:cr,deleteAssetTypeFields:rr,deleteAssetTypeFieldsMany:dr}=Ms.actions,ur=t=>t.assetTypeFieldsReducer.instances,_t=u.createSelector([ur],t=>Object.values(t)),T_=y(u.createSelector([_t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),I_=y(u.createSelector([_t,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_type===e).toSorted(l.submittedAtModelSortFn).pop())),lr=t=>e=>e.assetTypeFieldsReducer.instances[t],or=y(u.createSelector([_t,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),hr=Ms.reducer,W=O(t=>t.uuid),pr={instances:{}},gs=u.createSlice({name:"assetTypeFieldValuesAttachments",initialState:pr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,pr)),reducers:{initializeAssetTypeFieldValuesAttachments:W.initialize,addAssetTypeFieldValuesAttachment:W.addOne,addAssetTypeFieldValuesAttachments:W.addMany,setAssetTypeFieldValuesAttachment:W.setOne,setAssetTypeFieldValuesAttachments:W.setMany,updateAssetTypeFieldValuesAttachment:W.updateOne,updateAssetTypeFieldValuesAttachments:W.updateMany,deleteAssetTypeFieldValuesAttachment:W.deleteOne,deleteAssetTypeFieldValuesAttachments:W.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:yr,addAssetTypeFieldValuesAttachment:mr,addAssetTypeFieldValuesAttachments:Rs,setAssetTypeFieldValuesAttachment:fr,setAssetTypeFieldValuesAttachments:Sr,updateAssetTypeFieldValuesAttachment:Ar,updateAssetTypeFieldValuesAttachments:Tr,deleteAssetTypeFieldValuesAttachment:Ir,deleteAssetTypeFieldValuesAttachments:ws}=gs.actions,Or=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Es=u.createSelector([Or],t=>Object.values(t)),br=t=>e=>e.assetTypeFieldValuesAttachmentReducer.instances[t],Pr=y(u.createSelector([Es,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Fr=y(u.createSelector([Es,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),_r=gs.reducer,X=O(t=>t.uuid),Mr={instances:{}},vs=u.createSlice({name:"assetTypeFieldValues",initialState:Mr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Mr)),reducers:{initializeAssetTypeFieldValues:X.initialize,addAssetTypeFieldValues:X.addOne,addAssetTypeFieldValuesMany:X.addMany,setAssetTypeFieldValues:X.setOne,setAssetTypeFieldValuesMany:X.setMany,updateAssetTypeFieldValues:X.updateOne,updateAssetTypeFieldValuesMany:X.updateMany,deleteAssetTypeFieldValues:X.deleteOne,deleteAssetTypeFieldValuesMany:X.deleteMany}}),{initializeAssetTypeFieldValues:gr,addAssetTypeFieldValues:Rr,addAssetTypeFieldValuesMany:wr,setAssetTypeFieldValues:Er,setAssetTypeFieldValuesMany:vr,updateAssetTypeFieldValues:Vr,updateAssetTypeFieldValuesMany:Br,deleteAssetTypeFieldValues:zr,deleteAssetTypeFieldValuesMany:jr}=vs.actions,Cr=t=>t.assetTypeFieldValuesReducer.instances,$t=u.createSelector([Cr],t=>Object.values(t)),O_=y(u.createSelector([$t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),b_=y(u.createSelector([_t,$t,(t,e)=>e],(t,e,i)=>{const a=new Set(t.filter(n=>n.asset_type===i).map(n=>n.uuid));return l.fallbackToEmptyArray(e.filter(n=>a.has(n.fields_revision)))})),Dr=t=>e=>e.assetTypeFieldValuesReducer.instances[t],qr=y(u.createSelector([$t,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),$r=vs.reducer,Y=O(t=>t.uuid),Ur={instances:{}},Vs=u.createSlice({name:"assetTypeIdentifiers",initialState:Ur,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Ur)),reducers:{initializeAssetTypeIdentifiers:Y.initialize,addAssetTypeIdentifier:Y.addOne,addAssetTypeIdentifiers:Y.addMany,setAssetTypeIdentifier:Y.setOne,setAssetTypeIdentifiers:Y.setMany,updateAssetTypeIdentifier:Y.updateOne,updateAssetTypeIdentifiers:Y.updateMany,deleteAssetTypeIdentifier:Y.deleteOne,deleteAssetTypeIdentifiers:Y.deleteMany}}),{initializeAssetTypeIdentifiers:kr,addAssetTypeIdentifier:Lr,addAssetTypeIdentifiers:Hr,setAssetTypeIdentifier:Gr,setAssetTypeIdentifiers:Nr,updateAssetTypeIdentifier:Kr,updateAssetTypeIdentifiers:Wr,deleteAssetTypeIdentifier:Xr,deleteAssetTypeIdentifiers:Yr}=Vs.actions,Zr=t=>t.assetTypeIdentifierReducer.instances,Bs=u.createSelector([Zr],t=>Object.values(t)),Jr=t=>e=>e.assetTypeIdentifierReducer.instances[t],Qr=y(u.createSelector([Bs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),P_=y(u.createSelector([Bs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),xr=Vs.reducer,Z=O(t=>t.uuid),ed={instances:{}},zs=u.createSlice({name:"assetTypeIdentifierValues",initialState:ed,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,ed)),reducers:{initializeAssetTypeIdentifierValues:Z.initialize,addAssetTypeIdentifierValue:Z.addOne,addAssetTypeIdentifierValues:Z.addMany,setAssetTypeIdentifierValue:Z.setOne,setAssetTypeIdentifierValues:Z.setMany,updateAssetTypeIdentifierValue:Z.updateOne,updateAssetTypeIdentifierValues:Z.updateMany,deleteAssetTypeIdentifierValue:Z.deleteOne,deleteAssetTypeIdentifierValues:Z.deleteMany}}),{initializeAssetTypeIdentifierValues:td,addAssetTypeIdentifierValue:sd,addAssetTypeIdentifierValues:id,setAssetTypeIdentifierValue:ad,setAssetTypeIdentifierValues:nd,updateAssetTypeIdentifierValue:cd,updateAssetTypeIdentifierValues:rd,deleteAssetTypeIdentifierValue:dd,deleteAssetTypeIdentifierValues:ud}=zs.actions,ld=t=>t.assetTypeIdentifierValueReducer.instances,Ut=u.createSelector([ld],t=>Object.values(t)),od=t=>e=>e.assetTypeIdentifierValueReducer.instances[t],hd=y(u.createSelector([Ut,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),F_=y(u.createSelector([Ut,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),__=y(u.createSelector([Ut,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type_identifier===e)))),pd=zs.reducer,J=O(t=>t.uuid),yd={instances:{}},js=u.createSlice({name:"assetTypes",initialState:yd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,yd)),reducers:{initializeAssetTypes:J.initialize,setAssetType:J.setOne,setAssetTypes:J.setMany,addAssetType:J.addOne,addAssetTypes:J.addMany,updateAssetType:J.updateOne,updateAssetTypes:J.updateMany,deleteAssetType:J.deleteOne,deleteAssetTypes:J.deleteMany}}),{initializeAssetTypes:md,setAssetType:fd,setAssetTypes:Sd,addAssetType:Ad,addAssetTypes:Td,updateAssetType:Id,updateAssetTypes:Od,deleteAssetType:bd,deleteAssetTypes:Pd}=js.actions,Fd=t=>t.assetTypeReducer.instances,Cs=u.createSelector([Fd],t=>Object.values(t)),_d=t=>e=>e.assetTypeReducer.instances[t],Md=y(u.createSelector([Cs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),M_=y(u.createSelector([Cs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),gd=js.reducer,Q=O(t=>t.uuid),Rd={instances:{}},Ds=u.createSlice({name:"assetTypeStatuses",initialState:Rd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Rd)),reducers:{initializeAssetTypeStatuses:Q.initialize,addAssetTypeStatus:Q.addOne,addAssetTypeStatuses:Q.addMany,setAssetTypeStatus:Q.setOne,setAssetTypeStatuses:Q.setMany,updateAssetTypeStatus:Q.updateOne,updateAssetTypeStatuses:Q.updateMany,deleteAssetTypeStatus:Q.deleteOne,deleteAssetTypeStatuses:Q.deleteMany}}),{initializeAssetTypeStatuses:wd,addAssetTypeStatus:Ed,addAssetTypeStatuses:vd,setAssetTypeStatus:Vd,setAssetTypeStatuses:Bd,updateAssetTypeStatus:zd,updateAssetTypeStatuses:jd,deleteAssetTypeStatus:Cd,deleteAssetTypeStatuses:Dd}=Ds.actions,qd=t=>t.assetTypeStatusReducer.instances,qs=u.createSelector([qd],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.assetTypeStatusSortFn))),$d=t=>e=>e.assetTypeStatusReducer.instances[t],Ud=y(u.createSelector([qs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),g_=y(u.createSelector([qs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),kd=Ds.reducer,Ld={accessToken:"",refreshToken:"",isLoggedIn:!1},kt=u.createSlice({name:"auth",initialState:Ld,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Ld)),reducers:{setTokens:(t,e)=>{t.accessToken=e.payload.accessToken,t.refreshToken=e.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,e)=>{e.payload||kt.caseReducers.clearTokens(t),t.isLoggedIn=e.payload}}}),{setTokens:R_,clearTokens:w_,setLoggedIn:Hd}=kt.actions,E_=t=>t.authReducer.accessToken,v_=t=>t.authReducer.isLoggedIn,Gd=kt.reducer,x=O(t=>t.uuid),Nd={instances:{}},$s=u.createSlice({name:"documentAttachments",initialState:Nd,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Nd)),reducers:{initializeDocumentAttachments:x.initialize,addDocumentAttachment:x.addOne,addDocumentAttachments:x.addMany,setDocumentAttachment:x.setOne,setDocumentAttachments:x.setMany,updateDocumentAttachment:x.updateOne,updateDocumentAttachments:x.updateMany,deleteDocumentAttachment:x.deleteOne,deleteDocumentAttachments:x.deleteMany}}),{initializeDocumentAttachments:Kd,addDocumentAttachment:Wd,addDocumentAttachments:Xd,setDocumentAttachment:Yd,setDocumentAttachments:Zd,updateDocumentAttachment:Jd,updateDocumentAttachments:Qd,deleteDocumentAttachment:xd,deleteDocumentAttachments:eu}=$s.actions,tu=t=>t.documentAttachmentReducer.instances,Us=u.createSelector([tu],t=>Object.values(t)),su=t=>e=>e.documentAttachmentReducer.instances[t],iu=y(u.createSelector([Us,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),V_=y(u.createSelector([Us,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({document:i})=>e===i)))),au=$s.reducer,ee=O(({uuid:t})=>t),nu={instances:{}},ks=u.createSlice({name:"documents",initialState:nu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>{Object.assign(e,nu)}),reducers:{initializeDocuments:ee.initialize,addDocument:ee.addOne,addDocuments:ee.addMany,setDocument:ee.setOne,setDocuments:ee.setMany,updateDocument:ee.updateOne,updateDocuments:ee.updateMany,deleteDocument:ee.deleteOne,deleteDocuments:ee.deleteMany}}),{initializeDocuments:cu,addDocument:ru,addDocuments:du,setDocument:uu,setDocuments:lu,updateDocument:ou,updateDocuments:hu,deleteDocument:pu,deleteDocuments:yu}=ks.actions,mu=ks.reducer,Ls=t=>t.documentsReducer.instances,Lt=u.createSelector([Ls],t=>Object.values(t)),fu=t=>e=>e.documentsReducer.instances[t],Su=y(u.createSelector([Lt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),B_=y(u.createSelector([Lt,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),z_=y(u.createSelector([Lt,(t,e)=>e],(t,e)=>t.filter(i=>i.organization===e))),Au=y(u.createSelector([Ls,(t,e)=>e],(t,e)=>{if(!t[e])return l.fallbackToEmptyArray([]);const n=l.getDocumentSubTree(e,Object.values(t)).all().map(({model:c})=>c);return l.fallbackToEmptyArray(n)})),te=O(t=>t.uuid),Tu={instances:{}},Hs=u.createSlice({name:"emailDomains",initialState:Tu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Tu)),reducers:{initializeEmailDomains:te.initialize,addEmailDomain:te.addOne,addEmailDomains:te.addMany,setEmailDomain:te.setOne,setEmailDomains:te.setMany,updateEmailDomain:te.updateOne,updateEmailDomains:te.updateMany,deleteEmailDomain:te.deleteOne,deleteEmailDomains:te.deleteMany}}),{initializeEmailDomains:Iu,addEmailDomain:Ou,addEmailDomains:bu,setEmailDomain:Pu,setEmailDomains:Fu,updateEmailDomain:_u,updateEmailDomains:Mu,deleteEmailDomain:gu,deleteEmailDomains:Ru}=Hs.actions,wu=t=>t.emailDomainsReducer.instances,Gs=u.createSelector([wu],t=>Object.values(t)),Eu=t=>e=>e.emailDomainsReducer.instances[t],vu=y(u.createSelector([Gs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),j_=y(u.createSelector([Gs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),Vu=Hs.reducer,se=O(t=>t.uuid),Bu={instances:{}},Ns=u.createSlice({name:"formIdentifiers",initialState:Bu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Bu)),reducers:{initializeFormIdentifiers:se.initialize,addFormIdentifier:se.addOne,addFormIdentifiers:se.addMany,setFormIdentifier:se.setOne,setFormIdentifiers:se.setMany,updateFormIdentifier:se.updateOne,updateFormIdentifiers:se.updateMany,deleteFormIdentifier:se.deleteOne,deleteFormIdentifiers:se.deleteMany}}),{initializeFormIdentifiers:zu,addFormIdentifier:ju,addFormIdentifiers:Cu,setFormIdentifier:Du,setFormIdentifiers:qu,updateFormIdentifier:$u,updateFormIdentifiers:Uu,deleteFormIdentifier:ku,deleteFormIdentifiers:Lu}=Ns.actions,Hu=t=>t.formIdentifierReducer.instances,Ks=u.createSelector([Hu],t=>Object.values(t)),Gu=t=>e=>e.formIdentifierReducer.instances[t],Nu=y(u.createSelector([Ks,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),C_=y(u.createSelector([Ks,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),Ku=Ns.reducer,ie=O(t=>t.uuid),Wu={instances:{}},Ws=u.createSlice({name:"formIdentifierValues",initialState:Wu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Wu)),reducers:{initializeFormIdentifierValues:ie.initialize,addFormIdentifierValue:ie.addOne,addFormIdentifierValues:ie.addMany,setFormIdentifierValue:ie.setOne,setFormIdentifierValues:ie.setMany,updateFormIdentifierValue:ie.updateOne,updateFormIdentifierValues:ie.updateMany,deleteFormIdentifierValue:ie.deleteOne,deleteFormIdentifierValues:ie.deleteMany}}),{initializeFormIdentifierValues:Xu,addFormIdentifierValue:Yu,addFormIdentifierValues:Zu,setFormIdentifierValue:Ju,setFormIdentifierValues:Qu,updateFormIdentifierValue:xu,updateFormIdentifierValues:el,deleteFormIdentifierValue:tl,deleteFormIdentifierValues:sl}=Ws.actions,il=t=>t.formIdentifierValueReducer.instances,Ht=u.createSelector([il],t=>Object.values(t)),al=t=>e=>e.formIdentifierValueReducer.instances[t],nl=y(u.createSelector([Ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),D_=y(u.createSelector([Ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),q_=y(u.createSelector([Ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_identifier===e)))),cl=Ws.reducer,ae=O(t=>t.uuid),rl={instances:{}},Xs=u.createSlice({name:"formRevisionAttachments",initialState:rl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,rl)),reducers:{initializeFormRevisionAttachments:ae.initialize,addFormRevisionAttachment:ae.addOne,addFormRevisionAttachments:ae.addMany,setFormRevisionAttachment:ae.setOne,setFormRevisionAttachments:ae.setMany,updateFormRevisionAttachment:ae.updateOne,updateFormRevisionAttachments:ae.updateMany,deleteFormRevisionAttachment:ae.deleteOne,deleteFormRevisionAttachments:ae.deleteMany}}),{initializeFormRevisionAttachments:dl,addFormRevisionAttachment:ul,addFormRevisionAttachments:ll,setFormRevisionAttachment:ol,setFormRevisionAttachments:hl,updateFormRevisionAttachment:pl,updateFormRevisionAttachments:yl,deleteFormRevisionAttachment:ml,deleteFormRevisionAttachments:fl}=Xs.actions,Gt=t=>t.formRevisionAttachmentReducer.instances,Sl=u.createSelector([Gt],t=>Object.values(t)),Al=y(u.createSelector([Gt,(t,e)=>e],(t,e)=>t[e])),Tl=y(u.createSelector([Sl,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),$_=y(u.createSelector([Gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.form_revision===e)))),Il=Xs.reducer,ne=O(t=>t.uuid),Ol={instances:{}},Ys=u.createSlice({name:"formRevisions",initialState:Ol,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Ol)),reducers:{initializeFormRevisions:ne.initialize,addFormRevision:ne.addOne,addFormRevisions:ne.addMany,setFormRevision:ne.setOne,setFormRevisions:ne.setMany,updateFormRevision:ne.updateOne,updateFormRevisions:ne.updateMany,deleteFormRevision:ne.deleteOne,deleteFormRevisions:ne.deleteMany}}),{initializeFormRevisions:bl,addFormRevision:Pl,addFormRevisions:Zs,setFormRevision:Fl,setFormRevisions:_l,updateFormRevision:Ml,updateFormRevisions:gl,deleteFormRevision:Rl,deleteFormRevisions:Js}=Ys.actions,wl=t=>t.formRevisionReducer.instances,Nt=u.createSelector([wl],t=>Object.values(t)),El=t=>e=>e.formRevisionReducer.instances[t],vl=y(u.createSelector([Nt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),U_=y(u.createSelector([Nt,(t,e)=>e],(t,e)=>t.filter(i=>i.form===e).toSorted(l.submittedAtModelSortFn).pop())),Vl=y(u.createSelector([Nt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),Bl=Ys.reducer,ce=O(t=>t.uuid),zl={instances:{}},Qs=u.createSlice({name:"formSubscribers",initialState:zl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,zl)),reducers:{initializeFormSubscribers:ce.initialize,addFormSubscriber:ce.addOne,addFormSubscribers:ce.addMany,setFormSubscriber:ce.setOne,setFormSubscribers:ce.setMany,updateFormSubscriber:ce.updateOne,updateFormSubscribers:ce.updateMany,deleteFormSubscriber:ce.deleteOne,deleteFormSubscribers:ce.deleteMany}}),{initializeFormSubscribers:jl,addFormSubscriber:Cl,addFormSubscribers:xs,setFormSubscriber:Dl,setFormSubscribers:ql,updateFormSubscriber:$l,updateFormSubscribers:Ul,deleteFormSubscriber:kl,deleteFormSubscribers:ei}=Qs.actions,Ll=t=>t.formSubscriberReducer.instances,Kt=u.createSelector([Ll],t=>Object.values(t)),Hl=t=>e=>e.formSubscriberReducer.instances[t],Gl=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Nl=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),k_=y(u.createSelector([Kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.user===e)))),Kl=Qs.reducer,re=O(t=>t.uuid),Wl={instances:{}},ti=u.createSlice({name:"forms",initialState:Wl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Wl)),reducers:{initializeForms:re.initialize,addForm:re.addOne,addForms:re.addMany,setForm:re.setOne,setForms:re.setMany,updateForm:re.updateOne,updateForms:re.updateMany,deleteForm:re.deleteOne,deleteForms:re.deleteMany}}),{initializeForms:Xl,addForm:Yl,addForms:Zl,setForm:Jl,setForms:Ql,updateForm:xl,updateForms:eo,deleteForm:to,deleteForms:so}=ti.actions,io=ti.reducer,ao=t=>t.formReducer.instances,si=u.createSelector([ao],t=>Object.values(t)),no=t=>e=>e.formReducer.instances[t],co=y(u.createSelector([si,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),L_=y(u.createSelector([si,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),de=O(({uuid:t})=>t),ro={instances:{}},ii=u.createSlice({name:"formSubmissionFieldValuesAttachments",initialState:ro,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,ro)),reducers:{initializeFormSubmissionFieldValuesAttachments:de.initialize,addFormSubmissionFieldValuesAttachment:de.addOne,addFormSubmissionFieldValuesAttachments:de.addMany,setFormSubmissionFieldValuesAttachment:de.setOne,setFormSubmissionFieldValuesAttachments:de.setMany,updateFormSubmissionFieldValuesAttachment:de.updateOne,updateFormSubmissionFieldValuesAttachments:de.updateMany,deleteFormSubmissionFieldValuesAttachment:de.deleteOne,deleteFormSubmissionFieldValuesAttachments:de.deleteMany}}),{initializeFormSubmissionFieldValuesAttachments:uo,addFormSubmissionFieldValuesAttachment:lo,addFormSubmissionFieldValuesAttachments:ai,setFormSubmissionFieldValuesAttachment:oo,setFormSubmissionFieldValuesAttachments:ho,updateFormSubmissionFieldValuesAttachment:po,updateFormSubmissionFieldValuesAttachments:yo,deleteFormSubmissionFieldValuesAttachment:mo,deleteFormSubmissionFieldValuesAttachments:ni}=ii.actions,ci=t=>t.formSubmissionFieldValuesAttachmentReducer.instances,ri=u.createSelector([ci],t=>Object.values(t)),fo=y(u.createSelector([ci,(t,e)=>e],(t,e)=>t[e])),di=y(u.createSelector([ri,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.uuid)))})),So=y(u.createSelector([ri,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),Ao=ii.reducer,ue=O(({uuid:t})=>t),To={instances:{}},ui=u.createSlice({name:"formSubmissionFieldValues",initialState:To,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,To)),reducers:{initializeFormSubmissionFieldValues:ue.initialize,addFormSubmissionFieldValues:ue.addOne,addFormSubmissionFieldValuesMany:ue.addMany,setFormSubmissionFieldValues:ue.setOne,setFormSubmissionFieldValuesMany:ue.setMany,updateFormSubmissionFieldValues:ue.updateOne,updateFormSubmissionFieldValuesMany:ue.updateMany,deleteFormSubmissionFieldValues:ue.deleteOne,deleteFormSubmissionFieldValuesMany:ue.deleteMany}}),{initializeFormSubmissionFieldValues:Io,addFormSubmissionFieldValues:Oo,addFormSubmissionFieldValuesMany:li,setFormSubmissionFieldValues:bo,setFormSubmissionFieldValuesMany:Po,updateFormSubmissionFieldValues:Fo,updateFormSubmissionFieldValuesMany:_o,deleteFormSubmissionFieldValues:Mo,deleteFormSubmissionFieldValuesMany:oi}=ui.actions,go=t=>t.formSubmissionFieldValuesReducer.instances,hi=u.createSelector([go],t=>Object.values(t)),Ro=t=>e=>e.formSubmissionFieldValuesReducer.instances[t],wo=y(u.createSelector([hi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Eo=y(u.createSelector([hi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),vo=ui.reducer,le=O(t=>t.uuid),Vo={instances:{}},pi=u.createSlice({name:"formSubmissionComments",initialState:Vo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Vo)),reducers:{initializeFormSubmissionComments:le.initialize,addFormSubmissionComment:le.addOne,addFormSubmissionComments:le.addMany,setFormSubmissionComment:le.setOne,setFormSubmissionComments:le.setMany,updateFormSubmissionComment:le.updateOne,updateFormSubmissionComments:le.updateMany,deleteFormSubmissionComment:le.deleteOne,deleteFormSubmissionComments:le.deleteMany}}),{initializeFormSubmissionComments:Bo,addFormSubmissionComment:zo,addFormSubmissionComments:yi,setFormSubmissionComment:jo,setFormSubmissionComments:Co,updateFormSubmissionComment:Do,updateFormSubmissionComments:qo,deleteFormSubmissionComment:$o,deleteFormSubmissionComments:mi}=pi.actions,Uo=t=>t.formSubmissionCommentReducer.instances,Wt=u.createSelector([Uo],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),ko=t=>e=>e.formSubmissionCommentReducer.instances[t],Lo=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Ho=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),H_=y(u.createSelector([Wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.form_submission)))})),Go=pi.reducer,oe=O(t=>t.uuid),No={instances:{}},fi=u.createSlice({name:"formSubmissions",initialState:No,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,No)),reducers:{initializeFormSubmissions:oe.initialize,setFormSubmission:oe.setOne,setFormSubmissions:oe.setMany,addFormSubmission:oe.addOne,addFormSubmissions:oe.addMany,updateFormSubmission:oe.updateOne,updateFormSubmissions:oe.updateMany,deleteFormSubmission:oe.deleteOne,deleteFormSubmissions:oe.deleteMany}}),{initializeFormSubmissions:Ko,setFormSubmission:Wo,setFormSubmissions:Xo,addFormSubmission:Yo,addFormSubmissions:ut,updateFormSubmission:Zo,updateFormSubmissions:Jo,deleteFormSubmission:Qo,deleteFormSubmissions:lt}=fi.actions,xo=t=>t.formSubmissionReducer.instances,C=u.createSelector([xo],t=>Object.values(t)),eh=t=>e=>e.formSubmissionReducer.instances[t],th=y(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),sh=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),G_=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({organization:i})=>i===e)))),N_=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),K_=y(u.createSelector([C,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({project:a,form:n})=>a===e&&n===i)))),W_=y(u.createSelector([C,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({organization:a,form:n})=>a===e&&n===i)))),ih=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),ah=y(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({issue:a})=>a&&i.has(a)))})),nh=y(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),ch=y(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>a&&i.has(a)))})),rh=fi.reducer,he=O(t=>t.uuid),dh={instances:{}},Si=u.createSlice({name:"geoImages",initialState:dh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,dh)),reducers:{initializeGeoImages:he.initialize,setGeoImage:he.setOne,setGeoImages:he.setMany,addGeoImage:he.addOne,addGeoImages:he.addMany,updateGeoImage:he.updateOne,updateGeoImages:he.updateMany,deleteGeoImage:he.deleteOne,deleteGeoImages:he.deleteMany}}),{initializeGeoImages:uh,setGeoImage:lh,setGeoImages:oh,addGeoImage:hh,addGeoImages:ph,updateGeoImage:yh,updateGeoImages:mh,deleteGeoImage:fh,deleteGeoImages:Sh}=Si.actions,Ah=t=>t.geoImageReducer.instances,Ai=u.createSelector([Ah],t=>Object.values(t)),Th=t=>e=>e.geoImageReducer.instances[t],Ih=y(u.createSelector([Ai,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),X_=y(u.createSelector([Ai,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),Oh=Si.reducer,pe=O(t=>t.uuid),bh={instances:{}},Ti=u.createSlice({name:"issueAssociations",initialState:bh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,bh)),reducers:{initializeIssueAssociations:pe.initialize,addIssueAssociation:pe.addOne,addIssueAssociations:pe.addMany,setIssueAssociation:pe.setOne,setIssueAssociations:pe.setMany,updateIssueAssociation:pe.updateOne,updateIssueAssociations:pe.updateMany,deleteIssueAssociation:pe.deleteOne,deleteIssueAssociations:pe.deleteMany}}),{initializeIssueAssociations:Ph,setIssueAssociations:Fh,setIssueAssociation:_h,updateIssueAssociation:Mh,updateIssueAssociations:gh,addIssueAssociation:Rh,addIssueAssociations:St,deleteIssueAssociation:wh,deleteIssueAssociations:At}=Ti.actions,Eh=t=>t.issueAssociationReducer.instances,Tt=u.createSelector([Eh],t=>Object.values(t)),vh=t=>e=>e.issueAssociationReducer.instances[t],Vh=y(u.createSelector([Tt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Bh=y(u.createSelector([Tt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({issue:a})=>i.has(a)))})),zh=y(u.createSelector([Tt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),jh=y(u.createSelector([Tt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),Ch=y(u.createSelector([Tt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),Dh=Ti.reducer,ye=O(t=>t.uuid),qh={instances:{}},Ii=u.createSlice({name:"issueAttachments",initialState:qh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,qh)),reducers:{initializeIssueAttachments:ye.initialize,addIssueAttachment:ye.addOne,addIssueAttachments:ye.addMany,setIssueAttachment:ye.setOne,setIssueAttachments:ye.setMany,updateIssueAttachment:ye.updateOne,updateIssueAttachments:ye.updateMany,deleteIssueAttachment:ye.deleteOne,deleteIssueAttachments:ye.deleteMany}}),{initializeIssueAttachments:$h,addIssueAttachment:Uh,addIssueAttachments:Oi,setIssueAttachment:kh,setIssueAttachments:Lh,updateIssueAttachment:Hh,updateIssueAttachments:Gh,deleteIssueAttachment:Nh,deleteIssueAttachments:bi}=Ii.actions,Kh=t=>t.issueAttachmentReducer.instances,Pi=u.createSelector([Kh],t=>Object.values(t)),Wh=y(u.createSelector([Pi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>e===i)))),Xh=t=>e=>e.issueAttachmentReducer.instances[t],Yh=y(u.createSelector([Pi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Zh=Ii.reducer,me=O(t=>t.uuid),Jh={instances:{}},Fi=u.createSlice({name:"issueCommentAttachments",initialState:Jh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Jh)),reducers:{initializeIssueCommentAttachments:me.initialize,addIssueCommentAttachment:me.addOne,addIssueCommentAttachments:me.addMany,setIssueCommentAttachment:me.setOne,setIssueCommentAttachments:me.setMany,updateIssueCommentAttachment:me.updateOne,updateIssueCommentAttachments:me.updateMany,deleteIssueCommentAttachment:me.deleteOne,deleteIssueCommentAttachments:me.deleteMany}}),{initializeIssueCommentAttachments:Qh,addIssueCommentAttachment:xh,addIssueCommentAttachments:ep,setIssueCommentAttachment:tp,setIssueCommentAttachments:sp,updateIssueCommentAttachment:ip,updateIssueCommentAttachments:ap,deleteIssueCommentAttachment:np,deleteIssueCommentAttachments:cp}=Fi.actions,rp=t=>t.issueCommentAttachmentReducer.instances,_i=u.createSelector([rp],t=>Object.values(t)),dp=t=>e=>e.issueCommentAttachmentReducer.instances[t],up=y(u.createSelector([_i,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Y_=y(u.createSelector([_i,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_comment:i})=>e===i)))),lp=Fi.reducer,fe=O(t=>t.uuid),op={instances:{}},Mi=u.createSlice({name:"issueComments",initialState:op,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,op)),reducers:{initializeIssueComments:fe.initialize,addIssueComment:fe.addOne,addIssueComments:fe.addMany,setIssueComment:fe.setOne,setIssueComments:fe.setMany,updateIssueComment:fe.updateOne,updateIssueComments:fe.updateMany,deleteIssueComment:fe.deleteOne,deleteIssueComments:fe.deleteMany}}),{initializeIssueComments:hp,addIssueComment:pp,addIssueComments:yp,setIssueComment:mp,setIssueComments:fp,updateIssueComment:Sp,updateIssueComments:Ap,deleteIssueComment:Tp,deleteIssueComments:Ip}=Mi.actions,gi=t=>t.issueCommentReducer.instances,Op=t=>e=>e.issueCommentReducer.instances[t],bp=y(u.createSelector([gi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(Object.values(t).filter(({uuid:a})=>i.has(a)))})),Z_=y(u.createSelector([gi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.issue===e)))),Pp=Mi.reducer,Se=O(t=>t.uuid),Fp={instances:{}},Ri=u.createSlice({name:"issues",initialState:Fp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Fp)),reducers:{initializeIssues:Se.initialize,addIssue:Se.addOne,addIssues:Se.addMany,setIssue:Se.setOne,setIssues:Se.setMany,updateIssue:Se.updateOne,updateIssues:Se.updateMany,deleteIssue:Se.deleteOne,deleteIssues:Se.deleteMany}}),{initializeIssues:_p,addIssue:Mp,addIssues:wi,setIssue:gp,setIssues:Rp,updateIssue:wp,updateIssues:Ep,deleteIssue:vp,deleteIssues:Ei}=Ri.actions,Vp=t=>t.issueReducer.instances,Xt=u.createSelector([Vp],t=>Object.values(t)),Bp=t=>e=>e.issueReducer.instances[t],zp=y(u.createSelector([Xt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),J_=y(u.createSelector([Xt,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),jp=y(u.createSelector([Xt,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e))),Cp=Ri.reducer,Ae=O(t=>t.uuid),Dp={instances:{}},vi=u.createSlice({name:"issueTypeAttachments",initialState:Dp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Dp)),reducers:{initializeIssueTypeAttachments:Ae.initialize,addIssueTypeAttachment:Ae.addOne,addIssueTypeAttachments:Ae.addMany,setIssueTypeAttachment:Ae.setOne,setIssueTypeAttachments:Ae.setMany,updateIssueTypeAttachment:Ae.updateOne,updateIssueTypeAttachments:Ae.updateMany,deleteIssueTypeAttachment:Ae.deleteOne,deleteIssueTypeAttachments:Ae.deleteMany}}),{initializeIssueTypeAttachments:qp,addIssueTypeAttachment:$p,addIssueTypeAttachments:Up,setIssueTypeAttachment:kp,setIssueTypeAttachments:Lp,updateIssueTypeAttachment:Hp,updateIssueTypeAttachments:Gp,deleteIssueTypeAttachment:Np,deleteIssueTypeAttachments:Kp}=vi.actions,Wp=t=>t.issueTypeAttachmentReducer.instances,Vi=u.createSelector([Wp],t=>Object.values(t)),Xp=t=>e=>e.issueTypeAttachmentReducer.instances[t],Yp=y(u.createSelector([Vi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Q_=y(u.createSelector([Vi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_type:i})=>e===i)))),Zp=vi.reducer,Te=O(t=>t.uuid),Jp={instances:{}},Bi=u.createSlice({name:"issueTypeFieldsAttachments",initialState:Jp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Jp)),reducers:{initializeIssueTypeFieldsAttachments:Te.initialize,addIssueTypeFieldsAttachment:Te.addOne,addIssueTypeFieldsAttachments:Te.addMany,setIssueTypeFieldsAttachment:Te.setOne,setIssueTypeFieldsAttachments:Te.setMany,updateIssueTypeFieldsAttachment:Te.updateOne,updateIssueTypeFieldsAttachments:Te.updateMany,deleteIssueTypeFieldsAttachment:Te.deleteOne,deleteIssueTypeFieldsAttachments:Te.deleteMany}}),{initializeIssueTypeFieldsAttachments:Qp,addIssueTypeFieldsAttachment:xp,addIssueTypeFieldsAttachments:ey,setIssueTypeFieldsAttachment:ty,setIssueTypeFieldsAttachments:sy,updateIssueTypeFieldsAttachment:iy,updateIssueTypeFieldsAttachments:ay,deleteIssueTypeFieldsAttachment:ny,deleteIssueTypeFieldsAttachments:cy}=Bi.actions,ry=t=>t.issueTypeFieldsAttachmentReducer.instances,zi=u.createSelector([ry],t=>Object.values(t)),x_=y(u.createSelector([zi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),dy=t=>e=>e.issueTypeFieldsAttachmentReducer.instances[t],uy=y(u.createSelector([zi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ly=Bi.reducer,Ie=O(t=>t.uuid),oy={instances:{}},ji=u.createSlice({name:"issueTypeFieldValues",initialState:oy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,oy)),reducers:{initializeIssueTypeFieldValues:Ie.initialize,addIssueTypeFieldValues:Ie.addOne,addIssueTypeFieldValuesMany:Ie.addMany,setIssueTypeFieldValues:Ie.setOne,setIssueTypeFieldValuesMany:Ie.setMany,updateIssueTypeFieldValues:Ie.updateOne,updateIssueTypeFieldValuesMany:Ie.updateMany,deleteIssueTypeFieldValues:Ie.deleteOne,deleteIssueTypeFieldValuesMany:Ie.deleteMany}}),{initializeIssueTypeFieldValues:hy,addIssueTypeFieldValues:py,addIssueTypeFieldValuesMany:yy,setIssueTypeFieldValues:my,setIssueTypeFieldValuesMany:fy,updateIssueTypeFieldValues:Sy,updateIssueTypeFieldValuesMany:Ay,deleteIssueTypeFieldValues:Ty,deleteIssueTypeFieldValuesMany:Iy}=ji.actions,Oy=t=>t.issueTypeFieldValuesReducer.instances,Yt=u.createSelector([Oy],t=>Object.values(t)),eM=y(u.createSelector([Yt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),by=t=>e=>e.issueTypeFieldValuesReducer.instances[t],Py=y(u.createSelector([Yt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Fy=ji.reducer,Oe=O(t=>t.uuid),_y={instances:{}},Ci=u.createSlice({name:"issueTypeFields",initialState:_y,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,_y)),reducers:{initializeIssueTypeFields:Oe.initialize,addIssueTypeFields:Oe.addOne,addIssueTypeFieldsMany:Oe.addMany,setIssueTypeFields:Oe.setOne,setIssueTypeFieldsMany:Oe.setMany,updateIssueTypeFields:Oe.updateOne,updateIssueTypeFieldsMany:Oe.updateMany,deleteIssueTypeFields:Oe.deleteOne,deleteIssueTypeFieldsMany:Oe.deleteMany}}),{initializeIssueTypeFields:My,addIssueTypeFields:gy,addIssueTypeFieldsMany:Ry,setIssueTypeFields:wy,setIssueTypeFieldsMany:Ey,updateIssueTypeFields:vy,updateIssueTypeFieldsMany:Vy,deleteIssueTypeFields:By,deleteIssueTypeFieldsMany:zy}=Ci.actions,jy=t=>t.issueTypeFieldsReducer.instances,Mt=u.createSelector([jy],t=>Object.values(t)),tM=y(u.createSelector([Mt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),sM=y(u.createSelector([Mt,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),iM=y(u.createSelector([Mt,Yt,(t,e)=>e],(t,e,i)=>{const a=new Set(t.filter(n=>n.issue_type===i).map(n=>n.uuid));return l.fallbackToEmptyArray(e.filter(n=>a.has(n.fields_revision)))})),Cy=t=>e=>e.issueTypeFieldsReducer.instances[t],Dy=y(u.createSelector([Mt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),qy=Ci.reducer,be=O(t=>t.uuid),$y={instances:{}},Di=u.createSlice({name:"issueTypeFieldValuesAttachments",initialState:$y,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,$y)),reducers:{initializeIssueTypeFieldValuesAttachments:be.initialize,addIssueTypeFieldValuesAttachment:be.addOne,addIssueTypeFieldValuesAttachments:be.addMany,setIssueTypeFieldValuesAttachment:be.setOne,setIssueTypeFieldValuesAttachments:be.setMany,updateIssueTypeFieldValuesAttachment:be.updateOne,updateIssueTypeFieldValuesAttachments:be.updateMany,deleteIssueTypeFieldValuesAttachment:be.deleteOne,deleteIssueTypeFieldValuesAttachments:be.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:Uy,addIssueTypeFieldValuesAttachment:ky,addIssueTypeFieldValuesAttachments:qi,setIssueTypeFieldValuesAttachment:Ly,setIssueTypeFieldValuesAttachments:Hy,updateIssueTypeFieldValuesAttachment:Gy,updateIssueTypeFieldValuesAttachments:Ny,deleteIssueTypeFieldValuesAttachment:Ky,deleteIssueTypeFieldValuesAttachments:$i}=Di.actions,Wy=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Ui=u.createSelector([Wy],t=>Object.values(t)),Xy=t=>e=>e.issueTypeFieldValuesAttachmentReducer.instances[t],Yy=y(u.createSelector([Ui,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Zy=y(u.createSelector([Ui,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),Jy=Di.reducer,Pe=O(t=>t.uuid),Qy={instances:{}},ki=u.createSlice({name:"issueTypeIdentifiers",initialState:Qy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Qy)),reducers:{initializeIssueTypeIdentifiers:Pe.initialize,addIssueTypeIdentifier:Pe.addOne,addIssueTypeIdentifiers:Pe.addMany,setIssueTypeIdentifier:Pe.setOne,setIssueTypeIdentifiers:Pe.setMany,updateIssueTypeIdentifier:Pe.updateOne,updateIssueTypeIdentifiers:Pe.updateMany,deleteIssueTypeIdentifier:Pe.deleteOne,deleteIssueTypeIdentifiers:Pe.deleteMany}}),{initializeIssueTypeIdentifiers:xy,addIssueTypeIdentifier:em,addIssueTypeIdentifiers:tm,setIssueTypeIdentifier:sm,setIssueTypeIdentifiers:im,updateIssueTypeIdentifier:am,updateIssueTypeIdentifiers:nm,deleteIssueTypeIdentifier:cm,deleteIssueTypeIdentifiers:rm}=ki.actions,dm=t=>t.issueTypeIdentifierReducer.instances,Li=u.createSelector([dm],t=>Object.values(t)),um=t=>e=>e.issueTypeIdentifierReducer.instances[t],lm=y(u.createSelector([Li,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),aM=y(u.createSelector([Li,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),om=ki.reducer,Fe=O(t=>t.uuid),hm={instances:{}},Hi=u.createSlice({name:"issueTypeIdentifierValues",initialState:hm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,hm)),reducers:{initializeIssueTypeIdentifierValues:Fe.initialize,addIssueTypeIdentifierValue:Fe.addOne,addIssueTypeIdentifierValues:Fe.addMany,setIssueTypeIdentifierValue:Fe.setOne,setIssueTypeIdentifierValues:Fe.setMany,updateIssueTypeIdentifierValue:Fe.updateOne,updateIssueTypeIdentifierValues:Fe.updateMany,deleteIssueTypeIdentifierValue:Fe.deleteOne,deleteIssueTypeIdentifierValues:Fe.deleteMany}}),{initializeIssueTypeIdentifierValues:pm,addIssueTypeIdentifierValue:ym,addIssueTypeIdentifierValues:mm,setIssueTypeIdentifierValue:fm,setIssueTypeIdentifierValues:Sm,updateIssueTypeIdentifierValue:Am,updateIssueTypeIdentifierValues:Tm,deleteIssueTypeIdentifierValue:Im,deleteIssueTypeIdentifierValues:Om}=Hi.actions,bm=t=>t.issueTypeIdentifierValueReducer.instances,Zt=u.createSelector([bm],t=>Object.values(t)),Pm=t=>e=>e.issueTypeIdentifierValueReducer.instances[t],Fm=y(u.createSelector([Zt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),nM=y(u.createSelector([Zt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),cM=y(u.createSelector([Zt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type_identifier===e)))),_m=Hi.reducer,_e=O(t=>t.uuid),Mm={instances:{}},Gi=u.createSlice({name:"issueTypePriorities",initialState:Mm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Mm)),reducers:{initializeIssueTypePriorities:_e.initialize,addIssueTypePriority:_e.addOne,addIssueTypePriorities:_e.addMany,setIssueTypePriority:_e.setOne,setIssueTypePriorities:_e.setMany,updateIssueTypePriority:_e.updateOne,updateIssueTypePriorities:_e.updateMany,deleteIssueTypePriority:_e.deleteOne,deleteIssueTypePriorities:_e.deleteMany}}),{initializeIssueTypePriorities:gm,addIssueTypePriority:Rm,addIssueTypePriorities:wm,setIssueTypePriority:Em,setIssueTypePriorities:vm,updateIssueTypePriority:Vm,updateIssueTypePriorities:Bm,deleteIssueTypePriority:zm,deleteIssueTypePriorities:jm}=Gi.actions,Cm=t=>t.issueTypePriorityReducer.instances,Ni=u.createSelector([Cm],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypePrioritySortFn))),Ki=t=>e=>e.issueTypePriorityReducer.instances[t],Dm=y(u.createSelector([Ni,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),rM=y(u.createSelector([Ni,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),qm=Gi.reducer,Me=O(t=>t.uuid),$m={instances:{}},Wi=u.createSlice({name:"issueTypes",initialState:$m,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,$m)),reducers:{initializeIssueTypes:Me.initialize,addIssueType:Me.addOne,addIssueTypes:Me.addMany,setIssueType:Me.setOne,setIssueTypes:Me.setMany,updateIssueType:Me.updateOne,updateIssueTypes:Me.updateMany,deleteIssueType:Me.deleteOne,deleteIssueTypes:Me.deleteMany}}),{initializeIssueTypes:Um,addIssueType:km,addIssueTypes:Lm,setIssueType:Hm,setIssueTypes:Gm,updateIssueType:Nm,updateIssueTypes:Km,deleteIssueType:Wm,deleteIssueTypes:Xm}=Wi.actions,Ym=t=>t.issueTypeReducer.instances,Xi=u.createSelector(Ym,t=>Object.values(t)),Zm=t=>e=>e.issueTypeReducer.instances[t],Jm=y(u.createSelector([Xi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),dM=y(u.createSelector([Xi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),Qm=Wi.reducer,ge=O(t=>t.uuid),xm={instances:{}},Yi=u.createSlice({name:"issueTypeStatuses",initialState:xm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,xm)),reducers:{initializeIssueTypeStatuses:ge.initialize,addIssueTypeStatus:ge.addOne,addIssueTypeStatuses:ge.addMany,setIssueTypeStatus:ge.setOne,setIssueTypeStatuses:ge.setMany,updateIssueTypeStatus:ge.updateOne,updateIssueTypeStatuses:ge.updateMany,deleteIssueTypeStatus:ge.deleteOne,deleteIssueTypeStatuses:ge.deleteMany}}),{initializeIssueTypeStatuses:ef,addIssueTypeStatus:tf,addIssueTypeStatuses:sf,setIssueTypeStatus:af,setIssueTypeStatuses:nf,updateIssueTypeStatus:cf,updateIssueTypeStatuses:rf,deleteIssueTypeStatus:df,deleteIssueTypeStatuses:uf}=Yi.actions,lf=t=>t.issueTypeStatusReducer.instances,Zi=u.createSelector([lf],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypeStatusSortFn))),Ji=t=>e=>e.issueTypeStatusReducer.instances[t],of=y(u.createSelector([Zi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),uM=y(u.createSelector([Zi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),hf=Yi.reducer,Re=O(t=>t.uuid),pf={instances:{}},Qi=u.createSlice({name:"issueUpdates",initialState:pf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,pf)),reducers:{initializeIssueUpdates:Re.initialize,addIssueUpdate:Re.addOne,addIssueUpdates:Re.addMany,setIssueUpdate:Re.setOne,setIssueUpdates:Re.setMany,updateIssueUpdate:Re.updateOne,updateIssueUpdates:Re.updateMany,deleteIssueUpdate:Re.deleteOne,deleteIssueUpdates:Re.deleteMany}}),{initializeIssueUpdates:yf,addIssueUpdate:xi,addIssueUpdates:ea,setIssueUpdate:mf,setIssueUpdates:ff,updateIssueUpdate:Sf,updateIssueUpdates:Af,deleteIssueUpdate:ta,deleteIssueUpdates:sa}=Qi.actions,ia=t=>t.issueUpdateReducer.instances,aa=u.createSelector([ia],t=>Object.values(t)),Tf=y(u.createSelector([ia,(t,e)=>e],(t,e)=>t[e])),If=y(u.createSelector([aa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Of=y(u.createSelector([aa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),bf=Qi.reducer,we=O(t=>t.id),Pf={instances:{},currentUser:null},na=u.createSlice({name:"users",initialState:Pf,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Pf)).addCase(b,e=>Object.assign(e,{...e,instances:[]})),reducers:{initializeUsers:we.initialize,setUsers:we.setMany,setUser:we.setOne,addUsers:we.addMany,addUser:we.addOne,updateUsers:we.updateMany,updateUser:we.updateOne,deleteUser:we.deleteOne,deleteUsers:we.deleteMany,setCurrentUser:(t,e)=>{t.currentUser=e.payload},setCurrentUserProfile:(t,e)=>{if(!t.currentUser)return;t.currentUser.profile=e.payload;const i=t.instances[t.currentUser.id];if(!i)throw new Error("Unable to find current user in users slice");i.profile=e.payload}}}),{initializeUsers:Ff,setUsers:_f,setUser:Mf,addUsers:gf,addUser:ca,updateUsers:Rf,updateUser:wf,deleteUser:ra,deleteUsers:Ef,setCurrentUser:lM,setCurrentUserProfile:oM}=na.actions,vf=na.reducer,Vf=t=>t.userReducer.currentUser,da=t=>t.userReducer.instances,Jt=u.createSelector([da],t=>Object.values(t)),Qt=t=>e=>e.userReducer.instances[t],Bf=y(u.createSelector([Jt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({id:a})=>i.has(a)))})),Ee=O(t=>t.uuid),zf={instances:{}},ua=u.createSlice({name:"organizationAccess",initialState:zf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,zf)),reducers:{initializeOrganizationAccesses:Ee.initialize,addOrganizationAccess:Ee.addOne,addOrganizationAccesses:Ee.addMany,setOrganizationAccess:Ee.setOne,setOrganizationAccesses:Ee.setMany,updateOrganizationAccess:Ee.updateOne,updateOrganizationAccesses:Ee.updateMany,deleteOrganizationAccess:Ee.deleteOne,deleteOrganizationAccesses:Ee.deleteMany}}),{initializeOrganizationAccesses:jf,addOrganizationAccess:Cf,addOrganizationAccesses:Df,setOrganizationAccess:qf,setOrganizationAccesses:$f,updateOrganizationAccess:Uf,updateOrganizationAccesses:kf,deleteOrganizationAccess:Lf,deleteOrganizationAccesses:Hf}=ua.actions,Gf=ua.reducer,xt=t=>t.organizationAccessReducer.instances,Nf=t=>e=>e.organizationAccessReducer.instances[t],Kf=y(u.createSelector([xt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(Object.values(t).filter(({uuid:a})=>i.has(a)))})),hM=u.createSelector([Vf,xt],(t,e)=>Object.values(e).find(a=>a.user===t?.id)??null),Wf=u.createSelector([xt],t=>{const e={};for(const i of Object.values(t))e[i.user]=i;return l.fallbackToEmptyObject(e)}),pM=y(u.createSelector([da,Wf,(t,e)=>e],(t,e,i)=>l.fallbackToEmptyArray(Object.values(t).filter(a=>{const n=e[a.id];return!!n&&n.organization===i})))),ve=O(t=>t.uuid),Xf={instances:{}},la=u.createSlice({name:"organizations",initialState:Xf,extraReducers:t=>t.addMatcher(u.isAnyOf(T),e=>Object.assign(e,Xf)),reducers:{initializeOrganizations:ve.initialize,setOrganizations:ve.setMany,setOrganization:ve.setOne,addOrganizations:ve.addMany,addOrganization:ve.addOne,updateOrganizations:ve.updateMany,updateOrganization:ve.updateOne,deleteOrganization:ve.deleteOne,deleteOrganizations:ve.deleteMany}}),{initializeOrganizations:Yf,setOrganizations:Zf,setOrganization:Jf,addOrganizations:Qf,addOrganization:xf,updateOrganizations:eS,updateOrganization:tS,deleteOrganization:sS,deleteOrganizations:iS}=la.actions,aS=t=>t.organizationReducer.instances,nS=u.createSelector([aS],t=>Object.values(t)),cS=t=>e=>e.organizationReducer.instances[t],rS=y(u.createSelector([nS,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),dS=la.reducer,uS=(t,e,i)=>{const a=t.uuid?t:{...t,uuid:dt.v4()};return{payload:a,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:a,BASE_URL:e,serviceName:i}}}}},lS={deletedRequests:[],latestRetryTime:0},oa=u.createSlice({name:"outbox",initialState:lS,extraReducers:t=>t.addCase(T,e=>Object.assign(e,lS)),reducers:{enqueueRequest:{reducer:(t,e)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t.url);const{BASE_URL:e,serviceName:i,...a}=t;return uS(a,e,i)}},markForDeletion(t,e){t.deletedRequests.push(e.payload)},markAsDeleted(t,e){const i=t.deletedRequests.indexOf(e.payload);i!==-1&&t.deletedRequests.splice(i,1)},_setLatestRetryTime:(t,e)=>{t.latestRetryTime=e.payload}}}),yM=t=>t.outboxReducer.deletedRequests,mM=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:oS,markForDeletion:fM,markAsDeleted:hS,_setLatestRetryTime:pS}=oa.actions,yS=oa.reducer,Ve=O(t=>t.uuid),mS={instances:{}},ha=u.createSlice({name:"projectAccess",initialState:mS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,mS)),reducers:{initializeProjectAccesses:Ve.initialize,addProjectAccess:Ve.addOne,addProjectAccesses:Ve.addMany,setProjectAccess:Ve.setOne,setProjectAccesses:Ve.setMany,updateProjectAccess:Ve.updateOne,updateProjectAccesses:Ve.updateMany,deleteProjectAccess:Ve.deleteOne,deleteProjectAccesses:Ve.deleteMany}}),{initializeProjectAccesses:fS,addProjectAccess:SS,addProjectAccesses:AS,setProjectAccess:TS,setProjectAccesses:IS,updateProjectAccess:OS,updateProjectAccesses:bS,deleteProjectAccess:PS,deleteProjectAccesses:FS}=ha.actions,_S=ha.reducer,pa=t=>t.projectAccessReducer.instances,gt=u.createSelector(pa,t=>Object.values(t)),MS=t=>e=>e.projectAccessReducer.instances[t],gS=y(u.createSelector([gt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),SM=y(u.createSelector([pa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.project===e)))),AM=y(u.createSelector([gt,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.project===e))i[a.user]=a;return i})),TM=y(u.createSelector([Jt,gt,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.project===i).map(n=>n.user));return l.fallbackToEmptyArray(t.filter(n=>a.has(n.id)))})),Be=O(t=>t.uuid),RS={instances:{}},ya=u.createSlice({name:"projectAttachments",initialState:RS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,RS)),reducers:{initializeProjectAttachments:Be.initialize,addProjectAttachment:Be.addOne,addProjectAttachments:Be.addMany,setProjectAttachment:Be.setOne,setProjectAttachments:Be.setMany,updateProjectAttachment:Be.updateOne,updateProjectAttachments:Be.updateMany,deleteProjectAttachment:Be.deleteOne,deleteProjectAttachments:Be.deleteMany}}),{initializeProjectAttachments:wS,addProjectAttachment:ES,addProjectAttachments:vS,setProjectAttachment:VS,setProjectAttachments:BS,updateProjectAttachment:zS,updateProjectAttachments:jS,deleteProjectAttachment:CS,deleteProjectAttachments:DS}=ya.actions,qS=t=>t.projectAttachmentReducer.instances,ma=u.createSelector([qS],t=>Object.values(t)),$S=t=>e=>e.projectAttachmentReducer.instances[t],US=y(u.createSelector([ma,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),IM=y(u.createSelector([ma,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>e===i)))),kS=ya.reducer,ze=O(t=>t.uuid),LS={instances:{}},fa=u.createSlice({name:"projectComments",initialState:LS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,LS)),reducers:{initializeProjectComments:ze.initialize,addProjectComment:ze.addOne,addProjectComments:ze.addMany,setProjectComment:ze.setOne,setProjectComments:ze.setMany,updateProjectComment:ze.updateOne,updateProjectComments:ze.updateMany,deleteProjectComment:ze.deleteOne,deleteProjectComments:ze.deleteMany}}),{initializeProjectComments:HS,addProjectComment:GS,addProjectComments:NS,setProjectComment:KS,setProjectComments:WS,updateProjectComment:XS,updateProjectComments:YS,deleteProjectComment:ZS,deleteProjectComments:JS}=fa.actions,QS=t=>t.projectCommentReducer.instances,es=u.createSelector([QS],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),xS=t=>e=>e.projectCommentReducer.instances[t],eA=y(u.createSelector([es,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),OM=y(u.createSelector([es,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),bM=y(u.createSelector([es,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.project)))})),tA=fa.reducer,je=O(t=>t.uuid),sA={instances:{}},Sa=u.createSlice({name:"projectFiles",initialState:sA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,sA)),reducers:{initializeProjectFiles:je.initialize,setProjectFile:je.setOne,setProjectFiles:je.setMany,addProjectFile:je.addOne,addProjectFiles:je.addMany,updateProjectFile:je.updateOne,updateProjectFiles:je.updateMany,deleteProjectFile:je.deleteOne,deleteProjectFiles:je.deleteMany}}),{initializeProjectFiles:iA,setProjectFile:aA,setProjectFiles:nA,addProjectFile:cA,addProjectFiles:rA,updateProjectFile:dA,updateProjectFiles:uA,deleteProjectFile:lA,deleteProjectFiles:oA}=Sa.actions,hA=t=>t.projectFileReducer.instances,pA=u.createSelector([hA],t=>l.fallbackToEmptyArray(Object.values(t).toSorted((e,i)=>e.z_index-i.z_index))),yA=t=>e=>e.projectFileReducer.instances[t],mA=y(u.createSelector([pA,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),fA=Sa.reducer,Ce=O(t=>t.uuid),SA={instances:{}},Aa=u.createSlice({name:"projects",initialState:SA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,SA)),reducers:{initializeProjects:Ce.initialize,setProjects:Ce.setMany,setProject:Ce.setOne,addProjects:Ce.addMany,addProject:Ce.addOne,updateProjects:Ce.updateMany,updateProject:Ce.updateOne,deleteProject:Ce.deleteOne,deleteProjects:Ce.deleteMany}}),{initializeProjects:AA,setProjects:TA,setProject:IA,addProjects:OA,addProject:bA,updateProjects:PA,updateProject:FA,deleteProject:_A,deleteProjects:MA}=Aa.actions,gA=Aa.reducer,RA=t=>t.projectReducer.instances,ts=u.createSelector([RA],t=>Object.values(t)),wA=t=>e=>e.projectReducer.instances[t],EA=y(u.createSelector([ts,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),PM=y(u.createSelector([ts,gt,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.user===i).map(n=>n.project));return l.fallbackToEmptyArray(t.filter(n=>a.has(n.uuid)))})),FM=y(u.createSelector([ts,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),De=O(({uuid:t})=>t),vA={instances:{}},Ta=u.createSlice({name:"procedureInitiatives",initialState:vA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,vA)),reducers:{initializeProcedureInitiatives:De.initialize,addProcedureInitiative:De.addOne,addProcedureInitiatives:De.addMany,setProcedureInitiative:De.setOne,setProcedureInitiatives:De.setMany,updateProcedureInitiative:De.updateOne,updateProcedureInitiatives:De.updateMany,deleteProcedureInitiative:De.deleteOne,deleteProcedureInitiatives:De.deleteMany}}),{initializeProcedureInitiatives:VA,addProcedureInitiative:BA,addProcedureInitiatives:zA,setProcedureInitiative:jA,setProcedureInitiatives:CA,updateProcedureInitiative:DA,updateProcedureInitiatives:qA,deleteProcedureInitiative:$A,deleteProcedureInitiatives:UA}=Ta.actions,kA=Ta.reducer,LA=t=>t.procedureInitiativeReducer.instances,ss=u.createSelector([LA],t=>Object.values(t)),HA=t=>e=>e.procedureInitiativeReducer.instances[t],GA=y(u.createSelector([ss,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),_M=y(u.createSelector([ss,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),MM=y(u.createSelector([ss,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),qe=O(({uuid:t})=>t),NA={instances:{}},Ia=u.createSlice({name:"procedures",initialState:NA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,NA)),reducers:{initializeProcedures:qe.initialize,addProcedure:qe.addOne,addProcedures:qe.addMany,setProcedure:qe.setOne,setProcedures:qe.setMany,updateProcedure:qe.updateOne,updateProcedures:qe.updateMany,deleteProcedure:qe.deleteOne,deleteProcedures:qe.deleteMany}}),{initializeProcedures:KA,addProcedure:WA,addProcedures:It,setProcedure:XA,setProcedures:YA,updateProcedure:ZA,updateProcedures:JA,deleteProcedure:QA,deleteProcedures:Ot}=Ia.actions,xA=Ia.reducer,eT=t=>t.procedureReducer.instances,ot=u.createSelector([eT],t=>Object.values(t)),tT=t=>e=>e.procedureReducer.instances[t],sT=y(u.createSelector([ot,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),gM=y(u.createSelector([ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),iT=y(u.createSelector([ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),aT=y(u.createSelector([ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),nT=y(u.createSelector([ot,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),cT=y(u.createSelector([ot,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_initiative===e)))),$e=O(t=>t.uuid),rT={instances:{}},Oa=u.createSlice({name:"procedureStepAssignees",initialState:rT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,rT)),reducers:{initializeProcedureStepAssignees:$e.initialize,addProcedureStepAssignee:$e.addOne,addProcedureStepAssignees:$e.addMany,setProcedureStepAssignee:$e.setOne,setProcedureStepAssignees:$e.setMany,updateProcedureStepAssignee:$e.updateOne,updateProcedureStepAssignees:$e.updateMany,deleteProcedureStepAssignee:$e.deleteOne,deleteProcedureStepAssignees:$e.deleteMany}}),{initializeProcedureStepAssignees:dT,addProcedureStepAssignee:uT,addProcedureStepAssignees:lT,setProcedureStepAssignee:oT,setProcedureStepAssignees:hT,updateProcedureStepAssignee:pT,updateProcedureStepAssignees:yT,deleteProcedureStepAssignee:mT,deleteProcedureStepAssignees:fT}=Oa.actions,ST=t=>t.procedureStepAssigneeReducer.instances,Rt=u.createSelector([ST],t=>Object.values(t)),AT=t=>e=>e.procedureStepAssigneeReducer.instances[t],TT=y(u.createSelector([Rt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),RM=y(u.createSelector([Rt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),wM=y(u.createSelector([Rt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),EM=y(u.createSelector([Rt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),IT=Oa.reducer,Ue=O(t=>t.uuid),OT={instances:{}},ba=u.createSlice({name:"procedureStepComments",initialState:OT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,OT)),reducers:{initializeProcedureStepComments:Ue.initialize,addProcedureStepComment:Ue.addOne,addProcedureStepComments:Ue.addMany,setProcedureStepComment:Ue.setOne,setProcedureStepComments:Ue.setMany,updateProcedureStepComment:Ue.updateOne,updateProcedureStepComments:Ue.updateMany,deleteProcedureStepComment:Ue.deleteOne,deleteProcedureStepComments:Ue.deleteMany}}),{initializeProcedureStepComments:bT,addProcedureStepComment:PT,addProcedureStepComments:FT,setProcedureStepComment:_T,setProcedureStepComments:MT,updateProcedureStepComment:gT,updateProcedureStepComments:RT,deleteProcedureStepComment:wT,deleteProcedureStepComments:ET}=ba.actions,vT=t=>t.procedureStepCommentReducer.instances,wt=u.createSelector([vT],t=>Object.values(t)),VT=t=>e=>e.procedureStepCommentReducer.instances[t],BT=y(u.createSelector([wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),vM=y(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),VM=y(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),BM=y(u.createSelector([wt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),zT=ba.reducer,ke=O(t=>t.uuid),jT={instances:{}},Pa=u.createSlice({name:"procedureStepDefaultAssignees",initialState:jT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,jT)),reducers:{initializeProcedureStepDefaultAssignees:ke.initialize,addProcedureStepDefaultAssignee:ke.addOne,addProcedureStepDefaultAssignees:ke.addMany,setProcedureStepDefaultAssignee:ke.setOne,setProcedureStepDefaultAssignees:ke.setMany,updateProcedureStepDefaultAssignee:ke.updateOne,updateProcedureStepDefaultAssignees:ke.updateMany,deleteProcedureStepDefaultAssignee:ke.deleteOne,deleteProcedureStepDefaultAssignees:ke.deleteMany}}),{initializeProcedureStepDefaultAssignees:CT,addProcedureStepDefaultAssignee:DT,addProcedureStepDefaultAssignees:qT,setProcedureStepDefaultAssignee:$T,setProcedureStepDefaultAssignees:UT,updateProcedureStepDefaultAssignee:kT,updateProcedureStepDefaultAssignees:LT,deleteProcedureStepDefaultAssignee:HT,deleteProcedureStepDefaultAssignees:GT}=Pa.actions,NT=t=>t.procedureStepDefaultAssigneeReducer.instances,Fa=u.createSelector([NT],t=>Object.values(t)),KT=t=>e=>e.procedureStepDefaultAssigneeReducer.instances[t],WT=y(u.createSelector([Fa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),zM=y(u.createSelector([Fa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),XT=Pa.reducer,Le=O(t=>t.uuid),YT={instances:{}},_a=u.createSlice({name:"procedureStepDefaultReviewers",initialState:YT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,YT)),reducers:{initializeProcedureStepDefaultReviewers:Le.initialize,addProcedureStepDefaultReviewer:Le.addOne,addProcedureStepDefaultReviewers:Le.addMany,setProcedureStepDefaultReviewer:Le.setOne,setProcedureStepDefaultReviewers:Le.setMany,updateProcedureStepDefaultReviewer:Le.updateOne,updateProcedureStepDefaultReviewers:Le.updateMany,deleteProcedureStepDefaultReviewer:Le.deleteOne,deleteProcedureStepDefaultReviewers:Le.deleteMany}}),{initializeProcedureStepDefaultReviewers:ZT,addProcedureStepDefaultReviewer:JT,addProcedureStepDefaultReviewers:QT,setProcedureStepDefaultReviewer:xT,setProcedureStepDefaultReviewers:eI,updateProcedureStepDefaultReviewer:tI,updateProcedureStepDefaultReviewers:sI,deleteProcedureStepDefaultReviewer:iI,deleteProcedureStepDefaultReviewers:aI}=_a.actions,nI=t=>t.procedureStepDefaultReviewerReducer.instances,Ma=u.createSelector([nI],t=>Object.values(t)),cI=t=>e=>e.procedureStepDefaultReviewerReducer.instances[t],rI=y(u.createSelector([Ma,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),jM=y(u.createSelector([Ma,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),dI=_a.reducer,He=O(t=>t.uuid),uI={instances:{}},ga=u.createSlice({name:"procedureStepEvents",initialState:uI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,uI)),reducers:{initializeProcedureStepEvents:He.initialize,addProcedureStepEvent:He.addOne,addProcedureStepEvents:He.addMany,setProcedureStepEvent:He.setOne,setProcedureStepEvents:He.setMany,updateProcedureStepEvent:He.updateOne,updateProcedureStepEvents:He.updateMany,deleteProcedureStepEvent:He.deleteOne,deleteProcedureStepEvents:He.deleteMany}}),{initializeProcedureStepEvents:lI,addProcedureStepEvent:oI,addProcedureStepEvents:hI,setProcedureStepEvent:pI,setProcedureStepEvents:yI,updateProcedureStepEvent:mI,updateProcedureStepEvents:fI,deleteProcedureStepEvent:SI,deleteProcedureStepEvents:AI}=ga.actions,TI=t=>t.procedureStepEventReducer.instances,Et=u.createSelector([TI],t=>Object.values(t)),II=t=>e=>e.procedureStepEventReducer.instances[t],OI=y(u.createSelector([Et,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),CM=y(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),DM=y(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),qM=y(u.createSelector([Et,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),bI=ga.reducer,Ge=O(t=>t.uuid),PI={instances:{}},Ra=u.createSlice({name:"procedureStepFieldsAttachments",initialState:PI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,PI)),reducers:{initializeProcedureStepFieldsAttachments:Ge.initialize,addProcedureStepFieldsAttachment:Ge.addOne,addProcedureStepFieldsAttachments:Ge.addMany,setProcedureStepFieldsAttachment:Ge.setOne,setProcedureStepFieldsAttachments:Ge.setMany,updateProcedureStepFieldsAttachment:Ge.updateOne,updateProcedureStepFieldsAttachments:Ge.updateMany,deleteProcedureStepFieldsAttachment:Ge.deleteOne,deleteProcedureStepFieldsAttachments:Ge.deleteMany}}),{initializeProcedureStepFieldsAttachments:FI,addProcedureStepFieldsAttachment:_I,addProcedureStepFieldsAttachments:wa,setProcedureStepFieldsAttachment:MI,setProcedureStepFieldsAttachments:gI,updateProcedureStepFieldsAttachment:RI,updateProcedureStepFieldsAttachments:wI,deleteProcedureStepFieldsAttachment:EI,deleteProcedureStepFieldsAttachments:Ea}=Ra.actions,vI=t=>t.procedureStepFieldsAttachmentReducer.instances,va=u.createSelector([vI],t=>Object.values(t)),VI=y(u.createSelector([va,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),BI=t=>e=>e.procedureStepFieldsAttachmentReducer.instances[t],zI=y(u.createSelector([va,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),jI=Ra.reducer,Ne=O(t=>t.uuid),CI={instances:{}},Va=u.createSlice({name:"procedureStepFields",initialState:CI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,CI)),reducers:{initializeProcedureStepFields:Ne.initialize,addProcedureStepFields:Ne.addOne,addProcedureStepFieldsMany:Ne.addMany,setProcedureStepFields:Ne.setOne,setProcedureStepFieldsMany:Ne.setMany,updateProcedureStepFields:Ne.updateOne,updateProcedureStepFieldsMany:Ne.updateMany,deleteProcedureStepFields:Ne.deleteOne,deleteProcedureStepFieldsMany:Ne.deleteMany}}),{initializeProcedureStepFields:DI,addProcedureStepFields:qI,addProcedureStepFieldsMany:$I,setProcedureStepFields:UI,setProcedureStepFieldsMany:kI,updateProcedureStepFields:LI,updateProcedureStepFieldsMany:HI,deleteProcedureStepFields:GI,deleteProcedureStepFieldsMany:NI}=Va.actions,Ba=t=>t.procedureStepFieldsReducer.instances,is=u.createSelector([Ba],t=>Object.values(t)),$M=y(u.createSelector([is,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),UM=y(u.createSelector([is,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_step===e).toSorted(l.submittedAtModelSortFn).pop())),kM=u.createSelector([Ba],t=>{const e={};for(const i of Object.values(t)){const a=e[i.procedure_step];(!a||a.submitted_at<i.submitted_at)&&(e[i.procedure_step]=i)}return e}),KI=t=>e=>e.procedureStepFieldsReducer.instances[t],WI=y(u.createSelector([is,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),XI=Va.reducer,Ke=O(t=>t.uuid),YI={instances:{}},za=u.createSlice({name:"procedureStepFieldValuesAttachments",initialState:YI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,YI)),reducers:{initializeProcedureStepFieldValuesAttachments:Ke.initialize,addProcedureStepFieldValuesAttachment:Ke.addOne,addProcedureStepFieldValuesAttachments:Ke.addMany,setProcedureStepFieldValuesAttachment:Ke.setOne,setProcedureStepFieldValuesAttachments:Ke.setMany,updateProcedureStepFieldValuesAttachment:Ke.updateOne,updateProcedureStepFieldValuesAttachments:Ke.updateMany,deleteProcedureStepFieldValuesAttachment:Ke.deleteOne,deleteProcedureStepFieldValuesAttachments:Ke.deleteMany}}),{initializeProcedureStepFieldValuesAttachments:ZI,addProcedureStepFieldValuesAttachment:JI,addProcedureStepFieldValuesAttachments:ja,setProcedureStepFieldValuesAttachment:QI,setProcedureStepFieldValuesAttachments:xI,updateProcedureStepFieldValuesAttachment:eO,updateProcedureStepFieldValuesAttachments:tO,deleteProcedureStepFieldValuesAttachment:sO,deleteProcedureStepFieldValuesAttachments:Ca}=za.actions,iO=t=>t.procedureStepFieldValuesAttachmentReducer.instances,Da=u.createSelector([iO],t=>Object.values(t)),aO=t=>e=>e.procedureStepFieldValuesAttachmentReducer.instances[t],nO=y(u.createSelector([Da,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),cO=y(u.createSelector([Da,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),rO=za.reducer,We=O(t=>t.uuid),dO={instances:{}},qa=u.createSlice({name:"procedureStepFieldValues",initialState:dO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,dO)),reducers:{initializeProcedureStepFieldValues:We.initialize,addProcedureStepFieldValues:We.addOne,addProcedureStepFieldValuesMany:We.addMany,setProcedureStepFieldValues:We.setOne,setProcedureStepFieldValuesMany:We.setMany,updateProcedureStepFieldValues:We.updateOne,updateProcedureStepFieldValuesMany:We.updateMany,deleteProcedureStepFieldValues:We.deleteOne,deleteProcedureStepFieldValuesMany:We.deleteMany}}),{initializeProcedureStepFieldValues:uO,addProcedureStepFieldValues:lO,addProcedureStepFieldValuesMany:oO,setProcedureStepFieldValues:hO,setProcedureStepFieldValuesMany:pO,updateProcedureStepFieldValues:yO,updateProcedureStepFieldValuesMany:mO,deleteProcedureStepFieldValues:fO,deleteProcedureStepFieldValuesMany:SO}=qa.actions,AO=qa.reducer,TO=t=>t.procedureStepFieldValuesReducer.instances,ht=u.createSelector([TO],t=>Object.values(t)),LM=y(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),HM=y(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),IO=t=>e=>e.procedureStepFieldValuesReducer.instances[t],OO=y(u.createSelector([ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),GM=y(u.createSelector([ht,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),Xe=O(t=>t.uuid),bO={instances:{}},$a=u.createSlice({name:"procedureStepFieldValuesReviews",initialState:bO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,bO)),reducers:{initializeProcedureStepFieldValuesReviews:Xe.initialize,addProcedureStepFieldValuesReview:Xe.addOne,addProcedureStepFieldValuesReviews:Xe.addMany,setProcedureStepFieldValuesReview:Xe.setOne,setProcedureStepFieldValuesReviews:Xe.setMany,updateProcedureStepFieldValuesReview:Xe.updateOne,updateProcedureStepFieldValuesReviews:Xe.updateMany,deleteProcedureStepFieldValuesReview:Xe.deleteOne,deleteProcedureStepFieldValuesReviews:Xe.deleteMany}}),{initializeProcedureStepFieldValuesReviews:PO,addProcedureStepFieldValuesReview:FO,addProcedureStepFieldValuesReviews:Ua,setProcedureStepFieldValuesReview:_O,setProcedureStepFieldValuesReviews:MO,updateProcedureStepFieldValuesReview:gO,updateProcedureStepFieldValuesReviews:RO,deleteProcedureStepFieldValuesReview:wO,deleteProcedureStepFieldValuesReviews:ka}=$a.actions,EO=t=>t.procedureStepFieldValuesReviewReducer.instances,pt=u.createSelector([EO],t=>Object.values(t)),vO=t=>e=>e.procedureStepFieldValuesReviewReducer.instances[t],VO=y(u.createSelector([pt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),BO=y(u.createSelector([pt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),NM=y(u.createSelector([pt,(t,e)=>e],(t,e)=>{let i;for(const a of t){const{field_values:n}=a;n===e&&(!i||i.submitted_at<=a.submitted_at)&&(i=a)}return i})),KM=y(u.createSelector([ht,pt,(t,e)=>e],(t,e,i)=>{const a=new Set(l.toUuidArray(t.filter(({procedure:n})=>i===n)));return l.fallbackToEmptyArray(e.filter(({field_values:n})=>a.has(n)))})),WM=y(u.createSelector([ht,pt,(t,e)=>e,(t,e,i)=>i],(t,e,i,a)=>{const n=new Set(l.toUuidArray(t.filter(({procedure_step:c,procedure:d})=>i===d&&c===a)));return l.fallbackToEmptyArray(e.filter(({field_values:c})=>n.has(c)))})),XM=u.createSelector([pt],t=>{const e={};for(const i of t){const{field_values:a}=i,n=e[a];(!n||n.submitted_at<=i.submitted_at)&&(e[a]=i)}return e}),zO=$a.reducer,Ye=O(t=>t.uuid),jO={instances:{}},La=u.createSlice({name:"procedureStepReviewers",initialState:jO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,jO)),reducers:{initializeProcedureStepReviewers:Ye.initialize,addProcedureStepReviewer:Ye.addOne,addProcedureStepReviewers:Ye.addMany,setProcedureStepReviewer:Ye.setOne,setProcedureStepReviewers:Ye.setMany,updateProcedureStepReviewer:Ye.updateOne,updateProcedureStepReviewers:Ye.updateMany,deleteProcedureStepReviewer:Ye.deleteOne,deleteProcedureStepReviewers:Ye.deleteMany}}),{initializeProcedureStepReviewers:CO,addProcedureStepReviewer:DO,addProcedureStepReviewers:qO,setProcedureStepReviewer:$O,setProcedureStepReviewers:UO,updateProcedureStepReviewer:kO,updateProcedureStepReviewers:LO,deleteProcedureStepReviewer:HO,deleteProcedureStepReviewers:GO}=La.actions,NO=t=>t.procedureStepReviewerReducer.instances,vt=u.createSelector([NO],t=>Object.values(t)),KO=t=>e=>e.procedureStepReviewerReducer.instances[t],WO=y(u.createSelector([vt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),YM=y(u.createSelector([vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),ZM=y(u.createSelector([vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),JM=y(u.createSelector([vt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),XO=La.reducer,Ze=O(t=>t.uuid),YO={instances:{}},Ha=u.createSlice({name:"procedureSteps",initialState:YO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,YO)),reducers:{initializeProcedureSteps:Ze.initialize,setProcedureStep:Ze.setOne,setProcedureSteps:Ze.setMany,addProcedureStep:Ze.addOne,addProcedureSteps:Ze.addMany,updateProcedureStep:Ze.updateOne,updateProcedureSteps:Ze.updateMany,deleteProcedureStep:Ze.deleteOne,deleteProcedureSteps:Ze.deleteMany}}),{initializeProcedureSteps:ZO,setProcedureStep:JO,setProcedureSteps:QO,addProcedureStep:xO,addProcedureSteps:eb,updateProcedureStep:tb,updateProcedureSteps:sb,deleteProcedureStep:ib,deleteProcedureSteps:ab}=Ha.actions,nb=Ha.reducer,Ga=t=>t.procedureStepReducer.instances,cb=t=>e=>e.procedureStepReducer.instances[t],Na=u.createSelector([Ga],t=>Object.values(t).toSorted((e,i)=>e.order-i.order)),QM=y(u.createSelector([Ga,(t,e)=>e],(t,e)=>{const i={};for(const[a,n]of Object.entries(t))n.procedure_type===e&&(i[a]=n);return l.fallbackToEmptyObject(i)})),xM=y(u.createSelector([Na,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),rb=y(u.createSelector([Na,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Je=O(({uuid:t})=>t),db={instances:{}},Ka=u.createSlice({name:"procedureTypeAttachments",initialState:db,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,db)),reducers:{initializeProcedureTypeAttachments:Je.initialize,addProcedureTypeAttachment:Je.addOne,addProcedureTypeAttachments:Je.addMany,setProcedureTypeAttachment:Je.setOne,setProcedureTypeAttachments:Je.setMany,updateProcedureTypeAttachment:Je.updateOne,updateProcedureTypeAttachments:Je.updateMany,deleteProcedureTypeAttachment:Je.deleteOne,deleteProcedureTypeAttachments:Je.deleteMany}}),{initializeProcedureTypeAttachments:ub,addProcedureTypeAttachment:lb,addProcedureTypeAttachments:ob,setProcedureTypeAttachment:hb,setProcedureTypeAttachments:pb,updateProcedureTypeAttachment:yb,updateProcedureTypeAttachments:mb,deleteProcedureTypeAttachment:fb,deleteProcedureTypeAttachments:Sb}=Ka.actions,Ab=Ka.reducer,Tb=t=>t.procedureTypeAttachmentReducer.instances,Wa=u.createSelector([Tb],t=>Object.values(t)),Ib=t=>e=>e.procedureTypeAttachmentReducer.instances[t],Ob=y(u.createSelector([Wa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),eg=y(u.createSelector([Wa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({procedure_type:i})=>e===i)))),Qe=O(({uuid:t})=>t),bb={instances:{}},Xa=u.createSlice({name:"procedureTypeFieldsAttachments",initialState:bb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,bb)),reducers:{initializeProcedureTypeFieldsAttachments:Qe.initialize,addProcedureTypeFieldsAttachment:Qe.addOne,addProcedureTypeFieldsAttachments:Qe.addMany,setProcedureTypeFieldsAttachment:Qe.setOne,setProcedureTypeFieldsAttachments:Qe.setMany,updateProcedureTypeFieldsAttachment:Qe.updateOne,updateProcedureTypeFieldsAttachments:Qe.updateMany,deleteProcedureTypeFieldsAttachment:Qe.deleteOne,deleteProcedureTypeFieldsAttachments:Qe.deleteMany}}),{initializeProcedureTypeFieldsAttachments:Pb,addProcedureTypeFieldsAttachment:Fb,addProcedureTypeFieldsAttachments:_b,setProcedureTypeFieldsAttachment:Mb,setProcedureTypeFieldsAttachments:gb,updateProcedureTypeFieldsAttachment:Rb,updateProcedureTypeFieldsAttachments:wb,deleteProcedureTypeFieldsAttachment:Eb,deleteProcedureTypeFieldsAttachments:vb}=Xa.actions,Vb=Xa.reducer,Bb=t=>t.procedureTypeFieldsAttachmentReducer.instances,Ya=u.createSelector([Bb],t=>Object.values(t)),tg=y(u.createSelector([Ya,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),zb=t=>e=>e.procedureTypeFieldsAttachmentReducer.instances[t],jb=y(u.createSelector([Ya,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),xe=O(({uuid:t})=>t),Cb={instances:{}},Za=u.createSlice({name:"procedureTypeFields",initialState:Cb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,Cb)),reducers:{initializeProcedureTypeFields:xe.initialize,addProcedureTypeFields:xe.addOne,addProcedureTypeFieldsMany:xe.addMany,setProcedureTypeFields:xe.setOne,setProcedureTypeFieldsMany:xe.setMany,updateProcedureTypeFields:xe.updateOne,updateProcedureTypeFieldsMany:xe.updateMany,deleteProcedureTypeFields:xe.deleteOne,deleteProcedureTypeFieldsMany:xe.deleteMany}}),{initializeProcedureTypeFields:Db,addProcedureTypeFields:qb,addProcedureTypeFieldsMany:$b,setProcedureTypeFields:Ub,setProcedureTypeFieldsMany:kb,updateProcedureTypeFields:Lb,updateProcedureTypeFieldsMany:Hb,deleteProcedureTypeFields:Gb,deleteProcedureTypeFieldsMany:Nb}=Za.actions,Kb=Za.reducer,Wb=t=>t.procedureTypeFieldsReducer.instances,as=u.createSelector([Wb],t=>Object.values(t)),sg=y(u.createSelector([as,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),ig=y(u.createSelector([as,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),Xb=t=>e=>e.procedureTypeFieldsReducer.instances[t],Yb=y(u.createSelector([as,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),et=O(({uuid:t})=>t),Zb={instances:{}},Ja=u.createSlice({name:"procedureFieldValuesAttachments",initialState:Zb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,Zb)),reducers:{initializeProcedureFieldValuesAttachments:et.initialize,addProcedureFieldValuesAttachment:et.addOne,addProcedureFieldValuesAttachments:et.addMany,setProcedureFieldValuesAttachment:et.setOne,setProcedureFieldValuesAttachments:et.setMany,updateProcedureFieldValuesAttachment:et.updateOne,updateProcedureFieldValuesAttachments:et.updateMany,deleteProcedureFieldValuesAttachment:et.deleteOne,deleteProcedureFieldValuesAttachments:et.deleteMany}}),{initializeProcedureFieldValuesAttachments:Jb,addProcedureFieldValuesAttachment:Qb,addProcedureFieldValuesAttachments:Qa,setProcedureFieldValuesAttachment:xb,setProcedureFieldValuesAttachments:eP,updateProcedureFieldValuesAttachment:tP,updateProcedureFieldValuesAttachments:sP,deleteProcedureFieldValuesAttachment:iP,deleteProcedureFieldValuesAttachments:xa}=Ja.actions,aP=Ja.reducer,nP=t=>t.procedureFieldValuesAttachmentReducer.instances,en=u.createSelector([nP],t=>Object.values(t)),cP=t=>e=>e.procedureFieldValuesAttachmentReducer.instances[t],rP=y(u.createSelector([en,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),dP=y(u.createSelector([en,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),tt=O(({uuid:t})=>t),uP={instances:{}},tn=u.createSlice({name:"procedureFieldValues",initialState:uP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,uP)),reducers:{initializeProcedureFieldValues:tt.initialize,addProcedureFieldValues:tt.addOne,addProcedureFieldValuesMany:tt.addMany,setProcedureFieldValues:tt.setOne,setProcedureFieldValuesMany:tt.setMany,updateProcedureFieldValues:tt.updateOne,updateProcedureFieldValuesMany:tt.updateMany,deleteProcedureFieldValues:tt.deleteOne,deleteProcedureFieldValuesMany:tt.deleteMany}}),{initializeProcedureFieldValues:lP,addProcedureFieldValues:oP,addProcedureFieldValuesMany:hP,setProcedureFieldValues:pP,setProcedureFieldValuesMany:yP,updateProcedureFieldValues:mP,updateProcedureFieldValuesMany:fP,deleteProcedureFieldValues:SP,deleteProcedureFieldValuesMany:AP}=tn.actions,TP=tn.reducer,IP=t=>t.procedureFieldValuesReducer.instances,sn=u.createSelector([IP],t=>Object.values(t)),ag=y(u.createSelector([sn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),OP=t=>e=>e.procedureFieldValuesReducer.instances[t],bP=y(u.createSelector([sn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),st=O(t=>t.uuid),PP={instances:{}},an=u.createSlice({name:"procedureTypes",initialState:PP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,PP)),reducers:{initializeProcedureTypes:st.initialize,addProcedureType:st.addOne,addProcedureTypes:st.addMany,setProcedureType:st.setOne,setProcedureTypes:st.setMany,updateProcedureType:st.updateOne,updateProcedureTypes:st.updateMany,deleteProcedureType:st.deleteOne,deleteProcedureTypes:st.deleteMany}}),{initializeProcedureTypes:FP,addProcedureType:_P,addProcedureTypes:MP,setProcedureType:gP,setProcedureTypes:RP,updateProcedureType:wP,updateProcedureTypes:EP,deleteProcedureType:vP,deleteProcedureTypes:VP}=an.actions,BP=an.reducer,zP=t=>t.procedureTypeReducer.instances,nn=u.createSelector([zP],t=>Object.values(t)),jP=t=>e=>e.procedureTypeReducer.instances[t],CP=y(u.createSelector([nn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ng=y(u.createSelector([nn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),cg={isRehydrated:!1},cn=u.createSlice({name:"rehydrated",initialState:cg,reducers:{setRehydrated:(t,e)=>{t.isRehydrated=e.payload}}}),{setRehydrated:rg}=cn.actions,dg=t=>t.rehydratedReducer.isRehydrated,DP=cn.reducer,it=O(t=>t.uuid),qP={instances:{}},rn=u.createSlice({name:"reports",initialState:qP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,b),e=>Object.assign(e,qP)),reducers:{initializeReports:it.initialize,addReport:it.addOne,addReports:it.addMany,setReport:it.setOne,setReports:it.setMany,updateReport:it.updateOne,updateReports:it.updateMany,deleteReport:it.deleteOne,deleteReports:it.deleteMany}}),{initializeReports:$P,addReport:UP,addReports:kP,setReport:LP,setReports:HP,updateReport:GP,updateReports:NP,deleteReport:KP,deleteReports:WP}=rn.actions,XP=t=>t.reportReducer.instances,YP=u.createSelector([XP],t=>l.fallbackToEmptyArray(Object.values(t))),ZP=t=>e=>e.reportReducer.instances[t],JP=y(u.createSelector([YP,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),QP=rn.reducer,at=O(t=>t.uuid),xP={instances:{}},dn=u.createSlice({name:"teamMemberships",initialState:xP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,xP)),reducers:{initializeTeamMemberships:at.initialize,addTeamMembership:at.addOne,addTeamMemberships:at.addMany,setTeamMembership:at.setOne,setTeamMemberships:at.setMany,updateTeamMembership:at.updateOne,updateTeamMemberships:at.updateMany,deleteTeamMembership:at.deleteOne,deleteTeamMemberships:at.deleteMany}}),{initializeTeamMemberships:eF,addTeamMembership:tF,addTeamMemberships:sF,setTeamMembership:iF,setTeamMemberships:aF,updateTeamMembership:nF,updateTeamMemberships:cF,deleteTeamMembership:rF,deleteTeamMemberships:dF}=dn.actions,uF=dn.reducer,lF=t=>t.teamMembershipReducer.instances,ns=u.createSelector([lF],t=>Object.values(t)),oF=t=>e=>e.teamMembershipReducer.instances[t],hF=y(u.createSelector([ns,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ug=y(u.createSelector([ns,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.team===e))i[a.user]=a;return i})),lg=y(u.createSelector([Jt,ns,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.team===i).map(n=>n.user));return l.fallbackToEmptyArray(t.filter(n=>a.has(n.id)))})),nt=O(t=>t.uuid),pF={instances:{}},un=u.createSlice({name:"teams",initialState:pF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,b),e=>Object.assign(e,pF)),reducers:{initializeTeams:nt.initialize,addTeam:nt.addOne,addTeams:nt.addMany,setTeam:nt.setOne,setTeams:nt.setMany,updateTeam:nt.updateOne,updateTeams:nt.updateMany,deleteTeam:nt.deleteOne,deleteTeams:nt.deleteMany}}),{initializeTeams:yF,addTeam:mF,addTeams:fF,setTeam:SF,setTeams:AF,updateTeam:TF,updateTeams:IF,deleteTeam:OF,deleteTeams:bF}=un.actions,PF=t=>t.teamReducer.instances,ln=u.createSelector([PF],t=>Object.values(t)),FF=t=>e=>e.teamReducer.instances[t],_F=y(u.createSelector([ln,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),og=y(u.createSelector([ln,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),MF=un.reducer,on={outboxReducer:yS,authReducer:Gd},hg=u.combineReducers(on),gF={...on,assetReducer:_c,assetAttachmentReducer:qn,assetCommentAttachmentReducer:Qn,assetCommentReducer:hc,assetTypeReducer:gd,assetTypeAttachmentReducer:qc,issueReducer:Cp,issueAttachmentReducer:Zh,issueTypeReducer:Qm,issueTypeAttachmentReducer:Zp,organizationReducer:dS,projectReducer:gA,projectAttachmentReducer:kS,projectCommentReducer:tA,projectAccessReducer:_S,organizationAccessReducer:Gf,projectFileReducer:fA,procedureTypeReducer:BP,procedureInitiativeReducer:kA,procedureReducer:xA,procedureTypeFieldsReducer:Kb,procedureFieldValuesReducer:TP,procedureTypeAttachmentReducer:Ab,procedureTypeFieldsAttachmentReducer:Vb,procedureFieldValuesAttachmentReducer:aP,procedureStepFieldsAttachmentReducer:jI,procedureStepFieldsReducer:XI,procedureStepFieldValuesAttachmentReducer:rO,procedureStepFieldValuesReducer:AO,procedureStepFieldValuesReviewReducer:zO,procedureStepAssigneeReducer:IT,procedureStepCommentReducer:zT,procedureStepDefaultAssigneeReducer:XT,procedureStepDefaultReviewerReducer:dI,procedureStepEventReducer:bI,procedureStepReviewerReducer:XO,procedureStepReducer:nb,rehydratedReducer:DP,reportReducer:QP,formReducer:io,formRevisionReducer:Bl,formRevisionAttachmentReducer:Il,formSubscriberReducer:Kl,formSubmissionFieldValuesAttachmentReducer:Ao,formSubmissionFieldValuesReducer:vo,formSubmissionCommentReducer:Go,formSubmissionReducer:rh,formIdentifierReducer:Ku,formIdentifierValueReducer:cl,userReducer:vf,emailDomainsReducer:Vu,documentsReducer:mu,documentAttachmentReducer:au,teamReducer:MF,agentsReducer:_n,issueCommentReducer:Pp,issueCommentAttachmentReducer:lp,issueUpdateReducer:bf,geoImageReducer:Oh,issueAssociationReducer:Dh,issueTypeFieldsReducer:qy,issueTypeFieldValuesReducer:Fy,issueTypeFieldsAttachmentReducer:ly,issueTypeFieldValuesAttachmentReducer:Jy,issueTypeIdentifierReducer:om,issueTypeIdentifierValueReducer:_m,issueTypePriorityReducer:qm,issueTypeStatusReducer:hf,assetTypeFieldsReducer:hr,assetTypeFieldValuesReducer:$r,assetTypeFieldsAttachmentReducer:Qc,assetTypeFieldValuesAttachmentReducer:_r,assetTypeIdentifierReducer:xr,assetTypeIdentifierValueReducer:pd,assetTypeStatusReducer:kd,teamMembershipReducer:uF},pg=u.combineReducers(gF),RF=1e4,hn=[400,409,403,404,405,500],D=1e4,wF={};class EF{client;pageSize=RF;constructor(e){wF[this.constructor.name]=this,this.client=e}async performRequest(e,i){return this.client.performRequest(this.host,e,this,i)}async enqueueRequest(e){return this.client.enqueueRequest(e,this.host,this.constructor.name)}async performPagination(e,i){return this.client.performPagination(this.host,e,this.pageSize,this,i)}dispatch(e){this.client.store.dispatch(e)}select(e){return e(this.client.store.getState())}}const yg=t=>{if(t)throw t;const e=Pt();e?e.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},vF=(t,e,i)=>{const a=mt();return a?(a.addRequest(e),a.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},VF=(t,e,i)=>{const a=mt();if(!a)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const c=e.meta.offlineAction.payload.uuid;return a.remove(c),a.getQueue()};async function mg(t,e){if(!e.payload)throw new Error("Received empty payload");return t_(e)}const fg={...An,effect:mg,discard:zF,returnPromises:!0,persistCallback:yg,retry:Tg,persistOptions:{storage:a_},queue:{...An.queue,enqueue:vF,dequeue:VF,peek:(...t)=>Ag(...t)}},Sg=i_.offline(fg);async function BF(t,e,i){if(e.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const n=wF[t.meta.offline.effect.serviceName];if(!n)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return mn(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,e,n,i)}function zF(t,e,i=0){if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
|
|
1
|
+
(function(s,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("@overmap-ai/common"),require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("idb"),require("jwt-decode"),require("dependency-graph")):typeof define=="function"&&define.amd?define(["exports","@overmap-ai/common","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","idb","jwt-decode","dependency-graph"],l):(s=typeof globalThis<"u"?globalThis:s||self,l(s["overmap-core"]={},s.common,null,s.toolkit,s.request,s.uuid,s.reduxOffline,s.offlineConfig,s.localforage,s.idb,s.jwtDecode,s.dependencyGraph))})(this,(function(s,l,bw,u,St,ut,I_,bn,b_,O_,P_,F_){"use strict";const On=["created_at","updated_at","index","revision"];var o=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(o||{});function b(t){return{addOne:(f,A)=>{const I=t(A.payload);I in f.instances||(f.instances[I]=A.payload)},addMany:(f,A)=>{for(const I of A.payload){const S=t(I);S in f.instances||(f.instances[S]=I)}},updateOne:(f,A)=>{const I=t(A.payload);I in f.instances&&(f.instances[I]=A.payload)},setMany:(f,A)=>{for(const I of A.payload){const S=t(I);f.instances[S]=I}},setOne:(f,A)=>{const I=t(A.payload);f.instances[I]=A.payload},updateMany:(f,A)=>{for(const I of A.payload){const S=t(I);S in f.instances&&(f.instances[S]=I)}},deleteOne:(f,A)=>{delete f.instances[A.payload]},deleteMany:(f,A)=>{for(const I of A.payload)delete f.instances[I]},initialize:(f,A)=>{f.instances={};const I=new Set;for(const S of A.payload){const P=t(S);I.add(P),f.instances[P]=S}I.size!==A.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function __(t){return{initializeSelection:(p,h)=>{p[t]=Array.from(new Set(h.payload))},selectOne:(p,h)=>{console.debug(p,p[t]),!new Set(p[t]).has(h.payload)&&p[t].push(h.payload)},selectMany:(p,h)=>{const f=new Set(p[t]);for(const A of h.payload)f.has(A)||f.add(A);p[t]=Array.from(f)},unselectOne:(p,h)=>{const f=new Set(p[t]);f.has(h.payload)&&(f.delete(h.payload),p[t]=Array.from(f))},unselectMany:(p,h)=>{const f=new Set(p[t]);for(const A of h.payload)f.has(A)&&f.delete(A);p[t]=Array.from(f)},toggleOne:(p,h)=>{const f=new Set(p[t]);f.has(h.payload)?f.delete(h.payload):f.add(h.payload),p[t]=Array.from(f)},toggleMany:(p,h)=>{const f=new Set(p[t]);for(const A of h.payload)f.has(A)?f.delete(A):f.add(A);p[t]=Array.from(f)}}}const T=u.createAction("RESET"),E=u.createAction("RESET_PROJECT_STATE"),O=u.createAction("RESET_ORGANIZATION_STATE"),m=(t=>(...e)=>i=>t(i,...e)),$=b(t=>t.uuid),Pn={instances:{}},us=u.createSlice({name:"agents",initialState:Pn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,Pn)),reducers:{initializeConversations:$.initialize,addConversation:$.addOne,addConversations:$.addMany,setConversation:$.setOne,setConversations:$.setMany,updateConversation:$.updateOne,updateConversations:$.updateMany,deleteConversation:$.deleteOne,deleteConversations:$.deleteMany}}),{initializeConversations:Fn,addConversation:_n,addConversations:M_,setConversation:Mn,setConversations:g_,updateConversation:gn,updateConversations:R_,deleteConversation:w_,deleteConversations:E_}=us.actions,ls=t=>t.agentsReducer.instances,v_=u.createSelector([ls],t=>Object.values(t)),V_=m(u.createSelector([ls,(t,e)=>e],(t,e)=>t[e])),Rn=us.reducer,U=b(t=>t.uuid),wn={instances:{}},os=u.createSlice({name:"assetAttachments",initialState:wn,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,wn)),reducers:{initializeAssetAttachments:U.initialize,addAssetAttachment:U.addOne,addAssetAttachments:U.addMany,setAssetAttachment:U.setOne,setAssetAttachments:U.setMany,updateAssetAttachment:U.updateOne,updateAssetAttachments:U.updateMany,deleteAssetAttachment:U.deleteOne,deleteAssetAttachments:U.deleteMany}}),{initializeAssetAttachments:En,addAssetAttachment:vn,addAssetAttachments:hs,setAssetAttachment:Vn,setAssetAttachments:Bn,updateAssetAttachment:zn,updateAssetAttachments:jn,deleteAssetAttachment:Cn,deleteAssetAttachments:ps}=os.actions,Dn=t=>t.assetAttachmentReducer.instances,ms=u.createSelector([Dn],t=>Object.values(t)),qn=t=>e=>e.assetAttachmentReducer.instances[t],$n=m(u.createSelector([ms,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Un=m(u.createSelector([ms,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>e===i)))),kn=os.reducer,k=b(t=>t.uuid),Ln={instances:{}},ys=u.createSlice({name:"assetCommentAttachments",initialState:Ln,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,Ln)),reducers:{initializeAssetCommentAttachments:k.initialize,addAssetCommentAttachment:k.addOne,addAssetCommentAttachments:k.addMany,setAssetCommentAttachment:k.setOne,setAssetCommentAttachments:k.setMany,updateAssetCommentAttachment:k.updateOne,updateAssetCommentAttachments:k.updateMany,deleteAssetCommentAttachment:k.deleteOne,deleteAssetCommentAttachments:k.deleteMany}}),{initializeAssetCommentAttachments:Hn,addAssetCommentAttachment:Gn,addAssetCommentAttachments:Nn,setAssetCommentAttachment:Kn,setAssetCommentAttachments:Wn,updateAssetCommentAttachment:Xn,updateAssetCommentAttachments:Yn,deleteAssetCommentAttachment:Zn,deleteAssetCommentAttachments:Jn}=ys.actions,Qn=t=>t.assetCommentAttachmentReducer.instances,fs=u.createSelector([Qn],t=>Object.values(t)),xn=t=>e=>e.assetCommentAttachmentReducer.instances[t],ec=m(u.createSelector([fs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),B_=m(u.createSelector([fs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset_comment:i})=>e===i)))),tc=ys.reducer,L=b(t=>t.uuid),sc={instances:{}},Ss=u.createSlice({name:"assetComments",initialState:sc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,sc)),reducers:{initializeAssetComments:L.initialize,addAssetComment:L.addOne,addAssetComments:L.addMany,setAssetComment:L.setOne,setAssetComments:L.setMany,updateAssetComment:L.updateOne,updateAssetComments:L.updateMany,deleteAssetComment:L.deleteOne,deleteAssetComments:L.deleteMany}}),{initializeAssetComments:ic,addAssetComment:ac,addAssetComments:Ct,setAssetComment:nc,setAssetComments:cc,updateAssetComment:rc,updateAssetComments:dc,deleteAssetComment:uc,deleteAssetComments:Dt}=Ss.actions,lc=t=>t.assetCommentReducer.instances,qt=u.createSelector([lc],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),oc=t=>e=>e.assetCommentReducer.instances[t],hc=m(u.createSelector([qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),pc=m(u.createSelector([qt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),mc=m(u.createSelector([qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.asset)))})),yc=Ss.reducer,H=b(t=>t.uuid),fc={instances:{}},As=u.createSlice({name:"assets",initialState:fc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,fc)),reducers:{initializeAssets:H.initialize,addAsset:H.addOne,addAssets:H.addMany,setAsset:H.setOne,setAssets:H.setMany,updateAsset:H.updateOne,updateAssets:H.updateMany,deleteAsset:H.deleteOne,deleteAssets:H.deleteMany}}),{initializeAssets:Sc,addAsset:Ac,addAssets:Ts,updateAsset:Tc,updateAssets:Ic,deleteAsset:bc,deleteAssets:Is,setAsset:Oc,setAssets:Pc}=As.actions,Fc=t=>t.assetReducer.instances,$t=u.createSelector([Fc],t=>l.fallbackToEmptyArray(Object.values(t))),z_=m(u.createSelector([$t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),_c=m(u.createSelector([$t,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),Mc=t=>e=>e.assetReducer.instances[t],gc=m(u.createSelector([$t,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Rc=As.reducer,G=b(t=>t.uuid),wc={instances:{}},bs=u.createSlice({name:"assetTypeAttachments",initialState:wc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,wc)),reducers:{initializeAssetTypeAttachments:G.initialize,addAssetTypeAttachment:G.addOne,addAssetTypeAttachments:G.addMany,setAssetTypeAttachment:G.setOne,setAssetTypeAttachments:G.setMany,updateAssetTypeAttachment:G.updateOne,updateAssetTypeAttachments:G.updateMany,deleteAssetTypeAttachment:G.deleteOne,deleteAssetTypeAttachments:G.deleteMany}}),{initializeAssetTypeAttachments:Ec,addAssetTypeAttachment:vc,addAssetTypeAttachments:Os,setAssetTypeAttachment:Vc,setAssetTypeAttachments:Bc,updateAssetTypeAttachment:zc,updateAssetTypeAttachments:jc,deleteAssetTypeAttachment:Cc,deleteAssetTypeAttachments:Ps}=bs.actions,Dc=t=>t.assetTypeAttachmentReducer.instances,Fs=u.createSelector([Dc],t=>Object.values(t)),qc=t=>e=>e.assetTypeAttachmentReducer.instances[t],$c=m(u.createSelector([Fs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Uc=m(u.createSelector([Fs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset_type:i})=>e===i)))),kc=bs.reducer,N=b(t=>t.uuid),Lc={instances:{}},_s=u.createSlice({name:"assetTypeFieldsAttachments",initialState:Lc,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Lc)),reducers:{initializeAssetTypeFieldsAttachments:N.initialize,addAssetTypeFieldsAttachment:N.addOne,addAssetTypeFieldsAttachments:N.addMany,setAssetTypeFieldsAttachment:N.setOne,setAssetTypeFieldsAttachments:N.setMany,updateAssetTypeFieldsAttachment:N.updateOne,updateAssetTypeFieldsAttachments:N.updateMany,deleteAssetTypeFieldsAttachment:N.deleteOne,deleteAssetTypeFieldsAttachments:N.deleteMany}}),{initializeAssetTypeFieldsAttachments:Hc,addAssetTypeFieldsAttachment:Gc,addAssetTypeFieldsAttachments:Nc,setAssetTypeFieldsAttachment:Kc,setAssetTypeFieldsAttachments:Wc,updateAssetTypeFieldsAttachment:Xc,updateAssetTypeFieldsAttachments:Yc,deleteAssetTypeFieldsAttachment:Zc,deleteAssetTypeFieldsAttachments:Jc}=_s.actions,Qc=t=>t.assetTypeFieldsAttachmentReducer.instances,Ms=u.createSelector([Qc],t=>Object.values(t)),j_=m(u.createSelector([Ms,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),xc=t=>e=>e.assetTypeFieldsAttachmentReducer.instances[t],er=m(u.createSelector([Ms,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),tr=_s.reducer,K=b(t=>t.uuid),sr={instances:{}},gs=u.createSlice({name:"assetTypeFields",initialState:sr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,sr)),reducers:{initializeAssetTypeFields:K.initialize,addAssetTypeFields:K.addOne,addAssetTypeFieldsMany:K.addMany,setAssetTypeFields:K.setOne,setAssetTypeFieldsMany:K.setMany,updateAssetTypeFields:K.updateOne,updateAssetTypeFieldsMany:K.updateMany,deleteAssetTypeFields:K.deleteOne,deleteAssetTypeFieldsMany:K.deleteMany}}),{initializeAssetTypeFields:ir,addAssetTypeFields:ar,addAssetTypeFieldsMany:nr,setAssetTypeFields:cr,setAssetTypeFieldsMany:rr,updateAssetTypeFields:dr,updateAssetTypeFieldsMany:ur,deleteAssetTypeFields:lr,deleteAssetTypeFieldsMany:or}=gs.actions,hr=t=>t.assetTypeFieldsReducer.instances,Mt=u.createSelector([hr],t=>Object.values(t)),C_=m(u.createSelector([Mt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),D_=m(u.createSelector([Mt,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_type===e).toSorted(l.submittedAtModelSortFn).pop())),pr=t=>e=>e.assetTypeFieldsReducer.instances[t],mr=m(u.createSelector([Mt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),yr=gs.reducer,W=b(t=>t.uuid),fr={instances:{}},Rs=u.createSlice({name:"assetTypeFieldValuesAttachments",initialState:fr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,fr)),reducers:{initializeAssetTypeFieldValuesAttachments:W.initialize,addAssetTypeFieldValuesAttachment:W.addOne,addAssetTypeFieldValuesAttachments:W.addMany,setAssetTypeFieldValuesAttachment:W.setOne,setAssetTypeFieldValuesAttachments:W.setMany,updateAssetTypeFieldValuesAttachment:W.updateOne,updateAssetTypeFieldValuesAttachments:W.updateMany,deleteAssetTypeFieldValuesAttachment:W.deleteOne,deleteAssetTypeFieldValuesAttachments:W.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:Sr,addAssetTypeFieldValuesAttachment:Ar,addAssetTypeFieldValuesAttachments:ws,setAssetTypeFieldValuesAttachment:Tr,setAssetTypeFieldValuesAttachments:Ir,updateAssetTypeFieldValuesAttachment:br,updateAssetTypeFieldValuesAttachments:Or,deleteAssetTypeFieldValuesAttachment:Pr,deleteAssetTypeFieldValuesAttachments:Es}=Rs.actions,Fr=t=>t.assetTypeFieldValuesAttachmentReducer.instances,vs=u.createSelector([Fr],t=>Object.values(t)),_r=t=>e=>e.assetTypeFieldValuesAttachmentReducer.instances[t],Mr=m(u.createSelector([vs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),gr=m(u.createSelector([vs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),Rr=Rs.reducer,X=b(t=>t.uuid),wr={instances:{}},Vs=u.createSlice({name:"assetTypeFieldValues",initialState:wr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,wr)),reducers:{initializeAssetTypeFieldValues:X.initialize,addAssetTypeFieldValues:X.addOne,addAssetTypeFieldValuesMany:X.addMany,setAssetTypeFieldValues:X.setOne,setAssetTypeFieldValuesMany:X.setMany,updateAssetTypeFieldValues:X.updateOne,updateAssetTypeFieldValuesMany:X.updateMany,deleteAssetTypeFieldValues:X.deleteOne,deleteAssetTypeFieldValuesMany:X.deleteMany}}),{initializeAssetTypeFieldValues:Er,addAssetTypeFieldValues:vr,addAssetTypeFieldValuesMany:Vr,setAssetTypeFieldValues:Br,setAssetTypeFieldValuesMany:zr,updateAssetTypeFieldValues:jr,updateAssetTypeFieldValuesMany:Cr,deleteAssetTypeFieldValues:Dr,deleteAssetTypeFieldValuesMany:qr}=Vs.actions,$r=t=>t.assetTypeFieldValuesReducer.instances,Ut=u.createSelector([$r],t=>Object.values(t)),q_=m(u.createSelector([Ut,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),$_=m(u.createSelector([Mt,Ut,(t,e)=>e],(t,e,i)=>{const a=new Set(t.filter(n=>n.asset_type===i).map(n=>n.uuid));return l.fallbackToEmptyArray(e.filter(n=>a.has(n.fields_revision)))})),Ur=t=>e=>e.assetTypeFieldValuesReducer.instances[t],kr=m(u.createSelector([Ut,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Lr=Vs.reducer,Y=b(t=>t.uuid),Hr={instances:{}},Bs=u.createSlice({name:"assetTypeIdentifiers",initialState:Hr,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Hr)),reducers:{initializeAssetTypeIdentifiers:Y.initialize,addAssetTypeIdentifier:Y.addOne,addAssetTypeIdentifiers:Y.addMany,setAssetTypeIdentifier:Y.setOne,setAssetTypeIdentifiers:Y.setMany,updateAssetTypeIdentifier:Y.updateOne,updateAssetTypeIdentifiers:Y.updateMany,deleteAssetTypeIdentifier:Y.deleteOne,deleteAssetTypeIdentifiers:Y.deleteMany}}),{initializeAssetTypeIdentifiers:Gr,addAssetTypeIdentifier:Nr,addAssetTypeIdentifiers:Kr,setAssetTypeIdentifier:Wr,setAssetTypeIdentifiers:Xr,updateAssetTypeIdentifier:Yr,updateAssetTypeIdentifiers:Zr,deleteAssetTypeIdentifier:Jr,deleteAssetTypeIdentifiers:Qr}=Bs.actions,xr=t=>t.assetTypeIdentifierReducer.instances,zs=u.createSelector([xr],t=>Object.values(t)),ed=t=>e=>e.assetTypeIdentifierReducer.instances[t],td=m(u.createSelector([zs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),U_=m(u.createSelector([zs,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),sd=Bs.reducer,Z=b(t=>t.uuid),id={instances:{}},js=u.createSlice({name:"assetTypeIdentifierValues",initialState:id,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,id)),reducers:{initializeAssetTypeIdentifierValues:Z.initialize,addAssetTypeIdentifierValue:Z.addOne,addAssetTypeIdentifierValues:Z.addMany,setAssetTypeIdentifierValue:Z.setOne,setAssetTypeIdentifierValues:Z.setMany,updateAssetTypeIdentifierValue:Z.updateOne,updateAssetTypeIdentifierValues:Z.updateMany,deleteAssetTypeIdentifierValue:Z.deleteOne,deleteAssetTypeIdentifierValues:Z.deleteMany}}),{initializeAssetTypeIdentifierValues:ad,addAssetTypeIdentifierValue:nd,addAssetTypeIdentifierValues:cd,setAssetTypeIdentifierValue:rd,setAssetTypeIdentifierValues:dd,updateAssetTypeIdentifierValue:ud,updateAssetTypeIdentifierValues:ld,deleteAssetTypeIdentifierValue:od,deleteAssetTypeIdentifierValues:hd}=js.actions,pd=t=>t.assetTypeIdentifierValueReducer.instances,kt=u.createSelector([pd],t=>Object.values(t)),md=t=>e=>e.assetTypeIdentifierValueReducer.instances[t],yd=m(u.createSelector([kt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),k_=m(u.createSelector([kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),L_=m(u.createSelector([kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type_identifier===e)))),fd=js.reducer,J=b(t=>t.uuid),Sd={instances:{}},Cs=u.createSlice({name:"assetTypes",initialState:Sd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Sd)),reducers:{initializeAssetTypes:J.initialize,setAssetType:J.setOne,setAssetTypes:J.setMany,addAssetType:J.addOne,addAssetTypes:J.addMany,updateAssetType:J.updateOne,updateAssetTypes:J.updateMany,deleteAssetType:J.deleteOne,deleteAssetTypes:J.deleteMany}}),{initializeAssetTypes:Ad,setAssetType:Td,setAssetTypes:Id,addAssetType:bd,addAssetTypes:Od,updateAssetType:Pd,updateAssetTypes:Fd,deleteAssetType:_d,deleteAssetTypes:Md}=Cs.actions,gd=t=>t.assetTypeReducer.instances,Ds=u.createSelector([gd],t=>Object.values(t)),Rd=t=>e=>e.assetTypeReducer.instances[t],wd=m(u.createSelector([Ds,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),H_=m(u.createSelector([Ds,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),Ed=Cs.reducer,Q=b(t=>t.uuid),vd={instances:{}},qs=u.createSlice({name:"assetTypeStatuses",initialState:vd,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,vd)),reducers:{initializeAssetTypeStatuses:Q.initialize,addAssetTypeStatus:Q.addOne,addAssetTypeStatuses:Q.addMany,setAssetTypeStatus:Q.setOne,setAssetTypeStatuses:Q.setMany,updateAssetTypeStatus:Q.updateOne,updateAssetTypeStatuses:Q.updateMany,deleteAssetTypeStatus:Q.deleteOne,deleteAssetTypeStatuses:Q.deleteMany}}),{initializeAssetTypeStatuses:Vd,addAssetTypeStatus:Bd,addAssetTypeStatuses:zd,setAssetTypeStatus:jd,setAssetTypeStatuses:Cd,updateAssetTypeStatus:Dd,updateAssetTypeStatuses:qd,deleteAssetTypeStatus:$d,deleteAssetTypeStatuses:Ud}=qs.actions,kd=t=>t.assetTypeStatusReducer.instances,$s=u.createSelector([kd],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.assetTypeStatusSortFn))),Ld=t=>e=>e.assetTypeStatusReducer.instances[t],Hd=m(u.createSelector([$s,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),G_=m(u.createSelector([$s,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset_type===e)))),Gd=qs.reducer,Nd={accessToken:"",refreshToken:"",isLoggedIn:!1},Lt=u.createSlice({name:"auth",initialState:Nd,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Nd)),reducers:{setTokens:(t,e)=>{t.accessToken=e.payload.accessToken,t.refreshToken=e.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,e)=>{e.payload||Lt.caseReducers.clearTokens(t),t.isLoggedIn=e.payload}}}),{setTokens:N_,clearTokens:K_,setLoggedIn:Kd}=Lt.actions,W_=t=>t.authReducer.accessToken,X_=t=>t.authReducer.isLoggedIn,Wd=Lt.reducer,x=b(t=>t.uuid),Xd={instances:{}},Us=u.createSlice({name:"documentAttachments",initialState:Xd,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Xd)),reducers:{initializeDocumentAttachments:x.initialize,addDocumentAttachment:x.addOne,addDocumentAttachments:x.addMany,setDocumentAttachment:x.setOne,setDocumentAttachments:x.setMany,updateDocumentAttachment:x.updateOne,updateDocumentAttachments:x.updateMany,deleteDocumentAttachment:x.deleteOne,deleteDocumentAttachments:x.deleteMany}}),{initializeDocumentAttachments:Yd,addDocumentAttachment:Zd,addDocumentAttachments:Jd,setDocumentAttachment:Qd,setDocumentAttachments:xd,updateDocumentAttachment:eu,updateDocumentAttachments:tu,deleteDocumentAttachment:su,deleteDocumentAttachments:iu}=Us.actions,au=t=>t.documentAttachmentReducer.instances,ks=u.createSelector([au],t=>Object.values(t)),nu=t=>e=>e.documentAttachmentReducer.instances[t],cu=m(u.createSelector([ks,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Y_=m(u.createSelector([ks,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({document:i})=>e===i)))),ru=Us.reducer,ee=b(({uuid:t})=>t),du={instances:{}},Ls=u.createSlice({name:"documents",initialState:du,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>{Object.assign(e,du)}),reducers:{initializeDocuments:ee.initialize,addDocument:ee.addOne,addDocuments:ee.addMany,setDocument:ee.setOne,setDocuments:ee.setMany,updateDocument:ee.updateOne,updateDocuments:ee.updateMany,deleteDocument:ee.deleteOne,deleteDocuments:ee.deleteMany}}),{initializeDocuments:uu,addDocument:lu,addDocuments:ou,setDocument:hu,setDocuments:pu,updateDocument:mu,updateDocuments:yu,deleteDocument:fu,deleteDocuments:Su}=Ls.actions,Au=Ls.reducer,Hs=t=>t.documentsReducer.instances,Ht=u.createSelector([Hs],t=>Object.values(t)),Tu=t=>e=>e.documentsReducer.instances[t],Iu=m(u.createSelector([Ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Z_=m(u.createSelector([Ht,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),J_=m(u.createSelector([Ht,(t,e)=>e],(t,e)=>t.filter(i=>i.organization===e))),bu=m(u.createSelector([Hs,(t,e)=>e],(t,e)=>{if(!t[e])return l.fallbackToEmptyArray([]);const n=l.getDocumentSubTree(e,Object.values(t)).all().map(({model:c})=>c);return l.fallbackToEmptyArray(n)})),te=b(t=>t.uuid),Ou={instances:{}},Gs=u.createSlice({name:"emailDomains",initialState:Ou,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Ou)),reducers:{initializeEmailDomains:te.initialize,addEmailDomain:te.addOne,addEmailDomains:te.addMany,setEmailDomain:te.setOne,setEmailDomains:te.setMany,updateEmailDomain:te.updateOne,updateEmailDomains:te.updateMany,deleteEmailDomain:te.deleteOne,deleteEmailDomains:te.deleteMany}}),{initializeEmailDomains:Pu,addEmailDomain:Fu,addEmailDomains:_u,setEmailDomain:Mu,setEmailDomains:gu,updateEmailDomain:Ru,updateEmailDomains:wu,deleteEmailDomain:Eu,deleteEmailDomains:vu}=Gs.actions,Vu=t=>t.emailDomainsReducer.instances,Ns=u.createSelector([Vu],t=>Object.values(t)),Bu=t=>e=>e.emailDomainsReducer.instances[t],zu=m(u.createSelector([Ns,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Q_=m(u.createSelector([Ns,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),ju=Gs.reducer,se=b(t=>t.uuid),Cu={instances:{}},Ks=u.createSlice({name:"formIdentifiers",initialState:Cu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Cu)),reducers:{initializeFormIdentifiers:se.initialize,addFormIdentifier:se.addOne,addFormIdentifiers:se.addMany,setFormIdentifier:se.setOne,setFormIdentifiers:se.setMany,updateFormIdentifier:se.updateOne,updateFormIdentifiers:se.updateMany,deleteFormIdentifier:se.deleteOne,deleteFormIdentifiers:se.deleteMany}}),{initializeFormIdentifiers:Du,addFormIdentifier:qu,addFormIdentifiers:$u,setFormIdentifier:Uu,setFormIdentifiers:ku,updateFormIdentifier:Lu,updateFormIdentifiers:Hu,deleteFormIdentifier:Gu,deleteFormIdentifiers:Nu}=Ks.actions,Ku=t=>t.formIdentifierReducer.instances,Ws=u.createSelector([Ku],t=>Object.values(t)),Wu=t=>e=>e.formIdentifierReducer.instances[t],Xu=m(u.createSelector([Ws,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),x_=m(u.createSelector([Ws,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),Yu=Ks.reducer,ie=b(t=>t.uuid),Zu={instances:{}},Xs=u.createSlice({name:"formIdentifierValues",initialState:Zu,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Zu)),reducers:{initializeFormIdentifierValues:ie.initialize,addFormIdentifierValue:ie.addOne,addFormIdentifierValues:ie.addMany,setFormIdentifierValue:ie.setOne,setFormIdentifierValues:ie.setMany,updateFormIdentifierValue:ie.updateOne,updateFormIdentifierValues:ie.updateMany,deleteFormIdentifierValue:ie.deleteOne,deleteFormIdentifierValues:ie.deleteMany}}),{initializeFormIdentifierValues:Ju,addFormIdentifierValue:Qu,addFormIdentifierValues:xu,setFormIdentifierValue:el,setFormIdentifierValues:tl,updateFormIdentifierValue:sl,updateFormIdentifierValues:il,deleteFormIdentifierValue:al,deleteFormIdentifierValues:nl}=Xs.actions,cl=t=>t.formIdentifierValueReducer.instances,Gt=u.createSelector([cl],t=>Object.values(t)),rl=t=>e=>e.formIdentifierValueReducer.instances[t],dl=m(u.createSelector([Gt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),eM=m(u.createSelector([Gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),tM=m(u.createSelector([Gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_identifier===e)))),ul=Xs.reducer,ae=b(t=>t.uuid),ll={instances:{}},Ys=u.createSlice({name:"formRevisionAttachments",initialState:ll,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,ll)),reducers:{initializeFormRevisionAttachments:ae.initialize,addFormRevisionAttachment:ae.addOne,addFormRevisionAttachments:ae.addMany,setFormRevisionAttachment:ae.setOne,setFormRevisionAttachments:ae.setMany,updateFormRevisionAttachment:ae.updateOne,updateFormRevisionAttachments:ae.updateMany,deleteFormRevisionAttachment:ae.deleteOne,deleteFormRevisionAttachments:ae.deleteMany}}),{initializeFormRevisionAttachments:ol,addFormRevisionAttachment:hl,addFormRevisionAttachments:pl,setFormRevisionAttachment:ml,setFormRevisionAttachments:yl,updateFormRevisionAttachment:fl,updateFormRevisionAttachments:Sl,deleteFormRevisionAttachment:Al,deleteFormRevisionAttachments:Tl}=Ys.actions,Nt=t=>t.formRevisionAttachmentReducer.instances,Il=u.createSelector([Nt],t=>Object.values(t)),bl=m(u.createSelector([Nt,(t,e)=>e],(t,e)=>t[e])),Ol=m(u.createSelector([Il,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),sM=m(u.createSelector([Nt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.form_revision===e)))),Pl=Ys.reducer,ne=b(t=>t.uuid),Fl={instances:{}},Zs=u.createSlice({name:"formRevisions",initialState:Fl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Fl)),reducers:{initializeFormRevisions:ne.initialize,addFormRevision:ne.addOne,addFormRevisions:ne.addMany,setFormRevision:ne.setOne,setFormRevisions:ne.setMany,updateFormRevision:ne.updateOne,updateFormRevisions:ne.updateMany,deleteFormRevision:ne.deleteOne,deleteFormRevisions:ne.deleteMany}}),{initializeFormRevisions:_l,addFormRevision:Ml,addFormRevisions:Js,setFormRevision:gl,setFormRevisions:Rl,updateFormRevision:wl,updateFormRevisions:El,deleteFormRevision:vl,deleteFormRevisions:Qs}=Zs.actions,Vl=t=>t.formRevisionReducer.instances,Kt=u.createSelector([Vl],t=>Object.values(t)),Bl=t=>e=>e.formRevisionReducer.instances[t],zl=m(u.createSelector([Kt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),iM=m(u.createSelector([Kt,(t,e)=>e],(t,e)=>t.filter(i=>i.form===e).toSorted(l.submittedAtModelSortFn).pop())),jl=m(u.createSelector([Kt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),Cl=Zs.reducer,ce=b(t=>t.uuid),Dl={instances:{}},xs=u.createSlice({name:"formSubscribers",initialState:Dl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Dl)),reducers:{initializeFormSubscribers:ce.initialize,addFormSubscriber:ce.addOne,addFormSubscribers:ce.addMany,setFormSubscriber:ce.setOne,setFormSubscribers:ce.setMany,updateFormSubscriber:ce.updateOne,updateFormSubscribers:ce.updateMany,deleteFormSubscriber:ce.deleteOne,deleteFormSubscribers:ce.deleteMany}}),{initializeFormSubscribers:ql,addFormSubscriber:$l,addFormSubscribers:ei,setFormSubscriber:Ul,setFormSubscribers:kl,updateFormSubscriber:Ll,updateFormSubscribers:Hl,deleteFormSubscriber:Gl,deleteFormSubscribers:ti}=xs.actions,Nl=t=>t.formSubscriberReducer.instances,Wt=u.createSelector([Nl],t=>Object.values(t)),Kl=t=>e=>e.formSubscriberReducer.instances[t],Wl=m(u.createSelector([Wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Xl=m(u.createSelector([Wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),aM=m(u.createSelector([Wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.user===e)))),Yl=xs.reducer,re=b(t=>t.uuid),Zl={instances:{}},si=u.createSlice({name:"forms",initialState:Zl,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Zl)),reducers:{initializeForms:re.initialize,addForm:re.addOne,addForms:re.addMany,setForm:re.setOne,setForms:re.setMany,updateForm:re.updateOne,updateForms:re.updateMany,deleteForm:re.deleteOne,deleteForms:re.deleteMany}}),{initializeForms:Jl,addForm:Ql,addForms:xl,setForm:eo,setForms:to,updateForm:so,updateForms:io,deleteForm:ao,deleteForms:no}=si.actions,co=si.reducer,ro=t=>t.formReducer.instances,ii=u.createSelector([ro],t=>Object.values(t)),uo=t=>e=>e.formReducer.instances[t],lo=m(u.createSelector([ii,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),nM=m(u.createSelector([ii,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),de=b(({uuid:t})=>t),oo={instances:{}},ai=u.createSlice({name:"formSubmissionFieldValuesAttachments",initialState:oo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,oo)),reducers:{initializeFormSubmissionFieldValuesAttachments:de.initialize,addFormSubmissionFieldValuesAttachment:de.addOne,addFormSubmissionFieldValuesAttachments:de.addMany,setFormSubmissionFieldValuesAttachment:de.setOne,setFormSubmissionFieldValuesAttachments:de.setMany,updateFormSubmissionFieldValuesAttachment:de.updateOne,updateFormSubmissionFieldValuesAttachments:de.updateMany,deleteFormSubmissionFieldValuesAttachment:de.deleteOne,deleteFormSubmissionFieldValuesAttachments:de.deleteMany}}),{initializeFormSubmissionFieldValuesAttachments:ho,addFormSubmissionFieldValuesAttachment:po,addFormSubmissionFieldValuesAttachments:ni,setFormSubmissionFieldValuesAttachment:mo,setFormSubmissionFieldValuesAttachments:yo,updateFormSubmissionFieldValuesAttachment:fo,updateFormSubmissionFieldValuesAttachments:So,deleteFormSubmissionFieldValuesAttachment:Ao,deleteFormSubmissionFieldValuesAttachments:ci}=ai.actions,ri=t=>t.formSubmissionFieldValuesAttachmentReducer.instances,di=u.createSelector([ri],t=>Object.values(t)),To=m(u.createSelector([ri,(t,e)=>e],(t,e)=>t[e])),ui=m(u.createSelector([di,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.uuid)))})),Io=m(u.createSelector([di,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),bo=ai.reducer,ue=b(({uuid:t})=>t),Oo={instances:{}},li=u.createSlice({name:"formSubmissionFieldValues",initialState:Oo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Oo)),reducers:{initializeFormSubmissionFieldValues:ue.initialize,addFormSubmissionFieldValues:ue.addOne,addFormSubmissionFieldValuesMany:ue.addMany,setFormSubmissionFieldValues:ue.setOne,setFormSubmissionFieldValuesMany:ue.setMany,updateFormSubmissionFieldValues:ue.updateOne,updateFormSubmissionFieldValuesMany:ue.updateMany,deleteFormSubmissionFieldValues:ue.deleteOne,deleteFormSubmissionFieldValuesMany:ue.deleteMany}}),{initializeFormSubmissionFieldValues:Po,addFormSubmissionFieldValues:Fo,addFormSubmissionFieldValuesMany:oi,setFormSubmissionFieldValues:_o,setFormSubmissionFieldValuesMany:Mo,updateFormSubmissionFieldValues:go,updateFormSubmissionFieldValuesMany:Ro,deleteFormSubmissionFieldValues:wo,deleteFormSubmissionFieldValuesMany:hi}=li.actions,Eo=t=>t.formSubmissionFieldValuesReducer.instances,pi=u.createSelector([Eo],t=>Object.values(t)),vo=t=>e=>e.formSubmissionFieldValuesReducer.instances[t],Vo=m(u.createSelector([pi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Bo=m(u.createSelector([pi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),zo=li.reducer,le=b(t=>t.uuid),jo={instances:{}},mi=u.createSlice({name:"formSubmissionCommentAttachments",initialState:jo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,jo)),reducers:{initializeFormSubmissionCommentAttachments:le.initialize,addFormSubmissionCommentAttachment:le.addOne,addFormSubmissionCommentAttachments:le.addMany,setFormSubmissionCommentAttachment:le.setOne,setFormSubmissionCommentAttachments:le.setMany,updateFormSubmissionCommentAttachment:le.updateOne,updateFormSubmissionCommentAttachments:le.updateMany,deleteFormSubmissionCommentAttachment:le.deleteOne,deleteFormSubmissionCommentAttachments:le.deleteMany}}),{initializeFormSubmissionCommentAttachments:Co,addFormSubmissionCommentAttachment:Do,addFormSubmissionCommentAttachments:qo,setFormSubmissionCommentAttachment:$o,setFormSubmissionCommentAttachments:Uo,updateFormSubmissionCommentAttachment:ko,updateFormSubmissionCommentAttachments:Lo,deleteFormSubmissionCommentAttachment:Ho,deleteFormSubmissionCommentAttachments:Go}=mi.actions,No=t=>t.formSubmissionCommentAttachmentReducer.instances,yi=u.createSelector([No],t=>Object.values(t)),Ko=t=>e=>e.formSubmissionCommentAttachmentReducer.instances[t],Wo=m(u.createSelector([yi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),cM=m(u.createSelector([yi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({form_submission_comment:i})=>e===i)))),Xo=mi.reducer,oe=b(t=>t.uuid),Yo={instances:{}},fi=u.createSlice({name:"formSubmissionComments",initialState:Yo,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Yo)),reducers:{initializeFormSubmissionComments:oe.initialize,addFormSubmissionComment:oe.addOne,addFormSubmissionComments:oe.addMany,setFormSubmissionComment:oe.setOne,setFormSubmissionComments:oe.setMany,updateFormSubmissionComment:oe.updateOne,updateFormSubmissionComments:oe.updateMany,deleteFormSubmissionComment:oe.deleteOne,deleteFormSubmissionComments:oe.deleteMany}}),{initializeFormSubmissionComments:Zo,addFormSubmissionComment:Jo,addFormSubmissionComments:Si,setFormSubmissionComment:Qo,setFormSubmissionComments:xo,updateFormSubmissionComment:eh,updateFormSubmissionComments:th,deleteFormSubmissionComment:sh,deleteFormSubmissionComments:Ai}=fi.actions,ih=t=>t.formSubmissionCommentReducer.instances,Xt=u.createSelector([ih],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),ah=t=>e=>e.formSubmissionCommentReducer.instances[t],nh=m(u.createSelector([Xt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ch=m(u.createSelector([Xt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form_submission===e)))),rM=m(u.createSelector([Xt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.form_submission)))})),rh=fi.reducer,he=b(t=>t.uuid),dh={instances:{}},Ti=u.createSlice({name:"formSubmissions",initialState:dh,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,dh)),reducers:{initializeFormSubmissions:he.initialize,setFormSubmission:he.setOne,setFormSubmissions:he.setMany,addFormSubmission:he.addOne,addFormSubmissions:he.addMany,updateFormSubmission:he.updateOne,updateFormSubmissions:he.updateMany,deleteFormSubmission:he.deleteOne,deleteFormSubmissions:he.deleteMany}}),{initializeFormSubmissions:uh,setFormSubmission:lh,setFormSubmissions:oh,addFormSubmission:hh,addFormSubmissions:lt,updateFormSubmission:ph,updateFormSubmissions:mh,deleteFormSubmission:yh,deleteFormSubmissions:ot}=Ti.actions,fh=t=>t.formSubmissionReducer.instances,C=u.createSelector([fh],t=>Object.values(t)),Sh=t=>e=>e.formSubmissionReducer.instances[t],Ah=m(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Th=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.form===e)))),dM=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({organization:i})=>i===e)))),uM=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>i===e)))),lM=m(u.createSelector([C,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({project:a,form:n})=>a===e&&n===i)))),oM=m(u.createSelector([C,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({organization:a,form:n})=>a===e&&n===i)))),Ih=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),bh=m(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({issue:a})=>a&&i.has(a)))})),Oh=m(u.createSelector([C,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),Ph=m(u.createSelector([C,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>a&&i.has(a)))})),Fh=Ti.reducer,pe=b(t=>t.uuid),_h={instances:{}},Ii=u.createSlice({name:"geoImages",initialState:_h,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,_h)),reducers:{initializeGeoImages:pe.initialize,setGeoImage:pe.setOne,setGeoImages:pe.setMany,addGeoImage:pe.addOne,addGeoImages:pe.addMany,updateGeoImage:pe.updateOne,updateGeoImages:pe.updateMany,deleteGeoImage:pe.deleteOne,deleteGeoImages:pe.deleteMany}}),{initializeGeoImages:Mh,setGeoImage:gh,setGeoImages:Rh,addGeoImage:wh,addGeoImages:Eh,updateGeoImage:vh,updateGeoImages:Vh,deleteGeoImage:Bh,deleteGeoImages:zh}=Ii.actions,jh=t=>t.geoImageReducer.instances,bi=u.createSelector([jh],t=>Object.values(t)),Ch=t=>e=>e.geoImageReducer.instances[t],Dh=m(u.createSelector([bi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),hM=m(u.createSelector([bi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),qh=Ii.reducer,me=b(t=>t.uuid),$h={instances:{}},Oi=u.createSlice({name:"issueAssociations",initialState:$h,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,$h)),reducers:{initializeIssueAssociations:me.initialize,addIssueAssociation:me.addOne,addIssueAssociations:me.addMany,setIssueAssociation:me.setOne,setIssueAssociations:me.setMany,updateIssueAssociation:me.updateOne,updateIssueAssociations:me.updateMany,deleteIssueAssociation:me.deleteOne,deleteIssueAssociations:me.deleteMany}}),{initializeIssueAssociations:Uh,setIssueAssociations:kh,setIssueAssociation:Lh,updateIssueAssociation:Hh,updateIssueAssociations:Gh,addIssueAssociation:Nh,addIssueAssociations:At,deleteIssueAssociation:Kh,deleteIssueAssociations:Tt}=Oi.actions,Wh=t=>t.issueAssociationReducer.instances,It=u.createSelector([Wh],t=>Object.values(t)),Xh=t=>e=>e.issueAssociationReducer.instances[t],Yh=m(u.createSelector([It,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Zh=m(u.createSelector([It,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({issue:a})=>i.has(a)))})),Jh=m(u.createSelector([It,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>i===e)))),Qh=m(u.createSelector([It,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({asset:i})=>i===e)))),xh=m(u.createSelector([It,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),ep=Oi.reducer,ye=b(t=>t.uuid),tp={instances:{}},Pi=u.createSlice({name:"issueAttachments",initialState:tp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,tp)),reducers:{initializeIssueAttachments:ye.initialize,addIssueAttachment:ye.addOne,addIssueAttachments:ye.addMany,setIssueAttachment:ye.setOne,setIssueAttachments:ye.setMany,updateIssueAttachment:ye.updateOne,updateIssueAttachments:ye.updateMany,deleteIssueAttachment:ye.deleteOne,deleteIssueAttachments:ye.deleteMany}}),{initializeIssueAttachments:sp,addIssueAttachment:ip,addIssueAttachments:Fi,setIssueAttachment:ap,setIssueAttachments:np,updateIssueAttachment:cp,updateIssueAttachments:rp,deleteIssueAttachment:dp,deleteIssueAttachments:_i}=Pi.actions,up=t=>t.issueAttachmentReducer.instances,Mi=u.createSelector([up],t=>Object.values(t)),lp=m(u.createSelector([Mi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue:i})=>e===i)))),op=t=>e=>e.issueAttachmentReducer.instances[t],hp=m(u.createSelector([Mi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),pp=Pi.reducer,fe=b(t=>t.uuid),mp={instances:{}},gi=u.createSlice({name:"issueCommentAttachments",initialState:mp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,mp)),reducers:{initializeIssueCommentAttachments:fe.initialize,addIssueCommentAttachment:fe.addOne,addIssueCommentAttachments:fe.addMany,setIssueCommentAttachment:fe.setOne,setIssueCommentAttachments:fe.setMany,updateIssueCommentAttachment:fe.updateOne,updateIssueCommentAttachments:fe.updateMany,deleteIssueCommentAttachment:fe.deleteOne,deleteIssueCommentAttachments:fe.deleteMany}}),{initializeIssueCommentAttachments:yp,addIssueCommentAttachment:fp,addIssueCommentAttachments:Sp,setIssueCommentAttachment:Ap,setIssueCommentAttachments:Tp,updateIssueCommentAttachment:Ip,updateIssueCommentAttachments:bp,deleteIssueCommentAttachment:Op,deleteIssueCommentAttachments:Pp}=gi.actions,Fp=t=>t.issueCommentAttachmentReducer.instances,Ri=u.createSelector([Fp],t=>Object.values(t)),_p=t=>e=>e.issueCommentAttachmentReducer.instances[t],Mp=m(u.createSelector([Ri,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),pM=m(u.createSelector([Ri,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_comment:i})=>e===i)))),gp=gi.reducer,Se=b(t=>t.uuid),Rp={instances:{}},wi=u.createSlice({name:"issueComments",initialState:Rp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,Rp)),reducers:{initializeIssueComments:Se.initialize,addIssueComment:Se.addOne,addIssueComments:Se.addMany,setIssueComment:Se.setOne,setIssueComments:Se.setMany,updateIssueComment:Se.updateOne,updateIssueComments:Se.updateMany,deleteIssueComment:Se.deleteOne,deleteIssueComments:Se.deleteMany}}),{initializeIssueComments:wp,addIssueComment:Ep,addIssueComments:vp,setIssueComment:Vp,setIssueComments:Bp,updateIssueComment:zp,updateIssueComments:jp,deleteIssueComment:Cp,deleteIssueComments:Dp}=wi.actions,Ei=t=>t.issueCommentReducer.instances,qp=t=>e=>e.issueCommentReducer.instances[t],$p=m(u.createSelector([Ei,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(Object.values(t).filter(({uuid:a})=>i.has(a)))})),mM=m(u.createSelector([Ei,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.issue===e)))),Up=wi.reducer,Ae=b(t=>t.uuid),kp={instances:{}},vi=u.createSlice({name:"issues",initialState:kp,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,kp)),reducers:{initializeIssues:Ae.initialize,addIssue:Ae.addOne,addIssues:Ae.addMany,setIssue:Ae.setOne,setIssues:Ae.setMany,updateIssue:Ae.updateOne,updateIssues:Ae.updateMany,deleteIssue:Ae.deleteOne,deleteIssues:Ae.deleteMany}}),{initializeIssues:Lp,addIssue:Hp,addIssues:Vi,setIssue:Gp,setIssues:Np,updateIssue:Kp,updateIssues:Wp,deleteIssue:Xp,deleteIssues:Bi}=vi.actions,Yp=t=>t.issueReducer.instances,Yt=u.createSelector([Yp],t=>Object.values(t)),Zp=t=>e=>e.issueReducer.instances[t],Jp=m(u.createSelector([Yt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),yM=m(u.createSelector([Yt,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),Qp=m(u.createSelector([Yt,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e))),xp=vi.reducer,Te=b(t=>t.uuid),em={instances:{}},zi=u.createSlice({name:"issueTypeAttachments",initialState:em,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,em)),reducers:{initializeIssueTypeAttachments:Te.initialize,addIssueTypeAttachment:Te.addOne,addIssueTypeAttachments:Te.addMany,setIssueTypeAttachment:Te.setOne,setIssueTypeAttachments:Te.setMany,updateIssueTypeAttachment:Te.updateOne,updateIssueTypeAttachments:Te.updateMany,deleteIssueTypeAttachment:Te.deleteOne,deleteIssueTypeAttachments:Te.deleteMany}}),{initializeIssueTypeAttachments:tm,addIssueTypeAttachment:sm,addIssueTypeAttachments:im,setIssueTypeAttachment:am,setIssueTypeAttachments:nm,updateIssueTypeAttachment:cm,updateIssueTypeAttachments:rm,deleteIssueTypeAttachment:dm,deleteIssueTypeAttachments:um}=zi.actions,lm=t=>t.issueTypeAttachmentReducer.instances,ji=u.createSelector([lm],t=>Object.values(t)),om=t=>e=>e.issueTypeAttachmentReducer.instances[t],hm=m(u.createSelector([ji,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),fM=m(u.createSelector([ji,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({issue_type:i})=>e===i)))),pm=zi.reducer,Ie=b(t=>t.uuid),mm={instances:{}},Ci=u.createSlice({name:"issueTypeFieldsAttachments",initialState:mm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,mm)),reducers:{initializeIssueTypeFieldsAttachments:Ie.initialize,addIssueTypeFieldsAttachment:Ie.addOne,addIssueTypeFieldsAttachments:Ie.addMany,setIssueTypeFieldsAttachment:Ie.setOne,setIssueTypeFieldsAttachments:Ie.setMany,updateIssueTypeFieldsAttachment:Ie.updateOne,updateIssueTypeFieldsAttachments:Ie.updateMany,deleteIssueTypeFieldsAttachment:Ie.deleteOne,deleteIssueTypeFieldsAttachments:Ie.deleteMany}}),{initializeIssueTypeFieldsAttachments:ym,addIssueTypeFieldsAttachment:fm,addIssueTypeFieldsAttachments:Sm,setIssueTypeFieldsAttachment:Am,setIssueTypeFieldsAttachments:Tm,updateIssueTypeFieldsAttachment:Im,updateIssueTypeFieldsAttachments:bm,deleteIssueTypeFieldsAttachment:Om,deleteIssueTypeFieldsAttachments:Pm}=Ci.actions,Fm=t=>t.issueTypeFieldsAttachmentReducer.instances,Di=u.createSelector([Fm],t=>Object.values(t)),SM=m(u.createSelector([Di,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),_m=t=>e=>e.issueTypeFieldsAttachmentReducer.instances[t],Mm=m(u.createSelector([Di,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),gm=Ci.reducer,be=b(t=>t.uuid),Rm={instances:{}},qi=u.createSlice({name:"issueTypeFieldValues",initialState:Rm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,Rm)),reducers:{initializeIssueTypeFieldValues:be.initialize,addIssueTypeFieldValues:be.addOne,addIssueTypeFieldValuesMany:be.addMany,setIssueTypeFieldValues:be.setOne,setIssueTypeFieldValuesMany:be.setMany,updateIssueTypeFieldValues:be.updateOne,updateIssueTypeFieldValuesMany:be.updateMany,deleteIssueTypeFieldValues:be.deleteOne,deleteIssueTypeFieldValuesMany:be.deleteMany}}),{initializeIssueTypeFieldValues:wm,addIssueTypeFieldValues:Em,addIssueTypeFieldValuesMany:vm,setIssueTypeFieldValues:Vm,setIssueTypeFieldValuesMany:Bm,updateIssueTypeFieldValues:zm,updateIssueTypeFieldValuesMany:jm,deleteIssueTypeFieldValues:Cm,deleteIssueTypeFieldValuesMany:Dm}=qi.actions,qm=t=>t.issueTypeFieldValuesReducer.instances,Zt=u.createSelector([qm],t=>Object.values(t)),AM=m(u.createSelector([Zt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),$m=t=>e=>e.issueTypeFieldValuesReducer.instances[t],Um=m(u.createSelector([Zt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),km=qi.reducer,Oe=b(t=>t.uuid),Lm={instances:{}},$i=u.createSlice({name:"issueTypeFields",initialState:Lm,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Lm)),reducers:{initializeIssueTypeFields:Oe.initialize,addIssueTypeFields:Oe.addOne,addIssueTypeFieldsMany:Oe.addMany,setIssueTypeFields:Oe.setOne,setIssueTypeFieldsMany:Oe.setMany,updateIssueTypeFields:Oe.updateOne,updateIssueTypeFieldsMany:Oe.updateMany,deleteIssueTypeFields:Oe.deleteOne,deleteIssueTypeFieldsMany:Oe.deleteMany}}),{initializeIssueTypeFields:Hm,addIssueTypeFields:Gm,addIssueTypeFieldsMany:Nm,setIssueTypeFields:Km,setIssueTypeFieldsMany:Wm,updateIssueTypeFields:Xm,updateIssueTypeFieldsMany:Ym,deleteIssueTypeFields:Zm,deleteIssueTypeFieldsMany:Jm}=$i.actions,Qm=t=>t.issueTypeFieldsReducer.instances,gt=u.createSelector([Qm],t=>Object.values(t)),TM=m(u.createSelector([gt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),IM=m(u.createSelector([gt,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),bM=m(u.createSelector([gt,Zt,(t,e)=>e],(t,e,i)=>{const a=new Set(t.filter(n=>n.issue_type===i).map(n=>n.uuid));return l.fallbackToEmptyArray(e.filter(n=>a.has(n.fields_revision)))})),xm=t=>e=>e.issueTypeFieldsReducer.instances[t],ey=m(u.createSelector([gt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ty=$i.reducer,Pe=b(t=>t.uuid),sy={instances:{}},Ui=u.createSlice({name:"issueTypeFieldValuesAttachments",initialState:sy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,sy)),reducers:{initializeIssueTypeFieldValuesAttachments:Pe.initialize,addIssueTypeFieldValuesAttachment:Pe.addOne,addIssueTypeFieldValuesAttachments:Pe.addMany,setIssueTypeFieldValuesAttachment:Pe.setOne,setIssueTypeFieldValuesAttachments:Pe.setMany,updateIssueTypeFieldValuesAttachment:Pe.updateOne,updateIssueTypeFieldValuesAttachments:Pe.updateMany,deleteIssueTypeFieldValuesAttachment:Pe.deleteOne,deleteIssueTypeFieldValuesAttachments:Pe.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:iy,addIssueTypeFieldValuesAttachment:ay,addIssueTypeFieldValuesAttachments:ki,setIssueTypeFieldValuesAttachment:ny,setIssueTypeFieldValuesAttachments:cy,updateIssueTypeFieldValuesAttachment:ry,updateIssueTypeFieldValuesAttachments:dy,deleteIssueTypeFieldValuesAttachment:uy,deleteIssueTypeFieldValuesAttachments:Li}=Ui.actions,ly=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Hi=u.createSelector([ly],t=>Object.values(t)),oy=t=>e=>e.issueTypeFieldValuesAttachmentReducer.instances[t],hy=m(u.createSelector([Hi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),py=m(u.createSelector([Hi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),my=Ui.reducer,Fe=b(t=>t.uuid),yy={instances:{}},Gi=u.createSlice({name:"issueTypeIdentifiers",initialState:yy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,yy)),reducers:{initializeIssueTypeIdentifiers:Fe.initialize,addIssueTypeIdentifier:Fe.addOne,addIssueTypeIdentifiers:Fe.addMany,setIssueTypeIdentifier:Fe.setOne,setIssueTypeIdentifiers:Fe.setMany,updateIssueTypeIdentifier:Fe.updateOne,updateIssueTypeIdentifiers:Fe.updateMany,deleteIssueTypeIdentifier:Fe.deleteOne,deleteIssueTypeIdentifiers:Fe.deleteMany}}),{initializeIssueTypeIdentifiers:fy,addIssueTypeIdentifier:Sy,addIssueTypeIdentifiers:Ay,setIssueTypeIdentifier:Ty,setIssueTypeIdentifiers:Iy,updateIssueTypeIdentifier:by,updateIssueTypeIdentifiers:Oy,deleteIssueTypeIdentifier:Py,deleteIssueTypeIdentifiers:Fy}=Gi.actions,_y=t=>t.issueTypeIdentifierReducer.instances,Ni=u.createSelector([_y],t=>Object.values(t)),My=t=>e=>e.issueTypeIdentifierReducer.instances[t],gy=m(u.createSelector([Ni,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),OM=m(u.createSelector([Ni,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),Ry=Gi.reducer,_e=b(t=>t.uuid),wy={instances:{}},Ki=u.createSlice({name:"issueTypeIdentifierValues",initialState:wy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,wy)),reducers:{initializeIssueTypeIdentifierValues:_e.initialize,addIssueTypeIdentifierValue:_e.addOne,addIssueTypeIdentifierValues:_e.addMany,setIssueTypeIdentifierValue:_e.setOne,setIssueTypeIdentifierValues:_e.setMany,updateIssueTypeIdentifierValue:_e.updateOne,updateIssueTypeIdentifierValues:_e.updateMany,deleteIssueTypeIdentifierValue:_e.deleteOne,deleteIssueTypeIdentifierValues:_e.deleteMany}}),{initializeIssueTypeIdentifierValues:Ey,addIssueTypeIdentifierValue:vy,addIssueTypeIdentifierValues:Vy,setIssueTypeIdentifierValue:By,setIssueTypeIdentifierValues:zy,updateIssueTypeIdentifierValue:jy,updateIssueTypeIdentifierValues:Cy,deleteIssueTypeIdentifierValue:Dy,deleteIssueTypeIdentifierValues:qy}=Ki.actions,$y=t=>t.issueTypeIdentifierValueReducer.instances,Jt=u.createSelector([$y],t=>Object.values(t)),Uy=t=>e=>e.issueTypeIdentifierValueReducer.instances[t],ky=m(u.createSelector([Jt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),PM=m(u.createSelector([Jt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),FM=m(u.createSelector([Jt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type_identifier===e)))),Ly=Ki.reducer,Me=b(t=>t.uuid),Hy={instances:{}},Wi=u.createSlice({name:"issueTypePriorities",initialState:Hy,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Hy)),reducers:{initializeIssueTypePriorities:Me.initialize,addIssueTypePriority:Me.addOne,addIssueTypePriorities:Me.addMany,setIssueTypePriority:Me.setOne,setIssueTypePriorities:Me.setMany,updateIssueTypePriority:Me.updateOne,updateIssueTypePriorities:Me.updateMany,deleteIssueTypePriority:Me.deleteOne,deleteIssueTypePriorities:Me.deleteMany}}),{initializeIssueTypePriorities:Gy,addIssueTypePriority:Ny,addIssueTypePriorities:Ky,setIssueTypePriority:Wy,setIssueTypePriorities:Xy,updateIssueTypePriority:Yy,updateIssueTypePriorities:Zy,deleteIssueTypePriority:Jy,deleteIssueTypePriorities:Qy}=Wi.actions,xy=t=>t.issueTypePriorityReducer.instances,Xi=u.createSelector([xy],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypePrioritySortFn))),Yi=t=>e=>e.issueTypePriorityReducer.instances[t],ef=m(u.createSelector([Xi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),_M=m(u.createSelector([Xi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),tf=Wi.reducer,ge=b(t=>t.uuid),sf={instances:{}},Zi=u.createSlice({name:"issueTypes",initialState:sf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,sf)),reducers:{initializeIssueTypes:ge.initialize,addIssueType:ge.addOne,addIssueTypes:ge.addMany,setIssueType:ge.setOne,setIssueTypes:ge.setMany,updateIssueType:ge.updateOne,updateIssueTypes:ge.updateMany,deleteIssueType:ge.deleteOne,deleteIssueTypes:ge.deleteMany}}),{initializeIssueTypes:af,addIssueType:nf,addIssueTypes:cf,setIssueType:rf,setIssueTypes:df,updateIssueType:uf,updateIssueTypes:lf,deleteIssueType:of,deleteIssueTypes:hf}=Zi.actions,pf=t=>t.issueTypeReducer.instances,Ji=u.createSelector(pf,t=>Object.values(t)),mf=t=>e=>e.issueTypeReducer.instances[t],yf=m(u.createSelector([Ji,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),MM=m(u.createSelector([Ji,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),ff=Zi.reducer,Re=b(t=>t.uuid),Sf={instances:{}},Qi=u.createSlice({name:"issueTypeStatuses",initialState:Sf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Sf)),reducers:{initializeIssueTypeStatuses:Re.initialize,addIssueTypeStatus:Re.addOne,addIssueTypeStatuses:Re.addMany,setIssueTypeStatus:Re.setOne,setIssueTypeStatuses:Re.setMany,updateIssueTypeStatus:Re.updateOne,updateIssueTypeStatuses:Re.updateMany,deleteIssueTypeStatus:Re.deleteOne,deleteIssueTypeStatuses:Re.deleteMany}}),{initializeIssueTypeStatuses:Af,addIssueTypeStatus:Tf,addIssueTypeStatuses:If,setIssueTypeStatus:bf,setIssueTypeStatuses:Of,updateIssueTypeStatus:Pf,updateIssueTypeStatuses:Ff,deleteIssueTypeStatus:_f,deleteIssueTypeStatuses:Mf}=Qi.actions,gf=t=>t.issueTypeStatusReducer.instances,xi=u.createSelector([gf],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.issueTypeStatusSortFn))),ea=t=>e=>e.issueTypeStatusReducer.instances[t],Rf=m(u.createSelector([xi,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),gM=m(u.createSelector([xi,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue_type===e)))),wf=Qi.reducer,we=b(t=>t.uuid),Ef={instances:{}},ta=u.createSlice({name:"issueUpdates",initialState:Ef,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,Ef)),reducers:{initializeIssueUpdates:we.initialize,addIssueUpdate:we.addOne,addIssueUpdates:we.addMany,setIssueUpdate:we.setOne,setIssueUpdates:we.setMany,updateIssueUpdate:we.updateOne,updateIssueUpdates:we.updateMany,deleteIssueUpdate:we.deleteOne,deleteIssueUpdates:we.deleteMany}}),{initializeIssueUpdates:vf,addIssueUpdate:sa,addIssueUpdates:ia,setIssueUpdate:Vf,setIssueUpdates:Bf,updateIssueUpdate:zf,updateIssueUpdates:jf,deleteIssueUpdate:aa,deleteIssueUpdates:na}=ta.actions,ca=t=>t.issueUpdateReducer.instances,ra=u.createSelector([ca],t=>Object.values(t)),Cf=m(u.createSelector([ca,(t,e)=>e],(t,e)=>t[e])),Df=m(u.createSelector([ra,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),qf=m(u.createSelector([ra,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.issue===e)))),$f=ta.reducer,Ee=b(t=>t.id),Uf={instances:{},currentUser:null},da=u.createSlice({name:"users",initialState:Uf,extraReducers:t=>t.addCase(T,e=>Object.assign(e,Uf)).addCase(O,e=>Object.assign(e,{...e,instances:[]})),reducers:{initializeUsers:Ee.initialize,setUsers:Ee.setMany,setUser:Ee.setOne,addUsers:Ee.addMany,addUser:Ee.addOne,updateUsers:Ee.updateMany,updateUser:Ee.updateOne,deleteUser:Ee.deleteOne,deleteUsers:Ee.deleteMany,setCurrentUser:(t,e)=>{t.currentUser=e.payload},setCurrentUserProfile:(t,e)=>{if(!t.currentUser)return;t.currentUser.profile=e.payload;const i=t.instances[t.currentUser.id];if(!i)throw new Error("Unable to find current user in users slice");i.profile=e.payload}}}),{initializeUsers:kf,setUsers:Lf,setUser:Hf,addUsers:Gf,addUser:ua,updateUsers:Nf,updateUser:Kf,deleteUser:la,deleteUsers:Wf,setCurrentUser:RM,setCurrentUserProfile:wM}=da.actions,Xf=da.reducer,Yf=t=>t.userReducer.currentUser,oa=t=>t.userReducer.instances,Qt=u.createSelector([oa],t=>Object.values(t)),xt=t=>e=>e.userReducer.instances[t],Zf=m(u.createSelector([Qt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({id:a})=>i.has(a)))})),ve=b(t=>t.uuid),Jf={instances:{}},ha=u.createSlice({name:"organizationAccess",initialState:Jf,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,Jf)),reducers:{initializeOrganizationAccesses:ve.initialize,addOrganizationAccess:ve.addOne,addOrganizationAccesses:ve.addMany,setOrganizationAccess:ve.setOne,setOrganizationAccesses:ve.setMany,updateOrganizationAccess:ve.updateOne,updateOrganizationAccesses:ve.updateMany,deleteOrganizationAccess:ve.deleteOne,deleteOrganizationAccesses:ve.deleteMany}}),{initializeOrganizationAccesses:Qf,addOrganizationAccess:xf,addOrganizationAccesses:eS,setOrganizationAccess:tS,setOrganizationAccesses:sS,updateOrganizationAccess:iS,updateOrganizationAccesses:aS,deleteOrganizationAccess:nS,deleteOrganizationAccesses:cS}=ha.actions,rS=ha.reducer,es=t=>t.organizationAccessReducer.instances,dS=t=>e=>e.organizationAccessReducer.instances[t],uS=m(u.createSelector([es,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(Object.values(t).filter(({uuid:a})=>i.has(a)))})),EM=u.createSelector([Yf,es],(t,e)=>Object.values(e).find(a=>a.user===t?.id)??null),lS=u.createSelector([es],t=>{const e={};for(const i of Object.values(t))e[i.user]=i;return l.fallbackToEmptyObject(e)}),vM=m(u.createSelector([oa,lS,(t,e)=>e],(t,e,i)=>l.fallbackToEmptyArray(Object.values(t).filter(a=>{const n=e[a.id];return!!n&&n.organization===i})))),Ve=b(t=>t.uuid),oS={instances:{}},pa=u.createSlice({name:"organizations",initialState:oS,extraReducers:t=>t.addMatcher(u.isAnyOf(T),e=>Object.assign(e,oS)),reducers:{initializeOrganizations:Ve.initialize,setOrganizations:Ve.setMany,setOrganization:Ve.setOne,addOrganizations:Ve.addMany,addOrganization:Ve.addOne,updateOrganizations:Ve.updateMany,updateOrganization:Ve.updateOne,deleteOrganization:Ve.deleteOne,deleteOrganizations:Ve.deleteMany}}),{initializeOrganizations:hS,setOrganizations:pS,setOrganization:mS,addOrganizations:yS,addOrganization:fS,updateOrganizations:SS,updateOrganization:AS,deleteOrganization:TS,deleteOrganizations:IS}=pa.actions,bS=t=>t.organizationReducer.instances,OS=u.createSelector([bS],t=>Object.values(t)),PS=t=>e=>e.organizationReducer.instances[t],FS=m(u.createSelector([OS,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),_S=pa.reducer,MS=(t,e,i)=>{const a=t.uuid?t:{...t,uuid:ut.v4()};return{payload:a,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:a,BASE_URL:e,serviceName:i}}}}},gS={deletedRequests:[],latestRetryTime:0},ma=u.createSlice({name:"outbox",initialState:gS,extraReducers:t=>t.addCase(T,e=>Object.assign(e,gS)),reducers:{enqueueRequest:{reducer:(t,e)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t.url);const{BASE_URL:e,serviceName:i,...a}=t;return MS(a,e,i)}},markForDeletion(t,e){t.deletedRequests.push(e.payload)},markAsDeleted(t,e){const i=t.deletedRequests.indexOf(e.payload);i!==-1&&t.deletedRequests.splice(i,1)},_setLatestRetryTime:(t,e)=>{t.latestRetryTime=e.payload}}}),VM=t=>t.outboxReducer.deletedRequests,BM=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:RS,markForDeletion:zM,markAsDeleted:wS,_setLatestRetryTime:ES}=ma.actions,vS=ma.reducer,Be=b(t=>t.uuid),VS={instances:{}},ya=u.createSlice({name:"projectAccess",initialState:VS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,VS)),reducers:{initializeProjectAccesses:Be.initialize,addProjectAccess:Be.addOne,addProjectAccesses:Be.addMany,setProjectAccess:Be.setOne,setProjectAccesses:Be.setMany,updateProjectAccess:Be.updateOne,updateProjectAccesses:Be.updateMany,deleteProjectAccess:Be.deleteOne,deleteProjectAccesses:Be.deleteMany}}),{initializeProjectAccesses:BS,addProjectAccess:zS,addProjectAccesses:jS,setProjectAccess:CS,setProjectAccesses:DS,updateProjectAccess:qS,updateProjectAccesses:$S,deleteProjectAccess:US,deleteProjectAccesses:kS}=ya.actions,LS=ya.reducer,fa=t=>t.projectAccessReducer.instances,Rt=u.createSelector(fa,t=>Object.values(t)),HS=t=>e=>e.projectAccessReducer.instances[t],GS=m(u.createSelector([Rt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),jM=m(u.createSelector([fa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(Object.values(t).filter(i=>i.project===e)))),CM=m(u.createSelector([Rt,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.project===e))i[a.user]=a;return i})),DM=m(u.createSelector([Qt,Rt,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.project===i).map(n=>n.user));return l.fallbackToEmptyArray(t.filter(n=>a.has(n.id)))})),ze=b(t=>t.uuid),NS={instances:{}},Sa=u.createSlice({name:"projectAttachments",initialState:NS,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,NS)),reducers:{initializeProjectAttachments:ze.initialize,addProjectAttachment:ze.addOne,addProjectAttachments:ze.addMany,setProjectAttachment:ze.setOne,setProjectAttachments:ze.setMany,updateProjectAttachment:ze.updateOne,updateProjectAttachments:ze.updateMany,deleteProjectAttachment:ze.deleteOne,deleteProjectAttachments:ze.deleteMany}}),{initializeProjectAttachments:KS,addProjectAttachment:WS,addProjectAttachments:XS,setProjectAttachment:YS,setProjectAttachments:ZS,updateProjectAttachment:JS,updateProjectAttachments:QS,deleteProjectAttachment:xS,deleteProjectAttachments:eA}=Sa.actions,tA=t=>t.projectAttachmentReducer.instances,Aa=u.createSelector([tA],t=>Object.values(t)),sA=t=>e=>e.projectAttachmentReducer.instances[t],iA=m(u.createSelector([Aa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),qM=m(u.createSelector([Aa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({project:i})=>e===i)))),aA=Sa.reducer,je=b(t=>t.uuid),nA={instances:{}},Ta=u.createSlice({name:"projectComments",initialState:nA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,nA)),reducers:{initializeProjectComments:je.initialize,addProjectComment:je.addOne,addProjectComments:je.addMany,setProjectComment:je.setOne,setProjectComments:je.setMany,updateProjectComment:je.updateOne,updateProjectComments:je.updateMany,deleteProjectComment:je.deleteOne,deleteProjectComments:je.deleteMany}}),{initializeProjectComments:cA,addProjectComment:rA,addProjectComments:dA,setProjectComment:uA,setProjectComments:lA,updateProjectComment:oA,updateProjectComments:hA,deleteProjectComment:pA,deleteProjectComments:mA}=Ta.actions,yA=t=>t.projectCommentReducer.instances,ts=u.createSelector([yA],t=>l.fallbackToEmptyArray(Object.values(t).toSorted(l.submittedAtModelSortFn))),fA=t=>e=>e.projectCommentReducer.instances[t],SA=m(u.createSelector([ts,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),$M=m(u.createSelector([ts,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),UM=m(u.createSelector([ts,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(a=>i.has(a.project)))})),AA=Ta.reducer,Ce=b(t=>t.uuid),TA={instances:{}},Ia=u.createSlice({name:"projectFiles",initialState:TA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,TA)),reducers:{initializeProjectFiles:Ce.initialize,setProjectFile:Ce.setOne,setProjectFiles:Ce.setMany,addProjectFile:Ce.addOne,addProjectFiles:Ce.addMany,updateProjectFile:Ce.updateOne,updateProjectFiles:Ce.updateMany,deleteProjectFile:Ce.deleteOne,deleteProjectFiles:Ce.deleteMany}}),{initializeProjectFiles:IA,setProjectFile:bA,setProjectFiles:OA,addProjectFile:PA,addProjectFiles:FA,updateProjectFile:_A,updateProjectFiles:MA,deleteProjectFile:gA,deleteProjectFiles:RA}=Ia.actions,wA=t=>t.projectFileReducer.instances,EA=u.createSelector([wA],t=>l.fallbackToEmptyArray(Object.values(t).toSorted((e,i)=>e.z_index-i.z_index))),vA=t=>e=>e.projectFileReducer.instances[t],VA=m(u.createSelector([EA,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),BA=Ia.reducer,De=b(t=>t.uuid),zA={instances:{}},ba=u.createSlice({name:"projects",initialState:zA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,zA)),reducers:{initializeProjects:De.initialize,setProjects:De.setMany,setProject:De.setOne,addProjects:De.addMany,addProject:De.addOne,updateProjects:De.updateMany,updateProject:De.updateOne,deleteProject:De.deleteOne,deleteProjects:De.deleteMany}}),{initializeProjects:jA,setProjects:CA,setProject:DA,addProjects:qA,addProject:$A,updateProjects:UA,updateProject:kA,deleteProject:LA,deleteProjects:HA}=ba.actions,GA=ba.reducer,NA=t=>t.projectReducer.instances,ss=u.createSelector([NA],t=>Object.values(t)),KA=t=>e=>e.projectReducer.instances[t],WA=m(u.createSelector([ss,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),kM=m(u.createSelector([ss,Rt,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.user===i).map(n=>n.project));return l.fallbackToEmptyArray(t.filter(n=>a.has(n.uuid)))})),LM=m(u.createSelector([ss,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),qe=b(({uuid:t})=>t),XA={instances:{}},Oa=u.createSlice({name:"procedureInitiatives",initialState:XA,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,XA)),reducers:{initializeProcedureInitiatives:qe.initialize,addProcedureInitiative:qe.addOne,addProcedureInitiatives:qe.addMany,setProcedureInitiative:qe.setOne,setProcedureInitiatives:qe.setMany,updateProcedureInitiative:qe.updateOne,updateProcedureInitiatives:qe.updateMany,deleteProcedureInitiative:qe.deleteOne,deleteProcedureInitiatives:qe.deleteMany}}),{initializeProcedureInitiatives:YA,addProcedureInitiative:ZA,addProcedureInitiatives:JA,setProcedureInitiative:QA,setProcedureInitiatives:xA,updateProcedureInitiative:eT,updateProcedureInitiatives:tT,deleteProcedureInitiative:sT,deleteProcedureInitiatives:iT}=Oa.actions,aT=Oa.reducer,nT=t=>t.procedureInitiativeReducer.instances,is=u.createSelector([nT],t=>Object.values(t)),cT=t=>e=>e.procedureInitiativeReducer.instances[t],rT=m(u.createSelector([is,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),HM=m(u.createSelector([is,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),GM=m(u.createSelector([is,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),$e=b(({uuid:t})=>t),dT={instances:{}},Pa=u.createSlice({name:"procedures",initialState:dT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,dT)),reducers:{initializeProcedures:$e.initialize,addProcedure:$e.addOne,addProcedures:$e.addMany,setProcedure:$e.setOne,setProcedures:$e.setMany,updateProcedure:$e.updateOne,updateProcedures:$e.updateMany,deleteProcedure:$e.deleteOne,deleteProcedures:$e.deleteMany}}),{initializeProcedures:uT,addProcedure:lT,addProcedures:bt,setProcedure:oT,setProcedures:hT,updateProcedure:pT,updateProcedures:mT,deleteProcedure:yT,deleteProcedures:Ot}=Pa.actions,fT=Pa.reducer,ST=t=>t.procedureReducer.instances,ht=u.createSelector([ST],t=>Object.values(t)),AT=t=>e=>e.procedureReducer.instances[t],TT=m(u.createSelector([ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),NM=m(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.project===e)))),IT=m(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),bT=m(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.asset===e)))),OT=m(u.createSelector([ht,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({asset:a})=>i.has(a)))})),PT=m(u.createSelector([ht,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_initiative===e)))),Ue=b(t=>t.uuid),FT={instances:{}},Fa=u.createSlice({name:"procedureStepAssignees",initialState:FT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,FT)),reducers:{initializeProcedureStepAssignees:Ue.initialize,addProcedureStepAssignee:Ue.addOne,addProcedureStepAssignees:Ue.addMany,setProcedureStepAssignee:Ue.setOne,setProcedureStepAssignees:Ue.setMany,updateProcedureStepAssignee:Ue.updateOne,updateProcedureStepAssignees:Ue.updateMany,deleteProcedureStepAssignee:Ue.deleteOne,deleteProcedureStepAssignees:Ue.deleteMany}}),{initializeProcedureStepAssignees:_T,addProcedureStepAssignee:MT,addProcedureStepAssignees:gT,setProcedureStepAssignee:RT,setProcedureStepAssignees:wT,updateProcedureStepAssignee:ET,updateProcedureStepAssignees:vT,deleteProcedureStepAssignee:VT,deleteProcedureStepAssignees:BT}=Fa.actions,zT=t=>t.procedureStepAssigneeReducer.instances,wt=u.createSelector([zT],t=>Object.values(t)),jT=t=>e=>e.procedureStepAssigneeReducer.instances[t],CT=m(u.createSelector([wt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),KM=m(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),WM=m(u.createSelector([wt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),XM=m(u.createSelector([wt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),DT=Fa.reducer,ke=b(t=>t.uuid),qT={instances:{}},_a=u.createSlice({name:"procedureStepComments",initialState:qT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,qT)),reducers:{initializeProcedureStepComments:ke.initialize,addProcedureStepComment:ke.addOne,addProcedureStepComments:ke.addMany,setProcedureStepComment:ke.setOne,setProcedureStepComments:ke.setMany,updateProcedureStepComment:ke.updateOne,updateProcedureStepComments:ke.updateMany,deleteProcedureStepComment:ke.deleteOne,deleteProcedureStepComments:ke.deleteMany}}),{initializeProcedureStepComments:$T,addProcedureStepComment:UT,addProcedureStepComments:kT,setProcedureStepComment:LT,setProcedureStepComments:HT,updateProcedureStepComment:GT,updateProcedureStepComments:NT,deleteProcedureStepComment:KT,deleteProcedureStepComments:WT}=_a.actions,XT=t=>t.procedureStepCommentReducer.instances,Et=u.createSelector([XT],t=>Object.values(t)),YT=t=>e=>e.procedureStepCommentReducer.instances[t],ZT=m(u.createSelector([Et,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),YM=m(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),ZM=m(u.createSelector([Et,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),JM=m(u.createSelector([Et,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),JT=_a.reducer,Le=b(t=>t.uuid),QT={instances:{}},Ma=u.createSlice({name:"procedureStepDefaultAssignees",initialState:QT,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,QT)),reducers:{initializeProcedureStepDefaultAssignees:Le.initialize,addProcedureStepDefaultAssignee:Le.addOne,addProcedureStepDefaultAssignees:Le.addMany,setProcedureStepDefaultAssignee:Le.setOne,setProcedureStepDefaultAssignees:Le.setMany,updateProcedureStepDefaultAssignee:Le.updateOne,updateProcedureStepDefaultAssignees:Le.updateMany,deleteProcedureStepDefaultAssignee:Le.deleteOne,deleteProcedureStepDefaultAssignees:Le.deleteMany}}),{initializeProcedureStepDefaultAssignees:xT,addProcedureStepDefaultAssignee:eI,addProcedureStepDefaultAssignees:tI,setProcedureStepDefaultAssignee:sI,setProcedureStepDefaultAssignees:iI,updateProcedureStepDefaultAssignee:aI,updateProcedureStepDefaultAssignees:nI,deleteProcedureStepDefaultAssignee:cI,deleteProcedureStepDefaultAssignees:rI}=Ma.actions,dI=t=>t.procedureStepDefaultAssigneeReducer.instances,ga=u.createSelector([dI],t=>Object.values(t)),uI=t=>e=>e.procedureStepDefaultAssigneeReducer.instances[t],lI=m(u.createSelector([ga,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),QM=m(u.createSelector([ga,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),oI=Ma.reducer,He=b(t=>t.uuid),hI={instances:{}},Ra=u.createSlice({name:"procedureStepDefaultReviewers",initialState:hI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,hI)),reducers:{initializeProcedureStepDefaultReviewers:He.initialize,addProcedureStepDefaultReviewer:He.addOne,addProcedureStepDefaultReviewers:He.addMany,setProcedureStepDefaultReviewer:He.setOne,setProcedureStepDefaultReviewers:He.setMany,updateProcedureStepDefaultReviewer:He.updateOne,updateProcedureStepDefaultReviewers:He.updateMany,deleteProcedureStepDefaultReviewer:He.deleteOne,deleteProcedureStepDefaultReviewers:He.deleteMany}}),{initializeProcedureStepDefaultReviewers:pI,addProcedureStepDefaultReviewer:mI,addProcedureStepDefaultReviewers:yI,setProcedureStepDefaultReviewer:fI,setProcedureStepDefaultReviewers:SI,updateProcedureStepDefaultReviewer:AI,updateProcedureStepDefaultReviewers:TI,deleteProcedureStepDefaultReviewer:II,deleteProcedureStepDefaultReviewers:bI}=Ra.actions,OI=t=>t.procedureStepDefaultReviewerReducer.instances,wa=u.createSelector([OI],t=>Object.values(t)),PI=t=>e=>e.procedureStepDefaultReviewerReducer.instances[t],FI=m(u.createSelector([wa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),xM=m(u.createSelector([wa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),_I=Ra.reducer,Ge=b(t=>t.uuid),MI={instances:{}},Ea=u.createSlice({name:"procedureStepEvents",initialState:MI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,MI)),reducers:{initializeProcedureStepEvents:Ge.initialize,addProcedureStepEvent:Ge.addOne,addProcedureStepEvents:Ge.addMany,setProcedureStepEvent:Ge.setOne,setProcedureStepEvents:Ge.setMany,updateProcedureStepEvent:Ge.updateOne,updateProcedureStepEvents:Ge.updateMany,deleteProcedureStepEvent:Ge.deleteOne,deleteProcedureStepEvents:Ge.deleteMany}}),{initializeProcedureStepEvents:gI,addProcedureStepEvent:RI,addProcedureStepEvents:wI,setProcedureStepEvent:EI,setProcedureStepEvents:vI,updateProcedureStepEvent:VI,updateProcedureStepEvents:BI,deleteProcedureStepEvent:zI,deleteProcedureStepEvents:jI}=Ea.actions,CI=t=>t.procedureStepEventReducer.instances,vt=u.createSelector([CI],t=>Object.values(t)),DI=t=>e=>e.procedureStepEventReducer.instances[t],qI=m(u.createSelector([vt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),eg=m(u.createSelector([vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),tg=m(u.createSelector([vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),sg=m(u.createSelector([vt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),$I=Ea.reducer,Ne=b(t=>t.uuid),UI={instances:{}},va=u.createSlice({name:"procedureStepFieldsAttachments",initialState:UI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,UI)),reducers:{initializeProcedureStepFieldsAttachments:Ne.initialize,addProcedureStepFieldsAttachment:Ne.addOne,addProcedureStepFieldsAttachments:Ne.addMany,setProcedureStepFieldsAttachment:Ne.setOne,setProcedureStepFieldsAttachments:Ne.setMany,updateProcedureStepFieldsAttachment:Ne.updateOne,updateProcedureStepFieldsAttachments:Ne.updateMany,deleteProcedureStepFieldsAttachment:Ne.deleteOne,deleteProcedureStepFieldsAttachments:Ne.deleteMany}}),{initializeProcedureStepFieldsAttachments:kI,addProcedureStepFieldsAttachment:LI,addProcedureStepFieldsAttachments:Va,setProcedureStepFieldsAttachment:HI,setProcedureStepFieldsAttachments:GI,updateProcedureStepFieldsAttachment:NI,updateProcedureStepFieldsAttachments:KI,deleteProcedureStepFieldsAttachment:WI,deleteProcedureStepFieldsAttachments:Ba}=va.actions,XI=t=>t.procedureStepFieldsAttachmentReducer.instances,za=u.createSelector([XI],t=>Object.values(t)),YI=m(u.createSelector([za,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),ZI=t=>e=>e.procedureStepFieldsAttachmentReducer.instances[t],JI=m(u.createSelector([za,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),QI=va.reducer,Ke=b(t=>t.uuid),xI={instances:{}},ja=u.createSlice({name:"procedureStepFields",initialState:xI,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,xI)),reducers:{initializeProcedureStepFields:Ke.initialize,addProcedureStepFields:Ke.addOne,addProcedureStepFieldsMany:Ke.addMany,setProcedureStepFields:Ke.setOne,setProcedureStepFieldsMany:Ke.setMany,updateProcedureStepFields:Ke.updateOne,updateProcedureStepFieldsMany:Ke.updateMany,deleteProcedureStepFields:Ke.deleteOne,deleteProcedureStepFieldsMany:Ke.deleteMany}}),{initializeProcedureStepFields:eb,addProcedureStepFields:tb,addProcedureStepFieldsMany:sb,setProcedureStepFields:ib,setProcedureStepFieldsMany:ab,updateProcedureStepFields:nb,updateProcedureStepFieldsMany:cb,deleteProcedureStepFields:rb,deleteProcedureStepFieldsMany:db}=ja.actions,Ca=t=>t.procedureStepFieldsReducer.instances,as=u.createSelector([Ca],t=>Object.values(t)),ig=m(u.createSelector([as,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),ag=m(u.createSelector([as,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_step===e).toSorted(l.submittedAtModelSortFn).pop())),ng=u.createSelector([Ca],t=>{const e={};for(const i of Object.values(t)){const a=e[i.procedure_step];(!a||a.submitted_at<i.submitted_at)&&(e[i.procedure_step]=i)}return e}),ub=t=>e=>e.procedureStepFieldsReducer.instances[t],lb=m(u.createSelector([as,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),ob=ja.reducer,We=b(t=>t.uuid),hb={instances:{}},Da=u.createSlice({name:"procedureStepFieldValuesAttachments",initialState:hb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,hb)),reducers:{initializeProcedureStepFieldValuesAttachments:We.initialize,addProcedureStepFieldValuesAttachment:We.addOne,addProcedureStepFieldValuesAttachments:We.addMany,setProcedureStepFieldValuesAttachment:We.setOne,setProcedureStepFieldValuesAttachments:We.setMany,updateProcedureStepFieldValuesAttachment:We.updateOne,updateProcedureStepFieldValuesAttachments:We.updateMany,deleteProcedureStepFieldValuesAttachment:We.deleteOne,deleteProcedureStepFieldValuesAttachments:We.deleteMany}}),{initializeProcedureStepFieldValuesAttachments:pb,addProcedureStepFieldValuesAttachment:mb,addProcedureStepFieldValuesAttachments:qa,setProcedureStepFieldValuesAttachment:yb,setProcedureStepFieldValuesAttachments:fb,updateProcedureStepFieldValuesAttachment:Sb,updateProcedureStepFieldValuesAttachments:Ab,deleteProcedureStepFieldValuesAttachment:Tb,deleteProcedureStepFieldValuesAttachments:$a}=Da.actions,Ib=t=>t.procedureStepFieldValuesAttachmentReducer.instances,Ua=u.createSelector([Ib],t=>Object.values(t)),bb=t=>e=>e.procedureStepFieldValuesAttachmentReducer.instances[t],Ob=m(u.createSelector([Ua,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Pb=m(u.createSelector([Ua,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),Fb=Da.reducer,Xe=b(t=>t.uuid),_b={instances:{}},ka=u.createSlice({name:"procedureStepFieldValues",initialState:_b,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,_b)),reducers:{initializeProcedureStepFieldValues:Xe.initialize,addProcedureStepFieldValues:Xe.addOne,addProcedureStepFieldValuesMany:Xe.addMany,setProcedureStepFieldValues:Xe.setOne,setProcedureStepFieldValuesMany:Xe.setMany,updateProcedureStepFieldValues:Xe.updateOne,updateProcedureStepFieldValuesMany:Xe.updateMany,deleteProcedureStepFieldValues:Xe.deleteOne,deleteProcedureStepFieldValuesMany:Xe.deleteMany}}),{initializeProcedureStepFieldValues:Mb,addProcedureStepFieldValues:gb,addProcedureStepFieldValuesMany:Rb,setProcedureStepFieldValues:wb,setProcedureStepFieldValuesMany:Eb,updateProcedureStepFieldValues:vb,updateProcedureStepFieldValuesMany:Vb,deleteProcedureStepFieldValues:Bb,deleteProcedureStepFieldValuesMany:zb}=ka.actions,jb=ka.reducer,Cb=t=>t.procedureStepFieldValuesReducer.instances,pt=u.createSelector([Cb],t=>Object.values(t)),cg=m(u.createSelector([pt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),rg=m(u.createSelector([pt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),Db=t=>e=>e.procedureStepFieldValuesReducer.instances[t],qb=m(u.createSelector([pt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),dg=m(u.createSelector([pt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),Ye=b(t=>t.uuid),$b={instances:{}},La=u.createSlice({name:"procedureStepFieldValuesReviews",initialState:$b,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,$b)),reducers:{initializeProcedureStepFieldValuesReviews:Ye.initialize,addProcedureStepFieldValuesReview:Ye.addOne,addProcedureStepFieldValuesReviews:Ye.addMany,setProcedureStepFieldValuesReview:Ye.setOne,setProcedureStepFieldValuesReviews:Ye.setMany,updateProcedureStepFieldValuesReview:Ye.updateOne,updateProcedureStepFieldValuesReviews:Ye.updateMany,deleteProcedureStepFieldValuesReview:Ye.deleteOne,deleteProcedureStepFieldValuesReviews:Ye.deleteMany}}),{initializeProcedureStepFieldValuesReviews:Ub,addProcedureStepFieldValuesReview:kb,addProcedureStepFieldValuesReviews:Ha,setProcedureStepFieldValuesReview:Lb,setProcedureStepFieldValuesReviews:Hb,updateProcedureStepFieldValuesReview:Gb,updateProcedureStepFieldValuesReviews:Nb,deleteProcedureStepFieldValuesReview:Kb,deleteProcedureStepFieldValuesReviews:Ga}=La.actions,Wb=t=>t.procedureStepFieldValuesReviewReducer.instances,mt=u.createSelector([Wb],t=>Object.values(t)),Xb=t=>e=>e.procedureStepFieldValuesReviewReducer.instances[t],Yb=m(u.createSelector([mt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Zb=m(u.createSelector([mt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),ug=m(u.createSelector([mt,(t,e)=>e],(t,e)=>{let i;for(const a of t){const{field_values:n}=a;n===e&&(!i||i.submitted_at<=a.submitted_at)&&(i=a)}return i})),lg=m(u.createSelector([pt,mt,(t,e)=>e],(t,e,i)=>{const a=new Set(l.toUuidArray(t.filter(({procedure:n})=>i===n)));return l.fallbackToEmptyArray(e.filter(({field_values:n})=>a.has(n)))})),og=m(u.createSelector([pt,mt,(t,e)=>e,(t,e,i)=>i],(t,e,i,a)=>{const n=new Set(l.toUuidArray(t.filter(({procedure_step:c,procedure:d})=>i===d&&c===a)));return l.fallbackToEmptyArray(e.filter(({field_values:c})=>n.has(c)))})),hg=u.createSelector([mt],t=>{const e={};for(const i of t){const{field_values:a}=i,n=e[a];(!n||n.submitted_at<=i.submitted_at)&&(e[a]=i)}return e}),Jb=La.reducer,Ze=b(t=>t.uuid),Qb={instances:{}},Na=u.createSlice({name:"procedureStepReviewers",initialState:Qb,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,Qb)),reducers:{initializeProcedureStepReviewers:Ze.initialize,addProcedureStepReviewer:Ze.addOne,addProcedureStepReviewers:Ze.addMany,setProcedureStepReviewer:Ze.setOne,setProcedureStepReviewers:Ze.setMany,updateProcedureStepReviewer:Ze.updateOne,updateProcedureStepReviewers:Ze.updateMany,deleteProcedureStepReviewer:Ze.deleteOne,deleteProcedureStepReviewers:Ze.deleteMany}}),{initializeProcedureStepReviewers:xb,addProcedureStepReviewer:eO,addProcedureStepReviewers:tO,setProcedureStepReviewer:sO,setProcedureStepReviewers:iO,updateProcedureStepReviewer:aO,updateProcedureStepReviewers:nO,deleteProcedureStepReviewer:cO,deleteProcedureStepReviewers:rO}=Na.actions,dO=t=>t.procedureStepReviewerReducer.instances,Vt=u.createSelector([dO],t=>Object.values(t)),uO=t=>e=>e.procedureStepReviewerReducer.instances[t],lO=m(u.createSelector([Vt,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),pg=m(u.createSelector([Vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),mg=m(u.createSelector([Vt,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_step===e)))),yg=m(u.createSelector([Vt,(t,e)=>e,(t,e,i)=>i],(t,e,i)=>l.fallbackToEmptyArray(t.filter(({procedure:a,procedure_step:n})=>a===e&&n===i)))),oO=Na.reducer,Je=b(t=>t.uuid),hO={instances:{}},Ka=u.createSlice({name:"procedureSteps",initialState:hO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,hO)),reducers:{initializeProcedureSteps:Je.initialize,setProcedureStep:Je.setOne,setProcedureSteps:Je.setMany,addProcedureStep:Je.addOne,addProcedureSteps:Je.addMany,updateProcedureStep:Je.updateOne,updateProcedureSteps:Je.updateMany,deleteProcedureStep:Je.deleteOne,deleteProcedureSteps:Je.deleteMany}}),{initializeProcedureSteps:pO,setProcedureStep:mO,setProcedureSteps:yO,addProcedureStep:fO,addProcedureSteps:SO,updateProcedureStep:AO,updateProcedureSteps:TO,deleteProcedureStep:IO,deleteProcedureSteps:bO}=Ka.actions,OO=Ka.reducer,Wa=t=>t.procedureStepReducer.instances,PO=t=>e=>e.procedureStepReducer.instances[t],Xa=u.createSelector([Wa],t=>Object.values(t).toSorted((e,i)=>e.order-i.order)),fg=m(u.createSelector([Wa,(t,e)=>e],(t,e)=>{const i={};for(const[a,n]of Object.entries(t))n.procedure_type===e&&(i[a]=n);return l.fallbackToEmptyObject(i)})),Sg=m(u.createSelector([Xa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),FO=m(u.createSelector([Xa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Qe=b(({uuid:t})=>t),_O={instances:{}},Ya=u.createSlice({name:"procedureTypeAttachments",initialState:_O,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,_O)),reducers:{initializeProcedureTypeAttachments:Qe.initialize,addProcedureTypeAttachment:Qe.addOne,addProcedureTypeAttachments:Qe.addMany,setProcedureTypeAttachment:Qe.setOne,setProcedureTypeAttachments:Qe.setMany,updateProcedureTypeAttachment:Qe.updateOne,updateProcedureTypeAttachments:Qe.updateMany,deleteProcedureTypeAttachment:Qe.deleteOne,deleteProcedureTypeAttachments:Qe.deleteMany}}),{initializeProcedureTypeAttachments:MO,addProcedureTypeAttachment:gO,addProcedureTypeAttachments:RO,setProcedureTypeAttachment:wO,setProcedureTypeAttachments:EO,updateProcedureTypeAttachment:vO,updateProcedureTypeAttachments:VO,deleteProcedureTypeAttachment:BO,deleteProcedureTypeAttachments:zO}=Ya.actions,jO=Ya.reducer,CO=t=>t.procedureTypeAttachmentReducer.instances,Za=u.createSelector([CO],t=>Object.values(t)),DO=t=>e=>e.procedureTypeAttachmentReducer.instances[t],qO=m(u.createSelector([Za,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Ag=m(u.createSelector([Za,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(({procedure_type:i})=>e===i)))),xe=b(({uuid:t})=>t),$O={instances:{}},Ja=u.createSlice({name:"procedureTypeFieldsAttachments",initialState:$O,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,$O)),reducers:{initializeProcedureTypeFieldsAttachments:xe.initialize,addProcedureTypeFieldsAttachment:xe.addOne,addProcedureTypeFieldsAttachments:xe.addMany,setProcedureTypeFieldsAttachment:xe.setOne,setProcedureTypeFieldsAttachments:xe.setMany,updateProcedureTypeFieldsAttachment:xe.updateOne,updateProcedureTypeFieldsAttachments:xe.updateMany,deleteProcedureTypeFieldsAttachment:xe.deleteOne,deleteProcedureTypeFieldsAttachments:xe.deleteMany}}),{initializeProcedureTypeFieldsAttachments:UO,addProcedureTypeFieldsAttachment:kO,addProcedureTypeFieldsAttachments:LO,setProcedureTypeFieldsAttachment:HO,setProcedureTypeFieldsAttachments:GO,updateProcedureTypeFieldsAttachment:NO,updateProcedureTypeFieldsAttachments:KO,deleteProcedureTypeFieldsAttachment:WO,deleteProcedureTypeFieldsAttachments:XO}=Ja.actions,YO=Ja.reducer,ZO=t=>t.procedureTypeFieldsAttachmentReducer.instances,Qa=u.createSelector([ZO],t=>Object.values(t)),Tg=m(u.createSelector([Qa,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.fields_revision===e)))),JO=t=>e=>e.procedureTypeFieldsAttachmentReducer.instances[t],QO=m(u.createSelector([Qa,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),et=b(({uuid:t})=>t),xO={instances:{}},xa=u.createSlice({name:"procedureTypeFields",initialState:xO,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,xO)),reducers:{initializeProcedureTypeFields:et.initialize,addProcedureTypeFields:et.addOne,addProcedureTypeFieldsMany:et.addMany,setProcedureTypeFields:et.setOne,setProcedureTypeFieldsMany:et.setMany,updateProcedureTypeFields:et.updateOne,updateProcedureTypeFieldsMany:et.updateMany,deleteProcedureTypeFields:et.deleteOne,deleteProcedureTypeFieldsMany:et.deleteMany}}),{initializeProcedureTypeFields:eP,addProcedureTypeFields:tP,addProcedureTypeFieldsMany:sP,setProcedureTypeFields:iP,setProcedureTypeFieldsMany:aP,updateProcedureTypeFields:nP,updateProcedureTypeFieldsMany:cP,deleteProcedureTypeFields:rP,deleteProcedureTypeFieldsMany:dP}=xa.actions,uP=xa.reducer,lP=t=>t.procedureTypeFieldsReducer.instances,ns=u.createSelector([lP],t=>Object.values(t)),Ig=m(u.createSelector([ns,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure_type===e)))),bg=m(u.createSelector([ns,(t,e)=>e],(t,e)=>t.filter(i=>i.procedure_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),oP=t=>e=>e.procedureTypeFieldsReducer.instances[t],hP=m(u.createSelector([ns,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),tt=b(({uuid:t})=>t),pP={instances:{}},en=u.createSlice({name:"procedureFieldValuesAttachments",initialState:pP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,pP)),reducers:{initializeProcedureFieldValuesAttachments:tt.initialize,addProcedureFieldValuesAttachment:tt.addOne,addProcedureFieldValuesAttachments:tt.addMany,setProcedureFieldValuesAttachment:tt.setOne,setProcedureFieldValuesAttachments:tt.setMany,updateProcedureFieldValuesAttachment:tt.updateOne,updateProcedureFieldValuesAttachments:tt.updateMany,deleteProcedureFieldValuesAttachment:tt.deleteOne,deleteProcedureFieldValuesAttachments:tt.deleteMany}}),{initializeProcedureFieldValuesAttachments:mP,addProcedureFieldValuesAttachment:yP,addProcedureFieldValuesAttachments:tn,setProcedureFieldValuesAttachment:fP,setProcedureFieldValuesAttachments:SP,updateProcedureFieldValuesAttachment:AP,updateProcedureFieldValuesAttachments:TP,deleteProcedureFieldValuesAttachment:IP,deleteProcedureFieldValuesAttachments:sn}=en.actions,bP=en.reducer,OP=t=>t.procedureFieldValuesAttachmentReducer.instances,an=u.createSelector([OP],t=>Object.values(t)),PP=t=>e=>e.procedureFieldValuesAttachmentReducer.instances[t],FP=m(u.createSelector([an,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),_P=m(u.createSelector([an,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.field_values===e)))),st=b(({uuid:t})=>t),MP={instances:{}},nn=u.createSlice({name:"procedureFieldValues",initialState:MP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,MP)),reducers:{initializeProcedureFieldValues:st.initialize,addProcedureFieldValues:st.addOne,addProcedureFieldValuesMany:st.addMany,setProcedureFieldValues:st.setOne,setProcedureFieldValuesMany:st.setMany,updateProcedureFieldValues:st.updateOne,updateProcedureFieldValuesMany:st.updateMany,deleteProcedureFieldValues:st.deleteOne,deleteProcedureFieldValuesMany:st.deleteMany}}),{initializeProcedureFieldValues:gP,addProcedureFieldValues:RP,addProcedureFieldValuesMany:wP,setProcedureFieldValues:EP,setProcedureFieldValuesMany:vP,updateProcedureFieldValues:VP,updateProcedureFieldValuesMany:BP,deleteProcedureFieldValues:zP,deleteProcedureFieldValuesMany:jP}=nn.actions,CP=nn.reducer,DP=t=>t.procedureFieldValuesReducer.instances,cn=u.createSelector([DP],t=>Object.values(t)),Og=m(u.createSelector([cn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.procedure===e)))),qP=t=>e=>e.procedureFieldValuesReducer.instances[t],$P=m(u.createSelector([cn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),it=b(t=>t.uuid),UP={instances:{}},rn=u.createSlice({name:"procedureTypes",initialState:UP,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,UP)),reducers:{initializeProcedureTypes:it.initialize,addProcedureType:it.addOne,addProcedureTypes:it.addMany,setProcedureType:it.setOne,setProcedureTypes:it.setMany,updateProcedureType:it.updateOne,updateProcedureTypes:it.updateMany,deleteProcedureType:it.deleteOne,deleteProcedureTypes:it.deleteMany}}),{initializeProcedureTypes:kP,addProcedureType:LP,addProcedureTypes:HP,setProcedureType:GP,setProcedureTypes:NP,updateProcedureType:KP,updateProcedureTypes:WP,deleteProcedureType:XP,deleteProcedureTypes:YP}=rn.actions,ZP=rn.reducer,JP=t=>t.procedureTypeReducer.instances,dn=u.createSelector([JP],t=>Object.values(t)),QP=t=>e=>e.procedureTypeReducer.instances[t],xP=m(u.createSelector([dn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),Pg=m(u.createSelector([dn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),Fg={isRehydrated:!1},un=u.createSlice({name:"rehydrated",initialState:Fg,reducers:{setRehydrated:(t,e)=>{t.isRehydrated=e.payload}}}),{setRehydrated:_g}=un.actions,Mg=t=>t.rehydratedReducer.isRehydrated,eF=un.reducer,at=b(t=>t.uuid),tF={instances:{}},ln=u.createSlice({name:"reports",initialState:tF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,E,O),e=>Object.assign(e,tF)),reducers:{initializeReports:at.initialize,addReport:at.addOne,addReports:at.addMany,setReport:at.setOne,setReports:at.setMany,updateReport:at.updateOne,updateReports:at.updateMany,deleteReport:at.deleteOne,deleteReports:at.deleteMany}}),{initializeReports:sF,addReport:iF,addReports:aF,setReport:nF,setReports:cF,updateReport:rF,updateReports:dF,deleteReport:uF,deleteReports:lF}=ln.actions,oF=t=>t.reportReducer.instances,hF=u.createSelector([oF],t=>l.fallbackToEmptyArray(Object.values(t))),pF=t=>e=>e.reportReducer.instances[t],mF=m(u.createSelector([hF,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),yF=ln.reducer,nt=b(t=>t.uuid),fF={instances:{}},on=u.createSlice({name:"teamMemberships",initialState:fF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,fF)),reducers:{initializeTeamMemberships:nt.initialize,addTeamMembership:nt.addOne,addTeamMemberships:nt.addMany,setTeamMembership:nt.setOne,setTeamMemberships:nt.setMany,updateTeamMembership:nt.updateOne,updateTeamMemberships:nt.updateMany,deleteTeamMembership:nt.deleteOne,deleteTeamMemberships:nt.deleteMany}}),{initializeTeamMemberships:SF,addTeamMembership:AF,addTeamMemberships:TF,setTeamMembership:IF,setTeamMemberships:bF,updateTeamMembership:OF,updateTeamMemberships:PF,deleteTeamMembership:FF,deleteTeamMemberships:_F}=on.actions,MF=on.reducer,gF=t=>t.teamMembershipReducer.instances,cs=u.createSelector([gF],t=>Object.values(t)),RF=t=>e=>e.teamMembershipReducer.instances[t],wF=m(u.createSelector([cs,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),gg=m(u.createSelector([cs,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.team===e))i[a.user]=a;return i})),Rg=m(u.createSelector([Qt,cs,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.team===i).map(n=>n.user));return l.fallbackToEmptyArray(t.filter(n=>a.has(n.id)))})),ct=b(t=>t.uuid),EF={instances:{}},hn=u.createSlice({name:"teams",initialState:EF,extraReducers:t=>t.addMatcher(u.isAnyOf(T,O),e=>Object.assign(e,EF)),reducers:{initializeTeams:ct.initialize,addTeam:ct.addOne,addTeams:ct.addMany,setTeam:ct.setOne,setTeams:ct.setMany,updateTeam:ct.updateOne,updateTeams:ct.updateMany,deleteTeam:ct.deleteOne,deleteTeams:ct.deleteMany}}),{initializeTeams:vF,addTeam:VF,addTeams:BF,setTeam:zF,setTeams:jF,updateTeam:CF,updateTeams:DF,deleteTeam:qF,deleteTeams:$F}=hn.actions,UF=t=>t.teamReducer.instances,pn=u.createSelector([UF],t=>Object.values(t)),kF=t=>e=>e.teamReducer.instances[t],LF=m(u.createSelector([pn,(t,e)=>e],(t,e)=>{const i=new Set(e);return l.fallbackToEmptyArray(t.filter(({uuid:a})=>i.has(a)))})),wg=m(u.createSelector([pn,(t,e)=>e],(t,e)=>l.fallbackToEmptyArray(t.filter(i=>i.organization===e)))),HF=hn.reducer,mn={outboxReducer:vS,authReducer:Wd},Eg=u.combineReducers(mn),GF={...mn,assetReducer:Rc,assetAttachmentReducer:kn,assetCommentAttachmentReducer:tc,assetCommentReducer:yc,assetTypeReducer:Ed,assetTypeAttachmentReducer:kc,issueReducer:xp,issueAttachmentReducer:pp,issueTypeReducer:ff,issueTypeAttachmentReducer:pm,organizationReducer:_S,projectReducer:GA,projectAttachmentReducer:aA,projectCommentReducer:AA,projectAccessReducer:LS,organizationAccessReducer:rS,projectFileReducer:BA,procedureTypeReducer:ZP,procedureInitiativeReducer:aT,procedureReducer:fT,procedureTypeFieldsReducer:uP,procedureFieldValuesReducer:CP,procedureTypeAttachmentReducer:jO,procedureTypeFieldsAttachmentReducer:YO,procedureFieldValuesAttachmentReducer:bP,procedureStepFieldsAttachmentReducer:QI,procedureStepFieldsReducer:ob,procedureStepFieldValuesAttachmentReducer:Fb,procedureStepFieldValuesReducer:jb,procedureStepFieldValuesReviewReducer:Jb,procedureStepAssigneeReducer:DT,procedureStepCommentReducer:JT,procedureStepDefaultAssigneeReducer:oI,procedureStepDefaultReviewerReducer:_I,procedureStepEventReducer:$I,procedureStepReviewerReducer:oO,procedureStepReducer:OO,rehydratedReducer:eF,reportReducer:yF,formReducer:co,formRevisionReducer:Cl,formRevisionAttachmentReducer:Pl,formSubscriberReducer:Yl,formSubmissionFieldValuesAttachmentReducer:bo,formSubmissionFieldValuesReducer:zo,formSubmissionCommentAttachmentReducer:Xo,formSubmissionCommentReducer:rh,formSubmissionReducer:Fh,formIdentifierReducer:Yu,formIdentifierValueReducer:ul,userReducer:Xf,emailDomainsReducer:ju,documentsReducer:Au,documentAttachmentReducer:ru,teamReducer:HF,agentsReducer:Rn,issueCommentReducer:Up,issueCommentAttachmentReducer:gp,issueUpdateReducer:$f,geoImageReducer:qh,issueAssociationReducer:ep,issueTypeFieldsReducer:ty,issueTypeFieldValuesReducer:km,issueTypeFieldsAttachmentReducer:gm,issueTypeFieldValuesAttachmentReducer:my,issueTypeIdentifierReducer:Ry,issueTypeIdentifierValueReducer:Ly,issueTypePriorityReducer:tf,issueTypeStatusReducer:wf,assetTypeFieldsReducer:yr,assetTypeFieldValuesReducer:Lr,assetTypeFieldsAttachmentReducer:tr,assetTypeFieldValuesAttachmentReducer:Rr,assetTypeIdentifierReducer:sd,assetTypeIdentifierValueReducer:fd,assetTypeStatusReducer:Gd,teamMembershipReducer:MF},vg=u.combineReducers(GF),NF=1e4,yn=[400,409,403,404,405,500],D=1e4,KF={};class WF{client;pageSize=NF;constructor(e){KF[this.constructor.name]=this,this.client=e}async performRequest(e,i){return this.client.performRequest(this.host,e,this,i)}async enqueueRequest(e){return this.client.enqueueRequest(e,this.host,this.constructor.name)}async performPagination(e,i){return this.client.performPagination(this.host,e,this.pageSize,this,i)}dispatch(e){this.client.store.dispatch(e)}select(e){return e(this.client.store.getState())}}const Vg=t=>{if(t)throw t;const e=Ft();e?e.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},XF=(t,e,i)=>{const a=ft();return a?(a.addRequest(e),a.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},YF=(t,e,i)=>{const a=ft();if(!a)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const c=e.meta.offlineAction.payload.uuid;return a.remove(c),a.getQueue()};async function Bg(t,e){if(!e.payload)throw new Error("Received empty payload");return A_(e)}const zg={...bn,effect:Bg,discard:JF,returnPromises:!0,persistCallback:Vg,retry:Dg,persistOptions:{storage:b_},queue:{...bn.queue,enqueue:XF,dequeue:YF,peek:(...t)=>Cg(...t)}},jg=I_.offline(zg);async function ZF(t,e,i){if(e.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const n=KF[t.meta.offline.effect.serviceName];if(!n)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return An(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,e,n,i)}function JF(t,e,i=0){if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
|
|
2
2
|
Url:`,e.payload.url,`
|
|
3
|
-
Retries:`,i),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const a=
|
|
4
|
-
Action:`,e);const f=
|
|
3
|
+
Retries:`,i),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const a=Ft(),c=a.getState().outboxReducer.deletedRequests,d=e.payload.uuid;function r(){a.dispatch(wS(d));const h=ft();if(!h)throw new Error("Outbox coordinator not set");h.remove(e.payload.uuid);const f=e.meta.offline.rollback;throw f&&(console.warn("Rolling back request due to SDK error:",e),a.dispatch(f)),t}if(t instanceof z&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",e.payload.url),r()),c.includes(d)&&(console.debug("Discarding request due to deletion:",e.payload.url),r()),t instanceof z){const h=t.status||t.response?.status;if(h||console.warn("Error has no status code:",t),t.options.discard!==!1&&h!==void 0&&yn.includes(h)){console.warn("Discarding request due to error:",t,`
|
|
4
|
+
Action:`,e);const f=ft();if(!f)throw new Error("Outbox coordinator not set");f.remove(e.payload.uuid),t.options.discard=!0,r()}}console.debug("Registering a retry for request:",e.payload.uuid);const p=ft();if(!p)throw new Error("Outbox coordinator not set");return p.registerRetry(e.payload.uuid),!1}function Cg(t,e,i){return ft()?.peek()}function Dg(t,e){return Ft().dispatch(ES(new Date().getTime())),6e4}const qg=500,QF=["non_field_errors","detail"];function $g(t,e){let i;if(t?.body)if(typeof t.body=="object"){const a=t.body;if(typeof a.error=="string")i=a.error;else if(typeof a.message=="string")i=a.message;else try{i=Object.entries(a).map(([n,c])=>typeof c=="string"?QF.includes(n)?c:`${n}: ${c}`:Array.isArray(c)?QF.includes(n)?c.join(`
|
|
5
5
|
`):c.map(d=>`${n}: ${d}`).join(`
|
|
6
6
|
`):`${n}: ${JSON.stringify(c)}`).join(`
|
|
7
|
-
`)}catch(n){console.error("Failed to extract error message from response body",n)}}else typeof t.body=="string"&&(i=t.body);else t?.text?i=t.text:e instanceof Error&&(i=e.message);return!i||i.length>Ig?l.ERROR_MSG_UNEXPECTED:i}class z extends Error{status;response;message;options;constructor(e){super(l.ERROR_MSG_UNEXPECTED);const{response:i,innerError:a}=e;this.message=e.message??Og(i,a)??l.ERROR_MSG_UNEXPECTED,this.status=i?.status??0,this.response=i,this.options=e}}function CF(t){function e(i){return typeof i=="object"&&i!==null&&["ok","redirect","clientError","serverError","error"].every(n=>n in i)}if(e(t))return t;if(typeof t=="object"&&t!==null){const i=t;if(e(i.response))return i.response;if(i.response&&e(i.response.response))return i.response.response}}function bg(t){return new Uint8Array(t).reduce((i,a)=>i+a.toString(16).padStart(2,"0"),"")}function cs(t){return new Promise((e,i)=>{const a=new FileReader;a.onload=()=>{const n=a.result;if(!n){i(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",n).then(c=>{const d=bg(c);e(d)})},a.readAsArrayBuffer(t)})}const DF=async t=>{const e=await t.arrayBuffer();return new Blob([e],{type:t.type})},Pg=(t,e)=>`${t}${e?`.${e}`:""}`;function Fg(t,e){return new File([t],e,{type:t.type})}function qF(t){const e=t.name;return e.includes(".")?e.split(".").pop():""}const $F=async t=>(await fetch(t)).blob(),UF=async(t,e)=>{const i=await $F(t);return new File([i],e,{type:i.type})};function kF(t){return typeof t=="string"&&t.startsWith("blob:")}function LF(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".cloudfront.net/")}function HF(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".s3.amazonaws.com/")}function GF(t){if(LF(t)){const i=new URLSearchParams(t).get("Expires");if(!i)return null;const a=parseInt(i,10);return new Date(a*1e3)}if(HF(t)){const e=new URLSearchParams(t),i=e.get("X-Amz-Date"),a=e.get("X-Amz-Expires");if(!i||!a)return null;const n=new Date(i.replace(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/,"$1-$2-$3T$4:$5:$6Z")),c=parseInt(a);return new Date(n.getTime()+c*1e3)}return null}function NF(t,e=30){const i=GF(t);if(!i)return!1;const a=Date.now(),n=i.getTime(),c=e*1e3;return a+c>=n}function _g(t){return t.type.startsWith("image/")}class KF extends EF{constructor(e){super(e)}applyAuth(e){const i=this.getAuthHeader();return i?e.set("Authorization",i):e}isAuthFailure(e){return e.status===401}}class yt extends EF{auth;constructor(e,i){super(e),this.auth=i}}class Mg extends yt{async startConversation(e,i){return this.enqueueRequest({description:"Start agent conversation",method:o.POST,url:"/agents/prompt/",payload:{prompt:e,active_project:i},blockers:["prompt"],blocks:["prompt"]}).then(a=>(this.dispatch(bn(a)),a))}async continueConversation(e,i,a){return this.enqueueRequest({description:"Prompt agent",method:o.POST,url:"/agents/prompt/",payload:{prompt:e,active_project:a},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:i}}).then(n=>{this.dispatch(Fn(n))})}async fetchDetails(e){return this.enqueueRequest({description:"Get agent conversation",method:o.GET,url:`/agents/conversations/${e}/`,blockers:["conversation"],blocks:["conversation"]}).then(i=>{this.dispatch(Pn(i))})}async rate(e,i){return this.enqueueRequest({description:"Rate agent response",method:o.PUT,url:`/agents/responses/${e}/rate/`,payload:{rating:i},blockers:["rate"],blocks:["rate"]})}async list(e,i){return this.performRequest({method:o.GET,url:"/agents/conversations/",...e},i)}async refreshStore(e,i){const a=await this.list({queryParams:{project:e}},i);return this.dispatch(On(a)),a}}function m(t,e,i){const a=`${e}${i?"s":""}`;switch(t){case o.GET:return`Get ${a}`;case o.POST:return`Create ${a}`;case o.PATCH:return`Update ${a}`;case o.PUT:return`Update ${a}`;case o.DELETE:return`Delete ${a}`}}function M(t){const e={...t};for(const i of[...Tn,"created_by"])i in e&&delete e[i];return e}class g extends yt{async get(e,i){return this.performRequest({url:`${this.url}/${e}/`,method:o.GET},i)}async list(e,i){return this.performRequest({url:`${this.url}/`,method:o.GET,...e},i)}async listPaginated(e,i){return this.performPagination({url:`${this.url}/`,method:o.GET,...e},i)}}class v extends g{async getPresignedUrl(e,i){const{selectById:a}=this.selectors,n=this.select(a(e));if(!n)throw new Error(`Could not find ${this.name}: ${e} in store.`);if(n.object_url)return n.object_url;const c=await this.client.files.getPresignedUrlFromCache(n.file_sha1);if(c)return c;const d=await this.performRequest({url:`${this.url}/${e}/presigned-url/`,method:o.GET},i);return await this.client.files.cachePresignedUrl(n.file_sha1,d),d}async add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions;let c,d=null,r=null;if("file"in e){const{file:S,...P}=e;d=await this.client.files.getFilePayload(S),r=URL.createObjectURL(S),c={...P,file_sha1:d.sha1,file_type:d.file_type,file_name:S.name,file_extension:d.extension,object_url:r}}else c=e;const p=this.buildModel(c),h=this.buildPayload(p);this.dispatch(i(p));const f=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{...h,...d?{file:d}:{}},blockers:this.getBlockers(p),blocks:this.getBlocks(p)});f.then(({instance:S})=>{this.dispatch(a(S))}).catch(()=>{this.dispatch(n(this.getId(p)))}).finally(()=>{r&&URL.revokeObjectURL(r)});const A=f.then(({instance:S})=>S),I=f.then(async({instance:S,presigned_url:P})=>{try{return P&&await this.client.files.processPresignedUrl(S.file_sha1,P),S.file_sha1}catch(_){throw console.error("Upload to s3 using presigned url failed.",_),_}});return[p,A,I]}async bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=[],p=new Set,h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const P of h){const _=[],F={},w=[],V=[];for(const ct of P){let Bt;if("file"in ct){const{file:zt,...tw}=ct,Ft=await this.client.files.getFilePayload(zt);Ft.sha1 in F||(F[Ft.sha1]=Ft);const s_=URL.createObjectURL(zt);p.add(s_),Bt={...tw,file_sha1:Ft.sha1,file_type:Ft.file_type,file_name:zt.name,file_extension:Ft.extension,object_url:s_}}else Bt=ct;const j=this.buildModel(Bt);r.push(j);const rs=this.buildBulkPayload(j);_.push(rs);const B=this.getBlockers(j);w.push(...B);const q=this.getBlocks(j);V.push(...q)}const R={payloads:_,submittedAt:d,files:Object.values(F),blockers:w,blocks:V};f.push(R)}this.dispatch(a(r));const A=f.map(P=>{const{submittedAt:_,files:F,payloads:w,blocks:V,blockers:R}=P;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,files:F,payloads:w},blockers:R,blocks:V})});Promise.all(A).then(P=>{const _=P.flatMap(F=>F.instances);this.dispatch(n(_))}).catch(P=>{throw this.dispatch(c(r.map(_=>this.getId(_)))),console.error(P),P}).finally(()=>{for(const P of p)URL.revokeObjectURL(P)});const I=Promise.all(A).then(P=>P.flatMap(({instances:_})=>_)),S=Promise.all(A).then(async P=>{const _=[];for(const{presigned_urls:F}of P){const w=this.client.files.processPresignedUrls(F);for(const[V,R]of Object.entries(w))try{await R,_.push(V)}catch(ct){throw console.error("Upload to s3 using presigned url failed.",ct),ct}}return _});return[r,I,S]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Attempting to delete ${this.name} with pk ${e} that does not exist in the store`);this.dispatch(a(this.getId(c)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}}class gg extends v{name="Asset attachment";url="/asset-attachments";actions={addOne:Rn,addMany:os,setOne:wn,setMany:En,updateOne:vn,updateMany:Vn,deleteOne:Bn,deleteMany:hs,initialize:gn};selectors={selectById:jn,selectByIds:Cn};getId(e){return e.uuid}getBlockers(e){const{asset:i}=e;return[i]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},i)).flat();return this.dispatch(a(c)),c}}class Rg extends v{name="Asset Comment Attachment";url="/asset-comment-attachments";actions={addOne:kn,addMany:Ln,setOne:Hn,setMany:Gn,updateOne:Nn,updateMany:Kn,deleteOne:Wn,deleteMany:Xn,initialize:Un};selectors={selectById:Zn,selectByIds:Jn};getId(e){return e.uuid}getBlockers(e){return[e.asset_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_comment:e.asset_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_comment:e.asset_comment}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset_comment__asset__project:e}},i)).flat();return this.dispatch(a(c)),c}}class wg extends g{name="Asset Comment";url="/asset-comments";actions={addOne:tc,addMany:jt,setOne:sc,setMany:ic,updateOne:ac,updateMany:nc,deleteOne:cc,deleteMany:Ct,initialize:ec};selectors={selectById:dc,selectByIds:uc};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.asset],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Asset comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Asset comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},i)).flat();return this.dispatch(a(c)),c}}class Eg extends g{url="/assets";name="Asset";actions={addOne:mc,addMany:As,setOne:Tc,setMany:Ic,updateOne:fc,updateMany:Sc,deleteOne:Ac,deleteMany:Ts,initialize:yc};selectors={selectById:Pc,selectByIds:Fc};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No asset with uuid ${e} found in the store`);const d=this.select(Dn(e)),r=this.select(lc(e)),p=this.select(jh(e)),h=this.select(aT(e)),f=this.select(nh(e));this.dispatch(a(e)),this.dispatch(hs(l.toUuidArray(d))),this.dispatch(Ct(l.toUuidArray(r))),this.dispatch(At(l.toUuidArray(p))),this.dispatch(Ot(l.toUuidArray(h))),this.dispatch(lt(l.toUuidArray(f)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(i(c)),this.dispatch(os(d)),this.dispatch(jt(r)),this.dispatch(St(p)),this.dispatch(It(h)),this.dispatch(ut(f)),A}}bulkAdd(e,i){const{addMany:a}=this.actions,n=new Date().toISOString(),c=l.chunkArray(e,Math.min(i??e.length,D)).map(p=>{const h=p.map(f=>l.uuidObj(f));return{batchId:dt.v4(),payload:{submitted_at:n,assets:h}}}),d=[];let r=null;for(const p of c){const{batchId:h,payload:f}=p,A=f.assets.map(({uuid:F})=>F),I=f.assets.map(({asset_type:F})=>F),S=f.assets.map(({project:F})=>F),P=f.assets.map(({status:F})=>F),_=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:f,blockers:(r?[r]:[]).concat(I).concat(S).concat(P),blocks:[h].concat(A)});r=p.batchId,d.push(_)}return Promise.all(d).then(p=>{const h=p.flat();this.dispatch(a(h))}),d}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} assets that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=dt.v4(),_=l.toUuidArray(S),F=S.map(({status:V})=>V).filter(Boolean),w=this.enqueueRequest({description:m(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_).concat(F),blocks:[P].concat(_)});A.push(w),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e)),d=this.select(oc(e)),r=this.select(Ch(e)),p=this.select(nT(e)),h=this.select(ch(e));this.dispatch(a(e)),this.dispatch(Ct(l.toUuidArray(d))),this.dispatch(At(l.toUuidArray(r))),this.dispatch(Ot(l.toUuidArray(p))),this.dispatch(lt(l.toUuidArray(h)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(f){throw this.dispatch(i(c)),this.dispatch(jt(d)),this.dispatch(St(r)),this.dispatch(It(p)),this.dispatch(ut(h)),f}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class vg extends v{name="Asset Type Attachment";url="/asset-type-attachments";actions={addOne:Rc,addMany:Os,setOne:wc,setMany:Ec,updateOne:vc,updateMany:Vc,deleteOne:Bc,deleteMany:bs,initialize:gc};selectors={selectById:jc,selectByIds:Cc};getId(e){return e.uuid}getBlockers(e){return[e.asset_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class Vg extends v{name="Asset Type Fields Attachment";url="/asset-type-fields-attachments";actions={addOne:kc,addMany:Lc,setOne:Hc,setMany:Gc,updateOne:Nc,updateMany:Kc,deleteOne:Wc,deleteMany:Xc,initialize:Uc};selectors={selectById:Zc,selectByIds:Jc};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class Bg extends g{name="Asset Type Fields";url="/asset-type-fields";actions={addOne:tr,addMany:sr,setOne:ir,setMany:ar,updateOne:nr,updateMany:cr,deleteOne:rr,deleteMany:dr,initialize:er};selectors={selectById:lr,selectByIds:or};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class zg extends v{name="Asset Type Field Values Attachment";url="/asset-type-field-values-attachments";actions={addOne:mr,addMany:Rs,setOne:fr,setMany:Sr,updateOne:Ar,updateMany:Tr,deleteOne:Ir,deleteMany:ws,initialize:yr};selectors={selectById:br,selectByIds:Pr};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class jg extends g{name="Asset Type Field Values";url="/asset-type-field-values";actions={addOne:Rr,addMany:wr,setOne:Er,setMany:vr,updateOne:Vr,updateMany:Br,deleteOne:zr,deleteMany:jr,initialize:gr};selectors={selectById:Dr,selectByIds:qr};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{payloads:a,values:n}=e,{addMany:c,updateMany:d,deleteMany:r}=this.actions,p=new Date().toISOString(),h=[],f=l.chunkArray(a,Math.min(i??a.length,D)),A=[];for(const S of f){const P=[];for(const _ of S){const F=l.uuidObj({..._,values:_.values,created_by:this.select(w=>w.userReducer.currentUser?.id??null),submitted_at:p});h.push(F),P.push({uuid:F.uuid,asset:_.asset,fields_revision:_.fields_revision,published_at:_.published_at,values:F.values})}A.push({submitted_at:p,values:n,field_values:P})}this.dispatch(c(h));const I=[];for(const S of A){const{field_values:P}=S,_=P.map(({asset:R})=>R),F=P.map(({fields_revision:R})=>R),w=P.map(({uuid:R})=>R),V=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_.concat(F),blocks:w});I.push(V)}return Promise.all(I).then(S=>{this.dispatch(d(S.flat()))}).catch(()=>{this.dispatch(r(l.toUuidArray(h)))}),[h,I]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.asset],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(Fr(e));this.dispatch(i(e)),this.dispatch(ws(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(Rs(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class Cg extends g{name="Asset Type Identifier";url="/asset-type-identifiers";actions={addOne:Lr,addMany:Hr,setOne:Gr,setMany:Nr,updateOne:Kr,updateMany:Wr,deleteOne:Xr,deleteMany:Yr,initialize:kr};selectors={selectById:Jr,selectByIds:Qr};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class Dg extends g{name="Asset Type Identifier Value";url="/asset-type-identifier-values";actions={addOne:sd,addMany:id,setOne:ad,setMany:nd,updateOne:cd,updateMany:rd,deleteOne:dd,deleteMany:ud,initialize:td};selectors={selectById:od,selectByIds:hd};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset,e.asset_type_identifier],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(S=>S.userReducer.currentUser?.id??null),p=l.chunkArray(e,Math.min(i??e.length,D)),h=[],f=[];for(const S of p){const P=[],_=[],F=[];for(const V of S){const R=l.uuidObj({...V,submitted_at:d,created_by:r});f.push(R);const ct={uuid:R.uuid,asset:R.asset,asset_type_identifier:R.asset_type_identifier,value:R.value};P.push(ct),_.push(R.asset),_.push(R.asset_type_identifier),F.push(R.uuid)}const w={payloads:P,submitted_at:d,blockers:_,blocks:F};h.push(w)}this.dispatch(a(f));const A=h.map(S=>{const{payloads:P,submitted_at:_,blockers:F,blocks:w}=S;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,payloads:P},blockers:F,blocks:w})});Promise.all(A).then(S=>{this.dispatch(n(S.flat()))}).catch(S=>{throw this.dispatch(c(l.toUuidArray(f))),S});const I=Promise.all(A).then(S=>S.flat());return[f,I]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class qg extends g{name="Asset Type";url="/asset-types";actions={addOne:Ad,addMany:Td,setOne:fd,setMany:Sd,updateOne:Id,updateMany:Od,deleteOne:bd,deleteMany:Pd,initialize:md};selectors={selectById:_d,selectByIds:Md};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected asset type with uuid ${e} to exist`);const d=this.select(bc(e)),r=this.select(Dc(e));this.dispatch(i(e)),this.dispatch(Ts(l.toUuidArray(d))),this.dispatch(bs(l.toUuidArray(r)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(As(d)),this.dispatch(Os(r)),p}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class $g extends g{name="Asset Type Status";url="/asset-type-statuses";actions={addOne:Ed,addMany:vd,setOne:Vd,setMany:Bd,updateOne:zd,updateMany:jd,deleteOne:Cd,deleteMany:Dd,initialize:wd};selectors={selectById:$d,selectByIds:Ud};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class Ug extends v{name="Document Attachment";url="/document-attachments";actions={addOne:Wd,addMany:Xd,setOne:Yd,setMany:Zd,updateOne:Jd,updateMany:Qd,deleteOne:xd,deleteMany:eu,initialize:Kd};selectors={selectById:su,selectByIds:iu};getId(e){return e.uuid}getBlockers(e){return[e.document]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}async bulkAdd(e,i){const[a,n,c]=await super.bulkAdd(e,i),d={};for(const{file_sha1:r,uuid:p}of a)r in d||(d[r]=[]),d[r].push(p);return c.then(r=>{const p=r.flatMap(h=>d[h]??[]);for(const h of p)this.makeReadable(h)}),[a,n,c]}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:o.PATCH,url:`${this.url}/${e}/`,payload:{readable_to_assistant:!0},blockers:["index-document-attachment",e],blocks:["index-document-attachment"]})}async refreshStore(e,i){const{initialize:a}=this.actions,n=this.list({queryParams:{document__project__organization:e}},i),c=this.list({queryParams:{document__organization:e}},i),r=(await Promise.all([n,c])).flat();return this.dispatch(a(r)),r}}class kg extends g{name="Document";url="/documents";actions={addOne:ru,addMany:du,setOne:uu,setMany:lu,updateOne:ou,updateMany:hu,deleteOne:pu,deleteMany:yu,initialize:cu};selectors={selectById:fu,selectByIds:Su};add(e){const{addOne:i,deleteOne:a,updateOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:r.parent_document?[r.parent_document]:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(n(h))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a,addMany:n,deleteMany:c}=this.actions,{selectById:d}=this.selectors,r=this.select(d(e));if(!r)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const p=this.select(Au(e));this.dispatch(i(e)),this.dispatch(c(l.toUuidArray(p)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(r)),this.dispatch(n(p)),h}}async refreshStore(e,i){const{initialize:a}=this.actions,n=this.list({queryParams:{project__organization:e}},i),c=this.list({queryParams:{organization:e}},i),r=(await Promise.all([n,c])).flat();return this.dispatch(a(r)),r}}class rt extends yt{async get(e,i){return this.performRequest({url:`${this.url}/${e}/`,method:o.GET},i)}async list(e,i){return this.performRequest({url:`${this.url}/`,method:o.GET,...e},i)}async listPaginated(e,i){return this.performPagination({url:`${this.url}/`,method:o.GET,...e},i)}}class Lg extends rt{name="Email Domains";url="/organization-email-domains";actions={addOne:Ou,addMany:bu,setOne:Pu,setMany:Fu,updateOne:_u,updateMany:Mu,deleteOne:gu,deleteMany:Ru,initialize:Iu};selectors={selectById:Eu,selectByIds:vu};async add(e,i){return this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{email:i,organization:e},blockers:[e,"create-org"],blocks:[]})}async delete(e){const{deleteOne:i,addOne:a}=this.actions;this.dispatch(i(e.uuid));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(n){throw this.dispatch(a(e)),n}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class Hg extends yt{async getVerificationCode(e){return this.enqueueRequest({description:"Get verification code",method:o.GET,url:`/verification/email-verification/${e}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(e,i){return this.enqueueRequest({description:"Validate verification code",method:o.POST,url:`/verification/email-verification/${e}/`,isAuthNeeded:!1,payload:i,blockers:[],blocks:[]})}}const Vt={},pn=new Set,yn=new Set;class Gg extends yt{host=void 0;dbPromise=n_.openDB("fileCache",2,{upgrade(e,i){i<1&&e.createObjectStore("files"),i<2&&e.createObjectStore("presignedUrls")}});async getDB(){return await this.dbPromise}async cacheFile(e){if(!e.name)throw new Error(`Cant add a file without a name to cache: ${e.name}`);if(!e.type)throw new Error(`Cant add a file without a type to cache: ${e.name}`);if(!e.size)throw new Error(`Cant add an empty file to cache: ${e.name}`);const i=await cs(e);if(pn.has(i))return;const a=await this.getDB();!!await a.get("files",i)?console.warn(`Attempting to add a file already cached, ${e.name}`):await a.put("files",e,i),pn.add(i)}async uncacheFile(e){await(await this.getDB()).delete("files",e),pn.delete(e)}async getFileFromCache(e){return(await this.getDB()).get("files",e)}async fetchFileFromUrl(e,i,a=i,n){const c=e.split("?")[0]??e,d=await this.getFileFromCache(i);if(d)return d;let r;c in Vt?r=Vt[c]:kF(e)?(r=UF(e,a),Vt[c]=r):(r=this.performRequest({method:o.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1},n).then(f=>new File([f],a,{type:f.type})),Vt[c]=r);let p;try{p=await r}catch(f){throw f instanceof z&&delete Vt[c],f}const h=await cs(p);if(h!==i){const f=`The hash of the file returned from the server (${h}) does not match the
|
|
7
|
+
`)}catch(n){console.error("Failed to extract error message from response body",n)}}else typeof t.body=="string"&&(i=t.body);else t?.text?i=t.text:e instanceof Error&&(i=e.message);return!i||i.length>qg?l.ERROR_MSG_UNEXPECTED:i}class z extends Error{status;response;message;options;constructor(e){super(l.ERROR_MSG_UNEXPECTED);const{response:i,innerError:a}=e;this.message=e.message??$g(i,a)??l.ERROR_MSG_UNEXPECTED,this.status=i?.status??0,this.response=i,this.options=e}}function xF(t){function e(i){return typeof i=="object"&&i!==null&&["ok","redirect","clientError","serverError","error"].every(n=>n in i)}if(e(t))return t;if(typeof t=="object"&&t!==null){const i=t;if(e(i.response))return i.response;if(i.response&&e(i.response.response))return i.response.response}}function Ug(t){return new Uint8Array(t).reduce((i,a)=>i+a.toString(16).padStart(2,"0"),"")}function rs(t){return new Promise((e,i)=>{const a=new FileReader;a.onload=()=>{const n=a.result;if(!n){i(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",n).then(c=>{const d=Ug(c);e(d)})},a.readAsArrayBuffer(t)})}const e_=async t=>{const e=await t.arrayBuffer();return new Blob([e],{type:t.type})},kg=(t,e)=>`${t}${e?`.${e}`:""}`;function Lg(t,e){return new File([t],e,{type:t.type})}function t_(t){const e=t.name;return e.includes(".")?e.split(".").pop():""}const s_=async t=>(await fetch(t)).blob(),i_=async(t,e)=>{const i=await s_(t);return new File([i],e,{type:i.type})};function a_(t){return typeof t=="string"&&t.startsWith("blob:")}function n_(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".cloudfront.net/")}function c_(t){return typeof t=="string"&&URL.canParse(t)&&t.startsWith("https://")&&t.includes(".s3.amazonaws.com/")}function r_(t){if(n_(t)){const i=new URLSearchParams(t).get("Expires");if(!i)return null;const a=parseInt(i,10);return new Date(a*1e3)}if(c_(t)){const e=new URLSearchParams(t),i=e.get("X-Amz-Date"),a=e.get("X-Amz-Expires");if(!i||!a)return null;const n=new Date(i.replace(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})Z$/,"$1-$2-$3T$4:$5:$6Z")),c=parseInt(a);return new Date(n.getTime()+c*1e3)}return null}function d_(t,e=30){const i=r_(t);if(!i)return!1;const a=Date.now(),n=i.getTime(),c=e*1e3;return a+c>=n}function Hg(t){return t.type.startsWith("image/")}class u_ extends WF{constructor(e){super(e)}applyAuth(e){const i=this.getAuthHeader();return i?e.set("Authorization",i):e}isAuthFailure(e){return e.status===401}}class yt extends WF{auth;constructor(e,i){super(e),this.auth=i}}class Gg extends yt{async startConversation(e,i){return this.enqueueRequest({description:"Start agent conversation",method:o.POST,url:"/agents/prompt/",payload:{prompt:e,active_project:i},blockers:["prompt"],blocks:["prompt"]}).then(a=>(this.dispatch(_n(a)),a))}async continueConversation(e,i,a){return this.enqueueRequest({description:"Prompt agent",method:o.POST,url:"/agents/prompt/",payload:{prompt:e,active_project:a},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:i}}).then(n=>{this.dispatch(gn(n))})}async fetchDetails(e){return this.enqueueRequest({description:"Get agent conversation",method:o.GET,url:`/agents/conversations/${e}/`,blockers:["conversation"],blocks:["conversation"]}).then(i=>{this.dispatch(Mn(i))})}async rate(e,i){return this.enqueueRequest({description:"Rate agent response",method:o.PUT,url:`/agents/responses/${e}/rate/`,payload:{rating:i},blockers:["rate"],blocks:["rate"]})}async list(e,i){return this.performRequest({method:o.GET,url:"/agents/conversations/",...e},i)}async refreshStore(e,i){const a=await this.list({queryParams:{project:e}},i);return this.dispatch(Fn(a)),a}}function y(t,e,i){const a=`${e}${i?"s":""}`;switch(t){case o.GET:return`Get ${a}`;case o.POST:return`Create ${a}`;case o.PATCH:return`Update ${a}`;case o.PUT:return`Update ${a}`;case o.DELETE:return`Delete ${a}`}}function M(t){const e={...t};for(const i of[...On,"created_by"])i in e&&delete e[i];return e}class g extends yt{async get(e,i){return this.performRequest({url:`${this.url}/${e}/`,method:o.GET},i)}async list(e,i){return this.performRequest({url:`${this.url}/`,method:o.GET,...e},i)}async listPaginated(e,i){return this.performPagination({url:`${this.url}/`,method:o.GET,...e},i)}}class v extends g{async getPresignedUrl(e,i){const{selectById:a}=this.selectors,n=this.select(a(e));if(!n)throw new Error(`Could not find ${this.name}: ${e} in store.`);if(n.object_url)return n.object_url;const c=await this.client.files.getPresignedUrlFromCache(n.file_sha1);if(c)return c;const d=await this.performRequest({url:`${this.url}/${e}/presigned-url/`,method:o.GET},i);return await this.client.files.cachePresignedUrl(n.file_sha1,d),d}async add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions;let c,d=null,r=null;if("file"in e){const{file:S,...P}=e;d=await this.client.files.getFilePayload(S),r=URL.createObjectURL(S),c={...P,file_sha1:d.sha1,file_type:d.file_type,file_name:S.name,file_extension:d.extension,object_url:r}}else c=e;const p=this.buildModel(c),h=this.buildPayload(p);this.dispatch(i(p));const f=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{...h,...d?{file:d}:{}},blockers:this.getBlockers(p),blocks:this.getBlocks(p)});f.then(({instance:S})=>{this.dispatch(a(S))}).catch(()=>{this.dispatch(n(this.getId(p)))}).finally(()=>{r&&URL.revokeObjectURL(r)});const A=f.then(({instance:S})=>S),I=f.then(async({instance:S,presigned_url:P})=>{try{return P&&await this.client.files.processPresignedUrl(S.file_sha1,P),S.file_sha1}catch(_){throw console.error("Upload to s3 using presigned url failed.",_),_}});return[p,A,I]}async bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=[],p=new Set,h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const P of h){const _=[],F={},w=[],V=[];for(const rt of P){let zt;if("file"in rt){const{file:jt,...Iw}=rt,_t=await this.client.files.getFilePayload(jt);_t.sha1 in F||(F[_t.sha1]=_t);const T_=URL.createObjectURL(jt);p.add(T_),zt={...Iw,file_sha1:_t.sha1,file_type:_t.file_type,file_name:jt.name,file_extension:_t.extension,object_url:T_}}else zt=rt;const j=this.buildModel(zt);r.push(j);const ds=this.buildBulkPayload(j);_.push(ds);const B=this.getBlockers(j);w.push(...B);const q=this.getBlocks(j);V.push(...q)}const R={payloads:_,submittedAt:d,files:Object.values(F),blockers:w,blocks:V};f.push(R)}this.dispatch(a(r));const A=f.map(P=>{const{submittedAt:_,files:F,payloads:w,blocks:V,blockers:R}=P;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,files:F,payloads:w},blockers:R,blocks:V})});Promise.all(A).then(P=>{const _=P.flatMap(F=>F.instances);this.dispatch(n(_))}).catch(P=>{throw this.dispatch(c(r.map(_=>this.getId(_)))),console.error(P),P}).finally(()=>{for(const P of p)URL.revokeObjectURL(P)});const I=Promise.all(A).then(P=>P.flatMap(({instances:_})=>_)),S=Promise.all(A).then(async P=>{const _=[];for(const{presigned_urls:F}of P){const w=this.client.files.processPresignedUrls(F);for(const[V,R]of Object.entries(w))try{await R,_.push(V)}catch(rt){throw console.error("Upload to s3 using presigned url failed.",rt),rt}}return _});return[r,I,S]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Attempting to delete ${this.name} with pk ${e} that does not exist in the store`);this.dispatch(a(this.getId(c)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}}class Ng extends v{name="Asset attachment";url="/asset-attachments";actions={addOne:vn,addMany:hs,setOne:Vn,setMany:Bn,updateOne:zn,updateMany:jn,deleteOne:Cn,deleteMany:ps,initialize:En};selectors={selectById:qn,selectByIds:$n};getId(e){return e.uuid}getBlockers(e){const{asset:i}=e;return[i]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},i)).flat();return this.dispatch(a(c)),c}}class Kg extends v{name="Asset Comment Attachment";url="/asset-comment-attachments";actions={addOne:Gn,addMany:Nn,setOne:Kn,setMany:Wn,updateOne:Xn,updateMany:Yn,deleteOne:Zn,deleteMany:Jn,initialize:Hn};selectors={selectById:xn,selectByIds:ec};getId(e){return e.uuid}getBlockers(e){return[e.asset_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_comment:e.asset_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_comment:e.asset_comment}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset_comment__asset__project:e}},i)).flat();return this.dispatch(a(c)),c}}class Wg extends g{name="Asset Comment";url="/asset-comments";actions={addOne:ac,addMany:Ct,setOne:nc,setMany:cc,updateOne:rc,updateMany:dc,deleteOne:uc,deleteMany:Dt,initialize:ic};selectors={selectById:oc,selectByIds:hc};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.asset],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Asset comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Asset comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},i)).flat();return this.dispatch(a(c)),c}}class Xg extends g{url="/assets";name="Asset";actions={addOne:Ac,addMany:Ts,setOne:Oc,setMany:Pc,updateOne:Tc,updateMany:Ic,deleteOne:bc,deleteMany:Is,initialize:Sc};selectors={selectById:Mc,selectByIds:gc};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No asset with uuid ${e} found in the store`);const d=this.select(Un(e)),r=this.select(pc(e)),p=this.select(Qh(e)),h=this.select(bT(e)),f=this.select(Oh(e));this.dispatch(a(e)),this.dispatch(ps(l.toUuidArray(d))),this.dispatch(Dt(l.toUuidArray(r))),this.dispatch(Tt(l.toUuidArray(p))),this.dispatch(Ot(l.toUuidArray(h))),this.dispatch(ot(l.toUuidArray(f)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(i(c)),this.dispatch(hs(d)),this.dispatch(Ct(r)),this.dispatch(At(p)),this.dispatch(bt(h)),this.dispatch(lt(f)),A}}bulkAdd(e,i){const{addMany:a}=this.actions,n=new Date().toISOString(),c=l.chunkArray(e,Math.min(i??e.length,D)).map(p=>{const h=p.map(f=>l.uuidObj(f));return{batchId:ut.v4(),payload:{submitted_at:n,assets:h}}}),d=[];let r=null;for(const p of c){const{batchId:h,payload:f}=p,A=f.assets.map(({uuid:F})=>F),I=f.assets.map(({asset_type:F})=>F),S=f.assets.map(({project:F})=>F),P=f.assets.map(({status:F})=>F),_=this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:f,blockers:(r?[r]:[]).concat(I).concat(S).concat(P),blocks:[h].concat(A)});r=p.batchId,d.push(_)}return Promise.all(d).then(p=>{const h=p.flat();this.dispatch(a(h))}),d}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} assets that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=ut.v4(),_=l.toUuidArray(S),F=S.map(({status:V})=>V).filter(Boolean),w=this.enqueueRequest({description:y(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_).concat(F),blocks:[P].concat(_)});A.push(w),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e)),d=this.select(mc(e)),r=this.select(xh(e)),p=this.select(OT(e)),h=this.select(Ph(e));this.dispatch(a(e)),this.dispatch(Dt(l.toUuidArray(d))),this.dispatch(Tt(l.toUuidArray(r))),this.dispatch(Ot(l.toUuidArray(p))),this.dispatch(ot(l.toUuidArray(h)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(f){throw this.dispatch(i(c)),this.dispatch(Ct(d)),this.dispatch(At(r)),this.dispatch(bt(p)),this.dispatch(lt(h)),f}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class Yg extends v{name="Asset Type Attachment";url="/asset-type-attachments";actions={addOne:vc,addMany:Os,setOne:Vc,setMany:Bc,updateOne:zc,updateMany:jc,deleteOne:Cc,deleteMany:Ps,initialize:Ec};selectors={selectById:qc,selectByIds:$c};getId(e){return e.uuid}getBlockers(e){return[e.asset_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class Zg extends v{name="Asset Type Fields Attachment";url="/asset-type-fields-attachments";actions={addOne:Gc,addMany:Nc,setOne:Kc,setMany:Wc,updateOne:Xc,updateMany:Yc,deleteOne:Zc,deleteMany:Jc,initialize:Hc};selectors={selectById:xc,selectByIds:er};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class Jg extends g{name="Asset Type Fields";url="/asset-type-fields";actions={addOne:ar,addMany:nr,setOne:cr,setMany:rr,updateOne:dr,updateMany:ur,deleteOne:lr,deleteMany:or,initialize:ir};selectors={selectById:pr,selectByIds:mr};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class Qg extends v{name="Asset Type Field Values Attachment";url="/asset-type-field-values-attachments";actions={addOne:Ar,addMany:ws,setOne:Tr,setMany:Ir,updateOne:br,updateMany:Or,deleteOne:Pr,deleteMany:Es,initialize:Sr};selectors={selectById:_r,selectByIds:Mr};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class xg extends g{name="Asset Type Field Values";url="/asset-type-field-values";actions={addOne:vr,addMany:Vr,setOne:Br,setMany:zr,updateOne:jr,updateMany:Cr,deleteOne:Dr,deleteMany:qr,initialize:Er};selectors={selectById:Ur,selectByIds:kr};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{payloads:a,values:n}=e,{addMany:c,updateMany:d,deleteMany:r}=this.actions,p=new Date().toISOString(),h=[],f=l.chunkArray(a,Math.min(i??a.length,D)),A=[];for(const S of f){const P=[];for(const _ of S){const F=l.uuidObj({..._,values:_.values,created_by:this.select(w=>w.userReducer.currentUser?.id??null),submitted_at:p});h.push(F),P.push({uuid:F.uuid,asset:_.asset,fields_revision:_.fields_revision,published_at:_.published_at,values:F.values})}A.push({submitted_at:p,values:n,field_values:P})}this.dispatch(c(h));const I=[];for(const S of A){const{field_values:P}=S,_=P.map(({asset:R})=>R),F=P.map(({fields_revision:R})=>R),w=P.map(({uuid:R})=>R),V=this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_.concat(F),blocks:w});I.push(V)}return Promise.all(I).then(S=>{this.dispatch(d(S.flat()))}).catch(()=>{this.dispatch(r(l.toUuidArray(h)))}),[h,I]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.asset],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(gr(e));this.dispatch(i(e)),this.dispatch(Es(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(ws(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class eR extends g{name="Asset Type Identifier";url="/asset-type-identifiers";actions={addOne:Nr,addMany:Kr,setOne:Wr,setMany:Xr,updateOne:Yr,updateMany:Zr,deleteOne:Jr,deleteMany:Qr,initialize:Gr};selectors={selectById:ed,selectByIds:td};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class tR extends g{name="Asset Type Identifier Value";url="/asset-type-identifier-values";actions={addOne:nd,addMany:cd,setOne:rd,setMany:dd,updateOne:ud,updateMany:ld,deleteOne:od,deleteMany:hd,initialize:ad};selectors={selectById:md,selectByIds:yd};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset,e.asset_type_identifier],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(S=>S.userReducer.currentUser?.id??null),p=l.chunkArray(e,Math.min(i??e.length,D)),h=[],f=[];for(const S of p){const P=[],_=[],F=[];for(const V of S){const R=l.uuidObj({...V,submitted_at:d,created_by:r});f.push(R);const rt={uuid:R.uuid,asset:R.asset,asset_type_identifier:R.asset_type_identifier,value:R.value};P.push(rt),_.push(R.asset),_.push(R.asset_type_identifier),F.push(R.uuid)}const w={payloads:P,submitted_at:d,blockers:_,blocks:F};h.push(w)}this.dispatch(a(f));const A=h.map(S=>{const{payloads:P,submitted_at:_,blockers:F,blocks:w}=S;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,payloads:P},blockers:F,blocks:w})});Promise.all(A).then(S=>{this.dispatch(n(S.flat()))}).catch(S=>{throw this.dispatch(c(l.toUuidArray(f))),S});const I=Promise.all(A).then(S=>S.flat());return[f,I]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class sR extends g{name="Asset Type";url="/asset-types";actions={addOne:bd,addMany:Od,setOne:Td,setMany:Id,updateOne:Pd,updateMany:Fd,deleteOne:_d,deleteMany:Md,initialize:Ad};selectors={selectById:Rd,selectByIds:wd};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected asset type with uuid ${e} to exist`);const d=this.select(_c(e)),r=this.select(Uc(e));this.dispatch(i(e)),this.dispatch(Is(l.toUuidArray(d))),this.dispatch(Ps(l.toUuidArray(r)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(Ts(d)),this.dispatch(Os(r)),p}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class iR extends g{name="Asset Type Status";url="/asset-type-statuses";actions={addOne:Bd,addMany:zd,setOne:jd,setMany:Cd,updateOne:Dd,updateMany:qd,deleteOne:$d,deleteMany:Ud,initialize:Vd};selectors={selectById:Ld,selectByIds:Hd};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.asset_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{asset_type__organization:e}},i);return this.dispatch(a(n)),n}}class aR extends v{name="Document Attachment";url="/document-attachments";actions={addOne:Zd,addMany:Jd,setOne:Qd,setMany:xd,updateOne:eu,updateMany:tu,deleteOne:su,deleteMany:iu,initialize:Yd};selectors={selectById:nu,selectByIds:cu};getId(e){return e.uuid}getBlockers(e){return[e.document]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}async bulkAdd(e,i){const[a,n,c]=await super.bulkAdd(e,i),d={};for(const{file_sha1:r,uuid:p}of a)r in d||(d[r]=[]),d[r].push(p);return c.then(r=>{const p=r.flatMap(h=>d[h]??[]);for(const h of p)this.makeReadable(h)}),[a,n,c]}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:o.PATCH,url:`${this.url}/${e}/`,payload:{readable_to_assistant:!0},blockers:["index-document-attachment",e],blocks:["index-document-attachment"]})}async refreshStore(e,i){const{initialize:a}=this.actions,n=this.list({queryParams:{document__project__organization:e}},i),c=this.list({queryParams:{document__organization:e}},i),r=(await Promise.all([n,c])).flat();return this.dispatch(a(r)),r}}class nR extends g{name="Document";url="/documents";actions={addOne:lu,addMany:ou,setOne:hu,setMany:pu,updateOne:mu,updateMany:yu,deleteOne:fu,deleteMany:Su,initialize:uu};selectors={selectById:Tu,selectByIds:Iu};add(e){const{addOne:i,deleteOne:a,updateOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:r.parent_document?[r.parent_document]:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(n(h))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a,addMany:n,deleteMany:c}=this.actions,{selectById:d}=this.selectors,r=this.select(d(e));if(!r)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const p=this.select(bu(e));this.dispatch(i(e)),this.dispatch(c(l.toUuidArray(p)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(r)),this.dispatch(n(p)),h}}async refreshStore(e,i){const{initialize:a}=this.actions,n=this.list({queryParams:{project__organization:e}},i),c=this.list({queryParams:{organization:e}},i),r=(await Promise.all([n,c])).flat();return this.dispatch(a(r)),r}}class dt extends yt{async get(e,i){return this.performRequest({url:`${this.url}/${e}/`,method:o.GET},i)}async list(e,i){return this.performRequest({url:`${this.url}/`,method:o.GET,...e},i)}async listPaginated(e,i){return this.performPagination({url:`${this.url}/`,method:o.GET,...e},i)}}class cR extends dt{name="Email Domains";url="/organization-email-domains";actions={addOne:Fu,addMany:_u,setOne:Mu,setMany:gu,updateOne:Ru,updateMany:wu,deleteOne:Eu,deleteMany:vu,initialize:Pu};selectors={selectById:Bu,selectByIds:zu};async add(e,i){return this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{email:i,organization:e},blockers:[e,"create-org"],blocks:[]})}async delete(e){const{deleteOne:i,addOne:a}=this.actions;this.dispatch(i(e.uuid));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(n){throw this.dispatch(a(e)),n}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class rR extends yt{async getVerificationCode(e){return this.enqueueRequest({description:"Get verification code",method:o.GET,url:`/verification/email-verification/${e}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(e,i){return this.enqueueRequest({description:"Validate verification code",method:o.POST,url:`/verification/email-verification/${e}/`,isAuthNeeded:!1,payload:i,blockers:[],blocks:[]})}}const Bt={},fn=new Set,Sn=new Set;class dR extends yt{host=void 0;dbPromise=O_.openDB("fileCache",2,{upgrade(e,i){i<1&&e.createObjectStore("files"),i<2&&e.createObjectStore("presignedUrls")}});async getDB(){return await this.dbPromise}async cacheFile(e){if(!e.name)throw new Error(`Cant add a file without a name to cache: ${e.name}`);if(!e.type)throw new Error(`Cant add a file without a type to cache: ${e.name}`);if(!e.size)throw new Error(`Cant add an empty file to cache: ${e.name}`);const i=await rs(e);if(fn.has(i))return;const a=await this.getDB();!!await a.get("files",i)?console.warn(`Attempting to add a file already cached, ${e.name}`):await a.put("files",e,i),fn.add(i)}async uncacheFile(e){await(await this.getDB()).delete("files",e),fn.delete(e)}async getFileFromCache(e){return(await this.getDB()).get("files",e)}async fetchFileFromUrl(e,i,a=i,n){const c=e.split("?")[0]??e,d=await this.getFileFromCache(i);if(d)return d;let r;c in Bt?r=Bt[c]:a_(e)?(r=i_(e,a),Bt[c]=r):(r=this.performRequest({method:o.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1},n).then(f=>new File([f],a,{type:f.type})),Bt[c]=r);let p;try{p=await r}catch(f){throw f instanceof z&&delete Bt[c],f}const h=await rs(p);if(h!==i){const f=`The hash of the file returned from the server (${h}) does not match the
|
|
8
8
|
expected hash (${i}). This can happen if you're using a local development server and the
|
|
9
9
|
isExternalUrl flag in the request details is set to true, because instead of requesting the local
|
|
10
10
|
REST API, you will be requesting localhost:80 (where this app runs), resulting in a transformed blob
|
|
11
11
|
(with an uuid attached) being returned. Alternatively, you may be running with
|
|
12
12
|
import.meta.env.PROD, which will result in some file requests being treated as
|
|
13
|
-
external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(f)}return await this.cacheFile(p),p}processPresignedUrl(e,i){if("warning"in i){if(i.warning==="already_uploaded")return Promise.resolve(void 0);throw console.error(i.warning),new Error(i.warning)}return this.enqueueRequest({url:i.url,description:"Upload file to S3",method:o.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${i.fields.key}`,"s3-presigned-upload"],blocks:[e,"s3-presigned-upload"],s3url:i})}processPresignedUrls(e){const i={};for(const[a,n]of Object.entries(e))i[a]=this.processPresignedUrl(a,n);return i}async getFilePayload(e){const a={sha1:await cs(e),file_type:e.type,extension:qF(e),size:e.size};return await this.client.files.cacheFile(e),a}async cachePresignedUrl(e,i){if(yn.has(e))return;const a=await this.getDB();!!await a.get("presignedUrls",e)?console.warn(`Attempting to add a presigned url already cached, ${i}`):await a.put("presignedUrls",i,e),yn.add(e)}async uncachePresignedUrl(e){await(await this.getDB()).delete("presignedUrls",e),yn.delete(e)}async getPresignedUrlFromCache(e){const i=await(await this.getDB()).get("presignedUrls",e);if(!i)return;if(NF(i)){await this.uncachePresignedUrl(e);return}return i}}class Ng extends g{name="Form Identifier";url="/form-identifiers";actions={addOne:ju,addMany:Cu,setOne:Du,setMany:qu,updateOne:$u,updateMany:Uu,deleteOne:ku,deleteMany:Lu,initialize:zu};selectors={selectById:Gu,selectByIds:Nu};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(a(n)),n}}class Kg extends g{name="Form Identifier Value";url="/form-identifier-values";actions={addOne:Yu,addMany:Zu,setOne:Ju,setMany:Qu,updateOne:xu,updateMany:el,deleteOne:tl,deleteMany:sl,initialize:Xu};selectors={selectById:al,selectByIds:nl};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form_submission,e.form_identifier],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class Wg extends v{name="Form Revision Attachment";url="/form-revision-attachments";actions={addOne:ul,addMany:ll,setOne:ol,setMany:hl,updateOne:pl,updateMany:yl,deleteOne:ml,deleteMany:fl,initialize:dl};selectors={selectById:Al,selectByIds:Tl};getId(e){return e.uuid}getBlockers(e){return[e.form_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form_revision__form__organization:e}},i);return this.dispatch(a(n)),n}}class Xg extends g{name="Form Revision";url="/form-revisions";actions={addOne:Pl,addMany:Zs,setOne:Fl,setMany:_l,updateOne:Ml,updateMany:gl,deleteOne:Rl,deleteMany:Js,initialize:bl};selectors={selectById:El,selectByIds:vl};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(a(n)),n}}class Yg extends g{name="Form";url="/forms";actions={addOne:Yl,addMany:Zl,setOne:Jl,setMany:Ql,updateOne:xl,updateMany:eo,deleteOne:to,deleteMany:so,initialize:Xl};selectors={selectById:no,selectByIds:co};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected form with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error("Expected form to exist");const d=this.select(sh(e)),r=this.select(Vl(e)),p=this.select(Nl(e));this.dispatch(i(e)),this.dispatch(lt(l.toUuidArray(d))),this.dispatch(Js(l.toUuidArray(r))),this.dispatch(ei(l.toUuidArray(p)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(c)),this.dispatch(Zs(r)),this.dispatch(ut(d)),this.dispatch(xs(p)),h}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class Zg extends g{name="Form Subscriber";url="/form-subscribers";actions={addOne:Cl,addMany:xs,setOne:Dl,setMany:ql,updateOne:$l,updateMany:Ul,deleteOne:kl,deleteMany:ei,initialize:jl};selectors={selectById:Hl,selectByIds:Gl};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,created_by:d,submitted_at:c});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected form subscriber with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(a(n)),n}}class Jg extends v{name="Form Submission Field Values Attachment";url="/form-submission-field-values-attachments";actions={addOne:lo,addMany:ai,setOne:oo,setMany:ho,updateOne:po,updateMany:yo,deleteOne:mo,deleteMany:ni,initialize:uo};selectors={selectById:fo,selectByIds:di};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,n=this.select(di(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(c){throw this.dispatch(a(n)),c}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,field_values__form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,field_values__form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class Qg extends g{name="Form Submission Field Values";url="/form-submission-field-values";actions={addOne:Oo,addMany:li,setOne:bo,setMany:Po,updateOne:Fo,updateMany:_o,deleteOne:Mo,deleteMany:oi,initialize:Io};selectors={selectById:Ro,selectByIds:wo};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form_submission],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class xg extends g{name="Form Submission Comment";url="/form-submission-comments";actions={addOne:zo,addMany:yi,setOne:jo,setMany:Co,updateOne:Do,updateMany:qo,deleteOne:$o,deleteMany:mi,initialize:Bo};selectors={selectById:ko,selectByIds:Lo};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.form_submission],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Form submission comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Form submission comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{form_submission__organization:e}},i),this.listPaginated({queryParams:{form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class eR extends g{name="Form Submission";url="/form-submissions";actions={addOne:Yo,addMany:ut,setOne:Wo,setMany:Xo,updateOne:Zo,updateMany:Jo,deleteOne:Qo,deleteMany:lt,initialize:Ko};selectors={selectById:eh,selectByIds:th};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(Eo(e)),r=d.flatMap(({uuid:h})=>this.select(So(h))),p=this.select(Ho(e));this.dispatch(i(e)),this.dispatch(oi(l.toUuidArray(d))),this.dispatch(ni(l.toUuidArray(r))),this.dispatch(mi(l.toUuidArray(p)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(c)),this.dispatch(li(d)),this.dispatch(ai(r)),this.dispatch(yi(p)),h}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{organization:e}},i),this.listPaginated({queryParams:{project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class tR extends v{name="Geo Image";url="/geo-images";actions={addOne:hh,addMany:ph,setOne:lh,setMany:oh,updateOne:yh,updateMany:mh,deleteOne:fh,deleteMany:Sh,initialize:uh};selectors={selectById:Th,selectByIds:Ih};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,direction:e.direction,original_date:e.original_date,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,direction:e.direction,original_date:e.original_date,project:e.project}}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Geo image with uuid ${e.uuid} does not exist in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{project:e}},i);return this.dispatch(a(n)),n}}class sR extends g{name="Issue Association";url="/issue-associations";actions={addOne:Rh,addMany:St,setOne:_h,setMany:Fh,updateOne:Mh,updateMany:gh,deleteOne:wh,deleteMany:At,initialize:Ph};selectors={selectById:vh,selectByIds:Vh};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.asset],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e){const{addMany:i,deleteMany:a,updateMany:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(h=>l.uuidObj({...h,submitted_at:d,created_by:c}));this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{payloads:r.map(h=>M(h)),submitted_at:d},blockers:r.flatMap(h=>[h.issue,h.asset]),blocks:l.toUuidArray(r)});return p.then(h=>{this.dispatch(n(h))}).catch(()=>{this.dispatch(a(l.toUuidArray(r)))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class iR extends v{name="Issue Attachment";url="/issue-attachments";actions={addOne:Uh,addMany:Oi,setOne:kh,setMany:Lh,updateOne:Hh,updateMany:Gh,deleteOne:Nh,deleteMany:bi,initialize:$h};selectors={selectById:Xh,selectByIds:Yh};getId(e){return e.uuid}getBlockers(e){return[e.issue]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class aR extends v{name="Issue Comment Attachment";url="/issue-comment-attachments";actions={addOne:xh,addMany:ep,setOne:tp,setMany:sp,updateOne:ip,updateMany:ap,deleteOne:np,deleteMany:cp,initialize:Qh};selectors={selectById:dp,selectByIds:up};getId(e){return e.uuid}getBlockers(e){return[e.issue_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class nR extends g{name="Issue Comment";url="/issue-comments";actions={addOne:pp,addMany:yp,setOne:mp,setMany:fp,updateOne:Sp,updateMany:Ap,deleteOne:Tp,deleteMany:Ip,initialize:hp};selectors={selectById:Op,selectByIds:bp};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser.id),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[e.issue],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class cR extends g{name="Issue";url="/issues";actions={addOne:Mp,addMany:wi,setOne:gp,setMany:Rp,updateOne:wp,updateMany:Ep,deleteOne:vp,deleteMany:Ei,initialize:_p};selectors={selectById:Bp,selectByIds:zp};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.project,r.issue_type,r.status,r.priority],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(h=>{throw this.dispatch(n(r.uuid)),h}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const c={...n,...e};this.dispatch(i(c));const d={};for(const h of[l.IssueUpdateChange.TITLE,l.IssueUpdateChange.DESCRIPTION,l.IssueUpdateChange.STATUS,l.IssueUpdateChange.PRIORITY,l.IssueUpdateChange.ASSIGNED_TO,l.IssueUpdateChange.DUE_DATE])if(h in e&&e[h]!==n[h])switch(h){case l.IssueUpdateChange.PRIORITY:{const f=e[h],A=this.select(Ki(f));if(!A)throw new Error(`Trying to update issue type priority with ${f} which does not exist in store`);d[h]={name:A.name,color:A.color,uuid:A.uuid};break}case l.IssueUpdateChange.DUE_DATE:d[h]=e.due_date;break;case l.IssueUpdateChange.DESCRIPTION:d[h]=e.description??"";break;case l.IssueUpdateChange.TITLE:d[h]=e.title??"";break;case l.IssueUpdateChange.STATUS:{const f=e[h],A=this.select(Ji(f));if(!A)throw new Error(`Trying to update issue type status with ${f} which does not exist in store`);d[h]={name:A.name,color:A.color,uuid:A.uuid};break}case l.IssueUpdateChange.ASSIGNED_TO:{const f=e[h];if(f===null)d[h]=null;else{const A=this.select(Qt(f));if(!A)throw new Error(`Trying to update assigned to with ${f} which does not exist in store.`);d[h]={full_name:A.username,id:A.id}}break}}const r=l.uuidObj({created_by:this.select(h=>h.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString(),issue:n.uuid,changes:d});this.dispatch(xi(r));const p=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return p.then(h=>{this.dispatch(i(h))}).catch(()=>{this.dispatch(i(n)),this.dispatch(ta(r.uuid))}),[c,p]}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} issues that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=dt.v4(),_=l.toUuidArray(S),F=S.map(({status:R})=>R).filter(Boolean),w=S.map(({priority:R})=>R).filter(Boolean),V=this.enqueueRequest({description:m(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_).concat(F).concat(w),blocks:[P].concat(_)});A.push(V),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No issue with uuid ${e} found in the store`);const d=this.select(zh(e)),r=this.select(Wh(e)),p=this.select(Of(e)),h=this.select(ih(e));this.dispatch(i(e)),this.dispatch(bi(l.toUuidArray(r))),this.dispatch(sa(l.toUuidArray(p))),this.dispatch(At(l.toUuidArray(d))),this.dispatch(lt(l.toUuidArray(h)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(a(c)),this.dispatch(Oi(r)),this.dispatch(ea(p)),this.dispatch(St(d)),this.dispatch(ut(h)),f}}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e)),d=this.select(Bh(e)),r=this.select(ah(e));this.dispatch(a(e)),this.dispatch(At(l.toUuidArray(d))),this.dispatch(lt(l.toUuidArray(r)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(p){throw this.dispatch(i(c)),this.dispatch(St(d)),this.dispatch(ut(r)),p}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class rR extends v{name="Issue Type Attachment";url="/issue-type-attachments";actions={addOne:$p,addMany:Up,setOne:kp,setMany:Lp,updateOne:Hp,updateMany:Gp,deleteOne:Np,deleteMany:Kp,initialize:qp};selectors={selectById:Xp,selectByIds:Yp};getId(e){return e.uuid}getBlockers(e){return[e.issue_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class dR extends v{name="Issue Type Fields Attachment";url="/issue-type-fields-attachments";actions={addOne:xp,addMany:ey,setOne:ty,setMany:sy,updateOne:iy,updateMany:ay,deleteOne:ny,deleteMany:cy,initialize:Qp};selectors={selectById:dy,selectByIds:uy};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class uR extends g{name="Issue Type Fields";url="/issue-type-fields";actions={addOne:gy,addMany:Ry,setOne:wy,setMany:Ey,updateOne:vy,updateMany:Vy,deleteOne:By,deleteMany:zy,initialize:My};selectors={selectById:Cy,selectByIds:Dy};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(h=>{throw this.dispatch(n(r.uuid)),h}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class lR extends v{name="Issue Type Field Values Attachment";url="/issue-type-field-values-attachments";actions={addOne:ky,addMany:qi,setOne:Ly,setMany:Hy,updateOne:Gy,updateMany:Ny,deleteOne:Ky,deleteMany:$i,initialize:Uy};selectors={selectById:Xy,selectByIds:Yy};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class oR extends g{name="Issue Type Field Values";url="/issue-type-field-values";actions={addOne:py,addMany:yy,setOne:my,setMany:fy,updateOne:Sy,updateMany:Ay,deleteOne:Ty,deleteMany:Iy,initialize:hy};selectors={selectById:by,selectByIds:Py};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.issue],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(Zy(e));this.dispatch(i(e)),this.dispatch($i(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(qi(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class hR extends g{name="Issue Type Identifier";url="/issue-type-identifiers";actions={addOne:em,addMany:tm,setOne:sm,setMany:im,updateOne:am,updateMany:nm,deleteOne:cm,deleteMany:rm,initialize:xy};selectors={selectById:um,selectByIds:lm};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class pR extends g{name="Issue Type Identifier Value";url="/issue-type-identifier-values";actions={addOne:ym,addMany:mm,setOne:fm,setMany:Sm,updateOne:Am,updateMany:Tm,deleteOne:Im,deleteMany:Om,initialize:pm};selectors={selectById:Pm,selectByIds:Fm};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.issue_type_identifier],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class yR extends g{name="Issue Type Priority";url="/issue-type-priorities";actions={addOne:Rm,addMany:wm,setOne:Em,setMany:vm,updateOne:Vm,updateMany:Bm,deleteOne:zm,deleteMany:jm,initialize:gm};selectors={selectById:Ki,selectByIds:Dm};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected an existing issue type priority with uuid ${e.uuid}`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No issue type priority with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class mR extends g{name="Issue Type";url="/issue-types";actions={addOne:km,addMany:Lm,setOne:Hm,setMany:Gm,updateOne:Nm,updateMany:Km,deleteOne:Wm,deleteMany:Xm,initialize:Um};selectors={selectById:Zm,selectByIds:Jm};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,submitted_at:d,created_by:c});this.dispatch(i(r));const p=this.enqueueRequest({method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const d=this.select(jp(e));this.dispatch(a(e)),this.dispatch(Ei(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(i(c)),this.dispatch(wi(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class fR extends g{name="Issue Type Status";url="/issue-type-statuses";actions={addOne:tf,addMany:sf,setOne:af,setMany:nf,updateOne:cf,updateMany:rf,deleteOne:df,deleteMany:uf,initialize:ef};selectors={selectById:Ji,selectByIds:of};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class SR extends g{name="Issue Update";url="/issue-updates";actions={addOne:xi,addMany:ea,setOne:mf,setMany:ff,updateOne:Sf,updateMany:Af,deleteOne:ta,deleteMany:sa,initialize:yf};selectors={selectById:Tf,selectByIds:If};async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}const AR=1800;function TR(t){if(!t.access)throw new Error("Missing access token");if(!t.refresh)throw new Error("Missing refresh token");return{accessToken:t.access,refreshToken:t.refresh}}class IR extends KF{_getRenewedTokens=async e=>{const i=this.performRequest({method:o.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let a;try{a=await i}catch(n){console.error("Could not renew tokens; clearing auth",n),this.clearAuth();return}if(!a.access)throw new Error("Missing access token");return{accessToken:a.access,refreshToken:a.refresh??this.getRefreshToken()}};clearAuth(){console.debug(this.constructor.name,"clearing auth;"),this.dispatch(Hd(!1)),this.clearTokens(),this.dispatch(T()),this.dispatch(T())}async renewTokens(){const e=this.getRefreshToken();if(!e)throw new Error("No refresh token found");console.debug(this.constructor.name,"renewing tokens");try{const i=await this._getRenewedTokens(e);if(!i)return;console.debug("Got renewed tokens"),this.setTokens(i)}catch(i){throw console.error("Could not renew tokens; clearing auth",i),this.clearAuth(),i}}tokenIsExpiringSoon(){const e=this.getAccessToken();if(!e)return!1;const i=Date.now()/1e3;let a;try{a=c_(e).exp??i}catch{a=i}return a-i<AR}getAuthHeader(){return`Bearer ${this.getAccessToken()}`}async prepareAuth(){if(this.tokenIsExpiringSoon()){console.debug(this.constructor.name,"preparing auth");try{await this.renewTokens()}catch(e){return e instanceof z&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??l.ERROR_MSG_UNEXPECTED).toString()))}}}async handleUnauthorized(e,i){if(e.url.endsWith("/token/refresh/"))throw this.select(a=>a.authReducer.isLoggedIn)&&console.warn("No signed-in user to sign out."),this.clearAuth(),new z({message:"You have been signed out due to inactivity.",response:i,discard:!0});if(this.select(a=>a.authReducer.isLoggedIn))await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new z({message:"Incorrect username or password.",response:i,discard:!0})}async initAuth(e){const i=dt.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:i,method:o.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(a=>{this.setTokens(TR(a))})}}class OR extends rt{name="Organization Access";url="/organization-accesses";actions={addOne:Cf,addMany:Df,setOne:qf,setMany:$f,updateOne:Uf,updateMany:kf,deleteOne:Lf,deleteMany:Hf,initialize:jf};selectors={selectById:Nf,selectByIds:Kf};update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid)),c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(r=>{throw this.dispatch(i(n)),r}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e)),d=this.select(Qt(c.user));this.dispatch(i(c.uuid)),this.dispatch(ra(c.user));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${c.uuid}/`,blockers:[c.uuid],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(ca(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class bR extends rt{name="Organization";url="/organizations";actions={addOne:xf,addMany:Qf,setOne:Jf,setMany:Zf,updateOne:tS,updateMany:eS,deleteOne:sS,deleteMany:iS,initialize:Yf};selectors={selectById:cS,selectByIds:rS};async add(e){const{addOne:i}=this.actions,a=await this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:e,blockers:[],blocks:[]});return this.dispatch(i(a)),a}async update(e){const{updateOne:i}=this.actions,a=await this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return this.dispatch(i(a)),a}async invite(e,i){return this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/${e}/invite/${i}/`,blockers:[],blocks:[]})}async refreshStore(e){const{initialize:i}=this.actions,a=await this.list({},e);return this.dispatch(i(a)),a}}class PR extends g{name="Project Access";url="/project-accesses";actions={addOne:SS,addMany:AS,setOne:TS,setMany:IS,updateOne:OS,updateMany:bS,deleteOne:PS,deleteMany:FS,initialize:fS};selectors={selectById:MS,selectByIds:gS};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.organization_access,c.project],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(r=>{throw this.dispatch(n(c.uuid)),r}),[c,d]}bulkAdd(e){const{addMany:i,deleteMany:a,updateMany:n}=this.actions,c=this.select(p=>p.userReducer.currentUser?.id??null),d=e.map(p=>l.uuidObj({...p,created_by:c}));this.dispatch(i(d));const r=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{project_accesses:d.map(p=>M(p))},blockers:d.flatMap(p=>[p.project,p.organization_access]),blocks:d.map(p=>p.uuid)});return r.then(p=>{this.dispatch(n(p))}).catch(p=>{throw this.dispatch(a(d.map(h=>h.uuid))),p}),[d,r]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid)),c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return d.then(r=>{this.dispatch(i(r))}).catch(r=>{throw this.dispatch(i(n)),r}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{project__organization:e}},i);return this.dispatch(a(n)),n}}class FR extends v{name="Project Attachment";url="/project-attachments";actions={addOne:ES,addMany:vS,setOne:VS,setMany:BS,updateOne:zS,updateMany:jS,deleteOne:CS,deleteMany:DS,initialize:wS};selectors={selectById:$S,selectByIds:US};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{project__organization:e}},i);return this.dispatch(a(n)),n}}class _R extends g{name="Project Comment";url="/project-comments";actions={addOne:GS,addMany:NS,setOne:KS,setMany:WS,updateOne:XS,updateMany:YS,deleteOne:ZS,deleteMany:JS,initialize:HS};selectors={selectById:xS,selectByIds:eA};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.project],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Project comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Project comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class MR extends v{name="Project File";url="/project-files";actions={addOne:cA,addMany:rA,setOne:aA,setMany:nA,updateOne:dA,updateMany:uA,deleteOne:lA,deleteMany:oA,initialize:iA};selectors={selectById:yA,selectByIds:mA};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,bounds:e.bounds}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,bounds:e.bounds}}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`${this.name} with uuid ${e.uuid} does not exist in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class gR extends rt{name="Project";url="/projects";actions={addOne:bA,addMany:OA,setOne:IA,setMany:TA,updateOne:FA,updateMany:PA,deleteOne:_A,deleteMany:MA,initialize:AA};selectors={selectById:wA,selectByIds:EA};async add(e){const{addOne:i}=this.actions,a=await this.performRequest({method:o.POST,url:`${this.url}/`,payload:M(e)});return this.dispatch(i(a)),a}async update(e){const{updateOne:i}=this.actions,a=await this.performRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e)});return this.dispatch(i(a)),a}async delete(e){const{deleteOne:i}=this.actions,a=await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(i(e)),a}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class RR extends rt{name="Report";url="/reports";actions={addOne:UP,addMany:kP,setOne:LP,setMany:HP,updateOne:GP,updateMany:NP,deleteOne:KP,deleteMany:WP,initialize:$P};selectors={selectById:ZP,selectByIds:JP};async getPresignedUrl(e,i){return this.performRequest({url:`${this.url}/${e}/presigned-url/`,method:o.GET},i)}async refreshStore(e,i){const n=(await this.listPaginated({queryParams:{organization:e}},i)).flat();return this.dispatch(this.actions.initialize(n)),n}}class wR extends g{name="Procedure";url="/procedures";actions={addOne:WA,addMany:It,setOne:XA,setMany:YA,updateOne:ZA,updateMany:JA,deleteOne:QA,deleteMany:Ot,initialize:KA};selectors={selectById:tT,selectByIds:sT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_type,c.project,c.asset,...c.procedure_initiative?[c.procedure_initiative]:[]],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e,i){const{store:a}=this.client,{addMany:n,updateMany:c,deleteMany:d}=this.actions,r=new Date().toISOString(),p=a.getState().userReducer.currentUser?.id??null,h=[],f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];for(const S of f){const P=[],_=[],F=[];for(const V of S){const R=l.uuidObj({...V,submitted_at:r,created_by:p});h.push(R),P.push(M(R)),_.push(R.procedure_type,R.project,R.asset,...R.procedure_initiative?[R.procedure_initiative]:[]),F.push(R.uuid)}const w={payload:{submitted_at:r,payloads:P},blockers:_,blocks:F};A.push(w)}this.dispatch(n(h));const I=A.map(S=>{const{payload:P,blocks:_,blockers:F}=S;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:P,blockers:F,blocks:_})});return Promise.all(I).then(S=>{this.dispatch(c(S.flat()))}).catch(()=>{this.dispatch(d(l.toUuidArray(h)))}),[h,Promise.all(I).then(S=>S.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected procedure with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(a(l.toUuidArray(c)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class ER extends g{name="Procedure Step Assignee";url="/procedure-step-assignees";actions={addOne:uT,addMany:lT,setOne:oT,setMany:hT,updateOne:pT,updateMany:yT,deleteOne:mT,deleteMany:fT,initialize:dT};selectors={selectById:AT,selectByIds:TT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:a,deleteMany:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(h=>l.uuidObj({...h,created_by:c,submitted_at:d}));this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_assignees:r.map(h=>M(h)),submitted_at:d},blockers:r.flatMap(h=>[h.procedure,h.procedure_step]),blocks:l.toUuidArray(r)});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(l.toUuidArray(r)))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step assignee with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class vR extends g{name="Procedure Step Comment";url="/procedure-step-comments";actions={addOne:PT,addMany:FT,setOne:_T,setMany:MT,updateOne:gT,updateMany:RT,deleteOne:wT,deleteMany:ET,initialize:bT};selectors={selectById:VT,selectByIds:BT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Procedure step comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Procedure step comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class VR extends g{name="Procedure Step Default Assignee";url="/procedure-step-default-assignees";actions={addOne:DT,addMany:qT,setOne:$T,setMany:UT,updateOne:kT,updateMany:LT,deleteOne:HT,deleteMany:GT,initialize:CT};selectors={selectById:KT,selectByIds:WT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step default assignee with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class BR extends g{name="Procedure Step Default Reviewer";url="/procedure-step-default-reviewers";actions={addOne:JT,addMany:QT,setOne:xT,setMany:eI,updateOne:tI,updateMany:sI,deleteOne:iI,deleteMany:aI,initialize:ZT};selectors={selectById:cI,selectByIds:rI};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step default reviewer with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class zR extends rt{name="Procedure Step Event";url="/procedure-step-events";actions={addOne:oI,addMany:hI,setOne:pI,setMany:yI,updateOne:mI,updateMany:fI,deleteOne:SI,deleteMany:AI,initialize:lI};selectors={selectById:II,selectByIds:OI};async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class jR extends v{name="Procedure Step Fields Attachment";url="/procedure-step-fields-attachments";actions={addOne:_I,addMany:wa,setOne:MI,setMany:gI,updateOne:RI,updateMany:wI,deleteOne:EI,deleteMany:Ea,initialize:FI};selectors={selectById:BI,selectByIds:zI};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){return l.uuidObj({...e,created_by:this.select(i=>i.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class CR extends g{name="Procedure Step Fields";url="/procedure-step-fields";actions={addOne:qI,addMany:$I,setOne:UI,setMany:kI,updateOne:LI,updateMany:HI,deleteOne:GI,deleteMany:NI,initialize:DI};selectors={selectById:KI,selectByIds:WI};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`No procedure step fields with uuid ${e.uuid} found in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step fields with uuid ${e} to exist`);const d=this.select(VI(e));this.dispatch(i(e)),this.dispatch(Ea(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(wa(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class DR extends v{name="Procedure Step Field Values Attachment";url="/procedure-step-field-values-attachments";actions={addOne:JI,addMany:ja,setOne:QI,setMany:xI,updateOne:eO,updateMany:tO,deleteOne:sO,deleteMany:Ca,initialize:ZI};selectors={selectById:aO,selectByIds:nO};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class qR extends g{name="Procedure Step Field Values Review";url="/procedure-step-field-values-reviews";actions={addOne:FO,addMany:Ua,setOne:_O,setMany:MO,updateOne:gO,updateMany:RO,deleteOne:wO,deleteMany:ka,initialize:PO};selectors={selectById:vO,selectByIds:VO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.field_values],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Procedure step field values review with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Procedure step field values review with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class $R extends g{name="Procedure Step Field Values";url="/procedure-step-field-values";actions={addOne:lO,addMany:oO,setOne:hO,setMany:pO,updateOne:yO,updateMany:mO,deleteOne:fO,deleteMany:SO,initialize:uO};selectors={selectById:IO,selectByIds:OO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.procedure,e.procedure_step,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(I=>I.userReducer.currentUser?.id??null),p=[],h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const I of h){const S=[],P=[],_=[];for(const F of I){const w=l.uuidObj({...F,values:F.values,created_by:r,submitted_at:d});p.push(w),S.push(M(w)),P.push(w.procedure_step,w.procedure,w.fields_revision),_.push(w.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:P,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:P,blockers:_}=I;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:P})});return Promise.all(A).then(I=>{this.dispatch(n(I.flat()))}).catch(()=>{this.dispatch(c(l.toUuidArray(p)))}),[p,Promise.all(A).then(I=>I.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.procedure,c.procedure_step,c.fields_revision],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e} to exist`);const d=this.select(cO(e)),r=this.select(BO(e));this.dispatch(i(e)),this.dispatch(Ca(l.toUuidArray(d))),this.dispatch(ka(l.toUuidArray(r)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(ja(d)),this.dispatch(Ua(r)),p}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class UR extends g{name="Procedure Step Reviewer";url="/procedure-step-reviewers";actions={addOne:DO,addMany:qO,setOne:$O,setMany:UO,updateOne:kO,updateMany:LO,deleteOne:HO,deleteMany:GO,initialize:CO};selectors={selectById:KO,selectByIds:WO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:a,deleteMany:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(h=>l.uuidObj({...h,created_by:c,submitted_at:d}));this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_reviewers:r.map(h=>M(h)),submitted_at:d},blockers:r.flatMap(h=>[h.procedure,h.procedure_step]),blocks:r.map(h=>h.uuid)});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(l.toUuidArray(r)))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step reviewer with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class kR extends g{name="Procedure Initiative";url="/procedure-initiatives";actions={addOne:BA,addMany:zA,setOne:jA,setMany:CA,updateOne:DA,updateMany:qA,deleteOne:$A,deleteMany:UA,initialize:VA};selectors={selectById:HA,selectByIds:GA};add(e){const{store:i}=this.client,{addOne:a,updateOne:n,deleteOne:c}=this.actions,d=l.uuidObj({...e,created_by:i.getState().userReducer.currentUser?.id??null,submitted_at:new Date().toISOString()});this.dispatch(a(d));const r=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.procedure_type,d.project],blocks:[d.uuid]});return r.then(p=>{this.dispatch(n(p))}).catch(()=>{this.dispatch(c(d.uuid))}),[d,r]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ${this.name} with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected ${this.name} with uuid ${e} to exist`);const d=this.select(cT(e));this.dispatch(i(e)),this.dispatch(Ot(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(It(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class LR extends g{name="Procedure Step";url="/procedure-steps";actions={addOne:xO,addMany:eb,setOne:JO,setMany:QO,updateOne:tb,updateMany:sb,deleteOne:ib,deleteMany:ab,initialize:ZO};selectors={selectById:cb,selectByIds:rb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_type],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`No procedure step with uuid ${e.uuid} found in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${n.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No procedure step with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} ${this.name} that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=dt.v4(),_=l.toUuidArray(S),F=this.enqueueRequest({description:m(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_),blocks:[P].concat(_)});A.push(F),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class HR extends v{name="Procedure Type Attachment";url="/procedure-type-attachments";actions={addOne:lb,addMany:ob,setOne:hb,setMany:pb,updateOne:yb,updateMany:mb,deleteOne:fb,deleteMany:Sb,initialize:ub};selectors={selectById:Ib,selectByIds:Ob};getId(e){return e.uuid}getBlockers(e){return[e.procedure_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class GR extends v{name="Procedure Type Fields Attachment";url="/procedure-type-fields-attachments";actions={addOne:Fb,addMany:_b,setOne:Mb,setMany:gb,updateOne:Rb,updateMany:wb,deleteOne:Eb,deleteMany:vb,initialize:Pb};selectors={selectById:zb,selectByIds:jb};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class NR extends g{name="Procedure Type Fields";url="/procedure-type-fields";actions={addOne:qb,addMany:$b,setOne:Ub,setMany:kb,updateOne:Lb,updateMany:Hb,deleteOne:Gb,deleteMany:Nb,initialize:Db};selectors={selectById:Xb,selectByIds:Yb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.procedure_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(h=>{throw this.dispatch(n(r.uuid)),h}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class KR extends v{name="Procedure Field Values Attachment";url="/procedure-field-values-attachments";actions={addOne:Qb,addMany:Qa,setOne:xb,setMany:eP,updateOne:tP,updateMany:sP,deleteOne:iP,deleteMany:xa,initialize:Jb};selectors={selectById:cP,selectByIds:rP};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class WR extends g{name="Procedure Field Values";url="/procedure-field-values";actions={addOne:oP,addMany:hP,setOne:pP,setMany:yP,updateOne:mP,updateMany:fP,deleteOne:SP,deleteMany:AP,initialize:lP};selectors={selectById:OP,selectByIds:bP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.fields_revision,e.procedure],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(I=>I.userReducer.currentUser?.id??null),p=[],h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const I of h){const S=[],P=[],_=[];for(const F of I){const w=l.uuidObj({...F,values:F.values,created_by:r,submitted_at:d});p.push(w),S.push(M(w)),P.push(w.procedure,w.fields_revision),_.push(w.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:P,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:P,blockers:_}=I;return this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:P})});return Promise.all(A).then(I=>{this.dispatch(n(I.flat()))}).catch(()=>{this.dispatch(c(l.toUuidArray(p)))}),[p,Promise.all(A).then(I=>I.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ProcedureFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.fields_revision,c.procedure],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(dP(e));this.dispatch(i(e)),this.dispatch(xa(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(Qa(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class XR extends g{name="Procedure Type";url="/procedure-types";actions={addOne:_P,addMany:MP,setOne:gP,setMany:RP,updateOne:wP,updateMany:EP,deleteOne:vP,deleteMany:VP,initialize:FP};selectors={selectById:jP,selectByIds:CP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected procedure type with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure type with uuid ${e} to exist`);const d=this.select(iT(e));this.dispatch(i(e)),this.dispatch(Ot(l.toUuidArray(d)));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(It(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class YR extends g{name="Team Membership";url="/team-memberships";actions={addOne:tF,addMany:sF,setOne:iF,setMany:aF,updateOne:nF,updateMany:cF,deleteOne:rF,deleteMany:dF,initialize:eF};selectors={selectById:oF,selectByIds:hF};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[e.team],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:a,deleteMany:n}=this.actions,c=this.select(p=>p.userReducer.currentUser?.id??null),d=e.map(p=>l.uuidObj({...p,created_by:c}));this.dispatch(i(d));const r=this.enqueueRequest({description:m(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{team_memberships:d.map(p=>M(p))},blockers:d.map(p=>p.team),blocks:d.map(p=>p.uuid)});return r.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(n(d.map(p=>p.uuid)))}),[d,r]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{team__organization:e}},i);return this.dispatch(a(n)),n}}class ZR extends g{name="Team";url="/teams";actions={addOne:mF,addMany:fF,setOne:SF,setMany:AF,updateOne:TF,updateMany:IF,deleteOne:OF,deleteMany:bF,initialize:yF};selectors={selectById:FF,selectByIds:_F};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,submitted_at:new Date().toISOString(),created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:m(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e),blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:m(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class JR extends rt{name="User";url="/user";actions={addOne:ca,addMany:gf,setOne:Mf,setMany:_f,updateOne:wf,updateMany:Rf,deleteOne:ra,deleteMany:Ef,initialize:Ff};selectors={selectById:Qt,selectByIds:Bf};async list(e,i){const{organizationUuid:a,...n}=e,c=a?`/organizations/${a}${this.url}s/`:`/${this.url}`;return this.performRequest({method:o.GET,url:c,...n},i)}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({organizationUuid:e},i);return this.dispatch(a(n)),n}}async function mn(t,e,i,a,n){const c=a instanceof yt;c&&e.checkAuth!==!1&&await a.auth.prepareAuth();const d={queryParams:"",isAuthNeeded:!0},{s3url:r,payload:p,headers:h,method:f,queryParams:A,attachmentHash:I,isExternalUrl:S,isAuthNeeded:P,isResponseBlob:_}={...d,...e};let F=e.url;const w=I?await i.files.getFileFromCache(I):void 0,V=w?await DF(w):void 0;if(I){if(!V)throw new Error(`Cannot upload file ${I} because it's not cached.`);if(V.size===0)throw new Error(`Cannot upload file ${I} because its has a size of 0.`)}!S&&!F.startsWith("http")&&(!F.startsWith("/")&&!F.startsWith("blob:")&&(F="/"+F),F=t+F);const R=B=>{if(I){if(!r)throw new Error(`No S3 URL for file ${I}`);if("warning"in r)throw new Error(`S3 URL warning for file ${I}`);if(!V)throw new Error(`No file for file ${I}`);const q=r.fields["x-amz-checksum-sha1"];if(!q)throw new Error(`No checksum for file ${I}`);return B.set("x-amz-checksum-sha1",q).field({...p,...r.fields}).attach("file",V)}return B.send(p)},Bt={[o.GET]:()=>_?ft.get(F.toString()).responseType("blob"):ft.get(F.toString()),[o.POST]:()=>{const B=ft.post(F.toString());return R(B)},[o.PATCH]:()=>{const B=ft.patch(F.toString());return R(B)},[o.PUT]:()=>{const B=ft.put(F.toString());return R(B)},[o.DELETE]:()=>{const B=ft.delete(F.toString());return R(B)}}[f];let j=Bt();const rs=()=>{console.debug("aborting request:",e.url),j.abort()};n?.addEventListener("abort",rs),P&&c&&(j=a.auth.applyAuth(j)),h&&(j=j.set(h));try{return await j.query(A)}catch(B){const q=CF(B),zt=q?.status;throw c&&q&&a.auth.isAuthFailure(q)?(await a.auth.handleUnauthorized(j,q),new z({response:q,innerError:B,discard:!1})):new z({response:q,innerError:B,discard:hn.includes(zt)})}finally{n?.removeEventListener("abort",rs)}}class QR{store;constructor(e){this.store=e}_performRequest(e,i,a,n){const c=new l.DeferredPromise,d={...i,uuid:i.uuid??dt.v4()};return mn(e,d,this,a,n).then(r=>{c.resolve(r.body)}).catch(r=>{r instanceof Error?c.reject(r):c.reject(new Error((r??l.ERROR_MSG_UNEXPECTED).toString()))}),c}async performRequest(e,i,a,n){return this._performRequest(e,i,a,n).then(c=>{if(c instanceof z)throw c;return c})}async enqueueRequest(e,i,a){return this._enqueueRequest(e,i,a).then(n=>{if(n instanceof z)throw n;return n})}_enqueueRequest(e,i,a){const n=new l.DeferredPromise,c={...e,BASE_URL:i,serviceName:a},d=this.store.dispatch(oS(c)),r=h=>{if(h)n.resolve(h.body);else{const f=new z({message:"Could not get a response from the server.",response:h,discard:!0});n.reject(f)}},p=h=>{h instanceof z?h.options.discard=!0:(console.error("Received an unexpected error while processing a request:",h,`
|
|
14
|
-
Converting error to APIError and discarding.`),h=new z({message:"An error occurred while processing the request.",innerError:h,discard:!0})),n.reject(h)};return d.then(r,p),n}async performPagination(e,i,a,n,c){const d={...i,queryParams:{...i.queryParams,paginate:!0,limit:a}},{method:r}=d,p=[];let h=await this.performRequest(e,d,n,c);for(p.push(h.results);h.next;)h=await this.performRequest(e,{url:h.next,method:r},n,c),p.push(h.results);return p}}class bt{graph;requestAttemptCounter;constructor(){this.graph=new r_.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(e){const i=new bt;for(let a=0;a<e.length;a++){const n=e[a];if(!n){console.error("Outbox item was undefined");continue}i.sneakRequest(n);for(let c=0;c<a;c++){const d=e[c];if(!d){console.error("Previous outbox item was undefined");continue}d.payload.uuid!==n.payload.uuid&&d.payload.blocks.some(r=>n.payload.blockers.includes(r))&&bt._addDependency(n.payload.uuid,d.payload.uuid,i.graph)}}return i}_addDependency(e,i){bt._addDependency(e,i,this.graph)}static _addDependency(e,i,a){if(e===i)throw new Error(`Tried to add dependency from node to itself: ${e}`);if(!a.hasNode(e))throw new Error(`Tried to add dependency from non-existent node: ${e} (to node: ${i})`);if(!a.hasNode(i))throw new Error(`Tried to add dependency to non-existent node: ${i} (from node: ${e})`);a.addDependency(e,i)}addRequest(e){if(this.graph.addNode(e.payload.uuid,e),!(e.payload.blockers.length===0||this.graph.size()===1))for(const i of this.graph.overallOrder()){if(i===e.payload.uuid)continue;const a=this.graph.getNodeData(i),n=new Set(a.payload.blocks);e.payload.blockers.some(c=>n.has(c))&&this._addDependency(e.payload.uuid,i)}}insertRequest(e){this.graph.addNode(e.payload.uuid,e);for(const i of this.graph.overallOrder()){if(i===e.payload.uuid)continue;const a=this.graph.getNodeData(i),n=new Set(e.payload.blocks);a.payload.blockers.some(c=>n.has(c))&&this._addDependency(i,e.payload.uuid)}}sneakRequest(e){this.graph.addNode(e.payload.uuid,e)}_getNextNode(){const e=this.graph.overallOrder(!0);let i=1/0,a;for(const n of e){const c=this.requestAttemptCounter[n]||0;c<i&&(i=c,a=n)}return a}peek(){const e=this._getNextNode();if(e)return this.graph.getNodeData(e)}remove(e){this.graph.removeNode(e),delete this.requestAttemptCounter[e]}pop(){const e=this.peek();return e&&this.graph.removeNode(e.payload.uuid),e}getQueue(){const e=this.graph.overallOrder().map(a=>this.graph.getNodeData(a)),i=this._getNextNode();if(i){const a=this.graph.getNodeData(i),n=e.findIndex(c=>c.payload.uuid===a.payload.uuid);n!==-1&&(e.splice(n,1),e.unshift(a))}return e}getReady(){let e=this.graph.overallOrder(!0).map(i=>this.graph.getNodeData(i));return e=e.sort((i,a)=>i.meta.offline.effect.timestamp.localeCompare(a.meta.offline.effect.timestamp)),e=e.sort((i,a)=>{const n=this.requestAttemptCounter[i.payload.uuid]||0,c=this.requestAttemptCounter[a.payload.uuid]||0;return n-c}),e}registerRetry(e){this.requestAttemptCounter[e]=(this.requestAttemptCounter[e]||0)+1}}let WF;function XF(t){WF=t}function Pt(){return WF}let YF;function ZF(t){YF=t}function JF(){return YF}let fn=null;function mt(){const t=Pt();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(fn)return fn;const e=t.getState().offline.outbox,i=bt._fromOutbox(e);return fn=i,i}const xR=(t,e)=>{const i=new e(t);return ZF(i),XF(t),i};class ew{_all;_previous;constructor(e){this._all=[e],this._previous=e,this.then=this.then.bind(this),this.compile=this.compile.bind(this)}then(e){return this._previous&&(this._previous.next=e),this._all.push(e),this._previous=e,{then:this.then,compile:this.compile}}compile(){return this._all}}class Sn{next;constructor(){this.next=null}then(e){return new ew(this).then(e)}async run(e){if(this.next)return this.next.run(e);{if(console.debug("Middleware finished. Performing request:",e.payload.url),!Pt())throw new Error("Client store not set");const a=JF();if(!a)throw new Error("Client SDK not set");return BF(e,a)}}}class QF extends Sn{async run(e){return super.run(e)}}class xF extends Sn{async run(e){return super.run(e)}}const e_=new QF().then(new xF).compile();function t_(t){return e_[0]?.run(t)}s.ALL_MIDDLEWARE=e_,s.APIError=z,s.AgentService=Mg,s.AssetAttachmentService=gg,s.AssetCommentAttachmentService=Rg,s.AssetCommentService=wg,s.AssetService=Eg,s.AssetTypeAttachmentService=vg,s.AssetTypeFieldValuesAttachmentService=zg,s.AssetTypeFieldValuesService=jg,s.AssetTypeFieldsAttachmentService=Vg,s.AssetTypeFieldsService=Bg,s.AssetTypeIdentifierService=Cg,s.AssetTypeIdentifierValueService=Dg,s.AssetTypeService=qg,s.AssetTypeStatusService=$g,s.BaseApiService=yt,s.BaseAuthService=KF,s.BaseModelApiService=rt,s.BaseOfflineFileModelApiService=v,s.BaseOfflineModelApiService=g,s.BaseSDK=QR,s.COMMON_AUTO_FIELDS=Tn,s.DEFAULT_PAGE_SIZE=RF,s.DISCARD_HTTP_STATUSES=hn,s.DocumentAttachmentService=Ug,s.DocumentService=kg,s.EmailDomainsService=Lg,s.EmailVerificationService=Hg,s.FileService=Gg,s.FormIdentifierService=Ng,s.FormIdentifierValueService=Kg,s.FormRevisionAttachmentService=Wg,s.FormRevisionService=Xg,s.FormService=Yg,s.FormSubmissionCommentService=xg,s.FormSubmissionFieldValuesAttachmentService=Jg,s.FormSubmissionFieldValuesService=Qg,s.FormSubmissionService=eR,s.FormSubscriberService=Zg,s.GeoImageService=tR,s.HttpMethod=o,s.IssueAssociationService=sR,s.IssueAttachmentService=iR,s.IssueCommentAttachmentService=aR,s.IssueCommentService=nR,s.IssueService=cR,s.IssueTypeAttachmentService=rR,s.IssueTypeFieldValuesAttachmentService=lR,s.IssueTypeFieldValuesService=oR,s.IssueTypeFieldsAttachmentService=dR,s.IssueTypeFieldsService=uR,s.IssueTypeIdentifierService=hR,s.IssueTypeIdentifierValueService=pR,s.IssueTypePriorityService=yR,s.IssueTypeService=mR,s.IssueTypeStatusService=fR,s.IssueUpdateService=SR,s.JWTService=IR,s.MAX_SERVICE_BATCH_SIZE=D,s.OUTBOX_RETRY_DELAY=6e4,s.OfflineAnalyticsMiddleware=QF,s.OfflineMiddleware=Sn,s.OrganizationAccessService=OR,s.OrganizationService=bR,s.OutboxCoordinator=bt,s.ProcdureInitiativeService=kR,s.ProcedureFieldValuesAttachmentService=KR,s.ProcedureFieldValuesService=WR,s.ProcedureService=wR,s.ProcedureStepAssigneeService=ER,s.ProcedureStepCommentService=vR,s.ProcedureStepDefaultAssigneeService=VR,s.ProcedureStepDefaultReviewerService=BR,s.ProcedureStepEventService=zR,s.ProcedureStepFieldValuesAttachmentService=DR,s.ProcedureStepFieldValuesReviewService=qR,s.ProcedureStepFieldValuesService=$R,s.ProcedureStepFieldsAttachmentService=jR,s.ProcedureStepFieldsService=CR,s.ProcedureStepReviewerService=UR,s.ProcedureStepService=LR,s.ProcedureTypeAttachmentService=HR,s.ProcedureTypeFieldsAttachmentService=GR,s.ProcedureTypeFieldsService=NR,s.ProcedureTypeService=XR,s.ProjectAccessService=PR,s.ProjectAttachmentService=FR,s.ProjectCommentService=_R,s.ProjectFileService=MR,s.ProjectService=gR,s.RESET_ORGANIZATION_STATE=b,s.RESET_PROJECT_STATE=E,s.RESET_STATE=T,s.RateLimitingMiddleware=xF,s.ReportService=RR,s.TeamMembershipService=YR,s.TeamService=ZR,s.UserService=JR,s._setLatestRetryTime=pS,s.addAsset=mc,s.addAssetAttachment=Rn,s.addAssetAttachments=os,s.addAssetComment=tc,s.addAssetCommentAttachment=kn,s.addAssetCommentAttachments=Ln,s.addAssetComments=jt,s.addAssetType=Ad,s.addAssetTypeAttachment=Rc,s.addAssetTypeAttachments=Os,s.addAssetTypeFieldValues=Rr,s.addAssetTypeFieldValuesAttachment=mr,s.addAssetTypeFieldValuesAttachments=Rs,s.addAssetTypeFieldValuesMany=wr,s.addAssetTypeFields=tr,s.addAssetTypeFieldsAttachment=kc,s.addAssetTypeFieldsAttachments=Lc,s.addAssetTypeFieldsMany=sr,s.addAssetTypeIdentifier=Lr,s.addAssetTypeIdentifierValue=sd,s.addAssetTypeIdentifierValues=id,s.addAssetTypeIdentifiers=Hr,s.addAssetTypeStatus=Ed,s.addAssetTypeStatuses=vd,s.addAssetTypes=Td,s.addAssets=As,s.addConversation=bn,s.addConversations=u_,s.addDocument=ru,s.addDocumentAttachment=Wd,s.addDocumentAttachments=Xd,s.addDocuments=du,s.addEmailDomain=Ou,s.addEmailDomains=bu,s.addForm=Yl,s.addFormIdentifier=ju,s.addFormIdentifierValue=Yu,s.addFormIdentifierValues=Zu,s.addFormIdentifiers=Cu,s.addFormRevision=Pl,s.addFormRevisionAttachment=ul,s.addFormRevisionAttachments=ll,s.addFormRevisions=Zs,s.addFormSubmission=Yo,s.addFormSubmissionComment=zo,s.addFormSubmissionComments=yi,s.addFormSubmissionFieldValues=Oo,s.addFormSubmissionFieldValuesAttachment=lo,s.addFormSubmissionFieldValuesAttachments=ai,s.addFormSubmissionFieldValuesMany=li,s.addFormSubmissions=ut,s.addFormSubscriber=Cl,s.addFormSubscribers=xs,s.addForms=Zl,s.addGeoImage=hh,s.addGeoImages=ph,s.addIssue=Mp,s.addIssueAssociation=Rh,s.addIssueAssociations=St,s.addIssueAttachment=Uh,s.addIssueAttachments=Oi,s.addIssueComment=pp,s.addIssueCommentAttachment=xh,s.addIssueCommentAttachments=ep,s.addIssueComments=yp,s.addIssueType=km,s.addIssueTypeAttachment=$p,s.addIssueTypeAttachments=Up,s.addIssueTypeFieldValues=py,s.addIssueTypeFieldValuesAttachment=ky,s.addIssueTypeFieldValuesAttachments=qi,s.addIssueTypeFieldValuesMany=yy,s.addIssueTypeFields=gy,s.addIssueTypeFieldsAttachment=xp,s.addIssueTypeFieldsAttachments=ey,s.addIssueTypeFieldsMany=Ry,s.addIssueTypeIdentifier=em,s.addIssueTypeIdentifierValue=ym,s.addIssueTypeIdentifierValues=mm,s.addIssueTypeIdentifiers=tm,s.addIssueTypePriorities=wm,s.addIssueTypePriority=Rm,s.addIssueTypeStatus=tf,s.addIssueTypeStatuses=sf,s.addIssueTypes=Lm,s.addIssueUpdate=xi,s.addIssueUpdates=ea,s.addIssues=wi,s.addOrganization=xf,s.addOrganizationAccess=Cf,s.addOrganizationAccesses=Df,s.addOrganizations=Qf,s.addProcedure=WA,s.addProcedureFieldValues=oP,s.addProcedureFieldValuesAttachment=Qb,s.addProcedureFieldValuesAttachments=Qa,s.addProcedureFieldValuesMany=hP,s.addProcedureInitiative=BA,s.addProcedureInitiatives=zA,s.addProcedureStep=xO,s.addProcedureStepAssignee=uT,s.addProcedureStepAssignees=lT,s.addProcedureStepComment=PT,s.addProcedureStepComments=FT,s.addProcedureStepDefaultAssignee=DT,s.addProcedureStepDefaultAssignees=qT,s.addProcedureStepDefaultReviewer=JT,s.addProcedureStepDefaultReviewers=QT,s.addProcedureStepEvent=oI,s.addProcedureStepEvents=hI,s.addProcedureStepFieldValues=lO,s.addProcedureStepFieldValuesAttachment=JI,s.addProcedureStepFieldValuesAttachments=ja,s.addProcedureStepFieldValuesMany=oO,s.addProcedureStepFieldValuesReview=FO,s.addProcedureStepFieldValuesReviews=Ua,s.addProcedureStepFields=qI,s.addProcedureStepFieldsAttachment=_I,s.addProcedureStepFieldsAttachments=wa,s.addProcedureStepFieldsMany=$I,s.addProcedureStepReviewer=DO,s.addProcedureStepReviewers=qO,s.addProcedureSteps=eb,s.addProcedureType=_P,s.addProcedureTypeAttachment=lb,s.addProcedureTypeAttachments=ob,s.addProcedureTypeFields=qb,s.addProcedureTypeFieldsAttachment=Fb,s.addProcedureTypeFieldsAttachments=_b,s.addProcedureTypeFieldsMany=$b,s.addProcedureTypes=MP,s.addProcedures=It,s.addProject=bA,s.addProjectAccess=SS,s.addProjectAccesses=AS,s.addProjectAttachment=ES,s.addProjectAttachments=vS,s.addProjectComment=GS,s.addProjectComments=NS,s.addProjectFile=cA,s.addProjectFiles=rA,s.addProjects=OA,s.addReport=UP,s.addReports=kP,s.addTeam=mF,s.addTeamMembership=tF,s.addTeamMemberships=sF,s.addTeams=fF,s.addUser=ca,s.addUsers=gf,s.agentsReducer=_n,s.agentsSlice=ds,s.assetAttachmentReducer=qn,s.assetAttachmentSlice=ls,s.assetCommentAttachmentReducer=Qn,s.assetCommentAttachmentSlice=ys,s.assetCommentReducer=hc,s.assetCommentSlice=fs,s.assetReducer=_c,s.assetSlice=Ss,s.assetTypeAttachmentReducer=qc,s.assetTypeAttachmentSlice=Is,s.assetTypeFieldValuesAttachmentReducer=_r,s.assetTypeFieldValuesAttachmentSlice=gs,s.assetTypeFieldValuesReducer=$r,s.assetTypeFieldValuesSlice=vs,s.assetTypeFieldsAttachmentReducer=Qc,s.assetTypeFieldsAttachmentSlice=Fs,s.assetTypeFieldsReducer=hr,s.assetTypeFieldsSlice=Ms,s.assetTypeIdentifierReducer=xr,s.assetTypeIdentifierSlice=Vs,s.assetTypeIdentifierValueReducer=pd,s.assetTypeIdentifierValueSlice=zs,s.assetTypeReducer=gd,s.assetTypeSlice=js,s.assetTypeStatusReducer=kd,s.assetTypeStatusSlice=Ds,s.authReducer=Gd,s.authSlice=kt,s.baseReducer=hg,s.baseReducers=on,s.clearTokens=w_,s.createModelAdapter=O,s.createOfflineAction=uS,s.createPayload=M,s.createSelectionAdapter=d_,s.deleteAsset=Ac,s.deleteAssetAttachment=Bn,s.deleteAssetAttachments=hs,s.deleteAssetComment=cc,s.deleteAssetCommentAttachment=Wn,s.deleteAssetCommentAttachments=Xn,s.deleteAssetComments=Ct,s.deleteAssetType=bd,s.deleteAssetTypeAttachment=Bc,s.deleteAssetTypeAttachments=bs,s.deleteAssetTypeFieldValues=zr,s.deleteAssetTypeFieldValuesAttachment=Ir,s.deleteAssetTypeFieldValuesAttachments=ws,s.deleteAssetTypeFieldValuesMany=jr,s.deleteAssetTypeFields=rr,s.deleteAssetTypeFieldsAttachment=Wc,s.deleteAssetTypeFieldsAttachments=Xc,s.deleteAssetTypeFieldsMany=dr,s.deleteAssetTypeIdentifier=Xr,s.deleteAssetTypeIdentifierValue=dd,s.deleteAssetTypeIdentifierValues=ud,s.deleteAssetTypeIdentifiers=Yr,s.deleteAssetTypeStatus=Cd,s.deleteAssetTypeStatuses=Dd,s.deleteAssetTypes=Pd,s.deleteAssets=Ts,s.deleteConversation=h_,s.deleteConversations=p_,s.deleteDocument=pu,s.deleteDocumentAttachment=xd,s.deleteDocumentAttachments=eu,s.deleteDocuments=yu,s.deleteEmailDomain=gu,s.deleteEmailDomains=Ru,s.deleteForm=to,s.deleteFormIdentifier=ku,s.deleteFormIdentifierValue=tl,s.deleteFormIdentifierValues=sl,s.deleteFormIdentifiers=Lu,s.deleteFormRevision=Rl,s.deleteFormRevisionAttachment=ml,s.deleteFormRevisionAttachments=fl,s.deleteFormRevisions=Js,s.deleteFormSubmission=Qo,s.deleteFormSubmissionComment=$o,s.deleteFormSubmissionComments=mi,s.deleteFormSubmissionFieldValues=Mo,s.deleteFormSubmissionFieldValuesAttachment=mo,s.deleteFormSubmissionFieldValuesAttachments=ni,s.deleteFormSubmissionFieldValuesMany=oi,s.deleteFormSubmissions=lt,s.deleteFormSubscriber=kl,s.deleteFormSubscribers=ei,s.deleteForms=so,s.deleteGeoImage=fh,s.deleteGeoImages=Sh,s.deleteIssue=vp,s.deleteIssueAssociation=wh,s.deleteIssueAssociations=At,s.deleteIssueAttachment=Nh,s.deleteIssueAttachments=bi,s.deleteIssueComment=Tp,s.deleteIssueCommentAttachment=np,s.deleteIssueCommentAttachments=cp,s.deleteIssueComments=Ip,s.deleteIssueType=Wm,s.deleteIssueTypeAttachment=Np,s.deleteIssueTypeAttachments=Kp,s.deleteIssueTypeFieldValues=Ty,s.deleteIssueTypeFieldValuesAttachment=Ky,s.deleteIssueTypeFieldValuesAttachments=$i,s.deleteIssueTypeFieldValuesMany=Iy,s.deleteIssueTypeFields=By,s.deleteIssueTypeFieldsAttachment=ny,s.deleteIssueTypeFieldsAttachments=cy,s.deleteIssueTypeFieldsMany=zy,s.deleteIssueTypeIdentifier=cm,s.deleteIssueTypeIdentifierValue=Im,s.deleteIssueTypeIdentifierValues=Om,s.deleteIssueTypeIdentifiers=rm,s.deleteIssueTypePriorities=jm,s.deleteIssueTypePriority=zm,s.deleteIssueTypeStatus=df,s.deleteIssueTypeStatuses=uf,s.deleteIssueTypes=Xm,s.deleteIssueUpdate=ta,s.deleteIssueUpdates=sa,s.deleteIssues=Ei,s.deleteOrganization=sS,s.deleteOrganizationAccess=Lf,s.deleteOrganizationAccesses=Hf,s.deleteOrganizations=iS,s.deleteProcedure=QA,s.deleteProcedureFieldValues=SP,s.deleteProcedureFieldValuesAttachment=iP,s.deleteProcedureFieldValuesAttachments=xa,s.deleteProcedureFieldValuesMany=AP,s.deleteProcedureInitiative=$A,s.deleteProcedureInitiatives=UA,s.deleteProcedureStep=ib,s.deleteProcedureStepAssignee=mT,s.deleteProcedureStepAssignees=fT,s.deleteProcedureStepComment=wT,s.deleteProcedureStepComments=ET,s.deleteProcedureStepDefaultAssignee=HT,s.deleteProcedureStepDefaultAssignees=GT,s.deleteProcedureStepDefaultReviewer=iI,s.deleteProcedureStepDefaultReviewers=aI,s.deleteProcedureStepEvent=SI,s.deleteProcedureStepEvents=AI,s.deleteProcedureStepFieldValues=fO,s.deleteProcedureStepFieldValuesAttachment=sO,s.deleteProcedureStepFieldValuesAttachments=Ca,s.deleteProcedureStepFieldValuesMany=SO,s.deleteProcedureStepFieldValuesReview=wO,s.deleteProcedureStepFieldValuesReviews=ka,s.deleteProcedureStepFields=GI,s.deleteProcedureStepFieldsAttachment=EI,s.deleteProcedureStepFieldsAttachments=Ea,s.deleteProcedureStepFieldsMany=NI,s.deleteProcedureStepReviewer=HO,s.deleteProcedureStepReviewers=GO,s.deleteProcedureSteps=ab,s.deleteProcedureType=vP,s.deleteProcedureTypeAttachment=fb,s.deleteProcedureTypeAttachments=Sb,s.deleteProcedureTypeFields=Gb,s.deleteProcedureTypeFieldsAttachment=Eb,s.deleteProcedureTypeFieldsAttachments=vb,s.deleteProcedureTypeFieldsMany=Nb,s.deleteProcedureTypes=VP,s.deleteProcedures=Ot,s.deleteProject=_A,s.deleteProjectAccess=PS,s.deleteProjectAccesses=FS,s.deleteProjectAttachment=CS,s.deleteProjectAttachments=DS,s.deleteProjectComment=ZS,s.deleteProjectComments=JS,s.deleteProjectFile=lA,s.deleteProjectFiles=oA,s.deleteProjects=MA,s.deleteReport=KP,s.deleteReports=WP,s.deleteTeam=OF,s.deleteTeamMembership=rF,s.deleteTeamMemberships=dF,s.deleteTeams=bF,s.deleteUser=ra,s.deleteUsers=Ef,s.dequeue=VF,s.discard=zF,s.documentAttachmentReducer=au,s.documentAttachmentSlice=$s,s.documentSlice=ks,s.documentsReducer=mu,s.emailDomainsReducer=Vu,s.emailDomainsSlice=Hs,s.enqueue=vF,s.enqueueRequest=oS,s.extractResponseFromError=CF,s.fetchBlobFromObjectUrl=$F,s.fetchFileFromObjectUrl=UF,s.fileToBlob=DF,s.formIdentifierReducer=Ku,s.formIdentifierSlice=Ns,s.formIdentifierValueReducer=cl,s.formIdentifierValueSlice=Ws,s.formReducer=io,s.formRevisionAttachmentReducer=Il,s.formRevisionAttachmentSlice=Xs,s.formRevisionReducer=Bl,s.formRevisionsSlice=Ys,s.formSlice=ti,s.formSubmissionCommentReducer=Go,s.formSubmissionCommentSlice=pi,s.formSubmissionFieldValuesAttachmentReducer=Ao,s.formSubmissionFieldValuesAttachmentSlice=ii,s.formSubmissionFieldValuesReducer=vo,s.formSubmissionFieldValuesSlice=ui,s.formSubmissionReducer=rh,s.formSubmissionSlice=fi,s.formSubscriberReducer=Kl,s.formSubscriberSlice=Qs,s.geoImageReducer=Oh,s.geoImageSlice=Si,s.getClientSDK=JF,s.getClientStore=Pt,s.getFileExtension=qF,s.getOutboxCoordinator=mt,s.getPresignedUrlExpiryDate=GF,s.getRenamedFile=Fg,s.getRequestDescription=m,s.getS3FileKey=Pg,s.hashFile=cs,s.initSDK=xR,s.initializeAssetAttachments=gn,s.initializeAssetCommentAttachments=Un,s.initializeAssetComments=ec,s.initializeAssetTypeAttachments=gc,s.initializeAssetTypeFieldValues=gr,s.initializeAssetTypeFieldValuesAttachments=yr,s.initializeAssetTypeFields=er,s.initializeAssetTypeFieldsAttachments=Uc,s.initializeAssetTypeIdentifierValues=td,s.initializeAssetTypeIdentifiers=kr,s.initializeAssetTypeStatuses=wd,s.initializeAssetTypes=md,s.initializeAssets=yc,s.initializeConversations=On,s.initializeDocumentAttachments=Kd,s.initializeDocuments=cu,s.initializeEmailDomains=Iu,s.initializeFormIdentifierValues=Xu,s.initializeFormIdentifiers=zu,s.initializeFormRevisionAttachments=dl,s.initializeFormRevisions=bl,s.initializeFormSubmissionComments=Bo,s.initializeFormSubmissionFieldValues=Io,s.initializeFormSubmissionFieldValuesAttachments=uo,s.initializeFormSubmissions=Ko,s.initializeFormSubscribers=jl,s.initializeForms=Xl,s.initializeGeoImages=uh,s.initializeIssueAssociations=Ph,s.initializeIssueAttachments=$h,s.initializeIssueCommentAttachments=Qh,s.initializeIssueComments=hp,s.initializeIssueTypeAttachments=qp,s.initializeIssueTypeFieldValues=hy,s.initializeIssueTypeFieldValuesAttachments=Uy,s.initializeIssueTypeFields=My,s.initializeIssueTypeFieldsAttachments=Qp,s.initializeIssueTypeIdentifierValues=pm,s.initializeIssueTypeIdentifiers=xy,s.initializeIssueTypePriorities=gm,s.initializeIssueTypeStatuses=ef,s.initializeIssueTypes=Um,s.initializeIssueUpdates=yf,s.initializeIssues=_p,s.initializeOrganizationAccesses=jf,s.initializeOrganizations=Yf,s.initializeProcedureFieldValues=lP,s.initializeProcedureFieldValuesAttachments=Jb,s.initializeProcedureInitiatives=VA,s.initializeProcedureStepAssignees=dT,s.initializeProcedureStepComments=bT,s.initializeProcedureStepDefaultAssignees=CT,s.initializeProcedureStepDefaultReviewers=ZT,s.initializeProcedureStepEvents=lI,s.initializeProcedureStepFieldValues=uO,s.initializeProcedureStepFieldValuesAttachments=ZI,s.initializeProcedureStepFieldValuesReviews=PO,s.initializeProcedureStepFields=DI,s.initializeProcedureStepFieldsAttachments=FI,s.initializeProcedureStepReviewers=CO,s.initializeProcedureSteps=ZO,s.initializeProcedureTypeAttachments=ub,s.initializeProcedureTypeFields=Db,s.initializeProcedureTypeFieldsAttachments=Pb,s.initializeProcedureTypes=FP,s.initializeProcedures=KA,s.initializeProjectAccesses=fS,s.initializeProjectAttachments=wS,s.initializeProjectComments=HS,s.initializeProjectFiles=iA,s.initializeProjects=AA,s.initializeReports=$P,s.initializeTeamMemberships=eF,s.initializeTeams=yF,s.initializeUsers=Ff,s.isCloudfrontUrl=LF,s.isImageFile=_g,s.isObjectUrl=kF,s.isPresignedUrlExpired=NF,s.isS3Url=HF,s.issueAssociationReducer=Dh,s.issueAssociationSlice=Ti,s.issueAttachmentReducer=Zh,s.issueAttachmentSlice=Ii,s.issueCommentAttachmentReducer=lp,s.issueCommentAttachmentSlice=Fi,s.issueCommentReducer=Pp,s.issueCommentSlice=Mi,s.issueReducer=Cp,s.issueSlice=Ri,s.issueTypeAttachmentReducer=Zp,s.issueTypeAttachmentSlice=vi,s.issueTypeFieldValuesAttachmentReducer=Jy,s.issueTypeFieldValuesAttachmentSlice=Di,s.issueTypeFieldValuesReducer=Fy,s.issueTypeFieldValuesSlice=ji,s.issueTypeFieldsAttachmentReducer=ly,s.issueTypeFieldsAttachmentSlice=Bi,s.issueTypeFieldsReducer=qy,s.issueTypeFieldsSlice=Ci,s.issueTypeIdentifierReducer=om,s.issueTypeIdentifierSlice=ki,s.issueTypeIdentifierValueReducer=_m,s.issueTypeIdentifierValueSlice=Hi,s.issueTypePriorityReducer=qm,s.issueTypePrioritySlice=Gi,s.issueTypeReducer=Qm,s.issueTypeSlice=Wi,s.issueTypeStatusReducer=hf,s.issueTypeStatusSlice=Yi,s.issueUpdateReducer=bf,s.issueUpdateSlice=Qi,s.markAsDeleted=hS,s.markForDeletion=fM,s.organizationAccessReducer=Gf,s.organizationAccessSlice=ua,s.organizationReducer=dS,s.organizationSlice=la,s.outboxReducer=yS,s.outboxSlice=oa,s.overmapEnhancer=Sg,s.overmapReducer=pg,s.overmapReducers=gF,s.performRequest=mn,s.performRequestFromAction=BF,s.procedureFieldValuesAttachmentReducer=aP,s.procedureFieldValuesAttachmentSlice=Ja,s.procedureFieldValuesReducer=TP,s.procedureFieldValuesSlice=tn,s.procedureInitiativeReducer=kA,s.procedureInitiativeSlice=Ta,s.procedureReducer=xA,s.procedureSlice=Ia,s.procedureStepAssigneeReducer=IT,s.procedureStepAssigneeSlice=Oa,s.procedureStepCommentReducer=zT,s.procedureStepCommentSlice=ba,s.procedureStepDefaultAssigneeReducer=XT,s.procedureStepDefaultAssigneeSlice=Pa,s.procedureStepDefaultReviewerReducer=dI,s.procedureStepDefaultReviewerSlice=_a,s.procedureStepEventReducer=bI,s.procedureStepEventSlice=ga,s.procedureStepFieldValuesAttachmentReducer=rO,s.procedureStepFieldValuesAttachmentSlice=za,s.procedureStepFieldValuesReducer=AO,s.procedureStepFieldValuesReviewReducer=zO,s.procedureStepFieldValuesReviewSlice=$a,s.procedureStepFieldValuesSlice=qa,s.procedureStepFieldsAttachmentReducer=jI,s.procedureStepFieldsAttachmentSlice=Ra,s.procedureStepFieldsReducer=XI,s.procedureStepFieldsSlice=Va,s.procedureStepReducer=nb,s.procedureStepReviewerReducer=XO,s.procedureStepReviewerSlice=La,s.procedureStepSlice=Ha,s.procedureTypeAttachmentReducer=Ab,s.procedureTypeAttachmentSlice=Ka,s.procedureTypeFieldsAttachmentReducer=Vb,s.procedureTypeFieldsAttachmentSlice=Xa,s.procedureTypeFieldsReducer=Kb,s.procedureTypeFieldsSlice=Za,s.procedureTypeReducer=BP,s.procedureTypeSlice=an,s.projectAccessReducer=_S,s.projectAccessSlice=ha,s.projectAttachmentReducer=kS,s.projectAttachmentSlice=ya,s.projectCommentReducer=tA,s.projectCommentSlice=fa,s.projectFileReducer=fA,s.projectFileSlice=Sa,s.projectReducer=gA,s.projectSlice=Aa,s.rehydratedReducer=DP,s.rehydratedSlice=cn,s.reportReducer=QP,s.reportSlice=rn,s.restructureSelectorWithArgs=y,s.runMiddleware=t_,s.selectAccessToken=E_,s.selectAccessesByUserOfProject=AM,s.selectAccessibleProjects=PM,s.selectActiveOrganizationAccess=hM,s.selectAllDocumentAttachments=Us,s.selectAssetAttachmentById=jn,s.selectAssetAttachmentMapping=zn,s.selectAssetAttachments=ps,s.selectAssetAttachmentsByIds=Cn,s.selectAssetById=Pc,s.selectAssetCommentAttachmentById=Zn,s.selectAssetCommentAttachmentMapping=Yn,s.selectAssetCommentAttachments=ms,s.selectAssetCommentAttachmentsByIds=Jn,s.selectAssetCommentById=dc,s.selectAssetCommentMapping=rc,s.selectAssetComments=Dt,s.selectAssetCommentsByIds=uc,s.selectAssetTypeAttachmentById=jc,s.selectAssetTypeAttachmentMapping=zc,s.selectAssetTypeAttachments=Ps,s.selectAssetTypeAttachmentsByIds=Cc,s.selectAssetTypeById=_d,s.selectAssetTypeFieldValues=$t,s.selectAssetTypeFieldValuesAttachmentById=br,s.selectAssetTypeFieldValuesAttachments=Es,s.selectAssetTypeFieldValuesAttachmentsByIds=Pr,s.selectAssetTypeFieldValuesAttachmentsMapping=Or,s.selectAssetTypeFieldValuesById=Dr,s.selectAssetTypeFieldValuesByIds=qr,s.selectAssetTypeFieldValuesMapping=Cr,s.selectAssetTypeFieldValuesOfAsset=O_,s.selectAssetTypeFields=_t,s.selectAssetTypeFieldsAttachmentById=Zc,s.selectAssetTypeFieldsAttachments=_s,s.selectAssetTypeFieldsAttachmentsByIds=Jc,s.selectAssetTypeFieldsAttachmentsMapping=Yc,s.selectAssetTypeFieldsById=lr,s.selectAssetTypeFieldsByIds=or,s.selectAssetTypeFieldsMapping=ur,s.selectAssetTypeFieldsOfAssetType=T_,s.selectAssetTypeIdentifierById=Jr,s.selectAssetTypeIdentifierMapping=Zr,s.selectAssetTypeIdentifierValueById=od,s.selectAssetTypeIdentifierValueMapping=ld,s.selectAssetTypeIdentifierValues=Ut,s.selectAssetTypeIdentifierValuesByIds=hd,s.selectAssetTypeIdentifierValuesOfAsset=F_,s.selectAssetTypeIdentifierValuesOfIdentifier=__,s.selectAssetTypeIdentifiers=Bs,s.selectAssetTypeIdentifiersByIds=Qr,s.selectAssetTypeIdentifiersOfAssetType=P_,s.selectAssetTypeStatusById=$d,s.selectAssetTypeStatusMapping=qd,s.selectAssetTypeStatuses=qs,s.selectAssetTypeStatusesByIds=Ud,s.selectAssetTypeStatusesOfAssetType=g_,s.selectAssetTypeValuesOfAssetType=b_,s.selectAssetTypes=Cs,s.selectAssetTypesByIds=Md,s.selectAssetTypesMapping=Fd,s.selectAssetTypesOfOrganization=M_,s.selectAssets=qt,s.selectAssetsByIds=Fc,s.selectAssetsMapping=Oc,s.selectAssetsOfAssetType=bc,s.selectAssetsOfProject=S_,s.selectAttachmentsOfAsset=Dn,s.selectAttachmentsOfAssetComment=f_,s.selectAttachmentsOfAssetType=Dc,s.selectAttachmentsOfAssetTypeFieldValues=Fr,s.selectAttachmentsOfAssetTypeFields=A_,s.selectAttachmentsOfDocument=V_,s.selectAttachmentsOfFormRevision=$_,s.selectAttachmentsOfFormSubmissionFieldValues=So,s.selectAttachmentsOfIssue=Wh,s.selectAttachmentsOfIssueComment=Y_,s.selectAttachmentsOfIssueType=Q_,s.selectAttachmentsOfIssueTypeFieldValues=Zy,s.selectAttachmentsOfIssueTypeFields=x_,s.selectAttachmentsOfProcedureFieldValues=dP,s.selectAttachmentsOfProcedureStepFieldValues=cO,s.selectAttachmentsOfProcedureStepFields=VI,s.selectAttachmentsOfProcedureType=eg,s.selectAttachmentsOfProcedureTypeFields=tg,s.selectAttachmentsOfProject=IM,s.selectCommentsOfAsset=lc,s.selectCommentsOfAssets=oc,s.selectCommentsOfFormSubmission=Ho,s.selectCommentsOfFormSubmissions=H_,s.selectCommentsOfIssue=Z_,s.selectCommentsOfProject=OM,s.selectCommentsOfProjects=bM,s.selectConversation=m_,s.selectConversationMapping=us,s.selectConversations=y_,s.selectCurrentUser=Vf,s.selectDeletedRequests=yM,s.selectDescendantsOfDocument=Au,s.selectDocumentAttachmentById=su,s.selectDocumentAttachmentMapping=tu,s.selectDocumentAttachmentsByIds=iu,s.selectDocumentById=fu,s.selectDocuments=Lt,s.selectDocumentsByIds=Su,s.selectDocumentsMapping=Ls,s.selectEmailDomainById=Eu,s.selectEmailDomains=Gs,s.selectEmailDomainsAsMapping=wu,s.selectEmailDomainsByIds=vu,s.selectEmailDomainsOfOrganization=j_,s.selectFieldValuesOfProcedure=ag,s.selectFormById=no,s.selectFormIdentifierById=Gu,s.selectFormIdentifierMapping=Hu,s.selectFormIdentifierValueById=al,s.selectFormIdentifierValueMapping=il,s.selectFormIdentifierValues=Ht,s.selectFormIdentifierValuesByIds=nl,s.selectFormIdentifierValuesOfFormSubmission=D_,s.selectFormIdentifierValuesOfIdentifier=q_,s.selectFormIdentifiers=Ks,s.selectFormIdentifiersByIds=Nu,s.selectFormIdentifiersOfForm=C_,s.selectFormMapping=ao,s.selectFormRevisionAttachmentById=Al,s.selectFormRevisionAttachments=Sl,s.selectFormRevisionAttachmentsByIds=Tl,s.selectFormRevisionAttachmentsMapping=Gt,s.selectFormRevisionById=El,s.selectFormRevisionMapping=wl,s.selectFormRevisions=Nt,s.selectFormRevisionsByIds=vl,s.selectFormRevisionsOfForm=Vl,s.selectFormSubmissionById=eh,s.selectFormSubmissionCommentById=ko,s.selectFormSubmissionCommentMapping=Uo,s.selectFormSubmissionComments=Wt,s.selectFormSubmissionCommentsByIds=Lo,s.selectFormSubmissionFieldValues=hi,s.selectFormSubmissionFieldValuesAttachmentById=fo,s.selectFormSubmissionFieldValuesAttachments=ri,s.selectFormSubmissionFieldValuesAttachmentsByIds=di,s.selectFormSubmissionFieldValuesAttachmentsMapping=ci,s.selectFormSubmissionFieldValuesById=Ro,s.selectFormSubmissionFieldValuesByIds=wo,s.selectFormSubmissionFieldValuesMapping=go,s.selectFormSubmissionFieldValuesOfFormSubmission=Eo,s.selectFormSubmissions=C,s.selectFormSubmissionsByIds=th,s.selectFormSubmissionsMapping=xo,s.selectFormSubmissionsOfAsset=nh,s.selectFormSubmissionsOfAssets=ch,s.selectFormSubmissionsOfForm=sh,s.selectFormSubmissionsOfIssue=ih,s.selectFormSubmissionsOfIssues=ah,s.selectFormSubmissionsOfOrganization=G_,s.selectFormSubmissionsOfOrganizationAndForm=W_,s.selectFormSubmissionsOfProject=N_,s.selectFormSubmissionsOfProjectAndForm=K_,s.selectFormSubscriberById=Hl,s.selectFormSubscriberMapping=Ll,s.selectFormSubscribers=Kt,s.selectFormSubscribersByIds=Gl,s.selectFormSubscribersOfForm=Nl,s.selectFormSubscribersOfUser=k_,s.selectForms=si,s.selectFormsByIds=co,s.selectFormsOfOrganization=L_,s.selectGeoImageById=Th,s.selectGeoImageMapping=Ah,s.selectGeoImages=Ai,s.selectGeoImagesByIds=Ih,s.selectGeoImagesOfProject=X_,s.selectIsLoggedIn=v_,s.selectIssueAssociationById=vh,s.selectIssueAssociationMapping=Eh,s.selectIssueAssociations=Tt,s.selectIssueAssociationsByIds=Vh,s.selectIssueAssociationsOfAsset=jh,s.selectIssueAssociationsOfAssets=Ch,s.selectIssueAssociationsOfIssue=zh,s.selectIssueAssociationsOfIssues=Bh,s.selectIssueAttachmentById=Xh,s.selectIssueAttachmentMapping=Kh,s.selectIssueAttachments=Pi,s.selectIssueAttachmentsByIds=Yh,s.selectIssueById=Bp,s.selectIssueCommentAttachmentById=dp,s.selectIssueCommentAttachmentMapping=rp,s.selectIssueCommentAttachments=_i,s.selectIssueCommentAttachmentsByIds=up,s.selectIssueCommentById=Op,s.selectIssueCommentMapping=gi,s.selectIssueCommentsByIds=bp,s.selectIssueMapping=Vp,s.selectIssueTypeAttachmentById=Xp,s.selectIssueTypeAttachmentMapping=Wp,s.selectIssueTypeAttachments=Vi,s.selectIssueTypeAttachmentsByIds=Yp,s.selectIssueTypeById=Zm,s.selectIssueTypeFieldValues=Yt,s.selectIssueTypeFieldValuesAttachmentById=Xy,s.selectIssueTypeFieldValuesAttachments=Ui,s.selectIssueTypeFieldValuesAttachmentsByIds=Yy,s.selectIssueTypeFieldValuesAttachmentsMapping=Wy,s.selectIssueTypeFieldValuesById=by,s.selectIssueTypeFieldValuesByIds=Py,s.selectIssueTypeFieldValuesMapping=Oy,s.selectIssueTypeFieldValuesOfIssue=eM,s.selectIssueTypeFields=Mt,s.selectIssueTypeFieldsAttachmentById=dy,s.selectIssueTypeFieldsAttachments=zi,s.selectIssueTypeFieldsAttachmentsByIds=uy,s.selectIssueTypeFieldsAttachmentsMapping=ry,s.selectIssueTypeFieldsById=Cy,s.selectIssueTypeFieldsByIds=Dy,s.selectIssueTypeFieldsMapping=jy,s.selectIssueTypeFieldsOfIssueType=tM,s.selectIssueTypeIdentifierById=um,s.selectIssueTypeIdentifierMapping=dm,s.selectIssueTypeIdentifierValueById=Pm,s.selectIssueTypeIdentifierValueMapping=bm,s.selectIssueTypeIdentifierValues=Zt,s.selectIssueTypeIdentifierValuesByIds=Fm,s.selectIssueTypeIdentifierValuesOfIdentifier=cM,s.selectIssueTypeIdentifierValuesOfIssue=nM,s.selectIssueTypeIdentifiers=Li,s.selectIssueTypeIdentifiersByIds=lm,s.selectIssueTypeIdentifiersOfIssueType=aM,s.selectIssueTypeMapping=Ym,s.selectIssueTypePriorities=Ni,s.selectIssueTypePrioritiesByIds=Dm,s.selectIssueTypePrioritiesOfIssueType=rM,s.selectIssueTypePriorityById=Ki,s.selectIssueTypePriorityMapping=Cm,s.selectIssueTypeStatusById=Ji,s.selectIssueTypeStatusMapping=lf,s.selectIssueTypeStatuses=Zi,s.selectIssueTypeStatusesByIds=of,s.selectIssueTypeStatusesOfIssueType=uM,s.selectIssueTypeValuesOfIssueType=iM,s.selectIssueTypes=Xi,s.selectIssueTypesByIds=Jm,s.selectIssueTypesOfOrganization=dM,s.selectIssueUpdateById=Tf,s.selectIssueUpdateMapping=ia,s.selectIssueUpdates=aa,s.selectIssueUpdatesByIds=If,s.selectIssueUpdatesOfIssue=Of,s.selectIssues=Xt,s.selectIssuesByIds=zp,s.selectIssuesOfIssueType=jp,s.selectIssuesOfProject=J_,s.selectLatestAssetTypeFieldsOfAssetType=I_,s.selectLatestFieldsByProcedureStep=kM,s.selectLatestFormRevisionOfForm=U_,s.selectLatestIssueTypeFieldsOfIssueType=sM,s.selectLatestProcedureStepFieldValuesReviewByProcedureStepFieldValues=XM,s.selectLatestProcedureStepFieldsOfProcedureStep=UM,s.selectLatestProcedureTypeFieldsOfProcedureType=ig,s.selectLatestRetryTime=mM,s.selectLatestReviewOfProcedureStepFieldValues=NM,s.selectMembershipsByUserOfTeam=ug,s.selectOrganizationAccessById=Nf,s.selectOrganizationAccessMapping=xt,s.selectOrganizationAccessUserMapping=Wf,s.selectOrganizationAccessesByIds=Kf,s.selectOrganizationById=cS,s.selectOrganizationDocuments=z_,s.selectOrganizations=nS,s.selectOrganizationsByIds=rS,s.selectOrganizationsMapping=aS,s.selectProcedureById=tT,s.selectProcedureFieldValues=sn,s.selectProcedureFieldValuesAttachmentById=cP,s.selectProcedureFieldValuesAttachments=en,s.selectProcedureFieldValuesAttachmentsByIds=rP,s.selectProcedureFieldValuesAttachmentsMapping=nP,s.selectProcedureFieldValuesById=OP,s.selectProcedureFieldValuesByIds=bP,s.selectProcedureFieldValuesMapping=IP,s.selectProcedureInitiativeById=HA,s.selectProcedureInitiatives=ss,s.selectProcedureInitiativesByIds=GA,s.selectProcedureInitiativesMapping=LA,s.selectProcedureInitiativesOfProcedureType=MM,s.selectProcedureInitiativesOfProject=_M,s.selectProcedureStepAssigneeById=AT,s.selectProcedureStepAssignees=Rt,s.selectProcedureStepAssigneesByIds=TT,s.selectProcedureStepAssigneesMapping=ST,s.selectProcedureStepAssigneesOfProcedure=RM,s.selectProcedureStepAssigneesOfProcedureAndProcedureStep=EM,s.selectProcedureStepAssigneesOfProcedureStep=wM,s.selectProcedureStepById=cb,s.selectProcedureStepCommentById=VT,s.selectProcedureStepComments=wt,s.selectProcedureStepCommentsByIds=BT,s.selectProcedureStepCommentsMapping=vT,s.selectProcedureStepCommentsOfProcedure=vM,s.selectProcedureStepCommentsOfProcedureAndProcedureStep=BM,s.selectProcedureStepCommentsOfProcedureStep=VM,s.selectProcedureStepDefaultAssigneeById=KT,s.selectProcedureStepDefaultAssignees=Fa,s.selectProcedureStepDefaultAssigneesByIds=WT,s.selectProcedureStepDefaultAssigneesMapping=NT,s.selectProcedureStepDefaultAssigneesOfProcedureStep=zM,s.selectProcedureStepDefaultReviewerById=cI,s.selectProcedureStepDefaultReviewers=Ma,s.selectProcedureStepDefaultReviewersByIds=rI,s.selectProcedureStepDefaultReviewersMapping=nI,s.selectProcedureStepDefaultReviewersOfProcedureStep=jM,s.selectProcedureStepEventById=II,s.selectProcedureStepEvents=Et,s.selectProcedureStepEventsByIds=OI,s.selectProcedureStepEventsMapping=TI,s.selectProcedureStepEventsOfProcedure=CM,s.selectProcedureStepEventsOfProcedureAndProcedureStep=qM,s.selectProcedureStepEventsOfProcedureStep=DM,s.selectProcedureStepFieldValues=ht,s.selectProcedureStepFieldValuesAttachmentById=aO,s.selectProcedureStepFieldValuesAttachments=Da,s.selectProcedureStepFieldValuesAttachmentsByIds=nO,s.selectProcedureStepFieldValuesAttachmentsMapping=iO,s.selectProcedureStepFieldValuesById=IO,s.selectProcedureStepFieldValuesByIds=OO,s.selectProcedureStepFieldValuesMapping=TO,s.selectProcedureStepFieldValuesOfProcedure=LM,s.selectProcedureStepFieldValuesOfProcedureAndProcedureStep=GM,s.selectProcedureStepFieldValuesOfProcedureStep=HM,s.selectProcedureStepFieldValuesReviewById=vO,s.selectProcedureStepFieldValuesReviews=pt,s.selectProcedureStepFieldValuesReviewsByIds=VO,s.selectProcedureStepFieldValuesReviewsMapping=EO,s.selectProcedureStepFieldValuesReviewsOfProcedure=KM,s.selectProcedureStepFieldValuesReviewsOfProcedureAndProcedureStep=WM,s.selectProcedureStepFields=is,s.selectProcedureStepFieldsAttachmentById=BI,s.selectProcedureStepFieldsAttachments=va,s.selectProcedureStepFieldsAttachmentsByIds=zI,s.selectProcedureStepFieldsAttachmentsMapping=vI,s.selectProcedureStepFieldsById=KI,s.selectProcedureStepFieldsByIds=WI,s.selectProcedureStepFieldsMapping=Ba,s.selectProcedureStepFieldsOfProcedureStep=$M,s.selectProcedureStepReviewerById=KO,s.selectProcedureStepReviewers=vt,s.selectProcedureStepReviewersByIds=WO,s.selectProcedureStepReviewersMapping=NO,s.selectProcedureStepReviewersOfProcedure=YM,s.selectProcedureStepReviewersOfProcedureAndProcedureStep=JM,s.selectProcedureStepReviewersOfProcedureStep=ZM,s.selectProcedureSteps=Na,s.selectProcedureStepsByIds=rb,s.selectProcedureStepsMapping=Ga,s.selectProcedureStepsMappingOfProcedureType=QM,s.selectProcedureStepsOfProcedureType=xM,s.selectProcedureTypeAttachmentById=Ib,s.selectProcedureTypeAttachmentMapping=Tb,s.selectProcedureTypeAttachments=Wa,s.selectProcedureTypeAttachmentsByIds=Ob,s.selectProcedureTypeById=jP,s.selectProcedureTypeFields=as,s.selectProcedureTypeFieldsAttachmentById=zb,s.selectProcedureTypeFieldsAttachments=Ya,s.selectProcedureTypeFieldsAttachmentsByIds=jb,s.selectProcedureTypeFieldsAttachmentsMapping=Bb,s.selectProcedureTypeFieldsById=Xb,s.selectProcedureTypeFieldsByIds=Yb,s.selectProcedureTypeFieldsMapping=Wb,s.selectProcedureTypeFieldsOfProcedureType=sg,s.selectProcedureTypes=nn,s.selectProcedureTypesByIds=CP,s.selectProcedureTypesMapping=zP,s.selectProcedureTypesOfOrganization=ng,s.selectProcedures=ot,s.selectProceduresByIds=sT,s.selectProceduresMapping=eT,s.selectProceduresOfAsset=aT,s.selectProceduresOfAssets=nT,s.selectProceduresOfProcedureInitiative=cT,s.selectProceduresOfProcedureType=iT,s.selectProceduresOfProject=gM,s.selectProjectAccessById=MS,s.selectProjectAccessMapping=pa,s.selectProjectAccesses=gt,s.selectProjectAccessesByIds=gS,s.selectProjectAccessesOfProject=SM,s.selectProjectAttachmentById=$S,s.selectProjectAttachmentMapping=qS,s.selectProjectAttachments=ma,s.selectProjectAttachmentsByIds=US,s.selectProjectById=wA,s.selectProjectCommentById=xS,s.selectProjectCommentMapping=QS,s.selectProjectComments=es,s.selectProjectCommentsByIds=eA,s.selectProjectDocuments=B_,s.selectProjectFileById=yA,s.selectProjectFileMapping=hA,s.selectProjectFiles=pA,s.selectProjectFilesByIds=mA,s.selectProjectMapping=RA,s.selectProjects=ts,s.selectProjectsByIds=EA,s.selectProjectsOfOrganization=FM,s.selectRehydrated=dg,s.selectReportById=ZP,s.selectReportMapping=XP,s.selectReports=YP,s.selectReportsByIds=JP,s.selectReviewsOfProcedureStepFieldValues=BO,s.selectTeamById=FF,s.selectTeamMembershipById=oF,s.selectTeamMemberships=ns,s.selectTeamMembershipsByIds=hF,s.selectTeamMembershipsMapping=lF,s.selectTeams=ln,s.selectTeamsByIds=_F,s.selectTeamsMapping=PF,s.selectTeamsOfOrganization=og,s.selectUserById=Qt,s.selectUsers=Jt,s.selectUsersByIds=Bf,s.selectUsersMapping=da,s.selectUsersOfOrganization=pM,s.selectUsersOfProject=TM,s.selectUsersOfTeam=lg,s.setAsset=Tc,s.setAssetAttachment=wn,s.setAssetAttachments=En,s.setAssetComment=sc,s.setAssetCommentAttachment=Hn,s.setAssetCommentAttachments=Gn,s.setAssetComments=ic,s.setAssetType=fd,s.setAssetTypeAttachment=wc,s.setAssetTypeAttachments=Ec,s.setAssetTypeFieldValues=Er,s.setAssetTypeFieldValuesAttachment=fr,s.setAssetTypeFieldValuesAttachments=Sr,s.setAssetTypeFieldValuesMany=vr,s.setAssetTypeFields=ir,s.setAssetTypeFieldsAttachment=Hc,s.setAssetTypeFieldsAttachments=Gc,s.setAssetTypeFieldsMany=ar,s.setAssetTypeIdentifier=Gr,s.setAssetTypeIdentifierValue=ad,s.setAssetTypeIdentifierValues=nd,s.setAssetTypeIdentifiers=Nr,s.setAssetTypeStatus=Vd,s.setAssetTypeStatuses=Bd,s.setAssetTypes=Sd,s.setAssets=Ic,s.setClientSDK=ZF,s.setClientStore=XF,s.setConversation=Pn,s.setConversations=l_,s.setCurrentUser=lM,s.setCurrentUserProfile=oM,s.setDocument=uu,s.setDocumentAttachment=Yd,s.setDocumentAttachments=Zd,s.setDocuments=lu,s.setEmailDomain=Pu,s.setEmailDomains=Fu,s.setForm=Jl,s.setFormIdentifier=Du,s.setFormIdentifierValue=Ju,s.setFormIdentifierValues=Qu,s.setFormIdentifiers=qu,s.setFormRevision=Fl,s.setFormRevisionAttachment=ol,s.setFormRevisionAttachments=hl,s.setFormRevisions=_l,s.setFormSubmission=Wo,s.setFormSubmissionComment=jo,s.setFormSubmissionComments=Co,s.setFormSubmissionFieldValues=bo,s.setFormSubmissionFieldValuesAttachment=oo,s.setFormSubmissionFieldValuesAttachments=ho,s.setFormSubmissionFieldValuesMany=Po,s.setFormSubmissions=Xo,s.setFormSubscriber=Dl,s.setFormSubscribers=ql,s.setForms=Ql,s.setGeoImage=lh,s.setGeoImages=oh,s.setIssue=gp,s.setIssueAssociation=_h,s.setIssueAssociations=Fh,s.setIssueAttachment=kh,s.setIssueAttachments=Lh,s.setIssueComment=mp,s.setIssueCommentAttachment=tp,s.setIssueCommentAttachments=sp,s.setIssueComments=fp,s.setIssueType=Hm,s.setIssueTypeAttachment=kp,s.setIssueTypeAttachments=Lp,s.setIssueTypeFieldValues=my,s.setIssueTypeFieldValuesAttachment=Ly,s.setIssueTypeFieldValuesAttachments=Hy,s.setIssueTypeFieldValuesMany=fy,s.setIssueTypeFields=wy,s.setIssueTypeFieldsAttachment=ty,s.setIssueTypeFieldsAttachments=sy,s.setIssueTypeFieldsMany=Ey,s.setIssueTypeIdentifier=sm,s.setIssueTypeIdentifierValue=fm,s.setIssueTypeIdentifierValues=Sm,s.setIssueTypeIdentifiers=im,s.setIssueTypePriorities=vm,s.setIssueTypePriority=Em,s.setIssueTypeStatus=af,s.setIssueTypeStatuses=nf,s.setIssueTypes=Gm,s.setIssueUpdate=mf,s.setIssueUpdates=ff,s.setIssues=Rp,s.setLoggedIn=Hd,s.setOrganization=Jf,s.setOrganizationAccess=qf,s.setOrganizationAccesses=$f,s.setOrganizations=Zf,s.setProcedure=XA,s.setProcedureFieldValues=pP,s.setProcedureFieldValuesAttachment=xb,s.setProcedureFieldValuesAttachments=eP,s.setProcedureFieldValuesMany=yP,s.setProcedureInitiative=jA,s.setProcedureInitiatives=CA,s.setProcedureStep=JO,s.setProcedureStepAssignee=oT,s.setProcedureStepAssignees=hT,s.setProcedureStepComment=_T,s.setProcedureStepComments=MT,s.setProcedureStepDefaultAssignee=$T,s.setProcedureStepDefaultAssignees=UT,s.setProcedureStepDefaultReviewer=xT,s.setProcedureStepDefaultReviewers=eI,s.setProcedureStepEvent=pI,s.setProcedureStepEvents=yI,s.setProcedureStepFieldValues=hO,s.setProcedureStepFieldValuesAttachment=QI,s.setProcedureStepFieldValuesAttachments=xI,s.setProcedureStepFieldValuesMany=pO,s.setProcedureStepFieldValuesReview=_O,s.setProcedureStepFieldValuesReviews=MO,s.setProcedureStepFields=UI,s.setProcedureStepFieldsAttachment=MI,s.setProcedureStepFieldsAttachments=gI,s.setProcedureStepFieldsMany=kI,s.setProcedureStepReviewer=$O,s.setProcedureStepReviewers=UO,s.setProcedureSteps=QO,s.setProcedureType=gP,s.setProcedureTypeAttachment=hb,s.setProcedureTypeAttachments=pb,s.setProcedureTypeFields=Ub,s.setProcedureTypeFieldsAttachment=Mb,s.setProcedureTypeFieldsAttachments=gb,s.setProcedureTypeFieldsMany=kb,s.setProcedureTypes=RP,s.setProcedures=YA,s.setProject=IA,s.setProjectAccess=TS,s.setProjectAccesses=IS,s.setProjectAttachment=VS,s.setProjectAttachments=BS,s.setProjectComment=KS,s.setProjectComments=WS,s.setProjectFile=aA,s.setProjectFiles=nA,s.setProjects=TA,s.setRehydrated=rg,s.setReport=LP,s.setReports=HP,s.setTeam=SF,s.setTeamMembership=iF,s.setTeamMemberships=aF,s.setTeams=AF,s.setTokens=R_,s.setUser=Mf,s.setUsers=_f,s.teamMembershipReducer=uF,s.teamMembershipSlice=dn,s.teamReducer=MF,s.teamSlice=un,s.updateAsset=fc,s.updateAssetAttachment=vn,s.updateAssetAttachments=Vn,s.updateAssetComment=ac,s.updateAssetCommentAttachment=Nn,s.updateAssetCommentAttachments=Kn,s.updateAssetComments=nc,s.updateAssetType=Id,s.updateAssetTypeAttachment=vc,s.updateAssetTypeAttachments=Vc,s.updateAssetTypeFieldValues=Vr,s.updateAssetTypeFieldValuesAttachment=Ar,s.updateAssetTypeFieldValuesAttachments=Tr,s.updateAssetTypeFieldValuesMany=Br,s.updateAssetTypeFields=nr,s.updateAssetTypeFieldsAttachment=Nc,s.updateAssetTypeFieldsAttachments=Kc,s.updateAssetTypeFieldsMany=cr,s.updateAssetTypeIdentifier=Kr,s.updateAssetTypeIdentifierValue=cd,s.updateAssetTypeIdentifierValues=rd,s.updateAssetTypeIdentifiers=Wr,s.updateAssetTypeStatus=zd,s.updateAssetTypeStatuses=jd,s.updateAssetTypes=Od,s.updateAssets=Sc,s.updateConversation=Fn,s.updateConversations=o_,s.updateDocument=ou,s.updateDocumentAttachment=Jd,s.updateDocumentAttachments=Qd,s.updateDocuments=hu,s.updateEmailDomain=_u,s.updateEmailDomains=Mu,s.updateForm=xl,s.updateFormIdentifier=$u,s.updateFormIdentifierValue=xu,s.updateFormIdentifierValues=el,s.updateFormIdentifiers=Uu,s.updateFormRevision=Ml,s.updateFormRevisionAttachment=pl,s.updateFormRevisionAttachments=yl,s.updateFormRevisions=gl,s.updateFormSubmission=Zo,s.updateFormSubmissionComment=Do,s.updateFormSubmissionComments=qo,s.updateFormSubmissionFieldValues=Fo,s.updateFormSubmissionFieldValuesAttachment=po,s.updateFormSubmissionFieldValuesAttachments=yo,s.updateFormSubmissionFieldValuesMany=_o,s.updateFormSubmissions=Jo,s.updateFormSubscriber=$l,s.updateFormSubscribers=Ul,s.updateForms=eo,s.updateGeoImage=yh,s.updateGeoImages=mh,s.updateIssue=wp,s.updateIssueAssociation=Mh,s.updateIssueAssociations=gh,s.updateIssueAttachment=Hh,s.updateIssueAttachments=Gh,s.updateIssueComment=Sp,s.updateIssueCommentAttachment=ip,s.updateIssueCommentAttachments=ap,s.updateIssueComments=Ap,s.updateIssueType=Nm,s.updateIssueTypeAttachment=Hp,s.updateIssueTypeAttachments=Gp,s.updateIssueTypeFieldValues=Sy,s.updateIssueTypeFieldValuesAttachment=Gy,s.updateIssueTypeFieldValuesAttachments=Ny,s.updateIssueTypeFieldValuesMany=Ay,s.updateIssueTypeFields=vy,s.updateIssueTypeFieldsAttachment=iy,s.updateIssueTypeFieldsAttachments=ay,s.updateIssueTypeFieldsMany=Vy,s.updateIssueTypeIdentifier=am,s.updateIssueTypeIdentifierValue=Am,s.updateIssueTypeIdentifierValues=Tm,s.updateIssueTypeIdentifiers=nm,s.updateIssueTypePriorities=Bm,s.updateIssueTypePriority=Vm,s.updateIssueTypeStatus=cf,s.updateIssueTypeStatuses=rf,s.updateIssueTypes=Km,s.updateIssueUpdate=Sf,s.updateIssueUpdates=Af,s.updateIssues=Ep,s.updateOrganization=tS,s.updateOrganizationAccess=Uf,s.updateOrganizationAccesses=kf,s.updateOrganizations=eS,s.updateProcedure=ZA,s.updateProcedureFieldValues=mP,s.updateProcedureFieldValuesAttachment=tP,s.updateProcedureFieldValuesAttachments=sP,s.updateProcedureFieldValuesMany=fP,s.updateProcedureInitiative=DA,s.updateProcedureInitiatives=qA,s.updateProcedureStep=tb,s.updateProcedureStepAssignee=pT,s.updateProcedureStepAssignees=yT,s.updateProcedureStepComment=gT,s.updateProcedureStepComments=RT,s.updateProcedureStepDefaultAssignee=kT,s.updateProcedureStepDefaultAssignees=LT,s.updateProcedureStepDefaultReviewer=tI,s.updateProcedureStepDefaultReviewers=sI,s.updateProcedureStepEvent=mI,s.updateProcedureStepEvents=fI,s.updateProcedureStepFieldValues=yO,s.updateProcedureStepFieldValuesAttachment=eO,s.updateProcedureStepFieldValuesAttachments=tO,s.updateProcedureStepFieldValuesMany=mO,s.updateProcedureStepFieldValuesReview=gO,s.updateProcedureStepFieldValuesReviews=RO,s.updateProcedureStepFields=LI,s.updateProcedureStepFieldsAttachment=RI,s.updateProcedureStepFieldsAttachments=wI,s.updateProcedureStepFieldsMany=HI,s.updateProcedureStepReviewer=kO,s.updateProcedureStepReviewers=LO,s.updateProcedureSteps=sb,s.updateProcedureType=wP,s.updateProcedureTypeAttachment=yb,s.updateProcedureTypeAttachments=mb,s.updateProcedureTypeFields=Lb,s.updateProcedureTypeFieldsAttachment=Rb,s.updateProcedureTypeFieldsAttachments=wb,s.updateProcedureTypeFieldsMany=Hb,s.updateProcedureTypes=EP,s.updateProcedures=JA,s.updateProject=FA,s.updateProjectAccess=OS,s.updateProjectAccesses=bS,s.updateProjectAttachment=zS,s.updateProjectAttachments=jS,s.updateProjectComment=XS,s.updateProjectComments=YS,s.updateProjectFile=dA,s.updateProjectFiles=uA,s.updateProjects=PA,s.updateReport=GP,s.updateReports=NP,s.updateTeam=TF,s.updateTeamMembership=nF,s.updateTeamMemberships=cF,s.updateTeams=IF,s.updateUser=wf,s.updateUsers=Rf,s.userReducer=vf,s.userSlice=na,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
|
|
13
|
+
external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(f)}return await this.cacheFile(p),p}processPresignedUrl(e,i){if("warning"in i){if(i.warning==="already_uploaded")return Promise.resolve(void 0);throw console.error(i.warning),new Error(i.warning)}return this.enqueueRequest({url:i.url,description:"Upload file to S3",method:o.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${i.fields.key}`,"s3-presigned-upload"],blocks:[e,"s3-presigned-upload"],s3url:i})}processPresignedUrls(e){const i={};for(const[a,n]of Object.entries(e))i[a]=this.processPresignedUrl(a,n);return i}async getFilePayload(e){const a={sha1:await rs(e),file_type:e.type,extension:t_(e),size:e.size};return await this.client.files.cacheFile(e),a}async cachePresignedUrl(e,i){if(Sn.has(e))return;const a=await this.getDB();!!await a.get("presignedUrls",e)?console.warn(`Attempting to add a presigned url already cached, ${i}`):await a.put("presignedUrls",i,e),Sn.add(e)}async uncachePresignedUrl(e){await(await this.getDB()).delete("presignedUrls",e),Sn.delete(e)}async getPresignedUrlFromCache(e){const i=await(await this.getDB()).get("presignedUrls",e);if(!i)return;if(d_(i)){await this.uncachePresignedUrl(e);return}return i}}class uR extends g{name="Form Identifier";url="/form-identifiers";actions={addOne:qu,addMany:$u,setOne:Uu,setMany:ku,updateOne:Lu,updateMany:Hu,deleteOne:Gu,deleteMany:Nu,initialize:Du};selectors={selectById:Wu,selectByIds:Xu};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(a(n)),n}}class lR extends g{name="Form Identifier Value";url="/form-identifier-values";actions={addOne:Qu,addMany:xu,setOne:el,setMany:tl,updateOne:sl,updateMany:il,deleteOne:al,deleteMany:nl,initialize:Ju};selectors={selectById:rl,selectByIds:dl};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form_submission,e.form_identifier],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class oR extends v{name="Form Revision Attachment";url="/form-revision-attachments";actions={addOne:hl,addMany:pl,setOne:ml,setMany:yl,updateOne:fl,updateMany:Sl,deleteOne:Al,deleteMany:Tl,initialize:ol};selectors={selectById:bl,selectByIds:Ol};getId(e){return e.uuid}getBlockers(e){return[e.form_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,form_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form_revision__form__organization:e}},i);return this.dispatch(a(n)),n}}class hR extends g{name="Form Revision";url="/form-revisions";actions={addOne:Ml,addMany:Js,setOne:gl,setMany:Rl,updateOne:wl,updateMany:El,deleteOne:vl,deleteMany:Qs,initialize:_l};selectors={selectById:Bl,selectByIds:zl};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(a(n)),n}}class pR extends g{name="Form";url="/forms";actions={addOne:Ql,addMany:xl,setOne:eo,setMany:to,updateOne:so,updateMany:io,deleteOne:ao,deleteMany:no,initialize:Jl};selectors={selectById:uo,selectByIds:lo};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected form with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error("Expected form to exist");const d=this.select(Th(e)),r=this.select(jl(e)),p=this.select(Xl(e));this.dispatch(i(e)),this.dispatch(ot(l.toUuidArray(d))),this.dispatch(Qs(l.toUuidArray(r))),this.dispatch(ti(l.toUuidArray(p)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(c)),this.dispatch(Js(r)),this.dispatch(lt(d)),this.dispatch(ei(p)),h}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class mR extends g{name="Form Subscriber";url="/form-subscribers";actions={addOne:$l,addMany:ei,setOne:Ul,setMany:kl,updateOne:Ll,updateMany:Hl,deleteOne:Gl,deleteMany:ti,initialize:ql};selectors={selectById:Kl,selectByIds:Wl};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,created_by:d,submitted_at:c});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected form subscriber with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{form__organization:e}},i);return this.dispatch(a(n)),n}}class yR extends v{name="Form Submission Field Values Attachment";url="/form-submission-field-values-attachments";actions={addOne:po,addMany:ni,setOne:mo,setMany:yo,updateOne:fo,updateMany:So,deleteOne:Ao,deleteMany:ci,initialize:ho};selectors={selectById:To,selectByIds:ui};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,n=this.select(ui(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(c){throw this.dispatch(a(n)),c}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,field_values__form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,field_values__form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class fR extends g{name="Form Submission Field Values";url="/form-submission-field-values";actions={addOne:Fo,addMany:oi,setOne:_o,setMany:Mo,updateOne:go,updateMany:Ro,deleteOne:wo,deleteMany:hi,initialize:Po};selectors={selectById:vo,selectByIds:Vo};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.form_submission],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{latest:!0,form_submission__organization:e}},i),this.listPaginated({queryParams:{latest:!0,form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class SR extends v{name="Form Submission Comment Attachment";url="/form-submission-comment-attachments";actions={addOne:Do,addMany:qo,setOne:$o,setMany:Uo,updateOne:ko,updateMany:Lo,deleteOne:Ho,deleteMany:Go,initialize:Co};selectors={selectById:Ko,selectByIds:Wo};getId(e){return e.uuid}getBlockers(e){return[e.form_submission_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,form_submission_comment:e.form_submission_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,form_submission_comment:e.form_submission_comment}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{form_submission_comment__form_submission__organization:e}},i),this.listPaginated({queryParams:{form_submission_comment__form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class AR extends g{name="Form Submission Comment";url="/form-submission-comments";actions={addOne:Jo,addMany:Si,setOne:Qo,setMany:xo,updateOne:eh,updateMany:th,deleteOne:sh,deleteMany:Ai,initialize:Zo};selectors={selectById:ah,selectByIds:nh};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.form_submission],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Form submission comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Form submission comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{form_submission__organization:e}},i),this.listPaginated({queryParams:{form_submission__project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class TR extends g{name="Form Submission";url="/form-submissions";actions={addOne:hh,addMany:lt,setOne:lh,setMany:oh,updateOne:ph,updateMany:mh,deleteOne:yh,deleteMany:ot,initialize:uh};selectors={selectById:Sh,selectByIds:Ah};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.form_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(Bo(e)),r=d.flatMap(({uuid:h})=>this.select(Io(h))),p=this.select(ch(e));this.dispatch(i(e)),this.dispatch(hi(l.toUuidArray(d))),this.dispatch(ci(l.toUuidArray(r))),this.dispatch(Ai(l.toUuidArray(p)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(a(c)),this.dispatch(oi(d)),this.dispatch(ni(r)),this.dispatch(Si(p)),h}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await Promise.all([this.listPaginated({queryParams:{organization:e}},i),this.listPaginated({queryParams:{project__organization:e}},i)])).flatMap(d=>d.flat());return this.dispatch(a(c)),c}}class IR extends v{name="Geo Image";url="/geo-images";actions={addOne:wh,addMany:Eh,setOne:gh,setMany:Rh,updateOne:vh,updateMany:Vh,deleteOne:Bh,deleteMany:zh,initialize:Mh};selectors={selectById:Ch,selectByIds:Dh};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,direction:e.direction,original_date:e.original_date,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,direction:e.direction,original_date:e.original_date,project:e.project}}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Geo image with uuid ${e.uuid} does not exist in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{project:e}},i);return this.dispatch(a(n)),n}}class bR extends g{name="Issue Association";url="/issue-associations";actions={addOne:Nh,addMany:At,setOne:Lh,setMany:kh,updateOne:Hh,updateMany:Gh,deleteOne:Kh,deleteMany:Tt,initialize:Uh};selectors={selectById:Xh,selectByIds:Yh};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.asset],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e){const{addMany:i,deleteMany:a,updateMany:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(h=>l.uuidObj({...h,submitted_at:d,created_by:c}));this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{payloads:r.map(h=>M(h)),submitted_at:d},blockers:r.flatMap(h=>[h.issue,h.asset]),blocks:l.toUuidArray(r)});return p.then(h=>{this.dispatch(n(h))}).catch(()=>{this.dispatch(a(l.toUuidArray(r)))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class OR extends v{name="Issue Attachment";url="/issue-attachments";actions={addOne:ip,addMany:Fi,setOne:ap,setMany:np,updateOne:cp,updateMany:rp,deleteOne:dp,deleteMany:_i,initialize:sp};selectors={selectById:op,selectByIds:hp};getId(e){return e.uuid}getBlockers(e){return[e.issue]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class PR extends v{name="Issue Comment Attachment";url="/issue-comment-attachments";actions={addOne:fp,addMany:Sp,setOne:Ap,setMany:Tp,updateOne:Ip,updateMany:bp,deleteOne:Op,deleteMany:Pp,initialize:yp};selectors={selectById:_p,selectByIds:Mp};getId(e){return e.uuid}getBlockers(e){return[e.issue_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class FR extends g{name="Issue Comment";url="/issue-comments";actions={addOne:Ep,addMany:vp,setOne:Vp,setMany:Bp,updateOne:zp,updateMany:jp,deleteOne:Cp,deleteMany:Dp,initialize:wp};selectors={selectById:qp,selectByIds:$p};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser.id),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[e.issue],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}class _R extends g{name="Issue";url="/issues";actions={addOne:Hp,addMany:Vi,setOne:Gp,setMany:Np,updateOne:Kp,updateMany:Wp,deleteOne:Xp,deleteMany:Bi,initialize:Lp};selectors={selectById:Zp,selectByIds:Jp};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=new Date().toISOString(),d=this.select(h=>h.userReducer.currentUser?.id??null),r=l.uuidObj({...e,submitted_at:c,created_by:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.project,r.issue_type,r.status,r.priority],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(h=>{throw this.dispatch(n(r.uuid)),h}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const c={...n,...e};this.dispatch(i(c));const d={};for(const h of[l.IssueUpdateChange.TITLE,l.IssueUpdateChange.DESCRIPTION,l.IssueUpdateChange.STATUS,l.IssueUpdateChange.PRIORITY,l.IssueUpdateChange.ASSIGNED_TO,l.IssueUpdateChange.DUE_DATE])if(h in e&&e[h]!==n[h])switch(h){case l.IssueUpdateChange.PRIORITY:{const f=e[h],A=this.select(Yi(f));if(!A)throw new Error(`Trying to update issue type priority with ${f} which does not exist in store`);d[h]={name:A.name,color:A.color,uuid:A.uuid};break}case l.IssueUpdateChange.DUE_DATE:d[h]=e.due_date;break;case l.IssueUpdateChange.DESCRIPTION:d[h]=e.description??"";break;case l.IssueUpdateChange.TITLE:d[h]=e.title??"";break;case l.IssueUpdateChange.STATUS:{const f=e[h],A=this.select(ea(f));if(!A)throw new Error(`Trying to update issue type status with ${f} which does not exist in store`);d[h]={name:A.name,color:A.color,uuid:A.uuid};break}case l.IssueUpdateChange.ASSIGNED_TO:{const f=e[h];if(f===null)d[h]=null;else{const A=this.select(xt(f));if(!A)throw new Error(`Trying to update assigned to with ${f} which does not exist in store.`);d[h]={full_name:A.username,id:A.id}}break}}const r=l.uuidObj({created_by:this.select(h=>h.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString(),issue:n.uuid,changes:d});this.dispatch(sa(r));const p=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return p.then(h=>{this.dispatch(i(h))}).catch(()=>{this.dispatch(i(n)),this.dispatch(aa(r.uuid))}),[c,p]}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} issues that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=ut.v4(),_=l.toUuidArray(S),F=S.map(({status:R})=>R).filter(Boolean),w=S.map(({priority:R})=>R).filter(Boolean),V=this.enqueueRequest({description:y(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_).concat(F).concat(w),blocks:[P].concat(_)});A.push(V),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No issue with uuid ${e} found in the store`);const d=this.select(Jh(e)),r=this.select(lp(e)),p=this.select(qf(e)),h=this.select(Ih(e));this.dispatch(i(e)),this.dispatch(_i(l.toUuidArray(r))),this.dispatch(na(l.toUuidArray(p))),this.dispatch(Tt(l.toUuidArray(d))),this.dispatch(ot(l.toUuidArray(h)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(a(c)),this.dispatch(Fi(r)),this.dispatch(ia(p)),this.dispatch(At(d)),this.dispatch(lt(h)),f}}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e)),d=this.select(Zh(e)),r=this.select(bh(e));this.dispatch(a(e)),this.dispatch(Tt(l.toUuidArray(d))),this.dispatch(ot(l.toUuidArray(r)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(p){throw this.dispatch(i(c)),this.dispatch(At(d)),this.dispatch(lt(r)),p}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class MR extends v{name="Issue Type Attachment";url="/issue-type-attachments";actions={addOne:sm,addMany:im,setOne:am,setMany:nm,updateOne:cm,updateMany:rm,deleteOne:dm,deleteMany:um,initialize:tm};selectors={selectById:om,selectByIds:hm};getId(e){return e.uuid}getBlockers(e){return[e.issue_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class gR extends v{name="Issue Type Fields Attachment";url="/issue-type-fields-attachments";actions={addOne:fm,addMany:Sm,setOne:Am,setMany:Tm,updateOne:Im,updateMany:bm,deleteOne:Om,deleteMany:Pm,initialize:ym};selectors={selectById:_m,selectByIds:Mm};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class RR extends g{name="Issue Type Fields";url="/issue-type-fields";actions={addOne:Gm,addMany:Nm,setOne:Km,setMany:Wm,updateOne:Xm,updateMany:Ym,deleteOne:Zm,deleteMany:Jm,initialize:Hm};selectors={selectById:xm,selectByIds:ey};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(h=>{throw this.dispatch(n(r.uuid)),h}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class wR extends v{name="Issue Type Field Values Attachment";url="/issue-type-field-values-attachments";actions={addOne:ay,addMany:ki,setOne:ny,setMany:cy,updateOne:ry,updateMany:dy,deleteOne:uy,deleteMany:Li,initialize:iy};selectors={selectById:oy,selectByIds:hy};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class ER extends g{name="Issue Type Field Values";url="/issue-type-field-values";actions={addOne:Em,addMany:vm,setOne:Vm,setMany:Bm,updateOne:zm,updateMany:jm,deleteOne:Cm,deleteMany:Dm,initialize:wm};selectors={selectById:$m,selectByIds:Um};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.issue],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(py(e));this.dispatch(i(e)),this.dispatch(Li(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(ki(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class vR extends g{name="Issue Type Identifier";url="/issue-type-identifiers";actions={addOne:Sy,addMany:Ay,setOne:Ty,setMany:Iy,updateOne:by,updateMany:Oy,deleteOne:Py,deleteMany:Fy,initialize:fy};selectors={selectById:My,selectByIds:gy};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class VR extends g{name="Issue Type Identifier Value";url="/issue-type-identifier-values";actions={addOne:vy,addMany:Vy,setOne:By,setMany:zy,updateOne:jy,updateMany:Cy,deleteOne:Dy,deleteMany:qy,initialize:Ey};selectors={selectById:Uy,selectByIds:ky};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue,e.issue_type_identifier],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class BR extends g{name="Issue Type Priority";url="/issue-type-priorities";actions={addOne:Ny,addMany:Ky,setOne:Wy,setMany:Xy,updateOne:Yy,updateMany:Zy,deleteOne:Jy,deleteMany:Qy,initialize:Gy};selectors={selectById:Yi,selectByIds:ef};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected an existing issue type priority with uuid ${e.uuid}`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No issue type priority with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class zR extends g{name="Issue Type";url="/issue-types";actions={addOne:nf,addMany:cf,setOne:rf,setMany:df,updateOne:uf,updateMany:lf,deleteOne:of,deleteMany:hf,initialize:af};selectors={selectById:mf,selectByIds:yf};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,submitted_at:d,created_by:c});this.dispatch(i(r));const p=this.enqueueRequest({method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const d=this.select(Qp(e));this.dispatch(a(e)),this.dispatch(Bi(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(i(c)),this.dispatch(Vi(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class jR extends g{name="Issue Type Status";url="/issue-type-statuses";actions={addOne:Tf,addMany:If,setOne:bf,setMany:Of,updateOne:Pf,updateMany:Ff,deleteOne:_f,deleteMany:Mf,initialize:Af};selectors={selectById:ea,selectByIds:Rf};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.issue_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{issue_type__organization:e}},i);return this.dispatch(a(n)),n}}class CR extends g{name="Issue Update";url="/issue-updates";actions={addOne:sa,addMany:ia,setOne:Vf,setMany:Bf,updateOne:zf,updateMany:jf,deleteOne:aa,deleteMany:na,initialize:vf};selectors={selectById:Cf,selectByIds:Df};async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},i)).flat();return this.dispatch(a(c)),c}}const DR=1800;function qR(t){if(!t.access)throw new Error("Missing access token");if(!t.refresh)throw new Error("Missing refresh token");return{accessToken:t.access,refreshToken:t.refresh}}class $R extends u_{_getRenewedTokens=async e=>{const i=this.performRequest({method:o.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let a;try{a=await i}catch(n){console.error("Could not renew tokens; clearing auth",n),this.clearAuth();return}if(!a.access)throw new Error("Missing access token");return{accessToken:a.access,refreshToken:a.refresh??this.getRefreshToken()}};clearAuth(){console.debug(this.constructor.name,"clearing auth;"),this.dispatch(Kd(!1)),this.clearTokens(),this.dispatch(T()),this.dispatch(T())}async renewTokens(){const e=this.getRefreshToken();if(!e)throw new Error("No refresh token found");console.debug(this.constructor.name,"renewing tokens");try{const i=await this._getRenewedTokens(e);if(!i)return;console.debug("Got renewed tokens"),this.setTokens(i)}catch(i){throw console.error("Could not renew tokens; clearing auth",i),this.clearAuth(),i}}tokenIsExpiringSoon(){const e=this.getAccessToken();if(!e)return!1;const i=Date.now()/1e3;let a;try{a=P_(e).exp??i}catch{a=i}return a-i<DR}getAuthHeader(){return`Bearer ${this.getAccessToken()}`}async prepareAuth(){if(this.tokenIsExpiringSoon()){console.debug(this.constructor.name,"preparing auth");try{await this.renewTokens()}catch(e){return e instanceof z&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??l.ERROR_MSG_UNEXPECTED).toString()))}}}async handleUnauthorized(e,i){if(e.url.endsWith("/token/refresh/"))throw this.select(a=>a.authReducer.isLoggedIn)&&console.warn("No signed-in user to sign out."),this.clearAuth(),new z({message:"You have been signed out due to inactivity.",response:i,discard:!0});if(this.select(a=>a.authReducer.isLoggedIn))await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new z({message:"Incorrect username or password.",response:i,discard:!0})}async initAuth(e){const i=ut.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:i,method:o.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(a=>{this.setTokens(qR(a))})}}class UR extends dt{name="Organization Access";url="/organization-accesses";actions={addOne:xf,addMany:eS,setOne:tS,setMany:sS,updateOne:iS,updateMany:aS,deleteOne:nS,deleteMany:cS,initialize:Qf};selectors={selectById:dS,selectByIds:uS};update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid)),c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(r=>{throw this.dispatch(i(n)),r}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e)),d=this.select(xt(c.user));this.dispatch(i(c.uuid)),this.dispatch(la(c.user));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${c.uuid}/`,blockers:[c.uuid],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(ua(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class kR extends dt{name="Organization";url="/organizations";actions={addOne:fS,addMany:yS,setOne:mS,setMany:pS,updateOne:AS,updateMany:SS,deleteOne:TS,deleteMany:IS,initialize:hS};selectors={selectById:PS,selectByIds:FS};async add(e){const{addOne:i}=this.actions,a=await this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:e,blockers:[],blocks:[]});return this.dispatch(i(a)),a}async update(e){const{updateOne:i}=this.actions,a=await this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return this.dispatch(i(a)),a}async invite(e,i){return this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/${e}/invite/${i}/`,blockers:[],blocks:[]})}async refreshStore(e){const{initialize:i}=this.actions,a=await this.list({},e);return this.dispatch(i(a)),a}}class LR extends g{name="Project Access";url="/project-accesses";actions={addOne:zS,addMany:jS,setOne:CS,setMany:DS,updateOne:qS,updateMany:$S,deleteOne:US,deleteMany:kS,initialize:BS};selectors={selectById:HS,selectByIds:GS};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.organization_access,c.project],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(r=>{throw this.dispatch(n(c.uuid)),r}),[c,d]}bulkAdd(e){const{addMany:i,deleteMany:a,updateMany:n}=this.actions,c=this.select(p=>p.userReducer.currentUser?.id??null),d=e.map(p=>l.uuidObj({...p,created_by:c}));this.dispatch(i(d));const r=this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{project_accesses:d.map(p=>M(p))},blockers:d.flatMap(p=>[p.project,p.organization_access]),blocks:d.map(p=>p.uuid)});return r.then(p=>{this.dispatch(n(p))}).catch(p=>{throw this.dispatch(a(d.map(h=>h.uuid))),p}),[d,r]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid)),c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return d.then(r=>{this.dispatch(i(r))}).catch(r=>{throw this.dispatch(i(n)),r}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{project__organization:e}},i);return this.dispatch(a(n)),n}}class HR extends v{name="Project Attachment";url="/project-attachments";actions={addOne:WS,addMany:XS,setOne:YS,setMany:ZS,updateOne:JS,updateMany:QS,deleteOne:xS,deleteMany:eA,initialize:KS};selectors={selectById:sA,selectByIds:iA};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{project__organization:e}},i);return this.dispatch(a(n)),n}}class GR extends g{name="Project Comment";url="/project-comments";actions={addOne:rA,addMany:dA,setOne:uA,setMany:lA,updateOne:oA,updateMany:hA,deleteOne:pA,deleteMany:mA,initialize:cA};selectors={selectById:fA,selectByIds:SA};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.project],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Project comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Project comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class NR extends v{name="Project File";url="/project-files";actions={addOne:PA,addMany:FA,setOne:bA,setMany:OA,updateOne:_A,updateMany:MA,deleteOne:gA,deleteMany:RA,initialize:IA};selectors={selectById:vA,selectByIds:VA};getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,bounds:e.bounds}}buildBulkPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,bounds:e.bounds}}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`${this.name} with uuid ${e.uuid} does not exist in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class KR extends dt{name="Project";url="/projects";actions={addOne:$A,addMany:qA,setOne:DA,setMany:CA,updateOne:kA,updateMany:UA,deleteOne:LA,deleteMany:HA,initialize:jA};selectors={selectById:KA,selectByIds:WA};async add(e){const{addOne:i}=this.actions,a=await this.performRequest({method:o.POST,url:`${this.url}/`,payload:M(e)});return this.dispatch(i(a)),a}async update(e){const{updateOne:i}=this.actions,a=await this.performRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e)});return this.dispatch(i(a)),a}async delete(e){const{deleteOne:i}=this.actions,a=await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(i(e)),a}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class WR extends dt{name="Report";url="/reports";actions={addOne:iF,addMany:aF,setOne:nF,setMany:cF,updateOne:rF,updateMany:dF,deleteOne:uF,deleteMany:lF,initialize:sF};selectors={selectById:pF,selectByIds:mF};async getPresignedUrl(e,i){return this.performRequest({url:`${this.url}/${e}/presigned-url/`,method:o.GET},i)}async refreshStore(e,i){const n=(await this.listPaginated({queryParams:{organization:e}},i)).flat();return this.dispatch(this.actions.initialize(n)),n}}class XR extends g{name="Procedure";url="/procedures";actions={addOne:lT,addMany:bt,setOne:oT,setMany:hT,updateOne:pT,updateMany:mT,deleteOne:yT,deleteMany:Ot,initialize:uT};selectors={selectById:AT,selectByIds:TT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_type,c.project,c.asset,...c.procedure_initiative?[c.procedure_initiative]:[]],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e,i){const{store:a}=this.client,{addMany:n,updateMany:c,deleteMany:d}=this.actions,r=new Date().toISOString(),p=a.getState().userReducer.currentUser?.id??null,h=[],f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];for(const S of f){const P=[],_=[],F=[];for(const V of S){const R=l.uuidObj({...V,submitted_at:r,created_by:p});h.push(R),P.push(M(R)),_.push(R.procedure_type,R.project,R.asset,...R.procedure_initiative?[R.procedure_initiative]:[]),F.push(R.uuid)}const w={payload:{submitted_at:r,payloads:P},blockers:_,blocks:F};A.push(w)}this.dispatch(n(h));const I=A.map(S=>{const{payload:P,blocks:_,blockers:F}=S;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:P,blockers:F,blocks:_})});return Promise.all(I).then(S=>{this.dispatch(c(S.flat()))}).catch(()=>{this.dispatch(d(l.toUuidArray(h)))}),[h,Promise.all(I).then(S=>S.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected procedure with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async bulkDelete(e){const{addMany:i,deleteMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(a(l.toUuidArray(c)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class YR extends g{name="Procedure Step Assignee";url="/procedure-step-assignees";actions={addOne:MT,addMany:gT,setOne:RT,setMany:wT,updateOne:ET,updateMany:vT,deleteOne:VT,deleteMany:BT,initialize:_T};selectors={selectById:jT,selectByIds:CT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:a,deleteMany:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(h=>l.uuidObj({...h,created_by:c,submitted_at:d}));this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_assignees:r.map(h=>M(h)),submitted_at:d},blockers:r.flatMap(h=>[h.procedure,h.procedure_step]),blocks:l.toUuidArray(r)});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(l.toUuidArray(r)))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step assignee with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class ZR extends g{name="Procedure Step Comment";url="/procedure-step-comments";actions={addOne:UT,addMany:kT,setOne:LT,setMany:HT,updateOne:GT,updateMany:NT,deleteOne:KT,deleteMany:WT,initialize:$T};selectors={selectById:YT,selectByIds:ZT};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Procedure step comment with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Procedure step comment with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class JR extends g{name="Procedure Step Default Assignee";url="/procedure-step-default-assignees";actions={addOne:eI,addMany:tI,setOne:sI,setMany:iI,updateOne:aI,updateMany:nI,deleteOne:cI,deleteMany:rI,initialize:xT};selectors={selectById:uI,selectByIds:lI};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step default assignee with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class QR extends g{name="Procedure Step Default Reviewer";url="/procedure-step-default-reviewers";actions={addOne:mI,addMany:yI,setOne:fI,setMany:SI,updateOne:AI,updateMany:TI,deleteOne:II,deleteMany:bI,initialize:pI};selectors={selectById:PI,selectByIds:FI};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step default reviewer with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class xR extends dt{name="Procedure Step Event";url="/procedure-step-events";actions={addOne:RI,addMany:wI,setOne:EI,setMany:vI,updateOne:VI,updateMany:BI,deleteOne:zI,deleteMany:jI,initialize:gI};selectors={selectById:DI,selectByIds:qI};async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class ew extends v{name="Procedure Step Fields Attachment";url="/procedure-step-fields-attachments";actions={addOne:LI,addMany:Va,setOne:HI,setMany:GI,updateOne:NI,updateMany:KI,deleteOne:WI,deleteMany:Ba,initialize:kI};selectors={selectById:ZI,selectByIds:JI};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){return l.uuidObj({...e,created_by:this.select(i=>i.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class tw extends g{name="Procedure Step Fields";url="/procedure-step-fields";actions={addOne:tb,addMany:sb,setOne:ib,setMany:ab,updateOne:nb,updateMany:cb,deleteOne:rb,deleteMany:db,initialize:eb};selectors={selectById:ub,selectByIds:lb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`No procedure step fields with uuid ${e.uuid} found in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step fields with uuid ${e} to exist`);const d=this.select(YI(e));this.dispatch(i(e)),this.dispatch(Ba(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(Va(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class sw extends v{name="Procedure Step Field Values Attachment";url="/procedure-step-field-values-attachments";actions={addOne:mb,addMany:qa,setOne:yb,setMany:fb,updateOne:Sb,updateMany:Ab,deleteOne:Tb,deleteMany:$a,initialize:pb};selectors={selectById:bb,selectByIds:Ob};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class iw extends g{name="Procedure Step Field Values Review";url="/procedure-step-field-values-reviews";actions={addOne:kb,addMany:Ha,setOne:Lb,setMany:Hb,updateOne:Gb,updateMany:Nb,deleteOne:Kb,deleteMany:Ga,initialize:Ub};selectors={selectById:Xb,selectByIds:Yb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.field_values],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Procedure step field values review with uuid ${e.uuid} not found in store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Procedure step field values review with uuid ${e} not found in store`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class aw extends g{name="Procedure Step Field Values";url="/procedure-step-field-values";actions={addOne:gb,addMany:Rb,setOne:wb,setMany:Eb,updateOne:vb,updateMany:Vb,deleteOne:Bb,deleteMany:zb,initialize:Mb};selectors={selectById:Db,selectByIds:qb};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.procedure,e.procedure_step,e.fields_revision],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(I=>I.userReducer.currentUser?.id??null),p=[],h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const I of h){const S=[],P=[],_=[];for(const F of I){const w=l.uuidObj({...F,values:F.values,created_by:r,submitted_at:d});p.push(w),S.push(M(w)),P.push(w.procedure_step,w.procedure,w.fields_revision),_.push(w.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:P,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:P,blockers:_}=I;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:P})});return Promise.all(A).then(I=>{this.dispatch(n(I.flat()))}).catch(()=>{this.dispatch(c(l.toUuidArray(p)))}),[p,Promise.all(A).then(I=>I.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.procedure,c.procedure_step,c.fields_revision],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e} to exist`);const d=this.select(Pb(e)),r=this.select(Zb(e));this.dispatch(i(e)),this.dispatch($a(l.toUuidArray(d))),this.dispatch(Ga(l.toUuidArray(r)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(qa(d)),this.dispatch(Ha(r)),p}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class nw extends g{name="Procedure Step Reviewer";url="/procedure-step-reviewers";actions={addOne:eO,addMany:tO,setOne:sO,setMany:iO,updateOne:aO,updateMany:nO,deleteOne:cO,deleteMany:rO,initialize:xb};selectors={selectById:uO,selectByIds:lO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:a,deleteMany:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=e.map(h=>l.uuidObj({...h,created_by:c,submitted_at:d}));this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_reviewers:r.map(h=>M(h)),submitted_at:d},blockers:r.flatMap(h=>[h.procedure,h.procedure_step]),blocks:r.map(h=>h.uuid)});return p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(l.toUuidArray(r)))}),[r,p]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure step reviewer with uuid ${e} to exist`);this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},i)).flat();return this.dispatch(a(c)),c}}class cw extends g{name="Procedure Initiative";url="/procedure-initiatives";actions={addOne:ZA,addMany:JA,setOne:QA,setMany:xA,updateOne:eT,updateMany:tT,deleteOne:sT,deleteMany:iT,initialize:YA};selectors={selectById:cT,selectByIds:rT};add(e){const{store:i}=this.client,{addOne:a,updateOne:n,deleteOne:c}=this.actions,d=l.uuidObj({...e,created_by:i.getState().userReducer.currentUser?.id??null,submitted_at:new Date().toISOString()});this.dispatch(a(d));const r=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.procedure_type,d.project],blocks:[d.uuid]});return r.then(p=>{this.dispatch(n(p))}).catch(()=>{this.dispatch(c(d.uuid))}),[d,r]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ${this.name} with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected ${this.name} with uuid ${e} to exist`);const d=this.select(PT(e));this.dispatch(i(e)),this.dispatch(Ot(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(bt(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},i)).flat();return this.dispatch(a(c)),c}}class rw extends g{name="Procedure Step";url="/procedure-steps";actions={addOne:fO,addMany:SO,setOne:mO,setMany:yO,updateOne:AO,updateMany:TO,deleteOne:IO,deleteMany:bO,initialize:pO};selectors={selectById:PO,selectByIds:FO};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_type],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`No procedure step with uuid ${e.uuid} found in the store`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${n.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`No procedure step with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(i(c)),d}}bulkUpdate(e,i){const{updateMany:a}=this.actions,{selectByIds:n}=this.selectors,c=l.toUuidArray(e);if(new Set(c).size!==e.length)throw new Error("payloads contains duplicate uuids.");const d=this.select(n(c));if(c.length!=d.length)throw new Error(`Attempting to bulk update ${c.length-d.length} ${this.name} that dont exist in the store`);const r=d.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),p=e.toSorted((S,P)=>l.uuidSortFn(S.uuid,P.uuid)),h=[];for(let S=0;S<c.length;S++)h.push({...r[S],...p[S]});this.dispatch(a(h));const f=l.chunkArray(e,Math.min(i??e.length,D)),A=[];let I=null;for(const S of f){const P=ut.v4(),_=l.toUuidArray(S),F=this.enqueueRequest({description:y(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:S},blockers:(I?[I]:[]).concat(_),blocks:[P].concat(_)});A.push(F),I=P}return Promise.all(A).then(S=>{this.dispatch(a(S.flat()))}).catch(()=>{this.dispatch(a(d))}),[h,A]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class dw extends v{name="Procedure Type Attachment";url="/procedure-type-attachments";actions={addOne:gO,addMany:RO,setOne:wO,setMany:EO,updateOne:vO,updateMany:VO,deleteOne:BO,deleteMany:zO,initialize:MO};selectors={selectById:DO,selectByIds:qO};getId(e){return e.uuid}getBlockers(e){return[e.procedure_type]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class uw extends v{name="Procedure Type Fields Attachment";url="/procedure-type-fields-attachments";actions={addOne:kO,addMany:LO,setOne:HO,setMany:GO,updateOne:NO,updateMany:KO,deleteOne:WO,deleteMany:XO,initialize:UO};selectors={selectById:JO,selectByIds:QO};getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,fields_revision:n,file_sha1:c,file_name:d,file_extension:r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{fields_revision__procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class lw extends g{name="Procedure Type Fields";url="/procedure-type-fields";actions={addOne:tP,addMany:sP,setOne:iP,setMany:aP,updateOne:nP,updateMany:cP,deleteOne:rP,deleteMany:dP,initialize:eP};selectors={selectById:oP,selectByIds:hP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d});this.dispatch(i(r));const p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[r.procedure_type],blocks:[r.uuid]});return p.then(h=>{this.dispatch(a(h))}).catch(h=>{throw this.dispatch(n(r.uuid)),h}),[r,p]}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{procedure_type__organization:e}},i);return this.dispatch(a(n)),n}}class ow extends v{name="Procedure Field Values Attachment";url="/procedure-field-values-attachments";actions={addOne:yP,addMany:tn,setOne:fP,setMany:SP,updateOne:AP,updateMany:TP,deleteOne:IP,deleteMany:sn,initialize:mP};selectors={selectById:PP,selectByIds:FP};getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const i=this.select(n=>n.userReducer.currentUser?.id??null),a=new Date().toISOString();return l.uuidObj({...e,created_by:i,submitted_at:a})}buildPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,submitted_at:e.submitted_at,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}buildBulkPayload(e){const{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}=e;return{uuid:i,field_identifier:a,field_values:n,file_sha1:c,file_name:d,file_extension:r}}async bulkDelete(e){const{deleteMany:i,addMany:a}=this.actions,{selectByIds:n}=this.selectors,c=this.select(n(e));this.dispatch(i(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class hw extends g{name="Procedure Field Values";url="/procedure-field-values";actions={addOne:RP,addMany:wP,setOne:EP,setMany:vP,updateOne:VP,updateMany:BP,deleteOne:zP,deleteMany:jP,initialize:gP};selectors={selectById:qP,selectByIds:$P};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=this.select(h=>h.userReducer.currentUser?.id??null),d=new Date().toISOString(),r=l.uuidObj({...e,created_by:c,submitted_at:d}),p=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(r),blockers:[e.fields_revision,e.procedure],blocks:[r.uuid]});return this.dispatch(i(r)),p.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(n(r.uuid))}),[r,p]}bulkAdd(e,i){const{addMany:a,updateMany:n,deleteMany:c}=this.actions,d=new Date().toISOString(),r=this.select(I=>I.userReducer.currentUser?.id??null),p=[],h=l.chunkArray(e,Math.min(i??e.length,D)),f=[];for(const I of h){const S=[],P=[],_=[];for(const F of I){const w=l.uuidObj({...F,values:F.values,created_by:r,submitted_at:d});p.push(w),S.push(M(w)),P.push(w.procedure,w.fields_revision),_.push(w.uuid)}f.push({payload:{payloads:S,submitted_at:d},blockers:P,blocks:_})}this.dispatch(a(p));const A=f.map(I=>{const{payload:S,blocks:P,blockers:_}=I;return this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:S,blockers:_,blocks:P})});return Promise.all(A).then(I=>{this.dispatch(n(I.flat()))}).catch(()=>{this.dispatch(c(l.toUuidArray(p)))}),[p,Promise.all(A).then(I=>I.flat())]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected ProcedureFieldValues with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.fields_revision,c.procedure],blocks:[c.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const d=this.select(_P(e));this.dispatch(i(e)),this.dispatch(sn(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(tn(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e,latest:!0}},i)).flat();return this.dispatch(a(c)),c}}class pw extends g{name="Procedure Type";url="/procedure-types";actions={addOne:LP,addMany:HP,setOne:GP,setMany:NP,updateOne:KP,updateMany:WP,deleteOne:XP,deleteMany:YP,initialize:kP};selectors={selectById:QP,selectByIds:xP};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null),submitted_at:new Date().toISOString()});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected procedure type with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[n.uuid],blocks:[n.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{deleteOne:i,addOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected procedure type with uuid ${e} to exist`);const d=this.select(IT(e));this.dispatch(i(e)),this.dispatch(Ot(l.toUuidArray(d)));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(c)),this.dispatch(bt(d)),r}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class mw extends g{name="Team Membership";url="/team-memberships";actions={addOne:AF,addMany:TF,setOne:IF,setMany:bF,updateOne:OF,updateMany:PF,deleteOne:FF,deleteMany:_F,initialize:SF};selectors={selectById:RF,selectByIds:wF};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[e.team],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}bulkAdd(e){const{addMany:i,updateMany:a,deleteMany:n}=this.actions,c=this.select(p=>p.userReducer.currentUser?.id??null),d=e.map(p=>l.uuidObj({...p,created_by:c}));this.dispatch(i(d));const r=this.enqueueRequest({description:y(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{team_memberships:d.map(p=>M(p))},blockers:d.map(p=>p.team),blocks:d.map(p=>p.uuid)});return r.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(n(d.map(p=>p.uuid)))}),[d,r]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{team__organization:e}},i);return this.dispatch(a(n)),n}}class yw extends g{name="Team";url="/teams";actions={addOne:VF,addMany:BF,setOne:zF,setMany:jF,updateOne:CF,updateMany:DF,deleteOne:qF,deleteMany:$F,initialize:vF};selectors={selectById:kF,selectByIds:LF};add(e){const{addOne:i,updateOne:a,deleteOne:n}=this.actions,c=l.uuidObj({...e,submitted_at:new Date().toISOString(),created_by:this.select(r=>r.userReducer.currentUser?.id??null)});this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[],blocks:[c.uuid]});return d.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(n(c.uuid))}),[c,d]}update(e){const{updateOne:i}=this.actions,{selectById:a}=this.selectors,n=this.select(a(e.uuid));if(!n)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const c={...n,...e};this.dispatch(i(c));const d=this.enqueueRequest({description:y(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e),blockers:[e.uuid],blocks:[e.uuid]});return d.then(r=>{this.dispatch(i(r))}).catch(()=>{this.dispatch(i(n))}),[c,d]}async delete(e){const{addOne:i,deleteOne:a}=this.actions,{selectById:n}=this.selectors,c=this.select(n(e));if(!c)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:y(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(i(c)),d}}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({queryParams:{organization:e}},i);return this.dispatch(a(n)),n}}class fw extends dt{name="User";url="/user";actions={addOne:ua,addMany:Gf,setOne:Hf,setMany:Lf,updateOne:Kf,updateMany:Nf,deleteOne:la,deleteMany:Wf,initialize:kf};selectors={selectById:xt,selectByIds:Zf};async list(e,i){const{organizationUuid:a,...n}=e,c=a?`/organizations/${a}${this.url}s/`:`/${this.url}`;return this.performRequest({method:o.GET,url:c,...n},i)}async refreshStore(e,i){const{initialize:a}=this.actions,n=await this.list({organizationUuid:e},i);return this.dispatch(a(n)),n}}async function An(t,e,i,a,n){const c=a instanceof yt;c&&e.checkAuth!==!1&&await a.auth.prepareAuth();const d={queryParams:"",isAuthNeeded:!0},{s3url:r,payload:p,headers:h,method:f,queryParams:A,attachmentHash:I,isExternalUrl:S,isAuthNeeded:P,isResponseBlob:_}={...d,...e};let F=e.url;const w=I?await i.files.getFileFromCache(I):void 0,V=w?await e_(w):void 0;if(I){if(!V)throw new Error(`Cannot upload file ${I} because it's not cached.`);if(V.size===0)throw new Error(`Cannot upload file ${I} because its has a size of 0.`)}!S&&!F.startsWith("http")&&(!F.startsWith("/")&&!F.startsWith("blob:")&&(F="/"+F),F=t+F);const R=B=>{if(I){if(!r)throw new Error(`No S3 URL for file ${I}`);if("warning"in r)throw new Error(`S3 URL warning for file ${I}`);if(!V)throw new Error(`No file for file ${I}`);const q=r.fields["x-amz-checksum-sha1"];if(!q)throw new Error(`No checksum for file ${I}`);return B.set("x-amz-checksum-sha1",q).field({...p,...r.fields}).attach("file",V)}return B.send(p)},zt={[o.GET]:()=>_?St.get(F.toString()).responseType("blob"):St.get(F.toString()),[o.POST]:()=>{const B=St.post(F.toString());return R(B)},[o.PATCH]:()=>{const B=St.patch(F.toString());return R(B)},[o.PUT]:()=>{const B=St.put(F.toString());return R(B)},[o.DELETE]:()=>{const B=St.delete(F.toString());return R(B)}}[f];let j=zt();const ds=()=>{console.debug("aborting request:",e.url),j.abort()};n?.addEventListener("abort",ds),P&&c&&(j=a.auth.applyAuth(j)),h&&(j=j.set(h));try{return await j.query(A)}catch(B){const q=xF(B),jt=q?.status;throw c&&q&&a.auth.isAuthFailure(q)?(await a.auth.handleUnauthorized(j,q),new z({response:q,innerError:B,discard:!1})):new z({response:q,innerError:B,discard:yn.includes(jt)})}finally{n?.removeEventListener("abort",ds)}}class Sw{store;constructor(e){this.store=e}_performRequest(e,i,a,n){const c=new l.DeferredPromise,d={...i,uuid:i.uuid??ut.v4()};return An(e,d,this,a,n).then(r=>{c.resolve(r.body)}).catch(r=>{r instanceof Error?c.reject(r):c.reject(new Error((r??l.ERROR_MSG_UNEXPECTED).toString()))}),c}async performRequest(e,i,a,n){return this._performRequest(e,i,a,n).then(c=>{if(c instanceof z)throw c;return c})}async enqueueRequest(e,i,a){return this._enqueueRequest(e,i,a).then(n=>{if(n instanceof z)throw n;return n})}_enqueueRequest(e,i,a){const n=new l.DeferredPromise,c={...e,BASE_URL:i,serviceName:a},d=this.store.dispatch(RS(c)),r=h=>{if(h)n.resolve(h.body);else{const f=new z({message:"Could not get a response from the server.",response:h,discard:!0});n.reject(f)}},p=h=>{h instanceof z?h.options.discard=!0:(console.error("Received an unexpected error while processing a request:",h,`
|
|
14
|
+
Converting error to APIError and discarding.`),h=new z({message:"An error occurred while processing the request.",innerError:h,discard:!0})),n.reject(h)};return d.then(r,p),n}async performPagination(e,i,a,n,c){const d={...i,queryParams:{...i.queryParams,paginate:!0,limit:a}},{method:r}=d,p=[];let h=await this.performRequest(e,d,n,c);for(p.push(h.results);h.next;)h=await this.performRequest(e,{url:h.next,method:r},n,c),p.push(h.results);return p}}class Pt{graph;requestAttemptCounter;constructor(){this.graph=new F_.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(e){const i=new Pt;for(let a=0;a<e.length;a++){const n=e[a];if(!n){console.error("Outbox item was undefined");continue}i.sneakRequest(n);for(let c=0;c<a;c++){const d=e[c];if(!d){console.error("Previous outbox item was undefined");continue}d.payload.uuid!==n.payload.uuid&&d.payload.blocks.some(r=>n.payload.blockers.includes(r))&&Pt._addDependency(n.payload.uuid,d.payload.uuid,i.graph)}}return i}_addDependency(e,i){Pt._addDependency(e,i,this.graph)}static _addDependency(e,i,a){if(e===i)throw new Error(`Tried to add dependency from node to itself: ${e}`);if(!a.hasNode(e))throw new Error(`Tried to add dependency from non-existent node: ${e} (to node: ${i})`);if(!a.hasNode(i))throw new Error(`Tried to add dependency to non-existent node: ${i} (from node: ${e})`);a.addDependency(e,i)}addRequest(e){if(this.graph.addNode(e.payload.uuid,e),!(e.payload.blockers.length===0||this.graph.size()===1))for(const i of this.graph.overallOrder()){if(i===e.payload.uuid)continue;const a=this.graph.getNodeData(i),n=new Set(a.payload.blocks);e.payload.blockers.some(c=>n.has(c))&&this._addDependency(e.payload.uuid,i)}}insertRequest(e){this.graph.addNode(e.payload.uuid,e);for(const i of this.graph.overallOrder()){if(i===e.payload.uuid)continue;const a=this.graph.getNodeData(i),n=new Set(e.payload.blocks);a.payload.blockers.some(c=>n.has(c))&&this._addDependency(i,e.payload.uuid)}}sneakRequest(e){this.graph.addNode(e.payload.uuid,e)}_getNextNode(){const e=this.graph.overallOrder(!0);let i=1/0,a;for(const n of e){const c=this.requestAttemptCounter[n]||0;c<i&&(i=c,a=n)}return a}peek(){const e=this._getNextNode();if(e)return this.graph.getNodeData(e)}remove(e){this.graph.removeNode(e),delete this.requestAttemptCounter[e]}pop(){const e=this.peek();return e&&this.graph.removeNode(e.payload.uuid),e}getQueue(){const e=this.graph.overallOrder().map(a=>this.graph.getNodeData(a)),i=this._getNextNode();if(i){const a=this.graph.getNodeData(i),n=e.findIndex(c=>c.payload.uuid===a.payload.uuid);n!==-1&&(e.splice(n,1),e.unshift(a))}return e}getReady(){let e=this.graph.overallOrder(!0).map(i=>this.graph.getNodeData(i));return e=e.sort((i,a)=>i.meta.offline.effect.timestamp.localeCompare(a.meta.offline.effect.timestamp)),e=e.sort((i,a)=>{const n=this.requestAttemptCounter[i.payload.uuid]||0,c=this.requestAttemptCounter[a.payload.uuid]||0;return n-c}),e}registerRetry(e){this.requestAttemptCounter[e]=(this.requestAttemptCounter[e]||0)+1}}let l_;function o_(t){l_=t}function Ft(){return l_}let h_;function p_(t){h_=t}function m_(){return h_}let Tn=null;function ft(){const t=Ft();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(Tn)return Tn;const e=t.getState().offline.outbox,i=Pt._fromOutbox(e);return Tn=i,i}const Aw=(t,e)=>{const i=new e(t);return p_(i),o_(t),i};class Tw{_all;_previous;constructor(e){this._all=[e],this._previous=e,this.then=this.then.bind(this),this.compile=this.compile.bind(this)}then(e){return this._previous&&(this._previous.next=e),this._all.push(e),this._previous=e,{then:this.then,compile:this.compile}}compile(){return this._all}}class In{next;constructor(){this.next=null}then(e){return new Tw(this).then(e)}async run(e){if(this.next)return this.next.run(e);{if(console.debug("Middleware finished. Performing request:",e.payload.url),!Ft())throw new Error("Client store not set");const a=m_();if(!a)throw new Error("Client SDK not set");return ZF(e,a)}}}class y_ extends In{async run(e){return super.run(e)}}class f_ extends In{async run(e){return super.run(e)}}const S_=new y_().then(new f_).compile();function A_(t){return S_[0]?.run(t)}s.ALL_MIDDLEWARE=S_,s.APIError=z,s.AgentService=Gg,s.AssetAttachmentService=Ng,s.AssetCommentAttachmentService=Kg,s.AssetCommentService=Wg,s.AssetService=Xg,s.AssetTypeAttachmentService=Yg,s.AssetTypeFieldValuesAttachmentService=Qg,s.AssetTypeFieldValuesService=xg,s.AssetTypeFieldsAttachmentService=Zg,s.AssetTypeFieldsService=Jg,s.AssetTypeIdentifierService=eR,s.AssetTypeIdentifierValueService=tR,s.AssetTypeService=sR,s.AssetTypeStatusService=iR,s.BaseApiService=yt,s.BaseAuthService=u_,s.BaseModelApiService=dt,s.BaseOfflineFileModelApiService=v,s.BaseOfflineModelApiService=g,s.BaseSDK=Sw,s.COMMON_AUTO_FIELDS=On,s.DEFAULT_PAGE_SIZE=NF,s.DISCARD_HTTP_STATUSES=yn,s.DocumentAttachmentService=aR,s.DocumentService=nR,s.EmailDomainsService=cR,s.EmailVerificationService=rR,s.FileService=dR,s.FormIdentifierService=uR,s.FormIdentifierValueService=lR,s.FormRevisionAttachmentService=oR,s.FormRevisionService=hR,s.FormService=pR,s.FormSubmissionCommentAttachmentService=SR,s.FormSubmissionCommentService=AR,s.FormSubmissionFieldValuesAttachmentService=yR,s.FormSubmissionFieldValuesService=fR,s.FormSubmissionService=TR,s.FormSubscriberService=mR,s.GeoImageService=IR,s.HttpMethod=o,s.IssueAssociationService=bR,s.IssueAttachmentService=OR,s.IssueCommentAttachmentService=PR,s.IssueCommentService=FR,s.IssueService=_R,s.IssueTypeAttachmentService=MR,s.IssueTypeFieldValuesAttachmentService=wR,s.IssueTypeFieldValuesService=ER,s.IssueTypeFieldsAttachmentService=gR,s.IssueTypeFieldsService=RR,s.IssueTypeIdentifierService=vR,s.IssueTypeIdentifierValueService=VR,s.IssueTypePriorityService=BR,s.IssueTypeService=zR,s.IssueTypeStatusService=jR,s.IssueUpdateService=CR,s.JWTService=$R,s.MAX_SERVICE_BATCH_SIZE=D,s.OUTBOX_RETRY_DELAY=6e4,s.OfflineAnalyticsMiddleware=y_,s.OfflineMiddleware=In,s.OrganizationAccessService=UR,s.OrganizationService=kR,s.OutboxCoordinator=Pt,s.ProcdureInitiativeService=cw,s.ProcedureFieldValuesAttachmentService=ow,s.ProcedureFieldValuesService=hw,s.ProcedureService=XR,s.ProcedureStepAssigneeService=YR,s.ProcedureStepCommentService=ZR,s.ProcedureStepDefaultAssigneeService=JR,s.ProcedureStepDefaultReviewerService=QR,s.ProcedureStepEventService=xR,s.ProcedureStepFieldValuesAttachmentService=sw,s.ProcedureStepFieldValuesReviewService=iw,s.ProcedureStepFieldValuesService=aw,s.ProcedureStepFieldsAttachmentService=ew,s.ProcedureStepFieldsService=tw,s.ProcedureStepReviewerService=nw,s.ProcedureStepService=rw,s.ProcedureTypeAttachmentService=dw,s.ProcedureTypeFieldsAttachmentService=uw,s.ProcedureTypeFieldsService=lw,s.ProcedureTypeService=pw,s.ProjectAccessService=LR,s.ProjectAttachmentService=HR,s.ProjectCommentService=GR,s.ProjectFileService=NR,s.ProjectService=KR,s.RESET_ORGANIZATION_STATE=O,s.RESET_PROJECT_STATE=E,s.RESET_STATE=T,s.RateLimitingMiddleware=f_,s.ReportService=WR,s.TeamMembershipService=mw,s.TeamService=yw,s.UserService=fw,s._setLatestRetryTime=ES,s.addAsset=Ac,s.addAssetAttachment=vn,s.addAssetAttachments=hs,s.addAssetComment=ac,s.addAssetCommentAttachment=Gn,s.addAssetCommentAttachments=Nn,s.addAssetComments=Ct,s.addAssetType=bd,s.addAssetTypeAttachment=vc,s.addAssetTypeAttachments=Os,s.addAssetTypeFieldValues=vr,s.addAssetTypeFieldValuesAttachment=Ar,s.addAssetTypeFieldValuesAttachments=ws,s.addAssetTypeFieldValuesMany=Vr,s.addAssetTypeFields=ar,s.addAssetTypeFieldsAttachment=Gc,s.addAssetTypeFieldsAttachments=Nc,s.addAssetTypeFieldsMany=nr,s.addAssetTypeIdentifier=Nr,s.addAssetTypeIdentifierValue=nd,s.addAssetTypeIdentifierValues=cd,s.addAssetTypeIdentifiers=Kr,s.addAssetTypeStatus=Bd,s.addAssetTypeStatuses=zd,s.addAssetTypes=Od,s.addAssets=Ts,s.addConversation=_n,s.addConversations=M_,s.addDocument=lu,s.addDocumentAttachment=Zd,s.addDocumentAttachments=Jd,s.addDocuments=ou,s.addEmailDomain=Fu,s.addEmailDomains=_u,s.addForm=Ql,s.addFormIdentifier=qu,s.addFormIdentifierValue=Qu,s.addFormIdentifierValues=xu,s.addFormIdentifiers=$u,s.addFormRevision=Ml,s.addFormRevisionAttachment=hl,s.addFormRevisionAttachments=pl,s.addFormRevisions=Js,s.addFormSubmission=hh,s.addFormSubmissionComment=Jo,s.addFormSubmissionCommentAttachment=Do,s.addFormSubmissionCommentAttachments=qo,s.addFormSubmissionComments=Si,s.addFormSubmissionFieldValues=Fo,s.addFormSubmissionFieldValuesAttachment=po,s.addFormSubmissionFieldValuesAttachments=ni,s.addFormSubmissionFieldValuesMany=oi,s.addFormSubmissions=lt,s.addFormSubscriber=$l,s.addFormSubscribers=ei,s.addForms=xl,s.addGeoImage=wh,s.addGeoImages=Eh,s.addIssue=Hp,s.addIssueAssociation=Nh,s.addIssueAssociations=At,s.addIssueAttachment=ip,s.addIssueAttachments=Fi,s.addIssueComment=Ep,s.addIssueCommentAttachment=fp,s.addIssueCommentAttachments=Sp,s.addIssueComments=vp,s.addIssueType=nf,s.addIssueTypeAttachment=sm,s.addIssueTypeAttachments=im,s.addIssueTypeFieldValues=Em,s.addIssueTypeFieldValuesAttachment=ay,s.addIssueTypeFieldValuesAttachments=ki,s.addIssueTypeFieldValuesMany=vm,s.addIssueTypeFields=Gm,s.addIssueTypeFieldsAttachment=fm,s.addIssueTypeFieldsAttachments=Sm,s.addIssueTypeFieldsMany=Nm,s.addIssueTypeIdentifier=Sy,s.addIssueTypeIdentifierValue=vy,s.addIssueTypeIdentifierValues=Vy,s.addIssueTypeIdentifiers=Ay,s.addIssueTypePriorities=Ky,s.addIssueTypePriority=Ny,s.addIssueTypeStatus=Tf,s.addIssueTypeStatuses=If,s.addIssueTypes=cf,s.addIssueUpdate=sa,s.addIssueUpdates=ia,s.addIssues=Vi,s.addOrganization=fS,s.addOrganizationAccess=xf,s.addOrganizationAccesses=eS,s.addOrganizations=yS,s.addProcedure=lT,s.addProcedureFieldValues=RP,s.addProcedureFieldValuesAttachment=yP,s.addProcedureFieldValuesAttachments=tn,s.addProcedureFieldValuesMany=wP,s.addProcedureInitiative=ZA,s.addProcedureInitiatives=JA,s.addProcedureStep=fO,s.addProcedureStepAssignee=MT,s.addProcedureStepAssignees=gT,s.addProcedureStepComment=UT,s.addProcedureStepComments=kT,s.addProcedureStepDefaultAssignee=eI,s.addProcedureStepDefaultAssignees=tI,s.addProcedureStepDefaultReviewer=mI,s.addProcedureStepDefaultReviewers=yI,s.addProcedureStepEvent=RI,s.addProcedureStepEvents=wI,s.addProcedureStepFieldValues=gb,s.addProcedureStepFieldValuesAttachment=mb,s.addProcedureStepFieldValuesAttachments=qa,s.addProcedureStepFieldValuesMany=Rb,s.addProcedureStepFieldValuesReview=kb,s.addProcedureStepFieldValuesReviews=Ha,s.addProcedureStepFields=tb,s.addProcedureStepFieldsAttachment=LI,s.addProcedureStepFieldsAttachments=Va,s.addProcedureStepFieldsMany=sb,s.addProcedureStepReviewer=eO,s.addProcedureStepReviewers=tO,s.addProcedureSteps=SO,s.addProcedureType=LP,s.addProcedureTypeAttachment=gO,s.addProcedureTypeAttachments=RO,s.addProcedureTypeFields=tP,s.addProcedureTypeFieldsAttachment=kO,s.addProcedureTypeFieldsAttachments=LO,s.addProcedureTypeFieldsMany=sP,s.addProcedureTypes=HP,s.addProcedures=bt,s.addProject=$A,s.addProjectAccess=zS,s.addProjectAccesses=jS,s.addProjectAttachment=WS,s.addProjectAttachments=XS,s.addProjectComment=rA,s.addProjectComments=dA,s.addProjectFile=PA,s.addProjectFiles=FA,s.addProjects=qA,s.addReport=iF,s.addReports=aF,s.addTeam=VF,s.addTeamMembership=AF,s.addTeamMemberships=TF,s.addTeams=BF,s.addUser=ua,s.addUsers=Gf,s.agentsReducer=Rn,s.agentsSlice=us,s.assetAttachmentReducer=kn,s.assetAttachmentSlice=os,s.assetCommentAttachmentReducer=tc,s.assetCommentAttachmentSlice=ys,s.assetCommentReducer=yc,s.assetCommentSlice=Ss,s.assetReducer=Rc,s.assetSlice=As,s.assetTypeAttachmentReducer=kc,s.assetTypeAttachmentSlice=bs,s.assetTypeFieldValuesAttachmentReducer=Rr,s.assetTypeFieldValuesAttachmentSlice=Rs,s.assetTypeFieldValuesReducer=Lr,s.assetTypeFieldValuesSlice=Vs,s.assetTypeFieldsAttachmentReducer=tr,s.assetTypeFieldsAttachmentSlice=_s,s.assetTypeFieldsReducer=yr,s.assetTypeFieldsSlice=gs,s.assetTypeIdentifierReducer=sd,s.assetTypeIdentifierSlice=Bs,s.assetTypeIdentifierValueReducer=fd,s.assetTypeIdentifierValueSlice=js,s.assetTypeReducer=Ed,s.assetTypeSlice=Cs,s.assetTypeStatusReducer=Gd,s.assetTypeStatusSlice=qs,s.authReducer=Wd,s.authSlice=Lt,s.baseReducer=Eg,s.baseReducers=mn,s.clearTokens=K_,s.createModelAdapter=b,s.createOfflineAction=MS,s.createPayload=M,s.createSelectionAdapter=__,s.deleteAsset=bc,s.deleteAssetAttachment=Cn,s.deleteAssetAttachments=ps,s.deleteAssetComment=uc,s.deleteAssetCommentAttachment=Zn,s.deleteAssetCommentAttachments=Jn,s.deleteAssetComments=Dt,s.deleteAssetType=_d,s.deleteAssetTypeAttachment=Cc,s.deleteAssetTypeAttachments=Ps,s.deleteAssetTypeFieldValues=Dr,s.deleteAssetTypeFieldValuesAttachment=Pr,s.deleteAssetTypeFieldValuesAttachments=Es,s.deleteAssetTypeFieldValuesMany=qr,s.deleteAssetTypeFields=lr,s.deleteAssetTypeFieldsAttachment=Zc,s.deleteAssetTypeFieldsAttachments=Jc,s.deleteAssetTypeFieldsMany=or,s.deleteAssetTypeIdentifier=Jr,s.deleteAssetTypeIdentifierValue=od,s.deleteAssetTypeIdentifierValues=hd,s.deleteAssetTypeIdentifiers=Qr,s.deleteAssetTypeStatus=$d,s.deleteAssetTypeStatuses=Ud,s.deleteAssetTypes=Md,s.deleteAssets=Is,s.deleteConversation=w_,s.deleteConversations=E_,s.deleteDocument=fu,s.deleteDocumentAttachment=su,s.deleteDocumentAttachments=iu,s.deleteDocuments=Su,s.deleteEmailDomain=Eu,s.deleteEmailDomains=vu,s.deleteForm=ao,s.deleteFormIdentifier=Gu,s.deleteFormIdentifierValue=al,s.deleteFormIdentifierValues=nl,s.deleteFormIdentifiers=Nu,s.deleteFormRevision=vl,s.deleteFormRevisionAttachment=Al,s.deleteFormRevisionAttachments=Tl,s.deleteFormRevisions=Qs,s.deleteFormSubmission=yh,s.deleteFormSubmissionComment=sh,s.deleteFormSubmissionCommentAttachment=Ho,s.deleteFormSubmissionCommentAttachments=Go,s.deleteFormSubmissionComments=Ai,s.deleteFormSubmissionFieldValues=wo,s.deleteFormSubmissionFieldValuesAttachment=Ao,s.deleteFormSubmissionFieldValuesAttachments=ci,s.deleteFormSubmissionFieldValuesMany=hi,s.deleteFormSubmissions=ot,s.deleteFormSubscriber=Gl,s.deleteFormSubscribers=ti,s.deleteForms=no,s.deleteGeoImage=Bh,s.deleteGeoImages=zh,s.deleteIssue=Xp,s.deleteIssueAssociation=Kh,s.deleteIssueAssociations=Tt,s.deleteIssueAttachment=dp,s.deleteIssueAttachments=_i,s.deleteIssueComment=Cp,s.deleteIssueCommentAttachment=Op,s.deleteIssueCommentAttachments=Pp,s.deleteIssueComments=Dp,s.deleteIssueType=of,s.deleteIssueTypeAttachment=dm,s.deleteIssueTypeAttachments=um,s.deleteIssueTypeFieldValues=Cm,s.deleteIssueTypeFieldValuesAttachment=uy,s.deleteIssueTypeFieldValuesAttachments=Li,s.deleteIssueTypeFieldValuesMany=Dm,s.deleteIssueTypeFields=Zm,s.deleteIssueTypeFieldsAttachment=Om,s.deleteIssueTypeFieldsAttachments=Pm,s.deleteIssueTypeFieldsMany=Jm,s.deleteIssueTypeIdentifier=Py,s.deleteIssueTypeIdentifierValue=Dy,s.deleteIssueTypeIdentifierValues=qy,s.deleteIssueTypeIdentifiers=Fy,s.deleteIssueTypePriorities=Qy,s.deleteIssueTypePriority=Jy,s.deleteIssueTypeStatus=_f,s.deleteIssueTypeStatuses=Mf,s.deleteIssueTypes=hf,s.deleteIssueUpdate=aa,s.deleteIssueUpdates=na,s.deleteIssues=Bi,s.deleteOrganization=TS,s.deleteOrganizationAccess=nS,s.deleteOrganizationAccesses=cS,s.deleteOrganizations=IS,s.deleteProcedure=yT,s.deleteProcedureFieldValues=zP,s.deleteProcedureFieldValuesAttachment=IP,s.deleteProcedureFieldValuesAttachments=sn,s.deleteProcedureFieldValuesMany=jP,s.deleteProcedureInitiative=sT,s.deleteProcedureInitiatives=iT,s.deleteProcedureStep=IO,s.deleteProcedureStepAssignee=VT,s.deleteProcedureStepAssignees=BT,s.deleteProcedureStepComment=KT,s.deleteProcedureStepComments=WT,s.deleteProcedureStepDefaultAssignee=cI,s.deleteProcedureStepDefaultAssignees=rI,s.deleteProcedureStepDefaultReviewer=II,s.deleteProcedureStepDefaultReviewers=bI,s.deleteProcedureStepEvent=zI,s.deleteProcedureStepEvents=jI,s.deleteProcedureStepFieldValues=Bb,s.deleteProcedureStepFieldValuesAttachment=Tb,s.deleteProcedureStepFieldValuesAttachments=$a,s.deleteProcedureStepFieldValuesMany=zb,s.deleteProcedureStepFieldValuesReview=Kb,s.deleteProcedureStepFieldValuesReviews=Ga,s.deleteProcedureStepFields=rb,s.deleteProcedureStepFieldsAttachment=WI,s.deleteProcedureStepFieldsAttachments=Ba,s.deleteProcedureStepFieldsMany=db,s.deleteProcedureStepReviewer=cO,s.deleteProcedureStepReviewers=rO,s.deleteProcedureSteps=bO,s.deleteProcedureType=XP,s.deleteProcedureTypeAttachment=BO,s.deleteProcedureTypeAttachments=zO,s.deleteProcedureTypeFields=rP,s.deleteProcedureTypeFieldsAttachment=WO,s.deleteProcedureTypeFieldsAttachments=XO,s.deleteProcedureTypeFieldsMany=dP,s.deleteProcedureTypes=YP,s.deleteProcedures=Ot,s.deleteProject=LA,s.deleteProjectAccess=US,s.deleteProjectAccesses=kS,s.deleteProjectAttachment=xS,s.deleteProjectAttachments=eA,s.deleteProjectComment=pA,s.deleteProjectComments=mA,s.deleteProjectFile=gA,s.deleteProjectFiles=RA,s.deleteProjects=HA,s.deleteReport=uF,s.deleteReports=lF,s.deleteTeam=qF,s.deleteTeamMembership=FF,s.deleteTeamMemberships=_F,s.deleteTeams=$F,s.deleteUser=la,s.deleteUsers=Wf,s.dequeue=YF,s.discard=JF,s.documentAttachmentReducer=ru,s.documentAttachmentSlice=Us,s.documentSlice=Ls,s.documentsReducer=Au,s.emailDomainsReducer=ju,s.emailDomainsSlice=Gs,s.enqueue=XF,s.enqueueRequest=RS,s.extractResponseFromError=xF,s.fetchBlobFromObjectUrl=s_,s.fetchFileFromObjectUrl=i_,s.fileToBlob=e_,s.formIdentifierReducer=Yu,s.formIdentifierSlice=Ks,s.formIdentifierValueReducer=ul,s.formIdentifierValueSlice=Xs,s.formReducer=co,s.formRevisionAttachmentReducer=Pl,s.formRevisionAttachmentSlice=Ys,s.formRevisionReducer=Cl,s.formRevisionsSlice=Zs,s.formSlice=si,s.formSubmissionCommentAttachmentReducer=Xo,s.formSubmissionCommentAttachmentSlice=mi,s.formSubmissionCommentReducer=rh,s.formSubmissionCommentSlice=fi,s.formSubmissionFieldValuesAttachmentReducer=bo,s.formSubmissionFieldValuesAttachmentSlice=ai,s.formSubmissionFieldValuesReducer=zo,s.formSubmissionFieldValuesSlice=li,s.formSubmissionReducer=Fh,s.formSubmissionSlice=Ti,s.formSubscriberReducer=Yl,s.formSubscriberSlice=xs,s.geoImageReducer=qh,s.geoImageSlice=Ii,s.getClientSDK=m_,s.getClientStore=Ft,s.getFileExtension=t_,s.getOutboxCoordinator=ft,s.getPresignedUrlExpiryDate=r_,s.getRenamedFile=Lg,s.getRequestDescription=y,s.getS3FileKey=kg,s.hashFile=rs,s.initSDK=Aw,s.initializeAssetAttachments=En,s.initializeAssetCommentAttachments=Hn,s.initializeAssetComments=ic,s.initializeAssetTypeAttachments=Ec,s.initializeAssetTypeFieldValues=Er,s.initializeAssetTypeFieldValuesAttachments=Sr,s.initializeAssetTypeFields=ir,s.initializeAssetTypeFieldsAttachments=Hc,s.initializeAssetTypeIdentifierValues=ad,s.initializeAssetTypeIdentifiers=Gr,s.initializeAssetTypeStatuses=Vd,s.initializeAssetTypes=Ad,s.initializeAssets=Sc,s.initializeConversations=Fn,s.initializeDocumentAttachments=Yd,s.initializeDocuments=uu,s.initializeEmailDomains=Pu,s.initializeFormIdentifierValues=Ju,s.initializeFormIdentifiers=Du,s.initializeFormRevisionAttachments=ol,s.initializeFormRevisions=_l,s.initializeFormSubmissionCommentAttachments=Co,s.initializeFormSubmissionComments=Zo,s.initializeFormSubmissionFieldValues=Po,s.initializeFormSubmissionFieldValuesAttachments=ho,s.initializeFormSubmissions=uh,s.initializeFormSubscribers=ql,s.initializeForms=Jl,s.initializeGeoImages=Mh,s.initializeIssueAssociations=Uh,s.initializeIssueAttachments=sp,s.initializeIssueCommentAttachments=yp,s.initializeIssueComments=wp,s.initializeIssueTypeAttachments=tm,s.initializeIssueTypeFieldValues=wm,s.initializeIssueTypeFieldValuesAttachments=iy,s.initializeIssueTypeFields=Hm,s.initializeIssueTypeFieldsAttachments=ym,s.initializeIssueTypeIdentifierValues=Ey,s.initializeIssueTypeIdentifiers=fy,s.initializeIssueTypePriorities=Gy,s.initializeIssueTypeStatuses=Af,s.initializeIssueTypes=af,s.initializeIssueUpdates=vf,s.initializeIssues=Lp,s.initializeOrganizationAccesses=Qf,s.initializeOrganizations=hS,s.initializeProcedureFieldValues=gP,s.initializeProcedureFieldValuesAttachments=mP,s.initializeProcedureInitiatives=YA,s.initializeProcedureStepAssignees=_T,s.initializeProcedureStepComments=$T,s.initializeProcedureStepDefaultAssignees=xT,s.initializeProcedureStepDefaultReviewers=pI,s.initializeProcedureStepEvents=gI,s.initializeProcedureStepFieldValues=Mb,s.initializeProcedureStepFieldValuesAttachments=pb,s.initializeProcedureStepFieldValuesReviews=Ub,s.initializeProcedureStepFields=eb,s.initializeProcedureStepFieldsAttachments=kI,s.initializeProcedureStepReviewers=xb,s.initializeProcedureSteps=pO,s.initializeProcedureTypeAttachments=MO,s.initializeProcedureTypeFields=eP,s.initializeProcedureTypeFieldsAttachments=UO,s.initializeProcedureTypes=kP,s.initializeProcedures=uT,s.initializeProjectAccesses=BS,s.initializeProjectAttachments=KS,s.initializeProjectComments=cA,s.initializeProjectFiles=IA,s.initializeProjects=jA,s.initializeReports=sF,s.initializeTeamMemberships=SF,s.initializeTeams=vF,s.initializeUsers=kf,s.isCloudfrontUrl=n_,s.isImageFile=Hg,s.isObjectUrl=a_,s.isPresignedUrlExpired=d_,s.isS3Url=c_,s.issueAssociationReducer=ep,s.issueAssociationSlice=Oi,s.issueAttachmentReducer=pp,s.issueAttachmentSlice=Pi,s.issueCommentAttachmentReducer=gp,s.issueCommentAttachmentSlice=gi,s.issueCommentReducer=Up,s.issueCommentSlice=wi,s.issueReducer=xp,s.issueSlice=vi,s.issueTypeAttachmentReducer=pm,s.issueTypeAttachmentSlice=zi,s.issueTypeFieldValuesAttachmentReducer=my,s.issueTypeFieldValuesAttachmentSlice=Ui,s.issueTypeFieldValuesReducer=km,s.issueTypeFieldValuesSlice=qi,s.issueTypeFieldsAttachmentReducer=gm,s.issueTypeFieldsAttachmentSlice=Ci,s.issueTypeFieldsReducer=ty,s.issueTypeFieldsSlice=$i,s.issueTypeIdentifierReducer=Ry,s.issueTypeIdentifierSlice=Gi,s.issueTypeIdentifierValueReducer=Ly,s.issueTypeIdentifierValueSlice=Ki,s.issueTypePriorityReducer=tf,s.issueTypePrioritySlice=Wi,s.issueTypeReducer=ff,s.issueTypeSlice=Zi,s.issueTypeStatusReducer=wf,s.issueTypeStatusSlice=Qi,s.issueUpdateReducer=$f,s.issueUpdateSlice=ta,s.markAsDeleted=wS,s.markForDeletion=zM,s.organizationAccessReducer=rS,s.organizationAccessSlice=ha,s.organizationReducer=_S,s.organizationSlice=pa,s.outboxReducer=vS,s.outboxSlice=ma,s.overmapEnhancer=jg,s.overmapReducer=vg,s.overmapReducers=GF,s.performRequest=An,s.performRequestFromAction=ZF,s.procedureFieldValuesAttachmentReducer=bP,s.procedureFieldValuesAttachmentSlice=en,s.procedureFieldValuesReducer=CP,s.procedureFieldValuesSlice=nn,s.procedureInitiativeReducer=aT,s.procedureInitiativeSlice=Oa,s.procedureReducer=fT,s.procedureSlice=Pa,s.procedureStepAssigneeReducer=DT,s.procedureStepAssigneeSlice=Fa,s.procedureStepCommentReducer=JT,s.procedureStepCommentSlice=_a,s.procedureStepDefaultAssigneeReducer=oI,s.procedureStepDefaultAssigneeSlice=Ma,s.procedureStepDefaultReviewerReducer=_I,s.procedureStepDefaultReviewerSlice=Ra,s.procedureStepEventReducer=$I,s.procedureStepEventSlice=Ea,s.procedureStepFieldValuesAttachmentReducer=Fb,s.procedureStepFieldValuesAttachmentSlice=Da,s.procedureStepFieldValuesReducer=jb,s.procedureStepFieldValuesReviewReducer=Jb,s.procedureStepFieldValuesReviewSlice=La,s.procedureStepFieldValuesSlice=ka,s.procedureStepFieldsAttachmentReducer=QI,s.procedureStepFieldsAttachmentSlice=va,s.procedureStepFieldsReducer=ob,s.procedureStepFieldsSlice=ja,s.procedureStepReducer=OO,s.procedureStepReviewerReducer=oO,s.procedureStepReviewerSlice=Na,s.procedureStepSlice=Ka,s.procedureTypeAttachmentReducer=jO,s.procedureTypeAttachmentSlice=Ya,s.procedureTypeFieldsAttachmentReducer=YO,s.procedureTypeFieldsAttachmentSlice=Ja,s.procedureTypeFieldsReducer=uP,s.procedureTypeFieldsSlice=xa,s.procedureTypeReducer=ZP,s.procedureTypeSlice=rn,s.projectAccessReducer=LS,s.projectAccessSlice=ya,s.projectAttachmentReducer=aA,s.projectAttachmentSlice=Sa,s.projectCommentReducer=AA,s.projectCommentSlice=Ta,s.projectFileReducer=BA,s.projectFileSlice=Ia,s.projectReducer=GA,s.projectSlice=ba,s.rehydratedReducer=eF,s.rehydratedSlice=un,s.reportReducer=yF,s.reportSlice=ln,s.restructureSelectorWithArgs=m,s.runMiddleware=A_,s.selectAccessToken=W_,s.selectAccessesByUserOfProject=CM,s.selectAccessibleProjects=kM,s.selectActiveOrganizationAccess=EM,s.selectAllDocumentAttachments=ks,s.selectAssetAttachmentById=qn,s.selectAssetAttachmentMapping=Dn,s.selectAssetAttachments=ms,s.selectAssetAttachmentsByIds=$n,s.selectAssetById=Mc,s.selectAssetCommentAttachmentById=xn,s.selectAssetCommentAttachmentMapping=Qn,s.selectAssetCommentAttachments=fs,s.selectAssetCommentAttachmentsByIds=ec,s.selectAssetCommentById=oc,s.selectAssetCommentMapping=lc,s.selectAssetComments=qt,s.selectAssetCommentsByIds=hc,s.selectAssetTypeAttachmentById=qc,s.selectAssetTypeAttachmentMapping=Dc,s.selectAssetTypeAttachments=Fs,s.selectAssetTypeAttachmentsByIds=$c,s.selectAssetTypeById=Rd,s.selectAssetTypeFieldValues=Ut,s.selectAssetTypeFieldValuesAttachmentById=_r,s.selectAssetTypeFieldValuesAttachments=vs,s.selectAssetTypeFieldValuesAttachmentsByIds=Mr,s.selectAssetTypeFieldValuesAttachmentsMapping=Fr,s.selectAssetTypeFieldValuesById=Ur,s.selectAssetTypeFieldValuesByIds=kr,s.selectAssetTypeFieldValuesMapping=$r,s.selectAssetTypeFieldValuesOfAsset=q_,s.selectAssetTypeFields=Mt,s.selectAssetTypeFieldsAttachmentById=xc,s.selectAssetTypeFieldsAttachments=Ms,s.selectAssetTypeFieldsAttachmentsByIds=er,s.selectAssetTypeFieldsAttachmentsMapping=Qc,s.selectAssetTypeFieldsById=pr,s.selectAssetTypeFieldsByIds=mr,s.selectAssetTypeFieldsMapping=hr,s.selectAssetTypeFieldsOfAssetType=C_,s.selectAssetTypeIdentifierById=ed,s.selectAssetTypeIdentifierMapping=xr,s.selectAssetTypeIdentifierValueById=md,s.selectAssetTypeIdentifierValueMapping=pd,s.selectAssetTypeIdentifierValues=kt,s.selectAssetTypeIdentifierValuesByIds=yd,s.selectAssetTypeIdentifierValuesOfAsset=k_,s.selectAssetTypeIdentifierValuesOfIdentifier=L_,s.selectAssetTypeIdentifiers=zs,s.selectAssetTypeIdentifiersByIds=td,s.selectAssetTypeIdentifiersOfAssetType=U_,s.selectAssetTypeStatusById=Ld,s.selectAssetTypeStatusMapping=kd,s.selectAssetTypeStatuses=$s,s.selectAssetTypeStatusesByIds=Hd,s.selectAssetTypeStatusesOfAssetType=G_,s.selectAssetTypeValuesOfAssetType=$_,s.selectAssetTypes=Ds,s.selectAssetTypesByIds=wd,s.selectAssetTypesMapping=gd,s.selectAssetTypesOfOrganization=H_,s.selectAssets=$t,s.selectAssetsByIds=gc,s.selectAssetsMapping=Fc,s.selectAssetsOfAssetType=_c,s.selectAssetsOfProject=z_,s.selectAttachmentsOfAsset=Un,s.selectAttachmentsOfAssetComment=B_,s.selectAttachmentsOfAssetType=Uc,s.selectAttachmentsOfAssetTypeFieldValues=gr,s.selectAttachmentsOfAssetTypeFields=j_,s.selectAttachmentsOfDocument=Y_,s.selectAttachmentsOfFormRevision=sM,s.selectAttachmentsOfFormSubmissionComment=cM,s.selectAttachmentsOfFormSubmissionFieldValues=Io,s.selectAttachmentsOfIssue=lp,s.selectAttachmentsOfIssueComment=pM,s.selectAttachmentsOfIssueType=fM,s.selectAttachmentsOfIssueTypeFieldValues=py,s.selectAttachmentsOfIssueTypeFields=SM,s.selectAttachmentsOfProcedureFieldValues=_P,s.selectAttachmentsOfProcedureStepFieldValues=Pb,s.selectAttachmentsOfProcedureStepFields=YI,s.selectAttachmentsOfProcedureType=Ag,s.selectAttachmentsOfProcedureTypeFields=Tg,s.selectAttachmentsOfProject=qM,s.selectCommentsOfAsset=pc,s.selectCommentsOfAssets=mc,s.selectCommentsOfFormSubmission=ch,s.selectCommentsOfFormSubmissions=rM,s.selectCommentsOfIssue=mM,s.selectCommentsOfProject=$M,s.selectCommentsOfProjects=UM,s.selectConversation=V_,s.selectConversationMapping=ls,s.selectConversations=v_,s.selectCurrentUser=Yf,s.selectDeletedRequests=VM,s.selectDescendantsOfDocument=bu,s.selectDocumentAttachmentById=nu,s.selectDocumentAttachmentMapping=au,s.selectDocumentAttachmentsByIds=cu,s.selectDocumentById=Tu,s.selectDocuments=Ht,s.selectDocumentsByIds=Iu,s.selectDocumentsMapping=Hs,s.selectEmailDomainById=Bu,s.selectEmailDomains=Ns,s.selectEmailDomainsAsMapping=Vu,s.selectEmailDomainsByIds=zu,s.selectEmailDomainsOfOrganization=Q_,s.selectFieldValuesOfProcedure=Og,s.selectFormById=uo,s.selectFormIdentifierById=Wu,s.selectFormIdentifierMapping=Ku,s.selectFormIdentifierValueById=rl,s.selectFormIdentifierValueMapping=cl,s.selectFormIdentifierValues=Gt,s.selectFormIdentifierValuesByIds=dl,s.selectFormIdentifierValuesOfFormSubmission=eM,s.selectFormIdentifierValuesOfIdentifier=tM,s.selectFormIdentifiers=Ws,s.selectFormIdentifiersByIds=Xu,s.selectFormIdentifiersOfForm=x_,s.selectFormMapping=ro,s.selectFormRevisionAttachmentById=bl,s.selectFormRevisionAttachments=Il,s.selectFormRevisionAttachmentsByIds=Ol,s.selectFormRevisionAttachmentsMapping=Nt,s.selectFormRevisionById=Bl,s.selectFormRevisionMapping=Vl,s.selectFormRevisions=Kt,s.selectFormRevisionsByIds=zl,s.selectFormRevisionsOfForm=jl,s.selectFormSubmissionById=Sh,s.selectFormSubmissionCommentAttachmentById=Ko,s.selectFormSubmissionCommentAttachmentMapping=No,s.selectFormSubmissionCommentAttachments=yi,s.selectFormSubmissionCommentAttachmentsByIds=Wo,s.selectFormSubmissionCommentById=ah,s.selectFormSubmissionCommentMapping=ih,s.selectFormSubmissionComments=Xt,s.selectFormSubmissionCommentsByIds=nh,s.selectFormSubmissionFieldValues=pi,s.selectFormSubmissionFieldValuesAttachmentById=To,s.selectFormSubmissionFieldValuesAttachments=di,s.selectFormSubmissionFieldValuesAttachmentsByIds=ui,s.selectFormSubmissionFieldValuesAttachmentsMapping=ri,s.selectFormSubmissionFieldValuesById=vo,s.selectFormSubmissionFieldValuesByIds=Vo,s.selectFormSubmissionFieldValuesMapping=Eo,s.selectFormSubmissionFieldValuesOfFormSubmission=Bo,s.selectFormSubmissions=C,s.selectFormSubmissionsByIds=Ah,s.selectFormSubmissionsMapping=fh,s.selectFormSubmissionsOfAsset=Oh,s.selectFormSubmissionsOfAssets=Ph,s.selectFormSubmissionsOfForm=Th,s.selectFormSubmissionsOfIssue=Ih,s.selectFormSubmissionsOfIssues=bh,s.selectFormSubmissionsOfOrganization=dM,s.selectFormSubmissionsOfOrganizationAndForm=oM,s.selectFormSubmissionsOfProject=uM,s.selectFormSubmissionsOfProjectAndForm=lM,s.selectFormSubscriberById=Kl,s.selectFormSubscriberMapping=Nl,s.selectFormSubscribers=Wt,s.selectFormSubscribersByIds=Wl,s.selectFormSubscribersOfForm=Xl,s.selectFormSubscribersOfUser=aM,s.selectForms=ii,s.selectFormsByIds=lo,s.selectFormsOfOrganization=nM,s.selectGeoImageById=Ch,s.selectGeoImageMapping=jh,s.selectGeoImages=bi,s.selectGeoImagesByIds=Dh,s.selectGeoImagesOfProject=hM,s.selectIsLoggedIn=X_,s.selectIssueAssociationById=Xh,s.selectIssueAssociationMapping=Wh,s.selectIssueAssociations=It,s.selectIssueAssociationsByIds=Yh,s.selectIssueAssociationsOfAsset=Qh,s.selectIssueAssociationsOfAssets=xh,s.selectIssueAssociationsOfIssue=Jh,s.selectIssueAssociationsOfIssues=Zh,s.selectIssueAttachmentById=op,s.selectIssueAttachmentMapping=up,s.selectIssueAttachments=Mi,s.selectIssueAttachmentsByIds=hp,s.selectIssueById=Zp,s.selectIssueCommentAttachmentById=_p,s.selectIssueCommentAttachmentMapping=Fp,s.selectIssueCommentAttachments=Ri,s.selectIssueCommentAttachmentsByIds=Mp,s.selectIssueCommentById=qp,s.selectIssueCommentMapping=Ei,s.selectIssueCommentsByIds=$p,s.selectIssueMapping=Yp,s.selectIssueTypeAttachmentById=om,s.selectIssueTypeAttachmentMapping=lm,s.selectIssueTypeAttachments=ji,s.selectIssueTypeAttachmentsByIds=hm,s.selectIssueTypeById=mf,s.selectIssueTypeFieldValues=Zt,s.selectIssueTypeFieldValuesAttachmentById=oy,s.selectIssueTypeFieldValuesAttachments=Hi,s.selectIssueTypeFieldValuesAttachmentsByIds=hy,s.selectIssueTypeFieldValuesAttachmentsMapping=ly,s.selectIssueTypeFieldValuesById=$m,s.selectIssueTypeFieldValuesByIds=Um,s.selectIssueTypeFieldValuesMapping=qm,s.selectIssueTypeFieldValuesOfIssue=AM,s.selectIssueTypeFields=gt,s.selectIssueTypeFieldsAttachmentById=_m,s.selectIssueTypeFieldsAttachments=Di,s.selectIssueTypeFieldsAttachmentsByIds=Mm,s.selectIssueTypeFieldsAttachmentsMapping=Fm,s.selectIssueTypeFieldsById=xm,s.selectIssueTypeFieldsByIds=ey,s.selectIssueTypeFieldsMapping=Qm,s.selectIssueTypeFieldsOfIssueType=TM,s.selectIssueTypeIdentifierById=My,s.selectIssueTypeIdentifierMapping=_y,s.selectIssueTypeIdentifierValueById=Uy,s.selectIssueTypeIdentifierValueMapping=$y,s.selectIssueTypeIdentifierValues=Jt,s.selectIssueTypeIdentifierValuesByIds=ky,s.selectIssueTypeIdentifierValuesOfIdentifier=FM,s.selectIssueTypeIdentifierValuesOfIssue=PM,s.selectIssueTypeIdentifiers=Ni,s.selectIssueTypeIdentifiersByIds=gy,s.selectIssueTypeIdentifiersOfIssueType=OM,s.selectIssueTypeMapping=pf,s.selectIssueTypePriorities=Xi,s.selectIssueTypePrioritiesByIds=ef,s.selectIssueTypePrioritiesOfIssueType=_M,s.selectIssueTypePriorityById=Yi,s.selectIssueTypePriorityMapping=xy,s.selectIssueTypeStatusById=ea,s.selectIssueTypeStatusMapping=gf,s.selectIssueTypeStatuses=xi,s.selectIssueTypeStatusesByIds=Rf,s.selectIssueTypeStatusesOfIssueType=gM,s.selectIssueTypeValuesOfIssueType=bM,s.selectIssueTypes=Ji,s.selectIssueTypesByIds=yf,s.selectIssueTypesOfOrganization=MM,s.selectIssueUpdateById=Cf,s.selectIssueUpdateMapping=ca,s.selectIssueUpdates=ra,s.selectIssueUpdatesByIds=Df,s.selectIssueUpdatesOfIssue=qf,s.selectIssues=Yt,s.selectIssuesByIds=Jp,s.selectIssuesOfIssueType=Qp,s.selectIssuesOfProject=yM,s.selectLatestAssetTypeFieldsOfAssetType=D_,s.selectLatestFieldsByProcedureStep=ng,s.selectLatestFormRevisionOfForm=iM,s.selectLatestIssueTypeFieldsOfIssueType=IM,s.selectLatestProcedureStepFieldValuesReviewByProcedureStepFieldValues=hg,s.selectLatestProcedureStepFieldsOfProcedureStep=ag,s.selectLatestProcedureTypeFieldsOfProcedureType=bg,s.selectLatestRetryTime=BM,s.selectLatestReviewOfProcedureStepFieldValues=ug,s.selectMembershipsByUserOfTeam=gg,s.selectOrganizationAccessById=dS,s.selectOrganizationAccessMapping=es,s.selectOrganizationAccessUserMapping=lS,s.selectOrganizationAccessesByIds=uS,s.selectOrganizationById=PS,s.selectOrganizationDocuments=J_,s.selectOrganizations=OS,s.selectOrganizationsByIds=FS,s.selectOrganizationsMapping=bS,s.selectProcedureById=AT,s.selectProcedureFieldValues=cn,s.selectProcedureFieldValuesAttachmentById=PP,s.selectProcedureFieldValuesAttachments=an,s.selectProcedureFieldValuesAttachmentsByIds=FP,s.selectProcedureFieldValuesAttachmentsMapping=OP,s.selectProcedureFieldValuesById=qP,s.selectProcedureFieldValuesByIds=$P,s.selectProcedureFieldValuesMapping=DP,s.selectProcedureInitiativeById=cT,s.selectProcedureInitiatives=is,s.selectProcedureInitiativesByIds=rT,s.selectProcedureInitiativesMapping=nT,s.selectProcedureInitiativesOfProcedureType=GM,s.selectProcedureInitiativesOfProject=HM,s.selectProcedureStepAssigneeById=jT,s.selectProcedureStepAssignees=wt,s.selectProcedureStepAssigneesByIds=CT,s.selectProcedureStepAssigneesMapping=zT,s.selectProcedureStepAssigneesOfProcedure=KM,s.selectProcedureStepAssigneesOfProcedureAndProcedureStep=XM,s.selectProcedureStepAssigneesOfProcedureStep=WM,s.selectProcedureStepById=PO,s.selectProcedureStepCommentById=YT,s.selectProcedureStepComments=Et,s.selectProcedureStepCommentsByIds=ZT,s.selectProcedureStepCommentsMapping=XT,s.selectProcedureStepCommentsOfProcedure=YM,s.selectProcedureStepCommentsOfProcedureAndProcedureStep=JM,s.selectProcedureStepCommentsOfProcedureStep=ZM,s.selectProcedureStepDefaultAssigneeById=uI,s.selectProcedureStepDefaultAssignees=ga,s.selectProcedureStepDefaultAssigneesByIds=lI,s.selectProcedureStepDefaultAssigneesMapping=dI,s.selectProcedureStepDefaultAssigneesOfProcedureStep=QM,s.selectProcedureStepDefaultReviewerById=PI,s.selectProcedureStepDefaultReviewers=wa,s.selectProcedureStepDefaultReviewersByIds=FI,s.selectProcedureStepDefaultReviewersMapping=OI,s.selectProcedureStepDefaultReviewersOfProcedureStep=xM,s.selectProcedureStepEventById=DI,s.selectProcedureStepEvents=vt,s.selectProcedureStepEventsByIds=qI,s.selectProcedureStepEventsMapping=CI,s.selectProcedureStepEventsOfProcedure=eg,s.selectProcedureStepEventsOfProcedureAndProcedureStep=sg,s.selectProcedureStepEventsOfProcedureStep=tg,s.selectProcedureStepFieldValues=pt,s.selectProcedureStepFieldValuesAttachmentById=bb,s.selectProcedureStepFieldValuesAttachments=Ua,s.selectProcedureStepFieldValuesAttachmentsByIds=Ob,s.selectProcedureStepFieldValuesAttachmentsMapping=Ib,s.selectProcedureStepFieldValuesById=Db,s.selectProcedureStepFieldValuesByIds=qb,s.selectProcedureStepFieldValuesMapping=Cb,s.selectProcedureStepFieldValuesOfProcedure=cg,s.selectProcedureStepFieldValuesOfProcedureAndProcedureStep=dg,s.selectProcedureStepFieldValuesOfProcedureStep=rg,s.selectProcedureStepFieldValuesReviewById=Xb,s.selectProcedureStepFieldValuesReviews=mt,s.selectProcedureStepFieldValuesReviewsByIds=Yb,s.selectProcedureStepFieldValuesReviewsMapping=Wb,s.selectProcedureStepFieldValuesReviewsOfProcedure=lg,s.selectProcedureStepFieldValuesReviewsOfProcedureAndProcedureStep=og,s.selectProcedureStepFields=as,s.selectProcedureStepFieldsAttachmentById=ZI,s.selectProcedureStepFieldsAttachments=za,s.selectProcedureStepFieldsAttachmentsByIds=JI,s.selectProcedureStepFieldsAttachmentsMapping=XI,s.selectProcedureStepFieldsById=ub,s.selectProcedureStepFieldsByIds=lb,s.selectProcedureStepFieldsMapping=Ca,s.selectProcedureStepFieldsOfProcedureStep=ig,s.selectProcedureStepReviewerById=uO,s.selectProcedureStepReviewers=Vt,s.selectProcedureStepReviewersByIds=lO,s.selectProcedureStepReviewersMapping=dO,s.selectProcedureStepReviewersOfProcedure=pg,s.selectProcedureStepReviewersOfProcedureAndProcedureStep=yg,s.selectProcedureStepReviewersOfProcedureStep=mg,s.selectProcedureSteps=Xa,s.selectProcedureStepsByIds=FO,s.selectProcedureStepsMapping=Wa,s.selectProcedureStepsMappingOfProcedureType=fg,s.selectProcedureStepsOfProcedureType=Sg,s.selectProcedureTypeAttachmentById=DO,s.selectProcedureTypeAttachmentMapping=CO,s.selectProcedureTypeAttachments=Za,s.selectProcedureTypeAttachmentsByIds=qO,s.selectProcedureTypeById=QP,s.selectProcedureTypeFields=ns,s.selectProcedureTypeFieldsAttachmentById=JO,s.selectProcedureTypeFieldsAttachments=Qa,s.selectProcedureTypeFieldsAttachmentsByIds=QO,s.selectProcedureTypeFieldsAttachmentsMapping=ZO,s.selectProcedureTypeFieldsById=oP,s.selectProcedureTypeFieldsByIds=hP,s.selectProcedureTypeFieldsMapping=lP,s.selectProcedureTypeFieldsOfProcedureType=Ig,s.selectProcedureTypes=dn,s.selectProcedureTypesByIds=xP,s.selectProcedureTypesMapping=JP,s.selectProcedureTypesOfOrganization=Pg,s.selectProcedures=ht,s.selectProceduresByIds=TT,s.selectProceduresMapping=ST,s.selectProceduresOfAsset=bT,s.selectProceduresOfAssets=OT,s.selectProceduresOfProcedureInitiative=PT,s.selectProceduresOfProcedureType=IT,s.selectProceduresOfProject=NM,s.selectProjectAccessById=HS,s.selectProjectAccessMapping=fa,s.selectProjectAccesses=Rt,s.selectProjectAccessesByIds=GS,s.selectProjectAccessesOfProject=jM,s.selectProjectAttachmentById=sA,s.selectProjectAttachmentMapping=tA,s.selectProjectAttachments=Aa,s.selectProjectAttachmentsByIds=iA,s.selectProjectById=KA,s.selectProjectCommentById=fA,s.selectProjectCommentMapping=yA,s.selectProjectComments=ts,s.selectProjectCommentsByIds=SA,s.selectProjectDocuments=Z_,s.selectProjectFileById=vA,s.selectProjectFileMapping=wA,s.selectProjectFiles=EA,s.selectProjectFilesByIds=VA,s.selectProjectMapping=NA,s.selectProjects=ss,s.selectProjectsByIds=WA,s.selectProjectsOfOrganization=LM,s.selectRehydrated=Mg,s.selectReportById=pF,s.selectReportMapping=oF,s.selectReports=hF,s.selectReportsByIds=mF,s.selectReviewsOfProcedureStepFieldValues=Zb,s.selectTeamById=kF,s.selectTeamMembershipById=RF,s.selectTeamMemberships=cs,s.selectTeamMembershipsByIds=wF,s.selectTeamMembershipsMapping=gF,s.selectTeams=pn,s.selectTeamsByIds=LF,s.selectTeamsMapping=UF,s.selectTeamsOfOrganization=wg,s.selectUserById=xt,s.selectUsers=Qt,s.selectUsersByIds=Zf,s.selectUsersMapping=oa,s.selectUsersOfOrganization=vM,s.selectUsersOfProject=DM,s.selectUsersOfTeam=Rg,s.setAsset=Oc,s.setAssetAttachment=Vn,s.setAssetAttachments=Bn,s.setAssetComment=nc,s.setAssetCommentAttachment=Kn,s.setAssetCommentAttachments=Wn,s.setAssetComments=cc,s.setAssetType=Td,s.setAssetTypeAttachment=Vc,s.setAssetTypeAttachments=Bc,s.setAssetTypeFieldValues=Br,s.setAssetTypeFieldValuesAttachment=Tr,s.setAssetTypeFieldValuesAttachments=Ir,s.setAssetTypeFieldValuesMany=zr,s.setAssetTypeFields=cr,s.setAssetTypeFieldsAttachment=Kc,s.setAssetTypeFieldsAttachments=Wc,s.setAssetTypeFieldsMany=rr,s.setAssetTypeIdentifier=Wr,s.setAssetTypeIdentifierValue=rd,s.setAssetTypeIdentifierValues=dd,s.setAssetTypeIdentifiers=Xr,s.setAssetTypeStatus=jd,s.setAssetTypeStatuses=Cd,s.setAssetTypes=Id,s.setAssets=Pc,s.setClientSDK=p_,s.setClientStore=o_,s.setConversation=Mn,s.setConversations=g_,s.setCurrentUser=RM,s.setCurrentUserProfile=wM,s.setDocument=hu,s.setDocumentAttachment=Qd,s.setDocumentAttachments=xd,s.setDocuments=pu,s.setEmailDomain=Mu,s.setEmailDomains=gu,s.setForm=eo,s.setFormIdentifier=Uu,s.setFormIdentifierValue=el,s.setFormIdentifierValues=tl,s.setFormIdentifiers=ku,s.setFormRevision=gl,s.setFormRevisionAttachment=ml,s.setFormRevisionAttachments=yl,s.setFormRevisions=Rl,s.setFormSubmission=lh,s.setFormSubmissionComment=Qo,s.setFormSubmissionCommentAttachment=$o,s.setFormSubmissionCommentAttachments=Uo,s.setFormSubmissionComments=xo,s.setFormSubmissionFieldValues=_o,s.setFormSubmissionFieldValuesAttachment=mo,s.setFormSubmissionFieldValuesAttachments=yo,s.setFormSubmissionFieldValuesMany=Mo,s.setFormSubmissions=oh,s.setFormSubscriber=Ul,s.setFormSubscribers=kl,s.setForms=to,s.setGeoImage=gh,s.setGeoImages=Rh,s.setIssue=Gp,s.setIssueAssociation=Lh,s.setIssueAssociations=kh,s.setIssueAttachment=ap,s.setIssueAttachments=np,s.setIssueComment=Vp,s.setIssueCommentAttachment=Ap,s.setIssueCommentAttachments=Tp,s.setIssueComments=Bp,s.setIssueType=rf,s.setIssueTypeAttachment=am,s.setIssueTypeAttachments=nm,s.setIssueTypeFieldValues=Vm,s.setIssueTypeFieldValuesAttachment=ny,s.setIssueTypeFieldValuesAttachments=cy,s.setIssueTypeFieldValuesMany=Bm,s.setIssueTypeFields=Km,s.setIssueTypeFieldsAttachment=Am,s.setIssueTypeFieldsAttachments=Tm,s.setIssueTypeFieldsMany=Wm,s.setIssueTypeIdentifier=Ty,s.setIssueTypeIdentifierValue=By,s.setIssueTypeIdentifierValues=zy,s.setIssueTypeIdentifiers=Iy,s.setIssueTypePriorities=Xy,s.setIssueTypePriority=Wy,s.setIssueTypeStatus=bf,s.setIssueTypeStatuses=Of,s.setIssueTypes=df,s.setIssueUpdate=Vf,s.setIssueUpdates=Bf,s.setIssues=Np,s.setLoggedIn=Kd,s.setOrganization=mS,s.setOrganizationAccess=tS,s.setOrganizationAccesses=sS,s.setOrganizations=pS,s.setProcedure=oT,s.setProcedureFieldValues=EP,s.setProcedureFieldValuesAttachment=fP,s.setProcedureFieldValuesAttachments=SP,s.setProcedureFieldValuesMany=vP,s.setProcedureInitiative=QA,s.setProcedureInitiatives=xA,s.setProcedureStep=mO,s.setProcedureStepAssignee=RT,s.setProcedureStepAssignees=wT,s.setProcedureStepComment=LT,s.setProcedureStepComments=HT,s.setProcedureStepDefaultAssignee=sI,s.setProcedureStepDefaultAssignees=iI,s.setProcedureStepDefaultReviewer=fI,s.setProcedureStepDefaultReviewers=SI,s.setProcedureStepEvent=EI,s.setProcedureStepEvents=vI,s.setProcedureStepFieldValues=wb,s.setProcedureStepFieldValuesAttachment=yb,s.setProcedureStepFieldValuesAttachments=fb,s.setProcedureStepFieldValuesMany=Eb,s.setProcedureStepFieldValuesReview=Lb,s.setProcedureStepFieldValuesReviews=Hb,s.setProcedureStepFields=ib,s.setProcedureStepFieldsAttachment=HI,s.setProcedureStepFieldsAttachments=GI,s.setProcedureStepFieldsMany=ab,s.setProcedureStepReviewer=sO,s.setProcedureStepReviewers=iO,s.setProcedureSteps=yO,s.setProcedureType=GP,s.setProcedureTypeAttachment=wO,s.setProcedureTypeAttachments=EO,s.setProcedureTypeFields=iP,s.setProcedureTypeFieldsAttachment=HO,s.setProcedureTypeFieldsAttachments=GO,s.setProcedureTypeFieldsMany=aP,s.setProcedureTypes=NP,s.setProcedures=hT,s.setProject=DA,s.setProjectAccess=CS,s.setProjectAccesses=DS,s.setProjectAttachment=YS,s.setProjectAttachments=ZS,s.setProjectComment=uA,s.setProjectComments=lA,s.setProjectFile=bA,s.setProjectFiles=OA,s.setProjects=CA,s.setRehydrated=_g,s.setReport=nF,s.setReports=cF,s.setTeam=zF,s.setTeamMembership=IF,s.setTeamMemberships=bF,s.setTeams=jF,s.setTokens=N_,s.setUser=Hf,s.setUsers=Lf,s.teamMembershipReducer=MF,s.teamMembershipSlice=on,s.teamReducer=HF,s.teamSlice=hn,s.updateAsset=Tc,s.updateAssetAttachment=zn,s.updateAssetAttachments=jn,s.updateAssetComment=rc,s.updateAssetCommentAttachment=Xn,s.updateAssetCommentAttachments=Yn,s.updateAssetComments=dc,s.updateAssetType=Pd,s.updateAssetTypeAttachment=zc,s.updateAssetTypeAttachments=jc,s.updateAssetTypeFieldValues=jr,s.updateAssetTypeFieldValuesAttachment=br,s.updateAssetTypeFieldValuesAttachments=Or,s.updateAssetTypeFieldValuesMany=Cr,s.updateAssetTypeFields=dr,s.updateAssetTypeFieldsAttachment=Xc,s.updateAssetTypeFieldsAttachments=Yc,s.updateAssetTypeFieldsMany=ur,s.updateAssetTypeIdentifier=Yr,s.updateAssetTypeIdentifierValue=ud,s.updateAssetTypeIdentifierValues=ld,s.updateAssetTypeIdentifiers=Zr,s.updateAssetTypeStatus=Dd,s.updateAssetTypeStatuses=qd,s.updateAssetTypes=Fd,s.updateAssets=Ic,s.updateConversation=gn,s.updateConversations=R_,s.updateDocument=mu,s.updateDocumentAttachment=eu,s.updateDocumentAttachments=tu,s.updateDocuments=yu,s.updateEmailDomain=Ru,s.updateEmailDomains=wu,s.updateForm=so,s.updateFormIdentifier=Lu,s.updateFormIdentifierValue=sl,s.updateFormIdentifierValues=il,s.updateFormIdentifiers=Hu,s.updateFormRevision=wl,s.updateFormRevisionAttachment=fl,s.updateFormRevisionAttachments=Sl,s.updateFormRevisions=El,s.updateFormSubmission=ph,s.updateFormSubmissionComment=eh,s.updateFormSubmissionCommentAttachment=ko,s.updateFormSubmissionCommentAttachments=Lo,s.updateFormSubmissionComments=th,s.updateFormSubmissionFieldValues=go,s.updateFormSubmissionFieldValuesAttachment=fo,s.updateFormSubmissionFieldValuesAttachments=So,s.updateFormSubmissionFieldValuesMany=Ro,s.updateFormSubmissions=mh,s.updateFormSubscriber=Ll,s.updateFormSubscribers=Hl,s.updateForms=io,s.updateGeoImage=vh,s.updateGeoImages=Vh,s.updateIssue=Kp,s.updateIssueAssociation=Hh,s.updateIssueAssociations=Gh,s.updateIssueAttachment=cp,s.updateIssueAttachments=rp,s.updateIssueComment=zp,s.updateIssueCommentAttachment=Ip,s.updateIssueCommentAttachments=bp,s.updateIssueComments=jp,s.updateIssueType=uf,s.updateIssueTypeAttachment=cm,s.updateIssueTypeAttachments=rm,s.updateIssueTypeFieldValues=zm,s.updateIssueTypeFieldValuesAttachment=ry,s.updateIssueTypeFieldValuesAttachments=dy,s.updateIssueTypeFieldValuesMany=jm,s.updateIssueTypeFields=Xm,s.updateIssueTypeFieldsAttachment=Im,s.updateIssueTypeFieldsAttachments=bm,s.updateIssueTypeFieldsMany=Ym,s.updateIssueTypeIdentifier=by,s.updateIssueTypeIdentifierValue=jy,s.updateIssueTypeIdentifierValues=Cy,s.updateIssueTypeIdentifiers=Oy,s.updateIssueTypePriorities=Zy,s.updateIssueTypePriority=Yy,s.updateIssueTypeStatus=Pf,s.updateIssueTypeStatuses=Ff,s.updateIssueTypes=lf,s.updateIssueUpdate=zf,s.updateIssueUpdates=jf,s.updateIssues=Wp,s.updateOrganization=AS,s.updateOrganizationAccess=iS,s.updateOrganizationAccesses=aS,s.updateOrganizations=SS,s.updateProcedure=pT,s.updateProcedureFieldValues=VP,s.updateProcedureFieldValuesAttachment=AP,s.updateProcedureFieldValuesAttachments=TP,s.updateProcedureFieldValuesMany=BP,s.updateProcedureInitiative=eT,s.updateProcedureInitiatives=tT,s.updateProcedureStep=AO,s.updateProcedureStepAssignee=ET,s.updateProcedureStepAssignees=vT,s.updateProcedureStepComment=GT,s.updateProcedureStepComments=NT,s.updateProcedureStepDefaultAssignee=aI,s.updateProcedureStepDefaultAssignees=nI,s.updateProcedureStepDefaultReviewer=AI,s.updateProcedureStepDefaultReviewers=TI,s.updateProcedureStepEvent=VI,s.updateProcedureStepEvents=BI,s.updateProcedureStepFieldValues=vb,s.updateProcedureStepFieldValuesAttachment=Sb,s.updateProcedureStepFieldValuesAttachments=Ab,s.updateProcedureStepFieldValuesMany=Vb,s.updateProcedureStepFieldValuesReview=Gb,s.updateProcedureStepFieldValuesReviews=Nb,s.updateProcedureStepFields=nb,s.updateProcedureStepFieldsAttachment=NI,s.updateProcedureStepFieldsAttachments=KI,s.updateProcedureStepFieldsMany=cb,s.updateProcedureStepReviewer=aO,s.updateProcedureStepReviewers=nO,s.updateProcedureSteps=TO,s.updateProcedureType=KP,s.updateProcedureTypeAttachment=vO,s.updateProcedureTypeAttachments=VO,s.updateProcedureTypeFields=nP,s.updateProcedureTypeFieldsAttachment=NO,s.updateProcedureTypeFieldsAttachments=KO,s.updateProcedureTypeFieldsMany=cP,s.updateProcedureTypes=WP,s.updateProcedures=mT,s.updateProject=kA,s.updateProjectAccess=qS,s.updateProjectAccesses=$S,s.updateProjectAttachment=JS,s.updateProjectAttachments=QS,s.updateProjectComment=oA,s.updateProjectComments=hA,s.updateProjectFile=_A,s.updateProjectFiles=MA,s.updateProjects=UA,s.updateReport=rF,s.updateReports=dF,s.updateTeam=CF,s.updateTeamMembership=OF,s.updateTeamMemberships=PF,s.updateTeams=DF,s.updateUser=Kf,s.updateUsers=Nf,s.userReducer=Xf,s.userSlice=da,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
|