Browse Source

Merge branch 'push-dev-filter' into push-bug-504

louhr 5 years ago
parent
commit
7a47e85f5e
23 changed files with 152 additions and 421455 deletions
  1. 14 14
      bigdata-web/src/main/java/org/diagbot/bigdata/common/ApplicationCacheUtil.java
  2. 2 10
      bigdata-web/src/main/java/org/diagbot/bigdata/work/ResultDataProxy.java
  3. 0 899
      bigdata-web/src/main/resources/bigdata_diag_2_dept.dict
  4. 0 25357
      bigdata-web/src/main/resources/bigdata_sex_age_filter.dict
  5. 29 5
      common-push/src/main/java/org/diagbot/common/push/cache/CacheFileManager.java
  6. 24 20
      common-push/src/main/java/org/diagbot/common/push/filter/ClassifyDiag.java
  7. 61 77
      graph/src/main/java/org/diagbot/graph/util/CacheUtil.java
  8. 0 899
      graph/src/main/resources/graph_diag_2_dept.dict
  9. 0 597
      graph/src/main/resources/graph_diag_classify.dict
  10. 0 25
      graph/src/main/resources/graph_diag_normalize.dict
  11. 0 21314
      graph/src/main/resources/graph_sex_age_filter.dict
  12. 0 1204
      graph/src/main/resources/graph_vital_convert.dict
  13. 12 1
      nlp/src/main/java/org/diagbot/nlp/participle/cfg/DefaultConfig.java
  14. 1 3
      nlp/src/main/java/org/diagbot/nlp/util/NlpCache.java
  15. 0 1
      nlp/src/main/resources/chronic.dict
  16. 0 0
      nlp/src/main/resources/classify.dict
  17. 3 0
      nlp/src/main/resources/nlp.properties
  18. 0 3748
      nlp/src/main/resources/push-tc.dict
  19. 0 79
      nlp/src/main/resources/relation.dict
  20. 0 17122
      nlp/src/main/resources/synonym.dict
  21. 0 350079
      nlp/src/main/resources/tc.dict
  22. 5 0
      push-web/src/main/java/org/diagbot/push/config/InterceptorConfig.java
  23. 1 1
      push-web/src/main/java/org/diagbot/push/controller/CacheFileManagerController.java

+ 14 - 14
bigdata-web/src/main/java/org/diagbot/bigdata/common/ApplicationCacheUtil.java

@@ -22,8 +22,8 @@ public class ApplicationCacheUtil {
     public static Map<String, String> standard_info_classify_map = null;
     //树形结构存储大小类
     public static Map<String, NlpCache.Node> standard_info_type_tree_map = null;
-    //体征衍射
-    public static Map<String, String> doc_result_mapping_vital_map = null;
+//    体征衍射
+//    public static Map<String, String> doc_result_mapping_vital_map = null;
     //诊断科室衍射
     public static Map<String, String> doc_result_mapping_diag_map = null;
     //特征性别 年龄过滤等
@@ -52,17 +52,17 @@ public class ApplicationCacheUtil {
         return standard_info_type_tree_map;
     }
 
-    /**
-     * 現已無用
-     * @return
-     */
-    public static Map<String, String> getDoc_result_mapping_vital_map() {
-        if (doc_result_mapping_vital_map == null) {
-            Configuration configuration = new DefaultConfig();
-            doc_result_mapping_vital_map = configuration.loadMapDict("doc_result_mapping_vital.dict");
-        }
-        return doc_result_mapping_vital_map;
-    }
+//    /**
+//     * 現已無用
+//     * @return
+//     */
+//    public static Map<String, String> getDoc_result_mapping_vital_map() {
+//        if (doc_result_mapping_vital_map == null) {
+//            Configuration configuration = new DefaultConfig();
+//            doc_result_mapping_vital_map = configuration.loadMapDict("doc_result_mapping_vital.dict");
+//        }
+//        return doc_result_mapping_vital_map;
+//    }
 
     public static Map<String, String> getDoc_result_mapping_diag_map() {
         if (doc_result_mapping_diag_map == null) {
@@ -129,7 +129,7 @@ public class ApplicationCacheUtil {
     public static Map<String, List<Map<String, String>>> createKl_result_mapping_standword_map() {
         kl_result_mapping_standword_map = new HashMap<>();
         Configuration configuration = new DefaultConfig();
-        List<String> fileContents = configuration.readFileContents("kl_result_mapping_standword.dict");
+        List<String> fileContents = configuration.readFileContents("bigdata_value_analyze.dict");
         List<Map<String, String>> standWordObjValList = null;
         Map<String, String> standWordObjVal = null;
         String operation = ">=|≥|>|大于|>|超过|<=|≤|<|小于|<|少于";

+ 2 - 10
bigdata-web/src/main/java/org/diagbot/bigdata/work/ResultDataProxy.java

@@ -30,7 +30,7 @@ public class ResultDataProxy {
         DecimalFormat df = new DecimalFormat("0.####");
         List<FeatureRate> featureList = new ArrayList<>(10);
 
-        Map<String, String> resultMappingVitalMap = ApplicationCacheUtil.getDoc_result_mapping_vital_map();
+//        Map<String, String> resultMappingVitalMap = ApplicationCacheUtil.getDoc_result_mapping_vital_map();
         Map<String, String> resultMappingDiagMap = ApplicationCacheUtil.getDoc_result_mapping_diag_map();
         Map<String, Map<String, ResultMappingFilter>> resultMappingFilterMap = ApplicationCacheUtil.getDoc_result_mapping_filter_map();
         for (Map.Entry<String, Float> entry : featuresOrderList) {
@@ -58,15 +58,7 @@ public class ResultDataProxy {
             }
             FeatureRate featureRate = new FeatureRate();
             featureRate.setRate(df.format(entry.getValue()));
-            if (FeatureType.parse(featureType) == FeatureType.VITAL) {
-                if (StringUtils.isEmpty(resultMappingVitalMap.get(entry.getKey()))) {
-                    continue;
-                } else {
-                    featureRate.setFeatureName(resultMappingVitalMap.get(entry.getKey()));
-                }
-            } else {
-                featureRate.setFeatureName(entry.getKey());
-            }
+            featureRate.setFeatureName(entry.getKey());
 
             if (FeatureType.parse(featureType) == FeatureType.DIAG) {
                 featureRate.setFeatureName(entry.getKey());

+ 0 - 899
bigdata-web/src/main/resources/bigdata_diag_2_dept.dict

@@ -1,899 +0,0 @@
-iWoXV4ISKfEEe8p5BEeGMXcP2fi9nVPgIVOt7Mod6Ptttw/uxcjHEZNGAwm1dTlh
-13BZUxQKtR8khcL82U/gR6xTxv6q3ER1T31+8tdUysA=
-13BZUxQKtR8Ee8p5BEeGMbPfb65AhyohrCW1qrlOrIXnCFVQR0+OhAr8ipqZuWdE
-13BZUxQKtR8Ee8p5BEeGMSgN76O6SVyHRQ5SX/rmfCbnCFVQR0+OhAr8ipqZuWdE
-13BZUxQKtR8Ee8p5BEeGMTGSeaWwHrO28DsYuNRP2xrzo/C7RYPhiQ==
-13BZUxQKtR8Ee8p5BEeGMfy0mrZa9NlMB+04xUYH/mDnCFVQR0+OhAr8ipqZuWdE
-13BZUxQKtR8Ee8p5BEeGMVDAaNQ6vkAnhf6kv3fA54PnCFVQR0+OhAr8ipqZuWdE
-13BZUxQKtR9x+KllafTRWVzBEC3KTBfP57Coq4ynowFKYBGd+lGX+w==
-UBb+CN3DpdXV4GVpSzaFCvOj8LtFg+GJ
-RwfaZMa+tcJkNVRINR3RaHpmvKAVeqCzRPB+qQ9rdKU=
-aExuyB28XAR0Cy32pByLQhO3DcTvO3TKaXBl6wZu5y0=
-Rq6VzCfzICn9+r0EMibpOfOj8LtFg+GJ
-tjTBHQOg4JZWgHE3Y5h4coemfMvU1eABfER6RG1klik=
-LPekO1Vw5kgU8eAB+2lgKlX9mMU2d4g0sKnW7jmERCH1rLaDeGOQwfOj8LtFg+GJ
-LPekO1Vw5khtd8WtUYdrl/znlgPCB6PWstNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-iB2sYRaVfwL9+r0EMibpOfOj8LtFg+GJ
-XQT3SHWafIA+AOWtZC88XC+F4lgKG0ZK9Z7CDt8UKI/v3eyoY7qwoXAul+X1XFtHy4x6AQXguls=
-GG71AOESABIJbTP+AlIFufOj8LtFg+GJ
-GOs/j0/PHelIkRc7oSI9szKnOEpdVQkO9RrMjQw02M5PfX7y11TKwA==
-GOs/j0/PHelIkRc7oSI9szlHsXZwP1nWl2UMsW6I5bP1rLaDeGOQwfOj8LtFg+GJ
-GOs/j0/PHelIkRc7oSI9s97P1cGs5sNK6P3MMb1JPeD1rLaDeGOQwfOj8LtFg+GJ
-GOs/j0/PHelIkRc7oSI9s94er8ZM74QIQtrkkMzshHxxqUIOvKQ/dwLm/EKxWl15
-cDwUoESXFL5MSclGunBL8q4kLpO4b0WCN5m+Gay4mDc=
-XTjWGwZLoH1auJLtJZplqtSXQVOsJCee52mHitj3oNVPfX7y11TKwA==
-is24Ye5iddmK0fcjJ8eyd1F5djzFc1mvfywvCjeRl/T0fQTyIpclWA==
-KbKku7ucQ39uoije31Jd6MgDR9Ol2aU1fER6RG1klik=
-XeNsCvsSABj/1Gi6u346QEpgEZ36UZf7
-u9VShjNiQLaEh57YJ81oCvOj8LtFg+GJ
-8eEwHEIyR3CEqKNFUcAAUEpgEZ36UZf7
-oRqu1B35G5r4prflBcOI/gfkmii5BuyZu7hkhPiE07E=
-oRqu1B35G5oQ+WWu+Cc9mPRovAvBdywmstNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-0jJMm1O24VdIuBTSfWq8fz8zYxNh6qQehkzsWr2fJvRpwcfsxZv+X0iU8imBtrfgy4x6AQXguls=
-NhbO6gkLwqjse810KERveORV0q3Q8qjoy4x6AQXguls=
-NhbO6gkLwqh9giU0ougSyIemfMvU1eABfER6RG1klik=
-IOQii0cLb7Ss+U6SBrCCGp+9Oh29Slfk52mHitj3oNVPfX7y11TKwA==
-enu6avlk5YpYqoBsat2Ybx/ps2807HA2y4x6AQXguls=
-0sR5tvt5nTkiJp0gJWIG2B/ps2807HA2y4x6AQXguls=
-ike6hX0KY4854R3RmIhG3R/ps2807HA2y4x6AQXguls=
-DOXrtCrKcXSzbDHIoU2htR/ps2807HA2y4x6AQXguls=
-DOXrtCrKcXQc6kU7pH5cVR/ps2807HA2y4x6AQXguls=
-MzrnRYF60fg1zeORSYfFpEoPmHAI4936
-yWaySNFE8XgC0uinfuVoYjBrQoRmQwfSteq+RIooEghPfX7y11TKwA==
-MdIN8DMpaEBWgHE3Y5h4cvjGqlRxOSxuKSotK/v0yek=
-Oed05VhE/J8vZEYJ+Qgwo0oPmHAI4936
-95YPV7nX9j+yPJEuX5FlVfOj8LtFg+GJ
-BGL6SBJINCSqv45Aj5fuOh/ps2807HA2y4x6AQXguls=
-ZNQWeAaprLh+Mdl3Bm+eOB/ps2807HA2y4x6AQXguls=
-Ys4HY1VWiNz9qI/NdGuLvvjGqlRxOSxuKSotK/v0yek=
-E4hT7N3ytDu1bH4gSInujULj3Su8S5w3fywvCjeRl/S0FrgmK9pWPA==
-7mHfSs2ahWgivWPiUX9ug78AMGVXssqQKJZKOfgg6nHJOvnYyXNsXpC4iPbph9qG
-ltfmaY06UmH2YvmikroYRkv4Vh0daqQJrFPG/qrcRHVPfX7y11TKwA==
-xbg5pYjlVtXGgDHUkbi1wK7QEgPGBpLdgymuBa+h7SiRwhQGBKdSp/Oj8LtFg+GJ
-Zlo5WYcgZKpNiiBTZZbq1WJoTAS/DAZEoEfwk8+pyRbnsKirjKejAUpgEZ36UZf7
-vPPRWcr4YTeEfvwh8gqO7i9GjCJsfm4xPCHvXzw0mit1CazNTv2aYfOj8LtFg+GJ
-fHK6mvJmg/7/1Gi6u346QEpgEZ36UZf7
-qptm92sSB/VYvUmCs9IY3d7SGlS0JFuG
-qtlkwnn27ACw8mEQdSz4E/Oj8LtFg+GJ
-Vrbj4RFVsOeGcy6xPYEwTveK6RLf4xMTy4x6AQXguls=
-laj6iFmYc2DeUidRm/poynAul+X1XFtHy4x6AQXguls=
-uQzgoFGJdFjdnbhWjFDvHwT1tZsHfiBBy4x6AQXguls=
-fMSADmyw8MVv8ZabwFNKANsp4Ism9gRNy4x6AQXguls=
-Sg9tt2ZNeu5v8ZabwFNKANsp4Ism9gRNy4x6AQXguls=
-1MVvkAG3zx1v8ZabwFNKANsp4Ism9gRNy4x6AQXguls=
-tFWoa+Fa+E0KvpYijT+IHq4kLpO4b0WCN5m+Gay4mDc=
-HlBPgXjTWrPCE5zi/CJYd0pgEZ36UZf7
-qJyJhtR9wYUzXDr7TYw7uQLm/EKxWl15
-5HgQz9bhZBZ5fyp8g0MqBZBwNuVVH6sq
-W+uRpV2VRGfOEs8faPFbVJBwNuVVH6sq
-+1VsVSgMX3q9FppGobofTZBwNuVVH6sq
-fd7Rpt8fWBifF7pIg0uQua1TqwiA1pre
-fd7Rpt8fWBhUIm92l3iN1WDAN33wOHW6wQ7cCkCUWxZPfX7y11TKwA==
-ZtiRChQSkznxJj5V9utwy0iU8imBtrfgy4x6AQXguls=
-1+jfA83l+iKF3SayFI67uACfONS6MbsgaXBl6wZu5y0=
-/VqIfk4vfde3JvJ2Xjm9/UpgEZ36UZf7
-3OUUj3H9vbXrfZHpEMHYgUpgEZ36UZf7
-3OUUj3H9vbXwozCIpR0nf0pgEZ36UZf7
-JWBCcm2oC0hlDmn3A9bDMCZCeN6biUcBg1jh8Ox1rhV6m9y9N5DCvA==
-5whVUEdPjoQERGJhJJb/jB5IdN0yf6TrxJjmGu3AgzrnsKirjKejAUpgEZ36UZf7
-pJZkFr1uMau5/0FNXste6fOj8LtFg+GJ
-jnQH++UTPaibBHhE3G65A5OH5JCq/vF1WhqDUIQPQGM=
-de3O9146cmULVgLDGsMmxnAul+X1XFtHy4x6AQXguls=
-9UQdU1VIB/Ztd8WtUYdrl/znlgPCB6PWstNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-zybTgccYrmvNZmfBQxP52cK0z0/1KIV28K8JgXllPjTLjHoBBeC6Ww==
-9U2iKDgg7A8Fwc85LPgI0O/1mwKFPYtV1K7XQRHlBMM=
-kdU8UcCILZA2zqe2dEz9kO/1mwKFPYtV1K7XQRHlBMM=
-x9ZTV7gEMRCi91Qg24vlA75amaIn5rxJIrRdP5MeE9j1rLaDeGOQwfOj8LtFg+GJ
-FQUi8oWeKA22mkhDBQ8Od0ffVX1Kx6/gaXBl6wZu5y0=
-FQUi8oWeKA009nSxFi4IHE7wB8aAVMVRF2Mdrjp/QpU=
-FQUi8oWeKA0t2SdYDpcKM4jI8KpajKVSpg10U7yntVtPfX7y11TKwA==
-FQUi8oWeKA2km2jSURfVd0ffVX1Kx6/gaXBl6wZu5y0=
-FQUi8oWeKA1DOzz3YWNJ69+VJP2lrbmu
-FQUi8oWeKA16K4HqriD8jUffVX1Kx6/gaXBl6wZu5y0=
-FQUi8oWeKA2ZveeDa7x7vQ26QOL8owUaqUTgJrEohqbQx1T34QTwhkpgEZ36UZf7
-PN71jlSk34UCxwQXdsGm4ZQZTiZNO+I5N5m+Gay4mDc=
-2aDJllB28JLJXbPtseCSr61TqwiA1pre
-24AwIW/ZQevhfJ7nO4hl9jqmLc90JllH+QN+W6do9IvLzkZfPTHbZw==
-e8PUaMqGKBjbjtQVzMQGtVO8SBODgX57y4x6AQXguls=
-g6f6B3EKC0mq/hI3Siy1ns1Rj9szbZqu9RrMjQw02M5PfX7y11TKwA==
-cn9SelEe5HtR55atK842DPOj8LtFg+GJ
-kN7D+ZqtUAf40aKLMAZlPfBjDc6YVozA/Moy/+Vge7xPfX7y11TKwA==
-kN7D+ZqtUAcsXyKn8XbgBbbrO1fPMBV70pCfO/z5g6Y=
-kN7D+ZqtUAfgxTPOJka4x+1sIpk3UltPRPB+qQ9rdKU=
-kN7D+ZqtUAdEPzDylc672CH/h1pywZ5c0pCfO/z5g6Y=
-kN7D+ZqtUAe6K5+69vyqZ9/Pdt1H5L9h0pCfO/z5g6Y=
-2uRZ3LWgKU3RH5Nj+q+LtlPq3vaS3WGD
-rt8lOfUgZoK3CTjvFzoCRlQlsPKn/6q1hFq5sh8RQyE=
-rt8lOfUgZoJlQTf2O+iulomK/3Xny8ms9hT2lIaacqU=
-IHXErJfSSFCNuoiIa651tyyfxx3KDwLB
-785EOhh4F5sj7CuznFHzhJBwNuVVH6sq
-I1DBVtavRK2E1PvLgQn/VJBwNuVVH6sq
-liY3+k43l7+Q4FSyzAKv7/wyznKZVl2qYcKCqJ6M1pTMhUL6uE0NXEpgEZ36UZf7
-UrVzAjnIcuBxOkPtc5YzshjdGWQl0x5hy4x6AQXguls=
-cZht5tTkz8OyPJEuX5FlVfOj8LtFg+GJ
-DGdum4rbXqc5TekogOYmZ5BwNuVVH6sq
-kMsfiffRfraGOny5ykosGoUXNaoO/BVxA4H4FjoDGQbLzkZfPTHbZw==
-k63/U+Ort/t1sXunLF29ToZjzlmb0DiP9hT2lIaacqU=
-w0f3DSSJVtT4n7ZrF0P2pJBwNuVVH6sq
-anqc376RwxH2YvmikroYRr8AMGVXssqQKJZKOfgg6nHJOvnYyXNsXpC4iPbph9qG
-anqc376RwxEclteAVjASagjVcYt6XiKfROcxxZkPB1r0fQTyIpclWA==
-anqc376RwxFrnfoP+wEgV+RV0q3Q8qjoy4x6AQXguls=
-anqc376RwxGunL6RPUuCpx1hqIGQ97twstNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-anqc376RwxEl2d7cPemZpxAJGqasuIcYJfZSBCKF4gHm9GlJmRbg+OcIVVBHT46ECvyKmpm5Z0Q=
-rsOHmN/4ufkL8rKaud4vfO/1mwKFPYtV1K7XQRHlBMM=
-0z7NEIWwDp3MhUL6uE0NXEpgEZ36UZf7
-6CdJfik1TY5WtttuC4yb65BwNuVVH6sq
-kigrNEhv/MvSNFr9wNKob/Oj8LtFg+GJ
-G4j5jFyDtCkSCQzGhDDQ3yH/h1pywZ5c0pCfO/z5g6Y=
-qna3IZTy69SQLBb9TLgT0vOj8LtFg+GJ
-Qnj2SoYUQEDwOxi41E/bGvOj8LtFg+GJ
-mpaFzePG/5qUfFjfGL0+BmL6uHlLqsog
-u2y2FVfBqZ7HXWLfSvfpsvOj8LtFg+GJ
-md7FgUY16RRpHAHM1WsmQ8/EDJLz2N3ohFq5sh8RQyE=
-WeRGepVqdPi7Pl0reaplqbOsDNsReNLeRPB+qQ9rdKU=
-oVJkClU0Bvh5NR6CtIcYXyJQS0qubhjOCpU7P23QhntPfX7y11TKwA==
-LX1/RTaigThHUNbECAUpcAfkmii5BuyZ+wmNWke18BM=
-Iwq5Ivop+7oJTP+5mC6pPL13FBy0uL+iRPB+qQ9rdKU=
-f/NLwF/5qBnwshyLxCfprPOj8LtFg+GJ
-XEK48ftZVQvwshyLxCfprPOj8LtFg+GJ
-xm0YhMMvUrTv6eQ9seoGjEUzv8FEiuOYROcxxZkPB1r0fQTyIpclWA==
-KA3vo7pJXIdFDlJf+uZ8JnpmvKAVeqCzRPB+qQ9rdKU=
-BIsR7PAOZaBXpjffLvuUW0wWBzUGIE3Fy4x6AQXguls=
-l0FzfX6DT5kc2AsKYh9Av0wWBzUGIE3Fy4x6AQXguls=
-OgGc28R9XYqrdXvWFsyZiN7SGlS0JFuG
-LxBJSTkhXn+dGLiDN2Hnj97SGlS0JFuG
-zp7DEq21BTwlFymD5/1N/rBzljBEfN2xy4x6AQXguls=
-tlK7bfXVIBXcuzi3+wsImh/ps2807HA2y4x6AQXguls=
-UhUtlWoQP1DCE5zi/CJYd0pgEZ36UZf7
-SaUpgNmsHasnHOlkm0sxA+RV0q3Q8qjoy4x6AQXguls=
-0FmNHjoeZ7YD+iwJRdWW+/Oj8LtFg+GJ
-KBLbMm9Rg00q123TAhgbee/1mwKFPYtV1K7XQRHlBMM=
-nC3Olv+9F3VfoGFpKmLQzCBZw/ZMqkrAepvcvTeQwrw=
-ZnpTQ/05IxPiTIsP7LhxYtHEM4o6ZCR6y4x6AQXguls=
-BWf2VPSq/CBX70UMh3l1zfOj8LtFg+GJ
-rHGVkOky9lRkNVRINR3RaFPq3vaS3WGD
-wkneReaVJMEUYWv2tTiLuBL2525Y8Jlzy4x6AQXguls=
-vecfpO5xbBycNLWbhMusxFQlsPKn/6q1hFq5sh8RQyE=
-9pI83TCsPVXWUpDt6Xr+nkpgEZ36UZf7
-9ATztfXQ4YI5ywm7JAmEzt7SGlS0JFuG
-1gUH5d9S+SQP+0LchfW6bt7SGlS0JFuG
-Sa+uZygGJsFTEX0WzzhmTd7SGlS0JFuG
-0xF9G4KuCCSdGLiDN2Hnj97SGlS0JFuG
-DefAwZ4n13SXuNGxONPgs+RV0q3Q8qjoy4x6AQXguls=
-nAVIQhmgLsUqzclmSTZy7O/1mwKFPYtV1K7XQRHlBMM=
-VQyanJdAJxr8KlV1ph0Yje1sIpk3UltPRPB+qQ9rdKU=
-54MHTIPxFWm5/0FNXste6fOj8LtFg+GJ
-AC5wqOrDg0OEh57YJ81oCvOj8LtFg+GJ
-xEUfjPFZ/xYq17w2ajSKHLBzljBEfN2xy4x6AQXguls=
-qDJCWQ+e+n61f4daHIwZR9HEM4o6ZCR6y4x6AQXguls=
-mAvmI45vfiVtV7mJSxdBKJBwNuVVH6sq
-aMsbvjbfGsUxQ2HeHu18jlufv0N47kkKaAYhz49iPPQ=
-m+hvPY3d9tI9PnHdu7yUaSBZw/ZMqkrAepvcvTeQwrw=
-CDrQ2ea5LGDJOvnYyXNsXpC4iPbph9qG
-GeOoxHykR0NIkRc7oSI9szKnOEpdVQkOwQ7cCkCUWxZPfX7y11TKwA==
-9X6X38YdgQciqg4ZKtRMEaFjfApLwKh/PtbZND328nI=
-sdjtfGRtUulfuLJtpOjzH/Oj8LtFg+GJ
-gywMijxUj6c+OyyB6z9n5POj8LtFg+GJ
-R2eAdMyK6zSU7JD4YB6JqfOj8LtFg+GJ
-gkB282ET6CHZnuNxhT4mNoDCsJ8T2pbfepvcvTeQwrw=
-rmw3y68nbTxtR8wDUlebCerUo2OLEJuOCpU7P23QhntPfX7y11TKwA==
-+bJ/vQZNZX5a94t2FvAzVBjdGWQl0x5hy4x6AQXguls=
-Ijs5NwarmpdGNWh/ueDr//oslnIPxwMNqY/rONiW9dfLzkZfPTHbZw==
-Fa4m96t0Af/TV3ww/e2cDZBwNuVVH6sq
-GLZe/17QCbzt0Lwb79na4yq1UHZ+9sTmCpU7P23QhntPfX7y11TKwA==
-GLZe/17QCbxmXvUvjgbr4kY8THOUtOF7856CtLA2mBI=
-GLZe/17QCbw2Hyl0WmLydTOZLUhfMDr5Z36YRUA/eqPMhUL6uE0NXEpgEZ36UZf7
-zy+BWp25HIY8YGgnfhG/CpBwNuVVH6sq
-YmFbY+KQ4Y7q4CxvGXZpehjdGWQl0x5hy4x6AQXguls=
-YmFbY+KQ4Y62jZ0HIHtNhCKNGmIIhDZD856CtLA2mBI=
-YmFbY+KQ4Y5QHYDAU4bOhUr9oz8W6N26epvcvTeQwrw=
-YmFbY+KQ4Y4dNToG2d9B8wPMYZdUQfnX856CtLA2mBI=
-YmFbY+KQ4Y4dNToG2d9B8/x4wZJZoVmQ8GwBcK2jcmzLzkZfPTHbZw==
-YmFbY+KQ4Y4bHBvW0gRQFxjdGWQl0x5hy4x6AQXguls=
-YmFbY+KQ4Y4JJVgL5g3rBuRV0q3Q8qjoy4x6AQXguls=
-SEf6luKEZaNhu51s4ddTcxak9y4lRig4856CtLA2mBI=
-YdusYOZMMEEHkzvFoiBCspGRrBPOUOsvCd7cH2MFQVPLzkZfPTHbZw==
-WAXiD8YngH/NviT5sRQoM5BwNuVVH6sq
-Qud0EeTCG2GQfWiEdArhspBwNuVVH6sq
-Jl+v2iIQ3PRl6qtXuMmmfRjdGWQl0x5hy4x6AQXguls=
-EpkhMubA/KU2uRhwSJ6d+Y6XI0/uKdr28GwBcK2jcmzLzkZfPTHbZw==
-lk8o5519Kxjg6njkDcx/a4LXI+MfHNbWfywvCjeRl/T0fQTyIpclWA==
-DIt4Xp3Xbla1QXPpBNd8kQncLU6QuExl9RrMjQw02M5PfX7y11TKwA==
-2ldeYKVA5RpUYRP2vPq8D9ll6SkFs1l/9RrMjQw02M5PfX7y11TKwA==
-ZHexhB9C/Zz4F0w18YK/UcJTRkl7CKPoepvcvTeQwrw=
-0aA0U9ckmH2SPaLA/eokGpBwNuVVH6sq
-0aA0U9ckmH1WgHE3Y5h4chak9y4lRig4856CtLA2mBI=
-udHQ1AK6s0BHbbfugUQuewG5f+vLIXgw856CtLA2mBI=
-udHQ1AK6s0BHbbfugUQuezWfKD51et5xAQXL9AdSuF7MhUL6uE0NXEpgEZ36UZf7
-qBVDKbnPe4DL9/eiOW3PNvOj8LtFg+GJ
-ammVyKzxh8yyPJEuX5FlVfOj8LtFg+GJ
-6fCswTdb7gp4T5EqkTXoH5BwNuVVH6sq
-jmczOIjm5GmjJuX2eeHASfOj8LtFg+GJ
-hck8BB9RXPfRv+VvHMI2mBL2525Y8Jlzy4x6AQXguls=
-xGJWNwmRrvjSNFr9wNKob/Oj8LtFg+GJ
-Dme0iKBg4ltC5hNG7CjHwfOj8LtFg+GJ
-Dme0iKBg4lsKVHWF4Myk4AIg5cy+cuSy8Qk70COrU7VPfX7y11TKwA==
-C4Bngy5bB8t1b91EHw30B0oPmHAI4936
-5yuQig9LutUtwK0yz09R30oPmHAI4936
-dyMnqxlKzdN/JSshJxQ3iqf2wJuFXvN5y4x6AQXguls=
-BKa9L3k9bnJkzZHOvFXHIKf2wJuFXvN5y4x6AQXguls=
-BKa9L3k9bnKHDjyHip04zkffVX1Kx6/gaXBl6wZu5y0=
-GCjAqXPF1Dof+sd2M1vkT/Oj8LtFg+GJ
-tN2/kArLFem7Pl0reaplqbOsDNsReNLeRPB+qQ9rdKU=
-PhvRblnFgRvdce7uzab8M4ydqAmNreE85+3hueUDKGFPfX7y11TKwA==
-asaad8Q4C6Ctv3/3+UBOAUpgEZ36UZf7
-mW7W5BgaP+MjHOA2mhvm0OrUo2OLEJuOROcxxZkPB1r0fQTyIpclWA==
-mW7W5BgaP+MlWHMII4NFM1/cKgeh02Cpy4x6AQXguls=
-mW7W5BgaP+MvmaXSzDwxNK4kLpO4b0WCN5m+Gay4mDc=
-4fpWUFa+lACNuoiIa651tyyfxx3KDwLB
-Iv1mcWBS5FKHDjyHip04zjO11wrX//LPpDa+H9/X6UI=
-qvpIupBm2WX/AxGfixJ3IUpgEZ36UZf7
-8FSnJAv4mC/Mc5Bnc8mDRe54uYxEV7tyotGKnIGJ8i70fQTyIpclWA==
-eAGFq9Be2c60E0hhBYOohO/1mwKFPYtV1K7XQRHlBMM=
-7KSbuV1nCERWtttuC4yb65BwNuVVH6sq
-PbluYqiSMUInlR5KMGbbXKxfcB7OUo5Mk0YDCbV1OWE=
-SvUyT0up+YUaegOSGrYRJl4BNx8oMOoc856CtLA2mBI=
-8y8wJLjHjH8TNfXi0hp2zzxKSn9brCFL0J2lNnMxKpaYzJ6oJv+qKw==
-6EiWonjOwKYAZgmfbgyEWuHSb9kEZhbZAfBGcSNe17xPfX7y11TKwA==
-iXWjcPj0niUZmdQ/MALAmPL6oKDxDkyLHWnCZH6t2//hH/tXNeBfPQ==
-E0zofMTBmei7Pl0reaplqbOsDNsReNLeRPB+qQ9rdKU=
-zC/bIffd/q9utdpwhrdIlAfkmii5BuyZ+wmNWke18BM=
-oVV0uxz5T6z1aHc/UGh87LOsDNsReNLeRPB+qQ9rdKU=
-4yKVkHCQKXYwTqu9Wh9027OsDNsReNLeRPB+qQ9rdKU=
-RjlHunEZKP0T7ne662LsTrOsDNsReNLeRPB+qQ9rdKU=
-iwZpY5oYT+RXSiqVjN5JhLOsDNsReNLeRPB+qQ9rdKU=
-Cks1i1RgvXeuzpfidcLfubOsDNsReNLeRPB+qQ9rdKU=
-xQ8n2p9QTXp30QT7blyM3Qfkmii5BuyZ+wmNWke18BM=
-vGTRMHlT7dXj43Itc7bH7nAul+X1XFtHy4x6AQXguls=
-kRGK26rRVyvv3eyoY7qwoXAul+X1XFtHy4x6AQXguls=
-2jobYaE9hqkLVgLDGsMmxnAul+X1XFtHy4x6AQXguls=
-P7cKB1x3/7hGsAqNnhnTULOsDNsReNLeRPB+qQ9rdKU=
-QY8HRySr7Iwnp75iBJ/Vjwfkmii5BuyZ+wmNWke18BM=
-IAucFrl7qqxLIGJootoeXhDHi1ipAZxkepvcvTeQwrw=
-+812jhbb/MJhfXGLID+DlwxRxeTVAFkvibzFuc+pkRD0fQTyIpclWA==
-Gc+2o0fCUZzBRTe6oIudrbBzljBEfN2xy4x6AQXguls=
-g30soSzYKlYqYKw79TNc7ZU9yEFVkW8kfywvCjeRl/T0fQTyIpclWA==
-5Y1mwjb8gujXQ5dFwFvnLzH8At29S2vWUUnOob68iS9PfX7y11TKwA==
-By5Q/SU5xir2hPuSHwJFxG4yDp8xPBuoawyE6TLbCTavkJTSWMnxMA==
-cJPzYw+8qO2U1kX+sOaXa7BzljBEfN2xy4x6AQXguls=
-cJPzYw+8qO2oTyQOFtqiPd7SGlS0JFuG
-IfQDH7CTkzKwq57YkquoA97SGlS0JFuG
-1AooRnXbEgiveRA5ybYZwBjdGWQl0x5hy4x6AQXguls=
-+8iGrGjQRQXLJRvWtAt1iX4eJb4c8+yiwQ7cCkCUWxZPfX7y11TKwA==
-vKMadaRxCnt9yZ92+zfrDUX1wgDB6SwAlcfDWHvheBM=
-nVdA10JEgrH58tUSo2w3wV8pxEoXZNj5aeu8Uvl+alM=
-+/2OC1vcA4B763zk1n7SVL13FBy0uL+iRPB+qQ9rdKU=
-Gcnsiwomf6vBdIdG8bPRHll2tDC4Deily4x6AQXguls=
-h6H8S6JOlFZIg9VPXIEScier9kpF888AbpgFshbO4WxPfX7y11TKwA==
-ScnIyRoXkewIde0NTCKaofeK6RLf4xMTy4x6AQXguls=
-xUYZz/Y1ys3dPmsNsdD0UjilXWM8iFGV5+3hueUDKGFPfX7y11TKwA==
-rwSi9v0Y5/n868dzID7JMkiU8imBtrfgy4x6AQXguls=
-rwSi9v0Y5/k3lCRoHQSzQaNUfX3uZ7rARPB+qQ9rdKU=
-L4guYbOD3ybEiQqgpijBkO1sIpk3UltPRPB+qQ9rdKU=
-L4guYbOD3ybiWybz9IQNYu1sIpk3UltPRPB+qQ9rdKU=
-L4guYbOD3yaYjQ+nZpk4a/rLJk4dYoKYaXBl6wZu5y0=
-L4guYbOD3yb/9bq0lnqP8u1sIpk3UltPRPB+qQ9rdKU=
-ZpI2ZmzFQJ3d+AsDA8cg40X1wgDB6SwAlcfDWHvheBM=
-xG5CG1VWnMcYMNtTOEq0iiJCwkfSBhWqy4x6AQXguls=
-xG5CG1VWnMemkG9esmQL6vmkGF5eJuLT5YX/dOX/57O0FrgmK9pWPA==
-xG5CG1VWnMfdjUukdGSSoRjdGWQl0x5hy4x6AQXguls=
-XkypoFugO9L4osiym+Qx7rBzljBEfN2xy4x6AQXguls=
-yUBIpiXiGhsjuTEjt/+DHza5a1CR31xtKBLbMm9Rg01qyZUMAi3tqTcKfUh6nySUeU9Behr53wnItVyfMJtsjQ==
-leErXN0I8raC/1FVali0VVqOf3u62uxi
-uNYj01ma7BBp6IUveDLb/kSqVvpudkC5stNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-h/GuGMcf1KaKSb8pX7R3+VqOf3u62uxi
-HzTSi3irigCvmjkAhtg9xlV2rXAZxRtdwIyvNNx82Fm3si0+gPyQ+SSpKIYunmKc
-iUchhe2/rwlC7NNIijAHcl/cKgeh02Cpy4x6AQXguls=
-G6wb24Mf5+T6zB3Lcx4OpWIjE56GxM2wy4x6AQXguls=
-G6wb24Mf5+Q2bj7D5mvDy2IjE56GxM2wy4x6AQXguls=
-G6wb24Mf5+SuA6VKJ2wwgcrVGJOptXRVls1GZC9Rtus=
-G6wb24Mf5+QAEQQg1tP+b+1sIpk3UltPRPB+qQ9rdKU=
-P2k5Ue4Lv8y64ZIHXxB1ELMtDXvYITGLl5Oa2cfGZzRXXWJcXpDSx0pgEZ36UZf7
-P2k5Ue4Lv8wDd7+GstpwnGI2rUC8DjuD1kZ6inS5X/8qp3pee9AtDUpgEZ36UZf7
-v4ihoCtNRVm64ZIHXxB1ELMtDXvYITGLl5Oa2cfGZzRXXWJcXpDSx0pgEZ36UZf7
-VCHr/EMKXxzO0EtYHLOvpgMNBhUCi+wQ9hT2lIaacqU=
-GDDHjFNx9y3/htQJCfkj0jH8At29S2vWUUnOob68iS9PfX7y11TKwA==
-GDDHjFNx9y3/htQJCfkj0jH8At29S2vW2tJwUxoKu3abbUwv5Q8S+d7SGlS0JFuG
-MetFyWuxralvb3xYsvaR/MMR6cuqYjY1KHgdbgnkKc7wshyLxCfprPOj8LtFg+GJ
-xt3ch79mTxiU1kX+sOaXa7BzljBEfN2xy4x6AQXguls=
-xt3ch79mTxioTyQOFtqiPd7SGlS0JFuG
-JZwfCTqSDJWwq57YkquoA97SGlS0JFuG
-V36oXX8CJ64Yoo5YVl4ymjt1kYZzlOQoepvcvTeQwrw=
-duEQlK0W9zCQ4FSyzAKv77AtFeQR31keepvcvTeQwrw=
-NBBXNZCaNE99yZ92+zfrDUX1wgDB6SwAlcfDWHvheBM=
-tsogkendiar58tUSo2w3wV8pxEoXZNj5aeu8Uvl+alM=
-tsogkendiar58tUSo2w3wU8KuEfhpPX9nvxJfBqZsKF1CazNTv2aYfOj8LtFg+GJ
-/nSM2iK24qLBTtMburLns1QlsPKn/6q1hFq5sh8RQyE=
-s6xvxms4FKy3Z3wCjfQBfKEFpmD/7rphVYc272jQVlw9isRJWDpCZQBzJ7mfsQkty4x6AQXguls=
-0XdboMChu2E5gHpaD2pPoiWj50Qs67mB52mHitj3oNVPfX7y11TKwA==
-ms3NmDDAWXnBdIdG8bPRHll2tDC4Deily4x6AQXguls=
-ms3NmDDAWXmcg+a+FanOcFl2tDC4Deily4x6AQXguls=
-/i480IQgLMepMlZ7KX1uK7L8zAiM/vumYB+cHAiOl8tPfX7y11TKwA==
-VynNxYGlkQCQYi/wKhpaD0iU8imBtrfgy4x6AQXguls=
-VynNxYGlkQD3+GLPpxcTj1tgWhqdfi+qibzFuc+pkRD0fQTyIpclWA==
-VynNxYGlkQDbOP3RQ7tZ/vQnZieAvsPmzWNhsrxTgYM=
-VynNxYGlkQCj2Ow89poxDRL8JTHsvtpK9H0E8iKXJVg=
-VynNxYGlkQDiAh217GaWBX6iA24juz/gy4x6AQXguls=
-hUAdePKw8FbP7S63W+brpEiU8imBtrfgy4x6AQXguls=
-i8Syi+i2egOEUBf+PUKtAiWj50Qs67mB52mHitj3oNVPfX7y11TKwA==
-nly0EGexHS8W40YEz3OcshThMltj0h+y52mHitj3oNVPfX7y11TKwA==
-Z6ORYEVTHAYYMNtTOEq0iiJCwkfSBhWqy4x6AQXguls=
-Z6ORYEVTHAbdjUukdGSSoRjdGWQl0x5hy4x6AQXguls=
-Z6ORYEVTHAZcKrbMkfbHlC2cRMPa25eHibzFuc+pkRD0fQTyIpclWA==
-Z6ORYEVTHAZcKrbMkfbHlPSzXA5wk6riG7gWkmicr4aqKNVkN8emPEwWBzUGIE3Fy4x6AQXguls=
-Yrj7/CliiawTfm2BwPdp0LBzljBEfN2xy4x6AQXguls=
-Yrj7/Cliiax2vHf+pDgnBN7SGlS0JFuG
-Yrj7/Cliiaz4osiym+Qx7rBzljBEfN2xy4x6AQXguls=
-f8aF/kdme/IKyS+7h+VKSWL6uHlLqsog
-bK8Zpab/PptNYls6bckCK/nQ97t6cMEn9RrMjQw02M5PfX7y11TKwA==
-h+WfKYcw8/5UYRP2vPq8D9ll6SkFs1l/9RrMjQw02M5PfX7y11TKwA==
-dQt5mgUKF7RGbvA+FxO6AQfkmii5BuyZu7hkhPiE07E=
-9K+PZ38Hd/3Lq4u7hNFVk7BzljBEfN2xy4x6AQXguls=
-9K+PZ38Hd/0q17w2ajSKHLBzljBEfN2xy4x6AQXguls=
-sPbuqnenXG9VSWDLbldzl1Pq3vaS3WGD
-WVz6k53vYlvCE5zi/CJYd0pgEZ36UZf7
-wMnWetYvwcB22baEwHSHdWDAN33wOHW6wQ7cCkCUWxZPfX7y11TKwA==
-FQ7Z0CPc4AlqXJH1d/vXxlqOf3u62uxi
-6uJVi7VzfR9fuLJtpOjzH/Oj8LtFg+GJ
-LbpsRClvKt7SNFr9wNKob/Oj8LtFg+GJ
-zOB+Gixkrqq0PZ7rDpYw+g==
-ShmFYWl9kbLSNFr9wNKob/Oj8LtFg+GJ
-BPywirVs7BwjgMng2FanCRjdGWQl0x5hy4x6AQXguls=
-ttuFIQiBSmBL/UW/zBqattHEM4o6ZCR6y4x6AQXguls=
-miKP0CYl3W5Ym2pzcr/F6L13FBy0uL+iRPB+qQ9rdKU=
-8n8zV92Zv6l9KDxIQfEX1r13FBy0uL+iRPB+qQ9rdKU=
-8n8zV92Zv6nu8xwJpBGB7r13FBy0uL+iRPB+qQ9rdKU=
-8n8zV92Zv6krX2BZrGZD8VpIinwp+ERxibzFuc+pkRD0fQTyIpclWA==
-8n8zV92Zv6krX2BZrGZD8VPHTAexdz+zibzFuc+pkRD0fQTyIpclWA==
-8n8zV92Zv6k1kZKII+JesEwWBzUGIE3Fy4x6AQXguls=
-/SbDH4creAHCE5zi/CJYd0pgEZ36UZf7
-9zUaxn05IBwS7PNKz81G4R36d9MG7xUn6uzv0j5wVxhPfX7y11TKwA==
-9zUaxn05IBxgnwnOZ+hQK4kq0N9SOLm5
-FRuKyrtJj/RL/UW/zBqattHEM4o6ZCR6y4x6AQXguls=
-+Coj8KXFfRxp2idI23BKPPOj8LtFg+GJ
-iF6Bt9zVCn7ItVyfMJtsjQ==
-PfdaDBocFQixm2LbXcoIDXpmvKAVeqCzRPB+qQ9rdKU=
-k7aDH3uuoqARhkIHqx1H7tsp4Ism9gRNy4x6AQXguls=
-d60eywEVz6xBSvshOJLAoJBwNuVVH6sq
-obe5iClk984NDakaoCCLCJBwNuVVH6sq
-1TVDxDeahUN5RG1vEUP2O5BwNuVVH6sq
-B6XhfErTTJgfRf0i/Vkb/bOsDNsReNLeRPB+qQ9rdKU=
-+wYtQHJp691kNVRINR3RaHpmvKAVeqCzRPB+qQ9rdKU=
-Y3uHEyYQDdrSNFr9wNKob/Oj8LtFg+GJ
-WV4Ty/OMJBjA2E20A93dy1/cKgeh02Cpy4x6AQXguls=
-m0lX8CRPaqiw8mEQdSz4E/Oj8LtFg+GJ
-Do2wiH59igUFYo+n99SzmPrLJk4dYoKYaXBl6wZu5y0=
-UQx8DfENDTsDlTTw1nBAWlPq3vaS3WGD
-hT2R6oNQDGiD+EtUMNSV0fOj8LtFg+GJ
-xGjxEbbo/twhJLbnEbgPLFPq3vaS3WGD
-xGjxEbbo/txre6ZjJY/aDNSX1ILygfSsdTD26Z5KQnpal+TXCztiQ/yCn2NHqVIHy4x6AQXguls=
-Xeg5n8JTu9Gw5i8Z7YSfZkpgEZ36UZf7
-VQVgaWVz5xKx92ImtPG7wALm/EKxWl15
-lQFziLYwAFR/Rx3+b7qP0/Oj8LtFg+GJ
-v9yCwhqLXXRy0a0P9VppW0oPmHAI4936
-Ss1fTwot0Qh1CazNTv2aYfOj8LtFg+GJ
-mbpi6adHTerCE5zi/CJYd0pgEZ36UZf7
-1aJE0MOrznGQLBb9TLgT0vOj8LtFg+GJ
-2O5atTA83YryUEMJR9kTcPOj8LtFg+GJ
-b30Bnk44ReFqPP6LYZnzpu1sIpk3UltPRPB+qQ9rdKU=
-aak3L9Lnp6k4jrPr+Vc2QkffVX1Kx6/gaXBl6wZu5y0=
-SPMC0Or3Wq5Ym2pzcr/F6EffVX1Kx6/gaXBl6wZu5y0=
-Od0k7somw0+ognNgz49kBq1TqwiA1pre
-neSRPR/Dc1r+5avra8D+/N7SGlS0JFuG
-NPyf8uRLdZAxgppd7vKR30iU8imBtrfgy4x6AQXguls=
-EMu7srLgFkT8KlV1ph0Yje1sIpk3UltPRPB+qQ9rdKU=
-x9PLCfVsCr/aY475fTCHFCJCwkfSBhWqy4x6AQXguls=
-x9PLCfVsCr+l3V44t9O2VSJCwkfSBhWqy4x6AQXguls=
-x9PLCfVsCr+UayicXLX+aCJCwkfSBhWqy4x6AQXguls=
-gre6Tf1xXnA8kiJVq+hjxkoPmHAI4936
-LAphuzvX0+3XoplDMw5YiCJCwkfSBhWqy4x6AQXguls=
-LAphuzvX0+1cKg99X5f5WEoPmHAI4936
-RT8uwG1AoLRL/UW/zBqattHEM4o6ZCR6y4x6AQXguls=
-tKMGaq5ZqS8faicHeoCF8GnzW8KqwV7b9RrMjQw02M5PfX7y11TKwA==
-tKMGaq5ZqS/cxQIQipmO5ytKOLKlA1ksMvC5rExawa6V8xmS/Gv42azwXryjYWOyFt/BclTC+KpZOr/GQaeSWEpgEZ36UZf7
-MEV2TdfjfmxsgNJHgfD0IHy5ViVd9uvlrFPG/qrcRHVPfX7y11TKwA==
-SZ7z14JzRxz8N5fA/Bb0QEoPmHAI4936
-bhXPjU5Ou0zCE5zi/CJYd0pgEZ36UZf7
-ZTORLADhCW2V5Bc5DWG/rll2tDC4Deily4x6AQXguls=
-ZTORLADhCW0//Lt/QRmfpyH/h1pywZ5c0pCfO/z5g6Y=
-L9fVUSRavgJxLBNTp+QtPfeK6RLf4xMTy4x6AQXguls=
-dNe0XAa3Jm+3JvJ2Xjm9/UpgEZ36UZf7
-GJGUhATERBm3JvJ2Xjm9/UpgEZ36UZf7
-/9URtgHOtUUmgH9IsYidFKiSzovJkrG6856CtLA2mBI=
-lxyRA/zOuaXhlvYRJmLKFghNNHLHKan7QE1oNjRzv0A=
-k/AWU8J38exqXJH1d/vXxlqOf3u62uxi
-0Xh3Jo3x1fcVN9/lDCFFSFqOf3u62uxi
-sXhYv4ghjQ393cgW1OhgWPOj8LtFg+GJ
-ddsicK1RKkr8LfyJUw8Qg3ynnASRkZlj
-Wj5HYIWDLWGw78a972g1EkpgEZ36UZf7
-su0V2rk2gah2w8q8JxH30WL6uHlLqsog
-7YT/1gWrFMOsITkil5j+MAxHjZXQ2XqDuF3NIeLI7v0kqSiGLp5inA==
-GPdd2yIwWWesOniOA5cBq41ncbSjshCEmQCWLXtYoTFPfX7y11TKwA==
-mtIyd1Hqz2UxOjWwaO+5DiH/h1pywZ5c0pCfO/z5g6Y=
-1MHev69zrjZj004btOAkes94cw1mrZqiQE1oNjRzv0A=
-EjAf+Fk40oLXv2qPN2R841D8sLBRuvnPVj3R0+P6Ke796uutIWsx7JC4iPbph9qG
-it7CAuuV7SAxR6MAda5351Pq3vaS3WGD
-IS3trY+w1C5ped3RWFjnRS7e/oaau9gAXpBSJ5uhUAo=
-7ttNQ1aOZmErxH/5ZZarV4EwIA0kxtT3y4x6AQXguls=
-fDYkXHftmz8W40YEz3OcsuYEtK9W2WqUmQCWLXtYoTFPfX7y11TKwA==
-XXxX/NgmOKOlw/JG9WEaL36iA24juz/gy4x6AQXguls=
-Lwk9eym56F2hG0E0QBbiBCyfxx3KDwLB
-UCgJlS/HXezaY475fTCHFK1TqwiA1pre
-UCgJlS/HXexHXYr3weuURK1TqwiA1pre
-mqvMdLunKrO04LVLknUe10UNUQ2QoJYZBtmtkvJYaYzLzkZfPTHbZw==
-JuMgbbZn7fp/Rx3+b7qP0/Oj8LtFg+GJ
-Be1T87t+ge5XlrymvmHctvsjOZIlqq3hrFPG/qrcRHVPfX7y11TKwA==
-Be1T87t+ge5XqKHPIBx1decIVVBHT46ECvyKmpm5Z0Q=
-Be1T87t+ge409nSxFi4IHE7wB8aAVMVRF2Mdrjp/QpU=
-Be1T87t+ge6oc3vYT7LsOXLLIfzR98fTHWnCZH6t2//hH/tXNeBfPQ==
-Be1T87t+ge6yBrpNLcSpoZjZkopBAnj4HWnCZH6t2//hH/tXNeBfPQ==
-Be1T87t+ge5YEOaSf136eQT1tZsHfiBBy4x6AQXguls=
-Be1T87t+ge6km2jSURfVd+cIVVBHT46ECvyKmpm5Z0Q=
-Be1T87t+ge5gONVh6hyj4FjBxRP/noEkHWnCZH6t2//hH/tXNeBfPQ==
-Be1T87t+ge6BEzUegK+LzecIVVBHT46ECvyKmpm5Z0Q=
-Be1T87t+ge52p/GUBvJlKgT1tZsHfiBBy4x6AQXguls=
-Be1T87t+ge48js9ij9+tfOcIVVBHT46ECvyKmpm5Z0Q=
-Be1T87t+ge56K4HqriD8jeRV0q3Q8qjoy4x6AQXguls=
-+89J6TR32voQgbOipa/YegfPpApbMOkMhFq5sh8RQyE=
-LlMqJlMfp5XCE5zi/CJYd0pgEZ36UZf7
-q3wgm/88Ra/5FA/QNzKqWKEmC0tHnFgTKSotK/v0yek=
-JRjgwC9Nl8D07Pr83yxuuoZiRLknPIhby4x6AQXguls=
-23R1BuGALKkPTIc+xqy84g==
-MejiOyuUSYXCE5zi/CJYd0pgEZ36UZf7
-DdOs5Dtw0QwfYrJTd7u97V8pxEoXZNj5aeu8Uvl+alM=
-4HI+0PfJaYN8YPH6c539+jzmU+FOUsy4fER6RG1klik=
-lx6eh+YkHBXGQf4A1Ut9bKuL51BaHbjJstNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-9Mqch0gZ4bPxBEF6YmaZtkcdj80TCvSKqzKLxcx+tSc=
-9Mqch0gZ4bPz0v8j23MbjNPaFoMUutn7RPB+qQ9rdKU=
-9Mqch0gZ4bMvCICzkLDDGehZn9/adx3vy4GGkE0bbpyw8mEQdSz4E/Oj8LtFg+GJ
-9Mqch0gZ4bO3ZIY+lmc/+RnMjLDUY5xny4x6AQXguls=
-LZyp1gIf6wiOl3qik2jwk6RDFmbmXXil
-oUHoi3J+yiDI1bw1UsJaVEpgEZ36UZf7
-E03BI5P/0r/MhUL6uE0NXEpgEZ36UZf7
-ZYCQozJW2qvwOxi41E/bGvOj8LtFg+GJ
-Wx+TYikA2urCE5zi/CJYd0pgEZ36UZf7
-qW7Uf+cuUKUCAZnq4oBF/POj8LtFg+GJ
-JsWoe4vRDt+jI1emh9XUFPOj8LtFg+GJ
-qMdsxFnf7SjCE5zi/CJYd0pgEZ36UZf7
-7nUs+pzMGNQU2voVSXubFpBwNuVVH6sq
-rh16PU/bLznKwSWbD40NLyyfxx3KDwLB
-Mpws87qKqdUCAZnq4oBF/POj8LtFg+GJ
-wAG7h4jgsHz1hFgQXur/mkpgEZ36UZf7
-cyrUnsE+xTt/Rx3+b7qP0/Oj8LtFg+GJ
-FeneHV0jniXhjOGBjP0tkSoVbfyrL10EWhqDUIQPQGM=
-FeneHV0jniUYclRR5n6EOPeK6RLf4xMTy4x6AQXguls=
-B2EBAR60IppisJUSU6syO0oPmHAI4936
-2auQrCxhHIuioNaJ2OEJLEoPmHAI4936
-Vfay8OeyRBHCE5zi/CJYd0pgEZ36UZf7
-3BvyzjY734aioNaJ2OEJLEoPmHAI4936
-cFYwLcx8lBi40Fj+KszbNkoPmHAI4936
-+BWPPfYlvW1XqKHPIBx1ddHEM4o6ZCR6y4x6AQXguls=
-tqfw6NEVIE2E1PvLgQn/VJBwNuVVH6sq
-D/nWCdnKl6ptV7mJSxdBKJBwNuVVH6sq
-wesEbkcq3G2JlqzsLpoontS+kgXZKgOPy4x6AQXguls=
-YUhOmXNESHB2ZZeRKlYPOEoPmHAI4936
-w0pNO/G/ztmyPJEuX5FlVfOj8LtFg+GJ
-aALCXOoFPx92VgIo4mv4FtS+kgXZKgOPy4x6AQXguls=
-aALCXOoFPx8Ey0tJ0nESHdS+kgXZKgOPy4x6AQXguls=
-E/5wOVIsF6a+DupvRV9k9N7SGlS0JFuG
-+js67kDQcFh9h8vjUcC6wfOj8LtFg+GJ
-JOWuxy1tcO63K9xlTBbaJvOj8LtFg+GJ
-vw9DQsUCodtXqKHPIBx1da1TqwiA1pre
-q8SO41xH4H+tv3/3+UBOAUpgEZ36UZf7
-X+2h3edByPRXrrLCZAbA0IBwebx29WjwN5m+Gay4mDc=
-zCVSXXb5NXkVN9/lDCFFSFqOf3u62uxi
-DtuuJAfVwT3VGlpd50u+NkpgEZ36UZf7
-EiJtPPoy5YOqBDtVMagTbba/H5IGWzTO9hT2lIaacqU=
-JawkevnCrNdts8zcqwR2eKHvMDErP7gJstNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-lPChL110T8qH6H8fqQsEDQYd3czwK5kuaXBl6wZu5y0=
-rCMp7rtnhxrHQdqfJSKMLAYd3czwK5kuaXBl6wZu5y0=
-TG2nF5NcrshL/UW/zBqattHEM4o6ZCR6y4x6AQXguls=
-4wo8hNCdEQEmaNNvL8sx3NdP8cG+AoEp9hT2lIaacqU=
-/7ct4BMAXCUzXDr7TYw7uQLm/EKxWl15
-t6I+Wba8BRC9FppGobofTZBwNuVVH6sq
-FuqufNWLbz7WJtI2H4aUC7BzljBEfN2xy4x6AQXguls=
-Nt6VZaeWqZzN5z6vOYv1dKlsit/TVI3D9RrMjQw02M5PfX7y11TKwA==
-Nt6VZaeWqZy1QXPpBNd8kQncLU6QuExl9RrMjQw02M5PfX7y11TKwA==
-rKBk01Fx9j23JvJ2Xjm9/UpgEZ36UZf7
-ySmvEQkp+QnDVB+FOWxfQpMk2YgHTvJIlG2KEQazVUfqIZZcdg+1Fg==
-ONKJPxQ05EuDeZQi7n+ymPeK6RLf4xMTy4x6AQXguls=
-/ZBZNOiYzE+2EkinjidSXecIVVBHT46ECvyKmpm5Z0Q=
-PmXiFkkqLljCK04zVVZrqh9chXIUgi4lFw5IxUfsdvk=
-VgjQjLlxJgbVGlpd50u+NkpgEZ36UZf7
-oCdVZ3TjXszsI02ZCbErN/CvCYF5ZT40y4x6AQXguls=
-06VstCfw9TsVN9/lDCFFSFqOf3u62uxi
-yIwYB0D5ANpIkRc7oSI9s7K8YzH4gDQgy4x6AQXguls=
-kQHtQ28+jmSs22EWcIktH5C4iPbph9qG
-l88DeydS7Mr/5w6rMKFsfecIVVBHT46ECvyKmpm5Z0Q=
-cchXAGqWaFReJ21yxIT3be1sIpk3UltPRPB+qQ9rdKU=
-RNUTN8me5q1ReH0oBHbJGNqY7RGsCVoPAfBGcSNe17xPfX7y11TKwA==
-RNUTN8me5q1or2m5+SKQMMSKe9vVY/8AlG2KEQazVUfqIZZcdg+1Fg==
-hU2JsvCVd8iVbaq0hPsRvnpmvKAVeqCzRPB+qQ9rdKU=
-CQJvmF3yt1F6BlAdBV+jGC9myxH6CkHeEFyO6huNc6Q=
-3w3xExz5BYjfEMKoqqshoIaR13R3nUd3teq+RIooEghPfX7y11TKwA==
-xjGHNt3JuT9IOeeheINUM0oPmHAI4936
-HQ4O/5TsBQbpSgcoVE4LbXHIgbvw9UUMxNhXTmnBUo8=
-jDc+I5DLhjcdldob8yjvsEoPmHAI4936
-jDc+I5DLhjdaVQ4Lv2EkrkoPmHAI4936
-ERG/my0wCEMmgH9IsYidFKiSzovJkrG6856CtLA2mBI=
-8GR+KuRP/IrZpafk8rhqLjO11wrX//LPpDa+H9/X6UI=
-+SvHIm2Mlu9B+y4G1LWUjUoPmHAI4936
-+SvHIm2Mlu9WgHE3Y5h4clmDacM1Qce94KJlnTPYf0iYzJ6oJv+qKw==
-HLbF1HKtXYGIo7PKykxrN0iU8imBtrfgy4x6AQXguls=
-UnEQf/j0jK6x92ImtPG7wALm/EKxWl15
-FkH+3MJcYBmyPJEuX5FlVfOj8LtFg+GJ
-bq4owRXG1PiioNaJ2OEJLEoPmHAI4936
-bq4owRXG1PiMRJQtxc8R6koPmHAI4936
-osXaeNVdi5Bh4GvBMx4eJ/Oj8LtFg+GJ
-uCAuXCRbEjOtv3/3+UBOAUpgEZ36UZf7
-YTFr6yTNbAO9SSnHHBVGA/Oj8LtFg+GJ
-GhRXduWr8cb2YvmikroYRiHFVYFksbf2rFPG/qrcRHVPfX7y11TKwA==
-GhRXduWr8cb3R9KvkRZsVtHEM4o6ZCR6y4x6AQXguls=
-z0NB6EgQrYuej9syichlRRjdGWQl0x5hy4x6AQXguls=
-7dwIUGq+pHAjgMng2FanCRjdGWQl0x5hy4x6AQXguls=
-7dwIUGq+pHDVNpX+SJIcBl2BBsIawet1u+2srYn+TwXMhUL6uE0NXEpgEZ36UZf7
-8F5Rffa3tXf4n7ZrF0P2pJBwNuVVH6sq
-DH2VViKrbzkp6/lKXi3UMOrUo2OLEJuOxJkxuUM2UM3TUyqisEKkO0pgEZ36UZf7
-jryElcwKEMNxLBNTp+QtPfeK6RLf4xMTy4x6AQXguls=
-J2nslBNjSd9lRnm22WMLCZBwNuVVH6sq
-CrymWgzKBwmowyaOlIWPkfOj8LtFg+GJ
-W6++NOLhnGKW64PK7OzRci1TUpamJyWhy4x6AQXguls=
-W6++NOLhnGImgH9IsYidFKiSzovJkrG6856CtLA2mBI=
-pU876B1hGC6+86Rb1W1pEQ==
-ymBA422YpT60tTwm0ePTu/Oj8LtFg+GJ
-B64Md1JCAwjWUpDt6Xr+nkpgEZ36UZf7
-0GpXlkW1y6vWUpDt6Xr+nkpgEZ36UZf7
-iOqRqy56ghCDwJ8yRW4QTd7SGlS0JFuG
-sxgS7X/mz0eeQpPRvTm3LFPq3vaS3WGD
-jhM9JTBsgxfSNFr9wNKob/Oj8LtFg+GJ
-wyDvFk8TTUS0PZ7rDpYw+g==
-X9EC5zk/BzLTp7h58XZ5OfOj8LtFg+GJ
-YbFLLWDTZX6jebsJIc8YlfOj8LtFg+GJ
-6gWj62/jMx79+r0EMibpOfOj8LtFg+GJ
-mc0v41Pmxbu3JvJ2Xjm9/UpgEZ36UZf7
-93ZjDiJwkDG8RbktMnXXHfOj8LtFg+GJ
-Xn4HnNubANHFZ5D2h4QJfYZhCmXNWZmGaXBl6wZu5y0=
-/VfPpD7+6ViEcDEYG6zc49S+kgXZKgOPy4x6AQXguls=
-048X8sVpSrC5/0FNXste6fOj8LtFg+GJ
-odwlcbPCv1V2ZZeRKlYPOEoPmHAI4936
-s9fvPkvw+eO5/0FNXste6fOj8LtFg+GJ
-mVQ8Q8ewqYWXVpljuLaKukxdyVOf7XNtZ5wrfkhkzAA=
-ffIYZ1PjuXBx4u2IJrBm00oPmHAI4936
-0oaWW6Ft5KK1f4daHIwZR9HEM4o6ZCR6y4x6AQXguls=
-L2rEB7a+UV80RdSYnDioG4yT35O/ZMlXjuyKZVVSxxc=
-/nZa4JHvh5RutdpwhrdIlO1sIpk3UltPRPB+qQ9rdKU=
-/nZa4JHvh5S+AVOQd4583+1sIpk3UltPRPB+qQ9rdKU=
-0j/OcOgq4vblQZ/5Ca6DjU5xRxlEwuuujuyKZVVSxxc=
-yAZvjf/Npq3Jcbvke1EgJ0oPmHAI4936
-wg6D0EnuXuQnHOlkm0sxA+RV0q3Q8qjoy4x6AQXguls=
-zONWHZaMDFDdMM/Jx/UGaCQln6pOmJcZ0pCfO/z5g6Y=
-b+p7oPuIEcXgfJazTxRSvALm/EKxWl15
-b+p7oPuIEcWpakXUpZ6hBrfQ1g178t/sR4q+tB+teD3wshyLxCfprPOj8LtFg+GJ
-T8EFg6F1LsJnJtwh+biWBnUGLM4fr3KEy4x6AQXguls=
-9ln3OtBAZ4xYHWoVS6+3aE7wB8aAVMVRF2Mdrjp/QpU=
-2w7I+GMn9H92bBstIl8fQUoPmHAI4936
-zmnYQWRJshw8pS//ypC4EfrLJk4dYoKYaXBl6wZu5y0=
-zmnYQWRJshxfVjmT72+IU/rLJk4dYoKYaXBl6wZu5y0=
-pP/EazI2ohTJcbvke1EgJ0oPmHAI4936
-HSlkVdSEOqxDB6mfhWFtF/rLJk4dYoKYaXBl6wZu5y0=
-iaqd4ac59tkwmxiV/uttpe1sIpk3UltPRPB+qQ9rdKU=
-6950kamGyz1jn8atkAa4WRWb7Iq+ue9U0pCfO/z5g6Y=
-ZBlMqkWFMgGHlQYO/29XsPOj8LtFg+GJ
-etqHd962VKXwshyLxCfprPOj8LtFg+GJ
-1rOjBHyFj+eHnIZJN6/3sBATcNYyjC0W0pCfO/z5g6Y=
-yjsVsC9nyaHCE5zi/CJYd0pgEZ36UZf7
-RL9wd7sqH8nJ/XFJLG1noC3MK637qtLAFw5IxUfsdvk=
-FfjvvdggP/1GEF1igpqnMjoZ9Con4QX6A2+HaLUZbe0=
-tVBVCkW2P2vvP1LP4h1GfVPq3vaS3WGD
-c8fipJzZpKHSNFr9wNKob/Oj8LtFg+GJ
-bAvcVi4Iw6s88My+QyBF4iOSA1tar8TQ0Rzn8E7ul0JLV1Hq0b8BpPOj8LtFg+GJ
-PARbOnEYlB3rgwUip8TSvrBzljBEfN2xy4x6AQXguls=
-go/dWWwGU8bJOvnYyXNsXpC4iPbph9qG
-TkKCqeWSukeV4wuSWx4U26GFuSH/HQxAy4x6AQXguls=
-TkKCqeWSuke8RbktMnXXHfOj8LtFg+GJ
-TkKCqeWSukd0P3wPBDQ7QFPq3vaS3WGD
-hO72ygyNsdS3JvJ2Xjm9/UpgEZ36UZf7
-LoM+jDhQqFDwozCIpR0nf0pgEZ36UZf7
-mySxSoQQ5hH9+r0EMibpOfOj8LtFg+GJ
-3jzcnOifPTGUtstGJWfN1Hrz3wa3t9i6y4x6AQXguls=
-4kdkKXQ7T0R1hHUpo6tg/ajv8HiCer8Ay4x6AQXguls=
-4Wm1uiOER9zSNFr9wNKob/Oj8LtFg+GJ
-7ddpONXhUU5L7w5GPenWeql77FvoyOUCfywvCjeRl/T0fQTyIpclWA==
-d1sVTi4llK7lQZ/5Ca6DjTtDCKtSyZ8Eaeu8Uvl+alM=
-Fmkib4/xoTMCeemNLJHnJgLm/EKxWl15
-PaGbbzoWurQnHOlkm0sxA+RV0q3Q8qjoy4x6AQXguls=
-9Si22Bpxf/QBFq6hXHFOTkwWBzUGIE3Fy4x6AQXguls=
-5z/FaS08FC2I51kihoSlswLm/EKxWl15
-unXa+WSPJaRSSitwj7vrXQLm/EKxWl15
-aoyMNdWOkHd1CazNTv2aYfOj8LtFg+GJ
-4+Hqev/UbHPPxYlpacEdI0pgEZ36UZf7
-TQRngJH1Ek1qPP6LYZnzpr13FBy0uL+iRPB+qQ9rdKU=
-CcAtnE63g1xa033tXDwlqSgM1VPOu4sN
-2n75FC3uwfC2lddTY1y4I0wWBzUGIE3Fy4x6AQXguls=
-erLQ3JyUfISiMFttLBCaNgLm/EKxWl15
-psmYD1yV0+1SSitwj7vrXQLm/EKxWl15
-T0tpWQa0WBy9wwymMgTHHEwWBzUGIE3Fy4x6AQXguls=
-GU9rv7S9HDKCGC55KuzT8UwWBzUGIE3Fy4x6AQXguls=
-eYAwQTFdThU3xjZ6HMSwQb13FBy0uL+iRPB+qQ9rdKU=
-ZcATeY3SOmU8js9ij9+tfH6iA24juz/gy4x6AQXguls=
-ZcATeY3SOmV6K4HqriD8jX6iA24juz/gy4x6AQXguls=
-WpMnbnNRcj++AVOQd458336iA24juz/gy4x6AQXguls=
-LT2QzTDBMvBSn/fQrSogfSanigrTdC7fzWNhsrxTgYM=
-3S0zBzzcG28nHOlkm0sxA+RV0q3Q8qjoy4x6AQXguls=
-rH75MlwLe4iHDjyHip04zn6iA24juz/gy4x6AQXguls=
-ORtAqQQY1sfPxYlpacEdI0pgEZ36UZf7
-BtmsuCW8kSpA4pTRFdS/KQLm/EKxWl15
-hgKSS6WIoWEdo9FMoGbGk0oPmHAI4936
-hgKSS6WIoWEBDkcxYXRMQhToYGFen0lpzWNhsrxTgYM=
-hgKSS6WIoWHSQcDia9XkMUZDtywxNaqwqebDJ2D3GrP0fQTyIpclWA==
-ObtZggguHVH75+AsqJdaK/Oj8LtFg+GJ
-5ElRLBbico5HfaFd/KsR0koPmHAI4936
-gBhYk85FRG6M6X8re3fQg/Oj8LtFg+GJ
-IIbeVb1Zp2Vw6L/p6JSpG/Oj8LtFg+GJ
-z71z+qSu7Ey0IhLdN9AyUEoPmHAI4936
-cGT7aZk2gf7PxYlpacEdI0pgEZ36UZf7
-79ikOahtbziMeW7poAUy4dDGrvtwVnWwfER6RG1klik=
-oDX9OktCqQS5+Ag8CVGtZAEles108WxdRfifV1nUUrFKYBGd+lGX+w==
-4WFREg6StsXlQZ/5Ca6DjXXPc5Ki/J8mZ5wrfkhkzAA=
-+/5WFE6HdRIVk1QoQHbV70oPmHAI4936
-/rrEnWld478nHOlkm0sxA+RV0q3Q8qjoy4x6AQXguls=
-LBjLIuMcxdXj9lLGelo0UO1sIpk3UltPRPB+qQ9rdKU=
-h1XeOIBMRZ14iFg1egzOlALm/EKxWl15
-Liq4+z+iHBbwshyLxCfprPOj8LtFg+GJ
-hMPHG8zWfevwshyLxCfprPOj8LtFg+GJ
-+pXXyHkf87vPxYlpacEdI0pgEZ36UZf7
-O8xLRFQpwrDdxEXzi6UoSsyW8297TnFZ0pCfO/z5g6Y=
-59OFXSNrO2ax92ImtPG7wALm/EKxWl15
-MyZ2EamTQ95rfLPYpSRg6UoPmHAI4936
-1suDit3Eq7XNgWyWzjfkBTVnubG+Sf58Qxxo88aAg3c=
-p+oXZGb9felB+y4G1LWUjUoPmHAI4936
-T8qiUcOxWGex92ImtPG7wALm/EKxWl15
-megPgZgZatmyPJEuX5FlVfOj8LtFg+GJ
-hIcKxvB0qrStKsK1NKEnjnUGLM4fr3KEy4x6AQXguls=
-hIcKxvB0qrQ1/obow+hNxNS3UCP+Xxke56zwMY8I/+GEqKNFUcAAUEpgEZ36UZf7
-hIcKxvB0qrQ1/obow+hNxM87KOEe5EKO56zwMY8I/+GEqKNFUcAAUEpgEZ36UZf7
-hIcKxvB0qrRmdPhpVvErmmU8YnidNLyF56zwMY8I/+GEqKNFUcAAUEpgEZ36UZf7
-hIcKxvB0qrTRUDfrIg6YeeOaiJxfN2NojuyKZVVSxxc=
-IgfkS/yzfiNl6qtXuMmmfSJCwkfSBhWqy4x6AQXguls=
-vdDujKxsGqTu8xwJpBGB7vrLJk4dYoKYaXBl6wZu5y0=
-vdDujKxsGqRfVjmT72+IUyJCwkfSBhWqy4x6AQXguls=
-vdDujKxsGqSuYTcjFB8CYIW56gVH63DBT8qiUcOxWGe/98RHxldG1vOj8LtFg+GJ
-vdDujKxsGqSuYTcjFB8CYL6qBg32lrLQT8qiUcOxWGe/98RHxldG1vOj8LtFg+GJ
-NUY6EzUNBcupT2zvt/urCUoPmHAI4936
-O8LPxcSZWgCyPJEuX5FlVfOj8LtFg+GJ
-MsAiyvZZGvKtKsK1NKEnjnUGLM4fr3KEy4x6AQXguls=
-Lz3xBm67RkV4emxgFA0tiJBwNuVVH6sq
-2UBsnltmJt+RNpK5CN0kEoEwIA0kxtT3y4x6AQXguls=
-53+yvEZVribSNFr9wNKob/Oj8LtFg+GJ
-s/Uo311nB4nNgWyWzjfkBTVnubG+Sf58Qxxo88aAg3c=
-hIwdjylHLGpzJ4M0r7zib0iU8imBtrfgy4x6AQXguls=
-cq6XXjMR3YCyPJEuX5FlVfOj8LtFg+GJ
-URZTYYOprr+ioNaJ2OEJLEoPmHAI4936
-URZTYYOprr+MRJQtxc8R6koPmHAI4936
-8a/odfEE6zzSNFr9wNKob/Oj8LtFg+GJ
-pou90Ds2zWZCzwZsznq8ZEwWBzUGIE3Fy4x6AQXguls=
-pkeEKh1jPSBWgHE3Y5h4coemfMvU1eABfER6RG1klik=
-OwPmdJgfleD9qI/NdGuLvopY37QaCE2vaXBl6wZu5y0=
-98gWtMm+tR46B4D4P9VTIQLm/EKxWl15
-Jv1hD0HAYBs9M2n0C2t1jkoPmHAI4936
-ghSbmaLOO99L/UW/zBqattHEM4o6ZCR6y4x6AQXguls=
-ghSbmaLOO9+2eQd7E/7L89HEM4o6ZCR6y4x6AQXguls=
-ghSbmaLOO99tji7RQU6MglXygIrc0WtXfER6RG1klik=
-Ls5FWwWEd6pSR0e9F1/EYPOj8LtFg+GJ
-at1Bn/0PBKEPvuklRRGDBgLm/EKxWl15
-wDXNPMfkdyNsE0uOQeg/4POj8LtFg+GJ
-dHtBk0+GYeJ8wv8Kzlk4jBL2525Y8Jlzy4x6AQXguls=
-bd68Ff0/MOdHmITcZ8OvTALm/EKxWl15
-RlqtTc1ddfqEqKNFUcAAUEpgEZ36UZf7
-5EBWJUcB7QrWN4gnV7c93koPmHAI4936
-5EBWJUcB7QpKxBbFVac+1wtqBXZ4E+c/PtbZND328nI=
-162SX0X5QG3chbqz0R3o2V3BzxGJLcsP8sfKPfIpMQNPfX7y11TKwA==
-C+CTZb0f4RMrkmpQpbhvUoY/p688/scQYB+cHAiOl8tPfX7y11TKwA==
-XT3mt0mRlBrY32VsZPX+0EoPmHAI4936
-LJS42ZwcpdFDHOAJ30mSrEoPmHAI4936
-LJS42ZwcpdEKOGJCRlOCGEMsG0RZhXWmN5m+Gay4mDc=
-LJS42ZwcpdE7jee3IyQ7GQtqBXZ4E+c/N5m+Gay4mDc=
-7NGKKJN34ogCAZnq4oBF/POj8LtFg+GJ
-Az4+5t1fUEIHBZ5Mnx6yw0oPmHAI4936
-fJTXcZwpB8kt87PJTa1JoRL2525Y8Jlzy4x6AQXguls=
-ndv/6Tbir2Al9SPHO/q0fgLm/EKxWl15
-1/6y3xqeTKfY32VsZPX+0EoPmHAI4936
-wK1sZrL3pJAXtVFp7veb3xL2525Y8Jlzy4x6AQXguls=
-CqFH5cAKYw6qhKm7+HXh+aRDFmbmXXil
-LQrltoM1cpvCE5zi/CJYd0pgEZ36UZf7
-Ol11wPce++vCE5zi/CJYd0pgEZ36UZf7
-w9678/OUZYnSNFr9wNKob/Oj8LtFg+GJ
-RtC8zrx8egrP0mfP1bj7qKFjfApLwKh/N5m+Gay4mDc=
-ERwzEHJFSaSkXYAzJbi62ajv8HiCer8Ay4x6AQXguls=
-ERwzEHJFSaS8RbktMnXXHfOj8LtFg+GJ
-Kr9NpwKWfsKHDjyHip04zlPq3vaS3WGD
-6Oqf3E+UYp2A2FeyW2xavPOj8LtFg+GJ
-/aUJ40q0OGE8js9ij9+tfFl2tDC4Deily4x6AQXguls=
-fkGZhX/El4RpsvPgzA9aB2L6uHlLqsog
-RZ+v/54TrXap58z+jjbwkUpds7npaylHy4x6AQXguls=
-iHNF0shQTZ0i5uPoBbmGy2ksmHFhrajUy4x6AQXguls=
-IzqZUh1jNoW7fEDIh3MPj/Oj8LtFg+GJ
-xjBOWYwtJQIcjhU/Xv96eKyD0xvYLTOLy4x6AQXguls=
-xjBOWYwtJQInz2o+xwX02Whf20/Sfg2Oy4x6AQXguls=
-xjBOWYwtJQInz2o+xwX02cQ6uk/WHcyf6MIva6/KGSO0PZ7rDpYw+g==
-xjBOWYwtJQLNj3osZXWK/wNqyAperh+Gceie1Maa4Hdfzaof9cbYCvOj8LtFg+GJ
-xjBOWYwtJQJRKpnwl88SZLCpTXnOszLxAuqg1HJi1UpPfX7y11TKwA==
-fG3H/eYATNjSNFr9wNKob/Oj8LtFg+GJ
-fG3H/eYATNhSRQKZWsra5zmXZqcwXuLSy4x6AQXguls=
-9WcEVwVcacS0PZ7rDpYw+g==
-5Od2zL01rcmjebsJIc8YlfOj8LtFg+GJ
-NIMkrNyEXQQTkBuMqRoBcqjv8HiCer8Ay4x6AQXguls=
-bL0xvp6bKsyA2FeyW2xavPOj8LtFg+GJ
-OlIufldps163JvJ2Xjm9/UpgEZ36UZf7
-H250ngXCLbRa74IbmJiVRPOj8LtFg+GJ
-v0o/NZ2Flyh0rznFov+n2+fhcFcsFNKYQxxo88aAg3c=
-ILtHucU7b9vwshyLxCfprPOj8LtFg+GJ
-B5DO9dw1D2a7yXAHVflBY0oPmHAI4936
-entKqGlyDvuN/55cHq0j7EiU8imBtrfgy4x6AQXguls=
-REmCvUYOcA6Cg6aQfJfPZkoPmHAI4936
-IRF3FIzGK/WMRJQtxc8R6koPmHAI4936
-Kc1jyiJVnGWx92ImtPG7wALm/EKxWl15
-2gjhNrDt+eeioNaJ2OEJLEoPmHAI4936
-0D2aGEdKA2ZKGV/+gaFbkKf2wJuFXvN5y4x6AQXguls=
-0D2aGEdKA2ZWgHE3Y5h4coemfMvU1eABfER6RG1klik=
-KxlRPOIG9ZstwK0yz09R30oPmHAI4936
-ysFI1Rx/lmayPJEuX5FlVfOj8LtFg+GJ
-BT/fHxNzenBkzZHOvFXHIKf2wJuFXvN5y4x6AQXguls=
-AHJVRVXWVMjbiQGOjO5mmqf2wJuFXvN5y4x6AQXguls=
-AHJVRVXWVMiK6lgP/9Y2oqf2wJuFXvN5y4x6AQXguls=
-LwTctfycqwn1eDN17P0yBwk1seY0eQtCpg10U7yntVtPfX7y11TKwA==
-oJ7KGIaocyBSndz+M2zpG0ffVX1Kx6/gaXBl6wZu5y0=
-46rP4jXWI5nbMhjb7ruRAgLm/EKxWl15
-XXIUiO8imQcnTs9sqqXWpRS4C2VAq+q+Fw5IxUfsdvk=
-XXIUiO8imQfCgbjpU0Ib6VPq3vaS3WGD
-XXIUiO8imQdip1CQWTvLTfOj8LtFg+GJ
-3oeh0L+U9UBZp8LAxcbkMZBwNuVVH6sq
-bpBWCSOn5muOpn2IcS2BfMlK0pFWqtW2CrACxSMFVJ1PfX7y11TKwA==
-ljwmOqHUx3m9FppGobofTZBwNuVVH6sq
-ntKwejfnuA0YgouZt2pykBRGX6dD+yb9qWi9XkUN3uznsKirjKejAUpgEZ36UZf7
-+yp7LhPh6/o2wwd3InzQFy4v4ck8itax5kzFRBUU5DACAZnq4oBF/POj8LtFg+GJ
-twznt9msCJOjJuX2eeHASfOj8LtFg+GJ
-oVwjgLWM2luHDjyHip04zrBzljBEfN2xy4x6AQXguls=
-ZMr6bs8Pd9byUEMJR9kTcPOj8LtFg+GJ
-ZMr6bs8Pd9bQ6oLuzbuHdMAyuvLUrV6nwEoaBEGc9RE=
-MWXFwS+gXECVbaq0hPsRvnpmvKAVeqCzRPB+qQ9rdKU=
-MWXFwS+gXEBL/UW/zBqattHEM4o6ZCR6y4x6AQXguls=
-eYrwlVYgQAsNLBVQVO59LecIVVBHT46ECvyKmpm5Z0Q=
-zm66Ok5YvbJgW+fN9gkOExnMjLDUY5xny4x6AQXguls=
-ocjyg6d/YZbYuiqsh91JVPOj8LtFg+GJ
-C6eysrtIgcAgcxiJCY3Ya7JwOivdSNCn8sfKPfIpMQNPfX7y11TKwA==
-aM6jPf4QFiflc3LHoaCHKTiUnYxvdTs4aAYhz49iPPQ=
-orFEvaQa0+AHI68W/MPHCYZhCmXNWZmGaXBl6wZu5y0=
-orFEvaQa0+DIKZk4XelWJ9S+kgXZKgOPy4x6AQXguls=
-S7N5m+yTVdiTXs+YU4gZf3pmvKAVeqCzRPB+qQ9rdKU=
-39rO+Kxnmjjv3eyoY7qwoXAul+X1XFtHy4x6AQXguls=
-6N8OYQckkzXbjtQVzMQGtVO8SBODgX57y4x6AQXguls=
-/WeDlc4QzvHCE5zi/CJYd0pgEZ36UZf7
-Q+t2NuZi/bYYBYr4xsa99POj8LtFg+GJ
-m7NwXX44/6UMorRxG+mAPKl6skmHW//Gy4x6AQXguls=
-5sZDUmzYHMSQadl/kdNn9Gp3SEzZLUEIXpBSJ5uhUAo=
-4Qvrbb1JTp8Qc5QWoX2eifOj8LtFg+GJ
-m/tIDzJi3OZXUDBIWUrqSK1TqwiA1pre
-S9B++UiCXWUkpVTVLAAIUPOj8LtFg+GJ
-O3P6K+AfRNzF44QHb2ipd8svCgK9hR1bXpBSJ5uhUAo=
-wtKpMto5s6ytv3/3+UBOAUpgEZ36UZf7
-0OYj7bJYGaCbsiqDLJxCRhnMjLDUY5xny4x6AQXguls=
-TEJT79gBm7PDY4PKs+sJ4F/cKgeh02Cpy4x6AQXguls=
-6sLf9oF5/2cFSyaIvrb/N/Oj8LtFg+GJ
-cRBYkFVyJUwqp3pee9AtDUpgEZ36UZf7
-GYBI2zJwMBNey2dyHe3hZWCQBVIqdo0V0pCfO/z5g6Y=
-ynINb2Eqx7SloP32ysnd4UpgEZ36UZf7
-pgzRnG9D+zC0PZ7rDpYw+g==
-Kpq53a0+iGDSNFr9wNKob/Oj8LtFg+GJ
-ky+iLMs6QhG3JvJ2Xjm9/UpgEZ36UZf7
-2Om0H6dKuzbSNFr9wNKob/Oj8LtFg+GJ
-g0zbV1jZvRGV4wuSWx4U26GFuSH/HQxAy4x6AQXguls=
-g0zbV1jZvRG+FqF3alT2MFPq3vaS3WGD
-g0zbV1jZvRG8RbktMnXXHfOj8LtFg+GJ
-XZm6QFzDmJh5QHl4Rg/BHfCvCYF5ZT40y4x6AQXguls=
-/gVNZGSuGULWbJef4vcbmDpK56AtCq0bQE1oNjRzv0A=
-7AFfCdxoVJaez/DwjHv7eCH/h1pywZ5c0pCfO/z5g6Y=
-ycU0RK38xbDLdJNqyw1kxCJCwkfSBhWqy4x6AQXguls=
-pd1F9WAw6p6GsXOp2DRhHxjdGWQl0x5hy4x6AQXguls=
-b8ErQvNUZgeHmDmTzSfyUE7wB8aAVMVRF2Mdrjp/QpU=
-b8ErQvNUZgc8pS//ypC4EUffVX1Kx6/gaXBl6wZu5y0=
-b8ErQvNUZgdfVjmT72+IU0ffVX1Kx6/gaXBl6wZu5y0=
-bKuUJ1epVUJL/UW/zBqattHEM4o6ZCR6y4x6AQXguls=
-bKuUJ1epVULWXIcogNVO9PeK6RLf4xMTy4x6AQXguls=
-bKuUJ1epVUKAB2gzKtqpWrBzljBEfN2xy4x6AQXguls=
-bKuUJ1epVUL/BocxQ/VkHF6uLIHrocIjibzFuc+pkRD0fQTyIpclWA==
-ZVyEsgcvvqkCxwQXdsGm4T/R8tJQvU4AN5m+Gay4mDc=
-a50cHx99OyS+86Rb1W1pEQ==
-WgaH2IFpABYVN9/lDCFFSFqOf3u62uxi
-YC4R/Hqz5OjVS9iZLCqmXZOdTChiEQ4H
-CA9qvj9VlfX4aBmcnHTh+e1sIpk3UltPRPB+qQ9rdKU=
-5thMB8eHe2f/1Gi6u346QEpgEZ36UZf7
-B9uuO07HaYDhefW3q+MscXpmvKAVeqCzRPB+qQ9rdKU=
-jTuQkMDtjykttMlk2S6x6POj8LtFg+GJ
-j5r7gucVUZPSNFr9wNKob/Oj8LtFg+GJ
-pF+/2e5PCdiYv/g0PaK/jL13FBy0uL+iRPB+qQ9rdKU=
-entv5lp5ztG/98RHxldG1vOj8LtFg+GJ
-fHieFygyEvy40Fj+KszbNkoPmHAI4936
-uensoKoCEG0i5wfAwIsXFiyfxx3KDwLB
-xEHYC5PyimNE0MxH/kbINQm+ik3u28cBbhNbzfKkM+JxqUIOvKQ/dwLm/EKxWl15
-xEHYC5PyimPg6njkDcx/a4LXI+MfHNbWfywvCjeRl/T0fQTyIpclWA==
-xEHYC5PyimOQuCgWDzuDNJzjfvzgtybvfywvCjeRl/T0fQTyIpclWA==
-xEHYC5PyimOlLpDXPIWwurSL2LbT/xPdKGYaGfDHL2mUDVAInWSevrOsDNsReNLeRPB+qQ9rdKU=
-MmnONpzqj5b7W3Ekux8q5C73DbanPF9TRccUPCPq9v2crq/MRwHEjUwWBzUGIE3Fy4x6AQXguls=
-VcWnl3ReS/WiJEG5WqIaFPOj8LtFg+GJ
-BcX7V3pTwpetFaNdnKehnD/R8tJQvU4AN5m+Gay4mDc=
-BcX7V3pTwpetFaNdnKehnGbGMFTW030UPIp5tKIseY5ZOr/GQaeSWEpgEZ36UZf7
-bRU8Xd4lWq/dTZAg/dA2ZFgGDQzefWVhjuyKZVVSxxc=
-767F12U7TA7L9/eiOW3PNvOj8LtFg+GJ
-x8Xhf0IsI6jVGlpd50u+NkpgEZ36UZf7
-sPozkzJeO5QUA88Ffjsp4r73AC6YF/AdfywvCjeRl/T0fQTyIpclWA==
-hS36/7wW1bLYQHkH4ek/mxjdGWQl0x5hy4x6AQXguls=
-cgYrEOZbHFKw8mEQdSz4E/Oj8LtFg+GJ
-n4KofNyd2vY4R2AxmSq+I0pgEZ36UZf7
-b8nVx09fy5I4ol1WGH/UYwc35O/wfJWEWhqDUIQPQGM=
-GxXLVwg10cxZKfrHsoPLMnpmvKAVeqCzRPB+qQ9rdKU=
-4CgPGy6SSwl9UjjrSV1dAF/cKgeh02Cpy4x6AQXguls=
-pFdZPuCKzsz5i3FRvU5uBhL2525Y8Jlzy4x6AQXguls=
-sfDdVW5fHlb1trjY76bzOvOj8LtFg+GJ
-NiV9MVLKhXKHDjyHip04zgfkmii5BuyZ+wmNWke18BM=
-pjQ6oNqUNpDNgWyWzjfkBUkSLXgOkKuLYB+cHAiOl8tPfX7y11TKwA==
-2nSar6BjfcOCJKgpiEaOwl/cKgeh02Cpy4x6AQXguls=
-4dmt9tLfxArcemGYPMM4W3M6cjhRvLxgy4x6AQXguls=
-CK6wOt90IerSNFr9wNKob/Oj8LtFg+GJ
-j9TJ0zgrtW3XWx32zET11Xc9lFxBaLeD9RrMjQw02M5PfX7y11TKwA==
-j9TJ0zgrtW0CemFOIJjudWYAKjuUUIzqstNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-XsRueZvhAyrZenX/hyHS+gfkmii5BuyZu7hkhPiE07E=
-XsRueZvhAyoY2HrRmU8pmnfPzG5Uk11rstNvNKfkPxHoX8GccRaWYkpgEZ36UZf7
-Y0UYF4M6ChLrfZHpEMHYgUpgEZ36UZf7
-MWehmVZf6C3SNFr9wNKob/Oj8LtFg+GJ
-MWehmVZf6C1SRQKZWsra5zmXZqcwXuLSy4x6AQXguls=
-rWYaShuEwPU8js9ij9+tfFl2tDC4Deily4x6AQXguls=
-6SsNbr0oX/ax7oF3dV8rMlPq3vaS3WGD
-HCEq+yB3xiRUIm92l3iN1WDAN33wOHW69RrMjQw02M5PfX7y11TKwA==
-X6lEFzNDmIp9OfyBOiPDBSJCwkfSBhWqy4x6AQXguls=
-skgWSl8Po0/OnczYMVtnUkiU8imBtrfgy4x6AQXguls=
-QqZvghyTZW3Etpl/UCrmDnNnfPcTejy4aXBl6wZu5y0=
-AEyn6ksEetlWgHE3Y5h4coemfMvU1eABfER6RG1klik=
-R2Qp0UuOuBmx92ImtPG7wALm/EKxWl15
-WEck0+cxgSKioNaJ2OEJLEoPmHAI4936
-06uexQw4y8b+wP1ZSJe0FSJCwkfSBhWqy4x6AQXguls=
-r83+pje9TfVip1CQWTvLTfOj8LtFg+GJ
-IstZUls4S9C0PZ7rDpYw+g==
-Be6thebZitW0PZ7rDpYw+g==
-P6wUpZ7cEfLSNFr9wNKob/Oj8LtFg+GJ
-24DcSkM24SyWrgmkghmdO1Ko6ZZdPmtcIstZUls4S9C0PZ7rDpYw+g==
-24DcSkM24SyfWNoX9a3Od+cIVVBHT46ECvyKmpm5Z0Q=
-vnwU+0qImZgMfYHTbdiqgzafjRHdOXF7kZHZKTLqi55oSc+ICvgEcA==
-Wv0p/PwJHRdip1CQWTvLTfOj8LtFg+GJ
-Wv0p/PwJHRe8RbktMnXXHfOj8LtFg+GJ
-ZWQHTSD6hCvSNFr9wNKob/Oj8LtFg+GJ
-EB1+TmwsWHFLSooFBSheEecIVVBHT46ECvyKmpm5Z0Q=
-fSwdf2OLVVybhnAszwc98POj8LtFg+GJ
-xADmzjZLg26rDnbY10uRMhdFowAX23QPk0YDCbV1OWE=
-Ul8U37ddLmtgUpBCSW/6PxdFowAX23QPk0YDCbV1OWE=
-bIi9Gd5dx4UOvr8fRUm9HQT1tZsHfiBBy4x6AQXguls=
-tQqyk3JtpQRKvIGmSUkp3n8sLwo3kZf09H0E8iKXJVg=
-tQqyk3JtpQQRTjBq75VbAgfkmii5BuyZ+wmNWke18BM=
-tQqyk3JtpQROxwZ9C7+94Qfkmii5BuyZ+wmNWke18BM=
-tQqyk3JtpQTFSvfKUaOFUKvYn9sFOwi1fywvCjeRl/T0fQTyIpclWA==
-tQqyk3JtpQRkcAErkj/nUrOsDNsReNLeRPB+qQ9rdKU=
-tEm/PKNO8d3xYWtd1M6BhPOj8LtFg+GJ
-NyAak/c85ik4bE/6KHjA/hmH3vQ7kTSoXpBSJ5uhUAo=
-rT95lZHuLzm/RoLGcCoeUvOj8LtFg+GJ
-246DAPSPSX+UWPSfdoP5UPOj8LtFg+GJ
-TRi1oeyNUdOyMfjkGshymtHEM4o6ZCR6y4x6AQXguls=
-W0u07doTgmmAgbdnywkvhNHEM4o6ZCR6y4x6AQXguls=
-ubdFc9Fjb2NAHJSgJ0mhqt7SGlS0JFuG
-Thq2mIfRTdi8HjJqAapif7BzljBEfN2xy4x6AQXguls=
-8iRAY6UGp0Zb0ng1o0nHZ/Oj8LtFg+GJ
-ccapIA2Os+Sw7MyLlkc8AN7SGlS0JFuG
-hlmCVY6Y2sCyPJEuX5FlVfOj8LtFg+GJ
-gh+pwxxYTntwBAZHGE82h/Oj8LtFg+GJ
-f9vKvkRJdeDWUpDt6Xr+nkpgEZ36UZf7
-rlgWhYLTdSWdGLiDN2Hnj97SGlS0JFuG
-NxXJMZyQWz+dGLiDN2Hnj97SGlS0JFuG
-HSkrEwRQj92+DupvRV9k9N7SGlS0JFuG
-v0cw1FPyd87WUpDt6Xr+nkpgEZ36UZf7
-asbQtasot/N/NfWlTO+M8g==
-hYF2byblOfrmON+KcZNNZ9oEi1pr5Y8k
-FOjb6eu8wujVGlpd50u+NkpgEZ36UZf7

File diff suppressed because it is too large
+ 0 - 25357
bigdata-web/src/main/resources/bigdata_sex_age_filter.dict


+ 29 - 5
common-push/src/main/java/org/diagbot/common/push/cache/CacheFileManager.java

@@ -1,6 +1,7 @@
 package org.diagbot.common.push.cache;
 
 import org.diagbot.pub.jdbc.MysqlJdbc;
+import org.diagbot.pub.utils.PropertiesUtil;
 import org.diagbot.pub.utils.security.EncrypDES;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -29,17 +30,26 @@ public class CacheFileManager {
     public static void main(String[] args) {
         CacheFileManager cacheFileManager = new CacheFileManager();
         String p = cacheFileManager.getClass().getClassLoader().getResource("").getPath();
-        p = p.substring(0, p.indexOf("common-push/"));
+        p = "d:/cache_file/";
+        File file = new File(p);
+        if (!file.exists()) {
+            file.mkdirs();
+        }
         //自然语言处理
-        cacheFileManager.createNlpCacheFile(p + "nlp/src/main/resources/");
+        cacheFileManager.createNlpCacheFile(p);
         //大数据
-        cacheFileManager.createBigDataCacheFile(p + "bigdata-web/src/main/resources/");
+        cacheFileManager.createBigDataCacheFile(p);
         //图谱
-        cacheFileManager.createGraphCacheFile(p + "graph/src/main/resources/");
+        cacheFileManager.createGraphCacheFile(p);
     }
 
     public CacheFileManager() {
-        String p = this.getClass().getClassLoader().getResource("").getPath();
+        PropertiesUtil propertiesUtil = new PropertiesUtil("nlp.properties");
+        String p = propertiesUtil.getProperty("cache.file.dir");
+        File file = new File(p);
+        if (!file.exists()) {
+            file.mkdirs();
+        }
         logger.info("cache file path...." + p);
         path = p;
     }
@@ -150,6 +160,9 @@ public class CacheFileManager {
                 fw.write("\n");
             }
             fw.close();
+
+            fw = new FileWriter(path + "classify.dict");
+            fw.close();
         } catch (IOException ioe) {
             ioe.printStackTrace();
         } catch (SQLException sqle) {
@@ -304,6 +317,17 @@ public class CacheFileManager {
                 fw.write("\n");
             }
             fw.close();
+
+            sql = "SELECT lib_name FROM kl_concept WHERE is_deleted = 'N' AND lib_type = 70 AND lib_name regexp '[0-9]'";
+            st = conn.createStatement();
+            rs = st.executeQuery(sql);
+
+            fw = new FileWriter(path + "bigdata_value_analyze.dict");
+            while (rs.next()) {
+                fw.write(encrypDES.encrytor(rs.getString(1)));
+                fw.write("\n");
+            }
+            fw.close();
         } catch (IOException ioe) {
             ioe.printStackTrace();
         } catch (SQLException sqle) {

+ 24 - 20
common-push/src/main/java/org/diagbot/common/push/filter/ClassifyDiag.java

@@ -119,8 +119,8 @@ public class ClassifyDiag {
         List<String> newBIgDiagList = this.removeKeng(queDiagList, bigDiagList);
         System.out.println("图谱归一前数据 :"+queDiagList);
         if(queDiagList != null && queDiagList.size()>0){
-            //图谱归一
-            Set<String> queSet = this.diagProcess(queDiagList);
+            //图谱归一 ,图谱sign =0,大数据sign = 1
+            Set<String> queSet = this.diagProcess(queDiagList,0);
             System.out.println("图谱归一后的数据    :"+queSet);
             if(queSet != null && queSet.size()>0){
                 for (String queDis:queSet) {
@@ -253,7 +253,7 @@ public class ClassifyDiag {
      * @param disList
      * @return
      */
-    public Set<String> diagProcess(List<String> disList){
+    public Set<String> diagProcess(List<String> disList,int sign){
         Set<String> first = new HashSet<>();
         Set<String> second= new HashSet<>();
         Set<String> third= new HashSet<>();
@@ -340,28 +340,32 @@ public class ClassifyDiag {
         pushDiag.addAll(other); //归一后的
 
         Set<String> finalList = new LinkedHashSet<>();
-        Map<String,String> disRate = new HashMap<>();//诊断-->百分比
-        for (String dis:disList) {
-            int i = pushDiag.indexOf(dis);
-            if(i >= 0){
-                finalList.add(dis);
+        if(sign == 0){
+            finalList.addAll(pushDiag);
+        }else if(sign == 1){
+            for (String dis:disList) {
+                int i = pushDiag.indexOf(dis);
+                if(i >= 0){
+                    finalList.add(dis);
 
-            }else {
-                List<Object> testList= new ArrayList<>();
-                String s = diagClassifyCache.get(dis);
-                if(StringUtils.isNotEmpty(s)){
-                    testList.add(s);
-                }
-                List<Object> key = this.getKey(diagClassifyCache, dis);
-                boolean b = testList.addAll(key);
-                for (Object dis1:testList) {
-                    if(pushDiag.indexOf(dis1)>=0){
-                        finalList.add(dis1.toString());
+                }else {
+                    List<Object> testList= new ArrayList<>();
+                    String s = diagClassifyCache.get(dis);
+                    if(StringUtils.isNotEmpty(s)){
+                        testList.add(s);
+                    }
+                    List<Object> key = this.getKey(diagClassifyCache, dis);
+                    boolean b = testList.addAll(key);
+                    for (Object dis1:testList) {
+                        if(pushDiag.indexOf(dis1)>=0){
+                            finalList.add(dis1.toString());
 
+                        }
                     }
                 }
             }
         }
+
         return finalList;
 
     }
@@ -375,7 +379,7 @@ public class ClassifyDiag {
     public List<FeatureRate> sortFeatureList(List<String> diss,List<FeatureRate> updates){
         DecimalFormat df = new DecimalFormat("0.####");
        List<FeatureRate> sortFeatures = new LinkedList<>();
-        Set<String> strings = this.diagProcess(diss);
+        Set<String> strings = this.diagProcess(diss,1);
 
         Map<String,Double> disRate = new HashMap<>();
         //归一确诊

+ 61 - 77
graph/src/main/java/org/diagbot/graph/util/CacheUtil.java

@@ -26,15 +26,12 @@ public class CacheUtil {
     }
 
     public static Map<String,String> createDiagDepartCache(){
-        String path = "graph_diag_2_dept.dict";
         Configuration configuration = new DefaultConfig();
-        if(doc_result_mapping_diag_map == null){
-            doc_result_mapping_diag_map = new HashMap<>();
-            List<String> contentList = configuration.readFileContents(path);
-            for (String s:contentList) {
-                String[] splits = s.split("\\|");
-                doc_result_mapping_diag_map.put(splits[0],splits[1]);
-            }
+        doc_result_mapping_diag_map = new HashMap<>();
+        List<String> contentList = configuration.readFileContents("graph_diag_2_dept.dict");
+        for (String s:contentList) {
+            String[] splits = s.split("\\|");
+            doc_result_mapping_diag_map.put(splits[0],splits[1]);
         }
         return doc_result_mapping_diag_map;
     }
@@ -48,29 +45,26 @@ public class CacheUtil {
     }
 
     public static Map<String,Integer> createDiagClassifyJiCache(){
-        String path = "graph_diag_normalize.dict";
         Configuration configuration = new DefaultConfig();
-        if(diagClassifyJiMap == null){
-            diagClassifyJiMap = new HashMap<>();
-            List<String> contentList = configuration.readFileContents(path);
-            String diagName =null,bigdiagName=null;
-            String[] diagSort =null;String[] split = null;
-            for (String s:contentList) {
-                String[] splits = s.split("\\|");
-                if (splits.length >= 2) {
-                    diagName = splits[0].trim();//疾病本体
-                    bigdiagName = splits[1].trim();//疾病大类
-                    split = bigdiagName.split("\\、");
-                    for (String dis:split) {
-                        diagClassifyJiMap.put(dis, 2);
-                    }
-                    diagClassifyJiMap.put(diagName,1);
-                    if (splits.length == 3) {
-                        diagSort = splits[2].split("\\、");
-                        for (String dis : diagSort) {
-                            if (StringUtils.isNotEmpty(dis.trim())) {
-                                diagClassifyJiMap.put(dis.trim(), 3);
-                            }
+        diagClassifyJiMap = new HashMap<>();
+        List<String> contentList = configuration.readFileContents("graph_diag_normalize.dict");
+        String diagName =null,bigdiagName=null;
+        String[] diagSort =null;String[] split = null;
+        for (String s:contentList) {
+            String[] splits = s.split("\\|");
+            if (splits.length >= 2) {
+                diagName = splits[0].trim();//疾病本体
+                bigdiagName = splits[1].trim();//疾病大类
+                split = bigdiagName.split("\\、");
+                for (String dis:split) {
+                    diagClassifyJiMap.put(dis, 2);
+                }
+                diagClassifyJiMap.put(diagName,1);
+                if (splits.length == 3) {
+                    diagSort = splits[2].split("\\、");
+                    for (String dis : diagSort) {
+                        if (StringUtils.isNotEmpty(dis.trim())) {
+                            diagClassifyJiMap.put(dis.trim(), 3);
                         }
                     }
                 }
@@ -88,30 +82,27 @@ public class CacheUtil {
     }
 
     public static Map<String,String> createDiagClassifyCache(){
-        String path = "graph_diag_normalize.dict";
         Configuration configuration = new DefaultConfig();
-        if(diagClassifyMap == null){
-            diagClassifyMap = new HashMap<>();
-            List<String> contentList = configuration.readFileContents(path);
-            String diagName =null,bigdiagName=null;
-            String[] diagSort =null;String[] split =null;
-            for (String s:contentList) {
-                String[] splits = s.split("\\|");
-                if (splits.length >= 2) {
-                    diagName = splits[0].trim();//疾病本体
-                    bigdiagName = splits[1].trim();//疾病大类
-                    split = bigdiagName.split("\\、");
-                    for (String dis:split
-                            ) {
-                        diagClassifyMap.put(dis, diagName);
-                    }
+        diagClassifyMap = new HashMap<>();
+        List<String> contentList = configuration.readFileContents("graph_diag_normalize.dict");
+        String diagName =null,bigdiagName=null;
+        String[] diagSort =null;String[] split =null;
+        for (String s:contentList) {
+            String[] splits = s.split("\\|");
+            if (splits.length >= 2) {
+                diagName = splits[0].trim();//疾病本体
+                bigdiagName = splits[1].trim();//疾病大类
+                split = bigdiagName.split("\\、");
+                for (String dis:split
+                        ) {
+                    diagClassifyMap.put(dis, diagName);
+                }
 
-                    if (splits.length == 3) {
-                        diagSort = splits[2].split("\\、");
-                        for (String dis : diagSort) {
-                            if (StringUtils.isNotEmpty(dis.trim())) {
-                                diagClassifyMap.put(dis.trim(), bigdiagName);
-                            }
+                if (splits.length == 3) {
+                    diagSort = splits[2].split("\\、");
+                    for (String dis : diagSort) {
+                        if (StringUtils.isNotEmpty(dis.trim())) {
+                            diagClassifyMap.put(dis.trim(), bigdiagName);
                         }
                     }
                 }
@@ -129,9 +120,8 @@ public class CacheUtil {
     public static Map<String,String> createDiagSortCache(){
         disgSortMap = new HashMap<>();
 
-        String path = "graph_diag_classify.dict";
         Configuration configuration = new DefaultConfig();
-        List<String> contentList = configuration.readFileContents(path);
+        List<String> contentList = configuration.readFileContents("graph_diag_classify.dict");
         for (String s:contentList) {
             String[] splits = s.split("\\|");
             String diagName = splits[0];
@@ -149,22 +139,19 @@ public class CacheUtil {
     }
 
     public static Map<String,Map<String,String>> createSexAgeCache(){
-        String path = "graph_sex_age_filter.dict";
         Configuration configuration = new DefaultConfig();
-        if(sexAgeMap == null){
-            sexAgeMap = new HashMap<>();
-            List<String> contentList = configuration.readFileContents(path);
-            for (String s:contentList) {
-                Map<String,String> contentMap = new HashMap<>();
-                String[] splits = s.split("\\|");
-                String sexTyep = splits[1];
-                String min_age = splits[2];
-                String max_age = splits[3];
-                contentMap.put("sexType",sexTyep);
-                contentMap.put("min_age",min_age);
-                contentMap.put("max_age",max_age);
-                sexAgeMap.put(splits[0],contentMap);
-            }
+        sexAgeMap = new HashMap<>();
+        List<String> contentList = configuration.readFileContents("graph_sex_age_filter.dict");
+        for (String s:contentList) {
+            Map<String,String> contentMap = new HashMap<>();
+            String[] splits = s.split("\\|");
+            String sexTyep = splits[1];
+            String min_age = splits[2];
+            String max_age = splits[3];
+            contentMap.put("sexType",sexTyep);
+            contentMap.put("min_age",min_age);
+            contentMap.put("max_age",max_age);
+            sexAgeMap.put(splits[0],contentMap);
         }
         return sexAgeMap;
     }
@@ -177,15 +164,12 @@ public class CacheUtil {
     }
 
     public static Map<String,String> createVitalCache(){
-        String path = "graph_vital_convert.dict";
         Configuration configuration = new DefaultConfig();
-        if(vitalMap == null){
-            vitalMap = new HashMap<>();
-            List<String> contentList = configuration.readFileContents(path);
-            for (String s:contentList) {
-                String[] splits = s.split("\\|");
-                vitalMap.put(splits[0],splits[1]);
-            }
+        vitalMap = new HashMap<>();
+        List<String> contentList = configuration.readFileContents("graph_vital_convert.dict");
+        for (String s:contentList) {
+            String[] splits = s.split("\\|");
+            vitalMap.put(splits[0],splits[1]);
         }
         return vitalMap;
     }

+ 0 - 899
graph/src/main/resources/graph_diag_2_dept.dict

@@ -1,899 +0,0 @@
-iWoXV4ISKfEEe8p5BEeGMXcP2fi9nVPgIVOt7Mod6Ptttw/uxcjHEZNGAwm1dTlh
-13BZUxQKtR8khcL82U/gR6xTxv6q3ER1T31+8tdUysA=
-13BZUxQKtR8Ee8p5BEeGMbPfb65AhyohrCW1qrlOrIXnCFVQR0+OhAr8ipqZuWdE
-13BZUxQKtR8Ee8p5BEeGMSgN76O6SVyHRQ5SX/rmfCbnCFVQR0+OhAr8ipqZuWdE
-13BZUxQKtR8Ee8p5BEeGMTGSeaWwHrO28DsYuNRP2xrzo/C7RYPhiQ==
-13BZUxQKtR8Ee8p5BEeGMfy0mrZa9NlMB+04xUYH/mDnCFVQR0+OhAr8ipqZuWdE
-13BZUxQKtR8Ee8p5BEeGMVDAaNQ6vkAnhf6kv3fA54PnCFVQR0+OhAr8ipqZuWdE
-13BZUxQKtR9x+KllafTRWVzBEC3KTBfP57Coq4ynowFKYBGd+lGX+w==
-UBb+CN3DpdXV4GVpSzaFCvOj8LtFg+GJ
-RwfaZMa+tcJkNVRINR3RaHpmvKAVeqCzRPB+qQ9rdKU=
-aExuyB28XAR0Cy32pByLQhO3DcTvO3TKaXBl6wZu5y0=
-Rq6VzCfzICn9+r0EMibpOfOj8LtFg+GJ
-tjTBHQOg4JZWgHE3Y5h4coemfMvU1eABfER6RG1klik=
-LPekO1Vw5kgU8eAB+2lgKlX9mMU2d4g0sKnW7jmERCH1rLaDeGOQwfOj8LtFg+GJ
-LPekO1Vw5khtd8WtUYdrl/znlgPCB6PWstNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-iB2sYRaVfwL9+r0EMibpOfOj8LtFg+GJ
-XQT3SHWafIA+AOWtZC88XC+F4lgKG0ZK9Z7CDt8UKI/v3eyoY7qwoXAul+X1XFtHy4x6AQXguls=
-GG71AOESABIJbTP+AlIFufOj8LtFg+GJ
-GOs/j0/PHelIkRc7oSI9szKnOEpdVQkO9RrMjQw02M5PfX7y11TKwA==
-GOs/j0/PHelIkRc7oSI9szlHsXZwP1nWl2UMsW6I5bP1rLaDeGOQwfOj8LtFg+GJ
-GOs/j0/PHelIkRc7oSI9s97P1cGs5sNK6P3MMb1JPeD1rLaDeGOQwfOj8LtFg+GJ
-GOs/j0/PHelIkRc7oSI9s94er8ZM74QIQtrkkMzshHxxqUIOvKQ/dwLm/EKxWl15
-cDwUoESXFL5MSclGunBL8q4kLpO4b0WCN5m+Gay4mDc=
-XTjWGwZLoH1auJLtJZplqtSXQVOsJCee52mHitj3oNVPfX7y11TKwA==
-is24Ye5iddmK0fcjJ8eyd1F5djzFc1mvfywvCjeRl/T0fQTyIpclWA==
-KbKku7ucQ39uoije31Jd6MgDR9Ol2aU1fER6RG1klik=
-XeNsCvsSABj/1Gi6u346QEpgEZ36UZf7
-u9VShjNiQLaEh57YJ81oCvOj8LtFg+GJ
-8eEwHEIyR3CEqKNFUcAAUEpgEZ36UZf7
-oRqu1B35G5r4prflBcOI/gfkmii5BuyZu7hkhPiE07E=
-oRqu1B35G5oQ+WWu+Cc9mPRovAvBdywmstNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-0jJMm1O24VdIuBTSfWq8fz8zYxNh6qQehkzsWr2fJvRpwcfsxZv+X0iU8imBtrfgy4x6AQXguls=
-NhbO6gkLwqjse810KERveORV0q3Q8qjoy4x6AQXguls=
-NhbO6gkLwqh9giU0ougSyIemfMvU1eABfER6RG1klik=
-IOQii0cLb7Ss+U6SBrCCGp+9Oh29Slfk52mHitj3oNVPfX7y11TKwA==
-enu6avlk5YpYqoBsat2Ybx/ps2807HA2y4x6AQXguls=
-0sR5tvt5nTkiJp0gJWIG2B/ps2807HA2y4x6AQXguls=
-ike6hX0KY4854R3RmIhG3R/ps2807HA2y4x6AQXguls=
-DOXrtCrKcXSzbDHIoU2htR/ps2807HA2y4x6AQXguls=
-DOXrtCrKcXQc6kU7pH5cVR/ps2807HA2y4x6AQXguls=
-MzrnRYF60fg1zeORSYfFpEoPmHAI4936
-yWaySNFE8XgC0uinfuVoYjBrQoRmQwfSteq+RIooEghPfX7y11TKwA==
-MdIN8DMpaEBWgHE3Y5h4cvjGqlRxOSxuKSotK/v0yek=
-Oed05VhE/J8vZEYJ+Qgwo0oPmHAI4936
-95YPV7nX9j+yPJEuX5FlVfOj8LtFg+GJ
-BGL6SBJINCSqv45Aj5fuOh/ps2807HA2y4x6AQXguls=
-ZNQWeAaprLh+Mdl3Bm+eOB/ps2807HA2y4x6AQXguls=
-Ys4HY1VWiNz9qI/NdGuLvvjGqlRxOSxuKSotK/v0yek=
-E4hT7N3ytDu1bH4gSInujULj3Su8S5w3fywvCjeRl/S0FrgmK9pWPA==
-7mHfSs2ahWgivWPiUX9ug78AMGVXssqQKJZKOfgg6nHJOvnYyXNsXpC4iPbph9qG
-ltfmaY06UmH2YvmikroYRkv4Vh0daqQJrFPG/qrcRHVPfX7y11TKwA==
-xbg5pYjlVtXGgDHUkbi1wK7QEgPGBpLdgymuBa+h7SiRwhQGBKdSp/Oj8LtFg+GJ
-Zlo5WYcgZKpNiiBTZZbq1WJoTAS/DAZEoEfwk8+pyRbnsKirjKejAUpgEZ36UZf7
-vPPRWcr4YTeEfvwh8gqO7i9GjCJsfm4xPCHvXzw0mit1CazNTv2aYfOj8LtFg+GJ
-fHK6mvJmg/7/1Gi6u346QEpgEZ36UZf7
-qptm92sSB/VYvUmCs9IY3d7SGlS0JFuG
-qtlkwnn27ACw8mEQdSz4E/Oj8LtFg+GJ
-Vrbj4RFVsOeGcy6xPYEwTveK6RLf4xMTy4x6AQXguls=
-laj6iFmYc2DeUidRm/poynAul+X1XFtHy4x6AQXguls=
-uQzgoFGJdFjdnbhWjFDvHwT1tZsHfiBBy4x6AQXguls=
-fMSADmyw8MVv8ZabwFNKANsp4Ism9gRNy4x6AQXguls=
-Sg9tt2ZNeu5v8ZabwFNKANsp4Ism9gRNy4x6AQXguls=
-1MVvkAG3zx1v8ZabwFNKANsp4Ism9gRNy4x6AQXguls=
-tFWoa+Fa+E0KvpYijT+IHq4kLpO4b0WCN5m+Gay4mDc=
-HlBPgXjTWrPCE5zi/CJYd0pgEZ36UZf7
-qJyJhtR9wYUzXDr7TYw7uQLm/EKxWl15
-5HgQz9bhZBZ5fyp8g0MqBZBwNuVVH6sq
-W+uRpV2VRGfOEs8faPFbVJBwNuVVH6sq
-+1VsVSgMX3q9FppGobofTZBwNuVVH6sq
-fd7Rpt8fWBifF7pIg0uQua1TqwiA1pre
-fd7Rpt8fWBhUIm92l3iN1WDAN33wOHW6wQ7cCkCUWxZPfX7y11TKwA==
-ZtiRChQSkznxJj5V9utwy0iU8imBtrfgy4x6AQXguls=
-1+jfA83l+iKF3SayFI67uACfONS6MbsgaXBl6wZu5y0=
-/VqIfk4vfde3JvJ2Xjm9/UpgEZ36UZf7
-3OUUj3H9vbXrfZHpEMHYgUpgEZ36UZf7
-3OUUj3H9vbXwozCIpR0nf0pgEZ36UZf7
-JWBCcm2oC0hlDmn3A9bDMCZCeN6biUcBg1jh8Ox1rhV6m9y9N5DCvA==
-5whVUEdPjoQERGJhJJb/jB5IdN0yf6TrxJjmGu3AgzrnsKirjKejAUpgEZ36UZf7
-pJZkFr1uMau5/0FNXste6fOj8LtFg+GJ
-jnQH++UTPaibBHhE3G65A5OH5JCq/vF1WhqDUIQPQGM=
-de3O9146cmULVgLDGsMmxnAul+X1XFtHy4x6AQXguls=
-9UQdU1VIB/Ztd8WtUYdrl/znlgPCB6PWstNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-zybTgccYrmvNZmfBQxP52cK0z0/1KIV28K8JgXllPjTLjHoBBeC6Ww==
-9U2iKDgg7A8Fwc85LPgI0O/1mwKFPYtV1K7XQRHlBMM=
-kdU8UcCILZA2zqe2dEz9kO/1mwKFPYtV1K7XQRHlBMM=
-x9ZTV7gEMRCi91Qg24vlA75amaIn5rxJIrRdP5MeE9j1rLaDeGOQwfOj8LtFg+GJ
-FQUi8oWeKA22mkhDBQ8Od0ffVX1Kx6/gaXBl6wZu5y0=
-FQUi8oWeKA009nSxFi4IHE7wB8aAVMVRF2Mdrjp/QpU=
-FQUi8oWeKA0t2SdYDpcKM4jI8KpajKVSpg10U7yntVtPfX7y11TKwA==
-FQUi8oWeKA2km2jSURfVd0ffVX1Kx6/gaXBl6wZu5y0=
-FQUi8oWeKA1DOzz3YWNJ69+VJP2lrbmu
-FQUi8oWeKA16K4HqriD8jUffVX1Kx6/gaXBl6wZu5y0=
-FQUi8oWeKA2ZveeDa7x7vQ26QOL8owUaqUTgJrEohqbQx1T34QTwhkpgEZ36UZf7
-PN71jlSk34UCxwQXdsGm4ZQZTiZNO+I5N5m+Gay4mDc=
-2aDJllB28JLJXbPtseCSr61TqwiA1pre
-24AwIW/ZQevhfJ7nO4hl9jqmLc90JllH+QN+W6do9IvLzkZfPTHbZw==
-e8PUaMqGKBjbjtQVzMQGtVO8SBODgX57y4x6AQXguls=
-g6f6B3EKC0mq/hI3Siy1ns1Rj9szbZqu9RrMjQw02M5PfX7y11TKwA==
-cn9SelEe5HtR55atK842DPOj8LtFg+GJ
-kN7D+ZqtUAf40aKLMAZlPfBjDc6YVozA/Moy/+Vge7xPfX7y11TKwA==
-kN7D+ZqtUAcsXyKn8XbgBbbrO1fPMBV70pCfO/z5g6Y=
-kN7D+ZqtUAfgxTPOJka4x+1sIpk3UltPRPB+qQ9rdKU=
-kN7D+ZqtUAdEPzDylc672CH/h1pywZ5c0pCfO/z5g6Y=
-kN7D+ZqtUAe6K5+69vyqZ9/Pdt1H5L9h0pCfO/z5g6Y=
-2uRZ3LWgKU3RH5Nj+q+LtlPq3vaS3WGD
-rt8lOfUgZoK3CTjvFzoCRlQlsPKn/6q1hFq5sh8RQyE=
-rt8lOfUgZoJlQTf2O+iulomK/3Xny8ms9hT2lIaacqU=
-IHXErJfSSFCNuoiIa651tyyfxx3KDwLB
-785EOhh4F5sj7CuznFHzhJBwNuVVH6sq
-I1DBVtavRK2E1PvLgQn/VJBwNuVVH6sq
-liY3+k43l7+Q4FSyzAKv7/wyznKZVl2qYcKCqJ6M1pTMhUL6uE0NXEpgEZ36UZf7
-UrVzAjnIcuBxOkPtc5YzshjdGWQl0x5hy4x6AQXguls=
-cZht5tTkz8OyPJEuX5FlVfOj8LtFg+GJ
-DGdum4rbXqc5TekogOYmZ5BwNuVVH6sq
-kMsfiffRfraGOny5ykosGoUXNaoO/BVxA4H4FjoDGQbLzkZfPTHbZw==
-k63/U+Ort/t1sXunLF29ToZjzlmb0DiP9hT2lIaacqU=
-w0f3DSSJVtT4n7ZrF0P2pJBwNuVVH6sq
-anqc376RwxH2YvmikroYRr8AMGVXssqQKJZKOfgg6nHJOvnYyXNsXpC4iPbph9qG
-anqc376RwxEclteAVjASagjVcYt6XiKfROcxxZkPB1r0fQTyIpclWA==
-anqc376RwxFrnfoP+wEgV+RV0q3Q8qjoy4x6AQXguls=
-anqc376RwxGunL6RPUuCpx1hqIGQ97twstNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-anqc376RwxEl2d7cPemZpxAJGqasuIcYJfZSBCKF4gHm9GlJmRbg+OcIVVBHT46ECvyKmpm5Z0Q=
-rsOHmN/4ufkL8rKaud4vfO/1mwKFPYtV1K7XQRHlBMM=
-0z7NEIWwDp3MhUL6uE0NXEpgEZ36UZf7
-6CdJfik1TY5WtttuC4yb65BwNuVVH6sq
-kigrNEhv/MvSNFr9wNKob/Oj8LtFg+GJ
-G4j5jFyDtCkSCQzGhDDQ3yH/h1pywZ5c0pCfO/z5g6Y=
-qna3IZTy69SQLBb9TLgT0vOj8LtFg+GJ
-Qnj2SoYUQEDwOxi41E/bGvOj8LtFg+GJ
-mpaFzePG/5qUfFjfGL0+BmL6uHlLqsog
-u2y2FVfBqZ7HXWLfSvfpsvOj8LtFg+GJ
-md7FgUY16RRpHAHM1WsmQ8/EDJLz2N3ohFq5sh8RQyE=
-WeRGepVqdPi7Pl0reaplqbOsDNsReNLeRPB+qQ9rdKU=
-oVJkClU0Bvh5NR6CtIcYXyJQS0qubhjOCpU7P23QhntPfX7y11TKwA==
-LX1/RTaigThHUNbECAUpcAfkmii5BuyZ+wmNWke18BM=
-Iwq5Ivop+7oJTP+5mC6pPL13FBy0uL+iRPB+qQ9rdKU=
-f/NLwF/5qBnwshyLxCfprPOj8LtFg+GJ
-XEK48ftZVQvwshyLxCfprPOj8LtFg+GJ
-xm0YhMMvUrTv6eQ9seoGjEUzv8FEiuOYROcxxZkPB1r0fQTyIpclWA==
-KA3vo7pJXIdFDlJf+uZ8JnpmvKAVeqCzRPB+qQ9rdKU=
-BIsR7PAOZaBXpjffLvuUW0wWBzUGIE3Fy4x6AQXguls=
-l0FzfX6DT5kc2AsKYh9Av0wWBzUGIE3Fy4x6AQXguls=
-OgGc28R9XYqrdXvWFsyZiN7SGlS0JFuG
-LxBJSTkhXn+dGLiDN2Hnj97SGlS0JFuG
-zp7DEq21BTwlFymD5/1N/rBzljBEfN2xy4x6AQXguls=
-tlK7bfXVIBXcuzi3+wsImh/ps2807HA2y4x6AQXguls=
-UhUtlWoQP1DCE5zi/CJYd0pgEZ36UZf7
-SaUpgNmsHasnHOlkm0sxA+RV0q3Q8qjoy4x6AQXguls=
-0FmNHjoeZ7YD+iwJRdWW+/Oj8LtFg+GJ
-KBLbMm9Rg00q123TAhgbee/1mwKFPYtV1K7XQRHlBMM=
-nC3Olv+9F3VfoGFpKmLQzCBZw/ZMqkrAepvcvTeQwrw=
-ZnpTQ/05IxPiTIsP7LhxYtHEM4o6ZCR6y4x6AQXguls=
-BWf2VPSq/CBX70UMh3l1zfOj8LtFg+GJ
-rHGVkOky9lRkNVRINR3RaFPq3vaS3WGD
-wkneReaVJMEUYWv2tTiLuBL2525Y8Jlzy4x6AQXguls=
-vecfpO5xbBycNLWbhMusxFQlsPKn/6q1hFq5sh8RQyE=
-9pI83TCsPVXWUpDt6Xr+nkpgEZ36UZf7
-9ATztfXQ4YI5ywm7JAmEzt7SGlS0JFuG
-1gUH5d9S+SQP+0LchfW6bt7SGlS0JFuG
-Sa+uZygGJsFTEX0WzzhmTd7SGlS0JFuG
-0xF9G4KuCCSdGLiDN2Hnj97SGlS0JFuG
-DefAwZ4n13SXuNGxONPgs+RV0q3Q8qjoy4x6AQXguls=
-nAVIQhmgLsUqzclmSTZy7O/1mwKFPYtV1K7XQRHlBMM=
-VQyanJdAJxr8KlV1ph0Yje1sIpk3UltPRPB+qQ9rdKU=
-54MHTIPxFWm5/0FNXste6fOj8LtFg+GJ
-AC5wqOrDg0OEh57YJ81oCvOj8LtFg+GJ
-xEUfjPFZ/xYq17w2ajSKHLBzljBEfN2xy4x6AQXguls=
-qDJCWQ+e+n61f4daHIwZR9HEM4o6ZCR6y4x6AQXguls=
-mAvmI45vfiVtV7mJSxdBKJBwNuVVH6sq
-aMsbvjbfGsUxQ2HeHu18jlufv0N47kkKaAYhz49iPPQ=
-m+hvPY3d9tI9PnHdu7yUaSBZw/ZMqkrAepvcvTeQwrw=
-CDrQ2ea5LGDJOvnYyXNsXpC4iPbph9qG
-GeOoxHykR0NIkRc7oSI9szKnOEpdVQkOwQ7cCkCUWxZPfX7y11TKwA==
-9X6X38YdgQciqg4ZKtRMEaFjfApLwKh/PtbZND328nI=
-sdjtfGRtUulfuLJtpOjzH/Oj8LtFg+GJ
-gywMijxUj6c+OyyB6z9n5POj8LtFg+GJ
-R2eAdMyK6zSU7JD4YB6JqfOj8LtFg+GJ
-gkB282ET6CHZnuNxhT4mNoDCsJ8T2pbfepvcvTeQwrw=
-rmw3y68nbTxtR8wDUlebCerUo2OLEJuOCpU7P23QhntPfX7y11TKwA==
-+bJ/vQZNZX5a94t2FvAzVBjdGWQl0x5hy4x6AQXguls=
-Ijs5NwarmpdGNWh/ueDr//oslnIPxwMNqY/rONiW9dfLzkZfPTHbZw==
-Fa4m96t0Af/TV3ww/e2cDZBwNuVVH6sq
-GLZe/17QCbzt0Lwb79na4yq1UHZ+9sTmCpU7P23QhntPfX7y11TKwA==
-GLZe/17QCbxmXvUvjgbr4kY8THOUtOF7856CtLA2mBI=
-GLZe/17QCbw2Hyl0WmLydTOZLUhfMDr5Z36YRUA/eqPMhUL6uE0NXEpgEZ36UZf7
-zy+BWp25HIY8YGgnfhG/CpBwNuVVH6sq
-YmFbY+KQ4Y7q4CxvGXZpehjdGWQl0x5hy4x6AQXguls=
-YmFbY+KQ4Y62jZ0HIHtNhCKNGmIIhDZD856CtLA2mBI=
-YmFbY+KQ4Y5QHYDAU4bOhUr9oz8W6N26epvcvTeQwrw=
-YmFbY+KQ4Y4dNToG2d9B8wPMYZdUQfnX856CtLA2mBI=
-YmFbY+KQ4Y4dNToG2d9B8/x4wZJZoVmQ8GwBcK2jcmzLzkZfPTHbZw==
-YmFbY+KQ4Y4bHBvW0gRQFxjdGWQl0x5hy4x6AQXguls=
-YmFbY+KQ4Y4JJVgL5g3rBuRV0q3Q8qjoy4x6AQXguls=
-SEf6luKEZaNhu51s4ddTcxak9y4lRig4856CtLA2mBI=
-YdusYOZMMEEHkzvFoiBCspGRrBPOUOsvCd7cH2MFQVPLzkZfPTHbZw==
-WAXiD8YngH/NviT5sRQoM5BwNuVVH6sq
-Qud0EeTCG2GQfWiEdArhspBwNuVVH6sq
-Jl+v2iIQ3PRl6qtXuMmmfRjdGWQl0x5hy4x6AQXguls=
-EpkhMubA/KU2uRhwSJ6d+Y6XI0/uKdr28GwBcK2jcmzLzkZfPTHbZw==
-lk8o5519Kxjg6njkDcx/a4LXI+MfHNbWfywvCjeRl/T0fQTyIpclWA==
-DIt4Xp3Xbla1QXPpBNd8kQncLU6QuExl9RrMjQw02M5PfX7y11TKwA==
-2ldeYKVA5RpUYRP2vPq8D9ll6SkFs1l/9RrMjQw02M5PfX7y11TKwA==
-ZHexhB9C/Zz4F0w18YK/UcJTRkl7CKPoepvcvTeQwrw=
-0aA0U9ckmH2SPaLA/eokGpBwNuVVH6sq
-0aA0U9ckmH1WgHE3Y5h4chak9y4lRig4856CtLA2mBI=
-udHQ1AK6s0BHbbfugUQuewG5f+vLIXgw856CtLA2mBI=
-udHQ1AK6s0BHbbfugUQuezWfKD51et5xAQXL9AdSuF7MhUL6uE0NXEpgEZ36UZf7
-qBVDKbnPe4DL9/eiOW3PNvOj8LtFg+GJ
-ammVyKzxh8yyPJEuX5FlVfOj8LtFg+GJ
-6fCswTdb7gp4T5EqkTXoH5BwNuVVH6sq
-jmczOIjm5GmjJuX2eeHASfOj8LtFg+GJ
-hck8BB9RXPfRv+VvHMI2mBL2525Y8Jlzy4x6AQXguls=
-xGJWNwmRrvjSNFr9wNKob/Oj8LtFg+GJ
-Dme0iKBg4ltC5hNG7CjHwfOj8LtFg+GJ
-Dme0iKBg4lsKVHWF4Myk4AIg5cy+cuSy8Qk70COrU7VPfX7y11TKwA==
-C4Bngy5bB8t1b91EHw30B0oPmHAI4936
-5yuQig9LutUtwK0yz09R30oPmHAI4936
-dyMnqxlKzdN/JSshJxQ3iqf2wJuFXvN5y4x6AQXguls=
-BKa9L3k9bnJkzZHOvFXHIKf2wJuFXvN5y4x6AQXguls=
-BKa9L3k9bnKHDjyHip04zkffVX1Kx6/gaXBl6wZu5y0=
-GCjAqXPF1Dof+sd2M1vkT/Oj8LtFg+GJ
-tN2/kArLFem7Pl0reaplqbOsDNsReNLeRPB+qQ9rdKU=
-PhvRblnFgRvdce7uzab8M4ydqAmNreE85+3hueUDKGFPfX7y11TKwA==
-asaad8Q4C6Ctv3/3+UBOAUpgEZ36UZf7
-mW7W5BgaP+MjHOA2mhvm0OrUo2OLEJuOROcxxZkPB1r0fQTyIpclWA==
-mW7W5BgaP+MlWHMII4NFM1/cKgeh02Cpy4x6AQXguls=
-mW7W5BgaP+MvmaXSzDwxNK4kLpO4b0WCN5m+Gay4mDc=
-4fpWUFa+lACNuoiIa651tyyfxx3KDwLB
-Iv1mcWBS5FKHDjyHip04zjO11wrX//LPpDa+H9/X6UI=
-qvpIupBm2WX/AxGfixJ3IUpgEZ36UZf7
-8FSnJAv4mC/Mc5Bnc8mDRe54uYxEV7tyotGKnIGJ8i70fQTyIpclWA==
-eAGFq9Be2c60E0hhBYOohO/1mwKFPYtV1K7XQRHlBMM=
-7KSbuV1nCERWtttuC4yb65BwNuVVH6sq
-PbluYqiSMUInlR5KMGbbXKxfcB7OUo5Mk0YDCbV1OWE=
-SvUyT0up+YUaegOSGrYRJl4BNx8oMOoc856CtLA2mBI=
-8y8wJLjHjH8TNfXi0hp2zzxKSn9brCFL0J2lNnMxKpaYzJ6oJv+qKw==
-6EiWonjOwKYAZgmfbgyEWuHSb9kEZhbZAfBGcSNe17xPfX7y11TKwA==
-iXWjcPj0niUZmdQ/MALAmPL6oKDxDkyLHWnCZH6t2//hH/tXNeBfPQ==
-E0zofMTBmei7Pl0reaplqbOsDNsReNLeRPB+qQ9rdKU=
-zC/bIffd/q9utdpwhrdIlAfkmii5BuyZ+wmNWke18BM=
-oVV0uxz5T6z1aHc/UGh87LOsDNsReNLeRPB+qQ9rdKU=
-4yKVkHCQKXYwTqu9Wh9027OsDNsReNLeRPB+qQ9rdKU=
-RjlHunEZKP0T7ne662LsTrOsDNsReNLeRPB+qQ9rdKU=
-iwZpY5oYT+RXSiqVjN5JhLOsDNsReNLeRPB+qQ9rdKU=
-Cks1i1RgvXeuzpfidcLfubOsDNsReNLeRPB+qQ9rdKU=
-xQ8n2p9QTXp30QT7blyM3Qfkmii5BuyZ+wmNWke18BM=
-vGTRMHlT7dXj43Itc7bH7nAul+X1XFtHy4x6AQXguls=
-kRGK26rRVyvv3eyoY7qwoXAul+X1XFtHy4x6AQXguls=
-2jobYaE9hqkLVgLDGsMmxnAul+X1XFtHy4x6AQXguls=
-P7cKB1x3/7hGsAqNnhnTULOsDNsReNLeRPB+qQ9rdKU=
-QY8HRySr7Iwnp75iBJ/Vjwfkmii5BuyZ+wmNWke18BM=
-IAucFrl7qqxLIGJootoeXhDHi1ipAZxkepvcvTeQwrw=
-+812jhbb/MJhfXGLID+DlwxRxeTVAFkvibzFuc+pkRD0fQTyIpclWA==
-Gc+2o0fCUZzBRTe6oIudrbBzljBEfN2xy4x6AQXguls=
-g30soSzYKlYqYKw79TNc7ZU9yEFVkW8kfywvCjeRl/T0fQTyIpclWA==
-5Y1mwjb8gujXQ5dFwFvnLzH8At29S2vWUUnOob68iS9PfX7y11TKwA==
-By5Q/SU5xir2hPuSHwJFxG4yDp8xPBuoawyE6TLbCTavkJTSWMnxMA==
-cJPzYw+8qO2U1kX+sOaXa7BzljBEfN2xy4x6AQXguls=
-cJPzYw+8qO2oTyQOFtqiPd7SGlS0JFuG
-IfQDH7CTkzKwq57YkquoA97SGlS0JFuG
-1AooRnXbEgiveRA5ybYZwBjdGWQl0x5hy4x6AQXguls=
-+8iGrGjQRQXLJRvWtAt1iX4eJb4c8+yiwQ7cCkCUWxZPfX7y11TKwA==
-vKMadaRxCnt9yZ92+zfrDUX1wgDB6SwAlcfDWHvheBM=
-nVdA10JEgrH58tUSo2w3wV8pxEoXZNj5aeu8Uvl+alM=
-+/2OC1vcA4B763zk1n7SVL13FBy0uL+iRPB+qQ9rdKU=
-Gcnsiwomf6vBdIdG8bPRHll2tDC4Deily4x6AQXguls=
-h6H8S6JOlFZIg9VPXIEScier9kpF888AbpgFshbO4WxPfX7y11TKwA==
-ScnIyRoXkewIde0NTCKaofeK6RLf4xMTy4x6AQXguls=
-xUYZz/Y1ys3dPmsNsdD0UjilXWM8iFGV5+3hueUDKGFPfX7y11TKwA==
-rwSi9v0Y5/n868dzID7JMkiU8imBtrfgy4x6AQXguls=
-rwSi9v0Y5/k3lCRoHQSzQaNUfX3uZ7rARPB+qQ9rdKU=
-L4guYbOD3ybEiQqgpijBkO1sIpk3UltPRPB+qQ9rdKU=
-L4guYbOD3ybiWybz9IQNYu1sIpk3UltPRPB+qQ9rdKU=
-L4guYbOD3yaYjQ+nZpk4a/rLJk4dYoKYaXBl6wZu5y0=
-L4guYbOD3yb/9bq0lnqP8u1sIpk3UltPRPB+qQ9rdKU=
-ZpI2ZmzFQJ3d+AsDA8cg40X1wgDB6SwAlcfDWHvheBM=
-xG5CG1VWnMcYMNtTOEq0iiJCwkfSBhWqy4x6AQXguls=
-xG5CG1VWnMemkG9esmQL6vmkGF5eJuLT5YX/dOX/57O0FrgmK9pWPA==
-xG5CG1VWnMfdjUukdGSSoRjdGWQl0x5hy4x6AQXguls=
-XkypoFugO9L4osiym+Qx7rBzljBEfN2xy4x6AQXguls=
-yUBIpiXiGhsjuTEjt/+DHza5a1CR31xtKBLbMm9Rg01qyZUMAi3tqTcKfUh6nySUeU9Behr53wnItVyfMJtsjQ==
-leErXN0I8raC/1FVali0VVqOf3u62uxi
-uNYj01ma7BBp6IUveDLb/kSqVvpudkC5stNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-h/GuGMcf1KaKSb8pX7R3+VqOf3u62uxi
-HzTSi3irigCvmjkAhtg9xlV2rXAZxRtdwIyvNNx82Fm3si0+gPyQ+SSpKIYunmKc
-iUchhe2/rwlC7NNIijAHcl/cKgeh02Cpy4x6AQXguls=
-G6wb24Mf5+T6zB3Lcx4OpWIjE56GxM2wy4x6AQXguls=
-G6wb24Mf5+Q2bj7D5mvDy2IjE56GxM2wy4x6AQXguls=
-G6wb24Mf5+SuA6VKJ2wwgcrVGJOptXRVls1GZC9Rtus=
-G6wb24Mf5+QAEQQg1tP+b+1sIpk3UltPRPB+qQ9rdKU=
-P2k5Ue4Lv8y64ZIHXxB1ELMtDXvYITGLl5Oa2cfGZzRXXWJcXpDSx0pgEZ36UZf7
-P2k5Ue4Lv8wDd7+GstpwnGI2rUC8DjuD1kZ6inS5X/8qp3pee9AtDUpgEZ36UZf7
-v4ihoCtNRVm64ZIHXxB1ELMtDXvYITGLl5Oa2cfGZzRXXWJcXpDSx0pgEZ36UZf7
-VCHr/EMKXxzO0EtYHLOvpgMNBhUCi+wQ9hT2lIaacqU=
-GDDHjFNx9y3/htQJCfkj0jH8At29S2vWUUnOob68iS9PfX7y11TKwA==
-GDDHjFNx9y3/htQJCfkj0jH8At29S2vW2tJwUxoKu3abbUwv5Q8S+d7SGlS0JFuG
-MetFyWuxralvb3xYsvaR/MMR6cuqYjY1KHgdbgnkKc7wshyLxCfprPOj8LtFg+GJ
-xt3ch79mTxiU1kX+sOaXa7BzljBEfN2xy4x6AQXguls=
-xt3ch79mTxioTyQOFtqiPd7SGlS0JFuG
-JZwfCTqSDJWwq57YkquoA97SGlS0JFuG
-V36oXX8CJ64Yoo5YVl4ymjt1kYZzlOQoepvcvTeQwrw=
-duEQlK0W9zCQ4FSyzAKv77AtFeQR31keepvcvTeQwrw=
-NBBXNZCaNE99yZ92+zfrDUX1wgDB6SwAlcfDWHvheBM=
-tsogkendiar58tUSo2w3wV8pxEoXZNj5aeu8Uvl+alM=
-tsogkendiar58tUSo2w3wU8KuEfhpPX9nvxJfBqZsKF1CazNTv2aYfOj8LtFg+GJ
-/nSM2iK24qLBTtMburLns1QlsPKn/6q1hFq5sh8RQyE=
-s6xvxms4FKy3Z3wCjfQBfKEFpmD/7rphVYc272jQVlw9isRJWDpCZQBzJ7mfsQkty4x6AQXguls=
-0XdboMChu2E5gHpaD2pPoiWj50Qs67mB52mHitj3oNVPfX7y11TKwA==
-ms3NmDDAWXnBdIdG8bPRHll2tDC4Deily4x6AQXguls=
-ms3NmDDAWXmcg+a+FanOcFl2tDC4Deily4x6AQXguls=
-/i480IQgLMepMlZ7KX1uK7L8zAiM/vumYB+cHAiOl8tPfX7y11TKwA==
-VynNxYGlkQCQYi/wKhpaD0iU8imBtrfgy4x6AQXguls=
-VynNxYGlkQD3+GLPpxcTj1tgWhqdfi+qibzFuc+pkRD0fQTyIpclWA==
-VynNxYGlkQDbOP3RQ7tZ/vQnZieAvsPmzWNhsrxTgYM=
-VynNxYGlkQCj2Ow89poxDRL8JTHsvtpK9H0E8iKXJVg=
-VynNxYGlkQDiAh217GaWBX6iA24juz/gy4x6AQXguls=
-hUAdePKw8FbP7S63W+brpEiU8imBtrfgy4x6AQXguls=
-i8Syi+i2egOEUBf+PUKtAiWj50Qs67mB52mHitj3oNVPfX7y11TKwA==
-nly0EGexHS8W40YEz3OcshThMltj0h+y52mHitj3oNVPfX7y11TKwA==
-Z6ORYEVTHAYYMNtTOEq0iiJCwkfSBhWqy4x6AQXguls=
-Z6ORYEVTHAbdjUukdGSSoRjdGWQl0x5hy4x6AQXguls=
-Z6ORYEVTHAZcKrbMkfbHlC2cRMPa25eHibzFuc+pkRD0fQTyIpclWA==
-Z6ORYEVTHAZcKrbMkfbHlPSzXA5wk6riG7gWkmicr4aqKNVkN8emPEwWBzUGIE3Fy4x6AQXguls=
-Yrj7/CliiawTfm2BwPdp0LBzljBEfN2xy4x6AQXguls=
-Yrj7/Cliiax2vHf+pDgnBN7SGlS0JFuG
-Yrj7/Cliiaz4osiym+Qx7rBzljBEfN2xy4x6AQXguls=
-f8aF/kdme/IKyS+7h+VKSWL6uHlLqsog
-bK8Zpab/PptNYls6bckCK/nQ97t6cMEn9RrMjQw02M5PfX7y11TKwA==
-h+WfKYcw8/5UYRP2vPq8D9ll6SkFs1l/9RrMjQw02M5PfX7y11TKwA==
-dQt5mgUKF7RGbvA+FxO6AQfkmii5BuyZu7hkhPiE07E=
-9K+PZ38Hd/3Lq4u7hNFVk7BzljBEfN2xy4x6AQXguls=
-9K+PZ38Hd/0q17w2ajSKHLBzljBEfN2xy4x6AQXguls=
-sPbuqnenXG9VSWDLbldzl1Pq3vaS3WGD
-WVz6k53vYlvCE5zi/CJYd0pgEZ36UZf7
-wMnWetYvwcB22baEwHSHdWDAN33wOHW6wQ7cCkCUWxZPfX7y11TKwA==
-FQ7Z0CPc4AlqXJH1d/vXxlqOf3u62uxi
-6uJVi7VzfR9fuLJtpOjzH/Oj8LtFg+GJ
-LbpsRClvKt7SNFr9wNKob/Oj8LtFg+GJ
-zOB+Gixkrqq0PZ7rDpYw+g==
-ShmFYWl9kbLSNFr9wNKob/Oj8LtFg+GJ
-BPywirVs7BwjgMng2FanCRjdGWQl0x5hy4x6AQXguls=
-ttuFIQiBSmBL/UW/zBqattHEM4o6ZCR6y4x6AQXguls=
-miKP0CYl3W5Ym2pzcr/F6L13FBy0uL+iRPB+qQ9rdKU=
-8n8zV92Zv6l9KDxIQfEX1r13FBy0uL+iRPB+qQ9rdKU=
-8n8zV92Zv6nu8xwJpBGB7r13FBy0uL+iRPB+qQ9rdKU=
-8n8zV92Zv6krX2BZrGZD8VpIinwp+ERxibzFuc+pkRD0fQTyIpclWA==
-8n8zV92Zv6krX2BZrGZD8VPHTAexdz+zibzFuc+pkRD0fQTyIpclWA==
-8n8zV92Zv6k1kZKII+JesEwWBzUGIE3Fy4x6AQXguls=
-/SbDH4creAHCE5zi/CJYd0pgEZ36UZf7
-9zUaxn05IBwS7PNKz81G4R36d9MG7xUn6uzv0j5wVxhPfX7y11TKwA==
-9zUaxn05IBxgnwnOZ+hQK4kq0N9SOLm5
-FRuKyrtJj/RL/UW/zBqattHEM4o6ZCR6y4x6AQXguls=
-+Coj8KXFfRxp2idI23BKPPOj8LtFg+GJ
-iF6Bt9zVCn7ItVyfMJtsjQ==
-PfdaDBocFQixm2LbXcoIDXpmvKAVeqCzRPB+qQ9rdKU=
-k7aDH3uuoqARhkIHqx1H7tsp4Ism9gRNy4x6AQXguls=
-d60eywEVz6xBSvshOJLAoJBwNuVVH6sq
-obe5iClk984NDakaoCCLCJBwNuVVH6sq
-1TVDxDeahUN5RG1vEUP2O5BwNuVVH6sq
-B6XhfErTTJgfRf0i/Vkb/bOsDNsReNLeRPB+qQ9rdKU=
-+wYtQHJp691kNVRINR3RaHpmvKAVeqCzRPB+qQ9rdKU=
-Y3uHEyYQDdrSNFr9wNKob/Oj8LtFg+GJ
-WV4Ty/OMJBjA2E20A93dy1/cKgeh02Cpy4x6AQXguls=
-m0lX8CRPaqiw8mEQdSz4E/Oj8LtFg+GJ
-Do2wiH59igUFYo+n99SzmPrLJk4dYoKYaXBl6wZu5y0=
-UQx8DfENDTsDlTTw1nBAWlPq3vaS3WGD
-hT2R6oNQDGiD+EtUMNSV0fOj8LtFg+GJ
-xGjxEbbo/twhJLbnEbgPLFPq3vaS3WGD
-xGjxEbbo/txre6ZjJY/aDNSX1ILygfSsdTD26Z5KQnpal+TXCztiQ/yCn2NHqVIHy4x6AQXguls=
-Xeg5n8JTu9Gw5i8Z7YSfZkpgEZ36UZf7
-VQVgaWVz5xKx92ImtPG7wALm/EKxWl15
-lQFziLYwAFR/Rx3+b7qP0/Oj8LtFg+GJ
-v9yCwhqLXXRy0a0P9VppW0oPmHAI4936
-Ss1fTwot0Qh1CazNTv2aYfOj8LtFg+GJ
-mbpi6adHTerCE5zi/CJYd0pgEZ36UZf7
-1aJE0MOrznGQLBb9TLgT0vOj8LtFg+GJ
-2O5atTA83YryUEMJR9kTcPOj8LtFg+GJ
-b30Bnk44ReFqPP6LYZnzpu1sIpk3UltPRPB+qQ9rdKU=
-aak3L9Lnp6k4jrPr+Vc2QkffVX1Kx6/gaXBl6wZu5y0=
-SPMC0Or3Wq5Ym2pzcr/F6EffVX1Kx6/gaXBl6wZu5y0=
-Od0k7somw0+ognNgz49kBq1TqwiA1pre
-neSRPR/Dc1r+5avra8D+/N7SGlS0JFuG
-NPyf8uRLdZAxgppd7vKR30iU8imBtrfgy4x6AQXguls=
-EMu7srLgFkT8KlV1ph0Yje1sIpk3UltPRPB+qQ9rdKU=
-x9PLCfVsCr/aY475fTCHFCJCwkfSBhWqy4x6AQXguls=
-x9PLCfVsCr+l3V44t9O2VSJCwkfSBhWqy4x6AQXguls=
-x9PLCfVsCr+UayicXLX+aCJCwkfSBhWqy4x6AQXguls=
-gre6Tf1xXnA8kiJVq+hjxkoPmHAI4936
-LAphuzvX0+3XoplDMw5YiCJCwkfSBhWqy4x6AQXguls=
-LAphuzvX0+1cKg99X5f5WEoPmHAI4936
-RT8uwG1AoLRL/UW/zBqattHEM4o6ZCR6y4x6AQXguls=
-tKMGaq5ZqS8faicHeoCF8GnzW8KqwV7b9RrMjQw02M5PfX7y11TKwA==
-tKMGaq5ZqS/cxQIQipmO5ytKOLKlA1ksMvC5rExawa6V8xmS/Gv42azwXryjYWOyFt/BclTC+KpZOr/GQaeSWEpgEZ36UZf7
-MEV2TdfjfmxsgNJHgfD0IHy5ViVd9uvlrFPG/qrcRHVPfX7y11TKwA==
-SZ7z14JzRxz8N5fA/Bb0QEoPmHAI4936
-bhXPjU5Ou0zCE5zi/CJYd0pgEZ36UZf7
-ZTORLADhCW2V5Bc5DWG/rll2tDC4Deily4x6AQXguls=
-ZTORLADhCW0//Lt/QRmfpyH/h1pywZ5c0pCfO/z5g6Y=
-L9fVUSRavgJxLBNTp+QtPfeK6RLf4xMTy4x6AQXguls=
-dNe0XAa3Jm+3JvJ2Xjm9/UpgEZ36UZf7
-GJGUhATERBm3JvJ2Xjm9/UpgEZ36UZf7
-/9URtgHOtUUmgH9IsYidFKiSzovJkrG6856CtLA2mBI=
-lxyRA/zOuaXhlvYRJmLKFghNNHLHKan7QE1oNjRzv0A=
-k/AWU8J38exqXJH1d/vXxlqOf3u62uxi
-0Xh3Jo3x1fcVN9/lDCFFSFqOf3u62uxi
-sXhYv4ghjQ393cgW1OhgWPOj8LtFg+GJ
-ddsicK1RKkr8LfyJUw8Qg3ynnASRkZlj
-Wj5HYIWDLWGw78a972g1EkpgEZ36UZf7
-su0V2rk2gah2w8q8JxH30WL6uHlLqsog
-7YT/1gWrFMOsITkil5j+MAxHjZXQ2XqDuF3NIeLI7v0kqSiGLp5inA==
-GPdd2yIwWWesOniOA5cBq41ncbSjshCEmQCWLXtYoTFPfX7y11TKwA==
-mtIyd1Hqz2UxOjWwaO+5DiH/h1pywZ5c0pCfO/z5g6Y=
-1MHev69zrjZj004btOAkes94cw1mrZqiQE1oNjRzv0A=
-EjAf+Fk40oLXv2qPN2R841D8sLBRuvnPVj3R0+P6Ke796uutIWsx7JC4iPbph9qG
-it7CAuuV7SAxR6MAda5351Pq3vaS3WGD
-IS3trY+w1C5ped3RWFjnRS7e/oaau9gAXpBSJ5uhUAo=
-7ttNQ1aOZmErxH/5ZZarV4EwIA0kxtT3y4x6AQXguls=
-fDYkXHftmz8W40YEz3OcsuYEtK9W2WqUmQCWLXtYoTFPfX7y11TKwA==
-XXxX/NgmOKOlw/JG9WEaL36iA24juz/gy4x6AQXguls=
-Lwk9eym56F2hG0E0QBbiBCyfxx3KDwLB
-UCgJlS/HXezaY475fTCHFK1TqwiA1pre
-UCgJlS/HXexHXYr3weuURK1TqwiA1pre
-mqvMdLunKrO04LVLknUe10UNUQ2QoJYZBtmtkvJYaYzLzkZfPTHbZw==
-JuMgbbZn7fp/Rx3+b7qP0/Oj8LtFg+GJ
-Be1T87t+ge5XlrymvmHctvsjOZIlqq3hrFPG/qrcRHVPfX7y11TKwA==
-Be1T87t+ge5XqKHPIBx1decIVVBHT46ECvyKmpm5Z0Q=
-Be1T87t+ge409nSxFi4IHE7wB8aAVMVRF2Mdrjp/QpU=
-Be1T87t+ge6oc3vYT7LsOXLLIfzR98fTHWnCZH6t2//hH/tXNeBfPQ==
-Be1T87t+ge6yBrpNLcSpoZjZkopBAnj4HWnCZH6t2//hH/tXNeBfPQ==
-Be1T87t+ge5YEOaSf136eQT1tZsHfiBBy4x6AQXguls=
-Be1T87t+ge6km2jSURfVd+cIVVBHT46ECvyKmpm5Z0Q=
-Be1T87t+ge5gONVh6hyj4FjBxRP/noEkHWnCZH6t2//hH/tXNeBfPQ==
-Be1T87t+ge6BEzUegK+LzecIVVBHT46ECvyKmpm5Z0Q=
-Be1T87t+ge52p/GUBvJlKgT1tZsHfiBBy4x6AQXguls=
-Be1T87t+ge48js9ij9+tfOcIVVBHT46ECvyKmpm5Z0Q=
-Be1T87t+ge56K4HqriD8jeRV0q3Q8qjoy4x6AQXguls=
-+89J6TR32voQgbOipa/YegfPpApbMOkMhFq5sh8RQyE=
-LlMqJlMfp5XCE5zi/CJYd0pgEZ36UZf7
-q3wgm/88Ra/5FA/QNzKqWKEmC0tHnFgTKSotK/v0yek=
-JRjgwC9Nl8D07Pr83yxuuoZiRLknPIhby4x6AQXguls=
-23R1BuGALKkPTIc+xqy84g==
-MejiOyuUSYXCE5zi/CJYd0pgEZ36UZf7
-DdOs5Dtw0QwfYrJTd7u97V8pxEoXZNj5aeu8Uvl+alM=
-4HI+0PfJaYN8YPH6c539+jzmU+FOUsy4fER6RG1klik=
-lx6eh+YkHBXGQf4A1Ut9bKuL51BaHbjJstNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-9Mqch0gZ4bPxBEF6YmaZtkcdj80TCvSKqzKLxcx+tSc=
-9Mqch0gZ4bPz0v8j23MbjNPaFoMUutn7RPB+qQ9rdKU=
-9Mqch0gZ4bMvCICzkLDDGehZn9/adx3vy4GGkE0bbpyw8mEQdSz4E/Oj8LtFg+GJ
-9Mqch0gZ4bO3ZIY+lmc/+RnMjLDUY5xny4x6AQXguls=
-LZyp1gIf6wiOl3qik2jwk6RDFmbmXXil
-oUHoi3J+yiDI1bw1UsJaVEpgEZ36UZf7
-E03BI5P/0r/MhUL6uE0NXEpgEZ36UZf7
-ZYCQozJW2qvwOxi41E/bGvOj8LtFg+GJ
-Wx+TYikA2urCE5zi/CJYd0pgEZ36UZf7
-qW7Uf+cuUKUCAZnq4oBF/POj8LtFg+GJ
-JsWoe4vRDt+jI1emh9XUFPOj8LtFg+GJ
-qMdsxFnf7SjCE5zi/CJYd0pgEZ36UZf7
-7nUs+pzMGNQU2voVSXubFpBwNuVVH6sq
-rh16PU/bLznKwSWbD40NLyyfxx3KDwLB
-Mpws87qKqdUCAZnq4oBF/POj8LtFg+GJ
-wAG7h4jgsHz1hFgQXur/mkpgEZ36UZf7
-cyrUnsE+xTt/Rx3+b7qP0/Oj8LtFg+GJ
-FeneHV0jniXhjOGBjP0tkSoVbfyrL10EWhqDUIQPQGM=
-FeneHV0jniUYclRR5n6EOPeK6RLf4xMTy4x6AQXguls=
-B2EBAR60IppisJUSU6syO0oPmHAI4936
-2auQrCxhHIuioNaJ2OEJLEoPmHAI4936
-Vfay8OeyRBHCE5zi/CJYd0pgEZ36UZf7
-3BvyzjY734aioNaJ2OEJLEoPmHAI4936
-cFYwLcx8lBi40Fj+KszbNkoPmHAI4936
-+BWPPfYlvW1XqKHPIBx1ddHEM4o6ZCR6y4x6AQXguls=
-tqfw6NEVIE2E1PvLgQn/VJBwNuVVH6sq
-D/nWCdnKl6ptV7mJSxdBKJBwNuVVH6sq
-wesEbkcq3G2JlqzsLpoontS+kgXZKgOPy4x6AQXguls=
-YUhOmXNESHB2ZZeRKlYPOEoPmHAI4936
-w0pNO/G/ztmyPJEuX5FlVfOj8LtFg+GJ
-aALCXOoFPx92VgIo4mv4FtS+kgXZKgOPy4x6AQXguls=
-aALCXOoFPx8Ey0tJ0nESHdS+kgXZKgOPy4x6AQXguls=
-E/5wOVIsF6a+DupvRV9k9N7SGlS0JFuG
-+js67kDQcFh9h8vjUcC6wfOj8LtFg+GJ
-JOWuxy1tcO63K9xlTBbaJvOj8LtFg+GJ
-vw9DQsUCodtXqKHPIBx1da1TqwiA1pre
-q8SO41xH4H+tv3/3+UBOAUpgEZ36UZf7
-X+2h3edByPRXrrLCZAbA0IBwebx29WjwN5m+Gay4mDc=
-zCVSXXb5NXkVN9/lDCFFSFqOf3u62uxi
-DtuuJAfVwT3VGlpd50u+NkpgEZ36UZf7
-EiJtPPoy5YOqBDtVMagTbba/H5IGWzTO9hT2lIaacqU=
-JawkevnCrNdts8zcqwR2eKHvMDErP7gJstNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-lPChL110T8qH6H8fqQsEDQYd3czwK5kuaXBl6wZu5y0=
-rCMp7rtnhxrHQdqfJSKMLAYd3czwK5kuaXBl6wZu5y0=
-TG2nF5NcrshL/UW/zBqattHEM4o6ZCR6y4x6AQXguls=
-4wo8hNCdEQEmaNNvL8sx3NdP8cG+AoEp9hT2lIaacqU=
-/7ct4BMAXCUzXDr7TYw7uQLm/EKxWl15
-t6I+Wba8BRC9FppGobofTZBwNuVVH6sq
-FuqufNWLbz7WJtI2H4aUC7BzljBEfN2xy4x6AQXguls=
-Nt6VZaeWqZzN5z6vOYv1dKlsit/TVI3D9RrMjQw02M5PfX7y11TKwA==
-Nt6VZaeWqZy1QXPpBNd8kQncLU6QuExl9RrMjQw02M5PfX7y11TKwA==
-rKBk01Fx9j23JvJ2Xjm9/UpgEZ36UZf7
-ySmvEQkp+QnDVB+FOWxfQpMk2YgHTvJIlG2KEQazVUfqIZZcdg+1Fg==
-ONKJPxQ05EuDeZQi7n+ymPeK6RLf4xMTy4x6AQXguls=
-/ZBZNOiYzE+2EkinjidSXecIVVBHT46ECvyKmpm5Z0Q=
-PmXiFkkqLljCK04zVVZrqh9chXIUgi4lFw5IxUfsdvk=
-VgjQjLlxJgbVGlpd50u+NkpgEZ36UZf7
-oCdVZ3TjXszsI02ZCbErN/CvCYF5ZT40y4x6AQXguls=
-06VstCfw9TsVN9/lDCFFSFqOf3u62uxi
-yIwYB0D5ANpIkRc7oSI9s7K8YzH4gDQgy4x6AQXguls=
-kQHtQ28+jmSs22EWcIktH5C4iPbph9qG
-l88DeydS7Mr/5w6rMKFsfecIVVBHT46ECvyKmpm5Z0Q=
-cchXAGqWaFReJ21yxIT3be1sIpk3UltPRPB+qQ9rdKU=
-RNUTN8me5q1ReH0oBHbJGNqY7RGsCVoPAfBGcSNe17xPfX7y11TKwA==
-RNUTN8me5q1or2m5+SKQMMSKe9vVY/8AlG2KEQazVUfqIZZcdg+1Fg==
-hU2JsvCVd8iVbaq0hPsRvnpmvKAVeqCzRPB+qQ9rdKU=
-CQJvmF3yt1F6BlAdBV+jGC9myxH6CkHeEFyO6huNc6Q=
-3w3xExz5BYjfEMKoqqshoIaR13R3nUd3teq+RIooEghPfX7y11TKwA==
-xjGHNt3JuT9IOeeheINUM0oPmHAI4936
-HQ4O/5TsBQbpSgcoVE4LbXHIgbvw9UUMxNhXTmnBUo8=
-jDc+I5DLhjcdldob8yjvsEoPmHAI4936
-jDc+I5DLhjdaVQ4Lv2EkrkoPmHAI4936
-ERG/my0wCEMmgH9IsYidFKiSzovJkrG6856CtLA2mBI=
-8GR+KuRP/IrZpafk8rhqLjO11wrX//LPpDa+H9/X6UI=
-+SvHIm2Mlu9B+y4G1LWUjUoPmHAI4936
-+SvHIm2Mlu9WgHE3Y5h4clmDacM1Qce94KJlnTPYf0iYzJ6oJv+qKw==
-HLbF1HKtXYGIo7PKykxrN0iU8imBtrfgy4x6AQXguls=
-UnEQf/j0jK6x92ImtPG7wALm/EKxWl15
-FkH+3MJcYBmyPJEuX5FlVfOj8LtFg+GJ
-bq4owRXG1PiioNaJ2OEJLEoPmHAI4936
-bq4owRXG1PiMRJQtxc8R6koPmHAI4936
-osXaeNVdi5Bh4GvBMx4eJ/Oj8LtFg+GJ
-uCAuXCRbEjOtv3/3+UBOAUpgEZ36UZf7
-YTFr6yTNbAO9SSnHHBVGA/Oj8LtFg+GJ
-GhRXduWr8cb2YvmikroYRiHFVYFksbf2rFPG/qrcRHVPfX7y11TKwA==
-GhRXduWr8cb3R9KvkRZsVtHEM4o6ZCR6y4x6AQXguls=
-z0NB6EgQrYuej9syichlRRjdGWQl0x5hy4x6AQXguls=
-7dwIUGq+pHAjgMng2FanCRjdGWQl0x5hy4x6AQXguls=
-7dwIUGq+pHDVNpX+SJIcBl2BBsIawet1u+2srYn+TwXMhUL6uE0NXEpgEZ36UZf7
-8F5Rffa3tXf4n7ZrF0P2pJBwNuVVH6sq
-DH2VViKrbzkp6/lKXi3UMOrUo2OLEJuOxJkxuUM2UM3TUyqisEKkO0pgEZ36UZf7
-jryElcwKEMNxLBNTp+QtPfeK6RLf4xMTy4x6AQXguls=
-J2nslBNjSd9lRnm22WMLCZBwNuVVH6sq
-CrymWgzKBwmowyaOlIWPkfOj8LtFg+GJ
-W6++NOLhnGKW64PK7OzRci1TUpamJyWhy4x6AQXguls=
-W6++NOLhnGImgH9IsYidFKiSzovJkrG6856CtLA2mBI=
-pU876B1hGC6+86Rb1W1pEQ==
-ymBA422YpT60tTwm0ePTu/Oj8LtFg+GJ
-B64Md1JCAwjWUpDt6Xr+nkpgEZ36UZf7
-0GpXlkW1y6vWUpDt6Xr+nkpgEZ36UZf7
-iOqRqy56ghCDwJ8yRW4QTd7SGlS0JFuG
-sxgS7X/mz0eeQpPRvTm3LFPq3vaS3WGD
-jhM9JTBsgxfSNFr9wNKob/Oj8LtFg+GJ
-wyDvFk8TTUS0PZ7rDpYw+g==
-X9EC5zk/BzLTp7h58XZ5OfOj8LtFg+GJ
-YbFLLWDTZX6jebsJIc8YlfOj8LtFg+GJ
-6gWj62/jMx79+r0EMibpOfOj8LtFg+GJ
-mc0v41Pmxbu3JvJ2Xjm9/UpgEZ36UZf7
-93ZjDiJwkDG8RbktMnXXHfOj8LtFg+GJ
-Xn4HnNubANHFZ5D2h4QJfYZhCmXNWZmGaXBl6wZu5y0=
-/VfPpD7+6ViEcDEYG6zc49S+kgXZKgOPy4x6AQXguls=
-048X8sVpSrC5/0FNXste6fOj8LtFg+GJ
-odwlcbPCv1V2ZZeRKlYPOEoPmHAI4936
-s9fvPkvw+eO5/0FNXste6fOj8LtFg+GJ
-mVQ8Q8ewqYWXVpljuLaKukxdyVOf7XNtZ5wrfkhkzAA=
-ffIYZ1PjuXBx4u2IJrBm00oPmHAI4936
-0oaWW6Ft5KK1f4daHIwZR9HEM4o6ZCR6y4x6AQXguls=
-L2rEB7a+UV80RdSYnDioG4yT35O/ZMlXjuyKZVVSxxc=
-/nZa4JHvh5RutdpwhrdIlO1sIpk3UltPRPB+qQ9rdKU=
-/nZa4JHvh5S+AVOQd4583+1sIpk3UltPRPB+qQ9rdKU=
-0j/OcOgq4vblQZ/5Ca6DjU5xRxlEwuuujuyKZVVSxxc=
-yAZvjf/Npq3Jcbvke1EgJ0oPmHAI4936
-wg6D0EnuXuQnHOlkm0sxA+RV0q3Q8qjoy4x6AQXguls=
-zONWHZaMDFDdMM/Jx/UGaCQln6pOmJcZ0pCfO/z5g6Y=
-b+p7oPuIEcXgfJazTxRSvALm/EKxWl15
-b+p7oPuIEcWpakXUpZ6hBrfQ1g178t/sR4q+tB+teD3wshyLxCfprPOj8LtFg+GJ
-T8EFg6F1LsJnJtwh+biWBnUGLM4fr3KEy4x6AQXguls=
-9ln3OtBAZ4xYHWoVS6+3aE7wB8aAVMVRF2Mdrjp/QpU=
-2w7I+GMn9H92bBstIl8fQUoPmHAI4936
-zmnYQWRJshw8pS//ypC4EfrLJk4dYoKYaXBl6wZu5y0=
-zmnYQWRJshxfVjmT72+IU/rLJk4dYoKYaXBl6wZu5y0=
-pP/EazI2ohTJcbvke1EgJ0oPmHAI4936
-HSlkVdSEOqxDB6mfhWFtF/rLJk4dYoKYaXBl6wZu5y0=
-iaqd4ac59tkwmxiV/uttpe1sIpk3UltPRPB+qQ9rdKU=
-6950kamGyz1jn8atkAa4WRWb7Iq+ue9U0pCfO/z5g6Y=
-ZBlMqkWFMgGHlQYO/29XsPOj8LtFg+GJ
-etqHd962VKXwshyLxCfprPOj8LtFg+GJ
-1rOjBHyFj+eHnIZJN6/3sBATcNYyjC0W0pCfO/z5g6Y=
-yjsVsC9nyaHCE5zi/CJYd0pgEZ36UZf7
-RL9wd7sqH8nJ/XFJLG1noC3MK637qtLAFw5IxUfsdvk=
-FfjvvdggP/1GEF1igpqnMjoZ9Con4QX6A2+HaLUZbe0=
-tVBVCkW2P2vvP1LP4h1GfVPq3vaS3WGD
-c8fipJzZpKHSNFr9wNKob/Oj8LtFg+GJ
-bAvcVi4Iw6s88My+QyBF4iOSA1tar8TQ0Rzn8E7ul0JLV1Hq0b8BpPOj8LtFg+GJ
-PARbOnEYlB3rgwUip8TSvrBzljBEfN2xy4x6AQXguls=
-go/dWWwGU8bJOvnYyXNsXpC4iPbph9qG
-TkKCqeWSukeV4wuSWx4U26GFuSH/HQxAy4x6AQXguls=
-TkKCqeWSuke8RbktMnXXHfOj8LtFg+GJ
-TkKCqeWSukd0P3wPBDQ7QFPq3vaS3WGD
-hO72ygyNsdS3JvJ2Xjm9/UpgEZ36UZf7
-LoM+jDhQqFDwozCIpR0nf0pgEZ36UZf7
-mySxSoQQ5hH9+r0EMibpOfOj8LtFg+GJ
-3jzcnOifPTGUtstGJWfN1Hrz3wa3t9i6y4x6AQXguls=
-4kdkKXQ7T0R1hHUpo6tg/ajv8HiCer8Ay4x6AQXguls=
-4Wm1uiOER9zSNFr9wNKob/Oj8LtFg+GJ
-7ddpONXhUU5L7w5GPenWeql77FvoyOUCfywvCjeRl/T0fQTyIpclWA==
-d1sVTi4llK7lQZ/5Ca6DjTtDCKtSyZ8Eaeu8Uvl+alM=
-Fmkib4/xoTMCeemNLJHnJgLm/EKxWl15
-PaGbbzoWurQnHOlkm0sxA+RV0q3Q8qjoy4x6AQXguls=
-9Si22Bpxf/QBFq6hXHFOTkwWBzUGIE3Fy4x6AQXguls=
-5z/FaS08FC2I51kihoSlswLm/EKxWl15
-unXa+WSPJaRSSitwj7vrXQLm/EKxWl15
-aoyMNdWOkHd1CazNTv2aYfOj8LtFg+GJ
-4+Hqev/UbHPPxYlpacEdI0pgEZ36UZf7
-TQRngJH1Ek1qPP6LYZnzpr13FBy0uL+iRPB+qQ9rdKU=
-CcAtnE63g1xa033tXDwlqSgM1VPOu4sN
-2n75FC3uwfC2lddTY1y4I0wWBzUGIE3Fy4x6AQXguls=
-erLQ3JyUfISiMFttLBCaNgLm/EKxWl15
-psmYD1yV0+1SSitwj7vrXQLm/EKxWl15
-T0tpWQa0WBy9wwymMgTHHEwWBzUGIE3Fy4x6AQXguls=
-GU9rv7S9HDKCGC55KuzT8UwWBzUGIE3Fy4x6AQXguls=
-eYAwQTFdThU3xjZ6HMSwQb13FBy0uL+iRPB+qQ9rdKU=
-ZcATeY3SOmU8js9ij9+tfH6iA24juz/gy4x6AQXguls=
-ZcATeY3SOmV6K4HqriD8jX6iA24juz/gy4x6AQXguls=
-WpMnbnNRcj++AVOQd458336iA24juz/gy4x6AQXguls=
-LT2QzTDBMvBSn/fQrSogfSanigrTdC7fzWNhsrxTgYM=
-3S0zBzzcG28nHOlkm0sxA+RV0q3Q8qjoy4x6AQXguls=
-rH75MlwLe4iHDjyHip04zn6iA24juz/gy4x6AQXguls=
-ORtAqQQY1sfPxYlpacEdI0pgEZ36UZf7
-BtmsuCW8kSpA4pTRFdS/KQLm/EKxWl15
-hgKSS6WIoWEdo9FMoGbGk0oPmHAI4936
-hgKSS6WIoWEBDkcxYXRMQhToYGFen0lpzWNhsrxTgYM=
-hgKSS6WIoWHSQcDia9XkMUZDtywxNaqwqebDJ2D3GrP0fQTyIpclWA==
-ObtZggguHVH75+AsqJdaK/Oj8LtFg+GJ
-5ElRLBbico5HfaFd/KsR0koPmHAI4936
-gBhYk85FRG6M6X8re3fQg/Oj8LtFg+GJ
-IIbeVb1Zp2Vw6L/p6JSpG/Oj8LtFg+GJ
-z71z+qSu7Ey0IhLdN9AyUEoPmHAI4936
-cGT7aZk2gf7PxYlpacEdI0pgEZ36UZf7
-79ikOahtbziMeW7poAUy4dDGrvtwVnWwfER6RG1klik=
-oDX9OktCqQS5+Ag8CVGtZAEles108WxdRfifV1nUUrFKYBGd+lGX+w==
-4WFREg6StsXlQZ/5Ca6DjXXPc5Ki/J8mZ5wrfkhkzAA=
-+/5WFE6HdRIVk1QoQHbV70oPmHAI4936
-/rrEnWld478nHOlkm0sxA+RV0q3Q8qjoy4x6AQXguls=
-LBjLIuMcxdXj9lLGelo0UO1sIpk3UltPRPB+qQ9rdKU=
-h1XeOIBMRZ14iFg1egzOlALm/EKxWl15
-Liq4+z+iHBbwshyLxCfprPOj8LtFg+GJ
-hMPHG8zWfevwshyLxCfprPOj8LtFg+GJ
-+pXXyHkf87vPxYlpacEdI0pgEZ36UZf7
-O8xLRFQpwrDdxEXzi6UoSsyW8297TnFZ0pCfO/z5g6Y=
-59OFXSNrO2ax92ImtPG7wALm/EKxWl15
-MyZ2EamTQ95rfLPYpSRg6UoPmHAI4936
-1suDit3Eq7XNgWyWzjfkBTVnubG+Sf58Qxxo88aAg3c=
-p+oXZGb9felB+y4G1LWUjUoPmHAI4936
-T8qiUcOxWGex92ImtPG7wALm/EKxWl15
-megPgZgZatmyPJEuX5FlVfOj8LtFg+GJ
-hIcKxvB0qrStKsK1NKEnjnUGLM4fr3KEy4x6AQXguls=
-hIcKxvB0qrQ1/obow+hNxNS3UCP+Xxke56zwMY8I/+GEqKNFUcAAUEpgEZ36UZf7
-hIcKxvB0qrQ1/obow+hNxM87KOEe5EKO56zwMY8I/+GEqKNFUcAAUEpgEZ36UZf7
-hIcKxvB0qrRmdPhpVvErmmU8YnidNLyF56zwMY8I/+GEqKNFUcAAUEpgEZ36UZf7
-hIcKxvB0qrTRUDfrIg6YeeOaiJxfN2NojuyKZVVSxxc=
-IgfkS/yzfiNl6qtXuMmmfSJCwkfSBhWqy4x6AQXguls=
-vdDujKxsGqTu8xwJpBGB7vrLJk4dYoKYaXBl6wZu5y0=
-vdDujKxsGqRfVjmT72+IUyJCwkfSBhWqy4x6AQXguls=
-vdDujKxsGqSuYTcjFB8CYIW56gVH63DBT8qiUcOxWGe/98RHxldG1vOj8LtFg+GJ
-vdDujKxsGqSuYTcjFB8CYL6qBg32lrLQT8qiUcOxWGe/98RHxldG1vOj8LtFg+GJ
-NUY6EzUNBcupT2zvt/urCUoPmHAI4936
-O8LPxcSZWgCyPJEuX5FlVfOj8LtFg+GJ
-MsAiyvZZGvKtKsK1NKEnjnUGLM4fr3KEy4x6AQXguls=
-Lz3xBm67RkV4emxgFA0tiJBwNuVVH6sq
-2UBsnltmJt+RNpK5CN0kEoEwIA0kxtT3y4x6AQXguls=
-53+yvEZVribSNFr9wNKob/Oj8LtFg+GJ
-s/Uo311nB4nNgWyWzjfkBTVnubG+Sf58Qxxo88aAg3c=
-hIwdjylHLGpzJ4M0r7zib0iU8imBtrfgy4x6AQXguls=
-cq6XXjMR3YCyPJEuX5FlVfOj8LtFg+GJ
-URZTYYOprr+ioNaJ2OEJLEoPmHAI4936
-URZTYYOprr+MRJQtxc8R6koPmHAI4936
-8a/odfEE6zzSNFr9wNKob/Oj8LtFg+GJ
-pou90Ds2zWZCzwZsznq8ZEwWBzUGIE3Fy4x6AQXguls=
-pkeEKh1jPSBWgHE3Y5h4coemfMvU1eABfER6RG1klik=
-OwPmdJgfleD9qI/NdGuLvopY37QaCE2vaXBl6wZu5y0=
-98gWtMm+tR46B4D4P9VTIQLm/EKxWl15
-Jv1hD0HAYBs9M2n0C2t1jkoPmHAI4936
-ghSbmaLOO99L/UW/zBqattHEM4o6ZCR6y4x6AQXguls=
-ghSbmaLOO9+2eQd7E/7L89HEM4o6ZCR6y4x6AQXguls=
-ghSbmaLOO99tji7RQU6MglXygIrc0WtXfER6RG1klik=
-Ls5FWwWEd6pSR0e9F1/EYPOj8LtFg+GJ
-at1Bn/0PBKEPvuklRRGDBgLm/EKxWl15
-wDXNPMfkdyNsE0uOQeg/4POj8LtFg+GJ
-dHtBk0+GYeJ8wv8Kzlk4jBL2525Y8Jlzy4x6AQXguls=
-bd68Ff0/MOdHmITcZ8OvTALm/EKxWl15
-RlqtTc1ddfqEqKNFUcAAUEpgEZ36UZf7
-5EBWJUcB7QrWN4gnV7c93koPmHAI4936
-5EBWJUcB7QpKxBbFVac+1wtqBXZ4E+c/PtbZND328nI=
-162SX0X5QG3chbqz0R3o2V3BzxGJLcsP8sfKPfIpMQNPfX7y11TKwA==
-C+CTZb0f4RMrkmpQpbhvUoY/p688/scQYB+cHAiOl8tPfX7y11TKwA==
-XT3mt0mRlBrY32VsZPX+0EoPmHAI4936
-LJS42ZwcpdFDHOAJ30mSrEoPmHAI4936
-LJS42ZwcpdEKOGJCRlOCGEMsG0RZhXWmN5m+Gay4mDc=
-LJS42ZwcpdE7jee3IyQ7GQtqBXZ4E+c/N5m+Gay4mDc=
-7NGKKJN34ogCAZnq4oBF/POj8LtFg+GJ
-Az4+5t1fUEIHBZ5Mnx6yw0oPmHAI4936
-fJTXcZwpB8kt87PJTa1JoRL2525Y8Jlzy4x6AQXguls=
-ndv/6Tbir2Al9SPHO/q0fgLm/EKxWl15
-1/6y3xqeTKfY32VsZPX+0EoPmHAI4936
-wK1sZrL3pJAXtVFp7veb3xL2525Y8Jlzy4x6AQXguls=
-CqFH5cAKYw6qhKm7+HXh+aRDFmbmXXil
-LQrltoM1cpvCE5zi/CJYd0pgEZ36UZf7
-Ol11wPce++vCE5zi/CJYd0pgEZ36UZf7
-w9678/OUZYnSNFr9wNKob/Oj8LtFg+GJ
-RtC8zrx8egrP0mfP1bj7qKFjfApLwKh/N5m+Gay4mDc=
-ERwzEHJFSaSkXYAzJbi62ajv8HiCer8Ay4x6AQXguls=
-ERwzEHJFSaS8RbktMnXXHfOj8LtFg+GJ
-Kr9NpwKWfsKHDjyHip04zlPq3vaS3WGD
-6Oqf3E+UYp2A2FeyW2xavPOj8LtFg+GJ
-/aUJ40q0OGE8js9ij9+tfFl2tDC4Deily4x6AQXguls=
-fkGZhX/El4RpsvPgzA9aB2L6uHlLqsog
-RZ+v/54TrXap58z+jjbwkUpds7npaylHy4x6AQXguls=
-iHNF0shQTZ0i5uPoBbmGy2ksmHFhrajUy4x6AQXguls=
-IzqZUh1jNoW7fEDIh3MPj/Oj8LtFg+GJ
-xjBOWYwtJQIcjhU/Xv96eKyD0xvYLTOLy4x6AQXguls=
-xjBOWYwtJQInz2o+xwX02Whf20/Sfg2Oy4x6AQXguls=
-xjBOWYwtJQInz2o+xwX02cQ6uk/WHcyf6MIva6/KGSO0PZ7rDpYw+g==
-xjBOWYwtJQLNj3osZXWK/wNqyAperh+Gceie1Maa4Hdfzaof9cbYCvOj8LtFg+GJ
-xjBOWYwtJQJRKpnwl88SZLCpTXnOszLxAuqg1HJi1UpPfX7y11TKwA==
-fG3H/eYATNjSNFr9wNKob/Oj8LtFg+GJ
-fG3H/eYATNhSRQKZWsra5zmXZqcwXuLSy4x6AQXguls=
-9WcEVwVcacS0PZ7rDpYw+g==
-5Od2zL01rcmjebsJIc8YlfOj8LtFg+GJ
-NIMkrNyEXQQTkBuMqRoBcqjv8HiCer8Ay4x6AQXguls=
-bL0xvp6bKsyA2FeyW2xavPOj8LtFg+GJ
-OlIufldps163JvJ2Xjm9/UpgEZ36UZf7
-H250ngXCLbRa74IbmJiVRPOj8LtFg+GJ
-v0o/NZ2Flyh0rznFov+n2+fhcFcsFNKYQxxo88aAg3c=
-ILtHucU7b9vwshyLxCfprPOj8LtFg+GJ
-B5DO9dw1D2a7yXAHVflBY0oPmHAI4936
-entKqGlyDvuN/55cHq0j7EiU8imBtrfgy4x6AQXguls=
-REmCvUYOcA6Cg6aQfJfPZkoPmHAI4936
-IRF3FIzGK/WMRJQtxc8R6koPmHAI4936
-Kc1jyiJVnGWx92ImtPG7wALm/EKxWl15
-2gjhNrDt+eeioNaJ2OEJLEoPmHAI4936
-0D2aGEdKA2ZKGV/+gaFbkKf2wJuFXvN5y4x6AQXguls=
-0D2aGEdKA2ZWgHE3Y5h4coemfMvU1eABfER6RG1klik=
-KxlRPOIG9ZstwK0yz09R30oPmHAI4936
-ysFI1Rx/lmayPJEuX5FlVfOj8LtFg+GJ
-BT/fHxNzenBkzZHOvFXHIKf2wJuFXvN5y4x6AQXguls=
-AHJVRVXWVMjbiQGOjO5mmqf2wJuFXvN5y4x6AQXguls=
-AHJVRVXWVMiK6lgP/9Y2oqf2wJuFXvN5y4x6AQXguls=
-LwTctfycqwn1eDN17P0yBwk1seY0eQtCpg10U7yntVtPfX7y11TKwA==
-oJ7KGIaocyBSndz+M2zpG0ffVX1Kx6/gaXBl6wZu5y0=
-46rP4jXWI5nbMhjb7ruRAgLm/EKxWl15
-XXIUiO8imQcnTs9sqqXWpRS4C2VAq+q+Fw5IxUfsdvk=
-XXIUiO8imQfCgbjpU0Ib6VPq3vaS3WGD
-XXIUiO8imQdip1CQWTvLTfOj8LtFg+GJ
-3oeh0L+U9UBZp8LAxcbkMZBwNuVVH6sq
-bpBWCSOn5muOpn2IcS2BfMlK0pFWqtW2CrACxSMFVJ1PfX7y11TKwA==
-ljwmOqHUx3m9FppGobofTZBwNuVVH6sq
-ntKwejfnuA0YgouZt2pykBRGX6dD+yb9qWi9XkUN3uznsKirjKejAUpgEZ36UZf7
-+yp7LhPh6/o2wwd3InzQFy4v4ck8itax5kzFRBUU5DACAZnq4oBF/POj8LtFg+GJ
-twznt9msCJOjJuX2eeHASfOj8LtFg+GJ
-oVwjgLWM2luHDjyHip04zrBzljBEfN2xy4x6AQXguls=
-ZMr6bs8Pd9byUEMJR9kTcPOj8LtFg+GJ
-ZMr6bs8Pd9bQ6oLuzbuHdMAyuvLUrV6nwEoaBEGc9RE=
-MWXFwS+gXECVbaq0hPsRvnpmvKAVeqCzRPB+qQ9rdKU=
-MWXFwS+gXEBL/UW/zBqattHEM4o6ZCR6y4x6AQXguls=
-eYrwlVYgQAsNLBVQVO59LecIVVBHT46ECvyKmpm5Z0Q=
-zm66Ok5YvbJgW+fN9gkOExnMjLDUY5xny4x6AQXguls=
-ocjyg6d/YZbYuiqsh91JVPOj8LtFg+GJ
-C6eysrtIgcAgcxiJCY3Ya7JwOivdSNCn8sfKPfIpMQNPfX7y11TKwA==
-aM6jPf4QFiflc3LHoaCHKTiUnYxvdTs4aAYhz49iPPQ=
-orFEvaQa0+AHI68W/MPHCYZhCmXNWZmGaXBl6wZu5y0=
-orFEvaQa0+DIKZk4XelWJ9S+kgXZKgOPy4x6AQXguls=
-S7N5m+yTVdiTXs+YU4gZf3pmvKAVeqCzRPB+qQ9rdKU=
-39rO+Kxnmjjv3eyoY7qwoXAul+X1XFtHy4x6AQXguls=
-6N8OYQckkzXbjtQVzMQGtVO8SBODgX57y4x6AQXguls=
-/WeDlc4QzvHCE5zi/CJYd0pgEZ36UZf7
-Q+t2NuZi/bYYBYr4xsa99POj8LtFg+GJ
-m7NwXX44/6UMorRxG+mAPKl6skmHW//Gy4x6AQXguls=
-5sZDUmzYHMSQadl/kdNn9Gp3SEzZLUEIXpBSJ5uhUAo=
-4Qvrbb1JTp8Qc5QWoX2eifOj8LtFg+GJ
-m/tIDzJi3OZXUDBIWUrqSK1TqwiA1pre
-S9B++UiCXWUkpVTVLAAIUPOj8LtFg+GJ
-O3P6K+AfRNzF44QHb2ipd8svCgK9hR1bXpBSJ5uhUAo=
-wtKpMto5s6ytv3/3+UBOAUpgEZ36UZf7
-0OYj7bJYGaCbsiqDLJxCRhnMjLDUY5xny4x6AQXguls=
-TEJT79gBm7PDY4PKs+sJ4F/cKgeh02Cpy4x6AQXguls=
-6sLf9oF5/2cFSyaIvrb/N/Oj8LtFg+GJ
-cRBYkFVyJUwqp3pee9AtDUpgEZ36UZf7
-GYBI2zJwMBNey2dyHe3hZWCQBVIqdo0V0pCfO/z5g6Y=
-ynINb2Eqx7SloP32ysnd4UpgEZ36UZf7
-pgzRnG9D+zC0PZ7rDpYw+g==
-Kpq53a0+iGDSNFr9wNKob/Oj8LtFg+GJ
-ky+iLMs6QhG3JvJ2Xjm9/UpgEZ36UZf7
-2Om0H6dKuzbSNFr9wNKob/Oj8LtFg+GJ
-g0zbV1jZvRGV4wuSWx4U26GFuSH/HQxAy4x6AQXguls=
-g0zbV1jZvRG+FqF3alT2MFPq3vaS3WGD
-g0zbV1jZvRG8RbktMnXXHfOj8LtFg+GJ
-XZm6QFzDmJh5QHl4Rg/BHfCvCYF5ZT40y4x6AQXguls=
-/gVNZGSuGULWbJef4vcbmDpK56AtCq0bQE1oNjRzv0A=
-7AFfCdxoVJaez/DwjHv7eCH/h1pywZ5c0pCfO/z5g6Y=
-ycU0RK38xbDLdJNqyw1kxCJCwkfSBhWqy4x6AQXguls=
-pd1F9WAw6p6GsXOp2DRhHxjdGWQl0x5hy4x6AQXguls=
-b8ErQvNUZgeHmDmTzSfyUE7wB8aAVMVRF2Mdrjp/QpU=
-b8ErQvNUZgc8pS//ypC4EUffVX1Kx6/gaXBl6wZu5y0=
-b8ErQvNUZgdfVjmT72+IU0ffVX1Kx6/gaXBl6wZu5y0=
-bKuUJ1epVUJL/UW/zBqattHEM4o6ZCR6y4x6AQXguls=
-bKuUJ1epVULWXIcogNVO9PeK6RLf4xMTy4x6AQXguls=
-bKuUJ1epVUKAB2gzKtqpWrBzljBEfN2xy4x6AQXguls=
-bKuUJ1epVUL/BocxQ/VkHF6uLIHrocIjibzFuc+pkRD0fQTyIpclWA==
-ZVyEsgcvvqkCxwQXdsGm4T/R8tJQvU4AN5m+Gay4mDc=
-a50cHx99OyS+86Rb1W1pEQ==
-WgaH2IFpABYVN9/lDCFFSFqOf3u62uxi
-YC4R/Hqz5OjVS9iZLCqmXZOdTChiEQ4H
-CA9qvj9VlfX4aBmcnHTh+e1sIpk3UltPRPB+qQ9rdKU=
-5thMB8eHe2f/1Gi6u346QEpgEZ36UZf7
-B9uuO07HaYDhefW3q+MscXpmvKAVeqCzRPB+qQ9rdKU=
-jTuQkMDtjykttMlk2S6x6POj8LtFg+GJ
-j5r7gucVUZPSNFr9wNKob/Oj8LtFg+GJ
-pF+/2e5PCdiYv/g0PaK/jL13FBy0uL+iRPB+qQ9rdKU=
-entv5lp5ztG/98RHxldG1vOj8LtFg+GJ
-fHieFygyEvy40Fj+KszbNkoPmHAI4936
-uensoKoCEG0i5wfAwIsXFiyfxx3KDwLB
-xEHYC5PyimNE0MxH/kbINQm+ik3u28cBbhNbzfKkM+JxqUIOvKQ/dwLm/EKxWl15
-xEHYC5PyimPg6njkDcx/a4LXI+MfHNbWfywvCjeRl/T0fQTyIpclWA==
-xEHYC5PyimOQuCgWDzuDNJzjfvzgtybvfywvCjeRl/T0fQTyIpclWA==
-xEHYC5PyimOlLpDXPIWwurSL2LbT/xPdKGYaGfDHL2mUDVAInWSevrOsDNsReNLeRPB+qQ9rdKU=
-MmnONpzqj5b7W3Ekux8q5C73DbanPF9TRccUPCPq9v2crq/MRwHEjUwWBzUGIE3Fy4x6AQXguls=
-VcWnl3ReS/WiJEG5WqIaFPOj8LtFg+GJ
-BcX7V3pTwpetFaNdnKehnD/R8tJQvU4AN5m+Gay4mDc=
-BcX7V3pTwpetFaNdnKehnGbGMFTW030UPIp5tKIseY5ZOr/GQaeSWEpgEZ36UZf7
-bRU8Xd4lWq/dTZAg/dA2ZFgGDQzefWVhjuyKZVVSxxc=
-767F12U7TA7L9/eiOW3PNvOj8LtFg+GJ
-x8Xhf0IsI6jVGlpd50u+NkpgEZ36UZf7
-sPozkzJeO5QUA88Ffjsp4r73AC6YF/AdfywvCjeRl/T0fQTyIpclWA==
-hS36/7wW1bLYQHkH4ek/mxjdGWQl0x5hy4x6AQXguls=
-cgYrEOZbHFKw8mEQdSz4E/Oj8LtFg+GJ
-n4KofNyd2vY4R2AxmSq+I0pgEZ36UZf7
-b8nVx09fy5I4ol1WGH/UYwc35O/wfJWEWhqDUIQPQGM=
-GxXLVwg10cxZKfrHsoPLMnpmvKAVeqCzRPB+qQ9rdKU=
-4CgPGy6SSwl9UjjrSV1dAF/cKgeh02Cpy4x6AQXguls=
-pFdZPuCKzsz5i3FRvU5uBhL2525Y8Jlzy4x6AQXguls=
-sfDdVW5fHlb1trjY76bzOvOj8LtFg+GJ
-NiV9MVLKhXKHDjyHip04zgfkmii5BuyZ+wmNWke18BM=
-pjQ6oNqUNpDNgWyWzjfkBUkSLXgOkKuLYB+cHAiOl8tPfX7y11TKwA==
-2nSar6BjfcOCJKgpiEaOwl/cKgeh02Cpy4x6AQXguls=
-4dmt9tLfxArcemGYPMM4W3M6cjhRvLxgy4x6AQXguls=
-CK6wOt90IerSNFr9wNKob/Oj8LtFg+GJ
-j9TJ0zgrtW3XWx32zET11Xc9lFxBaLeD9RrMjQw02M5PfX7y11TKwA==
-j9TJ0zgrtW0CemFOIJjudWYAKjuUUIzqstNvNKfkPxHtfbwrS7yCE0pgEZ36UZf7
-XsRueZvhAyrZenX/hyHS+gfkmii5BuyZu7hkhPiE07E=
-XsRueZvhAyoY2HrRmU8pmnfPzG5Uk11rstNvNKfkPxHoX8GccRaWYkpgEZ36UZf7
-Y0UYF4M6ChLrfZHpEMHYgUpgEZ36UZf7
-MWehmVZf6C3SNFr9wNKob/Oj8LtFg+GJ
-MWehmVZf6C1SRQKZWsra5zmXZqcwXuLSy4x6AQXguls=
-rWYaShuEwPU8js9ij9+tfFl2tDC4Deily4x6AQXguls=
-6SsNbr0oX/ax7oF3dV8rMlPq3vaS3WGD
-HCEq+yB3xiRUIm92l3iN1WDAN33wOHW69RrMjQw02M5PfX7y11TKwA==
-X6lEFzNDmIp9OfyBOiPDBSJCwkfSBhWqy4x6AQXguls=
-skgWSl8Po0/OnczYMVtnUkiU8imBtrfgy4x6AQXguls=
-QqZvghyTZW3Etpl/UCrmDnNnfPcTejy4aXBl6wZu5y0=
-AEyn6ksEetlWgHE3Y5h4coemfMvU1eABfER6RG1klik=
-R2Qp0UuOuBmx92ImtPG7wALm/EKxWl15
-WEck0+cxgSKioNaJ2OEJLEoPmHAI4936
-06uexQw4y8b+wP1ZSJe0FSJCwkfSBhWqy4x6AQXguls=
-r83+pje9TfVip1CQWTvLTfOj8LtFg+GJ
-IstZUls4S9C0PZ7rDpYw+g==
-Be6thebZitW0PZ7rDpYw+g==
-P6wUpZ7cEfLSNFr9wNKob/Oj8LtFg+GJ
-24DcSkM24SyWrgmkghmdO1Ko6ZZdPmtcIstZUls4S9C0PZ7rDpYw+g==
-24DcSkM24SyfWNoX9a3Od+cIVVBHT46ECvyKmpm5Z0Q=
-vnwU+0qImZgMfYHTbdiqgzafjRHdOXF7kZHZKTLqi55oSc+ICvgEcA==
-Wv0p/PwJHRdip1CQWTvLTfOj8LtFg+GJ
-Wv0p/PwJHRe8RbktMnXXHfOj8LtFg+GJ
-ZWQHTSD6hCvSNFr9wNKob/Oj8LtFg+GJ
-EB1+TmwsWHFLSooFBSheEecIVVBHT46ECvyKmpm5Z0Q=
-fSwdf2OLVVybhnAszwc98POj8LtFg+GJ
-xADmzjZLg26rDnbY10uRMhdFowAX23QPk0YDCbV1OWE=
-Ul8U37ddLmtgUpBCSW/6PxdFowAX23QPk0YDCbV1OWE=
-bIi9Gd5dx4UOvr8fRUm9HQT1tZsHfiBBy4x6AQXguls=
-tQqyk3JtpQRKvIGmSUkp3n8sLwo3kZf09H0E8iKXJVg=
-tQqyk3JtpQQRTjBq75VbAgfkmii5BuyZ+wmNWke18BM=
-tQqyk3JtpQROxwZ9C7+94Qfkmii5BuyZ+wmNWke18BM=
-tQqyk3JtpQTFSvfKUaOFUKvYn9sFOwi1fywvCjeRl/T0fQTyIpclWA==
-tQqyk3JtpQRkcAErkj/nUrOsDNsReNLeRPB+qQ9rdKU=
-tEm/PKNO8d3xYWtd1M6BhPOj8LtFg+GJ
-NyAak/c85ik4bE/6KHjA/hmH3vQ7kTSoXpBSJ5uhUAo=
-rT95lZHuLzm/RoLGcCoeUvOj8LtFg+GJ
-246DAPSPSX+UWPSfdoP5UPOj8LtFg+GJ
-TRi1oeyNUdOyMfjkGshymtHEM4o6ZCR6y4x6AQXguls=
-W0u07doTgmmAgbdnywkvhNHEM4o6ZCR6y4x6AQXguls=
-ubdFc9Fjb2NAHJSgJ0mhqt7SGlS0JFuG
-Thq2mIfRTdi8HjJqAapif7BzljBEfN2xy4x6AQXguls=
-8iRAY6UGp0Zb0ng1o0nHZ/Oj8LtFg+GJ
-ccapIA2Os+Sw7MyLlkc8AN7SGlS0JFuG
-hlmCVY6Y2sCyPJEuX5FlVfOj8LtFg+GJ
-gh+pwxxYTntwBAZHGE82h/Oj8LtFg+GJ
-f9vKvkRJdeDWUpDt6Xr+nkpgEZ36UZf7
-rlgWhYLTdSWdGLiDN2Hnj97SGlS0JFuG
-NxXJMZyQWz+dGLiDN2Hnj97SGlS0JFuG
-HSkrEwRQj92+DupvRV9k9N7SGlS0JFuG
-v0cw1FPyd87WUpDt6Xr+nkpgEZ36UZf7
-asbQtasot/N/NfWlTO+M8g==
-hYF2byblOfrmON+KcZNNZ9oEi1pr5Y8k
-FOjb6eu8wujVGlpd50u+NkpgEZ36UZf7

+ 0 - 597
graph/src/main/resources/graph_diag_classify.dict

@@ -1,597 +0,0 @@
-BcX7V3pTwpetFaNdnKehnARlNLC4WkMM
-pFdZPuCKzszYU6xqspywv0pgEZ36UZf7
-cyrUnsE+xTu69RZQsnc3eg==
-wAG7h4jgsHxcX5zqNHHt/Q==
-FeneHV0jniUYclRR5n6EOK6TFu1St0Q+
-FeneHV0jniXhjOGBjP0tkYJ/8HhcFBMjQsjDFyh0etI=
-JXDJAOpdlPoQbzZMuyy9fQ==
-RnmiLlZn/N8QbzZMuyy9fQ==
-rh16PU/bLzkK6I86gb+Ao0pgEZ36UZf7
-7nUs+pzMGNQjLd5G+EcdiUpgEZ36UZf7
-2uRZ3LWgKU3RH5Nj+q+LtrATS+O+j2ux
-cn9SelEe5HuV5wTT88NyS0pgEZ36UZf7
-GYBI2zJwMBNey2dyHe3hZXRjEyS9gTVe
-ccapIA2Os+T9oXeA5vVZEUpgEZ36UZf7
-rlgWhYLTdSUKVV36DWVEmkpgEZ36UZf7
-gh+pwxxYTnu/GGpwIprIPQ==
-v90Q9YDK3e0QbzZMuyy9fQ==
-Thq2mIfRTdi8HjJqAapif66TFu1St0Q+
-9K+PZ38Hd/3Lq4u7hNFVk66TFu1St0Q+
-9K+PZ38Hd/0q17w2ajSKHK6TFu1St0Q+
-ZWQHTSD6hCtjsD7stN1IVkpgEZ36UZf7
-LZyp1gIf6wgpLJFGqVmt30pgEZ36UZf7
-9Mqch0gZ4bMvCICzkLDDGehZn9/adx3vvk9zQiFPShUQbzZMuyy9fQ==
-UCgJlS/HXezaY475fTCHFK6TFu1St0Q+
-UCgJlS/HXexHXYr3weuURK6TFu1St0Q+
-tlK7bfXVIBUQF98iypbgjkpgEZ36UZf7
-xbg5pYjlVtXGgDHUkbi1wK7QEgPGBpLdgymuBa+h7Sj5ddv1PS4NAA==
-ZBlMqkWFMgF4AoArZ/s7PQ==
-cbrTnbEyu0MQbzZMuyy9fQ==
-6950kamGyz1jn8atkAa4WS1kFUX8b1/V
-aZM1EQIbHX4QbzZMuyy9fQ==
-kdU8UcCILZA2zqe2dEz9kJTAjlN+0rCKQsjDFyh0etI=
-VuA+VaAbW6kQbzZMuyy9fQ==
-2xt2LoFXv4UQbzZMuyy9fQ==
-GeOoxHykR0NIkRc7oSI9s0DkVM7urTWs
-4fpWUFa+lAB8bnaDayw0F0pgEZ36UZf7
-PoSiDC1E8k0QbzZMuyy9fQ==
-IHXErJfSSFB8bnaDayw0F0pgEZ36UZf7
-785EOhh4F5tf/w933Z8XSUpgEZ36UZf7
-O8LPxcSZWgDrtccsLlj5wA==
-MsAiyvZZGvKIR37fpmmVAUpgEZ36UZf7
-NUY6EzUNBcu69RZQsnc3eg==
-hIcKxvB0qrSIR37fpmmVAUpgEZ36UZf7
-hIcKxvB0qrQ1/obow+hNxNS3UCP+XxkeHMgLh0YjYP8QbzZMuyy9fQ==
-hIcKxvB0qrQ1/obow+hNxM87KOEe5EKOHMgLh0YjYP8QbzZMuyy9fQ==
-p+oXZGb9femkmRvSpkGJU0pgEZ36UZf7
-IgfkS/yzfiNl6qtXuMmmfa6TFu1St0Q+
-T8qiUcOxWGe69RZQsnc3eg==
-1suDit3Eq7XNgWyWzjfkBeK+1Ww6oK4tQsjDFyh0etI=
-vdDujKxsGqRfVjmT72+IU66TFu1St0Q+
-vdDujKxsGqSuYTcjFB8CYIW56gVH63DBT8qiUcOxWGe69RZQsnc3eg==
-vdDujKxsGqSuYTcjFB8CYL6qBg32lrLQT8qiUcOxWGe69RZQsnc3eg==
-ocjyg6d/YZbcONVccNlNVA==
-iXWjcPj0niUZmdQ/MALAmPL6oKDxDkyLMUxkNOfOKBk=
-fMSADmyw8MXq+bor/PgnsEpgEZ36UZf7
-1MVvkAG3zx3q+bor/PgnsEpgEZ36UZf7
-uQzgoFGJdFj2i9L+69DtekpgEZ36UZf7
-laj6iFmYc2AO7u5UUGMv2g==
-8MZjPdx7E/YQbzZMuyy9fQ==
-iOqRqy56ghDd1s+oEyUq9UpgEZ36UZf7
-e8PUaMqGKBiyk0jmTIrtlQ==
-JawkevnCrNdts8zcqwR2eKHvMDErP7gJMUxkNOfOKBk=
-aMsbvjbfGsUxQ2HeHu18jrvXt2imflBA
-CDrQ2ea5LGBD55v6CvxK1g==
-m+hvPY3d9tI9PnHdu7yUaWzLelbG6d/HQsjDFyh0etI=
-leErXN0I8rbT5yLaXLnA4UpgEZ36UZf7
-E4hT7N3ytDu1bH4gSInujbSy3yYbdHE3QsjDFyh0etI=
-3aCjb4B6LUgQbzZMuyy9fQ==
-G4j5jFyDtCkSCQzGhDDQ3xFd186JPWIx
-dQt5mgUKF7RGbvA+FxO6Aa6TFu1St0Q+
-bK8Zpab/PptNYls6bckCK0b9mG02yi89
-b8nVx09fy5I4ol1WGH/UY+uB4rqv7sHTQsjDFyh0etI=
-PARbOnEYlB3rgwUip8TSvq6TFu1St0Q+
-go/dWWwGU8ZD55v6CvxK1g==
-T0tpWQa0WBwpLJFGqVmt30pgEZ36UZf7
-GU9rv7S9HDIGHMaWPyuU9EpgEZ36UZf7
-Fmkib4/xoTNW31DI1h7eFg==
-PaGbbzoWurQnHOlkm0sxA7ATS+O+j2ux
-unXa+WSPJaTcONVccNlNVA==
-5z/FaS08FC1BnszADhIUyA==
-6VoNgNkfRe8QbzZMuyy9fQ==
-d1sVTi4llK7lQZ/5Ca6Djemquk3AdnJs
-erLQ3JyUfITosWPRubTz9g==
-HCEq+yB3xiRUIm92l3iN1QRlNLC4WkMM
-x8Xhf0IsI6i69RZQsnc3eg==
-767F12U7TA669RZQsnc3eg==
-VQyanJdAJxr8KlV1ph0Yja6TFu1St0Q+
-v0o/NZ2Flyh0rznFov+n29Lc9dC9R8SPQsjDFyh0etI=
-H250ngXCLbQRBJ/GG5blyg==
-2gjhNrDt+ecKVV36DWVEmkpgEZ36UZf7
-B5DO9dw1D2aNtey2rT+RsUpgEZ36UZf7
-zmnYQWRJshxfVjmT72+IU66TFu1St0Q+
-/nZa4JHvh5RutdpwhrdIlK6TFu1St0Q+
-/nZa4JHvh5S+AVOQd458366TFu1St0Q+
-yAZvjf/Npq3cONVccNlNVA==
-L2rEB7a+UV80RdSYnDioGwasHACEUXCA
-pP/EazI2ohTcONVccNlNVA==
-b+p7oPuIEcXg3Myw7p6Prw==
-0j/OcOgq4vblQZ/5Ca6DjavOQA58TWdB
-2w7I+GMn9H/osWPRubTz9g==
-G6wb24Mf5+Q2bj7D5mvDy66TFu1St0Q+
-G6wb24Mf5+SuA6VKJ2wwgRFd186JPWIx
-Iv1mcWBS5FKHDjyHip04zq6TFu1St0Q+
-odwlcbPCv1W69RZQsnc3eg==
-yBoOCGRT4wkQbzZMuyy9fQ==
-XNaWB0E7siMQbzZMuyy9fQ==
-0oaWW6Ft5KK1f4daHIwZR66TFu1St0Q+
-Xn4HnNubANHFZ5D2h4QJfa6TFu1St0Q+
-/VfPpD7+6VgDBxRO/zU9JkpgEZ36UZf7
-fSwdf2OLVVwUSzruuERD/kpgEZ36UZf7
-xADmzjZLg26rDnbY10uRMnRjEyS9gTVe
-EB1+TmwsWHFLSooFBSheEa6TFu1St0Q+
-EiJtPPoy5YOqBDtVMagTbV0cGoICqv+Y
-2Om0H6dKuzZjsD7stN1IVkpgEZ36UZf7
-ky+iLMs6QhG69RZQsnc3eg==
-Do2wiH59igUFYo+n99SzmK6TFu1St0Q+
-4Wm1uiOER9xjsD7stN1IVkpgEZ36UZf7
-4kdkKXQ7T0R1hHUpo6tg/RFd186JPWIx
-0aA0U9ckmH1WgHE3Y5h4cq+zvaDCtmOC
-udHQ1AK6s0BHbbfugUQuexFNDyQXudPo
-udHQ1AK6s0BHbbfugUQuezWfKD51et5xM88MNA/vQMjPtKrR/HyW6g==
-ZHexhB9C/Zz4F0w18YK/UXNxLrmbdg4ypHp904IlTO0=
-0aA0U9ckmH2kmRvSpkGJU0pgEZ36UZf7
-asaad8Q4C6C69RZQsnc3eg==
-FfjvvdggP/1GEF1igpqnMqTO0BUuhgmmpHp904IlTO0=
-c8fipJzZpKFjsD7stN1IVkpgEZ36UZf7
-tVBVCkW2P2vvP1LP4h1GfbATS+O+j2ux
-RL9wd7sqH8nJ/XFJLG1noC3MK637qtLAMUxkNOfOKBk=
-pNyUesdLMVAQbzZMuyy9fQ==
-P6wUpZ7cEfJjsD7stN1IVkpgEZ36UZf7
-lcvWexuh08kQbzZMuyy9fQ==
-cOvzp9XLrnHPtKrR/HyW6g==
-24DcSkM24SyWrgmkghmdO1Ko6ZZdPmtccOvzp9XLrnEQbzZMuyy9fQ==
-ubdFc9Fjb2PZLxnyiQ/rkkpgEZ36UZf7
-3OUUj3H9vbXc+KxpsRsDrA==
-/VqIfk4vfde69RZQsnc3eg==
-eAGFq9Be2c60E0hhBYOohJTAjlN+0rCKQsjDFyh0etI=
-hYF2byblOfrmON+KcZNNZ66TFu1St0Q+
-FOjb6eu8wui69RZQsnc3eg==
-6Oqf3E+UYp0uSzhzXn0QB0pgEZ36UZf7
-bKuUJ1epVUL/BocxQ/VkHF6uLIHrocIjMUxkNOfOKBk=
-bKuUJ1epVUJL/UW/zBqatq6TFu1St0Q+
-bKuUJ1epVULWXIcogNVO9K6TFu1St0Q+
-Pj9SI6V8cpAQbzZMuyy9fQ==
-2O5atTA83Yr6YqjoYt1SRw==
-TRi1oeyNUdOyMfjkGshymq6TFu1St0Q+
-zm66Ok5YvbJgW+fN9gkOExFd186JPWIx
-0FmNHjoeZ7ZzPdxvkmOOUQ==
-oVJkClU0Bvh5NR6CtIcYXyJQS0qubhjOMUxkNOfOKBk=
-l0FzfX6DT5kkzaN7ZmJDz0pgEZ36UZf7
-twznt9msCJMFAh5yz5V5DA==
-GJGUhATERBm69RZQsnc3eg==
-dNe0XAa3Jm+69RZQsnc3eg==
-g0zbV1jZvRG+FqF3alT2MK6TFu1St0Q+
-g0zbV1jZvRFGaekUD7uix0pgEZ36UZf7
-rT95lZHuLzl5qXvK6bns50pgEZ36UZf7
-246DAPSPSX+jDwBn58SGBA==
-qptm92sSB/UuSzhzXn0QB0pgEZ36UZf7
-SZ7z14JzRxxIEyQTlUlZeA==
-mc0v41Pmxbu69RZQsnc3eg==
-X9EC5zk/BzLe//s1SyicgUpgEZ36UZf7
-YbFLLWDTZX7s9iRt3fGmm0pgEZ36UZf7
-JhrB2RKqSO8QbzZMuyy9fQ==
-vKMadaRxCnt9yZ92+zfrDRFd186JPWIx
-rwSi9v0Y5/kpw8jvosnBbEpgEZ36UZf7
-L4guYbOD3ybiWybz9IQNYq6TFu1St0Q+
-g30soSzYKlYqYKw79TNc7WzLelbG6d/HQsjDFyh0etI=
-IfQDH7CTkzLhHU77rtW3IEpgEZ36UZf7
-Gc+2o0fCUZzBRTe6oIudra6TFu1St0Q+
-xG5CG1VWnMcYMNtTOEq0iq6TFu1St0Q+
-xG5CG1VWnMemkG9esmQL6vmkGF5eJuLTgcGpywLGjyk=
-+812jhbb/MJhfXGLID+DlwxRxeTVAFkvMUxkNOfOKBk=
-ZpI2ZmzFQJ3d+AsDA8cg4xFd186JPWIx
-+8iGrGjQRQXLJRvWtAt1iWXPkQWk08oq
-Gcnsiwomf6vBdIdG8bPRHq6TFu1St0Q+
-cJPzYw+8qO2U1kX+sOaXa66TFu1St0Q+
-cJPzYw+8qO3DvZfDAYgFeEpgEZ36UZf7
-L4guYbOD3yb/9bq0lnqP8q6TFu1St0Q+
-nVdA10JEgrH58tUSo2w3wRFd186JPWIx
-dHtBk0+GYeLrnk1qsavO30pgEZ36UZf7
-wDXNPMfkdyNaJVU3B73UtkpgEZ36UZf7
-DH2VViKrbzkp6/lKXi3UMOrUo2OLEJuOMUxkNOfOKBk=
-JuMgbbZn7fq69RZQsnc3eg==
-hNhIxSJODQcQbzZMuyy9fQ==
-Be1T87t+ge5XlrymvmHctullg955GZOyQsjDFyh0etI=
-Be1T87t+ge6yBrpNLcSpoZjZkopBAnj4MUxkNOfOKBk=
-Be1T87t+ge6km2jSURfVd66TFu1St0Q+
-Be1T87t+ge6BEzUegK+Lza6TFu1St0Q+
-Be1T87t+ge5XqKHPIBx1da6TFu1St0Q+
-Be1T87t+ge4WsteAkC3pgkpgEZ36UZf7
-Be1T87t+ge48js9ij9+tfK6TFu1St0Q+
-pF+/2e5PCdiYv/g0PaK/jLATS+O+j2ux
-mySxSoQQ5hHpWpvdSbbRuEpgEZ36UZf7
-vw9DQsUCodtXqKHPIBx1da6TFu1St0Q+
-q8SO41xH4H+69RZQsnc3eg==
-bL0xvp6bKswuSzhzXn0QB0pgEZ36UZf7
-OlIufldps1669RZQsnc3eg==
-k/AWU8J38ewgXPwNYOJVVEpgEZ36UZf7
-4Qvrbb1JTp8NEtu2B0J0EkpgEZ36UZf7
-m/tIDzJi3OZXUDBIWUrqSK6TFu1St0Q+
-O3P6K+AfRNzF44QHb2ipdySJiF99b0wTQsjDFyh0etI=
-m7NwXX44/6UMorRxG+mAPOpKBtESlcIq
-wtKpMto5s6y69RZQsnc3eg==
-S9B++UiCXWVbnA9om6yqTUpgEZ36UZf7
-WIGh7D0Sh7QQbzZMuyy9fQ==
-ttuFIQiBSmBL/UW/zBqatq6TFu1St0Q+
-FkH+3MJcYBklYvB1qywZ0w==
-+SvHIm2Mlu9WgHE3Y5h4clmDacM1Qce9g5pwDthfxF0=
-+SvHIm2Mlu+kmRvSpkGJU0pgEZ36UZf7
-UnEQf/j0jK669RZQsnc3eg==
-bq4owRXG1Pi9sAs6ya9NVUpgEZ36UZf7
-bq4owRXG1PjYU6xqspywv0pgEZ36UZf7
-8GR+KuRP/IrZpafk8rhqLq6TFu1St0Q+
-GhRXduWr8cb3R9KvkRZsVq6TFu1St0Q+
-osXaeNVdi5Dge6sx1rKnBkpgEZ36UZf7
-uCAuXCRbEjO69RZQsnc3eg==
-+Eu7/eJLklcQbzZMuyy9fQ==
-rKBk01Fx9j269RZQsnc3eg==
-HX/6YLaQ1igQbzZMuyy9fQ==
-HzTSi3irigCvmjkAhtg9xlV2rXAZxRtdwIyvNNx82FmIhPyc0rS35Q==
-VgjQjLlxJga69RZQsnc3eg==
-oCdVZ3TjXszsI02ZCbErN66TFu1St0Q+
-06VstCfw9TvjkaMZ4YNV7kpgEZ36UZf7
-yIwYB0D5ANpIkRc7oSI9s0DkVM7urTWs
-XsRueZvhAyoY2HrRmU8pmnfPzG5Uk11rMUxkNOfOKBk=
-MWehmVZf6C03ix6bNeTT50pgEZ36UZf7
-53+yvEZVriY3ix6bNeTT50pgEZ36UZf7
-JWBCcm2oC0hlDmn3A9bDMCZCeN6biUcBzIoa92Sdy9uken3TgiVM7Q==
-z0NB6EgQrYuej9syichlRa6TFu1St0Q+
-7dwIUGq+pHAjgMng2FanCa6TFu1St0Q+
-7dwIUGq+pHDVNpX+SJIcBl2BBsIawet1Y+n1GTEPqeIQbzZMuyy9fQ==
-ZtiRChQSkzkHtd+QAWXXl0pgEZ36UZf7
-u2y2FVfBqZ669RZQsnc3eg==
-md7FgUY16RRpHAHM1WsmQ76iSxkTQlgB
-Wv0p/PwJHRdhDZurQlhANEpgEZ36UZf7
-Wv0p/PwJHRdGaekUD7uix0pgEZ36UZf7
-ZTORLADhCW0//Lt/QRmfpxFd186JPWIx
-ZTORLADhCW2V5Bc5DWG/rq6TFu1St0Q+
-wMnWetYvwcB22baEwHSHdQRlNLC4WkMM
-fHieFygyEvwDBxRO/zU9JkpgEZ36UZf7
-entv5lp5ztG69RZQsnc3eg==
-W6++NOLhnGImgH9IsYidFBFd186JPWIx
-JAdHujdWNWIQbzZMuyy9fQ==
-jhM9JTBsgxc3ix6bNeTT50pgEZ36UZf7
-neSRPR/Dc1o3BEhoG6ZHqEpgEZ36UZf7
-ySmvEQkp+QnDVB+FOWxfQgEdVR4JW0pvQsjDFyh0etI=
-gre6Tf1xXnDfF8fdQPwqgkpgEZ36UZf7
-LAphuzvX0+1w5Y5BQVzk8EpgEZ36UZf7
-LAphuzvX0+3XoplDMw5YiK6TFu1St0Q+
-4dmt9tLfxArcemGYPMM4W/2FWCxcMLt3
-pjQ6oNqUNpDNgWyWzjfkBeK+1Ww6oK4tpHp904IlTO0=
-I1DBVtavRK0sCT9VnjItvUpgEZ36UZf7
-DGdum4rbXqe9sAs6ya9NVUpgEZ36UZf7
-liY3+k43l7+Q4FSyzAKv7/wyznKZVl2qm9NdDcVBO4TPtKrR/HyW6g==
-Yrj7/Cliiaz4osiym+Qx7q6TFu1St0Q+
-Yrj7/CliiawTfm2BwPdp0K6TFu1St0Q+
-Yrj7/CliiazUFVAdmhdxV0pgEZ36UZf7
-NBBXNZCaNE99yZ92+zfrDRFd186JPWIx
-VynNxYGlkQAAYjr/iAXyc0pgEZ36UZf7
-/nSM2iK24qLBTtMburLnsxFd186JPWIx
-JZwfCTqSDJXhHU77rtW3IEpgEZ36UZf7
-GDDHjFNx9y3/htQJCfkj0jH8At29S2vWMUxkNOfOKBk=
-GDDHjFNx9y3/htQJCfkj0jH8At29S2vW2tJwUxoKu3Z3Ejg0x6Jg7UpgEZ36UZf7
-s6xvxms4FKy3Z3wCjfQBfKEFpmD/7rphVYc272jQVlzsAYHIvlGaQ0pgEZ36UZf7
-nly0EGexHS8W40YEz3OcsrfiN+rZvC5rpHp904IlTO0=
-Z6ORYEVTHAYYMNtTOEq0iq6TFu1St0Q+
-V36oXX8CJ64Yoo5YVl4ymlHJ+U6ttM36QsjDFyh0etI=
-VCHr/EMKXxzO0EtYHLOvphFd186JPWIx
-0XdboMChu2E5gHpaD2pPooAQZEKNzc0cQsjDFyh0etI=
-hUAdePKw8FaO4zpxKF2pcUpgEZ36UZf7
-ms3NmDDAWXmcg+a+FanOcK6TFu1St0Q+
-ms3NmDDAWXnBdIdG8bPRHq6TFu1St0Q+
-xt3ch79mTxjDvZfDAYgFeEpgEZ36UZf7
-v4ihoCtNRVm64ZIHXxB1ELMtDXvYITGLQDXerzMEonY=
-Z6ORYEVTHAbdjUukdGSSoa6TFu1St0Q+
-/i480IQgLMepMlZ7KX1uK5Uu1LwoAZE1pHp904IlTO0=
-tsogkendiar58tUSo2w3wRFd186JPWIx
-tsogkendiar58tUSo2w3wU8KuEfhpPX9R/7mzGnZhPgQbzZMuyy9fQ==
-Z6ORYEVTHAZcKrbMkfbHlPSzXA5wk6riG7gWkmicr4asR1PWtjwftUpgEZ36UZf7
-lQFziLYwAFS69RZQsnc3eg==
-Lwk9eym56F3nQ5g+cqaOAEpgEZ36UZf7
-WV4Ty/OMJBg8ZussIEHzGUpgEZ36UZf7
-cchXAGqWaFReJ21yxIT3ba6TFu1St0Q+
-SPMC0Or3Wq5Ym2pzcr/F6K6TFu1St0Q+
-aak3L9Lnp6k4jrPr+Vc2Qq6TFu1St0Q+
-joRcuCpi9AbCf5nF5XhYkzq++rVj/JEh
-GxXLVwg10cxZKfrHsoPLMq6TFu1St0Q+
-q3wgm/88Ra/5FA/QNzKqWH0+UvKLRoJx
-5EBWJUcB7QrxvRcuB5L/UQ==
-5EBWJUcB7QpKxBbFVac+13RjEyS9gTVe
-LJS42ZwcpdF4AoArZ/s7PQ==
-Az4+5t1fUEIHfJh8pHGbwQ==
-ndv/6Tbir2C69RZQsnc3eg==
-fJTXcZwpB8lUhVo494mV+0pgEZ36UZf7
-C+CTZb0f4RMrkmpQpbhvUmzLelbG6d/HQsjDFyh0etI=
-wK1sZrL3pJCqgAN13k3kyUpgEZ36UZf7
-GR4nmuKDRgsQbzZMuyy9fQ==
-IAucFrl7qqxLIGJootoeXm20YNLFrd/2QsjDFyh0etI=
-BKa9L3k9bnKIR37fpmmVAUpgEZ36UZf7
-dyMnqxlKzdOMygbJsihIC0pgEZ36UZf7
-Dme0iKBg4ltD55v6CvxK1g==
-gkB282ET6CHZnuNxhT4mNuOtyzPBIb3PQsjDFyh0etI=
-mW7W5BgaP+OyKY5S6qj9y0pgEZ36UZf7
-BPywirVs7BwjgMng2FanCa6TFu1St0Q+
-LwTctfycqwn1eDN17P0yB2DeAGTxF+LrQsjDFyh0etI=
-BT/fHxNzenCIR37fpmmVAUpgEZ36UZf7
-oJ7KGIaocyBSndz+M2zpG66TFu1St0Q+
-KxlRPOIG9Zu69RZQsnc3eg==
-AHJVRVXWVMi9sAs6ya9NVUpgEZ36UZf7
-AHJVRVXWVMgKVV36DWVEmkpgEZ36UZf7
-Od0k7somw0+ognNgz49kBq6TFu1St0Q+
-4HI+0PfJaYN8YPH6c539+gh0Xdfz1dmI
-tqfw6NEVIE0sCT9VnjItvUpgEZ36UZf7
-D/nWCdnKl6rYU6xqspywv0pgEZ36UZf7
-3BvyzjY734YKVV36DWVEmkpgEZ36UZf7
-B2EBAR60IppviaU6KjCIOkpgEZ36UZf7
-2auQrCxhHIsKVV36DWVEmkpgEZ36UZf7
-qafVZjrsTecQbzZMuyy9fQ==
-+BWPPfYlvW1XqKHPIBx1da6TFu1St0Q+
-qJyJhtR9wYX3LsIUn3DSXA==
-Kj80l/0jF1MQbzZMuyy9fQ==
-BF5qDHsTq5IQbzZMuyy9fQ==
-v9yCwhqLXXSMygbJsihIC0pgEZ36UZf7
-pqQNd+2bsKQQbzZMuyy9fQ==
-2aDJllB28JLJXbPtseCSr66TFu1St0Q+
-FQUi8oWeKA0t2SdYDpcKMx4+/JjZmx5+QsjDFyh0etI=
-FQUi8oWeKA22mkhDBQ8Od66TFu1St0Q+
-FQUi8oWeKA16K4HqriD8jbATS+O+j2ux
-FQUi8oWeKA2ZveeDa7x7vQ26QOL8owUahm+575xLNpk=
-PN71jlSk34UCxwQXdsGm4RFd186JPWIx
-6EiWonjOwKYAZgmfbgyEWhFd186JPWIx
-n4KofNyd2vaf5Pk0Hz2DJw==
-KbKku7ucQ39uoije31Jd6N+AB/9JRYLv
-GCjAqXPF1DpefKc/Qs1jJ0pgEZ36UZf7
-XZm6QFzDmJh5QHl4Rg/BHa6TFu1St0Q+
-/gVNZGSuGULWbJef4vcbmEDKk/bXBHJ0
-PrCzvDaC5BIQbzZMuyy9fQ==
-jryElcwKEMNxLBNTp+QtPa6TFu1St0Q+
-Y3uHEyYQDdpjsD7stN1IVkpgEZ36UZf7
-sfDdVW5fHlbz7I3BdGQeAUpgEZ36UZf7
-Ijs5NwarmpdGNWh/ueDr//oslnIPxwMNOpiZwhxoQoY=
-GLZe/17QCbw2Hyl0WmLydTOZLUhfMDr5ccu/ewAJfBAQbzZMuyy9fQ==
-GLZe/17QCbxmXvUvjgbr4gRlNLC4WkMM
-FRuKyrtJj/RL/UW/zBqatq6TFu1St0Q+
-0sR5tvt5nTnz7I3BdGQeAUpgEZ36UZf7
-ike6hX0KY49viaU6KjCIOkpgEZ36UZf7
-DOXrtCrKcXQKVV36DWVEmkpgEZ36UZf7
-MzrnRYF60fhD55v6CvxK1g==
-MdIN8DMpaEBWgHE3Y5h4cq+zvaDCtmOC
-ZNQWeAaprLh99UDbqfbz0kpgEZ36UZf7
-Oed05VhE/J+69RZQsnc3eg==
-BGL6SBJINCS9sAs6ya9NVUpgEZ36UZf7
-/aUJ40q0OGE8js9ij9+tfK6TFu1St0Q+
-fkGZhX/El4S9sAs6ya9NVUpgEZ36UZf7
-RwfaZMa+tcJkNVRINR3RaK6TFu1St0Q+
-JsWoe4vRDt9D55v6CvxK1g==
-aExuyB28XAR0Cy32pByLQhyTd0zrhZHS
-Rq6VzCfzICnrnk1qsavO30pgEZ36UZf7
-/7ct4BMAXCX3LsIUn3DSXA==
-rH75MlwLe4iHDjyHip04zq6TFu1St0Q+
-WpMnbnNRcj++AVOQd458366TFu1St0Q+
-hgKSS6WIoWEBDkcxYXRMQuvrVV57TYMGQsjDFyh0etI=
-hgKSS6WIoWHSQcDia9XkMUZDtywxNaqwssFnX7VEXvk=
-ObtZggguHVG8I/xD/AcfOw==
-ZcATeY3SOmV6K4HqriD8jbATS+O+j2ux
-BtmsuCW8kSoRbt1qFeXe90pgEZ36UZf7
-IIbeVb1Zp2XBTiXSG8DU5A==
-gBhYk85FRG7osWPRubTz9g==
-1gUH5d9S+SToQkvGwyeRdEpgEZ36UZf7
-9ATztfXQ4YKkmRvSpkGJU0pgEZ36UZf7
-0xF9G4KuCCQKVV36DWVEmkpgEZ36UZf7
-zL88MVcVUc0QbzZMuyy9fQ==
-kN7D+ZqtUAcsXyKn8XbgBb6iSxkTQlgB
-06uexQw4y8b+wP1ZSJe0Fa6TFu1St0Q+
-R2Qp0UuOuBm69RZQsnc3eg==
-QqZvghyTZW3Etpl/UCrmDhwtk57bhXro
-WEck0+cxgSIKVV36DWVEmkpgEZ36UZf7
-lk8o5519Kxjg6njkDcx/a2H0eyG7sJmpQsjDFyh0etI=
-DIt4Xp3Xbla1QXPpBNd8kSwG0AwB1kzR
-9FJF/kSi49wQbzZMuyy9fQ==
-pd1F9WAw6p6GsXOp2DRhH66TFu1St0Q+
-b8ErQvNUZgdfVjmT72+IU66TFu1St0Q+
-kigrNEhv/MtjsD7stN1IVkpgEZ36UZf7
-6CdJfik1TY5qn1dzSYzfhEpgEZ36UZf7
-rsOHmN/4ufkL8rKaud4vfJTAjlN+0rCKQsjDFyh0etI=
-Ps9uzDrPzbEQbzZMuyy9fQ==
-WV+0RBWFalgQbzZMuyy9fQ==
-zCVSXXb5NXnjkaMZ4YNV7kpgEZ36UZf7
-F5JwbV5nfmcQbzZMuyy9fQ==
-j5r7gucVUZM3ix6bNeTT50pgEZ36UZf7
-Lz3xBm67RkVAXn6hyCEMM0pgEZ36UZf7
-kQHtQ28+jmTc+KxpsRsDrA==
-it7CAuuV7SAxR6MAda53566TFu1St0Q+
-Lt5EcigUzFAQbzZMuyy9fQ==
-OSSSe/Go/jgQbzZMuyy9fQ==
-b6PxRZiWRCUQbzZMuyy9fQ==
-R2eAdMyK6zQlxofoR4BxXUpgEZ36UZf7
-gywMijxUj6cKVV36DWVEmkpgEZ36UZf7
-FuqufNWLbz7WJtI2H4aUC66TFu1St0Q+
-3oeh0L+U9UBwCZz7QgmQzkpgEZ36UZf7
-qDJCWQ+e+n61f4daHIwZR66TFu1St0Q+
-3WlQtmhq3G8QbzZMuyy9fQ==
-ERwzEHJFSaRGaekUD7uix0pgEZ36UZf7
-ERwzEHJFSaSkXYAzJbi62RFd186JPWIx
-Kr9NpwKWfsKHDjyHip04zq6TFu1St0Q+
-nC3Olv+9F3VfoGFpKmLQzGzLelbG6d/HQsjDFyh0etI=
-59OFXSNrO2a69RZQsnc3eg==
-/rrEnWld478nHOlkm0sxA7ATS+O+j2ux
-h1XeOIBMRZ3khe8KFBemAA==
-oO2ddiOCY54QbzZMuyy9fQ==
-+/5WFE6HdRK/GGpwIprIPQ==
-QUZE6hSkMkwQbzZMuyy9fQ==
-4WFREg6StsXlQZ/5Ca6Djemquk3AdnJs
-MyZ2EamTQ97osWPRubTz9g==
-XXIUiO8imQdhDZurQlhANEpgEZ36UZf7
-RNUTN8me5q1or2m5+SKQMOG738ihzCxHQsjDFyh0etI=
-LPekO1Vw5kgU8eAB+2lgKlX9mMU2d4g04nizU8ePnqM=
-LPekO1Vw5khtd8WtUYdrl/znlgPCB6PWMUxkNOfOKBk=
-GOs/j0/PHelIkRc7oSI9s0DkVM7urTWs
-GOs/j0/PHelIkRc7oSI9s94er8ZM74QIohNK2NQcv24QbzZMuyy9fQ==
-GOs/j0/PHelIkRc7oSI9szlHsXZwP1nWHPP9v0009f4=
-GOs/j0/PHelIkRc7oSI9s97P1cGs5sNKgcGpywLGjyk=
-iB2sYRaVfwLrnk1qsavO30pgEZ36UZf7
-GG71AOESABJkrUfAWW2QvEpgEZ36UZf7
-fd7Rpt8fWBhUIm92l3iN1dKheJtuSshr
-+1VsVSgMX3odh+oZBnL0F0pgEZ36UZf7
-NPyf8uRLdZBatvb7qk/XrEpgEZ36UZf7
-x9PLCfVsCr/aY475fTCHFK6TFu1St0Q+
-x9PLCfVsCr+UayicXLX+aK6TFu1St0Q+
-oVV0uxz5T6yivb31KYUN5UpgEZ36UZf7
-xQ8n2p9QTXp30QT7blyM3bATS+O+j2ux
-Cks1i1RgvXc5Ed+Ka07xCkpgEZ36UZf7
-iwZpY5oYT+TOfQYjfoBcgkpgEZ36UZf7
-zC/bIffd/q9utdpwhrdIlK6TFu1St0Q+
-vGTRMHlT7dX3LsIUn3DSXA==
-4yKVkHCQKXbjkaMZ4YNV7kpgEZ36UZf7
-E0zofMTBmegkzaN7ZmJDz0pgEZ36UZf7
-RjlHunEZKP1X5Xi4jlyrm0pgEZ36UZf7
-QY8HRySr7Iwnp75iBJ/Vj66TFu1St0Q+
-9zUaxn05IBxgnwnOZ+hQK66TFu1St0Q+
-98gWtMm+tR669RZQsnc3eg==
-pou90Ds2zWaivb31KYUN5UpgEZ36UZf7
-OwPmdJgfleD9qI/NdGuLvq+zvaDCtmOC
-8a/odfEE6zxjsD7stN1IVkpgEZ36UZf7
-6N8OYQckkzWyk0jmTIrtlQ==
-39rO+Kxnmji69RZQsnc3eg==
-orFEvaQa0+AHI68W/MPHCa6TFu1St0Q+
-orFEvaQa0+Df4Ry3EMOjKEpgEZ36UZf7
-aM6jPf4QFiflc3LHoaCHKXRjEyS9gTVe
-ZMr6bs8Pd9bQ6oLuzbuHdNRcpn4U7x3XQsjDFyh0etI=
-k63/U+Ort/t1sXunLF29TqwbjE3nDcTo
-Wj5HYIWDLWG69RZQsnc3eg==
-OgGc28R9XYpbnA9om6yqTUpgEZ36UZf7
-LxBJSTkhXn8KVV36DWVEmkpgEZ36UZf7
-J2nslBNjSd/qU/CttlgjmEpgEZ36UZf7
-NIMkrNyEXQQTkBuMqRoBchFd186JPWIx
-5Od2zL01rcns9iRt3fGmm0pgEZ36UZf7
-fG3H/eYATNhjsD7stN1IVkpgEZ36UZf7
-RZ+v/54TrXap58z+jjbwkfD8PqSz/7Xm
-IzqZUh1jNoXP6Wwlw4zyOkpgEZ36UZf7
-xjBOWYwtJQIcjhU/Xv96eLcGb2RN0GIf
-xjBOWYwtJQInz2o+xwX02aNte/OiYaRw
-xjBOWYwtJQInz2o+xwX02cQ6uk/WHcyfjRUon1R0ficQbzZMuyy9fQ==
-xjBOWYwtJQJRKpnwl88SZLCpTXnOszLxmTjcpX4Xv1I=
-xjBOWYwtJQLNj3osZXWK/wNqyAperh+Gceie1Maa4HfKk5CmR15tCUpgEZ36UZf7
-MWXFwS+gXEBL/UW/zBqatq6TFu1St0Q+
-EsD6jrkHSH0QbzZMuyy9fQ==
-s/Uo311nB4nNgWyWzjfkBeK+1Ww6oK4tpHp904IlTO0=
-URZTYYOprr+9sAs6ya9NVUpgEZ36UZf7
-URZTYYOprr8KVV36DWVEmkpgEZ36UZf7
-PbluYqiSMUInlR5KMGbbXNoBODUAt1xc
-SvUyT0up+YUaegOSGrYRJhyTd0zrhZHS
-7KSbuV1nCERqn1dzSYzfhEpgEZ36UZf7
-6uJVi7VzfR9D55v6CvxK1g==
-FQ7Z0CPc4AkgXPwNYOJVVEpgEZ36UZf7
-CrymWgzKBwmXque4CiKiB0pgEZ36UZf7
-uensoKoCEG2eZ3vw9RQTrkpgEZ36UZf7
-swNZuvrdsrUKVV36DWVEmkpgEZ36UZf7
-jTuQkMDtjync+KxpsRsDrA==
-eYrwlVYgQAsNLBVQVO59La6TFu1St0Q+
-lPChL110T8qH6H8fqQsEDa6TFu1St0Q+
-8FSnJAv4mC/Mc5Bnc8mDRe54uYxEV7tyMUxkNOfOKBk=
-oK0P3jpMVZs=
-RT8uwG1AoLRL/UW/zBqatq6TFu1St0Q+
-NiV9MVLKhXKHDjyHip04zq6TFu1St0Q+
-anqc376RwxFrnfoP+wEgV7ATS+O+j2ux
-BWf2VPSq/CBAUyCjrKlDyUpgEZ36UZf7
-PfdaDBocFQixm2LbXcoIDa6TFu1St0Q+
-ZVyEsgcvvqkCxwQXdsGm4QRlNLC4WkMM
-+Coj8KXFfRzcONVccNlNVA==
-PmXiFkkqLljCK04zVVZrqh9chXIUgi4lMUxkNOfOKBk=
-/ZBZNOiYzE+2EkinjidSXa6TFu1St0Q+
-ShmFYWl9kbI3ix6bNeTT50pgEZ36UZf7
-xEHYC5PyimNE0MxH/kbINQm+ik3u28cBouZscKxJy/sQbzZMuyy9fQ==
-8n8zV92Zv6nu8xwJpBGB7q6TFu1St0Q+
-8n8zV92Zv6krX2BZrGZD8VPHTAexdz+zMUxkNOfOKBk=
-8n8zV92Zv6krX2BZrGZD8VpIinwp+ERxMUxkNOfOKBk=
-8n8zV92Zv6nfF8fdQPwqgkpgEZ36UZf7
-miKP0CYl3W5Ym2pzcr/F6K6TFu1St0Q+
-at1Bn/0PBKERBJ/GG5blyg==
-Ls5FWwWEd6qyk0jmTIrtlQ==
-ghSbmaLOO99tji7RQU6MggRlNLC4WkMM
-ghSbmaLOO99L/UW/zBqatq6TFu1St0Q+
-ghSbmaLOO9+2eQd7E/7L866TFu1St0Q+
-wesEbkcq3G2kmRvSpkGJU0pgEZ36UZf7
-YUhOmXNESHC69RZQsnc3eg==
-aALCXOoFPx+9sAs6ya9NVUpgEZ36UZf7
-aALCXOoFPx8KVV36DWVEmkpgEZ36UZf7
-Kpq53a0+iGA3ix6bNeTT50pgEZ36UZf7
-LbpsRClvKt43ix6bNeTT50pgEZ36UZf7
-u9VShjNiQLa69RZQsnc3eg==
-NIl1dVHO3ljPtKrR/HyW6g==
-79ikOahtbziMeW7poAUy4X/CFQJ6Jsg9
-B9uuO07HaYDhefW3q+Msca6TFu1St0Q+
-KA3vo7pJXIdFDlJf+uZ8Jq6TFu1St0Q+
-xm0YhMMvUrTv6eQ9seoGjEUzv8FEiuOYMUxkNOfOKBk=
-93ZjDiJwkDFGaekUD7uix0pgEZ36UZf7
-C6eysrtIgcAgcxiJCY3Ya/cUbP5RhaV1QsjDFyh0etI=
-oRqu1B35G5r4prflBcOI/q6TFu1St0Q+
-hT2R6oNQDGiMygbJsihIC0pgEZ36UZf7
-xGjxEbbo/twhJLbnEbgPLK6TFu1St0Q+
-xGjxEbbo/txre6ZjJY/aDNSX1ILygfSsdTD26Z5KQnpal+TXCztiQ5Wfx8uQEQHg
-YmFbY+KQ4Y4dNToG2d9B8/XBa+Kh9WVu
-YmFbY+KQ4Y4bHBvW0gRQF66TFu1St0Q+
-YmFbY+KQ4Y5QHYDAU4bOheuHMKDFBbtlQsjDFyh0etI=
-YmFbY+KQ4Y62jZ0HIHtNhJwEnpF63SM/
-WAXiD8YngH8WPHcX9Dw7dEpgEZ36UZf7
-ljwmOqHUx3kdh+oZBnL0F0pgEZ36UZf7
-ntKwejfnuA0YgouZt2pykBRGX6dD+yb9gcGpywLGjyk=
-jDc+I5DLhje9sAs6ya9NVUpgEZ36UZf7
-jDc+I5DLhjcKVV36DWVEmkpgEZ36UZf7
-qoXyHyshoZMQbzZMuyy9fQ==
-MmnONpzqj5b7W3Ekux8q5C73DbanPF9TRccUPCPq9v2tI0S3/hMLM0pgEZ36UZf7
-VcWnl3ReS/XcONVccNlNVA==
-rHGVkOky9lRkNVRINR3RaK6TFu1St0Q+
-hlmCVY6Y2sAlYvB1qywZ0w==
-9Mqch0gZ4bO3ZIY+lmc/+RFd186JPWIx
-lx6eh+YkHBXGQf4A1Ut9bKuL51BaHbjJMUxkNOfOKBk=
-d8YButcgSKy/GGpwIprIPQ==
-G4j5jFyDtCnrgwUip8TSvq6TFu1St0Q+
-ib079HkmfIwFhfnjPKd+oa6TFu1St0Q+
-ammVyKzxh8wlYvB1qywZ0w==
-bKuUJ1epVUKAB2gzKtqpWq6TFu1St0Q+
-4kxYBh5F0zLPtKrR/HyW6g==
-Be1T87t+ge5BZVErSSLMkkpgEZ36UZf7
-Y0UYF4M6ChLc+KxpsRsDrA==
-+yp7LhPh6/o2wwd3InzQFy4v4ck8itax/Xp6gMoyyMQQbzZMuyy9fQ==
-cZht5tTkz8MlYvB1qywZ0w==
-VynNxYGlkQARbt1qFeXe90pgEZ36UZf7
-xt3ch79mTxiU1kX+sOaXa66TFu1St0Q+
-Z6ORYEVTHAZcKrbMkfbHlC2cRMPa25eHMUxkNOfOKBk=
-5yuQig9LutW69RZQsnc3eg==
-ysFI1Rx/lmYlYvB1qywZ0w==
-FQUi8oWeKA1rEaB0qwb7ZEpgEZ36UZf7
-95YPV7nX9j8lYvB1qywZ0w==
-6BDZh8XXSw/QW4f4GF4XkEPAqrofHlb1QsjDFyh0etI=
-TG2nF5NcrshL/UW/zBqatq6TFu1St0Q+
-Koz74bTKswzPtKrR/HyW6g==
-hgKSS6WIoWEHfJh8pHGbwQ==
-P2TLxMjm2PklYvB1qywZ0w==
-I2ROGuDdtN7PtKrR/HyW6g==
-cq6XXjMR3YAlYvB1qywZ0w==
-NhbO6gkLwqjse810KERveLATS+O+j2ux
-d60eywEVz6wsFNs75I9pNUpgEZ36UZf7
-8n8zV92Zv6l9KDxIQfEX1q6TFu1St0Q+
-w0pNO/G/ztklYvB1qywZ0w==
-YmFbY+KQ4Y4JJVgL5g3rBrATS+O+j2ux
-Qud0EeTCG2HBJp7imN6w30pgEZ36UZf7
-de3O9146cmXc+KxpsRsDrA==
-3nu5sG93VQNYm2pzcr/F6K6TFu1St0Q+
-zy+BWp25HIYgXPwNYOJVVEpgEZ36UZf7
-W+uRpV2VRGcYmeMFfkzoqEpgEZ36UZf7
-5HgQz9bhZBYtp15Pg4z9+EpgEZ36UZf7
-UrVzAjnIcuBxOkPtc5YzsrATS+O+j2ux
-g0zbV1jZvRG46IiBV/Z8b7ATS+O+j2ux
-Nt6VZaeWqZy1QXPpBNd8kSwG0AwB1kzR
-ycU0RK38xbDLdJNqyw1kxK6TFu1St0Q+
-9U2iKDgg7A8Fwc85LPgI0JTAjlN+0rCKQsjDFyh0etI=
-REmCvUYOcA6ivb31KYUN5UpgEZ36UZf7
-IOQii0cLb7Ss+U6SBrCCGj4NnApZbtCrpHp904IlTO0=
-GGRFEPnaZJvp/jdmOjkFz0pgEZ36UZf7
-XXIUiO8imQcnTs9sqqXWpRS4C2VAq+q+sYTug1WK1UI=
-XXIUiO8imQfCgbjpU0Ib6a6TFu1St0Q+
-r83+pje9TfVhDZurQlhANEpgEZ36UZf7
-1TVDxDeahUPei54lsZmaNkpgEZ36UZf7
-sdjtfGRtUulD55v6CvxK1g==
-w0f3DSSJVtQzU67SFkmiOUpgEZ36UZf7
-0D2aGEdKA2bUHS2CnvFBDkpgEZ36UZf7
-5+kriP2ZEgUdh+oZBnL0F0pgEZ36UZf7
-megPgZgZatklYvB1qywZ0w==
-PHWmi2qt9kYQbzZMuyy9fQ==
-9K+PZ38Hd/1w5Y5BQVzk8EpgEZ36UZf7
-P2k5Ue4Lv8yDxbJC8dg0Fa6TFu1St0Q+
-PP6ZmRaZwXkQbzZMuyy9fQ==
-Nt6VZaeWqZzN5z6vOYv1dKWQNOM+Ds+D
-XsRueZvhAyoSM4JWt9br8q6TFu1St0Q+
-8F5Rffa3tXczU67SFkmiOUpgEZ36UZf7

+ 0 - 25
graph/src/main/resources/graph_diag_normalize.dict

@@ -1,25 +0,0 @@
-9K+PZ38Hd/1bK60dslh9jD08xZT/RFfX6nQY8kcF6f6Q3pCfQMdEPfSvj2d/B3f9Tj6O+pMPrIRmq1tUfM7NXEw+ew7Midqlfcmfdvs36w05mxVKRDBSCg==
-csx+mzURhJ9wBHXy23rFCqELYR/Ge6SfJguv40zsenLdteW2LzNMtrg0JQEm9dDbB1G+0rUX/fo=
-bK8Zpab/PptNYls6bckCK2qOH6CihZwfKfesZepD1yCYOEv7G+Opo+vBv5hwZW/eVnsuGILD+YJwkU050adHZc9nrcMQ3QcNfldHWCrTN51y47LOmx/liqE23F9pxjrKlKBI0b+VWyI=
-B6XhfErTTJgvNY+AQau22C5XZpH9F868vBWNDVn69QQR0SGjmGqDDcCM58ZMX4o+ZXyFPMW0ii/Ny1CxCM0j0dpXXmClQOUaVGET9rz6vA+1//CUvL5M1g==
-ZBlMqkWFMgGKhXne6fxyMKv5big2S+NWojkRSVpz0yn6WMgWKDhc0+g7aXmzxY+BfWBnTB7jgAc=
-vtDo+c8/v9LFD8Zgufoub1pWh1AgRr/9GnymXXqYoBWbuNje0T36Dr3Q7oysbBqkX1Y5k+9viFNKYBGd+lGX+w==
-vGTRMHlT7dVn8NkcapuUf41gFgiCfJ2oDDOh4hMlCBwOIv27jCqunbxk0TB5U+3VD7FeNuUlO7/XGFua8Lqaah7XrZ4qqRttcq02pXq78Czy339ugWe7+R7XrZ4qqRttjLsAdbyDm5W+WpmiJ+a8SfqpmsxeaqFV
-x9PLCfVsCr/aY475fTCHFGhMbsgdvFwEdAst9qQci0LWQamxDzw1E7qpIkwJx9YsGlVBbqLl3urSDDpehmH9129vfFiy9pH8kCx6xYUnv5FKYBGd+lGX+w==
-x9PLCfVsCr/aY475fTCHFPXiKHRRn5b1dAst9qQci0IbixSDt+/ibotub2c2nK7+hNNemi/HhvrIKGxpbjCvzM5Kw2EKXOmOZvQ0DrEA+9k=
-hUAdePKw8Fat5bAa8jA4IbW7c/rMKpvdCZ6MHlCTW0VVL5yQ00xmLGaoAlsMAZo7JB2Cqxd7RUo5mxVKRDBSCg==
-CfPzXQ015jpvMc6gf+vo7Anz810NNeY6bzHOoH/r6OwhBdCms1xkEXTyLF4g0UYOUWF4i03SHY1baeFjtzyIA230oq1zrgjpJNvo5Ld6H+No5oiZjWu7jg==
-CfPzXQ015jop+RSWAxFgMQnz810NNeY6kAeuGME68RI=
-AhKA2vBf73VVXxJdQdnvopTfpFBJIh3ZVRNG119aBmmWCEFlJOjxbFtp4WO3PIgDoqpU4KSD1ReQ3pCfQMdEPTS99G7VuQMc
-anqc376RwxF+Tyu5VoFlKqXxSD+f1O2vC5YOy19B3S1HJbFtXbY5u4s87+ChjgP9RyWxbV22ObuxUtK/+6g5z6zLO3h9qz3/
-+8iGrGjQRQXLJRvWtAt1iYU809Pr5+wg80e6b34+k3qaoMeR3HYQyn6/oN57/v4WReElQJ+Fc6O3OV7VztniKXRpb7y0gLlK8W4jXgAgFfPwHLNp0tAohzUX4TxTFrGq
-8n8zV92Zv6lIoOZPZs0HwgrZxL5wy5xjD7Bi/O7j4pT7gtDvhBGfLPJ/M1fdmb+pEWTgRjnEzOg=
-u9VShjNiQLYp+RSWAxFgMbvVUoYzYkC2ltZE6uLO1Pi1rPvw0grsulq9P1+cZSODCwy1ps4giW8=
-qvpIupBm2WU5l5OJw2EvIw==
-jryElcwKEMNxLBNTp+QtPZEB7UNvPo5kknnMZ+j6KVg=
-8iRAY6UGp0bV9dVH/8Qm5qIHTB7Ij1fOi35LjiCAO+Q=
-6uJVi7VzfR8sc8AAqY/c+ttrZ3x7ELQoYEOoage28zr0QB6PuRppXg==
-fMSADmyw8MW8FOmzMncHvpQV7Ysdg03qYz4zvER6wEvEtOpasjBcV/RB3GtJVgXci3ZCuM64HWS7PReC8mKJskLIwxcodHrS
-Mpws87qKqdWbZLCftYQH50stTN0x7PKs59Ar4HjN2sZKYBGd+lGX+w==
-CXAPCKJ5Li6sUZOVx33W77qZTYBpQ5d+
-tQqyk3JtpQRXSrv36QVx/9OgcHrFSUCzdK1XVvKzJ0l0Ua+AtfLnbbqZTYBpQ5d+

File diff suppressed because it is too large
+ 0 - 21314
graph/src/main/resources/graph_sex_age_filter.dict


File diff suppressed because it is too large
+ 0 - 1204
graph/src/main/resources/graph_vital_convert.dict


+ 12 - 1
nlp/src/main/java/org/diagbot/nlp/participle/cfg/DefaultConfig.java

@@ -1,6 +1,7 @@
 package org.diagbot.nlp.participle.cfg;
 
 import org.diagbot.nlp.participle.word.Segment;
+import org.diagbot.pub.utils.PropertiesUtil;
 import org.diagbot.pub.utils.security.EncrypDES;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -22,6 +23,13 @@ public class DefaultConfig implements Configuration {
 
     Segment segment;
 
+    private String path_prefix = "";
+
+    public DefaultConfig() {
+        PropertiesUtil propertiesUtil = new PropertiesUtil("nlp.properties");
+        path_prefix = propertiesUtil.getProperty("cache.file.dir");
+    }
+
     public Segment loadMainDict(String path) {
         List<String> fileContents = readFileContents(path);
         logger.info("读取文件" + path + "结果:" + fileContents.size() + "行");
@@ -78,13 +86,15 @@ public class DefaultConfig implements Configuration {
     }
 
     public List<String> readFileContents(String path) {
+        if (!StringUtils.isEmpty(path_prefix)) path = path_prefix + path;
         InputStream is = null;
         List<String> fileContents = new ArrayList<String>(10);
         try {
             if (StringUtils.isEmpty(path)) path = DEFAULT_PATH;
             is = this.getClass().getClassLoader().getResourceAsStream(path);
+            File file = new File(path);
 //            File file = new File(this.getClass().getResource(path).getFile());
-//            is = new FileInputStream(file);
+            is = new FileInputStream(file);
             if (is == null) {
                 throw new RuntimeException(path + ".......文件未找到!!");
             }
@@ -119,6 +129,7 @@ public class DefaultConfig implements Configuration {
     }
 
     public void writeFileContents(List<String> contents, String path, String separator) {
+        if (!StringUtils.isEmpty(path_prefix)) path = path_prefix + path;
         try {
             FileWriter fw = new FileWriter(path);
             for (String content : contents) {

+ 1 - 3
nlp/src/main/java/org/diagbot/nlp/util/NlpCache.java

@@ -59,13 +59,12 @@ public class NlpCache {
 
     public static void createClassifyCache() {
         Configuration configuration = new DefaultConfig();
-        String path = configuration.getClass().getClassLoader().getResource("").getPath();
+
         standard_info_classify_map = configuration.loadMapDict("classify.dict");
     }
 
     public static void createChronicCache() {
         Configuration configuration = new DefaultConfig();
-        String path = configuration.getClass().getClassLoader().getResource("").getPath();
         standard_info_chronic_map = configuration.loadMapDict("chronic.dict");
     }
 
@@ -76,7 +75,6 @@ public class NlpCache {
 
     public static void createPropertyPairCache() {
         Configuration configuration = new DefaultConfig();
-        String path = configuration.getClass().getClassLoader().getResource("").getPath();
         List<String> lines = configuration.readFileContents("relation.dict");
 
         extract_relation_property_pair_map = new HashMap<>();

+ 0 - 1
nlp/src/main/resources/chronic.dict

@@ -1 +0,0 @@
-kQHtQ28+jmR5grdNyynjjEpgEZ36UZf7

+ 0 - 0
nlp/src/main/resources/classify.dict


+ 3 - 0
nlp/src/main/resources/nlp.properties

@@ -0,0 +1,3 @@
+#Êý¾ÝÎļþ´æ·Å·¾¶
+cache.file.dir=/opt/diagbot-push/cache_file/
+#cache.file.dir=d:\\cache_file\\

File diff suppressed because it is too large
+ 0 - 3748
nlp/src/main/resources/push-tc.dict


+ 0 - 79
nlp/src/main/resources/relation.dict

@@ -1,79 +0,0 @@
-RNMak3cFWH4=
-ddolNu+ruoI=
-crSKo8ZJQWw=
-GLI7v4oJneU=
-z9odaTsZTe4=
-UtapbxnvICk=
-zCUYt/gJFTA=
-Zz6Ubw81PD0=
-yclD2AmKHJg=
-h4pBhb+B4Lk=
-8hKk85iZesU=
-0hgDIdsSBy4=
-rbTBQUekfEs=
-fxkh89TwKsc=
-ENBQhPq5htU=
-nK40VLls5Zw=
-hlUmDNbK6a4=
-rHRYnTdjAKA=
-5JujAdVP5E8=
-X2j2cnCysms=
-YEYDcVHi1BI=
-YLWWPYmlo7s=
-28BY78TjZOw=
-1zF5xvlmigE=
-5iH5AYe9ogQ=
-c1L+syscJqI=
-dCLIxiAaEPQ=
-nLmMNwLd9hU=
-KO6x8jrh1Go=
-PGU7FXe4EVw=
-Vt65EYLJtik=
-MowtsJaT+Eg=
-15XjiZKWWOQ=
-tvD9gnRGuE0=
-TS5FqQfA3Bo=
-8OTyr31+HZE=
-qdFv0AhEzho=
-W8g6uyvyhXY=
-33mX5o5YCuI=
-eN8E9yHmcuQ=
-Wrhyd5KGRwU=
-oXEQgo+FISY=
-In0GOQRAoNc=
-WeQ7RhGnT3E=
-izBKC43U5Do=
-yIxj3i9brYw=
-6/AAsiRaYHk=
-d6U7t3U9wHI=
-N6s43nxbRgM=
-o15aELxdA/0=
-csWORUAoN0g=
-IheffyTAFTQ=
-URoSRuJSqzQ=
-Hu0VMvGeJYM=
-qi/diuSUvPk=
-2lkFuZbZfSo=
-sVfatV4286o=
-JxjFv6u9Xg0=
-GHAXRYXi1X4=
-3PiS9MWTEcU=
-h0qS3XYvg7w=
-exAkRV4R8YY=
-VIiXu9Fzbfg=
-u6Lr+Jfr3PY=
-Slw/FnB9o4g=
-r7bymlovf1w=
-bSkSwBpuGHs=
-Xoa3vcFiseU=
-TXb4vMJd3ok=
-+XVC3EsH+pQ=
-J36KtM8/eqU=
-rc7iV++H97Y=
-itwdzE4pvKw=
-yuYZf2CANH0=
-2J2g4AT+OI4=
-cKsJV2K7OCI=
-yXcIkexvskc=
-W5cHtxiabQI=
-GDA1Yq67XoE=

File diff suppressed because it is too large
+ 0 - 17122
nlp/src/main/resources/synonym.dict


File diff suppressed because it is too large
+ 0 - 350079
nlp/src/main/resources/tc.dict


+ 5 - 0
push-web/src/main/java/org/diagbot/push/config/InterceptorConfig.java

@@ -1,6 +1,7 @@
 package org.diagbot.push.config;
 
 import org.diagbot.bigdata.common.RegionInterceptor;
+import org.diagbot.common.push.cache.CacheFileManager;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
@@ -20,5 +21,9 @@ public class InterceptorConfig implements WebMvcConfigurer {
         //登录拦截的管理器
         InterceptorRegistration registration = registry.addInterceptor(new RegionInterceptor());     //拦截的对象会进入这个类中进行判断
         registration.addPathPatterns("/**");                    //所有路径都被拦截
+
+        //生成数据文件
+        CacheFileManager cacheFileManager = new CacheFileManager();
+        cacheFileManager.createCacheFile();
     }
 }

+ 1 - 1
push-web/src/main/java/org/diagbot/push/controller/CacheFileManagerController.java

@@ -31,7 +31,7 @@ public class CacheFileManagerController extends BaseController {
         NlpCache.createPushCache();
         NlpCache.createClassifyCache();
         NlpCache.createChronicCache();
-        NlpCache.createPropertyPairCache();
+        NlpCache.createSynonymCache();
         //更新图谱缓存
         CacheUtil.createDiagSortCache();
         CacheUtil.createSexAgeCache();