From 9117471f8290aa0010aae0a2207b07d041d3c6b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A4=D1=80=D0=BE=D0=BB=D0=BE=D0=B2?= Date: Mon, 11 Oct 2021 13:45:06 +0500 Subject: [PATCH 1/2] WellOperationImportService Add GetTemplate(), Improve error handling. --- .../Services/IWellOperationImportService.cs | 1 + .../WellOperationImportService.cs | 19 +++++++---- .../Controllers/WellOperationController.cs | 33 ++++++++++++++----- 3 files changed, 38 insertions(+), 15 deletions(-) diff --git a/AsbCloudApp/Services/IWellOperationImportService.cs b/AsbCloudApp/Services/IWellOperationImportService.cs index 7ef96ab3..e0f2e39d 100644 --- a/AsbCloudApp/Services/IWellOperationImportService.cs +++ b/AsbCloudApp/Services/IWellOperationImportService.cs @@ -5,6 +5,7 @@ namespace AsbCloudApp.Services public interface IWellOperationImportService { Stream Export(int idWell); + Stream GetExcelTemplateStream(); void Import(int idWell, Stream stream, bool deleteWellOperationsBeforeImport = false); } } \ No newline at end of file diff --git a/AsbCloudInfrastructure/Services/WellOperationService/WellOperationImportService.cs b/AsbCloudInfrastructure/Services/WellOperationService/WellOperationImportService.cs index 87f76289..f3133814 100644 --- a/AsbCloudInfrastructure/Services/WellOperationService/WellOperationImportService.cs +++ b/AsbCloudInfrastructure/Services/WellOperationService/WellOperationImportService.cs @@ -90,10 +90,15 @@ namespace AsbCloudInfrastructure.Services.WellOperationService return MakeExelFileStream(operations); } + public Stream GetExcelTemplateStream() { + var stream = System.Reflection.Assembly.GetExecutingAssembly() + .GetManifestResourceStream("AsbCloudInfrastructure.Services.WellOperationService.WellOperationImportTemplate.xltx"); + return stream; + } + private Stream MakeExelFileStream(IEnumerable operations) { - using Stream ecxelTemplateStream = System.Reflection.Assembly.GetExecutingAssembly() - .GetManifestResourceStream("AsbCloudInfrastructure.Services.WellOperationService.WellOperationImportTemplate.xltx"); + using Stream ecxelTemplateStream = GetExcelTemplateStream(); using var workbook = new XLWorkbook(ecxelTemplateStream, XLEventTracking.Disabled); AddOperationsToWorkbook(workbook, operations); @@ -225,12 +230,14 @@ namespace AsbCloudInfrastructure.Services.WellOperationService } }; - // проверка диапазона дат - if (operations.Min(o => o.DateStart) - operations.Max(o => o.DateStart) > drillingDurationLimitMax) - parseErrors.Add($"Лист {sheet.Name} содержит диапазон дат больше {drillingDurationLimitMax}"); - if (parseErrors.Any()) throw new FileFormatException(string.Join("\r\n", parseErrors)); + else + { + if (operations.Any()) + if (operations.Min(o => o.DateStart) - operations.Max(o => o.DateStart) > drillingDurationLimitMax) + parseErrors.Add($"Лист {sheet.Name} содержит диапазон дат больше {drillingDurationLimitMax}"); + } return operations; } diff --git a/AsbCloudWebApi/Controllers/WellOperationController.cs b/AsbCloudWebApi/Controllers/WellOperationController.cs index 9c218049..1a9d4ec9 100644 --- a/AsbCloudWebApi/Controllers/WellOperationController.cs +++ b/AsbCloudWebApi/Controllers/WellOperationController.cs @@ -179,16 +179,15 @@ namespace AsbCloudWebApi.Controllers /// Импортирует операции из excel (xlsx) файла /// /// id скважины - /// Коллекция файлов - 1 файл xlsx - /// Удалить операции перед импортом, если фал валидный + /// Коллекция из одного файла xlsx + /// Удалить операции перед импортом = 1, если фал валидный /// Токен отмены задачи /// [HttpPost] - [Route("import")] - [ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)] - public async Task ImportAsync(int idWell, + [Route("import/{options}")] + public async Task ImportAsync(int idWell, [FromForm] IFormFileCollection files, - bool deleteWellOperationsBeforeImport = false, + int options = 0, CancellationToken token = default) { int? idCompany = User.GetCompanyId(); @@ -205,13 +204,13 @@ namespace AsbCloudWebApi.Controllers return BadRequest("нет файла"); var file = files[0]; - if(Path.GetExtension( file.FileName).ToLower() != "*.xlsx") + if(Path.GetExtension( file.FileName).ToLower() != ".xlsx") return BadRequest("Требуется xlsx файл."); using Stream stream = file.OpenReadStream(); try { - wellOperationImportService.Import(idWell, stream, deleteWellOperationsBeforeImport); + wellOperationImportService.Import(idWell, stream, (options & 1) > 0); } catch(FileFormatException ex) { @@ -222,7 +221,7 @@ namespace AsbCloudWebApi.Controllers } /// - /// Возвращает файл с диска на сервере + /// Создает excel файл с операциями по скважине /// /// id скважины /// Токен отмены задачи @@ -246,6 +245,22 @@ namespace AsbCloudWebApi.Controllers return File(stream, "application/octet-stream", fileName); } + /// + /// Возвращает шаблон файла импорта + /// + /// Токен отмены задачи + /// Запрашиваемый файл + [HttpGet] + [Route("tamplate")] + [AllowAnonymous] + [ProducesResponseType(typeof(PhysicalFileResult), (int)System.Net.HttpStatusCode.OK)] + public IActionResult GetTamplate() + { + var stream = wellOperationImportService.GetExcelTemplateStream(); + var fileName = "ЕЦП_шаблон_файла_операций.xlsx"; + return File(stream, "application/octet-stream", fileName); + } + private async Task CanUserAccessToWellAsync(int idWell, CancellationToken token = default) { int? idCompany = User.GetCompanyId(); From d73cc9692f8be2ca639702d49ae8b981ae9ae980 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A4=D1=80=D0=BE=D0=BB=D0=BE=D0=B2?= Date: Mon, 11 Oct 2021 15:28:21 +0500 Subject: [PATCH 2/2] Replace WellOperationImportTemplate.xltx to WellOperationImportTemplate.xlsx --- .../AsbCloudInfrastructure.csproj | 6 +++- .../WellOperationImportService.cs | 4 +-- .../WellOperationImportTemplate.xlsx | Bin 0 -> 60998 bytes .../WellOperationImportTemplate.xltx | Bin 61004 -> 0 bytes AsbCloudWebApi/wwwroot/asset-manifest.json | 30 +++++++++--------- AsbCloudWebApi/wwwroot/index.html | 2 +- 6 files changed, 23 insertions(+), 19 deletions(-) create mode 100644 AsbCloudInfrastructure/Services/WellOperationService/WellOperationImportTemplate.xlsx delete mode 100644 AsbCloudInfrastructure/Services/WellOperationService/WellOperationImportTemplate.xltx diff --git a/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj b/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj index 0c41213b..9b3889b7 100644 --- a/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj +++ b/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj @@ -9,7 +9,11 @@ - + + + + + diff --git a/AsbCloudInfrastructure/Services/WellOperationService/WellOperationImportService.cs b/AsbCloudInfrastructure/Services/WellOperationService/WellOperationImportService.cs index f3133814..3355ff89 100644 --- a/AsbCloudInfrastructure/Services/WellOperationService/WellOperationImportService.cs +++ b/AsbCloudInfrastructure/Services/WellOperationService/WellOperationImportService.cs @@ -92,7 +92,7 @@ namespace AsbCloudInfrastructure.Services.WellOperationService public Stream GetExcelTemplateStream() { var stream = System.Reflection.Assembly.GetExecutingAssembly() - .GetManifestResourceStream("AsbCloudInfrastructure.Services.WellOperationService.WellOperationImportTemplate.xltx"); + .GetManifestResourceStream("AsbCloudInfrastructure.Services.WellOperationService.WellOperationImportTemplate.xlsx"); return stream; } @@ -104,7 +104,7 @@ namespace AsbCloudInfrastructure.Services.WellOperationService AddOperationsToWorkbook(workbook, operations); MemoryStream memoryStream = new MemoryStream(); - workbook.SaveAs(memoryStream); + workbook.SaveAs(memoryStream, new SaveOptions { }); memoryStream.Seek(0, SeekOrigin.Begin); return memoryStream; } diff --git a/AsbCloudInfrastructure/Services/WellOperationService/WellOperationImportTemplate.xlsx b/AsbCloudInfrastructure/Services/WellOperationService/WellOperationImportTemplate.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..1798d7d84d115ae0ff50e40e6aeeceae6c6492e5 GIT binary patch literal 60998 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 Q2BQjo_#lmuci~_E1?&fwb^rhX literal 0 HcmV?d00001 diff --git a/AsbCloudInfrastructure/Services/WellOperationService/WellOperationImportTemplate.xltx b/AsbCloudInfrastructure/Services/WellOperationService/WellOperationImportTemplate.xltx deleted file mode 100644 index 0197218c219ae8297d9edd17e42c0eef735a3ef8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61004 zcmeFa2UHZx+V8C(NgO~xz>zEO5Ov)1?Seb>I{-20w=uB=`yPFFuwzvro{eyHxAzqUH@5&A>q z_}$FK=C-SlAha)zZMfPbd@N|$C-m%==*VUAjNBRxl^PBN>szk7 zrz%6T-l11F73gS>MU*#1I{TyWmN}yuclk$!dDKlqZWx3R)$v&Q<-Nn=oxOxEwq^Ri zKQ69(%~AfWOO%${`p0p(-?Dw&qScPhu4$@w9iFjTus$SxIoQSIhQ|fG^`q$kgN1Nf z=UX>3KcSA)258=K5WTC)#_TO4GNH#A$Kn1#O(V-UPrQ~EW)pPOYt+WC8auWePj&K` zu!`pKM2_jD4-7q3ksP>q?A((lbZ@GsU7Re}N!w~^1B7q6`DmW@Q_)yTJHaAirWR(H zx{sZv(^e-V4@^QNEdeLA6CFCF{kv|W1|>Xi3wb!YI9NJ5ItY5+xgBv`{qC?Z&Bzx0 z*_h(uDA{|*un!zsRPN)Wvs*8uXY0HR;)KPPKVu*Xz3UyGd6`<Ns8191W!c?`a-E-_=d)q1of=r_OTzmUAf0_yLbk z(;0N&^~4A9i45;47vtVNF&KMw@5yDgd%EqH)6XQF%^}siXEFbj2tIe@ZT9C)<~)bI zc#3Nr>wN_C58}2Q8rDy8*fmHp@9Ux$?lsyb9V0tG>10SzK6`sJG*`t(!%JmhJZbZk z4GE(5qphygV%!rK7%w6wY@k7s9CkJ{h3;G?>1UHX6Sl#J(WF|I@X!1gub$*zmql45 zJR-aHV(S{yZ&C8xm$pK52G5?N73KH+;A(8#O96AMtCq6jjHOI74=K6WALioqo-@w; za80pk&8Xxd_ZX(M_0J|z`az`1&5AqOljiy#<1gC8(gtS6UNWz5ydt+5lv!@OF+e*N zIBm9OwiC7giao3*`1rJ-WOKS}JAzW&<)&W{)jcLJlIffK9^v)Xd$q@xrD@0BFcJg^ zu3Hr6{iiX@^#$~hz+buc*oPUG@*#BZ-`nxFDg*4~W{P(1$V4W}`~ zJQR=39_tCj+|s*BvN0ylDt}zq$=p_ z=O}oIlKy&}J{9+i3(dZ(;|2rskv=A+;}M^4Hr?BjjF>5Q&pSVocJ&2GOWexR`e`a; z$WY5I0ye(y1r~c4g+Oi1)_2&`vS@t;4moZ2F zs6WFF`m?K>*KHeDs5dVf8AVN8r1xJgeRQF8@hj1h3q&_-u3z_iesjd&`L$uPIB}X{ zE9J<+K-@;;f0v97rNop)64MSLrMd$e(Kjnl@>+Gnfejs^UMc+Of3 zZpC>Q`}Wn*2gq>pEKloFXA8_p0)qct(idvV@IdaAmxU_0x)k7TJEwm1rAk#lxPY(PzxZ9EZkmz8*89H6`Wl1wj$P z6j{TYUa7_0lNKv|yWuK)v75(Fha36IoEq$TZp3PHE#BhJMLDi#E7vLL;&ZHvn{#fw zyj&ZN(^2!SG9v0U*mPMW@x$tBPExaVE38UZc^r?WcAXQHwkmmglcN5enn#TiJ{EW4<%~=%#Bg5|{2)jq4v2IsIYHw|)iaa>2 zQ_mkiu|jj_STV`uoZd;p6aBSGDSb78DyO--BdP=*=uK$xL`QO-_Z#O$#WyBx$G^9+ ze148WDkqI~5K-J0n_C-Xah$=gafS3NXGG3?WKM*Jr#*z46|dvo1P zshBV%#P=`l4%#=oG&d9$c*5}Uy!o4FMoD}%qna6Wqx5h>LT5nLk=&KoQE3t8F9Lq( zX@aLFft0vTujBIfZzpG~j@8nVri=t0t1Eg@kvYy%m-#}CYH%oL`kl^xj)0?a$g5LD z4Q(L*!zO}v; zE2ro7zw_lOOrr9E*~{NnfInpCde=W;LzJVu4(` z!yDEAbnS9w);*qx0=^2Zye#h%jik~IWjx0?A_^2;BS;Uwy_zmFjen3DyQt(C7j;rD zkJzrahuq;K`E^7-W3Nu+oX=!c#mRwZi-gDF1Y&54yMFkDWj>hRQZD?_6vy;mmuy$0 zjg6bD(2svapxLf2sm*2hB2CM(-%%>+OQM_<_g^l2_{}rr%}&|8#xsOST?3bO1`h>k zK=!A+tJI4e%bic_<-8rJy~uVVj^3wNrM%K2qM3o_5_~%%>rR2w@IIp@OJ7~ZRhwHR zwVtIj>yxcvpoA@yCoCq%wOEZ6k_d{VRKzmxie+!6UBx67F=0w(0?4%_c<1F&f(rL& zj@*+tLsFt##F@kV^t`D#2ldVkZM~E)8fn+R9wu+%;uRLay>B{wgOUX5_=Wuwh^Zo5k@IQ>U1}nF)ocr6 zMz>;Q6!ahLY-D=#v*@`vCnEADlpNOc=oa@yw`>uN0ckHZ`fY;Nl0LjRY8FGuIeOFE zxYnXH$3lczh|)Jczv^y}i`u`br{(mhn=F z7;EK<(bWoFLt48NzFlz4twO5=*~IE-#sQ}<%A9ep&O3RFCUR=EYPboK)Yr0KQYC3! z3cO_Y$XKcRHJ_ltsMm)N$Anxm5Fb3l9T(L3b~=S_sJYI?-8lRHe5-5a^)dCn&x{u? zKlEKrcrn4*T&;1PJ_tRzygoO4^KrMXZxe%r&|>}&O=7soxwzF+1y|;5^6B;T@1))g zT(++G=E~*qm?FPU*FT>6q(5X`!PAvzt?F{gj1oR%9boI%Abq$eM8m##?1s0iaUc3z(JylD#c8eJzoFExEha>VCEIxY4^CAyyk9&;5ORcqDs` z+!s@=HhhA-%jz7qG&bIrJAkrLnj7X-<$f){ZED&ijD_;LX+HhlU=WrPKAHSIP1)XL1KR65Mwm=g;t{X40lRi9AEqr6o`y* z;8ox`VUFyYhEvA0k{~Vkkp8)Ci$kNtI5X7yWVic9Caduug{w0a?Z8rH!?IW*q$%Xld1n3X{y@*5Tp?@qQ-R7iu-2B=R170Fy z-6K!vdfB3FARe01ICwm7%eFoqt{R&PyV6IKOS-rWRIhK5lHz#lrg$B@LeOx*Cfgh zU$0n>Us*_^d;xtD_(_z}GLEwKBI853;mgD1?-YhJGo!?)7tR_FoO^#G`k3vt_fuLf zhGQ*pv9zv38!Jb8C``%SGf&0t`g8KBzF$zzjSKC$mZJB@1e;7(wEJ<_HnXrk2084~ z<&Z3L)zN^@$zMZl?p~+=3ohf%US{&7_xU0pOY@JV%)4hfy%ZY_8)nVMYnQ39EVS^d zy-ECxP1N|Xy1<+?FPJyl9Nt>A*&;WPP?>LSd#+JvR-lV8T}Wo4{Kmwg=S>f*d!0l9 zm)_TudGV7*j~%D8r4r{KSB_s7)T?^SvU_6kq1D;!QRch>Wt+{rR}}{iPunn48x~)S zooOl3u5+ujPdK}rvt^*zC++oVrm`x#D6`<|8(gjdA;h#Yv1?Fcx}N?_{D5D6yKkz^ z82=vDU&6wm|7D0K+jyq8OVJoxotf~;*GIZ3s5-nKZf2yVW~@JLS*C<=S7|+)d^So? z1lK(l#Ur<@Rekq5PI+KncFDhb&kJXV^TG{`l+J6VvicTVRUYPP5T@)=9X6OLI<3)%4{#pDhXp!?L%b zoJQiWgdp(7zVnIs01JNjkHG1F{tbe(aIvx0b#t-1d+W!aB9(f>cZZc|{Fe3jw|j{~ zW=ZAXM`BmC)6Js&@0(Y=I27ihD1jW~hez}b-9IIHnJBBCOEaRLKAleI25;DI;Gpbp zPYrb9<1$UI&4qF3q*jQywx<~MFB3WkwWDfHJC}B0GuWZfEGblFP5&m_#S}+2U)Qyg ztcPV&rIi=o)DJlMuM^GquT^-{1RTxq?{w;Ka#~BBCoP;e%{$TiCOI|AtbTq|qL{|a zhkC@kVy3eH;k^z@$x}+vZ3n!{Zv#FzTzl;hQ4QP zofLJ3T#ep5FMjq;C^lVcvMlKe@?(Y@33>bNQqIxi5juU`L_GB81nKx}5xLv0Z+5S= z>f*CJoIgD&*FsAuCY=s+f9DyQvO(wOdM%goJbS4P!?0rN_}6gK*pD8H62*;UviWq+0wr`~hNAh(P0Ua;zJW|tswI-Qk|kAL)l1p7#>wE3;d?{2PZLskln$!XCHVob{Cl+#{RSrWy;Z`Y9J4aLEAngGoV%GyEtT9?WsjWcxXr?MoX+Y6 zl`YE?ffo<*Ck6cPr=NalZNEvg59hqqwHRt{G4Z+Vu!o7a-Q2sKuG-$*^sLe?ulrsk z*0v1A9`SNSFUZIz7*zH>Z!)UUn4b^%z_9+#m}$Ku|Bei+SVF7{BGjGf%mn6`ycUYz(e0)nuz zOjNB4)o7c$6 z`~_l*=)LX6jaK(m)AMUb^KZF%$Cb)e%ibWL@riFORuEQ?7Ui!wC$b!3%rJI5IP7d? zQ!R}s&(6J0!C9@02DiIhvFDRLR}@PmuF2Re(H5~~a5XIsM-4T%HMVd>@@=F#H4ZS> zprqeD9$S5UMM_Ph^+E)RT%zmOW)s7+F5~ZdLh)&sZpPSKXG=1w?>ohg)?U5>8jizL2K%hbuY*;YABct6K<>M`9J|Z!hJbLfwsJoCyR9OjQ9|IXn58W$2^O(EL=gQ6p zo#7kQXBNFBldhiJ-;-};|2$4Exo$~2!3)oBS8#aaY3?V)QDhH2yL-!hLf7V<;Zwew z(|!t!Li#F^Er&1h*?$v0yS-GAO}tv}=cT!)rRDSL(Mr@8kN7Y3YUjx+YR_w2BCB|F z{-X=kG`@iEMN*kpL_DV~4C}T}T#^5EP&r=FRg03=xi%byhccHH|h`mIZ`A^-6EM zcSz^W_=`SW#5N8;yqFow7y6LKi`}3(@T2Za!*(3SYIsg;PiAa%CNUENTSA*lUWkyI zQ+x1=D10V7n?oZ9X;sY0bn4ZE*rd07*{25{3qHT6J)^I)sp$IFnQ8P3E&o*Swa-ku z_D%}Q>g}ZJH|8@%zZ{c4%&p?!M6a-&U74=#x*~^7;ZwJuJ}Ri@Z zwTk;|eJ|aLuwc}aaQH;$be^o~rFQ>F*=ZCPvta&5hpO)y1NgOq$H$&e$CHS3ntu$Dg_F~d5gViF*a+Q&*gJ9K<&bcoCT0x7}&Fyc#X%56;l+7Ok|VhhL6_}BO@nCfJJLVklvju_0#AdDlkMnbvU`G(>hHV)7#!LICjPAG2GFzjpx4$^|Paw(0V??}RMw88*1;@Q! ze0b=jI*6`B6OA`%ZdZKc@xAo4Q!%Ak)%Y`tSD-D*2z7Jn4S!~G!ae;-%7z}pUhU}{ zpmuEV@%t>8sloZ|XW2zf{Mj(PbT75R{ z3q9~??H|q#bpPm4t9!0)j&~rZHpgP^1BB^=w)~E^%2?GZvh>PDydutd>548j;-^b?y4~zk}pWA z+R$-=qeIlnR7x`UbdI@Qmwp_?<8%^@zSi^^VdI)!lpw<5`pnJJy0UxnwV2|-28=t? z%QF64j}m!uTio@B4dbWCWIWg6b_L2$v{gU*d?#0KEq0bp<|K=*-zl`-#8iOi2ekX~ z>CP)RN#)P1a~!297m*Zddg)30-pTaUg9eA(wt<>&wyG-5dM2d_+1{TR3R}LpSC3x5 zJLhRIXZ6TcAzi)k7%7~Xm~ti|_fq}jEc}e9ELF#~2nri?(%FHnkU*!S8z+JUm1H!+ z!rwNw%RkhK8S-a(nppT@pLQoJc1?Z`CHfJ2ihCLI{!5g>v^4O1*dO+1$ood}j(6Q` z?z)*>_j0mvHG#a}cB2*CR->ugI+tmzGx16VOv=(_%o(&(;Tlq^8k35zYH-q%*#h|i z2?aXi^erNePh+H6!xJ)(O`G%UU7+xB7CUx1H`Mv*nQ`n_jyF`wP3`98-R8s}A77-P zoLPr)Tokyhed-*H_Vm*W4<+_RFLfcFbu+7AhU++=$5Lg7rOc2Aqa{Dg7P&RxXsaAd z0)iXvJe$dhjkY&gjh8q^$HpBYPMkABoTC0}QqWK`?6|?yr-u$cD-{nDb|Mck)?dJk zg?kQk9(zvo$g9!)R69G9?j-B;w?|gLo#SxEZXoys)XTMPcXN9Yqhp(-qK|E)NOHTM zURJqXdHA>6hrcMCl%#=cUgqabB;(hwI@|E-b~+DEaplC@*l#@!gYOauDr`8^#N_I- zUvJ`gPutUyK!N-(do^_GZbo@7v_y)sDgzcQde<~IKd#X>cMluBYgl_MZS zM;ck`mNnBAqr@p3xy(jnq?j#JUHOGfme{?>U83S@NZgb|((=T!!_QL}#>t>SKH@d| z_y`1Yoa~RT9lx`BcmaxL?TAi=NsIH;&ejh7v3jw zGg)kmFuk_YT-YJ&gTv`L*5jx5Q2T8&gf-OuBC0wKwYfQxIEKPaRXNt9aLFBn)!oGz z!bTMVTT0lUZb5nP1rL;t`EBBf#xS_H8IuXNOZBY0rUZ)Y=1Otuz}$3^Yq z+oHh#mv9*Tb`-{YuPLe&v%fouS|6#xB$b*jn)z)_iH)J~Jty$rT2LLLqx<-+G2e|{ z$5G#nmSs~EVJRVKY?iHj1!PF@{=OtQnBSSBaTn2ygcBSjVw?e}a{)?@m-HYHN3d zus=Q-h1p|s#P98W*$GB%44VHY6EgoTy?3<0=we!GylbYXXp&6~}E zuq6f@xXDP^9~_pg-B}x}MOU+Pw zi@`Ox{fbfs>Jo@>)-G74-Zd*3DpCie!?aBIu{o`j7(8sE)CErPgdea6ntEi?a(rDWMU z%zALzEyDNdks7fvzwMPMS;DB_HXOe_Z3g1L61KK-TgG?Je_J2#mNRp1e_jATk0Gr4 z%lPaO{B|u1vHPo{Y$XUn#JM&U?z-RWWi$NRn(~aJtbfTEie1((V-yvGPjjsI-wNK! z6RsC8Z7&qfCG6Yy5}vmXu*uLZqdfgq@QGEI87f!e?3zty(IMj#A(pmx4f?0z@cp1aV4`5tvQZ+m<9b={T+ZhT5+zk6qMQW=K>-NbJ)ZIqZGeB4)eF) zca#-fV2oJ#wC!+l+G^6#-+o&NKL6tQ?N8u8DEkF7#QuvF4_~&u7csX}(oSK#2`9F9 zu)>50p{DPIS)s=L?N{wB9TP1g1isg@WGI~O_jT9rVnXO`KBiLttN2ab3t&(6Y`@ut zbqQ5DO7Qj~%unG;6SoK#9tG~1y+*mYoY-Vo{ot+7cTTxd>C-7;8%Y?ZpoGhp~??YvCVur=6xoU+teX&k zW)gq&0NN$0`l_)~S$=2l{LRet+X}n)nen$g%uIpAg*2+imKqx@KHQA7hewXy5f`Q+ z>mPqBr9g`&c6Q<@f1EY+D9eM3s_5N=r{ZOFG4H-yV@?UZJ(d4{V%8*#*wxuwi0YUU z*Lm@iWMZd{E*12Nd*7OTdzYChk{Ekj_1N8(h84)POynp|T$r7V;p^J~VEVL+lOkj~ zCd)&Giof*%-=#8cU^MHkW)7r{0yP=qJ!& zX;n1@v8^_(H{0zE+DC0Jz2HBS0FEip#$jDt49Xu@7$#Kgh@IN0iP&FM!uy{_HRs5&Y*YOjwE70#*?leT)*AK8 zoijuGr|;mOzS@?*vywM75mi}eQ|+BN)p&3ctt!7Dwi)=b#NMD}^q@{~Oo28G>*5Uj zSZJ6~=y6adXiv<$iE?A(gxgaE2~*!p4(b%-SLb^1nx8R|+o-zWPnzzp;fG?O`n*X(kd2)_*oAO~W4i&5T46%YhM;;=If5VT6lmYu*nw8$+`x8wC+1if zz!SiZlVY+Q0YcMVU}M*YvWZ3AibdJQq8wsTcdqT%sje`dX&y@{`g3;b4jKnq7!%-Z z00)S6edRAl4;lwrsM7eFKLP~jrM-dS@dJuCIK3^q_5^fhvvF{LcXOy1l^?=rS+(#S*68gXSe;T_BVi z!-N_SgS-6L2?m?spc1hx(w)zU{t>^|Ev#=(W>4S z#I^y~E&W;3ck%BX{b$558_8pPZH{<`F`Pg>&d8VGQOWPId|(_@%o);VQw@!369Mc< z%|W|C#VVGr26v%Rt%r5l5L*>c=_imu$2dcpY`mbMrz?Q%so|$im}-EIsZ2N-umaPo*RiYXg5Y$oGH{GLR@^ut z7?_s&7nw%L8a<+BoahPM_T-Q;Q;{-Pk+M*cvdlM3$n!X8HmEn|-FUea6pH5wQ*$N< z&1MCmaDL5C4MO2nVB-Zs(Oh1upTG!0VJwKnf>4aw8;p+Hc)j2kN&v?cXcMuk&;(m$ zm{8?mV9JjTgO0_#n<}q`Ocy6iEt-JSS1rLYV7i)L2r^yxf7Em`n_26O-s<55--q06 z7JR7|e5{sysg_{s9l2+%Q24#F^sf zMyo32Y#;;8Nm_m7zF@l3(*L=sOoU)pLqPa^!91wDT<+WWb5o$zGEM;7?J3<#{xmSl z(j^>h+_9b$<-X8_omOD8(_6!zR`zp?c}E9|0UzyL7r^F?+Ux}U+(NigU-PFyJu1)M zKn7e9&hQ^>>Rc=DYqjSbq?Dw3PvyXRzNS%9IaGn}j$?WQuuOU)q&Sw-9lwk&*ThYqTl z?D^@?nb{SEcNM*Z*kEj(c+7OmbIinAui46jZ>8G`_Y_u`rBfey=1chOI8`&A>8_Cn zZNt(v(E3HPUOi&84%J+u)AjRQvLeg`UBB7N@%hs2@V}k=@o(quXK(2F_JTG!fCjvZ zBnUKLb#`y1LMUK>CsI&sS1zWLJ|!#l@2qoVzfY@9A) z3&im*Dm%+g*)Ecz0=7?oV6(uJuPZ;74aMm!X~76?SlNg8~(q7=8ai{IP5#yA5%lxONp4mnZu;F$KE{xm+muHKph)5AC`0lPPGgM&ExJK+l!W zZbQPyuVN=B%GkR|LLsd3Nbcb=THEL==y-Vcr}SP5PMY%Q*(u&T8C~I&uy0q;wVmlg?|6e~f`ZtC6oiyRjz!qo zAfr#h-GWFnIF!yG5k&-ua(Q1;yMsiy%A-d+*~JmOROdrEK4x%qa&%#J%H^{LS>OS| zq*EDk-j8&SJ)nkVP=}aCcC*3T4t1qpMySxh;0gdC5J?^cA<%Ro6CRQBWy*yiX-)$K zCk1&=1%N;wq9me1V0i^N|Ghl2q7@RGMFHQ^YFIlu5@dJ%1M}^50L;M z2vXH7xgI2qC_pGvl7FoPMIk~-4*MAXoc-R#*2UOs@ppTi-{4G>(^vIceGM;?YbFd*bfM8-rZVDm1?M5;rkcQ;QS=rGTKx08&UR)iDLV}V=B?2h`vs6b9K?p{0 zB4Y@l8j;kNBj;wPZ34GW1PI@|X;vYG#hk8iA=o!{^nQ0b28zOyAoeE^f^dXwpk1^D z-0cY|2M<7KMg%lN2oZJ&R}D045BmoM?*)LMk;|dY1C0fZtU()iz*AD2T)89&K?If| z0wLUjw_WZ@??k8|U~o-bV?k5iQxl3pvXaOk0(lXZ zsfo6y0| zKnRy2Y}@RjUE%8~q;h8f!W<%C4npX&LsVQvm-MhNAb2GK!tFc`r!&x4xSBQS0Y8#T z8ki?H0U=1iGNd2`FL+yLPx?ASMH*(P1rQeP$d@35FFiVG~;DT?hdMC%O+I92QN2<;xwh*M0!EP6r4yy)?A(06`$XD_jm{uZ?Ez zO($yxQOF2l&wvoFMA)9Nj}C;pWsq9%0tA?70E`@=dh3IHKIpCg(V z8VfpEgCX#MOwycuxwD}FK@par2qA>Q+su2@nM75TU`aXvLDZi7q8dPO>P04GkU(a9v*fIuwO`B@snYqz=sTIvRcgAY{RbvLOUj(Im|Rxp;f+ z9Juv!fFRsQbKx;SxKq#-t_%Bi9WB+Dt_4M*Ac(yHLbx7bn`0mS9PU;?nsF8&+z<`8 z0U;FIBV2EwP5apOMR{)mgpUOrooAu3a3gE57#>haI#nR|213w-W#~Z&rSP`-~}OU*dr?R&`W*nzM{Nl0AZn!`p}WD7URPWnY?+A_Ze_L= zKTF3^F=RbyY)EQspsh>EL5n8;ES=<5#?(wt)lW~AFgwN1QZ%>#*^Yy%Y39v!Dg&E> z(5*T1He1LxD9yvduXH{TEgFah2+^BJtPt?SDY`_=WKAFi3wz z;a3!(Yr{W1+yClFzdF)iq$7z+>W5MFXQC@-LFU8FT*M7!J~t%v3kMqv-O3nPiWEWS z!#{2=0A)TU-3^8ydHYdX07~8{$Q&r3ud1!NnP z4g<-Xeq)0nl)M?|pevIg+n_Y4hN+pBs-G50-p;ZV^(`Ef2Gun4CODOWO+iR+&b$~T zZ$C;ifaL8(0J<^&ByZJfWDb8CA?x>7zq~5C8@$0%T|hEGf>zWlD~^)Q|5zr34*hV+ zKUw<^2ZB5=gUMi|3B2Jexd#+P8GkR`YWn`>1*Au4*Y+%1FwSoXwLi+3x6KSkBr6j1)=;%h=t$L zy)1<)p{KzGN~Z$RQ&2j!-rew*F5XpZKqfZ-#g^rB5%d_FcnrtIb3Y$7gYM(~L00px z@ef!N``yIsKg-kq4|S?vsQ-ym#jmLTit1nbTKB61{~ztZMI#I5cO>+asrqw4-t@|; z3~UNQ9&_f4;6__d!;o9qMd(IbAi5HIN~#(>B_$?#P`VO&N=ksaNC3K5Xd(;affBk`m`K%s*B#gfr9m~8^hVZMP6qc1KQ%TCK`Gm3a7zq4==GyCXcSX3164l*bgxj5<Dsgfxb6u&LW{73^E__#s&!} z^O4Fy-vduc$&<}@Hb_93&vB~$<51?q$5Pa@a8SBG10-*ePGw+I5Yn16e`fo$G!;nR zoCDDJpr@p~z(d~%Nnjh42GyJoJZ|8nc8Z^q1URhipY?+C9Ze@QOK_uztN)|f#1oZainG5f1 zZGOJoc<^Y{xWelni(24)%!`FiWvoBmdxQ@CaLGSc`+)xpP{lp)oK{e+?&oLLBgOWER3H_?UgVLayFdgG@a}y|e8wDo*EW*wG4|~T+_Qv99j2lB&t`A4q^2^`}V~P&$X|ITVHqUq*|pSStYeowtMiZlpUiZ z#5a#NoTpcezKiI4OUuZ(JT<7tMa@o(xotvLctTQNlcgw^>ZUH4dKU71gZ=x43w6H^ z{A*kiW=TeQuS^@-A&!Ql1D(q>gytml=_U2^(SZ_Rm!o6O%pZ=n@m3vZ$o$lBg@wNt z+C>menp-gQ_o%<2VrZsf_-38~?d<58$S5bxpPF{xE8}%PFslus_Eub|@75B+Jjx1pO?n2G_4aQ3{p&ccD&45|dB2hL@}R0(t3CS-rA z$(B`~9d8PK`b|bEmcFIl$P^EI#Z&IESu}(#ZZdhQvXXj(rKkew!1?CZ4YGOuq0~o% z6>u_#c_%%dYqj8`AHMnL+TU;RQuO#pMFILA!yT=63kDJB%6qTR(eaIfkNy)p{1@yL zznc7iW9a?z@-Hv{r(8yU_2s`vU#|42U}}_*9^cexuTYo2)FG(ZZ0($Cl8ROIv=c6Q zIviXpku)?iKSyDMC`U4Z&d{VXFhjUq8c_a8O)ZD4M5&zdaDXIJK zyTaz&Hau(LvahRlR+^?PMg3kS2~0~S19gPrgq9`_>K0|?QU>hCVV)|UCO#S5qPC<& z&ED*wn~Z5Y!>xw0H?2;cW8u`cO2kZA8mp8J;gs#zPJ@YflKGd??JH<7UUWJQw)y9QF)WKvQ8P_&G zZ3fS~_zI8uIjy#}%9;_Dz7EG>QuZe|*tGEet0S#rSL^p$H-dcz*hXudO(lKa&Nj5I zxgkFK`5YmjPkTAO+!~$QVEY((lhCzW8WlugjH#0>NNvpP=_{Ob!xMLm; z$|Tn@=la>vi!G`tFYnLx!?WtP{T*0FS5a<-eiw#($}5Lf?B`GT&$lmjvDAF7$&y@b zkD8y_ck;B_lM$Lxo=;rMBBUj*O?Hh=61q#bAAgx`sB4KL0H?&pk?3lCMC8V>yhJ4TTc4BWRp{C zgH99ZIlR-$WXG{P^90M6QX_mRBg{cE3;d(?UOsMH`wpLMeBbE9hL3u5c%ST4ghn)Gw1WGnFs#_YvQKTk%Vv_s{Ce1x+oDn<=#`2N*7h@LwNHu# z1$V43jbc90ODD53OBvSsUXsGkwzcf!jLXQRj9}ayaJ}uh-Z4@}%>}CWN@Q z0uP=F9L{2OtuJnHb#~(V%t}uySN-cx#nP{86oYOn1;eY zciTgUUdSFfq^(YTg#HjYIr$+CTUA}4JM{OT-_fr5A&2)%yXKd6&7ak-F~fThX4rsE z5nj=MD{&b=-c}`R_GKO@>8wVL)$e_07{z=}W=mU>twXh7cJ}wEgLfDA)a!S~o7DF= z<{dFOrwSlm)EB%&z~gs^We5vqqqRFr9%g3P>TVn!!0_&u%V znTjgHSYB!6n~y?fYvXEbW3RjS2dMjk_wZA)vM3k)=48t*4om=y-*Aj`gq`Vm50oeB z=w#U1w^~E1-43(&TWm?bxbf2~_}~G?Wz@z_;uc%N%-5cl$u_MtGzNvs8yKr!M)}HP zK8|7M=O2<%K-0PPY1;-T8qr zY$9$u38*!7uwmlI{MK+S1j6QsnT+p48D9qfHy_u9_9rQDE%jgb*JIaa5}9Q&*>$@U zkwAXNIL*{0q-I~sTXkkHtcMgpCw3(C6{x2E2X!fl5O^`jcq zQ?-P=dQEm2OZP#+<-Ek&32q$j+xA>yOq#zpeq9!0R=>Aeg~6}1rOEECOy=$7G2-WL zt#*`dj3)-%tJn9WldU8~n2E~N%iLYYnV>wYsWEQ#xNRL2fequAhM%h{^~V*;`gx+$ z;Dli<*q)-5)J1$!#LlPfLvcK@UA3)A8-xcG3emp_AY zej2=IR=kA);xY#cHkf0U<9J3O6l2_sGn&T@WA~~OArTvb4NcIV7*M0JYsUG^fOFD9_t;7eslPN~ zrBmMm-=kavOG>8Ci6nvdtldHx%$4L4brI*jT{{mFFQpR zH2KyAm>za^l7dV}WqHU_9sBTr{?(m_h-y3AIRkZ%^a?Al03H4=7^i#@?T5FG<%@J90?3#gg>iO^BG7)LHasC!zP65V&c>^h%S)8`M1%j z`5g(Iwho4groe4C4jI!&9gMWpOte}|v{6hzUFCOlYJjxL4|yFjpi{#vh;0HvPW|`S zsremso#__6)t$$__qo%|Tb1=gZ|R2y>xbs)1DzT$zy6Td5dvfNwQ)iskesRgOKQ>l zZ^-Jb(RJ@Ua+5jzj9PU@x4YS@yVX6M7k~sr!ZCNg&69o!q|U z<7qCzIDPP?kRm{~CIe{H^a72V+kcaCx%5NI1$=$DzbBB0kp>bmX+RG~OBomfudXTQ zSN!}oB`qLZ(~^&wa0MDQa^HSx-|*l2oA!+}kgbsd5;5t(h|b@%Zwh{D->ffng0`(H zlqsZvuV`vu03tS80S?#Kf9mEO2J$ii;M{lMT&usGTk&_@96QjaO3)@lpixu&Q#WU= z|8H;GDFfLW5uj0%0gUwiP5b8i-?eWRfZc6i*AE!M{M5eDGXJ4{LsSXAGW~bHOnuJX z|H%63Y&JO@`Mk1)tlFN=XRT_3ng%uwJo&2f6Imjh&bKH_RQ#T9lkCW9R5~gEcltY9 z27wo^yd!(`PytE$T_P2x%S4B1k4Br{k0;J%XXifLN3UH)!X?a}ahQTi#q;vfBiA^i zIUm^5<)0#`X|Js&xuW3-mh?C5}#*`4e;qZ$Y@reI`BnaepVi+4y*?&iCjkT(!gjH(4;`hCy| z0tn1qG^~)6i(+P%1}!W}0nOW$t_BdCLW1sxKnQdZw#i7EGw|LJQZGo2MjH{J4IyM9 z5vLW=YF+HQh*^4oke$hq52?{uDrOm+gMSSrt;>`vgAf>C77P%A0KDyXSGo~`oDue$ zB0#7?lGj2AzFo-8Fw(xiC80ePr|M#p%Wkk5%@z92my&m zQp}R;Ms_0L3K0OIsEeiqLa@o|(l`YhQbND(O1}$5AtLBdB!s{mVLOSWxdgu+N%|C0 zqj5t7xIqZ>NQ9L#dZ>%t12M}25Z+~Rd^imdGL^Foq~X?4q$62!+Yka9%z_Om?$Y3b!Bx>J-RZGV6k>z!$3h6) z5w_>-Xw>1ov82^p0O1KD;0c5vVu#35Mca3?CnIKg0K(U7j#)@hXF@g0Knwmgjue+I zcNyrQ$nnA~cp(HGcw2aPdKQA552gmG(Wu*zYd{Do-N?;&Qn?&C9lPl303lsXK3@%r z!eb?oA_VU_ShpJb6@;J%f2ao`lp&G=bL1@TI`!cS2>{_^H%&W)kdxD;ApkQ}M}O*0 ze+5M$A?Q#dgdiAU>uN`10>7R}ItU5s)FJ|EAp{>g#H2cUx0@Y00?n*a>sJQ*Fa(chGK8|3upDrEN16BiHOicHhmVLej+`*C8{_OzzQ|LWz2FHoKxxV>1k^ zc0{>kt(}BL6VpVZc_mgtO}W&_`#f|}$FZkg?HT%y%lys!f4_OYzl(X!%skJBd8l?# zi*CCByZVtVtU2DwJS|b1{Sx_8?W6wJG;><&AI^)37AKnY*RddwgzeUI3sVCO>`%}0d&A3=!7 z$7J1|8<&LNvp%;>t5#ejoCO^w`_3MKqI)?+BQaSqe-wAY|S{fFbioGI>rPo z8{9QpW-pY$LLyjD!qJ}0?UoKt#-_L!W0W2p@$QR zNrw_P#d^e(m3~I-(y@+^Mq^3XZwV!wAnUf+F%5-_YzXbPK*IhEjc7=tS!~aCOh?=@ zu*n%j4wPVzbFqgKxJcD@VTuDmelzZnJ&?d7%jZA|zCtg5E>@gDyhuL!3+x4Zvvzx! z1+ImTGeK($?$gc8NI;`mdk%>>2PL=>5|?m^738bGB7bB82}wewlTgAsuE26DE^#xH zBTON~EM!IQ%YqWN#d_Q%E9D_|S=b;*qoES^Q=x&%nIQmI-z|#kdVsN;6NIU zs{`Ay0J-xEwunpYffAf>E>2KF5mMDDObH>#lW-LdK*Ce9yc9~13cY%>vC}e%(|nHp z276(PnHKo8H+xFZXx^GnVDRos^(GAGGtN>ySt9+sb!=r1R)k7G@fDKmcYxylm|Xw%973>#%ORqT8bPN#|(XD9RN zp}G_R{2ShYec9YKDletRJu}{U`N3)7%by7ch zp#>~c1w0jKG;h5#K0An~;5Rabnhh2TP#2r|Zhrnr{-BXv%&qs2;FALvyYj%+rD7W1 zIu+j4Fi|+4ai&ls>>e2*{k(N-!E3@Y1}j1({5?3~{Uf8$ETCCHX*5%Y0Ef2oduZnm zaa;Mr?~D?hIGoQoC_z~w{d|b!A$zMse7Eqwhl!4gEUORt?oBJER z`})KQ!}*N!=A|r=em=zVkUicKnuQ4_aJ&=s3e5tV1r(^WWhgu#fOqryo^`vW_I9OL zIMK@ub8ATFaQeOe{-&GctgarOAOCCpmDIHxS039aAR1jUnsa4A>cXFAHe8C3S`?*b zDw4Bo=MeJ+b~Dy*-(HyDN&1iRzE7l<_-&#RG9Q9#xamwGWSb=JJ`29lJ0>b5Q+;3l z8_Sy@w`Pw+UuHqR=MP%dr?U=rCYo@2X)h5qfLfCn-Q_4OF^tL8bnVT&T+(3J_`|_D z-QcESTF?JS)B)5QEAzh04(H@`H$Ph$vbn{1*TSv}^F#0^8D;)V^`ejsvJx8QNrJ@q zr;%G|VW5S9a(~{9cz3_)tH`s~HWy6dC7stc0ECV0O2;J6gf`l2C*-it-Cm9CxHJBJ z!NF_i$99rxc=rWY6nc#dRw1`a^F933A69rZdFKrclAc&l^3?s-q-hrKe&lMn!$d9n zvSQb+Fe&xo7AsbkN6bL=-QGbTZtDZ;mC^?S0hdqPyRST}oO;M6+^8nN2^N}<< z)YY=9B|N#%OG#adqVSx&fw?!z1x=-jVPW^WteeOo6m3yQWvO_Ygdb{>J1EXqRX-e{ zo)k)dSR*Pn8tA=)*BlBQEQ>E@g$6v#i|-Dj4T_r{NA>w7iK^9B1XCr(3vu*jwUVLR z-!?6{Ulb5DD92+9!*ib9W4lZjQM%(Y(s}^lhisTU^cy`eJg4tjtAXX28V`JwHwoce z6iI^28GH_N}UA^1RZK0Sm{rrp=oZe1X02{tfQZMt!( zrgA{=q*dBJ)Yd8u%<1bdezYuXiGDD(n`&?(`=r{*uxCX-#%b~fBy5T2qfmnrQd<9y zdgb4!s2AduE9)I%2FRg3UWO#A1QnLph-8_-t=B2q+23QLdi+^Q;6SKeQonP)sp|c^ zHv?`yDW137CSaE5>ZntSMlpGmCbe58Lx}%;miFe-+~05UoGvqhcJCYHpLMx#VeoEa z>GU|oD63K`!8CC%VFx8J(&YERy~zQhg3`hIjuyTque^h=RCqBc_h9{wZoQK>EbY~8 zKYijb*rHN9Q0sEOG`ozZ_m#g+^HY(6N~MryybWj5=Pd2yMM=sv@gCfm^=lmC`tW+| zYR<^X9Z|-U6pok%OLm8OUpS)Z*_VB5tLb@Oy3-dm%2B+>_6?m~)}kRdUPp4dZ+Q5R z($L3lxyJeW!XPPQ)j_^mx7Ke;8r! zdC5I~poW>D_U9&0*(?2O6Zto%-5wg=@ z*Gy?z7}<9~6s|wu?@4cqI>EbSAS_ytpsCZS>L0_}m3vh2*-VJ932jcE7X(mUz%XeQ27`OexNpX=F`W_Q>rNlbRC?-( zhAS3>30aE4K;q7;ON0E&$EAC@yEEwc;VYf7y!K|>9N`JK+()kF(A65FCj`Jio9HC?rydWnzx_ln8M1cthsPV%fOIc7sdw; z!I0c&E&&J8pQm5$#@p}CJ0--}>A5Kv=-^lXy8CB_of4z1sKdWGm0O>-H$=C3!=KycZ}s= vH1X;6WXxOmW_=7-#;UQrjBdQwz0@(s^zuBVGeLc0Fbd#{4bm9j0ss0RtpLdb diff --git a/AsbCloudWebApi/wwwroot/asset-manifest.json b/AsbCloudWebApi/wwwroot/asset-manifest.json index dd67d6f5..ae1c9c68 100644 --- a/AsbCloudWebApi/wwwroot/asset-manifest.json +++ b/AsbCloudWebApi/wwwroot/asset-manifest.json @@ -1,23 +1,23 @@ { "files": { - "main.css": "/static/css/main.1a531ce4.chunk.css", - "main.js": "/static/js/main.d3cf7fb0.chunk.js", - "main.js.map": "/static/js/main.d3cf7fb0.chunk.js.map", - "runtime-main.js": "/static/js/runtime-main.b402d8a8.js", - "runtime-main.js.map": "/static/js/runtime-main.b402d8a8.js.map", - "static/js/2.f3289dc7.chunk.js": "/static/js/2.f3289dc7.chunk.js", - "static/js/2.f3289dc7.chunk.js.map": "/static/js/2.f3289dc7.chunk.js.map", - "static/js/3.a064d157.chunk.js": "/static/js/3.a064d157.chunk.js", - "static/js/3.a064d157.chunk.js.map": "/static/js/3.a064d157.chunk.js.map", + "main.css": "/static/css/main.e92a8ff6.chunk.css", + "main.js": "/static/js/main.edfb453f.chunk.js", + "main.js.map": "/static/js/main.edfb453f.chunk.js.map", + "runtime-main.js": "/static/js/runtime-main.9eaada4e.js", + "runtime-main.js.map": "/static/js/runtime-main.9eaada4e.js.map", + "static/js/2.d92842c3.chunk.js": "/static/js/2.d92842c3.chunk.js", + "static/js/2.d92842c3.chunk.js.map": "/static/js/2.d92842c3.chunk.js.map", + "static/js/3.5f51fb69.chunk.js": "/static/js/3.5f51fb69.chunk.js", + "static/js/3.5f51fb69.chunk.js.map": "/static/js/3.5f51fb69.chunk.js.map", "index.html": "/index.html", - "static/css/main.1a531ce4.chunk.css.map": "/static/css/main.1a531ce4.chunk.css.map", - "static/js/2.f3289dc7.chunk.js.LICENSE.txt": "/static/js/2.f3289dc7.chunk.js.LICENSE.txt", + "static/css/main.e92a8ff6.chunk.css.map": "/static/css/main.e92a8ff6.chunk.css.map", + "static/js/2.d92842c3.chunk.js.LICENSE.txt": "/static/js/2.d92842c3.chunk.js.LICENSE.txt", "static/media/pointer.e8df778c.svg": "/static/media/pointer.e8df778c.svg" }, "entrypoints": [ - "static/js/runtime-main.b402d8a8.js", - "static/js/2.f3289dc7.chunk.js", - "static/css/main.1a531ce4.chunk.css", - "static/js/main.d3cf7fb0.chunk.js" + "static/js/runtime-main.9eaada4e.js", + "static/js/2.d92842c3.chunk.js", + "static/css/main.e92a8ff6.chunk.css", + "static/js/main.edfb453f.chunk.js" ] } \ No newline at end of file diff --git a/AsbCloudWebApi/wwwroot/index.html b/AsbCloudWebApi/wwwroot/index.html index 22d65a14..7896c513 100644 --- a/AsbCloudWebApi/wwwroot/index.html +++ b/AsbCloudWebApi/wwwroot/index.html @@ -1 +1 @@ -АСБ Vision
\ No newline at end of file +АСБ Vision
\ No newline at end of file