Aggiunte icone split
@@ -117,9 +117,10 @@
|
||||
@for (int i = 0; i < CurrSplit.SplitHorizList.Count; i++)
|
||||
{
|
||||
<EditSplitDimensions CurrRec="CurrSplit.SplitHorizList[i]"
|
||||
Name="Height"
|
||||
Index="i"
|
||||
EC_Update="UpdateDimension">
|
||||
Name="Height"
|
||||
Index="i"
|
||||
TotElem="CurrSplit.SplitHorizList.Count"
|
||||
EC_Update="UpdateDimension">
|
||||
</EditSplitDimensions>
|
||||
}
|
||||
</div>
|
||||
@@ -127,7 +128,7 @@
|
||||
@foreach (var element in horizList())
|
||||
{
|
||||
<div class="col-md-12 col-lg-6">
|
||||
<EditSplitElement CurrRec="element" EC_Update="UpdateElement"></EditSplitElement>
|
||||
<EditSplitElement CurrRec="element" Type="Horizontal" EC_Update="UpdateElement"></EditSplitElement>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
@@ -162,9 +163,10 @@
|
||||
@for (int i = 0; i < CurrSplit.SplitVertList.Count; i++)
|
||||
{
|
||||
<EditSplitDimensions CurrRec="CurrSplit.SplitVertList[i]"
|
||||
Name="Width"
|
||||
Index="i"
|
||||
EC_Update="UpdateDimension">
|
||||
Name="Width"
|
||||
Index="i"
|
||||
TotElem="CurrSplit.SplitVertList.Count"
|
||||
EC_Update="UpdateDimension">
|
||||
</EditSplitDimensions>
|
||||
}
|
||||
</div>
|
||||
@@ -172,7 +174,7 @@
|
||||
@foreach (var element in vertList())
|
||||
{
|
||||
<div class="col-md-12 col-lg-6">
|
||||
<EditSplitElement CurrRec="element" EC_Update="UpdateElement"></EditSplitElement>
|
||||
<EditSplitElement CurrRec="element" Type="Vertical" EC_Update="UpdateElement"></EditSplitElement>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
@@ -2,7 +2,10 @@
|
||||
|
||||
<div class="col-md-12 col-lg-6">
|
||||
<div class="input-group mb-2">
|
||||
<span class="input-group-text">@(Name + " " + (Index+ 1))</span>
|
||||
@* <span class="input-group-text">@(Name + " " + (Index+ 1))</span> *@
|
||||
<span class="input-group-text">
|
||||
<img class="img-fluid" src="@GetImageDimensionPath()" title="@(Name)" width="40" />
|
||||
</span>
|
||||
@if(BaseUser)
|
||||
{
|
||||
<input type="number" readonly class="form-control" value="@CurrVal">
|
||||
|
||||
@@ -25,6 +25,12 @@ namespace WebWindowComplex.Compo
|
||||
[Parameter]
|
||||
public int Index { get; set; } = -1;
|
||||
|
||||
/// <summary>
|
||||
/// Indice dello split dimension
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public int TotElem { get; set; } = -1;
|
||||
|
||||
/// <summary>
|
||||
/// Livello di accesso (utente base)
|
||||
/// </summary>
|
||||
@@ -81,17 +87,7 @@ namespace WebWindowComplex.Compo
|
||||
}
|
||||
}
|
||||
|
||||
//private string SplitDimCss()
|
||||
//{
|
||||
// if(CurrRec.Parent is Split split)
|
||||
// {
|
||||
// if (split.SelSplitShape.Equals(Json.WindowConst.SplitShapes.GRID))
|
||||
// return "";
|
||||
// else
|
||||
// return "col-md-12 col-lg-6";
|
||||
// }
|
||||
// return "";
|
||||
//}
|
||||
#endregion Private Properties
|
||||
|
||||
/// <summary>
|
||||
/// Metodo per avere il numero di decimali da usare nella form-input
|
||||
@@ -141,7 +137,25 @@ namespace WebWindowComplex.Compo
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endregion Private Properties
|
||||
private string GetImageDimensionPath()
|
||||
{
|
||||
string nameFile = Name;
|
||||
if (Index == 0)
|
||||
{
|
||||
nameFile = nameFile + "1";
|
||||
}
|
||||
else if (Index == TotElem - 1)
|
||||
{
|
||||
nameFile = nameFile + "3";
|
||||
}
|
||||
else
|
||||
{
|
||||
nameFile = nameFile + "2";
|
||||
}
|
||||
return $"_content/Egw.Lux.WebWindowComplex/icone/split/dimension/{nameFile}.svg";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
@using static WebWindowComplex.LayoutConst
|
||||
<div class="input-group mb-2">
|
||||
<span class="input-group-text">@CurrRec.nIndex</span>
|
||||
<span class="input-group-text">
|
||||
<img class="img-fluid me-2" src="@GetImageElemPath()" title="@(CurrRec.sName)" width="40" />
|
||||
@CurrRec.nIndex
|
||||
</span>
|
||||
@* <span class="input-group-text">@CurrRec.nIndex</span> *@
|
||||
@if (BaseUser)
|
||||
{
|
||||
<input type="text" readonly class="form-control" title="@Title()" value="@(CurrRec.dDimension)">
|
||||
|
||||
@@ -13,6 +13,12 @@ namespace WebWindowComplex.Compo
|
||||
[Parameter]
|
||||
public SplitElementDimension CurrRec { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Tipo dello split element corrente
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public string Type { get; set; } = null!;
|
||||
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<SplitElementDimension> EC_Update { get; set; }
|
||||
@@ -27,6 +33,12 @@ namespace WebWindowComplex.Compo
|
||||
|
||||
#region Private Properties
|
||||
|
||||
private string GetImageElemPath() => $"_content/Egw.Lux.WebWindowComplex/icone/split/element/{Type}.svg";
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Private Properties
|
||||
|
||||
/// <summary>
|
||||
/// Metodo per aggiornare element corrente
|
||||
/// </summary>
|
||||
@@ -48,15 +60,6 @@ namespace WebWindowComplex.Compo
|
||||
return "Min: " + CurrRec.dMinDim + ", Max: " + CurrRec.dMaxDim;
|
||||
}
|
||||
|
||||
//private string name()
|
||||
//{
|
||||
// string ans = "";
|
||||
// if (CurrRec.nSubArea > 0)
|
||||
// ans = ans + "A:" + CurrRec.nSubArea + ", ";
|
||||
// ans = ans + "N:" + CurrRec.nIndex;
|
||||
// return ans;
|
||||
//}
|
||||
|
||||
#endregion Private Properties
|
||||
}
|
||||
}
|
||||
@@ -319,8 +319,28 @@ namespace WebWindowComplex
|
||||
//PendReq.Remove("Profile");
|
||||
//await EC_PendantAction.InvokeAsync(PendReq);
|
||||
}
|
||||
if(Vocabulary != null)
|
||||
if (Vocabulary == null)
|
||||
{
|
||||
string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data", "Lemmi.json");
|
||||
|
||||
if (File.Exists(filePath))
|
||||
{
|
||||
string jsonText = await File.ReadAllTextAsync(filePath);
|
||||
List<string>? tradList = JsonConvert.DeserializeObject<List<string>>(jsonText);
|
||||
if (tradList != null)
|
||||
{
|
||||
Log.Info("Richiesta Traduzione");
|
||||
prevReqTrad = true;
|
||||
await EC_ReqTraduzione.InvokeAsync(tradList);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Log.Info("File Json non trovato");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CurrVocabulary = Vocabulary;
|
||||
TableCDict = Vocabulary.Where(x => x.Key.Contains("CWTableC_")).ToDictionary(x => x.Key, y => y.Value);
|
||||
if ((TableCDict == null || TableCDict.Count != 13) && !prevReqTrad)
|
||||
|
||||
@@ -6,17 +6,21 @@
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Version>3.1.8.1809</Version>
|
||||
<Version>3.1.8.1810</Version>
|
||||
<Authors>Annamaria Sassi</Authors>
|
||||
<Company>Egalware</Company>
|
||||
<Description>Componente gestione Configurazioni avanzate Window per LUX</Description>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Update="Data\Lemmi.json">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Data\Lemmi.json">
|
||||
<Pack>true</Pack>
|
||||
<PackagePath>content\Data</PackagePath>
|
||||
<PackageCopyToOutput>true</PackageCopyToOutput>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<SupportedPlatform Include="browser" />
|
||||
@@ -40,223 +44,3 @@
|
||||
|
||||
</Project>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 37">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: none;
|
||||
stroke: #92908d;
|
||||
stroke-miterlimit: 10;
|
||||
stroke-width: .85px;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #92908d;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g>
|
||||
<line class="cls-1" x1="18.74" y1="22.98" x2="18.74" y2="31.76"/>
|
||||
<polygon class="cls-2" points="15.78 23.85 18.74 18.71 21.71 23.85 15.78 23.85"/>
|
||||
<polygon class="cls-2" points="15.78 30.89 18.74 36.03 21.71 30.89 15.78 30.89"/>
|
||||
</g>
|
||||
<path class="cls-2" d="M31.49.85v35.26H5.47V.85h26.02ZM32.34,0H4.62v36.96h27.72V0h0Z"/>
|
||||
<line class="cls-1" x1="4.93" y1="18.48" x2="31.66" y2="18.48"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 770 B |
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 37">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: none;
|
||||
stroke: #92908d;
|
||||
stroke-miterlimit: 10;
|
||||
stroke-width: .85px;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #92908d;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path class="cls-2" d="M31.49.85v35.26H5.47V.85h26.02ZM32.34,0H4.62v36.96h27.72V0h0Z"/>
|
||||
<line class="cls-1" x1="5.61" y1="24.64" x2="32.34" y2="24.64"/>
|
||||
<line class="cls-1" x1="5.04" y1="12.32" x2="31.77" y2="12.32"/>
|
||||
<g>
|
||||
<line class="cls-1" x1="18.83" y1="20.09" x2="18.83" y2="17.05"/>
|
||||
<polygon class="cls-2" points="21.8 19.22 18.83 24.36 15.86 19.22 21.8 19.22"/>
|
||||
<polygon class="cls-2" points="21.8 17.92 18.83 12.78 15.86 17.92 21.8 17.92"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 833 B |
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 37">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: none;
|
||||
stroke: #92908d;
|
||||
stroke-miterlimit: 10;
|
||||
stroke-width: .85px;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #92908d;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g>
|
||||
<line class="cls-1" x1="18.82" y1="4.91" x2="18.82" y2="13.69"/>
|
||||
<polygon class="cls-2" points="15.85 5.78 18.82 .64 21.78 5.78 15.85 5.78"/>
|
||||
<polygon class="cls-2" points="15.85 12.82 18.82 17.96 21.78 12.82 15.85 12.82"/>
|
||||
</g>
|
||||
<path class="cls-2" d="M31.49.85v35.26H5.47V.85h26.02ZM32.34,0H4.62v36.96h27.72V0h0Z"/>
|
||||
<line class="cls-1" x1="4.93" y1="18.48" x2="31.66" y2="18.48"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 764 B |
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 37">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: none;
|
||||
stroke: #92908d;
|
||||
stroke-miterlimit: 10;
|
||||
stroke-width: .85px;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #92908d;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g>
|
||||
<line class="cls-1" x1="9.67" y1="18.52" x2="13.85" y2="18.52"/>
|
||||
<polygon class="cls-2" points="10.54 21.49 5.4 18.52 10.54 15.55 10.54 21.49"/>
|
||||
<polygon class="cls-2" points="12.99 21.49 18.12 18.52 12.99 15.55 12.99 21.49"/>
|
||||
</g>
|
||||
<path class="cls-2" d="M31.49.85v35.26H5.47V.85h26.02ZM32.34,0H4.62v36.96h27.72V0h0Z"/>
|
||||
<line class="cls-1" x1="18.48" y1=".45" x2="18.48" y2="36.4"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 765 B |
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 37">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: none;
|
||||
stroke: #92908d;
|
||||
stroke-miterlimit: 10;
|
||||
stroke-width: .85px;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #92908d;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g>
|
||||
<line class="cls-1" x1="16.97" y1="18.52" x2="20.49" y2="18.52"/>
|
||||
<polygon class="cls-2" points="17.59 20.64 13.92 18.52 17.59 16.4 17.59 20.64"/>
|
||||
<polygon class="cls-2" points="19.87 20.64 23.54 18.52 19.87 16.4 19.87 20.64"/>
|
||||
</g>
|
||||
<path class="cls-2" d="M31.49.85v35.26H5.47V.85h26.02ZM32.34,0H4.62v36.96h27.72V0h0Z"/>
|
||||
<line class="cls-1" x1="13.94" y1=".83" x2="13.94" y2="36.78"/>
|
||||
<line class="cls-1" x1="23.35" y1=".83" x2="23.35" y2="36.78"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 833 B |
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37 37">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: none;
|
||||
stroke: #92908d;
|
||||
stroke-miterlimit: 10;
|
||||
stroke-width: .85px;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #92908d;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g>
|
||||
<line class="cls-1" x1="23.11" y1="18.52" x2="27.29" y2="18.52"/>
|
||||
<polygon class="cls-2" points="23.97 21.49 18.84 18.52 23.97 15.55 23.97 21.49"/>
|
||||
<polygon class="cls-2" points="26.42 21.49 31.56 18.52 26.42 15.55 26.42 21.49"/>
|
||||
</g>
|
||||
<path class="cls-2" d="M31.49.85v35.26H5.47V.85h26.02ZM32.34,0H4.62v36.96h27.72V0h0Z"/>
|
||||
<line class="cls-1" x1="18.48" y1=".45" x2="18.48" y2="36.4"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 768 B |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 27 KiB |
@@ -6,7 +6,7 @@
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Version>3.1.8.1809</Version>
|
||||
<Version>3.1.8.1810</Version>
|
||||
<Authors>Annamaria Sassi</Authors>
|
||||
<Company>Egalware</Company>
|
||||
<Description>Componente gestione JWD per LUX</Description>
|
||||
@@ -37,538 +37,3 @@
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||