1(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`2.2639.14`}}catch{}})();try{(function(){var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`007fa047-3c6e-49ae-8fad-9d2fb0a65a01`,e._sentryDebugIdIdentifier=`sentry-dbid-007fa047-3c6e-49ae-8fad-9d2fb0a65a01`)})()}catch{}import{Mn as e,Mt as t,Tn as n,kn as r,y as i,yn as a}from"./vendor-framework-BY8h9zXD.js";import{Cc as o,Cs as s,Dc as c,Ds as l,Es as u,Gs as d,Il as f,Os as p,Sc as m,Sl as h,Ss as g,Ul as _,Wl as v,ds as y,ec as b,hl as x,ic as S,mu as C,oc as ee,ql as w,ru as te,ss as ne,us as T}from"./analytics-DwXnhD1W.js";import{t as E}from"./chart-CbRs2B_a.js";import{A as re,D,E as ie,M as O,O as k,R as A,S as j,T as ae,a as oe,g as M,k as se,m as N,o as P,v as F,x as I,z as L}from"./vendor-data-HgxkrWIO.js";var R={BROKERAGE:`brokerage`,CRYPTO_WALLET:`crypto_wallet`,FIXED_INCOME:`fixed_income`,PRIVATE_MARKETS:`private_markets`,MUTUAL_FUNDS:`mutual_funds`,PEA:`pea`},z=function(e){return e.STOCKS_AND_ETFS=`stocksAndETFs`,e.CRYPTO=`cryptos`,e.DERIVATIVES=`derivatives`,e.BONDS=`bonds`,e.PRIVATE_MARKETS=`privateMarkets`,e.MUTUAL_FUNDS=`mutualFunds`,e.FIXED_SAVINGS=`fixedSavings`,e.OTHERS=`others`,e}({}),ce=function(e){return e.Open=`open`,e.PartiallyFilled=`partiallyFilled`,e.Canceled=`canceled`,e.Expired=`expired`,e.Executed=`executed`,e.Rejected=`rejected`,e}({}),le=function(e){return e.Amount=`amount`,e.Assets=`assets`,e}({}),B=function(e){return e.Buy=`buy`,e.Sell=`sell`,e}({}),V=function(e){return e.Market=`market`,e.Limit=`limit`,e.StopMarket=`stopMarket`,e.TrailingStopMarket=`trailingStopMarket`,e.SavingsPlan=`savings-plan`,e}({}),ue=function(e){return e.GoodForDay=`gfd`,e.GoodTillCancelled=`gtc`,e.GoodTillDate=`gtd`,e.EndOfMonth=`eom`,e}({}),de=function(e){return e.Received=`received`,e.Waiting=`waiting`,e.ConfirmationNeeded=`confirmationNeeded`,e.Succeeded=`succeeded`,e.Failed=`failed`,e}({}),fe=function(e){return e.CashMissing=`cashMissing`,e.Conflict=`conflict`,e.CurrentQuoteMissing=`currentQuoteMissing`,e.InstrumentSuspended=`instrumentSuspended`,e.InternalError=`internalError`,e.InvalidSecurityDerivative=`invalidSecurityDerivative`,e.InvalidSecurityNonDerivative=`invalidSecurityNonDerivative`,e.LimitDenied=`limitDenied`,e.MaxQuantityExceeded=`maxQuantityExceeded`,e.NoRefPriceAvailable=`noRefPriceAvailable`,e.NoRouteToMarket=`noRouteToMarket`,e.OrderAlreadyDeleted=`orderAlreadyDeleted`,e.OrderAlreadyExists=`orderAlreadyExists`,e.OrderRejectedAtExchange=`orderRejectedAtExchange`,e.PortfolioInactive=`portfolioInactive`,e.QuoteMissing=`quoteMissing`,e.SavingsplanSharesMissingToday=`savingsplanSharesMissingToday`,e.SharesMissing=`sharesMissing`,e.ShortPositionNotAllowed=`shortPositionNotAllowed`,e.TimeoutError=`timeoutError`,e.UnknownInstrument=`unknownInstrument`,e}({}),H=function(e){return e.Positive=`positive`,e.Negative=`negative`,e.Neutral=`neutral`,e}({});H.Positive;var pe={};function me(e){return e===0?H.Neutral:e<0?H.Negative:H.Positive}function U(e,t){let n=t-e;return{absolute:n,relative:n/e,trend:me(n)}}function he(e){return s(e).pipe(ae(e=>e.some(e=>e.currencyId===`EUR`)),L(e=>e.find(e=>e.currencyId===`EUR`)))}function ge({isin:e,exchangeId:t,unit:n,orderType:r,orderMode:i,instrumentType:a}){return g({isin:e,exchangeId:t,side:r,unit:n}).pipe(L(e=>{let t=a!==null&&[w.Stock,w.Fund].includes(a),n=a!==null&&[w.MutualFund,w.PrivateFund].includes(a),o=Number(e?.price??0)<1,s=Date.now()-18e5>new Date(e.time).getTime();return r===B.Buy&&[V.Market,V.StopMarket].includes(i)&&!n&&(o&&t||s)}))}function _e(e,t,n,r){let i=e!=null&&t!=null&&e>0&&t>0?(t-e)/t:0;if([V.Market,V.StopMarket].includes(n)){if(r!==null&&[w.Stock,w.Fund,w.Bond].includes(r))return i>.01?i:null;if(r!==null&&[w.Derivative,w.Crypto].includes(r))return i>.05?i:null}return null}function W(e,t){let[n,r]=[e.nextExecutionDate,e.createdAt],[i,a]=[t.nextExecutionDate,t.createdAt];return n===i?r>a?1:-1:n>i?1:-1}function ve(){return p().pipe(L(e=>[...e].sort(W)))}function ye(){return l().pipe(L(e=>[...e].sort(W)))}function be(){return u().pipe(L(e=>[...e].sort(W)))}var xe={[_.Call]:`instrument_derivative_info_call`,[_.Put]:`instrument_derivative_info_put`,[_.Long]:`instrument_derivative_info_long`,[_.Short]:`instrument_derivative_info_short`};function Se(e){return`${e.barrier||e.strike}`}function Ce(e){let{derivativeInfo:t}=e;if(!t||e.typeId!==w.Derivative)return null;let{optionType:n}=t.properties,r=n?xe[n]:null;return{productCategoryName:t.productCategoryName,optionTypeKey:r,barrier:Se(t.properties),underlyingIsin:t.underlying.isin,knocked:t.knocked,expiry:t.properties.expiry,instrumentShortName:t.underlying.shortName||t.underlying.name,properties:{factor:t.properties.factor},isTopic:t.productGroupType===v.trackerCertificate}}var we=`TRFX`;function Te(e){return e?.bid?.price??null}function Ee(e){return e?.pre?.price??null}function De(e){return e?.last?.price??null}function Oe(e,t){return e===null?k(null):m().pipe(F(500),N(1),I(n=>{let r=n??C.EUR;return!t||t===r?k(e):S({isin:`${r}/${t}`,exchangeId:we,unit:t}).pipe(F(500),N(1),L(t=>{let n=Number(t.bidPrice);return Number.isFinite(n)&&n>0?e/n:null}))}),M(()=>k(null)))}function G(e,t){return{absolute:e,relative:t,trend:e<0?H.Negative:H.Positive}}var K={yield:null,invested:null,currency:null,netAccruedInterest:null,total:null};function ke(e,t,n,r){return I(([i,a])=>{let{isin:o,shortName:s,typeId:c,imageId:l}=i,u=h(Te(a)),d=h(Ee(a)),f=d!==null&&u!==null?U(d,u):null,p=null,m=i.fundInfo?.maturityDate??null,g=m==null?null:{maturityDate:m},_=i.typeId===w.Bond,v=h(De(a));v!==null&&_&&(v/=100);let b=d;b!==null&&_&&(b/=100);let S=k({performance:{daily:f,sinceBuy:null},valuation:K}),C=k(null);if(i.typeId===w.Bond){p={accruedInterest:null,interestRate:h(i.bondInfo?.interestRate),maturityDate:i.bondInfo?.maturityDate??null,nextCouponDate:i.bondInfo?.nextCouponDate??null,currency:i.bondInfo?.currency??null};let t=u,r=i.bondInfo?.accruedInterest??0;C=Oe(t!==null&&e!==void 0?e*(t/100+r):null,i.bondInfo?.currency??null),S=y(o,n).pipe(F(500),N(1),L(e=>{let{dailyPerformance:t,sinceBuyPerformance:n}=e,r=x(t.absolute.value),i=x(n.absolute.value);return{performance:{daily:{absolute:r,relative:x(t.relative),trend:r<0?H.Negative:H.Positive},sinceBuy:{absolute:i,relative:x(n.relative),trend:i<0?H.Negative:H.Positive}},valuation:{yield:h(e.yield)??null,invested:h(e.invested?.value)??null,currency:e.total?.currency??null,netAccruedInterest:h(e.netAccruedInterest?.value)??null,total:h(e.total?.value)??null}}}),M(e=>
1e.name===`TimeoutError`?k({performance:{daily:null,sinceBuy:null},valuation:K}):D(()=>e)))}else r===z.FIXED_SAVINGS?S=T(o,n).pipe(F(500),N(1),L(e=>{let{dailyPerformance:t,sinceBuyPerformance:n}=e;return{performance:{daily:G(x(t.absolute.value),x(t.relative)),sinceBuy:G(x(n.absolute.value),x(n.relative))},valuation:{yield:h(e.yield)??null,invested:h(e.invested?.value)??null,currency:e.total?.currency??null,netAccruedInterest:null,total:h(e.total?.value)??null}}}),M(e=>e.name===`TimeoutError`?k({performance:{daily:null,sinceBuy:null},valuation:K}):D(()=>e))):u!==null&&t!=null&&e!==void 0&&(S=k({performance:{daily:f,sinceBuy:U(t*e,u*e)},valuation:K}));return A([S,C]).pipe(L(([{performance:e,valuation:t},n])=>({instrumentId:o,shortName:s,instrumentType:c,instrumentImageId:l,currentPrice:v,previousClosePrice:b,performance:e,derivative:Ce(i),bond:p?{...p,accruedInterest:t.netAccruedInterest}:null,fund:g,invested:t.invested,valuationCurrency:t.currency,valuationYield:t.yield,valuationTotal:t.total,marketValue:n})))})}function q(e,t,n,r,i){let a=b(e).pipe(M(t=>(f(t,{isin:e}),k(null))),j({bufferSize:1,refCount:!0}));return A([ee(e).pipe(N(1),M(t=>(t instanceof te||f(t,{isin:e}),k({shortName:e})))),se(a,O(2500).pipe(oe(a),L(()=>null)))]).pipe(ke(t,n,r,i))}function Ae(e,t){return{instrumentId:e,shortName:t,instrumentType:void 0,instrumentImageId:null,currentPrice:null,previousClosePrice:null,performance:{daily:null,sinceBuy:null},derivative:null,bond:null,fund:null,invested:null,valuationCurrency:null,valuationYield:null,valuationTotal:null,marketValue:null}}function je(e,t){return t.netValue-e.netValue}function Me(e,t){return t.categoryType===z.FIXED_SAVINGS||e.instrumentType===w.Bond?e.valuationTotal??0:(e.currentPrice??0)*x(t.netSize)}function Ne(e){return e.filter(e=>e.categoryType!==z.PRIVATE_MARKETS)}function Pe(e=!1,t=!0){return d(e).pipe(ie((e,t)=>e.positions.length===t.positions.length&&e.positions.every((e,n)=>e.instrumentId===t.positions[n].instrumentId&&e.secAccNo===t.positions[n].secAccNo&&e.netSize===t.positions[n].netSize&&e.averageBuyIn?.value===t.positions[n].averageBuyIn?.value)),I(e=>{if(e.positions.length===0)return k([]);let t=ve().pipe(L(e=>new Set(e.map(e=>e.instrumentId))),P(new Set),M(e=>(f(e,{site:`positions.service.savingsPlanInstrumentIds`}),re)));return A([A(e.positions.map(e=>q(e.instrumentId,x(e.netSize),h(e.averageBuyIn?.value),e.secAccNo,e.categoryType).pipe(L(t=>({position:e,instrumentData:t})),M(t=>(f(t,{isin:e.instrumentId}),k({position:e,instrumentData:Ae(e.instrumentId,e.name)})))))),t]).pipe(L(([e,t])=>e.map(({position:e,instrumentData:n})=>{let{instrumentId:r,...i}=n;return{...e,isin:r,averageBuyIn:h(e.averageBuyIn?.value),netValue:Me(n,e),hasSavingsPlan:t.has(e.instrumentId),...i}})))}),L(e=>t?Ne(e):e),c(),L(e=>e.sort(je)),j({bufferSize:1,refCount:!0}))}function Fe(e){return e.categoryType===z.FIXED_SAVINGS?T(e.instrumentId,e.secAccNo).pipe(F(500),N(1),L(e=>x(e.total.value)),M(e=>e.name===`TimeoutError`?k(0):D(()=>e))):q(e.instrumentId,x(e.netSize),h(e.averageBuyIn?.value),e.secAccNo).pipe(I(({currentPrice:t,instrumentType:n})=>n===w.Bond?y(e.instrumentId,e.secAccNo).pipe(F(500),N(1),L(e=>x(e.total.value)),M(e=>e.name===`TimeoutError`?k(0):D(()=>e))):k((t??0)*x(e.netSize))))}var Ie={[R.BROKERAGE]:[z.STOCKS_AND_ETFS,z.DERIVATIVES,z.MUTUAL_FUNDS,z.OTHERS],[R.CRYPTO_WALLET]:[z.CRYPTO],[R.FIXED_INCOME]:[z.BONDS,z.FIXED_SAVINGS],[R.PRIVATE_MARKETS]:[z.PRIVATE_MARKETS],[R.PEA]:[]};function J(e){return e===R.BROKERAGE||e===R.CRYPTO_WALLET||e===R.PEA}function Le(e){return J(e)?e===R.BROKERAGE?`brokerage`:e===R.CRYPTO_WALLET?`crypto`:null:null}function Re(e,t){if(t===R.PEA)return e.filter(e=>e.origin===`pea`);let n=new Set(Ie[t]??[]);return e.filter(e=>e.origin===`pea`?!1:e.categoryType?n.has(e.categoryType):t===R.BROKERAGE)}var Y=O(2500).pipe(P(null),j({bufferSize:1,refCount:!1}));d().pipe(L(e=>e.positions.length));function ze(e){return{maturityDate:e.bond?.maturityDate??e.fund?.maturityDate??null,nextInterestDate:e.bond?.nextCouponDate??null,coupon:e.bond?.interestRate??null,accruedInterest:e.bond?.accruedInterest??null,nominalValue:e.bond==null?null:x(e.netSize),nominalValueCurrency:e.bond?.currency??null}}function Be(e){return{valueCurrency:e.valuationCurrency??null,marketValue:e.marketValue??null,yield:e.valuationYield??null}}function Ve(e){let t=(e.averageBuyIn??0)*x(e.netSize),n=e.invested??t,r=e.netValue-n,i=qe(e,e.categoryType);return{...e,...We(e),...i,id:`${e.instrumentId}-${i.portfolio}`,unrealisedProfitAndLoss:r,netSize:x(e.netSize),invested:n,...Be(e),...ze(e)}}function He(e,t){let n=R.PRIVATE_MARKETS,r=Z(n),i=Number(e.averageBuyIn?.value??0)||0,a=t?.performance??{daily:null,
1sinceBuy:null},o=a.sinceBuy?.relative??0,s=a.sinceBuy?.absolute??0,c=a.sinceBuy?.trend,l=e.pendingAmounts.reduce((e,t)=>e+x(t.amount.value),0),u=e.pendingAmounts.map(e=>e.executionDate).filter(Boolean).sort((e,t)=>e.localeCompare(t))[0]??null,d=h(e.positionReturn?.annualReturnRate)??null,f=(t.currentPrice??0)*x(e.netSize)+l,p=a.sinceBuy?.absolute??0;return{name:e.instrumentName,shortName:e.instrumentName,instrumentId:e.instrumentId,id:`${e.instrumentId}-${n}`,isin:e?.instrumentId,instrumentImageId:t?.instrumentImageId??e?.imageId??null,instrumentType:w.PrivateFund,netSize:x(e.netSize),averageBuyIn:i,netValue:f,unrealisedProfitAndLoss:p,performanceDailyRelative:void 0,performanceDailyAbsolute:void 0,performanceDailyTrend:void 0,performanceSinceBuyRelative:o,performanceSinceBuyAbsolute:s,performanceSinceBuyTrend:c,currentPrice:t?.currentPrice??0,portfolio:n,portfolioLabelKey:r,categoryType:z.PRIVATE_MARKETS,valueCurrency:e.averageBuyIn?.currency??null,invested:i*x(e.netSize),annualReturnRate:d,pendingAmount:l,expectedExecutionDate:u}}function X(e){return e.portfolio===R.BROKERAGE&&e.categoryType===z.MUTUAL_FUNDS?R.MUTUAL_FUNDS:e.portfolio}function Ue(e){return e.sort((e,t)=>{let n=[R.BROKERAGE,R.PEA,R.MUTUAL_FUNDS,R.PRIVATE_MARKETS,R.FIXED_INCOME,R.CRYPTO_WALLET],r=n.indexOf(e.portfolio),i=n.indexOf(t.portfolio);return r===i?t.netValue-e.netValue:r-i})}function We(e){let t=e.performance?.daily?.relative,n=e.performance?.daily?.absolute,r=e.performance?.sinceBuy?.relative,i=e.performance?.sinceBuy?.absolute;return{performanceDailyRelative:t,performanceDailyAbsolute:n,performanceDailyTrend:e.performance?.daily?.trend,performanceSinceBuyRelative:r,performanceSinceBuyAbsolute:i,performanceSinceBuyTrend:e.performance?.sinceBuy?.trend,...Ke(e.currentPrice,e.previousClosePrice)}}function Ge(e){return e>0?E.Positive:e<0?E.Negative:E.Neutral}function Ke(e,t){if(e==null||t==null||t===0)return{};let n=e-t;return{changePercentage:n/t,changeEur:n,changeTrend:Ge(n)}}function Z(e){switch(e){case R.BROKERAGE:return`protrading_widget_investments_type_brokerage`;case R.CRYPTO_WALLET:return`protrading_widget_investments_type_crypto`;case R.FIXED_INCOME:return`protrading_widget_investments_type_fixed_income`;case R.MUTUAL_FUNDS:return`protrading_widget_investments_type_mutual_funds`;case R.PEA:return`protrading_widget_investments_type_pea`;case R.PRIVATE_MARKETS:return`protrading_widget_investments_type_private_markets`;default:return`protrading_widget_investments_type_brokerage`}}function qe(e,t){let n;if(e.origin===`pea`)n=R.PEA;else switch(t){case z.STOCKS_AND_ETFS:n=e.instrumentType===w.Crypto?R.CRYPTO_WALLET:e.instrumentType===w.Bond?R.FIXED_INCOME:R.BROKERAGE;break;case z.CRYPTO:n=R.CRYPTO_WALLET;break;case z.BONDS:case z.FIXED_SAVINGS:n=R.FIXED_INCOME;break;case z.PRIVATE_MARKETS:n=R.PRIVATE_MARKETS;break;case z.DERIVATIVES:case z.MUTUAL_FUNDS:case z.OTHERS:default:n=R.BROKERAGE;break}return{portfolio:n,portfolioLabelKey:Z(n)}}function Q(){return o().pipe(I(e=>e?ne(e):k({positions:[]}))).pipe(I(e=>{let t=e.positions??[];return t.length?A(t.map(e=>q(e.instrumentId,x(e.netSize),h(e.averageBuyIn?.value)).pipe(L(t=>He(e,t))))):k([])}))}var $=A([Pe(!0),Q(),Y]).pipe(L(([e,t,r])=>{let i=e.map(Ve).concat(t),a=!1,[o,s]=i.reduce(([e,t],n)=>(!n.netValue&&r===null&&(a=!0),[e+n.netValue,t+n.unrealisedProfitAndLoss]),[0,0]);return n({netValue:a?null:o,unrealisedProfitAndLoss:a?null:s,positions:Ue(i)})}),j({bufferSize:1,refCount:!0}));$.pipe(L(({netValue:e})=>e),j({bufferSize:1,refCount:!0}));function Je(e){return $.pipe(L(({positions:t,netValue:n})=>{let r=n===null,i=t.filter(t=>t.portfolio===e);return i.some(e=>!e.netValue&&r)?null:i.reduce((e,t)=>e+t.netValue,0)}),j({bufferSize:1,refCount:!0}))}function Ye(){let n=e(null),o=i($,{onError:e=>{n.value=e,f(e,{site:`use-multi-portfolio.positions`})}}),s=t(()=>!o.value),c=t(()=>o.value?.positions??[]),l=r([]);return a(()=>{let e=Array.from(new Set(c.value.map(X)));JSON.stringify(l.value)!==JSON.stringify(e)&&(l.value=e)}),{positions:c,availablePortfolioTypes:l,isLoadingPositions:s,error:n}}export{V as C,R as D,z as E,ue as S,B as T,pe as _,X as a,fe as b,Re as c,Fe as d,be as f,_e as g,he as h,Q as i,J as l,ge as m,$ as n,Z as o,ye as p,Je as r,Y as s,Ye as t,Le as u,H as v,ce as w,de as x,le as y};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.