mirror of
https://github.com/ClemensFischer/XAML-Map-Control.git
synced 2025-12-06 07:12:04 +01:00
Use string interpolation in debug output
This commit is contained in:
parent
7aaa4ed25e
commit
c0d3635317
|
|
@ -47,7 +47,7 @@ namespace MapControl.Caching
|
||||||
|
|
||||||
if (deleted > 0)
|
if (deleted > 0)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("FileDbCache: Deleted {0} expired items.", deleted);
|
Debug.WriteLine($"FileDbCache: Deleted {deleted} expired items");
|
||||||
fileDb.Clean();
|
fileDb.Clean();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -57,7 +57,7 @@ namespace MapControl.Caching
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
fileDb.Open(path);
|
fileDb.Open(path);
|
||||||
Debug.WriteLine("FileDbCache: Opened database " + path);
|
Debug.WriteLine($"FileDbCache: Opened database {path}");
|
||||||
|
|
||||||
Clean();
|
Clean();
|
||||||
}
|
}
|
||||||
|
|
@ -79,7 +79,7 @@ namespace MapControl.Caching
|
||||||
new Field(expiresField, DataTypeEnum.DateTime)
|
new Field(expiresField, DataTypeEnum.DateTime)
|
||||||
});
|
});
|
||||||
|
|
||||||
Debug.WriteLine("FileDbCache: Created database " + path);
|
Debug.WriteLine($"FileDbCache: Created database {path}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -91,7 +91,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("FileDbCache.GetRecordByKey({0}): {1}", key, ex.Message);
|
Debug.WriteLine($"FileDbCache.GetRecordByKey({key}): {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -117,7 +117,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("FileDbCache.AddOrUpdateRecord({0}): {1}", key, ex.Message); return;
|
Debug.WriteLine($"FileDbCache.AddOrUpdateRecord({key}): {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("FileDbCache.GetCount(): " + ex.Message);
|
Debug.WriteLine($"FileDbCache.GetCount(): {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -75,7 +75,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("FileDbCache.Contains({0}): {1}", key, ex.Message);
|
Debug.WriteLine($"FileDbCache.Contains({key}): {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -180,7 +180,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("FileDbCache.Remove({0}): {1}", key, ex.Message);
|
Debug.WriteLine($"FileDbCache.Remove({key}): {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,7 @@ namespace MapControl.MBTiles
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("MBTileData: " + ex.Message);
|
Debug.WriteLine($"MBTileData: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -89,7 +89,7 @@ namespace MapControl.MBTiles
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("MBTileData: " + ex.Message);
|
Debug.WriteLine($"MBTileData: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -110,7 +110,7 @@ namespace MapControl.MBTiles
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("MBTileData: {0}/{1}/{2}: {3}", zoomLevel, x, y, ex.Message);
|
Debug.WriteLine($"MBTileData: {zoomLevel}/{x}/{y}: {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return imageBuffer;
|
return imageBuffer;
|
||||||
|
|
@ -132,7 +132,7 @@ namespace MapControl.MBTiles
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("MBTileData: {0}/{1}/{2}: {3}", zoomLevel, x, y, ex.Message);
|
Debug.WriteLine($"MBTileData: {zoomLevel}/{x}/{y}: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ namespace MapControl
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("BingMapsTileLayer: {0}: {1}", metadataUri, ex.Message);
|
Debug.WriteLine($"BingMapsTileLayer: {metadataUri}: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ namespace MapControl
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("{0}: {1}", e.Uri, ex);
|
Debug.WriteLine($"{e.Uri}: {ex}");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ namespace MapControl.Caching
|
||||||
|
|
||||||
rootDirectory = directory;
|
rootDirectory = directory;
|
||||||
|
|
||||||
Debug.WriteLine("Created ImageFileCache in " + rootDirectory);
|
Debug.WriteLine($"Created ImageFileCache in {rootDirectory}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task Clean()
|
public Task Clean()
|
||||||
|
|
@ -46,7 +46,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("ImageFileCache: Invalid key {0}/{1}: {2}", rootDirectory, key, ex.Message);
|
Debug.WriteLine($"ImageFileCache: Invalid key {rootDirectory}/{key}: {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -62,13 +62,13 @@ namespace MapControl.Caching
|
||||||
|
|
||||||
if (deletedFileCount > 0)
|
if (deletedFileCount > 0)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("ImageFileCache: Cleaned {0} files in {1}", deletedFileCount, dir);
|
Debug.WriteLine($"ImageFileCache: Cleaned {deletedFileCount} files in {dir}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("ImageFileCache: Failed enumerating directories in {0}: {1}", rootDirectory, ex.Message);
|
Debug.WriteLine($"ImageFileCache: Failed enumerating directories in {rootDirectory}: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -89,7 +89,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("ImageFileCache: Failed cleaning {0}: {1}", directory.FullName, ex.Message);
|
Debug.WriteLine($"ImageFileCache: Failed cleaning {directory.FullName}: {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return deletedFileCount;
|
return deletedFileCount;
|
||||||
|
|
@ -109,7 +109,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("ImageFileCache: Failed cleaning {0}: {1}", file.FullName, ex.Message);
|
Debug.WriteLine($"ImageFileCache: Failed cleaning {file.FullName}: {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return deletedFileCount;
|
return deletedFileCount;
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ namespace MapControl
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("ImageLoader: {0}: {1}", uri, ex.Message);
|
Debug.WriteLine($"ImageLoader: {uri}: {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return image;
|
return image;
|
||||||
|
|
@ -95,13 +95,13 @@ namespace MapControl
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.WriteLine("ImageLoader: {0}: {1} {2}", uri, (int)responseMessage.StatusCode, responseMessage.ReasonPhrase);
|
Debug.WriteLine($"ImageLoader: {uri}: {(int)responseMessage.StatusCode} {responseMessage.ReasonPhrase}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("ImageLoader: {0}: {1}", uri, ex.Message);
|
Debug.WriteLine($"ImageLoader: {uri}: {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
|
|
|
||||||
|
|
@ -251,7 +251,7 @@ namespace MapControl
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("MapImageLayer: " + ex.Message);
|
Debug.WriteLine($"MapImageLayer: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@ namespace MapControl
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("WmsImageLayer: {0}: {1}", uri, ex.Message);
|
Debug.WriteLine($"WmsImageLayer: {uri}: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -149,7 +149,7 @@ namespace MapControl
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("WmsImageLayer: {0}: {1}", uri, ex.Message);
|
Debug.WriteLine($"WmsImageLayer: {uri}: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -176,7 +176,7 @@ namespace MapControl
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("WmsImageLayer: {0}: {1}", uri, ex.Message);
|
Debug.WriteLine($"WmsImageLayer: {uri}: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -208,7 +208,7 @@ namespace MapControl
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("WmtsTileLayer: {0}: {1}", CapabilitiesUri, ex.Message);
|
Debug.WriteLine($"WmtsTileLayer: {CapabilitiesUri}: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("ImageFileCache: Failed reading {0}: {1}", path, ex.Message);
|
Debug.WriteLine($"ImageFileCache: Failed reading {path}: {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return cacheItem;
|
return cacheItem;
|
||||||
|
|
@ -52,7 +52,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("ImageFileCache: Failed writing {0}: {1}", path, ex.Message);
|
Debug.WriteLine($"ImageFileCache: Failed writing {path}: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ namespace MapControl
|
||||||
await Cache.SetAsync(cacheKey, buffer, GetExpiration(response.MaxAge)).ConfigureAwait(false);
|
await Cache.SetAsync(cacheKey, buffer, GetExpiration(response.MaxAge)).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//else System.Diagnostics.Debug.WriteLine("Cached: " + cacheKey);
|
//else System.Diagnostics.Debug.WriteLine($"Cached: {cacheKey}");
|
||||||
|
|
||||||
if (buffer != null && buffer.Length > 0)
|
if (buffer != null && buffer.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("ImageFileCache: Failed finding {0}: {1}", path, ex.Message);
|
Debug.WriteLine($"ImageFileCache: Failed finding {path}: {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -115,7 +115,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("ImageFileCache: Failed reading {0}: {1}", path, ex.Message);
|
Debug.WriteLine($"ImageFileCache: Failed reading {path}: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -175,7 +175,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("ImageFileCache: Failed writing {0}: {1}", path, ex.Message);
|
Debug.WriteLine($"ImageFileCache: Failed writing {path}: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -238,7 +238,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("ImageFileCache: Failed removing {0}: {1}", path, ex.Message);
|
Debug.WriteLine($"ImageFileCache: Failed removing {path}: {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ namespace MapControl
|
||||||
Cache.Set(cacheKey, cacheItem, new CacheItemPolicy { AbsoluteExpiration = cacheItem.Item2 });
|
Cache.Set(cacheKey, cacheItem, new CacheItemPolicy { AbsoluteExpiration = cacheItem.Item2 });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//else System.Diagnostics.Debug.WriteLine("Cached: " + cacheKey);
|
//else System.Diagnostics.Debug.WriteLine($"Cached: {cacheKey}");
|
||||||
|
|
||||||
if (buffer != null && buffer.Length > 0)
|
if (buffer != null && buffer.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ namespace MapControl
|
||||||
await Cache.SetAsync(cacheKey, buffer, GetExpiration(response.MaxAge)).ConfigureAwait(false);
|
await Cache.SetAsync(cacheKey, buffer, GetExpiration(response.MaxAge)).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//else System.Diagnostics.Debug.WriteLine("Cached: " + cacheKey);
|
//else System.Diagnostics.Debug.WriteLine($"Cached: {cacheKey}");
|
||||||
|
|
||||||
if (buffer != null && buffer.Length > 0)
|
if (buffer != null && buffer.Length > 0)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ namespace MapControl.Images
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("GroundOverlayPanel: {0}: {1}", path, ex.Message);
|
Debug.WriteLine($"GroundOverlayPanel: {path}: {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ namespace MapControl.Caching
|
||||||
command.ExecuteNonQuery();
|
command.ExecuteNonQuery();
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.WriteLine("SQLiteCache: Opened database " + path);
|
Debug.WriteLine($"SQLiteCache: Opened database {path}");
|
||||||
|
|
||||||
return connection;
|
return connection;
|
||||||
}
|
}
|
||||||
|
|
@ -66,7 +66,7 @@ namespace MapControl.Caching
|
||||||
var deleted = (long)command.ExecuteScalar();
|
var deleted = (long)command.ExecuteScalar();
|
||||||
if (deleted > 0)
|
if (deleted > 0)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("SQLiteCache: Deleted {0} expired items.", deleted);
|
Debug.WriteLine($"SQLiteCache: Deleted {deleted} expired items");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("SQLiteCache.GetAsync({0}): {1}", key, ex.Message);
|
Debug.WriteLine($"SQLiteCache.GetAsync({key}): {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -43,7 +43,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("SQLiteCache.SetAsync({0}): {1}", key, ex.Message);
|
Debug.WriteLine($"SQLiteCache.SetAsync({key}): {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("SQLiteCache.GetCount(): {0}", ex.Message);
|
Debug.WriteLine($"SQLiteCache.GetCount(): {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -82,7 +82,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("SQLiteCache.Contains({0}): {1}", key, ex.Message);
|
Debug.WriteLine($"SQLiteCache.Contains({key}): {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -114,7 +114,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("SQLiteCache.Get({0}): {1}", key, ex.Message);
|
Debug.WriteLine($"SQLiteCache.Get({key}): {ex.Message}");
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -158,7 +158,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("SQLiteCache.Set({0}): {1}", key, ex.Message);
|
Debug.WriteLine($"SQLiteCache.Set({key}): {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -210,7 +210,7 @@ namespace MapControl.Caching
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Debug.WriteLine("SQLiteCache.Remove({0}): {1}", key, ex.Message);
|
Debug.WriteLine($"SQLiteCache.Remove({key}): {ex.Message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue