From 0340a1bb6012a97de0e029b26b5c882472749050 Mon Sep 17 00:00:00 2001
From: cloudflight <cloudflight@126.com>
Date: 星期六, 06 七月 2024 10:28:01 +0800
Subject: [PATCH] [增强]添加优化计算库

---
 Hydraulic/Hydro.CodeProvider/Eval.cs | 1075 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 922 insertions(+), 153 deletions(-)

diff --git a/Hydraulic/Hydro.CodeProvider/Eval.cs b/Hydraulic/Hydro.CodeProvider/Eval.cs
index 26c4584..6740cb6 100644
--- a/Hydraulic/Hydro.CodeProvider/Eval.cs
+++ b/Hydraulic/Hydro.CodeProvider/Eval.cs
@@ -12,6 +12,7 @@
 using System.Data;
 using Hydro.CommonBase;
 using System.Text.RegularExpressions;
+using System.Runtime.InteropServices;
 //using System.Security.Cryptography.X509Certificates;
 //using Hydro.ConfigModel;
 
@@ -37,6 +38,7 @@
     [Serializable]
     public class Eval
     {
+        public static bool 鏈湴椤圭洰缂栬瘧=false;
         int paramNum;
         string tempCode=null;
         List<string> refs = new List<string>();
@@ -59,7 +61,7 @@
 
         //static MyEval instance;
         //static List<MethodInfo> mis=new List<MethodInfo>();
-        public static dynamic CompileTotalInstance(EvalTemplate me_temp)
+        public static object CompileTotalInstance(EvalTemplate me_temp)
         {
             
             var code= me_temp.Get_code();
@@ -82,39 +84,58 @@
             }
         }
         /// <summary>
-        /// 鏋勯�犲嚱鏁�
+        /// 鍚堝苟缂栬瘧鏂规硶
         /// </summary>
         /// <param name="CharpCode">鑷敱缂栧啓锛涘弬鏁帮細List<double> paramArray锛岃繑鍥炲�硷細double;</param>
         /// <param name="num">鐢ㄦ潵鍋氬嚱鏁板彲琛屾�ф祴璇曪紝鍙互涓嶅~</param>
-        public Eval(string CharpCode,int num,bool isCommon=false,EvalTemplate me_temp=null)
+        public Eval(string CharpCode, string tempCode ,EvalTemplate me_temp,string DisplayName)
         {
-            if (!isCommon)
+            FunctionIndex = me_temp.Count;
+            CharpCode = TreatHead(CharpCode);
+            me_temp.Add_code(CharpCode, tempCode, DisplayName);
+            isInit = true;
+        }
+        public Eval(string code)
+        {
+            this.tempCode = null;
+            this.code = code;
+            //paramNum = num;
+            tmp = getInstance(true);
+            if (tmp is string)
             {
-                this.tempCode = EvalTemplate.TempCode_function;
-                code = CharpCode;
-                paramNum = num;
-                tmp = getInstance();
-                if (tmp is string)
-                {
-                    isInit = false;
-                    errString = tmp.ToString();
-                    return;
-                }
-
-                Type type = tmp.GetType();
-                mi = type.GetMethod("myMethod");
-                isInit = true;
+                isInit = false;
+                errString = tmp.ToString();
+                return;
             }
-            else
-            {
-                FunctionIndex = me_temp.Count;
-                CharpCode = TreatHead(CharpCode);
-                me_temp.Add_code(CharpCode);
-                isInit = true;
-            }
+            isInit = true;
 
         }
+        /// <summary>
+        /// 鏋勯��
+        /// </summary>
+        /// <param name="CharpCode">鍑芥暟鐨勪唬鐮佹</param>
+        /// <param name="tempCode"></param>
+        public Eval(string CharpCode, string tempCode )
+        {
+            //灏唘sing鍜宨mport鏀惧湪寮�澶�
+            //鐙珛缂栬瘧
+            CharpCode = TreatHead(CharpCode);
+            this.tempCode = tempCode;
+            code = CharpCode;
+            //paramNum = num;
+            tmp = getInstance(false);
+            if (tmp is string)
+            {
+                isInit = false;
+                errString = tmp.ToString();
+                return;
+            }
 
+            Type type = tmp.GetType();
+            mi = type.GetMethod("myMethod");
+            isInit = true;
+
+        }
         private string TreatHead(string CharpCode)
         {
             foreach (var line0 in CharpCode.Split('\n'))
@@ -142,45 +163,7 @@
             return CharpCode;
         }
 
-        public Eval(string code)
-        {
-            this.tempCode = null;
-            this.code = code;
-            //paramNum = num;
-            tmp = getInstance();
-            if (tmp is string)
-            {
-                isInit = false;
-                errString = tmp.ToString();
-                return;
-            }
-            isInit = true;
-
-        }
-        /// <summary>
-        /// 鏋勯��
-        /// </summary>
-        /// <param name="CharpCode">鍑芥暟鐨勪唬鐮佹</param>
-        /// <param name="tempCode"></param>
-        public Eval(string CharpCode, string tempCode=null)
-        {
-            CharpCode = TreatHead(CharpCode);
-            this.tempCode = tempCode;
-            code = CharpCode;
-            //paramNum = num;
-            tmp = getInstance();
-            if (tmp is string)
-            {
-                isInit = false;
-                errString = tmp.ToString();
-                return;
-            }
-
-            Type type = tmp.GetType();
-            mi = type.GetMethod("myMethod");
-            isInit = true;
-
-        }
+      
 
         public List<string> defaultRefs = new List<string>()
         {
@@ -207,7 +190,7 @@
         /// </summary>
         /// <param name="CharpCode"></param>
         /// <returns></returns>
-        private   object getInstance()
+        private   object getInstance(bool isCommon)
         {
             var d = new Dictionary<string, string>() { 
                 { "CompilerVersion", "v4.0" },             
@@ -219,27 +202,56 @@
 
 
             defaultRefs.ForEach(refs => cp.ReferencedAssemblies.Add(refs));
-
-            cp.CompilerOptions = $"/t:library /platform:anycpu /optimize+";
-
-            cp.GenerateInMemory = true;
-
-
             StringBuilder sourceCode = new StringBuilder();
 
             //return paramArray[0] + paramArray[1] * 3 + paramArray[2];
-            if (tempCode!=null)
+            if (tempCode != null)
             {
                 sourceCode.Append(tempCode.Replace("{0}", code));
             }
-            
+
             else
             {
                 sourceCode.Append(code);
             }
+#if DEBUG
+            if (isCommon )
+            {
+                //绂佺敤cp鐨勪紭鍖栫紪璇�
+
+                var path = @"..\..\Hydro\Hydro.DynamicDll\myLib.cs";// files.BasePath + ".cs";
+                                                        //灏唖ourceCode.ToString()杈撳嚭鍒版枃浠�
+                                                        //鍒ゆ柇path鐨勬枃浠跺唴瀹规槸鍚﹀拰sourceCode.ToString()涓�鏍凤紝濡傛灉涓嶄竴鏍峰垯鍐欏叆
+                if (!File.Exists(path) || File.ReadAllText(path) != sourceCode.ToString())
+                {
+                    File.WriteAllText(path, sourceCode.ToString());
+                    if (鏈湴椤圭洰缂栬瘧) return $"鍔ㄦ�佺紪璇戝凡淇敼";
+
+                }
+                if (鏈湴椤圭洰缂栬瘧) { return new CoustomEval.myLib(); }
+            }
+
+            
+            
+
+            
+
+            cp.CompilerOptions = $"/t:library /platform:anycpu /optimize+";
+            cp.GenerateInMemory = true;
+            CompilerResults cr = compiler.CompileAssemblyFromSource(cp, sourceCode.ToString());
+            //cp.GenerateExecutable = true;
+#else
+            cp.CompilerOptions = $"/t:library /platform:anycpu /optimize+";
+            cp.GenerateInMemory = true;
+            CompilerResults cr = compiler.CompileAssemblyFromSource(cp,sourceCode.ToString());
+#endif
+
+
+
+            
             //myCode.Append("}\r\n");
 
-            CompilerResults cr = compiler.CompileAssemblyFromSource(cp, sourceCode.ToString());
+
             if (cr.Errors.Count > 0)
             {
                 string errString = "";
@@ -251,8 +263,9 @@
             }
 
             Assembly assembly = cr.CompiledAssembly;
-
+            
             object tmp = assembly.CreateInstance("CoustomEval.myLib");
+            var files = cr.TempFiles;
 
             return tmp;
             
@@ -271,19 +284,75 @@
         /// <returns></returns>
         public double getResult(List<double> paramArray, List<double[]> patternArray=null,LogicModelParams param=null,GeneticParams gParam=null)
         {
-            double result;
-            result = (double)mi.Invoke(tmp, new object[] { paramArray, patternArray, param, gParam });
-            //result = paramArray.Count();
-            return result;
+#if DEBUG
+            if (gParam.GlobalConfig.Ext.鏈湴椤圭洰缂栬瘧)
+            {
+                return DoTMethod.DoGetResult(tmp, mi, paramArray, patternArray, param, gParam);
+            }
+            else
+            {
+                return (double)mi.Invoke(tmp, new object[] { paramArray, patternArray, param, gParam });
+            }
+#endif
             //return mi;
+            if (mi == null || tmp == null) return 0;
+            try
+            {
+#if DEBUG
+                if (gParam.GlobalConfig.Ext.鏈湴椤圭洰缂栬瘧)
+                {
+                    return DoTMethod.DoGetResult(tmp, mi, paramArray, patternArray, param, gParam);
+                }
+                else
+                {
+                    return (double)mi.Invoke(tmp, new object[] { paramArray, patternArray, param, gParam });
+                }
+                
+#else
+                double r = (double)mi.Invoke(tmp, new object[] { paramArray, patternArray, param, gParam });
+                return r;
+#endif
 
+            }
+            catch (Exception ex)
+            {
+#if DEBUG
+                throw new Exception("琛ㄨ揪寮忛敊璇�");
+#endif
+                return double.NaN;
+            }
         }
+        
 
-        public dynamic ChangeParam(LogicModelParams param, WdnmoParam wParam,GeneticParams gParam,calcParam cParam)
+
+        public double ChangeParam(LogicModelParams param, WdnmoParam wParam,GeneticParams gParam,calcParam cParam)
         {
-            if (mi == null || tmp == null) return null;
-            dynamic r = (mi.Invoke(tmp, new object[] { param, wParam, gParam, cParam }));
-            return r;
+            if (mi == null || tmp == null) return 0;
+
+#if DEBUG
+            if (gParam.GlobalConfig.Ext.鏈湴椤圭洰缂栬瘧)
+            {
+                return DoTMethod.DoChangeParamMethod(tmp, mi, param, wParam, gParam, cParam);
+            }
+            else
+            {
+                return (double)(mi.Invoke(tmp, new object[] { param, wParam, gParam, cParam }));
+            }
+#endif
+
+            try
+            {
+
+                double r = (double)(mi.Invoke(tmp, new object[] { param, wParam, gParam, cParam }));
+                return r;
+
+            }
+            catch (Exception ex)
+            {
+                wParam.ErrorMessage =$"鎵ц棰勫鐞嗘彃浠禰{mi.Name}]鏃舵姤閿欙細{ex.Message}" ;
+                return -1;
+            }
+            
         }
         //public dynamic ChangeResult(LogicModelParams param, WdnmoParam wParam,GeneticParams gParam,List<Result> results)
         //{
@@ -353,6 +422,10 @@
             return null;
             //return mi;
         }
+
+
+
+      
     }
     public class EvalTemplate
     {
@@ -389,11 +462,11 @@
 
 using Hydro.CommonBase;
 ";
-        public static string TempCode_function = CommonUse+ @"
+        public static string TempCode_express = CommonUse+ @"
 namespace CoustomEval
 {           
     [Serializable]
-    class myLib
+    public class myLib
     {
         public double myMethod(List<double> paramArray,List<double[]> patternArray,LogicModelParams param=null,GeneticParams gParam=null)
         {
@@ -406,18 +479,125 @@
 namespace CoustomEval
 {           
     [Serializable]
-    class myLib
+    public class myLib
     {
 {0}
     }
 }";
-        static string functionTemp = @"
+        public static string TempCode_expressCommon = @"
+{2}
         public double TMethod{1}(List<double> paramArray,List<double[]> patternArray,LogicModelParams param=null,GeneticParams gParam=null)
         {
 {0}
         }";
+        public static string TempCode_preToolCommon = @"
+{2}
+        public double TMethod{1}(LogicModelParams param, WdnmoParam wParam,GeneticParams gParam,calcParam cParam)
+        {
+{0}
+        }";
 
-        public static string helpText_Set =
+        public static string TempCode_Set = CommonUse + @"
+namespace CoustomEval
+{           
+    [Serializable]
+    public class myLib
+    {
+        public dict<string,dict> myMethod(dict<string,dict> map_node,dict<string,dict> map_link)
+        {
+{0}
+        }
+    }
+}";
+        public static string TempCode_preTool = CommonUse + @"
+namespace CoustomEval
+{           
+    [Serializable]
+    public class myLib
+    {
+        public object myMethod(LogicModelParams param, WdnmoParam wParam,GeneticParams gParam,calcParam cParam)
+        {
+{0}
+        }
+    }
+}";
+
+
+        List<string> codes_Total = new List<string>();
+
+        public int Count { get { return codes_Total.Count; } }
+
+        public void Add_code(string code,string TempCode,string DisplayName)
+        {
+
+            string Fcode =TempCode.Replace("{0}", code).Replace("{1}",codes_Total.Count.ToString()).Replace("{2}",
+$@"        /// <summary>        
+        /// {DisplayName}        
+        /// </summary>");
+            //瀵逛簬Fcode涓瘡涓�琛岀殑缂╄繘杩涜澶勭悊
+            var arr = Fcode.Replace("\r\n","\n").Split('\n');
+            Regex reg = new Regex(@"\s*(public\s+|private\s+)?\w+\s+\w+\(");
+            
+            for (int i=6; i<arr.Length-1; i++) 
+            {
+                //if (arr[i].StartsWith("        "))
+                //{
+                //    //arr[i] = arr[i].Substring(4);
+                //}
+                //else if (arr[i].StartsWith("    "))
+                //{
+                //    arr[i] = "    " + arr[i];
+                //}
+                //else
+                //鍒ゆ柇鏈鏄惁鏄嚱鏁板畾涔夌殑寮�濮嬶紝浣跨敤姝e垯琛ㄨ揪寮忔潵鍒ゆ柇
+                
+                //if (reg.IsMatch(arr[i]))
+                //{
+                //    if (i>0 && arr[i - 1].Trim()=="}")
+                //    {
+                //        arr[i - 1] = arr[i - 1].Substring(4);
+                //    }
+                //    break;
+                //}
+
+                if (arr[i].Trim() == "====}")//鎵嬪姩缁撴潫鏍囪
+                {
+                    arr[i] = "        }";
+                    //鍒犻櫎鏈�鍚庝竴琛岀殑}
+                    arr[arr.Length - 1] = "";
+                    break;
+                }
+
+
+                {
+                    arr[i] = "            " + arr[i];
+                }
+                
+
+            }
+            Fcode = string.Join("\r\n", arr);
+            codes_Total.Add(Fcode);
+        }
+
+        public string Get_code()
+        {
+            string fCodes= string.Join("\r\n",codes_Total.ToArray());
+            return TempCode_Total.Replace("{0}",fCodes);
+        }
+
+        public void Clear()
+        {
+            codes_Total.Clear();
+        }
+        
+        public static void fi()
+        {
+           
+        }
+   
+
+
+        public static string helpText_Set =>
 @"
 [绫诲瀷璇存槑]
 dict锛氬瓧鍏哥被瀵硅薄锛岀瓑浠蜂簬dictionary<string,object>
@@ -480,7 +660,7 @@
 EN_SETTING
 EN_ENERGY
 ";
-        public static string helpText_Function =
+        public static string helpText_Function =>
 $@"
 =======[瀵硅薄璇存槑]======
 Values锛氱敤鏉ュ瓨鍌ㄥ涓椂鍒荤殑璁$畻缁撴灉鍊硷紝鍗曟椂鍒昏绠楀�硷紝闀垮害涓�1锛涘鏃跺埢璁$畻鏃讹紝闀垮害涓烘椂娈垫暟锛�
@@ -501,9 +681,9 @@
 
 
 绋嬪簭闆嗘鏋舵瀯閫犲涓嬶紝闇�瑕佸~鍐檣{0}}涓殑鍐呭锛�
-{EvalTemplate.TempCode_function}
+{EvalTemplate.TempCode_express}
 ";
-        public static string helpText_Model =
+        public static string helpText_Model =>
 $@"
 浣跨敤""{{鍙橀噺鍚嶇О}}""鏉ュ紩鐢ㄥ彉閲忥紝杩斿洖鐨勬槸double绫诲瀷銆備緥濡�""{{XX娴侀噺}}""寮曠敤鍙橀噺XX娴侀噺锛屽彉閲忕殑鍊煎彇鍐充簬鍙橀噺鐨勬暟鎹潵婧�
 浣跨敤""{{鍙橀噺鍚嶇О[]}}""鏉ュ紩鐢ㄥ彉閲忕殑LogicPattern锛岃繑鍥瀌ouble[]绫诲瀷銆�
@@ -514,78 +694,667 @@
 
 
 绋嬪簭闆嗘鏋舵瀯閫犲涓嬶紝闇�瑕佸~鍐檣{0}}涓殑鍐呭锛�
-{EvalTemplate.TempCode_PreTreat}
+{EvalTemplate.TempCode_preTool}
 ";
 
-        List<string> codes_Total = new List<string>();
+    }
 
-        public int Count { get { return codes_Total.Count; } }
 
-        public void Add_code(string code)
+    public class DoTMethod
+    {
+        public static double DoChangeParamMethod(dynamic lib,MethodInfo mi, LogicModelParams param, WdnmoParam wParam, GeneticParams gParam, calcParam cParam)
         {
-            string Fcode = functionTemp.Replace("{0}", code).Replace("{1}",codes_Total.Count.ToString());
-            //瀵逛簬Fcode涓瘡涓�琛岀殑缂╄繘杩涜澶勭悊
-            var arr = Fcode.Replace("\r\n","\n").Split('\n');
-            for(int i=3; i<arr.Length-1; i++) 
+            string miName = mi.Name;
+#if DEBUG
+#else
+            try
+#endif
             {
-                //if (arr[i].StartsWith("        "))
-                //{
-                //    //arr[i] = arr[i].Substring(4);
-                //}
-                //else if (arr[i].StartsWith("    "))
-                //{
-                //    arr[i] = "    " + arr[i];
-                //}
-                //else
+                switch (miName)
                 {
-                    arr[i] = "            " + arr[i];
+                    case "TMethod0": return lib.TMethod0(param, wParam, gParam, cParam);
+                    case "TMethod1": return lib.TMethod1(param, wParam, gParam, cParam);
+                    case "TMethod2": return lib.TMethod2(param, wParam, gParam, cParam);
+                    case "TMethod3": return lib.TMethod3(param, wParam, gParam, cParam);
+                    case "TMethod4": return lib.TMethod4(param, wParam, gParam, cParam);
+                    case "TMethod5": return lib.TMethod5(param, wParam, gParam, cParam);
+                    case "TMethod6": return lib.TMethod6(param, wParam, gParam, cParam);
+                    case "TMethod7": return lib.TMethod7(param, wParam, gParam, cParam);
+                    case "TMethod8": return lib.TMethod8(param, wParam, gParam, cParam);
+                    case "TMethod9": return lib.TMethod9(param, wParam, gParam, cParam);
+                    case "TMethod10": return lib.TMethod10(param, wParam, gParam, cParam);
+                    case "TMethod11": return lib.TMethod11(param, wParam, gParam, cParam);
+                    case "TMethod12": return lib.TMethod12(param, wParam, gParam, cParam);
+                    case "TMethod13": return lib.TMethod13(param, wParam, gParam, cParam);
+                    case "TMethod14": return lib.TMethod14(param, wParam, gParam, cParam);
+                    case "TMethod15": return lib.TMethod15(param, wParam, gParam, cParam);
+                    case "TMethod16": return lib.TMethod16(param, wParam, gParam, cParam);
+                    case "TMethod17": return lib.TMethod17(param, wParam, gParam, cParam);
+                    case "TMethod18": return lib.TMethod18(param, wParam, gParam, cParam);
+                    case "TMethod19": return lib.TMethod19(param, wParam, gParam, cParam);
+                    case "TMethod20": return lib.TMethod20(param, wParam, gParam, cParam);
+                    case "TMethod21": return lib.TMethod21(param, wParam, gParam, cParam);
+                    case "TMethod22": return lib.TMethod22(param, wParam, gParam, cParam);
+                    case "TMethod23": return lib.TMethod23(param, wParam, gParam, cParam);
+                    case "TMethod24": return lib.TMethod24(param, wParam, gParam, cParam);
+                    case "TMethod25": return lib.TMethod25(param, wParam, gParam, cParam);
+                    case "TMethod26": return lib.TMethod26(param, wParam, gParam, cParam);
+                    case "TMethod27": return lib.TMethod27(param, wParam, gParam, cParam);
+                    case "TMethod28": return lib.TMethod28(param, wParam, gParam, cParam);
+                    case "TMethod29": return lib.TMethod29(param, wParam, gParam, cParam);
+                    case "TMethod30": return lib.TMethod30(param, wParam, gParam, cParam);
+                    case "TMethod31": return lib.TMethod31(param, wParam, gParam, cParam);
+                    case "TMethod32": return lib.TMethod32(param, wParam, gParam, cParam);
+                    case "TMethod33": return lib.TMethod33(param, wParam, gParam, cParam);
+                    case "TMethod34": return lib.TMethod34(param, wParam, gParam, cParam);
+                    case "TMethod35": return lib.TMethod35(param, wParam, gParam, cParam);
+                    case "TMethod36": return lib.TMethod36(param, wParam, gParam, cParam);
+                    case "TMethod37": return lib.TMethod37(param, wParam, gParam, cParam);
+                    case "TMethod38": return lib.TMethod38(param, wParam, gParam, cParam);
+                    case "TMethod39": return lib.TMethod39(param, wParam, gParam, cParam);
+                    case "TMethod40": return lib.TMethod40(param, wParam, gParam, cParam);
+                    case "TMethod41": return lib.TMethod41(param, wParam, gParam, cParam);
+                    case "TMethod42": return lib.TMethod42(param, wParam, gParam, cParam);
+                    case "TMethod43": return lib.TMethod43(param, wParam, gParam, cParam);
+                    case "TMethod44": return lib.TMethod44(param, wParam, gParam, cParam);
+                    case "TMethod45": return lib.TMethod45(param, wParam, gParam, cParam);
+                    case "TMethod46": return lib.TMethod46(param, wParam, gParam, cParam);
+                    case "TMethod47": return lib.TMethod47(param, wParam, gParam, cParam);
+                    case "TMethod48": return lib.TMethod48(param, wParam, gParam, cParam);
+                    case "TMethod49": return lib.TMethod49(param, wParam, gParam, cParam);
+                    case "TMethod50": return lib.TMethod50(param, wParam, gParam, cParam);
+                    case "TMethod51": return lib.TMethod51(param, wParam, gParam, cParam);
+                    case "TMethod52": return lib.TMethod52(param, wParam, gParam, cParam);
+                    case "TMethod53": return lib.TMethod53(param, wParam, gParam, cParam);
+                    case "TMethod54": return lib.TMethod54(param, wParam, gParam, cParam);
+                    case "TMethod55": return lib.TMethod55(param, wParam, gParam, cParam);
+                    case "TMethod56": return lib.TMethod56(param, wParam, gParam, cParam);
+                    case "TMethod57": return lib.TMethod57(param, wParam, gParam, cParam);
+                    case "TMethod58": return lib.TMethod58(param, wParam, gParam, cParam);
+                    case "TMethod59": return lib.TMethod59(param, wParam, gParam, cParam);
+                    case "TMethod60": return lib.TMethod60(param, wParam, gParam, cParam);
+                    case "TMethod61": return lib.TMethod61(param, wParam, gParam, cParam);
+                    case "TMethod62": return lib.TMethod62(param, wParam, gParam, cParam);
+                    case "TMethod63": return lib.TMethod63(param, wParam, gParam, cParam);
+                    case "TMethod64": return lib.TMethod64(param, wParam, gParam, cParam);
+                    case "TMethod65": return lib.TMethod65(param, wParam, gParam, cParam);
+                    case "TMethod66": return lib.TMethod66(param, wParam, gParam, cParam);
+                    case "TMethod67": return lib.TMethod67(param, wParam, gParam, cParam);
+                    case "TMethod68": return lib.TMethod68(param, wParam, gParam, cParam);
+                    case "TMethod69": return lib.TMethod69(param, wParam, gParam, cParam);
+                    case "TMethod70": return lib.TMethod70(param, wParam, gParam, cParam);
+                    case "TMethod71": return lib.TMethod71(param, wParam, gParam, cParam);
+                    case "TMethod72": return lib.TMethod72(param, wParam, gParam, cParam);
+                    case "TMethod73": return lib.TMethod73(param, wParam, gParam, cParam);
+                    case "TMethod74": return lib.TMethod74(param, wParam, gParam, cParam);
+                    case "TMethod75": return lib.TMethod75(param, wParam, gParam, cParam);
+                    case "TMethod76": return lib.TMethod76(param, wParam, gParam, cParam);
+                    case "TMethod77": return lib.TMethod77(param, wParam, gParam, cParam);
+                    case "TMethod78": return lib.TMethod78(param, wParam, gParam, cParam);
+                    case "TMethod79": return lib.TMethod79(param, wParam, gParam, cParam);
+                    case "TMethod80": return lib.TMethod80(param, wParam, gParam, cParam);
+                    case "TMethod81": return lib.TMethod81(param, wParam, gParam, cParam);
+                    case "TMethod82": return lib.TMethod82(param, wParam, gParam, cParam);
+                    case "TMethod83": return lib.TMethod83(param, wParam, gParam, cParam);
+                    case "TMethod84": return lib.TMethod84(param, wParam, gParam, cParam);
+                    case "TMethod85": return lib.TMethod85(param, wParam, gParam, cParam);
+                    case "TMethod86": return lib.TMethod86(param, wParam, gParam, cParam);
+                    case "TMethod87": return lib.TMethod87(param, wParam, gParam, cParam);
+                    case "TMethod88": return lib.TMethod88(param, wParam, gParam, cParam);
+                    case "TMethod89": return lib.TMethod89(param, wParam, gParam, cParam);
+                    case "TMethod90": return lib.TMethod90(param, wParam, gParam, cParam);
+                    case "TMethod91": return lib.TMethod91(param, wParam, gParam, cParam);
+                    case "TMethod92": return lib.TMethod92(param, wParam, gParam, cParam);
+                    case "TMethod93": return lib.TMethod93(param, wParam, gParam, cParam);
+                    case "TMethod94": return lib.TMethod94(param, wParam, gParam, cParam);
+                    case "TMethod95": return lib.TMethod95(param, wParam, gParam, cParam);
+                    case "TMethod96": return lib.TMethod96(param, wParam, gParam, cParam);
+                    case "TMethod97": return lib.TMethod97(param, wParam, gParam, cParam);
+                    case "TMethod98": return lib.TMethod98(param, wParam, gParam, cParam);
+                    case "TMethod99": return lib.TMethod99(param, wParam, gParam, cParam);
+                    case "TMethod100": return lib.TMethod100(param, wParam, gParam, cParam);
+                    case "TMethod101": return lib.TMethod101(param, wParam, gParam, cParam);
+                    case "TMethod102": return lib.TMethod102(param, wParam, gParam, cParam);
+                    case "TMethod103": return lib.TMethod103(param, wParam, gParam, cParam);
+                    case "TMethod104": return lib.TMethod104(param, wParam, gParam, cParam);
+                    case "TMethod105": return lib.TMethod105(param, wParam, gParam, cParam);
+                    case "TMethod106": return lib.TMethod106(param, wParam, gParam, cParam);
+                    case "TMethod107": return lib.TMethod107(param, wParam, gParam, cParam);
+                    case "TMethod108": return lib.TMethod108(param, wParam, gParam, cParam);
+                    case "TMethod109": return lib.TMethod109(param, wParam, gParam, cParam);
+                    case "TMethod110": return lib.TMethod110(param, wParam, gParam, cParam);
+                    case "TMethod111": return lib.TMethod111(param, wParam, gParam, cParam);
+                    case "TMethod112": return lib.TMethod112(param, wParam, gParam, cParam);
+                    case "TMethod113": return lib.TMethod113(param, wParam, gParam, cParam);
+                    case "TMethod114": return lib.TMethod114(param, wParam, gParam, cParam);
+                    case "TMethod115": return lib.TMethod115(param, wParam, gParam, cParam);
+                    case "TMethod116": return lib.TMethod116(param, wParam, gParam, cParam);
+                    case "TMethod117": return lib.TMethod117(param, wParam, gParam, cParam);
+                    case "TMethod118": return lib.TMethod118(param, wParam, gParam, cParam);
+                    case "TMethod119": return lib.TMethod119(param, wParam, gParam, cParam);
+                    case "TMethod120": return lib.TMethod120(param, wParam, gParam, cParam);
+                    case "TMethod121": return lib.TMethod121(param, wParam, gParam, cParam);
+                    case "TMethod122": return lib.TMethod122(param, wParam, gParam, cParam);
+                    case "TMethod123": return lib.TMethod123(param, wParam, gParam, cParam);
+                    case "TMethod124": return lib.TMethod124(param, wParam, gParam, cParam);
+                    case "TMethod125": return lib.TMethod125(param, wParam, gParam, cParam);
+                    case "TMethod126": return lib.TMethod126(param, wParam, gParam, cParam);
+                    case "TMethod127": return lib.TMethod127(param, wParam, gParam, cParam);
+                    case "TMethod128": return lib.TMethod128(param, wParam, gParam, cParam);
+                    case "TMethod129": return lib.TMethod129(param, wParam, gParam, cParam);
+                    case "TMethod130": return lib.TMethod130(param, wParam, gParam, cParam);
+                    case "TMethod131": return lib.TMethod131(param, wParam, gParam, cParam);
+                    case "TMethod132": return lib.TMethod132(param, wParam, gParam, cParam);
+                    case "TMethod133": return lib.TMethod133(param, wParam, gParam, cParam);
+                    case "TMethod134": return lib.TMethod134(param, wParam, gParam, cParam);
+                    case "TMethod135": return lib.TMethod135(param, wParam, gParam, cParam);
+                    case "TMethod136": return lib.TMethod136(param, wParam, gParam, cParam);
+                    case "TMethod137": return lib.TMethod137(param, wParam, gParam, cParam);
+                    case "TMethod138": return lib.TMethod138(param, wParam, gParam, cParam);
+                    case "TMethod139": return lib.TMethod139(param, wParam, gParam, cParam);
+                    case "TMethod140": return lib.TMethod140(param, wParam, gParam, cParam);
+                    case "TMethod141": return lib.TMethod141(param, wParam, gParam, cParam);
+                    case "TMethod142": return lib.TMethod142(param, wParam, gParam, cParam);
+                    case "TMethod143": return lib.TMethod143(param, wParam, gParam, cParam);
+                    case "TMethod144": return lib.TMethod144(param, wParam, gParam, cParam);
+                    case "TMethod145": return lib.TMethod145(param, wParam, gParam, cParam);
+                    case "TMethod146": return lib.TMethod146(param, wParam, gParam, cParam);
+                    case "TMethod147": return lib.TMethod147(param, wParam, gParam, cParam);
+                    case "TMethod148": return lib.TMethod148(param, wParam, gParam, cParam);
+                    case "TMethod149": return lib.TMethod149(param, wParam, gParam, cParam);
+                    case "TMethod150": return lib.TMethod150(param, wParam, gParam, cParam);
+                    case "TMethod151": return lib.TMethod151(param, wParam, gParam, cParam);
+                    case "TMethod152": return lib.TMethod152(param, wParam, gParam, cParam);
+                    case "TMethod153": return lib.TMethod153(param, wParam, gParam, cParam);
+                    case "TMethod154": return lib.TMethod154(param, wParam, gParam, cParam);
+                    case "TMethod155": return lib.TMethod155(param, wParam, gParam, cParam);
+                    case "TMethod156": return lib.TMethod156(param, wParam, gParam, cParam);
+                    case "TMethod157": return lib.TMethod157(param, wParam, gParam, cParam);
+                    case "TMethod158": return lib.TMethod158(param, wParam, gParam, cParam);
+                    case "TMethod159": return lib.TMethod159(param, wParam, gParam, cParam);
+                    case "TMethod160": return lib.TMethod160(param, wParam, gParam, cParam);
+                    case "TMethod161": return lib.TMethod161(param, wParam, gParam, cParam);
+                    case "TMethod162": return lib.TMethod162(param, wParam, gParam, cParam);
+                    case "TMethod163": return lib.TMethod163(param, wParam, gParam, cParam);
+                    case "TMethod164": return lib.TMethod164(param, wParam, gParam, cParam);
+                    case "TMethod165": return lib.TMethod165(param, wParam, gParam, cParam);
+                    case "TMethod166": return lib.TMethod166(param, wParam, gParam, cParam);
+                    case "TMethod167": return lib.TMethod167(param, wParam, gParam, cParam);
+                    case "TMethod168": return lib.TMethod168(param, wParam, gParam, cParam);
+                    case "TMethod169": return lib.TMethod169(param, wParam, gParam, cParam);
+                    case "TMethod170": return lib.TMethod170(param, wParam, gParam, cParam);
+                    case "TMethod171": return lib.TMethod171(param, wParam, gParam, cParam);
+                    case "TMethod172": return lib.TMethod172(param, wParam, gParam, cParam);
+                    case "TMethod173": return lib.TMethod173(param, wParam, gParam, cParam);
+                    case "TMethod174": return lib.TMethod174(param, wParam, gParam, cParam);
+                    case "TMethod175": return lib.TMethod175(param, wParam, gParam, cParam);
+                    case "TMethod176": return lib.TMethod176(param, wParam, gParam, cParam);
+                    case "TMethod177": return lib.TMethod177(param, wParam, gParam, cParam);
+                    case "TMethod178": return lib.TMethod178(param, wParam, gParam, cParam);
+                    case "TMethod179": return lib.TMethod179(param, wParam, gParam, cParam);
+                    case "TMethod180": return lib.TMethod180(param, wParam, gParam, cParam);
+                    case "TMethod181": return lib.TMethod181(param, wParam, gParam, cParam);
+                    case "TMethod182": return lib.TMethod182(param, wParam, gParam, cParam);
+                    case "TMethod183": return lib.TMethod183(param, wParam, gParam, cParam);
+                    case "TMethod184": return lib.TMethod184(param, wParam, gParam, cParam);
+                    case "TMethod185": return lib.TMethod185(param, wParam, gParam, cParam);
+                    case "TMethod186": return lib.TMethod186(param, wParam, gParam, cParam);
+                    case "TMethod187": return lib.TMethod187(param, wParam, gParam, cParam);
+                    case "TMethod188": return lib.TMethod188(param, wParam, gParam, cParam);
+                    case "TMethod189": return lib.TMethod189(param, wParam, gParam, cParam);
+                    case "TMethod190": return lib.TMethod190(param, wParam, gParam, cParam);
+                    case "TMethod191": return lib.TMethod191(param, wParam, gParam, cParam);
+                    case "TMethod192": return lib.TMethod192(param, wParam, gParam, cParam);
+                    case "TMethod193": return lib.TMethod193(param, wParam, gParam, cParam);
+                    case "TMethod194": return lib.TMethod194(param, wParam, gParam, cParam);
+                    case "TMethod195": return lib.TMethod195(param, wParam, gParam, cParam);
+                    case "TMethod196": return lib.TMethod196(param, wParam, gParam, cParam);
+                    case "TMethod197": return lib.TMethod197(param, wParam, gParam, cParam);
+                    case "TMethod198": return lib.TMethod198(param, wParam, gParam, cParam);
+                    case "TMethod199": return lib.TMethod199(param, wParam, gParam, cParam);
+                    case "TMethod200": return lib.TMethod200(param, wParam, gParam, cParam);
+                    case "TMethod201": return lib.TMethod201(param, wParam, gParam, cParam);
+                    case "TMethod202": return lib.TMethod202(param, wParam, gParam, cParam);
+                    case "TMethod203": return lib.TMethod203(param, wParam, gParam, cParam);
+                    case "TMethod204": return lib.TMethod204(param, wParam, gParam, cParam);
+                    case "TMethod205": return lib.TMethod205(param, wParam, gParam, cParam);
+                    case "TMethod206": return lib.TMethod206(param, wParam, gParam, cParam);
+                    case "TMethod207": return lib.TMethod207(param, wParam, gParam, cParam);
+                    case "TMethod208": return lib.TMethod208(param, wParam, gParam, cParam);
+                    case "TMethod209": return lib.TMethod209(param, wParam, gParam, cParam);
+                    case "TMethod210": return lib.TMethod210(param, wParam, gParam, cParam);
+                    case "TMethod211": return lib.TMethod211(param, wParam, gParam, cParam);
+                    case "TMethod212": return lib.TMethod212(param, wParam, gParam, cParam);
+                    case "TMethod213": return lib.TMethod213(param, wParam, gParam, cParam);
+                    case "TMethod214": return lib.TMethod214(param, wParam, gParam, cParam);
+                    case "TMethod215": return lib.TMethod215(param, wParam, gParam, cParam);
+                    case "TMethod216": return lib.TMethod216(param, wParam, gParam, cParam);
+                    case "TMethod217": return lib.TMethod217(param, wParam, gParam, cParam);
+                    case "TMethod218": return lib.TMethod218(param, wParam, gParam, cParam);
+                    case "TMethod219": return lib.TMethod219(param, wParam, gParam, cParam);
+                    case "TMethod220": return lib.TMethod220(param, wParam, gParam, cParam);
+                    case "TMethod221": return lib.TMethod221(param, wParam, gParam, cParam);
+                    case "TMethod222": return lib.TMethod222(param, wParam, gParam, cParam);
+                    case "TMethod223": return lib.TMethod223(param, wParam, gParam, cParam);
+                    case "TMethod224": return lib.TMethod224(param, wParam, gParam, cParam);
+                    case "TMethod225": return lib.TMethod225(param, wParam, gParam, cParam);
+                    case "TMethod226": return lib.TMethod226(param, wParam, gParam, cParam);
+                    case "TMethod227": return lib.TMethod227(param, wParam, gParam, cParam);
+                    case "TMethod228": return lib.TMethod228(param, wParam, gParam, cParam);
+                    case "TMethod229": return lib.TMethod229(param, wParam, gParam, cParam);
+                    case "TMethod230": return lib.TMethod230(param, wParam, gParam, cParam);
+                    case "TMethod231": return lib.TMethod231(param, wParam, gParam, cParam);
+                    case "TMethod232": return lib.TMethod232(param, wParam, gParam, cParam);
+                    case "TMethod233": return lib.TMethod233(param, wParam, gParam, cParam);
+                    case "TMethod234": return lib.TMethod234(param, wParam, gParam, cParam);
+                    case "TMethod235": return lib.TMethod235(param, wParam, gParam, cParam);
+                    case "TMethod236": return lib.TMethod236(param, wParam, gParam, cParam);
+                    case "TMethod237": return lib.TMethod237(param, wParam, gParam, cParam);
+                    case "TMethod238": return lib.TMethod238(param, wParam, gParam, cParam);
+                    case "TMethod239": return lib.TMethod239(param, wParam, gParam, cParam);
+                    case "TMethod240": return lib.TMethod240(param, wParam, gParam, cParam);
+                    case "TMethod241": return lib.TMethod241(param, wParam, gParam, cParam);
+                    case "TMethod242": return lib.TMethod242(param, wParam, gParam, cParam);
+                    case "TMethod243": return lib.TMethod243(param, wParam, gParam, cParam);
+                    case "TMethod244": return lib.TMethod244(param, wParam, gParam, cParam);
+                    case "TMethod245": return lib.TMethod245(param, wParam, gParam, cParam);
+                    case "TMethod246": return lib.TMethod246(param, wParam, gParam, cParam);
+                    case "TMethod247": return lib.TMethod247(param, wParam, gParam, cParam);
+                    case "TMethod248": return lib.TMethod248(param, wParam, gParam, cParam);
+                    case "TMethod249": return lib.TMethod249(param, wParam, gParam, cParam);
+                    case "TMethod250": return lib.TMethod250(param, wParam, gParam, cParam);
+                    case "TMethod251": return lib.TMethod251(param, wParam, gParam, cParam);
+                    case "TMethod252": return lib.TMethod252(param, wParam, gParam, cParam);
+                    case "TMethod253": return lib.TMethod253(param, wParam, gParam, cParam);
+                    case "TMethod254": return lib.TMethod254(param, wParam, gParam, cParam);
+                    case "TMethod255": return lib.TMethod255(param, wParam, gParam, cParam);
+                    case "TMethod256": return lib.TMethod256(param, wParam, gParam, cParam);
+                    case "TMethod257": return lib.TMethod257(param, wParam, gParam, cParam);
+                    case "TMethod258": return lib.TMethod258(param, wParam, gParam, cParam);
+                    case "TMethod259": return lib.TMethod259(param, wParam, gParam, cParam);
+                    case "TMethod260": return lib.TMethod260(param, wParam, gParam, cParam);
+                    case "TMethod261": return lib.TMethod261(param, wParam, gParam, cParam);
+                    case "TMethod262": return lib.TMethod262(param, wParam, gParam, cParam);
+                    case "TMethod263": return lib.TMethod263(param, wParam, gParam, cParam);
+                    case "TMethod264": return lib.TMethod264(param, wParam, gParam, cParam);
+                    case "TMethod265": return lib.TMethod265(param, wParam, gParam, cParam);
+                    case "TMethod266": return lib.TMethod266(param, wParam, gParam, cParam);
+                    case "TMethod267": return lib.TMethod267(param, wParam, gParam, cParam);
+                    case "TMethod268": return lib.TMethod268(param, wParam, gParam, cParam);
+                    case "TMethod269": return lib.TMethod269(param, wParam, gParam, cParam);
+                    case "TMethod270": return lib.TMethod270(param, wParam, gParam, cParam);
+                    case "TMethod271": return lib.TMethod271(param, wParam, gParam, cParam);
+                    case "TMethod272": return lib.TMethod272(param, wParam, gParam, cParam);
+                    case "TMethod273": return lib.TMethod273(param, wParam, gParam, cParam);
+                    case "TMethod274": return lib.TMethod274(param, wParam, gParam, cParam);
+                    case "TMethod275": return lib.TMethod275(param, wParam, gParam, cParam);
+                    case "TMethod276": return lib.TMethod276(param, wParam, gParam, cParam);
+                    case "TMethod277": return lib.TMethod277(param, wParam, gParam, cParam);
+                    case "TMethod278": return lib.TMethod278(param, wParam, gParam, cParam);
+                    case "TMethod279": return lib.TMethod279(param, wParam, gParam, cParam);
+                    case "TMethod280": return lib.TMethod280(param, wParam, gParam, cParam);
+                    case "TMethod281": return lib.TMethod281(param, wParam, gParam, cParam);
+                    case "TMethod282": return lib.TMethod282(param, wParam, gParam, cParam);
+                    case "TMethod283": return lib.TMethod283(param, wParam, gParam, cParam);
+                    case "TMethod284": return lib.TMethod284(param, wParam, gParam, cParam);
+                    case "TMethod285": return lib.TMethod285(param, wParam, gParam, cParam);
+                    case "TMethod286": return lib.TMethod286(param, wParam, gParam, cParam);
+                    case "TMethod287": return lib.TMethod287(param, wParam, gParam, cParam);
+                    case "TMethod288": return lib.TMethod288(param, wParam, gParam, cParam);
+                    case "TMethod289": return lib.TMethod289(param, wParam, gParam, cParam);
+                    case "TMethod290": return lib.TMethod290(param, wParam, gParam, cParam);
+                    case "TMethod291": return lib.TMethod291(param, wParam, gParam, cParam);
+                    case "TMethod292": return lib.TMethod292(param, wParam, gParam, cParam);
+                    case "TMethod293": return lib.TMethod293(param, wParam, gParam, cParam);
+                    case "TMethod294": return lib.TMethod294(param, wParam, gParam, cParam);
+                    case "TMethod295": return lib.TMethod295(param, wParam, gParam, cParam);
+                    case "TMethod296": return lib.TMethod296(param, wParam, gParam, cParam);
+                    case "TMethod297": return lib.TMethod297(param, wParam, gParam, cParam);
+                    case "TMethod298": return lib.TMethod298(param, wParam, gParam, cParam);
+                    case "TMethod299": return lib.TMethod299(param, wParam, gParam, cParam);
+                    case "TMethod300": return lib.TMethod300(param, wParam, gParam, cParam);
+
+                }
+
+            }
+#if DEBUG
+#else
+            catch (Exception ex)
+            {
+                var x = ex.Message;
+                //throw (ex);
+                
+            }
+#endif
+
+
+            return -999;
+        }
+        public static double DoGetResult(dynamic lib, MethodInfo mi, List<double> paramArray, List<double[]> patternArray = null, LogicModelParams param = null, GeneticParams gParam = null)
+        {
+            string miName = mi.Name;
+#if DEBUG
+#else
+            try
+#endif
+            
+            {
+                switch (miName)
+                {
+                    case "TMethod0": return lib.TMethod0(paramArray, patternArray, param, gParam);
+                    case "TMethod1": return lib.TMethod1(paramArray, patternArray, param, gParam);
+                    case "TMethod2": return lib.TMethod2(paramArray, patternArray, param, gParam);
+                    case "TMethod3": return lib.TMethod3(paramArray, patternArray, param, gParam);
+                    case "TMethod4": return lib.TMethod4(paramArray, patternArray, param, gParam);
+                    case "TMethod5": return lib.TMethod5(paramArray, patternArray, param, gParam);
+                    case "TMethod6": return lib.TMethod6(paramArray, patternArray, param, gParam);
+                    case "TMethod7": return lib.TMethod7(paramArray, patternArray, param, gParam);
+                    case "TMethod8": return lib.TMethod8(paramArray, patternArray, param, gParam);
+                    case "TMethod9": return lib.TMethod9(paramArray, patternArray, param, gParam);
+                    case "TMethod10": return lib.TMethod10(paramArray, patternArray, param, gParam);
+                    case "TMethod11": return lib.TMethod11(paramArray, patternArray, param, gParam);
+                    case "TMethod12": return lib.TMethod12(paramArray, patternArray, param, gParam);
+                    case "TMethod13": return lib.TMethod13(paramArray, patternArray, param, gParam);
+                    case "TMethod14": return lib.TMethod14(paramArray, patternArray, param, gParam);
+                    case "TMethod15": return lib.TMethod15(paramArray, patternArray, param, gParam);
+                    case "TMethod16": return lib.TMethod16(paramArray, patternArray, param, gParam);
+                    case "TMethod17": return lib.TMethod17(paramArray, patternArray, param, gParam);
+                    case "TMethod18": return lib.TMethod18(paramArray, patternArray, param, gParam);
+                    case "TMethod19": return lib.TMethod19(paramArray, patternArray, param, gParam);
+                    case "TMethod20": return lib.TMethod20(paramArray, patternArray, param, gParam);
+                    case "TMethod21": return lib.TMethod21(paramArray, patternArray, param, gParam);
+                    case "TMethod22": return lib.TMethod22(paramArray, patternArray, param, gParam);
+                    case "TMethod23": return lib.TMethod23(paramArray, patternArray, param, gParam);
+                    case "TMethod24": return lib.TMethod24(paramArray, patternArray, param, gParam);
+                    case "TMethod25": return lib.TMethod25(paramArray, patternArray, param, gParam);
+                    case "TMethod26": return lib.TMethod26(paramArray, patternArray, param, gParam);
+                    case "TMethod27": return lib.TMethod27(paramArray, patternArray, param, gParam);
+                    case "TMethod28": return lib.TMethod28(paramArray, patternArray, param, gParam);
+                    case "TMethod29": return lib.TMethod29(paramArray, patternArray, param, gParam);
+                    case "TMethod30": return lib.TMethod30(paramArray, patternArray, param, gParam);
+                    case "TMethod31": return lib.TMethod31(paramArray, patternArray, param, gParam);
+                    case "TMethod32": return lib.TMethod32(paramArray, patternArray, param, gParam);
+                    case "TMethod33": return lib.TMethod33(paramArray, patternArray, param, gParam);
+                    case "TMethod34": return lib.TMethod34(paramArray, patternArray, param, gParam);
+                    case "TMethod35": return lib.TMethod35(paramArray, patternArray, param, gParam);
+                    case "TMethod36": return lib.TMethod36(paramArray, patternArray, param, gParam);
+                    case "TMethod37": return lib.TMethod37(paramArray, patternArray, param, gParam);
+                    case "TMethod38": return lib.TMethod38(paramArray, patternArray, param, gParam);
+                    case "TMethod39": return lib.TMethod39(paramArray, patternArray, param, gParam);
+                    case "TMethod40": return lib.TMethod40(paramArray, patternArray, param, gParam);
+                    case "TMethod41": return lib.TMethod41(paramArray, patternArray, param, gParam);
+                    case "TMethod42": return lib.TMethod42(paramArray, patternArray, param, gParam);
+                    case "TMethod43": return lib.TMethod43(paramArray, patternArray, param, gParam);
+                    case "TMethod44": return lib.TMethod44(paramArray, patternArray, param, gParam);
+                    case "TMethod45": return lib.TMethod45(paramArray, patternArray, param, gParam);
+                    case "TMethod46": return lib.TMethod46(paramArray, patternArray, param, gParam);
+                    case "TMethod47": return lib.TMethod47(paramArray, patternArray, param, gParam);
+                    case "TMethod48": return lib.TMethod48(paramArray, patternArray, param, gParam);
+                    case "TMethod49": return lib.TMethod49(paramArray, patternArray, param, gParam);
+                    case "TMethod50": return lib.TMethod50(paramArray, patternArray, param, gParam);
+                    case "TMethod51": return lib.TMethod51(paramArray, patternArray, param, gParam);
+                    case "TMethod52": return lib.TMethod52(paramArray, patternArray, param, gParam);
+                    case "TMethod53": return lib.TMethod53(paramArray, patternArray, param, gParam);
+                    case "TMethod54": return lib.TMethod54(paramArray, patternArray, param, gParam);
+                    case "TMethod55": return lib.TMethod55(paramArray, patternArray, param, gParam);
+                    case "TMethod56": return lib.TMethod56(paramArray, patternArray, param, gParam);
+                    case "TMethod57": return lib.TMethod57(paramArray, patternArray, param, gParam);
+                    case "TMethod58": return lib.TMethod58(paramArray, patternArray, param, gParam);
+                    case "TMethod59": return lib.TMethod59(paramArray, patternArray, param, gParam);
+                    case "TMethod60": return lib.TMethod60(paramArray, patternArray, param, gParam);
+                    case "TMethod61": return lib.TMethod61(paramArray, patternArray, param, gParam);
+                    case "TMethod62": return lib.TMethod62(paramArray, patternArray, param, gParam);
+                    case "TMethod63": return lib.TMethod63(paramArray, patternArray, param, gParam);
+                    case "TMethod64": return lib.TMethod64(paramArray, patternArray, param, gParam);
+                    case "TMethod65": return lib.TMethod65(paramArray, patternArray, param, gParam);
+                    case "TMethod66": return lib.TMethod66(paramArray, patternArray, param, gParam);
+                    case "TMethod67": return lib.TMethod67(paramArray, patternArray, param, gParam);
+                    case "TMethod68": return lib.TMethod68(paramArray, patternArray, param, gParam);
+                    case "TMethod69": return lib.TMethod69(paramArray, patternArray, param, gParam);
+                    case "TMethod70": return lib.TMethod70(paramArray, patternArray, param, gParam);
+                    case "TMethod71": return lib.TMethod71(paramArray, patternArray, param, gParam);
+                    case "TMethod72": return lib.TMethod72(paramArray, patternArray, param, gParam);
+                    case "TMethod73": return lib.TMethod73(paramArray, patternArray, param, gParam);
+                    case "TMethod74": return lib.TMethod74(paramArray, patternArray, param, gParam);
+                    case "TMethod75": return lib.TMethod75(paramArray, patternArray, param, gParam);
+                    case "TMethod76": return lib.TMethod76(paramArray, patternArray, param, gParam);
+                    case "TMethod77": return lib.TMethod77(paramArray, patternArray, param, gParam);
+                    case "TMethod78": return lib.TMethod78(paramArray, patternArray, param, gParam);
+                    case "TMethod79": return lib.TMethod79(paramArray, patternArray, param, gParam);
+                    case "TMethod80": return lib.TMethod80(paramArray, patternArray, param, gParam);
+                    case "TMethod81": return lib.TMethod81(paramArray, patternArray, param, gParam);
+                    case "TMethod82": return lib.TMethod82(paramArray, patternArray, param, gParam);
+                    case "TMethod83": return lib.TMethod83(paramArray, patternArray, param, gParam);
+                    case "TMethod84": return lib.TMethod84(paramArray, patternArray, param, gParam);
+                    case "TMethod85": return lib.TMethod85(paramArray, patternArray, param, gParam);
+                    case "TMethod86": return lib.TMethod86(paramArray, patternArray, param, gParam);
+                    case "TMethod87": return lib.TMethod87(paramArray, patternArray, param, gParam);
+                    case "TMethod88": return lib.TMethod88(paramArray, patternArray, param, gParam);
+                    case "TMethod89": return lib.TMethod89(paramArray, patternArray, param, gParam);
+                    case "TMethod90": return lib.TMethod90(paramArray, patternArray, param, gParam);
+                    case "TMethod91": return lib.TMethod91(paramArray, patternArray, param, gParam);
+                    case "TMethod92": return lib.TMethod92(paramArray, patternArray, param, gParam);
+                    case "TMethod93": return lib.TMethod93(paramArray, patternArray, param, gParam);
+                    case "TMethod94": return lib.TMethod94(paramArray, patternArray, param, gParam);
+                    case "TMethod95": return lib.TMethod95(paramArray, patternArray, param, gParam);
+                    case "TMethod96": return lib.TMethod96(paramArray, patternArray, param, gParam);
+                    case "TMethod97": return lib.TMethod97(paramArray, patternArray, param, gParam);
+                    case "TMethod98": return lib.TMethod98(paramArray, patternArray, param, gParam);
+                    case "TMethod99": return lib.TMethod99(paramArray, patternArray, param, gParam);
+                    case "TMethod100": return lib.TMethod100(paramArray, patternArray, param, gParam);
+                    case "TMethod101": return lib.TMethod101(paramArray, patternArray, param, gParam);
+                    case "TMethod102": return lib.TMethod102(paramArray, patternArray, param, gParam);
+                    case "TMethod103": return lib.TMethod103(paramArray, patternArray, param, gParam);
+                    case "TMethod104": return lib.TMethod104(paramArray, patternArray, param, gParam);
+                    case "TMethod105": return lib.TMethod105(paramArray, patternArray, param, gParam);
+                    case "TMethod106": return lib.TMethod106(paramArray, patternArray, param, gParam);
+                    case "TMethod107": return lib.TMethod107(paramArray, patternArray, param, gParam);
+                    case "TMethod108": return lib.TMethod108(paramArray, patternArray, param, gParam);
+                    case "TMethod109": return lib.TMethod109(paramArray, patternArray, param, gParam);
+                    case "TMethod110": return lib.TMethod110(paramArray, patternArray, param, gParam);
+                    case "TMethod111": return lib.TMethod111(paramArray, patternArray, param, gParam);
+                    case "TMethod112": return lib.TMethod112(paramArray, patternArray, param, gParam);
+                    case "TMethod113": return lib.TMethod113(paramArray, patternArray, param, gParam);
+                    case "TMethod114": return lib.TMethod114(paramArray, patternArray, param, gParam);
+                    case "TMethod115": return lib.TMethod115(paramArray, patternArray, param, gParam);
+                    case "TMethod116": return lib.TMethod116(paramArray, patternArray, param, gParam);
+                    case "TMethod117": return lib.TMethod117(paramArray, patternArray, param, gParam);
+                    case "TMethod118": return lib.TMethod118(paramArray, patternArray, param, gParam);
+                    case "TMethod119": return lib.TMethod119(paramArray, patternArray, param, gParam);
+                    case "TMethod120": return lib.TMethod120(paramArray, patternArray, param, gParam);
+                    case "TMethod121": return lib.TMethod121(paramArray, patternArray, param, gParam);
+                    case "TMethod122": return lib.TMethod122(paramArray, patternArray, param, gParam);
+                    case "TMethod123": return lib.TMethod123(paramArray, patternArray, param, gParam);
+                    case "TMethod124": return lib.TMethod124(paramArray, patternArray, param, gParam);
+                    case "TMethod125": return lib.TMethod125(paramArray, patternArray, param, gParam);
+                    case "TMethod126": return lib.TMethod126(paramArray, patternArray, param, gParam);
+                    case "TMethod127": return lib.TMethod127(paramArray, patternArray, param, gParam);
+                    case "TMethod128": return lib.TMethod128(paramArray, patternArray, param, gParam);
+                    case "TMethod129": return lib.TMethod129(paramArray, patternArray, param, gParam);
+                    case "TMethod130": return lib.TMethod130(paramArray, patternArray, param, gParam);
+                    case "TMethod131": return lib.TMethod131(paramArray, patternArray, param, gParam);
+                    case "TMethod132": return lib.TMethod132(paramArray, patternArray, param, gParam);
+                    case "TMethod133": return lib.TMethod133(paramArray, patternArray, param, gParam);
+                    case "TMethod134": return lib.TMethod134(paramArray, patternArray, param, gParam);
+                    case "TMethod135": return lib.TMethod135(paramArray, patternArray, param, gParam);
+                    case "TMethod136": return lib.TMethod136(paramArray, patternArray, param, gParam);
+                    case "TMethod137": return lib.TMethod137(paramArray, patternArray, param, gParam);
+                    case "TMethod138": return lib.TMethod138(paramArray, patternArray, param, gParam);
+                    case "TMethod139": return lib.TMethod139(paramArray, patternArray, param, gParam);
+                    case "TMethod140": return lib.TMethod140(paramArray, patternArray, param, gParam);
+                    case "TMethod141": return lib.TMethod141(paramArray, patternArray, param, gParam);
+                    case "TMethod142": return lib.TMethod142(paramArray, patternArray, param, gParam);
+                    case "TMethod143": return lib.TMethod143(paramArray, patternArray, param, gParam);
+                    case "TMethod144": return lib.TMethod144(paramArray, patternArray, param, gParam);
+                    case "TMethod145": return lib.TMethod145(paramArray, patternArray, param, gParam);
+                    case "TMethod146": return lib.TMethod146(paramArray, patternArray, param, gParam);
+                    case "TMethod147": return lib.TMethod147(paramArray, patternArray, param, gParam);
+                    case "TMethod148": return lib.TMethod148(paramArray, patternArray, param, gParam);
+                    case "TMethod149": return lib.TMethod149(paramArray, patternArray, param, gParam);
+                    case "TMethod150": return lib.TMethod150(paramArray, patternArray, param, gParam);
+                    case "TMethod151": return lib.TMethod151(paramArray, patternArray, param, gParam);
+                    case "TMethod152": return lib.TMethod152(paramArray, patternArray, param, gParam);
+                    case "TMethod153": return lib.TMethod153(paramArray, patternArray, param, gParam);
+                    case "TMethod154": return lib.TMethod154(paramArray, patternArray, param, gParam);
+                    case "TMethod155": return lib.TMethod155(paramArray, patternArray, param, gParam);
+                    case "TMethod156": return lib.TMethod156(paramArray, patternArray, param, gParam);
+                    case "TMethod157": return lib.TMethod157(paramArray, patternArray, param, gParam);
+                    case "TMethod158": return lib.TMethod158(paramArray, patternArray, param, gParam);
+                    case "TMethod159": return lib.TMethod159(paramArray, patternArray, param, gParam);
+                    case "TMethod160": return lib.TMethod160(paramArray, patternArray, param, gParam);
+                    case "TMethod161": return lib.TMethod161(paramArray, patternArray, param, gParam);
+                    case "TMethod162": return lib.TMethod162(paramArray, patternArray, param, gParam);
+                    case "TMethod163": return lib.TMethod163(paramArray, patternArray, param, gParam);
+                    case "TMethod164": return lib.TMethod164(paramArray, patternArray, param, gParam);
+                    case "TMethod165": return lib.TMethod165(paramArray, patternArray, param, gParam);
+                    case "TMethod166": return lib.TMethod166(paramArray, patternArray, param, gParam);
+                    case "TMethod167": return lib.TMethod167(paramArray, patternArray, param, gParam);
+                    case "TMethod168": return lib.TMethod168(paramArray, patternArray, param, gParam);
+                    case "TMethod169": return lib.TMethod169(paramArray, patternArray, param, gParam);
+                    case "TMethod170": return lib.TMethod170(paramArray, patternArray, param, gParam);
+                    case "TMethod171": return lib.TMethod171(paramArray, patternArray, param, gParam);
+                    case "TMethod172": return lib.TMethod172(paramArray, patternArray, param, gParam);
+                    case "TMethod173": return lib.TMethod173(paramArray, patternArray, param, gParam);
+                    case "TMethod174": return lib.TMethod174(paramArray, patternArray, param, gParam);
+                    case "TMethod175": return lib.TMethod175(paramArray, patternArray, param, gParam);
+                    case "TMethod176": return lib.TMethod176(paramArray, patternArray, param, gParam);
+                    case "TMethod177": return lib.TMethod177(paramArray, patternArray, param, gParam);
+                    case "TMethod178": return lib.TMethod178(paramArray, patternArray, param, gParam);
+                    case "TMethod179": return lib.TMethod179(paramArray, patternArray, param, gParam);
+                    case "TMethod180": return lib.TMethod180(paramArray, patternArray, param, gParam);
+                    case "TMethod181": return lib.TMethod181(paramArray, patternArray, param, gParam);
+                    case "TMethod182": return lib.TMethod182(paramArray, patternArray, param, gParam);
+                    case "TMethod183": return lib.TMethod183(paramArray, patternArray, param, gParam);
+                    case "TMethod184": return lib.TMethod184(paramArray, patternArray, param, gParam);
+                    case "TMethod185": return lib.TMethod185(paramArray, patternArray, param, gParam);
+                    case "TMethod186": return lib.TMethod186(paramArray, patternArray, param, gParam);
+                    case "TMethod187": return lib.TMethod187(paramArray, patternArray, param, gParam);
+                    case "TMethod188": return lib.TMethod188(paramArray, patternArray, param, gParam);
+                    case "TMethod189": return lib.TMethod189(paramArray, patternArray, param, gParam);
+                    case "TMethod190": return lib.TMethod190(paramArray, patternArray, param, gParam);
+                    case "TMethod191": return lib.TMethod191(paramArray, patternArray, param, gParam);
+                    case "TMethod192": return lib.TMethod192(paramArray, patternArray, param, gParam);
+                    case "TMethod193": return lib.TMethod193(paramArray, patternArray, param, gParam);
+                    case "TMethod194": return lib.TMethod194(paramArray, patternArray, param, gParam);
+                    case "TMethod195": return lib.TMethod195(paramArray, patternArray, param, gParam);
+                    case "TMethod196": return lib.TMethod196(paramArray, patternArray, param, gParam);
+                    case "TMethod197": return lib.TMethod197(paramArray, patternArray, param, gParam);
+                    case "TMethod198": return lib.TMethod198(paramArray, patternArray, param, gParam);
+                    case "TMethod199": return lib.TMethod199(paramArray, patternArray, param, gParam);
+                    case "TMethod200": return lib.TMethod200(paramArray, patternArray, param, gParam);
+                    case "TMethod201": return lib.TMethod201(paramArray, patternArray, param, gParam);
+                    case "TMethod202": return lib.TMethod202(paramArray, patternArray, param, gParam);
+                    case "TMethod203": return lib.TMethod203(paramArray, patternArray, param, gParam);
+                    case "TMethod204": return lib.TMethod204(paramArray, patternArray, param, gParam);
+                    case "TMethod205": return lib.TMethod205(paramArray, patternArray, param, gParam);
+                    case "TMethod206": return lib.TMethod206(paramArray, patternArray, param, gParam);
+                    case "TMethod207": return lib.TMethod207(paramArray, patternArray, param, gParam);
+                    case "TMethod208": return lib.TMethod208(paramArray, patternArray, param, gParam);
+                    case "TMethod209": return lib.TMethod209(paramArray, patternArray, param, gParam);
+                    case "TMethod210": return lib.TMethod210(paramArray, patternArray, param, gParam);
+                    case "TMethod211": return lib.TMethod211(paramArray, patternArray, param, gParam);
+                    case "TMethod212": return lib.TMethod212(paramArray, patternArray, param, gParam);
+                    case "TMethod213": return lib.TMethod213(paramArray, patternArray, param, gParam);
+                    case "TMethod214": return lib.TMethod214(paramArray, patternArray, param, gParam);
+                    case "TMethod215": return lib.TMethod215(paramArray, patternArray, param, gParam);
+                    case "TMethod216": return lib.TMethod216(paramArray, patternArray, param, gParam);
+                    case "TMethod217": return lib.TMethod217(paramArray, patternArray, param, gParam);
+                    case "TMethod218": return lib.TMethod218(paramArray, patternArray, param, gParam);
+                    case "TMethod219": return lib.TMethod219(paramArray, patternArray, param, gParam);
+                    case "TMethod220": return lib.TMethod220(paramArray, patternArray, param, gParam);
+                    case "TMethod221": return lib.TMethod221(paramArray, patternArray, param, gParam);
+                    case "TMethod222": return lib.TMethod222(paramArray, patternArray, param, gParam);
+                    case "TMethod223": return lib.TMethod223(paramArray, patternArray, param, gParam);
+                    case "TMethod224": return lib.TMethod224(paramArray, patternArray, param, gParam);
+                    case "TMethod225": return lib.TMethod225(paramArray, patternArray, param, gParam);
+                    case "TMethod226": return lib.TMethod226(paramArray, patternArray, param, gParam);
+                    case "TMethod227": return lib.TMethod227(paramArray, patternArray, param, gParam);
+                    case "TMethod228": return lib.TMethod228(paramArray, patternArray, param, gParam);
+                    case "TMethod229": return lib.TMethod229(paramArray, patternArray, param, gParam);
+                    case "TMethod230": return lib.TMethod230(paramArray, patternArray, param, gParam);
+                    case "TMethod231": return lib.TMethod231(paramArray, patternArray, param, gParam);
+                    case "TMethod232": return lib.TMethod232(paramArray, patternArray, param, gParam);
+                    case "TMethod233": return lib.TMethod233(paramArray, patternArray, param, gParam);
+                    case "TMethod234": return lib.TMethod234(paramArray, patternArray, param, gParam);
+                    case "TMethod235": return lib.TMethod235(paramArray, patternArray, param, gParam);
+                    case "TMethod236": return lib.TMethod236(paramArray, patternArray, param, gParam);
+                    case "TMethod237": return lib.TMethod237(paramArray, patternArray, param, gParam);
+                    case "TMethod238": return lib.TMethod238(paramArray, patternArray, param, gParam);
+                    case "TMethod239": return lib.TMethod239(paramArray, patternArray, param, gParam);
+                    case "TMethod240": return lib.TMethod240(paramArray, patternArray, param, gParam);
+                    case "TMethod241": return lib.TMethod241(paramArray, patternArray, param, gParam);
+                    case "TMethod242": return lib.TMethod242(paramArray, patternArray, param, gParam);
+                    case "TMethod243": return lib.TMethod243(paramArray, patternArray, param, gParam);
+                    case "TMethod244": return lib.TMethod244(paramArray, patternArray, param, gParam);
+                    case "TMethod245": return lib.TMethod245(paramArray, patternArray, param, gParam);
+                    case "TMethod246": return lib.TMethod246(paramArray, patternArray, param, gParam);
+                    case "TMethod247": return lib.TMethod247(paramArray, patternArray, param, gParam);
+                    case "TMethod248": return lib.TMethod248(paramArray, patternArray, param, gParam);
+                    case "TMethod249": return lib.TMethod249(paramArray, patternArray, param, gParam);
+                    case "TMethod250": return lib.TMethod250(paramArray, patternArray, param, gParam);
+                    case "TMethod251": return lib.TMethod251(paramArray, patternArray, param, gParam);
+                    case "TMethod252": return lib.TMethod252(paramArray, patternArray, param, gParam);
+                    case "TMethod253": return lib.TMethod253(paramArray, patternArray, param, gParam);
+                    case "TMethod254": return lib.TMethod254(paramArray, patternArray, param, gParam);
+                    case "TMethod255": return lib.TMethod255(paramArray, patternArray, param, gParam);
+                    case "TMethod256": return lib.TMethod256(paramArray, patternArray, param, gParam);
+                    case "TMethod257": return lib.TMethod257(paramArray, patternArray, param, gParam);
+                    case "TMethod258": return lib.TMethod258(paramArray, patternArray, param, gParam);
+                    case "TMethod259": return lib.TMethod259(paramArray, patternArray, param, gParam);
+                    case "TMethod260": return lib.TMethod260(paramArray, patternArray, param, gParam);
+                    case "TMethod261": return lib.TMethod261(paramArray, patternArray, param, gParam);
+                    case "TMethod262": return lib.TMethod262(paramArray, patternArray, param, gParam);
+                    case "TMethod263": return lib.TMethod263(paramArray, patternArray, param, gParam);
+                    case "TMethod264": return lib.TMethod264(paramArray, patternArray, param, gParam);
+                    case "TMethod265": return lib.TMethod265(paramArray, patternArray, param, gParam);
+                    case "TMethod266": return lib.TMethod266(paramArray, patternArray, param, gParam);
+                    case "TMethod267": return lib.TMethod267(paramArray, patternArray, param, gParam);
+                    case "TMethod268": return lib.TMethod268(paramArray, patternArray, param, gParam);
+                    case "TMethod269": return lib.TMethod269(paramArray, patternArray, param, gParam);
+                    case "TMethod270": return lib.TMethod270(paramArray, patternArray, param, gParam);
+                    case "TMethod271": return lib.TMethod271(paramArray, patternArray, param, gParam);
+                    case "TMethod272": return lib.TMethod272(paramArray, patternArray, param, gParam);
+                    case "TMethod273": return lib.TMethod273(paramArray, patternArray, param, gParam);
+                    case "TMethod274": return lib.TMethod274(paramArray, patternArray, param, gParam);
+                    case "TMethod275": return lib.TMethod275(paramArray, patternArray, param, gParam);
+                    case "TMethod276": return lib.TMethod276(paramArray, patternArray, param, gParam);
+                    case "TMethod277": return lib.TMethod277(paramArray, patternArray, param, gParam);
+                    case "TMethod278": return lib.TMethod278(paramArray, patternArray, param, gParam);
+                    case "TMethod279": return lib.TMethod279(paramArray, patternArray, param, gParam);
+                    case "TMethod280": return lib.TMethod280(paramArray, patternArray, param, gParam);
+                    case "TMethod281": return lib.TMethod281(paramArray, patternArray, param, gParam);
+                    case "TMethod282": return lib.TMethod282(paramArray, patternArray, param, gParam);
+                    case "TMethod283": return lib.TMethod283(paramArray, patternArray, param, gParam);
+                    case "TMethod284": return lib.TMethod284(paramArray, patternArray, param, gParam);
+                    case "TMethod285": return lib.TMethod285(paramArray, patternArray, param, gParam);
+                    case "TMethod286": return lib.TMethod286(paramArray, patternArray, param, gParam);
+                    case "TMethod287": return lib.TMethod287(paramArray, patternArray, param, gParam);
+                    case "TMethod288": return lib.TMethod288(paramArray, patternArray, param, gParam);
+                    case "TMethod289": return lib.TMethod289(paramArray, patternArray, param, gParam);
+                    case "TMethod290": return lib.TMethod290(paramArray, patternArray, param, gParam);
+                    case "TMethod291": return lib.TMethod291(paramArray, patternArray, param, gParam);
+                    case "TMethod292": return lib.TMethod292(paramArray, patternArray, param, gParam);
+                    case "TMethod293": return lib.TMethod293(paramArray, patternArray, param, gParam);
+                    case "TMethod294": return lib.TMethod294(paramArray, patternArray, param, gParam);
+                    case "TMethod295": return lib.TMethod295(paramArray, patternArray, param, gParam);
+                    case "TMethod296": return lib.TMethod296(paramArray, patternArray, param, gParam);
+                    case "TMethod297": return lib.TMethod297(paramArray, patternArray, param, gParam);
+                    case "TMethod298": return lib.TMethod298(paramArray, patternArray, param, gParam);
+                    case "TMethod299": return lib.TMethod299(paramArray, patternArray, param, gParam);
+                    case "TMethod300": return lib.TMethod300(paramArray, patternArray, param, gParam);
+
                 }
             }
-            Fcode = string.Join("\r\n", arr);
-            codes_Total.Add(Fcode);
-        }
+#if DEBUG
+#else
+            catch (Exception ex)
+            {
+                var x = ex.Message;
+                //throw (ex);
+            }
+#endif
 
-        public string Get_code()
-        {
-            string fCodes= string.Join("\r\n",codes_Total.ToArray());
-            return TempCode_Total.Replace("{0}",fCodes);
-        }
-
-        public void Clear()
-        {
-            codes_Total.Clear();
-        }
-        public static void fi()
-        {
-           
-        }
-     
-        public static string TempCode_Set = CommonUse+ @"
-namespace CoustomEval
-{           
-    [Serializable]
-    class myLib
-    {
-        public dict<string,dict> myMethod(dict<string,dict> map_node,dict<string,dict> map_link)
-        {
-            {0}
+            return -999;
         }
     }
-}
-";
-        public static string TempCode_PreTreat = CommonUse+@"
-namespace CoustomEval
-{           
-    [Serializable]
-    class myLib
-    {
-        public object myMethod(LogicModelParams param, WdnmoParam wParam,GeneticParams gParam,calcParam cParam)
-        {
-            {0}
-        }
-    }
-}
-";
-    }
-
 }
\ No newline at end of file

--
Gitblit v1.9.3