From 56280830e340a2686cbe958aa11c4182e8bc4da2 Mon Sep 17 00:00:00 2001 From: Robert Adams Date: Sat, 16 Feb 2019 20:19:58 -0800 Subject: [PATCH] Much hacking to change the generation of filenames and storage of same. Option of creating 'deep directory' storage of filename. Stored things now can have long names which is usually its UUID. Got rid of the 'image' directory. --- CommonEntities/GltfClasses.cs | 79 ++++++++++---- CommonEntities/ImageInfo.cs | 8 -- CommonEntities/PersistRules.cs | 175 +++++++++++++------------------- CommonEntitiesUtil/Logger.cs | 4 +- convoar/Convoar.cs | 7 +- convoar/ConvoarParams.cs | 4 + convoar/Resources/BuildDate.txt | 2 +- convoar/Resources/GitCommit.txt | 2 +- dist/CommonEntities.dll | Bin 139264 -> 139264 bytes dist/CommonEntitiesUtil.dll | Bin 24576 -> 24576 bytes dist/convoar.exe | Bin 39936 -> 40448 bytes dist/convoar.pdb | Bin 62976 -> 62976 bytes 12 files changed, 144 insertions(+), 137 deletions(-) diff --git a/CommonEntities/GltfClasses.cs b/CommonEntities/GltfClasses.cs index 7bc7c1f..fb2f30b 100755 --- a/CommonEntities/GltfClasses.cs +++ b/CommonEntities/GltfClasses.cs @@ -15,8 +15,10 @@ */ using System; using System.Linq; +using System.Drawing; using System.Collections.Generic; using System.IO; +using System.Text; using org.herbal3d.cs.CommonEntitiesUtil; @@ -37,6 +39,21 @@ namespace org.herbal3d.cs.os.CommonEntities { protected BLogger _log; protected IParameters _params; + public PersistRules.AssetType AssetType = PersistRules.AssetType.Unknown; + + // Return the filename for storing this object. Return null if doesn't store. + public string GetFilename(string pLongName) { + // often UUID's are turned to strings with hyphens. Make sure they are gone. + return PersistRules.GetFilename(this, pLongName, _params).Replace("-", ""); + } + public string GetStorageDir(string pBaseDirectory, string pStorageName) { + string strippedStorageName = Path.GetFileNameWithoutExtension(pStorageName); + return PersistRules.StorageDirectory(pBaseDirectory, strippedStorageName, _params); + } + public string GetURI(string pURIBase, string pStorageName) { + return PersistRules.ReferenceURL(pURIBase, pStorageName); + } + public GltfClass() { } public GltfClass(Gltf pRoot, string pID, BLogger pLog, IParameters pParams) { BaseInit(pRoot, pID, pLog, pParams); @@ -122,6 +139,11 @@ namespace org.herbal3d.cs.os.CommonEntities { public GltfAttributes extensionsUsed; // list of extensions used herein public GltfScene defaultScene; // ID of default scene + public OMV.UUID SceneUUID; + + public readonly OMV.UUID GltfUUID; // Used to identify buffer + public readonly string IdentifyingString; // built from GltfUUID + public GltfAsset asset; public GltfScenes scenes; // scenes that make up this package @@ -142,13 +164,12 @@ namespace org.herbal3d.cs.os.CommonEntities { public GltfSampler defaultSampler; - public PersistRules persist; - - public Gltf(string pSceneName, BLogger pLog, IParameters pParams) : base() { + public Gltf(string pSceneName, BLogger pLog, IParameters pParams) : + base(null, pSceneName, pLog, pParams) { gltfRoot = this; - _log = pLog; - _params = pParams; - persist = new PersistRules(PersistRules.AssetType.Scene, pSceneName, PersistRules.TargetType.Gltf, _log, _params); + AssetType = PersistRules.AssetType.Scene; + GltfUUID = OMV.UUID.Random(); + IdentifyingString = GltfUUID.ToString().Replace("-", ""); extensionsUsed = new GltfAttributes(); asset = new GltfAsset(this, _log, _params); @@ -322,7 +343,7 @@ namespace org.herbal3d.cs.os.CommonEntities { // A key added to the buffer, vertices, and indices names to uniquify them string buffNum = String.Format("{0:000}", buffers.Count + 1); - string buffName = this.defaultScene.name + "-buffer" + buffNum; + string buffName = this.defaultScene.name + "_buffer" + buffNum; byte[] binBuffRaw = new byte[paddedSizeofIndices + sizeofVertices]; GltfBuffer binBuff = new GltfBuffer(gltfRoot, buffName, _log, _params) { bufferBytes = binBuffRaw @@ -575,18 +596,15 @@ namespace org.herbal3d.cs.os.CommonEntities { return ret; } - // Write the binary files into the specified target directory + // Write the binary files into the persist computed target directory public void WriteBinaryFiles() { foreach (var buff in buffers.Values) { - string outFilename = buff.persist.Filename; - // _log.DebugFormat("{0} WriteBinaryFiles: filename={1}", LogHeader, outFilename); - File.WriteAllBytes(outFilename, buff.bufferBytes); + buff.WriteBuffer(); } } - public void WriteImages() { foreach (var img in images.Values) { - img.imageInfo.persist.WriteImage(img.imageInfo); + img.WriteImage(); } } } @@ -1148,18 +1166,21 @@ namespace org.herbal3d.cs.os.CommonEntities { } public class GltfBuffer : GltfClass { - public PersistRules persist; public byte[] bufferBytes; public string name; public GltfExtensions extensions; public GltfAttributes extras; + private readonly OMV.UUID _uuid; // Used to identify buffer + private readonly string _identifyingString; + public GltfBuffer(Gltf pRoot, string pID, BLogger pLog, IParameters pParams) : base(pRoot, pID, pLog, pParams) { - persist = new PersistRules(PersistRules.AssetType.Buff, pID, pLog, pParams); + AssetType = PersistRules.AssetType.Buff; extensions = new GltfExtensions(pRoot); extras = new GltfAttributes(); - // Buffs go into the directory of the root - persist.BaseDirectory = pRoot.persist.BaseDirectory; + _uuid = OMV.UUID.Random(); + _identifyingString = _uuid.ToString().Replace("-", ""); + // Buffs go into the roots collection. Index is not used. gltfRoot.buffers.Add(new BHashULong(gltfRoot.buffers.Count), this); LogGltf("{0} GltfBuffer: created. ID={1}", "Gltf", ID); } @@ -1168,11 +1189,20 @@ namespace org.herbal3d.cs.os.CommonEntities { var ret = new Dictionary(); if (!String.IsNullOrEmpty(name)) ret.Add("name", name); ret.Add("byteLength", bufferBytes.Length); - ret.Add("uri", persist.Uri); + string outFilename = this.GetFilename(_identifyingString); + ret.Add("uri", this.GetURI(_params.P("URIBase"), outFilename)); if (extensions != null && extensions.Count > 0) ret.Add("extensions", extensions.AsJSON()); if (extras != null && extras.Count > 0) ret.Add("extras", extras.AsJSON()); return ret; } + + public void WriteBuffer() { + string outFilename = this.GetFilename(_identifyingString); + string outDir = this.GetStorageDir(null, outFilename); + string absDir = PersistRules.CreateDirectory(outDir, _params); + File.WriteAllBytes(Path.Combine(absDir, outFilename), bufferBytes); + // _log.DebugFormat("{0} WriteBinaryFiles: filename={1}", LogHeader, outFilename); + } } // ============================================================= @@ -1377,6 +1407,7 @@ namespace org.herbal3d.cs.os.CommonEntities { public GltfImage(Gltf pRoot, ImageInfo pImageInfo, BLogger pLog, IParameters pParams) : base(pRoot, pImageInfo.handle.ToString() + "_img", pLog, pParams) { imageInfo = pImageInfo; + AssetType = imageInfo.hasTransprency ? PersistRules.AssetType.ImageTrans : PersistRules.AssetType.Image; if (pImageInfo.handle is EntityHandleUUID handleU) { underlyingUUID = handleU.GetUUID(); } @@ -1392,9 +1423,19 @@ namespace org.herbal3d.cs.os.CommonEntities { return img; } + public void WriteImage() { + string imgFilename = this.GetFilename(underlyingUUID.ToString()); + string imgDir = this.GetStorageDir(null, imgFilename); + string absDir = PersistRules.CreateDirectory(imgDir, _params); + var targetType = PersistRules.FigureOutTargetTypeFromAssetType(AssetType, _params); + imageInfo.image.Save(Path.Combine(absDir, imgFilename), + PersistRules.TargetTypeToImageFormat[targetType]); + } + public override Object AsJSON() { + string imgFilename = this.GetFilename(underlyingUUID.ToString()); var ret = new Dictionary { - { "uri", imageInfo.persist.Uri } + { "uri", PersistRules.ReferenceURL(_params.P("URIBase"), imgFilename) } }; return ret; } diff --git a/CommonEntities/ImageInfo.cs b/CommonEntities/ImageInfo.cs index 934ce09..a815d20 100755 --- a/CommonEntities/ImageInfo.cs +++ b/CommonEntities/ImageInfo.cs @@ -29,7 +29,6 @@ namespace org.herbal3d.cs.os.CommonEntities { public OMV.UUID imageIdentifier; public bool hasTransprency = false; public bool resizable = true; // true if image can be reduced in size - public PersistRules persist; // information in filesystem storage of the image public Image image = null; public int xSize = 0; public int ySize = 0; @@ -48,7 +47,6 @@ namespace org.herbal3d.cs.os.CommonEntities { imageIdentifier = handle.GetUUID(); // image is unique unless underlying set _log = pLog; _params = pParams; - persist = new PersistRules(PersistRules.AssetType.Image, handle.ToString(), pLog, pParams); } // Create a new ImageInfo that has a copy of all the information from this one. @@ -67,12 +65,6 @@ namespace org.herbal3d.cs.os.CommonEntities { xSize = image.Width; ySize = image.Height; hasTransprency = CheckForTransparency(); - if (hasTransprency) { - persist = new PersistRules(PersistRules.AssetType.ImageTrans, handle.ToString(), _log, _params); - } - else { - persist = new PersistRules(PersistRules.AssetType.Image, handle.ToString(), _log, _params); - } // _log.DebugFormat("{0} SetImage. ID={1}, xSize={2}, ySize={3}, hasTrans={4}", // _logHeader, handle, xSize, ySize, hasTransprency); } diff --git a/CommonEntities/PersistRules.cs b/CommonEntities/PersistRules.cs index 746c889..50076a6 100755 --- a/CommonEntities/PersistRules.cs +++ b/CommonEntities/PersistRules.cs @@ -36,6 +36,7 @@ namespace org.herbal3d.cs.os.CommonEntities { public class PersistRules { public enum AssetType { + Unknown, Image, ImageTrans, Mesh, @@ -65,7 +66,7 @@ namespace org.herbal3d.cs.os.CommonEntities { // Asset types have a target type when stored public readonly static Dictionary AssetTypeToTargetType = new Dictionary() - { { AssetType.Image, TargetType.Default}, + { { AssetType.Image, TargetType.Default}, // 'Default' means look things up in parameters for the AssetType { AssetType.ImageTrans, TargetType.Default}, { AssetType.Mesh, TargetType.Mesh}, { AssetType.Buff, TargetType.Buff}, @@ -103,123 +104,89 @@ namespace org.herbal3d.cs.os.CommonEntities { }; public string BaseDirectory { get; set; } - private AssetType _assetType; - private TargetType _targetType; - private string _assetInfo; - - private BLogger _log; - private IParameters _params; - - #pragma warning disable 414 - private static readonly string _logHeader = "[PersistRules]"; - #pragma warning restore 414 - - // Rules for storing files into TargetDir and into type specific sub-directory therein - public PersistRules(AssetType pAssetType, string pInfo, BLogger pLog, IParameters pParams) { - PersistInit(pAssetType, pInfo, TargetType.Default, pLog, pParams); - } - - public PersistRules(AssetType pAssetType, string pInfo, TargetType pTargetType, BLogger pLog, IParameters pParams) { - PersistInit(pAssetType, pInfo, pTargetType, pLog, pParams); - } - - public PersistRules Clone() { - PersistRules pr = new PersistRules(_assetType, _assetInfo, _targetType, _log, _params) { - BaseDirectory = this.BaseDirectory - }; - return pr; - } - - private void PersistInit(AssetType pAssetType, string pInfo, TargetType pTargetType, BLogger pLog, IParameters pParams) { - _log = pLog; - _params = pParams; - _assetType = pAssetType; - _assetInfo = pInfo; - _targetType = FigureOutTargetType(); - - BaseDirectory = AssetTypeToSubDir[_assetType]; - } + public AssetType AssetAssetType; + public TargetType AssetTargetType; + public string AssetName; // If target type is not specified, select the image type depending on parameters and transparency - private TargetType FigureOutTargetType() { - TargetType ret = AssetTypeToTargetType[_assetType]; + public static TargetType FigureOutTargetTypeFromAssetType(AssetType pAssetType, IParameters pParams) { + TargetType ret = AssetTypeToTargetType[pAssetType]; // If target type is not specified, select the image type depending on parameters and transparency - if (_targetType == TargetType.Default) { - if (_assetType == AssetType.Image) { - ret = TextureFormatToTargetType[_params.P("PreferredTextureFormatIfNoTransparency").ToLower()]; + if (ret == TargetType.Default) { + if (pAssetType == AssetType.Image) { + ret = TextureFormatToTargetType[pParams.P("PreferredTextureFormatIfNoTransparency").ToLower()]; } - if (_assetType == AssetType.ImageTrans) { - ret = TextureFormatToTargetType[_params.P("PreferredTextureFormat").ToLower()]; + if (pAssetType == AssetType.ImageTrans) { + ret = TextureFormatToTargetType[pParams.P("PreferredTextureFormat").ToLower()]; } } return ret; } - public string Filename { - get { - return CreateFilename(); - } - } - - public string Uri { - get { - return CreateURI(); - } - } - - public void WriteImage(ImageInfo imageInfo) { - string texFilename = CreateFilename(); - if (imageInfo.image != null && !File.Exists(texFilename)) { - Image texImage = imageInfo.image; - try { - // _log.DebugFormat("{0} WriteOutImageForEP: id={1}, hasAlpha={2}, format={3}", - // _logHeader, faceInfo.textureID, faceInfo.hasAlpha, texImage.PixelFormat); - PersistRules.ResolveAndCreateDir(texFilename); - texImage.Save(texFilename, TargetTypeToImageFormat[_targetType]); - } - catch (Exception e) { - _log.ErrorFormat("{0} FAILED PNG FILE CREATION: {0}", e); - } - } - } - - - private string CreateFilename() { - // string fnbase = JoinFilePieces(_params.P("OutputDir"), baseDirectory); - string fnbase = BaseDirectory; - return JoinFilePieces(fnbase, _assetInfo + "." + TargetTypeToExtension[_targetType]); - } - - private string CreateURI() { - string uribase = JoinURIPieces(_params.P("URIBase"), BaseDirectory); - return JoinURIPieces(uribase, _assetInfo + "." + TargetTypeToExtension[_targetType]); - } - - /// - /// Turn the passed relative path name into an absolute directory path and - /// create the directory if it does not exist. - /// - /// Absolute or relative path to a directory - /// Absolute path to directory or 'null' if cannot resolve or create the directory - public static string ResolveAndCreateDir(string pDir) { - string absDir = null; - try { - absDir = Path.GetFullPath(pDir); - absDir = Path.GetDirectoryName(absDir); - if (!Directory.Exists(absDir)) { - Directory.CreateDirectory(absDir); - } - } - catch (Exception e) { - // _log.ErrorFormat("{0} Failed creation of directory. dir={1}, e: {2}", - // _logHeader, absDir, e); - var temp = e; // supress warning - return null; + // Pass in a relative directory name and return a full directory path + // and create the directory if it doesn't exist. + public static string CreateDirectory(string pDir, IParameters pParams) { + string baseDir = pParams.P("OutputDir"); + string fullDir = PersistRules.JoinFilePieces(baseDir, pDir); + string absDir = Path.GetFullPath(fullDir); + if (!Directory.Exists(absDir)) { + Directory.CreateDirectory(absDir); } return absDir; } + // Compute the filename of this object when written out. + // Mostly about computing the file extension based on the AssetType. + public static string GetFilename(GltfClass pObject, string pLongName, IParameters pParams) { + string ret = null; + if (pParams.P("UseReadableFilenames")) { + var targetType = FigureOutTargetTypeFromAssetType(pObject.AssetType, pParams); + ret = pObject.ID + "." + PersistRules.TargetTypeToExtension[targetType]; + } + else { + var targetType = FigureOutTargetTypeFromAssetType(pObject.AssetType, pParams); + ret = pLongName + "." + PersistRules.TargetTypeToExtension[targetType]; + } + return ret; + } + + // Given a directory base and a filename, return the directory that that filename + // should be stored in. + // Uses sub-directories made out of the filename. + // "01234567890123456789" => "baseDirectory/01/23/45/6789" + public static string StorageDirectory(string baseDirectory, string pHash, IParameters pParams) { + string ret = null; + if (pParams.P("UseDeepFilenames") && pHash.Length >= 10) { + if (String.IsNullOrEmpty(baseDirectory)) { + ret = Path.Combine(pHash.Substring(0, 2), + Path.Combine(pHash.Substring(2, 2), + Path.Combine(pHash.Substring(4, 2), + pHash.Substring(6, 4) + ))); + } + else { + ret = Path.Combine(baseDirectory, + Path.Combine(pHash.Substring(0, 2), + Path.Combine(pHash.Substring(2, 2), + Path.Combine(pHash.Substring(4, 2), + pHash.Substring(6, 4) + )))); + } + } + else { + ret = String.IsNullOrEmpty(baseDirectory) ? "" : baseDirectory; + } + return ret; + } + + // Create the URI for referring to this object. + // THis is as opposed to the storage directory as the HTTP server resolving + // this URL will do any extra filesystem hashing to access the file. + public static string ReferenceURL(string pBaseDirectory, string pStorageName) { + return JoinURIPieces(pBaseDirectory, pStorageName); + } + /// /// Combine two filename pieces so there is one directory separator between. /// This replaces System.IO.Path.Combine which has the nasty feature that it diff --git a/CommonEntitiesUtil/Logger.cs b/CommonEntitiesUtil/Logger.cs index 7b45955..0525562 100755 --- a/CommonEntitiesUtil/Logger.cs +++ b/CommonEntitiesUtil/Logger.cs @@ -32,7 +32,7 @@ namespace org.herbal3d.cs.CommonEntitiesUtil { private bool _verbose = false; public override void SetVerbose(bool value) { - bool _verbose = value; + _verbose = value; } public override void Log(string msg, params Object[] args) { @@ -53,7 +53,7 @@ namespace org.herbal3d.cs.CommonEntitiesUtil { // Do logging with Log4net public class LoggerLog4Net : BLogger { - private static string _logHeader = "[Logger]"; + private static readonly string _logHeader = "[Logger]"; private ILog _log; diff --git a/convoar/Convoar.cs b/convoar/Convoar.cs index eae5c3a..cdb2707 100755 --- a/convoar/Convoar.cs +++ b/convoar/Convoar.cs @@ -194,9 +194,12 @@ namespace org.herbal3d.convoar { Globals.log.DebugFormat("{0} num Gltf.buffers={1}", _logHeader, gltf.buffers.Count); Globals.log.DebugFormat("{0} num Gltf.bufferViews={1}", _logHeader, gltf.bufferViews.Count); - PersistRules.ResolveAndCreateDir(gltf.persist.Filename); + string gltfFilename = gltf.GetFilename(gltf.IdentifyingString); + string gltfDir = gltf.GetStorageDir(null, gltfFilename); + string absDir = PersistRules.CreateDirectory(gltfDir, Globals.parms); + string gltfPath = Path.Combine(absDir, gltfFilename); - using (StreamWriter outt = File.CreateText(gltf.persist.Filename)) { + using (StreamWriter outt = File.CreateText(gltfPath)) { gltf.ToJSON(outt); } gltf.WriteBinaryFiles(); diff --git a/convoar/ConvoarParams.cs b/convoar/ConvoarParams.cs index 0b6158c..bc43158 100755 --- a/convoar/ConvoarParams.cs +++ b/convoar/ConvoarParams.cs @@ -62,6 +62,10 @@ namespace org.herbal3d.convoar { "./convoar", "d" ), new ParameterDefn("URIBase", "the string added to be beginning of asset name to create URI", "" ), + new ParameterDefn("UseReadableFilenames", "Whether filenames should be human readable or UUIDs", + true ), + new ParameterDefn("UseDeepFilenames", "Whether filenames be organized into a deep directory structure", + false ), new ParameterDefn("==========", "OAR Reading Specific Parameters", null), new ParameterDefn("ConvoarID", "GUID for 'convoar' identity (used for CreatorID, ...)", diff --git a/convoar/Resources/BuildDate.txt b/convoar/Resources/BuildDate.txt index 226b0c7..a3fa688 100755 --- a/convoar/Resources/BuildDate.txt +++ b/convoar/Resources/BuildDate.txt @@ -1 +1 @@ -Thu 02/14/2019 22:11:53.95 +Sat 02/16/2019 20:19:46.34 diff --git a/convoar/Resources/GitCommit.txt b/convoar/Resources/GitCommit.txt index b417e0b..d26228e 100755 --- a/convoar/Resources/GitCommit.txt +++ b/convoar/Resources/GitCommit.txt @@ -1 +1 @@ -4b63f5c3a62796ec87bae34ee445847f519e672c +3587d7ce6f067a16ff27c5d3b2133bb203eb41a6 diff --git a/dist/CommonEntities.dll b/dist/CommonEntities.dll index c68f2b9bf9412168847b3994a2977a4bf370b01e..eada3846882558789bd58cabb5411861bd5933fc 100755 GIT binary patch delta 57798 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 P>fIb2EDn3B64n0)+Nvq2 delta 57724 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 diff --git a/dist/convoar.exe b/dist/convoar.exe index 10c804bf2c9a06cbc2eb1a4a15bb12c01f97e97e..00d9a33a6996e04fd49a3f5325e803dd1f5231f0 100755 GIT binary patch delta 10206 zcmbVS33wG%vaWM_x%<9mA@^nvNeCoC2m~+?AO;yULJ&lhKv*(@7dk=I5N~1>L2<^= zpy2iZ7evq*2&gCyATu~_DC2?*$mTw%sE9s6d9Ui+n+@li?|rZN?%!2^)v2npboc2F z%`fogo&3I~X(x}*xfbHbaYzFT>j$tB31f_0(cbp-M0;5~z!gO7#-G}j>aiXNu%c|- z3XrTHSdp(!X4&S|I#OZ$t<>*kdF+1uIhM^H){nBZtOkrg$7T5Apg;o(zsv@ZP%~l7 z`F{pj%`j4K`<46$*>YAA?!ZGC`W1%TqqQ>3*ZzPI$icjM_16QK*JmbaKN25QV7|XQ zpRC=_k-r~#Z;ZcA`1jI2KuY@;!9*42cekZzYmw2OL%3}mdUv;lq9$#S0j=W^ZkyI= ztr1Z}W^EH0UqI zLw4;+a`_8FkHH8zVnIvH7iV*7*CMAiAoLifkV`vBh6@C!Gv@{zUuOwK4(4(ba`$MPkNKa!lGZfH1 zA*==|^jmCK@WUScb=&Wv2QYNbd<>M|*QIKo zcWSAq9q!aTsGaK66t9!}&2k^f=;S6jG8r@HxwK7aH{|>tL)G7aaI2bIpq)mp*@5+; z?DC@QC;2)_)>2W^F7aj|R-jnF0Gs3vmSiQSYNU>lI^6V~_C#yEiD;ppv}g1r+>T}Z zPOtumBaQmI$C1{51I9H)Mq{MNA_V@2I!j)@0Z)O+#dcLAvr$;`{HpdU)q^7xaAxu^ zz4|ccz~E3H-aC@8;K;31&BUBc?5I}d)9-aokJ6}pRv3soi3;LAbd^W! z*d6WO4s(wfl&o8fgB?!cf5`ZJh}HRtg@WL0=V_jxKF*!MtAl!-J7*XTiaF_`F;Qtu z)&!~V7mbOfTiqJ2*0fpETu&Z;_V_n%5)Kfi=a6^K=+mp{z6WYJ=3}EsN2{2#( zqtCAo^VRWt6ZDO~F?h=El zyjP^HWXQGl}}zKnAxN z^?iXW_^w1f5X|Gp67`Y6QI7K%(xb*(u2uEb!2-TkZU1|)A7c~rpA%+rOOjrb=wtiz zMTrGGAxYnmSmc^v0JsfToZP5TF_*gae0bZo*kBF9{@99ereNoUDA zdr4oFT+S1c^?xQ0;gMv0d9MV$uvdt0kBK*+$a*1L!Yk;MpdUk~!nq>F%OB{aU!Rhs z-yG)J9y|qQz4eX7Z)MA963j+08dXk=NOW?`pC4B z=yzDJ1&jLy&-l>kJc_WVxGjVttTqotyiejj0(YRudC)c;dFmALNWoZyHOPO8e2^UR zAU+-8W8_ub%XaW&!!-v9MhHMQ8WK>UKm%e`OF74Ncls9oEA`Z?A4-2XaDoa>;f*Kh zJb?2?BAQO>%QJ#@;+FRUNXmEf#V7Tx8QD3-srazRTNLfw-k}X#&W-4_KJqc5`KXfR z#W_*EIiKh(Gcoijl21^33pX@TFy2^(W7kN}VC~XWeOG3ZUY(i3BdPkr%)HQN9qu-6 z`i=YBMG`s-nuuYb#)ugS+_UU(Lx$U#Nv5_?W>8xG}^_^7SINmsv zk~b0cxqdt=g;Uc&R!gUk8kvJJL*Bkgs&*H${*X6DP0sm3ADW$FKh))_9ZS>evhRqV zLMjIzBIZ5|O7`QByA;io-a*YRc_~JvcT%%Uo{CXJJE`damf?n}r*ZE^U&kecYvuQMJ=u+7MOywM#2dHA_Zkl(4ELW$1fy zQh47C{X|ZHmuKkbaw_w`#4Z|n<7GI6F*G!$qHJhPM~wUnt&vj*Hn)`Xl^*FmGV^QH z7UFvo%k*B5v%zH zF7ou-@C^*t^iGn;H)wS?&aTHHf+KigdU2hnSC5BpaaGdwmR?a^iJ<_l#%oY-%gs)p z7eBfnD)BcRe--${ixa-p59AJwK4@kr6Z5R8-mOAkGhxWcaCd!@_7X77IMJ@ca1&vg zK);#f{X+g+;11z4);Iy%eq>ier{XGI1>6m@C6Z;w zM7tj{0wwMOc$-BGMR3Zn%!w&Qgpl(QjFaFPY%hX`4ZEyGQ7AUI$BOoWXB zuM@Zd`N43XIbsMf6K*ivP%2k>?6B8D!*~-8W(t%#s;otD-ha105uAoIo?%cVg>AWT zOy1&5ggrPyiEu&nx`)9@>q&bGyl?fov*0X_Qx-(endvmgehla7W($qPs9>or5&AmM zct*f{<)BN2+Mrkg3gM5oQrl>#lJ9eSjxTp^g zLE+X5%(l|Jp5dj~2*0xsKJ6uZ!b)fpyj}RL^bxbeMOY~e*;_Lx{*bR zDvjUJ0A)NU;@{-J_3wt0sL&<2L0pLppNkAH<%zBhj!{A;?Uev&3gFWawGo^&D}K)* z+hH$h4*W;jULR?0@o;p)Mv1flBti>w!Zbrn!}}I`KJISzj30%j4AC&(kmVl*$&f3w zWtJ>|4r=*A%dnG{0);|L@RODa1BJFI5Yx(p_DC>GAK!N#OVs!D&5rJL)UZ_8Zh6>% zH%#AJ#2K!~acu;APtgkTZAN?!ttwoi)G!q;*a+`25N`L^utJ~+epv7Qvw^|0t_~&^ z6PJu{8@4t2b|8Kru--%RHf5&)+eWeR#O5SU=oBa;x?qBBx4{JusDHztfTb`|Vo&)l z>2>5Qoo^$~aJ`H8qI!@#G4ud3g%>SW#Km4GVn<_dC)47!8X24dN}tO*B6N9DnvMir)@m_+k7M^#ctb>f zC-77hU2ihqpsLV{Sk?ThgDUNwvc;Q#iFccce-e?(?Pa_&j0*&o1oydU1vbPqXj8I{ z61*AL?o|346?i92c*2j$5TgM?w6I_aJm)KC1}IC9lG+x0(>20qg0V3p237Iv;AWw< zfND=;CdkPUo-ofg8a*3?wgmbG#v0AAy;Hl&Xn`YfZ7|O^+MqW+{bGfxxcm!+7R%>= zvP_`-)QfA34j9>6xI%$zn$ZbIg!UOL;S-q~`qM`dtothS9HR#&#kF$0+52EwT-&LP zHTqz6r*@;!56!fb#ck_H&YO%0upytcSo$PU8s?|;DkMRB592POea2D)i;YQeuv1%V z>;<27YPvBDzr?jOzDJB{kl%+=e8$fBHXAcwN?e0j1E5NzV6;eL#L+#J*5QHJ8{3AKwwiN}nBg3px#m=-raZCfA}z-FPfz*NT<#(q757Iqdx zrFCf(v=EYuV=2D$Zk7t+=D0R05LOFeb6lH`wHQYBk2RDqXn)uyv=+F{ zdB)hkNBWW;>AN&aU-JL)jN%}cK+YwUUWeB#U@C!WLW`}^K|LmB5X=>}R=5tgZ-byg zXeZcu+(Qk9ZwFG86D(Z~qjo`Pu_&cIqLhNUggjfJ4@AwTp2i{IjvH^ro#hb75n3$8 z5EwhWE5#7FHm*_nq0lg*%ZBeV;@GELt~yP_;C5l7E6s;mhwZO^H3}jIGW(QTa~kW? z=9!&n`!CUOA5fSPu&FbQiI0H4#58C!U&BYkzPKj_h0*X{T%(wy!B|cy_W{Km4a-Ny zw5u#>ELs6q(smn%je1c5wfGLvF^FVf@MnBk=J2kU|9auyy)DIL@U6@Tqj`=krgR{ODZ<z#2p!)CqZkz*`V;D0+q5mPC!My!PzaUrz`<^bClb!EdLq5O>42fu+(1Cv0PzyyJ*i2Z?Zu)s1{CX%f~ zq#fZZ!}W;$0&@@_wl0J(h4nR7VcUT6I_EP`g>APXo|B!3llfl|XL9|;LFQYbZ#in|VY$GqS zF}9Ac^4nR0=vV?9V(_9&aZ&{{h!y#gSZ@}T(^x8dE2?C%Lbe{Sn=SmAU>~BCBDM_Z zO4`A<2TNERY_XKHJ^XcP4B|^z%4_lBDD)bjr}-B2tYHWEq+l&#qVjuoh<|UJkNgN* z8uMcJ?qFZ?R{!0I<-twtXMR$78Lbc5qI(#V$h?gGWZ#dkTk{+TQT~`8VQp-c;R{3> z*klZ0;u!*6(r8Bl&lhrkfm`@$7j>XDIFyeRH;*>_m{N{Rh3{sb%JQvEi2u#AkeTXl z;R%@030rv7qDT1_PUekptGpVqHMka;KVqOgI9yK&+|I{h8WqOEOME{s#KtO25X=N* zzQR_Q2Y=uv(El9bLJOA$37_H8_g0@YT-s_)6qqS(5mQi!)>7#;l${VQ#K9aT6=Hv% z!Fjz3w}b~^5^We6;kB4%fwY4Uv@Vjag;oB=Qk4i@i4(C@BD`0cES+O35VO3i1@kCk z*!rY2oIhyUEY%4AI_X2jCoK?iOB@Gz_ezyf4Dq(KOsX>+l4?btYDJ$+(nju-P0|L{ zFOxM{-on@UGvvAGLv#61phRwfB3rfW!f;dMbGDQtdvLbA1(~^oHXp2mYm_E= zF${CH$#(!vs}#y-UdVw<>^{UBa7eh{x38{vO=tGa{zF?g@q zBKMacP?yPN>Z9rwKHRz$F=}~UZIh|1ZSv)g_tjr$QlhdfE;gCbd<>VCnJtDj@)(cH zU}ZGCc3gr3@NIq?T#Z-@HyMmzWe*s7!(OO172s#*K8PL|fS4qhbhr-XJh%a|7#>F~ z6<99#%i(Ec#tUW&VzdBez$-}I0AC^2!_SC~U@({AW~SO)DbmR79{Apz&f4L5XF7XH z$U0&fYlW5Oa`pzwGXypx^NP7u$d3u!EAV515~o(_0?P%?h>BCIz{dpc6__rG1j@VE zpjkPLxK{ZXakp{`eli~y7*>fdQ;DCZ65p)0;+Obl^$bk592ZtFkTq;L1#>KAhV#%W z@CAWM)-pr%JWRpUd3r zdf;=AF<$K0hTDfO4IsmC6K))6_tE+PWKddz+l7k{8}5*L9Q2x5iyIv}VkO7q68wHj zM|W-pZmBNjs{Rf4I(?$Wl4$@sj$I6O8Y22b zQ--!5nleL<_O8YYdL~?jzZ$%E)ZnM^xhRjujT@bBL}nhI>j7q84RcUx5U4>IX8pz| zjDB+<0t>NiEqY8x|1dHOF-8r>3WJ7B_dL-sx>K-f{8tGhDN$;yq><=46XyTBQkwoR zrNoj`^w}bL9o&lXsH{3Hr2+GXp{5w2HlB#2I#J;aVb;VXiXz+|4_f`}V5#qf6dq z?OT_s_z_Hh?!I%;@ih(Menou?2lOrKS2!qK)NgR%puznI6cqOl+sv$Y@g*e#YX{Dl zIbc@50Rw9a2h5sPG;qcxwZ+qm3X6-UPcQ0MJac;g!kPhQ{EHm?$5?2mqc{G#1+Dte zQAHDgj{kB;caLO-m%>*3tpvDg{K)aI*Wb6TdC*;>H$O3T?Pb5-KBc{R1^zK$PJ6s5 no^B^O+?ML+4ek0?{aXF_ip$#VE6*u>WpTUf!PBg*pW%N2;r1ri delta 9684 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 S2Y!<1>5{1Xp(~`RSouGk1-v-` diff --git a/dist/convoar.pdb b/dist/convoar.pdb index 3ee9a67ba227658acb76cb2ec9cfcfa66a1ae4c1..c06d491c67a03ac028b5213734684fda504c1eb8 100755 GIT binary patch delta 4975 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