Commit facaa56171b97f9c696aa9a0fb55ac0cfd33e49e
COMMIT AFTER MERGE AND CONTAINS CODE CHANGE FOR SAVE TEXT IN ANNOTATION
Showing
21 changed files
with
1893 additions
and
1520 deletions
.gitignore
1 | -# git ignore file | |
2 | -[Bb]in/ | |
3 | -[Dd]ebug*/ | |
4 | -*.lib | |
5 | -Thumbs.db | |
6 | -obj/ | |
7 | -*.obj | |
8 | -*.exe | |
9 | -*.pdb | |
10 | -*.user | |
11 | -*.aps | |
12 | -*.pch | |
13 | -*.vspscc | |
14 | -*_i.c | |
15 | -*_p.c | |
16 | -*.ncb | |
17 | -*.suo | |
18 | -*.sln.docstates | |
19 | -*.tlb | |
20 | -*.tlh | |
21 | -*.bak | |
22 | -*.cache | |
23 | -*.ilk | |
24 | -*.log | |
25 | -[Bb]in | |
26 | -[Dd]ebug*/ | |
27 | -*.lib | |
28 | -*.sbr | |
29 | -obj/ | |
30 | -[Rr]elease*/ | |
31 | -_ReSharper*/ | |
32 | -[Tt]est[Rr]esult* | |
33 | -*.vssscc | |
34 | -$tf*/ | |
35 | -400-SOURCECODE/AIAHTML5.Web/AIAHTML5.Web.csproj.user | |
1 | +# git ignore file | |
2 | +[Bb]in/ | |
3 | +[Dd]ebug*/ | |
4 | +*.lib | |
5 | +Thumbs.db | |
6 | +obj/ | |
7 | +*.obj | |
8 | +*.exe | |
9 | +*.pdb | |
10 | +*.user | |
11 | +*.aps | |
12 | +*.pch | |
13 | +*.vspscc | |
14 | +*_i.c | |
15 | +*_p.c | |
16 | +*.ncb | |
17 | +*.suo | |
18 | +*.sln.docstates | |
19 | +*.tlb | |
20 | +*.tlh | |
21 | +*.bak | |
22 | +*.cache | |
23 | +*.ilk | |
24 | +*.log | |
25 | +[Bb]in | |
26 | +[Dd]ebug*/ | |
27 | +*.lib | |
28 | +*.sbr | |
29 | +obj/ | |
30 | +[Rr]elease*/ | |
31 | +_ReSharper*/ | |
32 | +[Tt]est[Rr]esult* | |
33 | +*.vssscc | |
34 | +$tf*/ | |
35 | +400-SOURCECODE/AIAHTML5.Web/AIAHTML5.Web.csproj.user | |
36 | 36 | 300-PROTOTYPES/POC/AIAHTML5 |
37 | 37 | 400-SOURCECODE/AIAHTML5.Web/app/controllers/HomeController.js.orig |
38 | 38 | 400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js.orig | ... | ... |
400-SOURCECODE/AIAHTML5.Web/Web.config
... | ... | @@ -17,6 +17,9 @@ |
17 | 17 | <compilation debug="true" targetFramework="4.5" /> |
18 | 18 | <httpRuntime targetFramework="4.5" /> |
19 | 19 | </system.web> |
20 | + <location path="app/views"> | |
21 | + | |
22 | +</location> | |
20 | 23 | <system.webServer> |
21 | 24 | <rewrite> |
22 | 25 | <rules> |
... | ... | @@ -27,13 +30,14 @@ |
27 | 30 | <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> |
28 | 31 | <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" /> |
29 | 32 | </conditions> |
30 | - <action type="Rewrite" url="/AIA/" /> | |
33 | + <action type="Rewrite" url="/" /> | |
31 | 34 | </rule> |
32 | 35 | </rules> |
33 | 36 | </rewrite> |
34 | 37 | <staticContent> |
38 | + | |
35 | 39 | <remove fileExtension=".mp3" /> |
36 | - <clientCache cacheControlMode="DisableCache" /> | |
40 | + <!--<clientCache cacheControlMode="DisableCache" />--> | |
37 | 41 | <remove fileExtension=".woff" /> |
38 | 42 | <mimeMap fileExtension=".woff" mimeType="application/font-woff" /> |
39 | 43 | <mimeMap fileExtension=".mp3" mimeType="audio/mpeg" /> | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/controllers/CAController.js
... | ... | @@ -6,12 +6,17 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, pages, B |
6 | 6 | $scope.CAAllBodyRegion = []; |
7 | 7 | $scope.CAAllBodySystem = []; |
8 | 8 | $scope.CAAllSpeciality = []; |
9 | - $scope.selectedCAlistViewData = []; | |
10 | - $scope.searchCAlistViewData = []; | |
9 | + $scope.selectedCAListViewData = []; | |
10 | + $scope.searchCAListViewData = []; | |
11 | 11 | $scope.SelectedCAthumbImage = []; |
12 | 12 | $scope.SelectedCAImage = []; |
13 | 13 | $scope.SelectedCASummary = []; |
14 | 14 | $scope.filterstring = false; |
15 | + $scope.query = { | |
16 | + selectedbodyregion: null, | |
17 | + selectedbodysystem: null, | |
18 | + selectedspecialty: null, | |
19 | + }; | |
15 | 20 | |
16 | 21 | $scope.$on('$viewContentLoaded', function (event) { |
17 | 22 | // code that will be executed ... |
... | ... | @@ -28,15 +33,22 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, pages, B |
28 | 33 | promise.then( |
29 | 34 | function (result) { |
30 | 35 | $scope.AnimationData = result; |
31 | - $scope.selectedCAlistViewData = $scope.AnimationData.root.CAData; | |
36 | + //$scope.selectedCAListViewData = $scope.AnimationData.root.CAData; | |
37 | + | |
38 | + $scope.selectedCAListViewData = new jinqJs() | |
39 | + .from($scope.AnimationData.root.CAData) | |
40 | + .orderBy([{ field: '_Title', sort: 'asc' }]) | |
41 | + .select(); | |
42 | + | |
43 | + //console.log($scope.selectedCAListViewData); | |
32 | 44 | |
33 | 45 | $('#grid-view').empty(); |
34 | 46 | |
35 | - angular.forEach($scope.selectedCAlistViewData, function (value, key) { | |
47 | + angular.forEach($scope.selectedCAListViewData, function (value, key) { | |
36 | 48 | $scope.imagePath = "~/../content/images/ca/thumbnails/" + value._ThumbnailImage; |
37 | 49 | |
38 | 50 | |
39 | - var $el = $('<div id=' + value._id + ' class="col-sm-3 col-md-2" title = "' + value._Title + '" data-ng-click="openView($event)">' | |
51 | + var $el = $('<div id="' + value._id + '" class="col-sm-3 col-md-2" title = "' + value._Title + '" data-ng-click="openView($event)">' | |
40 | 52 | + '<div class="thumbnail" >' |
41 | 53 | + '<img id="' + value._Title + '" class="img-responsive" style="width:100%;height:100%;" ng-src="' + $scope.imagePath + '" alt="" title="" >' |
42 | 54 | + '<div class="caption"><p>' + value._Title + '</p></div></a></div></div>').appendTo('#grid-view'); |
... | ... | @@ -70,7 +82,7 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, pages, B |
70 | 82 | |
71 | 83 | var SelectedCAthumbImage = []; |
72 | 84 | SelectedCAthumbImage = new jinqJs() |
73 | - .from($scope.selectedCAlistViewData) | |
85 | + .from($scope.selectedCAListViewData) | |
74 | 86 | .where('_id = ' + id) |
75 | 87 | .select('_ThumbnailImage', '_Summary', '_id', '_Title'); |
76 | 88 | |
... | ... | @@ -82,11 +94,11 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, pages, B |
82 | 94 | |
83 | 95 | } |
84 | 96 | else { |
85 | - if ($scope.searchCAlistViewData.length > 0) { | |
97 | + if ($scope.searchCAListViewData.length > 0) { | |
86 | 98 | |
87 | 99 | var SelectedCAthumbImage = []; |
88 | 100 | SelectedCAthumbImage = new jinqJs() |
89 | - .from($scope.searchCAlistViewData) | |
101 | + .from($scope.searchCAListViewData) | |
90 | 102 | .where('_id = ' + id) |
91 | 103 | .select('_ThumbnailImage', '_Summary', '_id', '_Title'); |
92 | 104 | |
... | ... | @@ -101,22 +113,22 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, pages, B |
101 | 113 | |
102 | 114 | $scope.Reset = function (query) { |
103 | 115 | |
104 | - query.selectedbodyregion = ""; | |
105 | - query.selectedbodysystem = ""; | |
106 | - query.selectedspecialty = ""; | |
116 | + query.selectedbodyregion = null; | |
117 | + query.selectedbodysystem = null; | |
118 | + query.selectedspecialty = null; | |
107 | 119 | $scope.filterstring = false; |
108 | - while ($scope.searchCAlistViewData.length) { | |
109 | - $scope.searchCAlistViewData.pop(); | |
120 | + while ($scope.searchCAListViewData.length) { | |
121 | + $scope.searchCAListViewData.pop(); | |
110 | 122 | } |
111 | 123 | $('#grid-view').empty(); |
112 | 124 | |
113 | - angular.forEach($scope.selectedCAlistViewData, function (value, key) { | |
125 | + angular.forEach($scope.selectedCAListViewData, function (value, key) { | |
114 | 126 | $scope.imagePath = "~/../content/images/ca/thumbnails/" + value._ThumbnailImage; |
115 | 127 | |
116 | - var $el = $('<div id=' + value._id + ' class="col-sm-3 col-lg-2" title = ' + value._Title + ' data-ng-click="openView($event)">' | |
117 | - + '<div class="thumbnail" >' | |
118 | - + '<img id="' + value._Title + 'class="img-responsive" style="width:100%;height:100%;" "ng-src="' + $scope.imagePath + '" alt="" title="" >' | |
119 | - + '<div class="caption"><p>' + value._Title + '</p></div></a></div></div>').appendTo('#grid-view'); | |
128 | + var $el = $('<div id="' + value._id + '" class="col-sm-3 col-md-2" title = "' + value._Title + '" data-ng-click="openView($event)">' | |
129 | + + '<div class="thumbnail" >' | |
130 | + + '<img id="' + value._Title + '" class="img-responsive" style="width:100%;height:100%;" ng-src="' + $scope.imagePath + '" alt="" title="" >' | |
131 | + + '<div class="caption"><p>' + value._Title + '</p></div></a></div></div>').appendTo('#grid-view'); | |
120 | 132 | |
121 | 133 | |
122 | 134 | $compile($el)($scope); |
... | ... | @@ -130,12 +142,13 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, pages, B |
130 | 142 | |
131 | 143 | } |
132 | 144 | |
145 | + // for "Intracytoplasmic sperm injection (ICSI)" case, the Body region is not required so we have added "_BodyRegion": "None" which was actually not available in origincal flex file. | |
133 | 146 | $scope.ApplySearch = function (query) { |
134 | 147 | |
135 | 148 | $scope.filterstring = true; |
136 | 149 | |
137 | - while ($scope.searchCAlistViewData.length) { | |
138 | - $scope.searchCAlistViewData.pop(); | |
150 | + while ($scope.searchCAListViewData.length) { | |
151 | + $scope.searchCAListViewData.pop(); | |
139 | 152 | } |
140 | 153 | |
141 | 154 | $('#grid-view').empty(); |
... | ... | @@ -151,7 +164,7 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, pages, B |
151 | 164 | filtercount = filtercount + 1; |
152 | 165 | } |
153 | 166 | |
154 | - angular.forEach($scope.selectedCAlistViewData, function (value, key) { | |
167 | + angular.forEach($scope.selectedCAListViewData, function (value, key) { | |
155 | 168 | |
156 | 169 | var selectimg = true; |
157 | 170 | var count = 0; |
... | ... | @@ -199,10 +212,10 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, pages, B |
199 | 212 | |
200 | 213 | $scope.imagePath = "~/../content/images/ca/thumbnails/" + value._ThumbnailImage; |
201 | 214 | |
202 | - var $el = $('<div id=' + value._id + ' class="col-sm-3 col-lg-2" title = ' + value._Title + ' data-ng-click="openView($event)">' | |
203 | - + '<div class="thumbnail" >' | |
204 | - + '<img id="' + value._Title + 'class="img-responsive" style="width:100%;height:100%;" "ng-src="' + $scope.imagePath + '" alt="" title="" >' | |
205 | - + '<div class="caption"><p>' + value._Title + '</p></div></a></div></div>').appendTo('#grid-view'); | |
215 | + var $el = $('<div id="' + value._id + '" class="col-sm-3 col-md-2" title = "' + value._Title + '" data-ng-click="openView($event)">' | |
216 | + + '<div class="thumbnail" >' | |
217 | + + '<img id="' + value._Title + '" class="img-responsive" style="width:100%;height:100%;" ng-src="' + $scope.imagePath + '" alt="" title="" >' | |
218 | + + '<div class="caption"><p>' + value._Title + '</p></div></a></div></div>').appendTo('#grid-view'); | |
206 | 219 | |
207 | 220 | |
208 | 221 | $compile($el)($scope); |
... | ... | @@ -213,7 +226,7 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, pages, B |
213 | 226 | }); |
214 | 227 | |
215 | 228 | |
216 | - $scope.searchCAlistViewData.push( | |
229 | + $scope.searchCAListViewData.push( | |
217 | 230 | { |
218 | 231 | "_id": value._id, |
219 | 232 | "_ImageId": value._ImageId, |
... | ... | @@ -231,6 +244,13 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, pages, B |
231 | 244 | |
232 | 245 | |
233 | 246 | }); |
247 | + | |
248 | + //Show Error Message in case of gridview if no data is found | |
249 | + if ($scope.searchCAListViewData.length == 0) { | |
250 | + | |
251 | + var $el = $('<div class="col-sm-12" style="padding-left:25px;padding-top:10px;"><strong style="color:white;">No animation found for the selected search criteria!</strong></div>').appendTo('#grid-view'); | |
252 | + $compile($el)($scope); | |
253 | + } | |
234 | 254 | } |
235 | 255 | |
236 | 256 | |
... | ... | @@ -248,12 +268,12 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, pages, B |
248 | 268 | if ($event.currentTarget.textContent !== null && typeof ($event.currentTarget.textContent) !== "undefined") { |
249 | 269 | var CITitle = []; |
250 | 270 | CITitle = new jinqJs() |
251 | - .from($scope.selectedCAlistViewData) | |
271 | + .from($scope.selectedCAListViewData) | |
252 | 272 | .where('_id = ' + $event.currentTarget.id) |
253 | 273 | .select('_Title'); |
254 | 274 | |
255 | 275 | //console.log(CITitle); |
256 | - //console.log($scope.selectedCAlistViewData); | |
276 | + //console.log($scope.selectedCAListViewData); | |
257 | 277 | |
258 | 278 | $rootScope.ViewTitle = CITitle[0]._Title; |
259 | 279 | } | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/controllers/CIController.js
... | ... | @@ -8,14 +8,21 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout |
8 | 8 | $scope.CIAllOrientation = []; |
9 | 9 | $scope.CIAllImageType = []; |
10 | 10 | $scope.CIAllSpeciality = []; |
11 | - $scope.searchCIlistViewData = []; | |
11 | + $scope.searchCIListViewData = []; | |
12 | 12 | $scope.SelectedCIthumbImage = []; |
13 | 13 | $scope.SelectedCIImage = []; |
14 | 14 | $scope.SelectedCISummary = []; |
15 | 15 | $scope.SelectedCIId = []; |
16 | 16 | $scope.SelectedCITitle = []; |
17 | - $scope.selectedCIlistViewData = []; | |
17 | + $scope.selectedCIListViewData = []; | |
18 | 18 | $scope.filterstring = false; |
19 | + $scope.query = { | |
20 | + selectedbodyregion: null, | |
21 | + selectedbodysystem: null, | |
22 | + selectedorientation: null, | |
23 | + selectedimagetype: null, | |
24 | + selectedspecialty: null, | |
25 | + }; | |
19 | 26 | |
20 | 27 | $scope.$on('$viewContentLoaded', function (event) { |
21 | 28 | // code that will be executed ... |
... | ... | @@ -36,14 +43,19 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout |
36 | 43 | promise.then( |
37 | 44 | function (result) { |
38 | 45 | $scope.IllustrationData = result; |
39 | - $scope.selectedCIlistViewData = $scope.IllustrationData.root.CIData; | |
46 | + //$scope.selectedCIListViewData = $scope.IllustrationData.root.CIData; | |
47 | + | |
48 | + $scope.selectedCIListViewData = new jinqJs() | |
49 | + .from($scope.IllustrationData.root.CIData) | |
50 | + .orderBy([{ field: '_Title', sort: 'asc' }]) | |
51 | + .select(); | |
40 | 52 | |
41 | 53 | $('#grid-view').empty(); |
42 | 54 | |
43 | - angular.forEach($scope.selectedCIlistViewData, function (value, key) { | |
55 | + angular.forEach($scope.selectedCIListViewData, function (value, key) { | |
44 | 56 | $scope.imagePath = "~/../content/images/ci/thumbnails/" + value._ThumbnailImage; |
45 | 57 | |
46 | - var $el = $('<div id=' + value._id + ' class="col-sm-3 col-md-2" title = ' + value._Title + ' data-ng-click="openView($event)">' | |
58 | + var $el = $('<div id="' + value._id + '" class="col-sm-3 col-md-2" title = "' + value._Title + '" data-ng-click="openView($event)">' | |
47 | 59 | + '<div class="thumbnail" >' |
48 | 60 | + '<img id="' + value._Title + '"ng-src="' + $scope.imagePath + '" alt="" title="" >' |
49 | 61 | + '<div class="caption"><p>' + value._Title + '</p></div></a></div></div>').appendTo('#grid-view'); |
... | ... | @@ -77,7 +89,7 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout |
77 | 89 | |
78 | 90 | var SelectedCIthumbImage = []; |
79 | 91 | SelectedCIthumbImage = new jinqJs() |
80 | - .from($scope.selectedCIlistViewData) | |
92 | + .from($scope.selectedCIListViewData) | |
81 | 93 | .where('_id = ' + id) |
82 | 94 | .select('_ThumbnailImage', '_Summary', '_id', '_Title'); |
83 | 95 | |
... | ... | @@ -88,11 +100,11 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout |
88 | 100 | |
89 | 101 | } |
90 | 102 | else { |
91 | - if ($scope.searchCIlistViewData.length > 0) { | |
103 | + if ($scope.searchCIListViewData.length > 0) { | |
92 | 104 | |
93 | 105 | var SelectedCIthumbImage = []; |
94 | 106 | SelectedCIthumbImage = new jinqJs() |
95 | - .from($scope.searchCIlistViewData) | |
107 | + .from($scope.searchCIListViewData) | |
96 | 108 | .where('_id = ' + id) |
97 | 109 | .select('_ThumbnailImage', '_Summary', '_id', '_Title'); |
98 | 110 | |
... | ... | @@ -107,21 +119,27 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout |
107 | 119 | |
108 | 120 | $scope.Reset = function (query) { |
109 | 121 | |
110 | - query.selectedbodyregion = ""; | |
111 | - query.selectedbodysystem = ""; | |
112 | - query.selectedorientation = ""; | |
113 | - query.selectedimagetype = ""; | |
114 | - query.selectedspecialty = ""; | |
122 | + //query.selectedbodyregion = ""; | |
123 | + //query.selectedbodysystem = ""; | |
124 | + //query.selectedorientation = ""; | |
125 | + //query.selectedimagetype = ""; | |
126 | + //query.selectedspecialty = ""; | |
127 | + query.selectedbodyregion = null; | |
128 | + query.selectedbodysystem = null; | |
129 | + query.selectedorientation = null; | |
130 | + query.selectedimagetype = null; | |
131 | + query.selectedspecialty = null; | |
132 | + | |
115 | 133 | $scope.filterstring = false; |
116 | - while ($scope.searchCIlistViewData.length) { | |
117 | - $scope.searchCIlistViewData.pop(); | |
134 | + while ($scope.searchCIListViewData.length) { | |
135 | + $scope.searchCIListViewData.pop(); | |
118 | 136 | } |
119 | 137 | $('#grid-view').empty(); |
120 | 138 | |
121 | - angular.forEach($scope.selectedCIlistViewData, function (value, key) { | |
139 | + angular.forEach($scope.selectedCIListViewData, function (value, key) { | |
122 | 140 | $scope.imagePath = "~/../content/images/ci/thumbnails/" + value._ThumbnailImage; |
123 | 141 | |
124 | - var $el = $('<div id=' + value._id + ' class="col-sm-3 col-lg-2" title = ' + value._Title + ' data-ng-click="openView($event)">' | |
142 | + var $el = $('<div id="' + value._id + '" class="col-sm-3 col-md-2" title = "' + value._Title + '" data-ng-click="openView($event)">' | |
125 | 143 | + '<div class="thumbnail" >' |
126 | 144 | + '<img id="' + value._Title + '"ng-src="' + $scope.imagePath + '" alt="" title="" >' |
127 | 145 | + '<div class="caption"><p>' + value._Title + '</p></div></a></div></div>').appendTo('#grid-view'); |
... | ... | @@ -142,8 +160,8 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout |
142 | 160 | |
143 | 161 | $scope.filterstring = true; |
144 | 162 | |
145 | - while ($scope.searchCIlistViewData.length) { | |
146 | - $scope.searchCIlistViewData.pop(); | |
163 | + while ($scope.searchCIListViewData.length) { | |
164 | + $scope.searchCIListViewData.pop(); | |
147 | 165 | } |
148 | 166 | |
149 | 167 | $('#grid-view').empty(); |
... | ... | @@ -165,7 +183,7 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout |
165 | 183 | filtercount = filtercount + 1; |
166 | 184 | } |
167 | 185 | |
168 | - angular.forEach($scope.selectedCIlistViewData, function (value, key) { | |
186 | + angular.forEach($scope.selectedCIListViewData, function (value, key) { | |
169 | 187 | |
170 | 188 | var selectimg = true; |
171 | 189 | var count = 0; |
... | ... | @@ -239,7 +257,7 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout |
239 | 257 | |
240 | 258 | $scope.imagePath = "~/../content/images/ci/thumbnails/" + value._ThumbnailImage; |
241 | 259 | |
242 | - var $el = $('<div id=' + value._id + ' class="col-sm-3 col-lg-2" title = ' + value._Title + ' data-ng-click="openView($event)">' | |
260 | + var $el = $('<div id="' + value._id + '" class="col-sm-3 col-md-2" title = "' + value._Title + '" data-ng-click="openView($event)">' | |
243 | 261 | + '<div class="thumbnail" >' |
244 | 262 | + '<img id="' + value._Title + '"ng-src="' + $scope.imagePath + '" alt="" title="" >' |
245 | 263 | + '<div class="caption"><p>' + value._Title + '</p></div></a></div></div>').appendTo('#grid-view'); |
... | ... | @@ -253,7 +271,7 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout |
253 | 271 | }); |
254 | 272 | |
255 | 273 | |
256 | - $scope.searchCIlistViewData.push( | |
274 | + $scope.searchCIListViewData.push( | |
257 | 275 | { |
258 | 276 | "_id": value._id, |
259 | 277 | "_ImageId": value._ImageId, |
... | ... | @@ -273,6 +291,13 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout |
273 | 291 | |
274 | 292 | |
275 | 293 | }); |
294 | + | |
295 | + //Show Error Message in case of gridview if no data is found | |
296 | + if ($scope.searchCIListViewData.length == 0) { | |
297 | + | |
298 | + var $el = $('<div class="col-sm-12" style="padding-left:25px;padding-top:10px;"><strong style="color:white">No illustration found for the selected search criteria!</strong></div>').appendTo('#grid-view'); | |
299 | + $compile($el)($scope); | |
300 | + } | |
276 | 301 | } |
277 | 302 | |
278 | 303 | |
... | ... | @@ -290,12 +315,12 @@ function ($scope, $window, $rootScope, $compile, $http, log, $location, $timeout |
290 | 315 | if ($event.currentTarget.textContent !== null && typeof ($event.currentTarget.textContent) !== "undefined") { |
291 | 316 | var CITitle = []; |
292 | 317 | CITitle = new jinqJs() |
293 | - .from($scope.selectedCIlistViewData) | |
318 | + .from($scope.selectedCIListViewData) | |
294 | 319 | .where('_id = ' + $event.currentTarget.id) |
295 | 320 | .select('_Title'); |
296 | 321 | |
297 | 322 | // console.log(CITitle); |
298 | - // console.log($scope.selectedCIlistViewData); | |
323 | + // console.log($scope.selectedCIListViewData); | |
299 | 324 | |
300 | 325 | $rootScope.ViewTitle = CITitle[0]._Title; |
301 | 326 | } | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/controllers/DAController.js
... | ... | @@ -11,7 +11,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
11 | 11 | $scope.imagePath = ""; |
12 | 12 | $rootScope.BodyRegionData; |
13 | 13 | $rootScope.BodyRegionCordinatesData; |
14 | - $scope.isTransparencyActivated; | |
14 | + $scope.isTransparencyActivated = false; | |
15 | 15 | $rootScope.BodyLayerData; |
16 | 16 | $rootScope.VocabTermData; |
17 | 17 | |
... | ... | @@ -84,7 +84,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
84 | 84 | $rootScope.updatedWhiteImageMRDataList = []; |
85 | 85 | |
86 | 86 | //normal mode |
87 | - $rootScope.isNormalMode = false; | |
87 | + $rootScope.isNormalMode = true; | |
88 | 88 | $rootScope.isZoomed = false; |
89 | 89 | |
90 | 90 | //navigator man functionality |
... | ... | @@ -165,7 +165,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
165 | 165 | //get the DA body view list based on selected gender |
166 | 166 | $scope.getDAViewList = function ($event) { |
167 | 167 | |
168 | - | |
168 | + | |
169 | 169 | if ($('#MainImage') != null) { |
170 | 170 | $('#MainImage').remove(); |
171 | 171 | } |
... | ... | @@ -244,7 +244,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
244 | 244 | } |
245 | 245 | |
246 | 246 | $scope.imagePath = "~/../content/images/DA/" + $scope.zoomInOut + "/body-views/" + value._id + '/skintone/' + userEthnicity + '/' + thumbnailImage; |
247 | - | |
247 | + | |
248 | 248 | |
249 | 249 | var $el = $('<div id=' + value._id + ' class="col-sm-3 col-lg-2" title = ' + value._title + ' data-ng-click="openView($event)"><div class="thumbnail" >' |
250 | 250 | + '<img class= "daImg" id="' + value._title + '" src="' + $scope.imagePath + '" alt="" title="" >' |
... | ... | @@ -265,7 +265,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
265 | 265 | |
266 | 266 | |
267 | 267 | $scope.openView = function ($event) { |
268 | - | |
268 | + | |
269 | 269 | $rootScope.isLoading = true; |
270 | 270 | $('#spinner').css('visibility', 'visible'); |
271 | 271 | |
... | ... | @@ -422,6 +422,9 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
422 | 422 | //0.1 |
423 | 423 | var currentBodyViewId = localStorage.getItem("currentBodyViewId"); |
424 | 424 | |
425 | + $scope.loadSearchDataForBodyView(); | |
426 | + | |
427 | + | |
425 | 428 | console.log('currentBodyViewId pickjed from localStorage: ' + currentBodyViewId); |
426 | 429 | |
427 | 430 | var openViews; |
... | ... | @@ -499,7 +502,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
499 | 502 | //1. load navigator man first |
500 | 503 | $scope.LoadBodyViewNavigatorImage(); |
501 | 504 | |
502 | - $scope.loadSearchDataForBodyView(); | |
505 | + //$scope.loadSearchDataForBodyView(); | |
503 | 506 | |
504 | 507 | $scope.currentTitleFromJson = localStorage.getItem("currentViewTitle"); |
505 | 508 | |
... | ... | @@ -525,7 +528,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
525 | 528 | |
526 | 529 | |
527 | 530 | $scope.loadSearchDataForBodyView = function () { |
528 | - | |
531 | + | |
529 | 532 | console.log('loadSearchDataForBodyView'); |
530 | 533 | |
531 | 534 | var currentBodyViewId = localStorage.getItem("currentBodyViewId"); |
... | ... | @@ -682,7 +685,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
682 | 685 | |
683 | 686 | |
684 | 687 | $scope.LoadDefaultLayerImage = function () { |
685 | - | |
688 | + | |
686 | 689 | $rootScope.isNormalMode = true; |
687 | 690 | |
688 | 691 | $scope.layerNumber = 0; |
... | ... | @@ -724,6 +727,15 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
724 | 727 | //calculate coordinates for body region images |
725 | 728 | $scope.CalculateImageCordinates = function (viewOrientationId) { |
726 | 729 | |
730 | + // annotation toolbar canvas | |
731 | + if ($("#canvasDiv").find("canvas[id='canvasPaint']").length == 0) { | |
732 | + | |
733 | + $("#canvasDiv").append('<canvas id="canvasPaint" width="2277" height="3248" class="canvas-annotationStyle1"></canvas><canvas id="canvas" width="2277" height="3248" class="canvas-annotationStyle"></canvas>'); | |
734 | + $scope.BindCanvasDrawingListners(); | |
735 | + // $rootScope.FreeStylePaint(); | |
736 | + | |
737 | + } | |
738 | + | |
727 | 739 | $scope.terminateCurrentlyRunningWPs(); |
728 | 740 | |
729 | 741 | var drawnBodyRegionCount = []; |
... | ... | @@ -945,7 +957,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
945 | 957 | //set scrollbars on canvas and hide loading label |
946 | 958 | $('#daLoaderLabel').css('visibility', 'hidden') |
947 | 959 | |
948 | - | |
960 | + | |
949 | 961 | $('#canvasDiv').css('overflow', 'scroll') |
950 | 962 | if (isiOSSafari) { |
951 | 963 | $('#canvasDiv').scrollLeft($('#canvasDiv').width() + 150) |
... | ... | @@ -954,7 +966,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
954 | 966 | else { |
955 | 967 | $('#canvasDiv').scrollLeft($('#canvasDiv').width() / 2) |
956 | 968 | } |
957 | - | |
969 | + | |
958 | 970 | |
959 | 971 | // $('#canvasDiv').scrollLeft($scope.imageHorizontlScrollPosition) |
960 | 972 | $('#canvasDiv').scrollTop(50) |
... | ... | @@ -966,40 +978,44 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
966 | 978 | //Dated:16-07-2016 Issue #4957 :While selecting the Zoom-in\Zoom-out button scroll should be go on top. |
967 | 979 | // #4976 :While changing gender male to female scroll bar is going on top. |
968 | 980 | var canvasDiv = document.getElementById('canvasDiv'); |
969 | - canvasDiv.scrollTop = 0; | |
981 | + if (canvasDiv != null || canvasDiv != undefined) { | |
982 | + canvasDiv.scrollTop = 0; | |
970 | 983 | |
971 | - //Navigator Code for dynamically calculating the height and width of Dragable Div on Navigator Image | |
972 | 984 | |
973 | - var dragdivh = Math.floor(($('#canvasDiv').height() / $('#canvasDiv')[0].scrollHeight) * 119) //119px is the height of the image | |
985 | + //Navigator Code for dynamically calculating the height and width of Dragable Div on Navigator Image | |
974 | 986 | |
975 | - if ($('#canvasDiv')[0].scrollWidth > $('#canvasDiv')[0].clientWidth) { | |
987 | + var dragdivh = Math.floor(($('#canvasDiv').height() / $('#canvasDiv')[0].scrollHeight) * 119) //119px is the height of the image | |
976 | 988 | |
977 | - var dragdivw = 42 | |
978 | - $scope.dragdivleft = 21; | |
979 | - $scope.dragdivtop = 0; | |
989 | + if ($('#canvasDiv')[0].scrollWidth > $('#canvasDiv')[0].clientWidth) { | |
980 | 990 | |
981 | - $scope.dragdivposition = { | |
982 | - "left": 21, | |
983 | - "top": 0 | |
984 | - }; | |
985 | - } | |
986 | - else { | |
987 | - var dragdivw = 83; | |
991 | + var dragdivw = 42 | |
992 | + $scope.dragdivleft = 21; | |
993 | + $scope.dragdivtop = 0; | |
988 | 994 | |
989 | - $scope.dragdivleft = 0; | |
990 | - $scope.dragdivtop = 0; | |
995 | + $scope.dragdivposition = { | |
996 | + "left": 21, | |
997 | + "top": 0 | |
998 | + }; | |
999 | + } | |
1000 | + else { | |
1001 | + var dragdivw = 83; | |
991 | 1002 | |
992 | - $scope.dragdivposition = { | |
993 | - "left": 0, | |
994 | - "top": 0 | |
1003 | + $scope.dragdivleft = 0; | |
1004 | + $scope.dragdivtop = 0; | |
995 | 1005 | |
996 | - }; | |
1006 | + $scope.dragdivposition = { | |
1007 | + "left": 0, | |
1008 | + "top": 0 | |
1009 | + | |
1010 | + }; | |
1011 | + } | |
997 | 1012 | } |
998 | 1013 | |
999 | - | |
1014 | + | |
1000 | 1015 | |
1001 | 1016 | $('#draggable').css('width', dragdivw); |
1002 | 1017 | $('#draggable').css('height', dragdivh) |
1018 | + | |
1003 | 1019 | } |
1004 | 1020 | |
1005 | 1021 | function scaleRectangle(x, y, height, width, mirrorValue) { |
... | ... | @@ -1059,7 +1075,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1059 | 1075 | |
1060 | 1076 | |
1061 | 1077 | $scope.GetImageSource = function (bodyRegionId) { |
1062 | - | |
1078 | + | |
1063 | 1079 | var dataLength = $rootScope.BodyLayerData.Layers.DataLayer.length; |
1064 | 1080 | |
1065 | 1081 | //set max for LayerNumber input |
... | ... | @@ -1077,7 +1093,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1077 | 1093 | |
1078 | 1094 | $scope.userInput = parseInt($scope.layerNumber); |
1079 | 1095 | |
1080 | - | |
1096 | + | |
1081 | 1097 | $scope.skinTone = $rootScope.globalSetting.ethnicity; |
1082 | 1098 | |
1083 | 1099 | var SelectedLayerData = []; |
... | ... | @@ -1139,7 +1155,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1139 | 1155 | } |
1140 | 1156 | |
1141 | 1157 | $scope.GetBackgroundImgSource = function (bodyRegionId) { |
1142 | - | |
1158 | + | |
1143 | 1159 | |
1144 | 1160 | var selectedGender; |
1145 | 1161 | if (localStorage.getItem("genderId") == "Male") { |
... | ... | @@ -1157,7 +1173,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1157 | 1173 | if ($scope.bagartBodyRegionDetails != null || $scope.bagartBodyRegionDetails != undefined) { |
1158 | 1174 | |
1159 | 1175 | //filter bodyRegion data basd on skintone |
1160 | - $scope.skinTone = $rootScope.globalSetting.ethnicity | |
1176 | + $scope.skinTone = $rootScope.globalSetting.ethnicity | |
1161 | 1177 | $scope.bagartDetailsOnSktn = new jinqJs() |
1162 | 1178 | .from($scope.bagartBodyRegionDetails) |
1163 | 1179 | .where('_Skintone == ' + $scope.skinTone) |
... | ... | @@ -1193,11 +1209,13 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1193 | 1209 | FlipedImgCanvas.style.left = x + "px"; |
1194 | 1210 | FlipedImgCanvas.style.top = y + "px"; |
1195 | 1211 | |
1196 | - | |
1212 | + | |
1197 | 1213 | |
1198 | 1214 | if (isMaskImage == 'Y') { |
1215 | + | |
1199 | 1216 | FlipedImgCanvas.id = 'imageCanvas' + bodyRegionId + '_MR_mci'; |
1200 | - FlipedImgCanvas.style.visibility = 'hidden' | |
1217 | + FlipedImgCanvas.style.visibility = 'hidden'; | |
1218 | + | |
1201 | 1219 | |
1202 | 1220 | } |
1203 | 1221 | else { |
... | ... | @@ -1218,6 +1236,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1218 | 1236 | |
1219 | 1237 | FlipedImgCanvas.addEventListener('click', function (evt) { |
1220 | 1238 | |
1239 | + | |
1221 | 1240 | //to get correct data on multihighlight highlight |
1222 | 1241 | if ($scope.isLayerChange == true) { |
1223 | 1242 | $scope.isLayerChange = false; |
... | ... | @@ -1294,6 +1313,9 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1294 | 1313 | } |
1295 | 1314 | var RGBColor = (Red + Green + Blue); |
1296 | 1315 | |
1316 | + $rootScope.previousHighlightList.push(RGBColor); | |
1317 | + | |
1318 | + | |
1297 | 1319 | if ($rootScope.isHighLight) { |
1298 | 1320 | |
1299 | 1321 | if ($scope.machedIcolorInBodyRegion != null || $scope.machedIcolorInBodyRegion != undefined) { |
... | ... | @@ -1331,15 +1353,21 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1331 | 1353 | } |
1332 | 1354 | } |
1333 | 1355 | |
1334 | - $rootScope.previousHighlightList.push(RGBColor); | |
1356 | + // $rootScope.previousHighlightList.push(RGBColor); | |
1335 | 1357 | |
1336 | 1358 | $scope.highLightBodyBasedOnIcolor(RGBColor); |
1337 | 1359 | } |
1338 | 1360 | |
1339 | - if ($rootScope.isNormalMode == true) { | |
1361 | + //if ($rootScope.isNormalMode == true) { | |
1362 | + | |
1340 | 1363 | |
1364 | + // $rootScope.previousHighlightList.push(RGBColor); | |
1365 | + //} | |
1341 | 1366 | |
1342 | - $rootScope.previousHighlightList.push(RGBColor); | |
1367 | + //extarct clicked body part is extarct button is already enabled. | |
1368 | + // debugger; | |
1369 | + if ($rootScope.isExtract == true) { | |
1370 | + $scope.enableExtract(false); | |
1343 | 1371 | } |
1344 | 1372 | |
1345 | 1373 | var annotationText = $scope.GetAnnotationText(parseInt(RGBColor)); |
... | ... | @@ -1417,22 +1445,22 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1417 | 1445 | context.scale(-1, 1); |
1418 | 1446 | context.drawImage(img, 0, 0); |
1419 | 1447 | context.restore(); |
1448 | + | |
1449 | + | |
1450 | + if (isMaskImage == 'N') { | |
1420 | 1451 | |
1421 | 1452 | |
1422 | - if (isMaskImage == 'N') { | |
1453 | + $scope.ColoredImageSRC.push( | |
1454 | + { | |
1455 | + "bodyRegionId": bodyRegionId, "SRC": src, | |
1456 | + "Height": h, | |
1457 | + "Width": w, | |
1458 | + "x": x, | |
1459 | + "y": y, | |
1460 | + "haveMirror": 'true' | |
1461 | + } | |
1462 | + ); | |
1423 | 1463 | |
1424 | - | |
1425 | - $scope.ColoredImageSRC.push( | |
1426 | - { | |
1427 | - "bodyRegionId": bodyRegionId, "SRC": src, | |
1428 | - "Height": h, | |
1429 | - "Width": w, | |
1430 | - "x": x, | |
1431 | - "y": y, | |
1432 | - "haveMirror": 'true' | |
1433 | - } | |
1434 | - ); | |
1435 | - | |
1436 | 1464 | |
1437 | 1465 | // console.log('$rootScope.isListManagerSelected= ' + $rootScope.isListManagerSelected + ' length= ' + $scope.ColoredImageSRC.length) |
1438 | 1466 | |
... | ... | @@ -1455,9 +1483,8 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1455 | 1483 | $scope.isEligibleForHighlight = false; |
1456 | 1484 | } |
1457 | 1485 | |
1458 | - if ($scope.isEligibleForHighlight == true) | |
1459 | - { | |
1460 | - if ($rootScope.isHighLight == true || ($rootScope.isListManagerSelected == true) || (($rootScope.isGenderChnage == true) && ($rootScope.isHighLight == true)) || (($rootScope.isViewChange == true) && ($rootScope.isHighLight == true))) { | |
1486 | + if ($scope.isEligibleForHighlight == true) { | |
1487 | + if ($rootScope.isHighLight == true || ($rootScope.isListManagerSelected == true) || (($rootScope.isGenderChnage == true) && ($rootScope.isHighLight == true)) || (($rootScope.isViewChange == true) && ($rootScope.isHighLight == true)) || $scope.isExtract == true || $rootScope.isHighlightBodyByBodySystem == true) { | |
1461 | 1488 | |
1462 | 1489 | $rootScope.isLoading = true; |
1463 | 1490 | $('#spinner').css('visibility', 'visible'); |
... | ... | @@ -1489,9 +1516,12 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1489 | 1516 | ); |
1490 | 1517 | } |
1491 | 1518 | }; |
1492 | - | |
1519 | + | |
1520 | + | |
1493 | 1521 | if (document.getElementById('canvasDiv') != null) |
1494 | 1522 | document.getElementById('canvasDiv').appendChild(FlipedImgCanvas); |
1523 | + | |
1524 | + | |
1495 | 1525 | |
1496 | 1526 | |
1497 | 1527 | |
... | ... | @@ -1619,6 +1649,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1619 | 1649 | |
1620 | 1650 | } |
1621 | 1651 | |
1652 | + $rootScope.previousHighlightList.push(RGBColor); | |
1622 | 1653 | |
1623 | 1654 | if ($rootScope.isHighLight == true) { |
1624 | 1655 | if ($scope.machedIcolorInBodyRegion != null || $scope.machedIcolorInBodyRegion != undefined) { |
... | ... | @@ -1657,7 +1688,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1657 | 1688 | } |
1658 | 1689 | } |
1659 | 1690 | |
1660 | - $rootScope.previousHighlightList.push(RGBColor); | |
1691 | + // $rootScope.previousHighlightList.push(RGBColor); | |
1661 | 1692 | |
1662 | 1693 | |
1663 | 1694 | if (maskCanvasId.match('modestyImg') && RGBColor != '000000') { } |
... | ... | @@ -1668,8 +1699,14 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1668 | 1699 | |
1669 | 1700 | } |
1670 | 1701 | |
1671 | - if ($rootScope.isNormalMode == true) { | |
1672 | - $rootScope.previousHighlightList.push(RGBColor); | |
1702 | + //if ($rootScope.isNormalMode == true) { | |
1703 | + // $rootScope.previousHighlightList.push(RGBColor); | |
1704 | + //} | |
1705 | + | |
1706 | + // debugger; | |
1707 | + //extarct clisked body part is extarct button is already enabled. | |
1708 | + if ($rootScope.isExtract == true) { | |
1709 | + $scope.enableExtract(false); | |
1673 | 1710 | } |
1674 | 1711 | |
1675 | 1712 | if ($('#speechBubbleTrns').length > 0) |
... | ... | @@ -1733,30 +1770,32 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1733 | 1770 | |
1734 | 1771 | img.src = src; |
1735 | 1772 | |
1736 | - | |
1773 | + | |
1737 | 1774 | |
1738 | 1775 | function start() { |
1739 | - //debugger; | |
1776 | + | |
1740 | 1777 | context.drawImage(img, 0, 0); |
1741 | 1778 | |
1779 | + | |
1780 | + | |
1742 | 1781 | if (isMaskImage == 'N') { |
1743 | 1782 | if (bodyRegionId == 'modestyImg3' || bodyRegionId == 'modestyImg2') { |
1744 | 1783 | //do nothing |
1745 | 1784 | } |
1746 | 1785 | else { |
1747 | - | |
1748 | - $scope.ColoredImageSRC.push( | |
1749 | - { | |
1750 | - "bodyRegionId": bodyRegionId, "SRC": src, | |
1751 | - "Height": h, | |
1752 | - "Width": w, | |
1753 | - "x": x, | |
1754 | - "y": y, | |
1755 | - "haveMirror": 'false' | |
1756 | - } | |
1757 | - | |
1758 | - ); | |
1759 | - | |
1786 | + | |
1787 | + $scope.ColoredImageSRC.push( | |
1788 | + { | |
1789 | + "bodyRegionId": bodyRegionId, "SRC": src, | |
1790 | + "Height": h, | |
1791 | + "Width": w, | |
1792 | + "x": x, | |
1793 | + "y": y, | |
1794 | + "haveMirror": 'false' | |
1795 | + } | |
1796 | + | |
1797 | + ); | |
1798 | + | |
1760 | 1799 | |
1761 | 1800 | if (($scope.ColoredImageSRC != null || $scope.ColoredImageSRC != undefined)) { |
1762 | 1801 | |
... | ... | @@ -1776,15 +1815,14 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1776 | 1815 | $scope.isEligibleForHighlight = false; |
1777 | 1816 | } |
1778 | 1817 | |
1779 | - if ($scope.isEligibleForHighlight == true) | |
1780 | - { | |
1781 | - | |
1782 | - if ($rootScope.isHighLight == true || ($rootScope.isListManagerSelected == true) || (($rootScope.isGenderChnage == true) && ($rootScope.isHighLight == true)) || (($rootScope.isViewChange == true) && ($rootScope.isHighLight == true))) { | |
1818 | + if ($scope.isEligibleForHighlight == true) { | |
1819 | + | |
1820 | + if ($rootScope.isHighLight == true || ($rootScope.isListManagerSelected == true) || (($rootScope.isGenderChnage == true) && ($rootScope.isHighLight == true)) || (($rootScope.isViewChange == true) && ($rootScope.isHighLight == true)) || $scope.isExtract == true || $rootScope.isHighlightBodyByBodySystem == true) { | |
1783 | 1821 | |
1784 | 1822 | |
1785 | 1823 | $rootScope.isLoading = true; |
1786 | 1824 | $('#spinner').css('visibility', 'visible'); |
1787 | - | |
1825 | + | |
1788 | 1826 | console.log('inside start of non flipped. $scope.ColoredImageSRC.length= ' + $scope.ColoredImageSRC.length) |
1789 | 1827 | $rootScope.isHighLight = true; |
1790 | 1828 | |
... | ... | @@ -1793,7 +1831,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1793 | 1831 | $scope.highLightBody(); |
1794 | 1832 | |
1795 | 1833 | console.log('just after highLightBody call'); |
1796 | - | |
1834 | + | |
1797 | 1835 | } |
1798 | 1836 | } |
1799 | 1837 | } |
... | ... | @@ -1844,16 +1882,16 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1844 | 1882 | |
1845 | 1883 | |
1846 | 1884 | $scope.HighlightBodyOnExtract = function () { |
1885 | + console.log(' insode HighlightBodyOnExtract. $rootScope.MaskCanvasData length= ' + $rootScope.MaskCanvasData.length + ', $rootScope.previousHighlightList.length= ' + $rootScope.previousHighlightList.length) | |
1847 | 1886 | |
1848 | - | |
1849 | 1887 | var multiTermList = []; |
1850 | 1888 | var CallBackBodyRegion = []; |
1851 | 1889 | |
1852 | 1890 | if ($rootScope.isListManagerSelected) { |
1853 | - | |
1891 | + | |
1854 | 1892 | multiTermList = $scope.AllTerms; |
1855 | - | |
1856 | - } | |
1893 | + | |
1894 | + } | |
1857 | 1895 | else if (($rootScope.previousHighlightList != null || $rootScope.previousHighlightList != undefined) && ($rootScope.previousHighlightList.length > 0)) { |
1858 | 1896 | angular.forEach($rootScope.previousHighlightList, function (value, key) { |
1859 | 1897 | |
... | ... | @@ -1879,7 +1917,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1879 | 1917 | |
1880 | 1918 | |
1881 | 1919 | //terminate previous running workers to create space for new workers |
1882 | - | |
1920 | + $scope.layerNumber = $('#txtlayerNumber').val(); | |
1883 | 1921 | $scope.terminateCurrentlyRunningWPs(); |
1884 | 1922 | |
1885 | 1923 | $timeout(function () { |
... | ... | @@ -1967,7 +2005,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
1967 | 2005 | |
1968 | 2006 | |
1969 | 2007 | var canvasId = (e.data.canvasId).replace('_mci', ''); |
1970 | - //debugger; | |
2008 | + | |
1971 | 2009 | //for (var i = 1; i <= updatedData.length; i++) { |
1972 | 2010 | var grayCanvasID = canvasId; |
1973 | 2011 | |
... | ... | @@ -2003,7 +2041,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2003 | 2041 | |
2004 | 2042 | |
2005 | 2043 | if ($rootScope.multiAnnotationIsON == true) { |
2006 | - //debugger; | |
2044 | + | |
2007 | 2045 | if (canvasId.match('_MR')) |
2008 | 2046 | $rootScope.updatedWhiteImageMRDataList[bodyRegionId] = updatedData; |
2009 | 2047 | else |
... | ... | @@ -2052,6 +2090,9 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2052 | 2090 | // $rootScope.updatedGrayDataList = null; |
2053 | 2091 | // $rootScope.updatedGrayDataList = []; |
2054 | 2092 | //} |
2093 | + | |
2094 | + $scope.layerNumber = $('#txtlayerNumber').val(); | |
2095 | + | |
2055 | 2096 | $rootScope.isLoading = true; |
2056 | 2097 | $('#spinner').css('visibility', 'visible'); |
2057 | 2098 | |
... | ... | @@ -2205,7 +2246,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2205 | 2246 | |
2206 | 2247 | var bodyRegionId = e.data.bodyRegionId; |
2207 | 2248 | var canvasId = (e.data.canvasId).replace('_mci', ''); |
2208 | - //debugger; | |
2249 | + | |
2209 | 2250 | //for (var i = 1; i <= updatedData.length; i++) { |
2210 | 2251 | var grayCanvasID = canvasId; |
2211 | 2252 | |
... | ... | @@ -2225,7 +2266,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2225 | 2266 | |
2226 | 2267 | } |
2227 | 2268 | |
2228 | - //debugger; | |
2269 | + | |
2229 | 2270 | |
2230 | 2271 | if (canvasId.match('_MR')) { |
2231 | 2272 | $rootScope.updatedGrayMRDataList[bodyRegionId] = updatedData; |
... | ... | @@ -2257,14 +2298,14 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2257 | 2298 | } |
2258 | 2299 | |
2259 | 2300 | if ($scope.doAligneCanvasWithTerm == true) { |
2260 | - //debugger; | |
2261 | - if ($scope.isHighlightBodyByBodySystem == true || $rootScope.isListManagerSelected == true) | |
2301 | + | |
2302 | + if ($rootScope.isHighlightBodyByBodySystem == true || $rootScope.isListManagerSelected == true) | |
2262 | 2303 | |
2263 | 2304 | $rootScope.isLoading = false; |
2264 | 2305 | |
2265 | 2306 | $('#spinner').css('visibility', 'hidden'); |
2266 | 2307 | |
2267 | - $scope.isHighlightBodyByBodySystem = false; | |
2308 | + // $rootScope.isHighlightBodyByBodySystem = false; | |
2268 | 2309 | |
2269 | 2310 | if ($rootScope.isListManagerSelected == true) |
2270 | 2311 | $scope.aligneCanvasWithTerm(); |
... | ... | @@ -2288,9 +2329,6 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2288 | 2329 | |
2289 | 2330 | var multiTermList = []; |
2290 | 2331 | angular.forEach($rootScope.previousHighlightList, function (value, key) { |
2291 | - | |
2292 | - //debugger; | |
2293 | - | |
2294 | 2332 | var ActualTermNo = $scope.getActualTermNumber(value); |
2295 | 2333 | if (ActualTermNo != null) { |
2296 | 2334 | var TermList = $scope.getTermNumberList(ActualTermNo); |
... | ... | @@ -2351,8 +2389,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2351 | 2389 | |
2352 | 2390 | //get annotation from term number |
2353 | 2391 | $scope.GetAnnotationText = function (termNumber) { |
2354 | - //debugger; | |
2355 | - | |
2392 | + | |
2356 | 2393 | var annotationText; |
2357 | 2394 | //0 |
2358 | 2395 | var figLeafTermNo = 5868; // to do declare constant for this |
... | ... | @@ -2387,8 +2424,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2387 | 2424 | } |
2388 | 2425 | |
2389 | 2426 | $scope.GetAnnotationBasedOnActualTermNo = function (actualTermNo) { |
2390 | - // debugger; | |
2391 | - | |
2427 | + | |
2392 | 2428 | var Annotation; |
2393 | 2429 | $scope.ActualTermNo = actualTermNo; |
2394 | 2430 | if ($rootScope.VocabTermData != null || $rootScope.VocabTermData != undefined) { |
... | ... | @@ -2416,10 +2452,10 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2416 | 2452 | //layer change function |
2417 | 2453 | $scope.LayerChange = function () { |
2418 | 2454 | |
2419 | - | |
2455 | + | |
2420 | 2456 | //if listanager is visisble then close it |
2421 | - $rootScope.isListManagerSelected = false; | |
2422 | - | |
2457 | + // $rootScope.isListManagerSelected = false; | |
2458 | + | |
2423 | 2459 | $rootScope.CloseListManager(); |
2424 | 2460 | |
2425 | 2461 | |
... | ... | @@ -2435,13 +2471,11 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2435 | 2471 | $scope.imageVerticalScrollPosition = canvasDiv.scrollTop; |
2436 | 2472 | $scope.imageHorizontlScrollPosition = canvasDiv.scrollLeft; |
2437 | 2473 | |
2438 | - // debugger; | |
2439 | 2474 | // $('#daLoaderLabel').css('visibility', 'visible'); |
2440 | 2475 | |
2441 | 2476 | |
2442 | - | |
2443 | 2477 | if ($scope.isTransparencyActivated) { |
2444 | - | |
2478 | + | |
2445 | 2479 | //crete temp canavs to store the original data which will be used to chnange the transparency |
2446 | 2480 | if (document.getElementById('tempCanvas') != null) { |
2447 | 2481 | $('#tempCanvas').remove(); |
... | ... | @@ -2463,7 +2497,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2463 | 2497 | if (document.getElementById('canvasDiv') != null) |
2464 | 2498 | document.getElementById('canvasDiv').appendChild(tempCanvas); |
2465 | 2499 | |
2466 | - // //debugger; | |
2500 | + | |
2467 | 2501 | |
2468 | 2502 | var tCanvas = document.getElementById('transparencyCanvas'); |
2469 | 2503 | var tCanvasContext = tCanvas.getContext('2d'); |
... | ... | @@ -2510,7 +2544,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2510 | 2544 | |
2511 | 2545 | else { |
2512 | 2546 | |
2513 | - | |
2547 | + | |
2514 | 2548 | //1. Dated:13-07-2016 Issue #4965 : The layer number should not extend beyond its level through layer text box. |
2515 | 2549 | var dataLength = $rootScope.BodyLayerData.Layers.DataLayer.length; |
2516 | 2550 | if (parseInt($('#txtlayerNumber').val()) > (dataLength - 1)) { |
... | ... | @@ -2542,11 +2576,11 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2542 | 2576 | $('#canvasDiv').scrollLeft($scope.imageHorizontlScrollPosition) |
2543 | 2577 | $('#canvasDiv').scrollTop($scope.imageVerticalScrollPosition) |
2544 | 2578 | |
2545 | - if ($scope.isHighlightBodyByBodySystem) { | |
2579 | + | |
2580 | + if ($rootScope.isHighlightBodyByBodySystem) { | |
2546 | 2581 | $timeout(function () { $scope.DisableProgressBar() }, 20000); |
2547 | 2582 | } |
2548 | - else | |
2549 | - { | |
2583 | + else { | |
2550 | 2584 | $timeout(function () { $scope.DisableProgressBar() }, 2000); |
2551 | 2585 | } |
2552 | 2586 | } |
... | ... | @@ -2554,9 +2588,30 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2554 | 2588 | $('#layerChangeSlider').slider("option", "value", parseInt($rootScope.totalLayers) - parseInt($scope.layerNumber)); |
2555 | 2589 | } |
2556 | 2590 | |
2557 | - $scope.LayerChangeOnMouseUpDown = function (e) | |
2558 | - { | |
2559 | - | |
2591 | + $scope.LayerChangeOnMouseUpDown = function (e) { | |
2592 | + //'x' button is displaying inside the input box in IE browser. | |
2593 | + | |
2594 | + if (e.currentTarget.id == "incrmntVal") { | |
2595 | + | |
2596 | + var layerInputVal = $("#txtlayerNumber").val(); | |
2597 | + if (layerInputVal != $rootScope.totalLayers) { | |
2598 | + var layerInputValInc = parseInt(layerInputVal) + 1; | |
2599 | + $scope.layerNumber = parseInt(layerInputValInc); | |
2600 | + $("#txtlayerNumber").val($scope.layerNumber); | |
2601 | + } | |
2602 | + | |
2603 | + } | |
2604 | + else { | |
2605 | + | |
2606 | + var layerInputVal = $("#txtlayerNumber").val(); | |
2607 | + if (layerInputVal > 0) { | |
2608 | + var layerInputValDec = parseInt(layerInputVal) - 1; | |
2609 | + $scope.layerNumber = parseInt(layerInputValDec); | |
2610 | + $("#txtlayerNumber").val($scope.layerNumber); | |
2611 | + } | |
2612 | + | |
2613 | + | |
2614 | + } | |
2560 | 2615 | $scope.LayerChange(); |
2561 | 2616 | |
2562 | 2617 | } |
... | ... | @@ -2594,6 +2649,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2594 | 2649 | } |
2595 | 2650 | |
2596 | 2651 | console.log('highLightBody call from DisableProgressBar') |
2652 | + | |
2597 | 2653 | // $scope.highLightBody(); |
2598 | 2654 | |
2599 | 2655 | |
... | ... | @@ -2633,6 +2689,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2633 | 2689 | |
2634 | 2690 | $scope.createDynamicSpeechBubble = function (event, x, y, isAnnotationForTBox) { |
2635 | 2691 | |
2692 | + //debugger; | |
2636 | 2693 | if (isAnnotationForTBox == true) { |
2637 | 2694 | //1. In transparency box we shows two annotation at a time, so we need to decide the max length of annotation in btween two annotation because based on that |
2638 | 2695 | // we decide the size of speech bubble |
... | ... | @@ -2704,8 +2761,8 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2704 | 2761 | $(".com").css("display", "none"); |
2705 | 2762 | $("#bord").css({ "width": "0px", "display": "none" }); |
2706 | 2763 | var sppechBubbleDotHTML = '<div id="dot" style="position:absolute;height:15px;width:35px;display:none;z-index:10000;border-top:2px solid #000;transform:rotate(40deg);-moz-transform:rotate(40deg);-o-transform:rotate(40deg);-ms-transform:rotate(40deg);-webkit-transform:rotate(40deg);"></div>' |
2707 | - + '<div id="sppeachBubble" style="height:auto!important;z-index:10000;margin-left:25px;border:1px solid #000;display:none;padding:5px 10px;position:absolute;color:#000;text-align:left;font-size:12px;background-color:#fff;font-weight:bold;">' | |
2708 | - + '<span style="position:absolute;right:-4px;top:-4px;color:#ffffff;cursor:pointer;">' | |
2764 | + + '<div id="sppeachBubble" style="height:auto!important;z-index:10000;margin-left:25px;border:1px solid #000;display:none;padding:5px 10px;position:absolute;color:#fff;text-align:left;font-size:12px;background-color:#19100e;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;font-weight:bold;">' | |
2765 | + + '<span style="position:absolute;right:0px;top:0px;color:#ffffff;cursor:pointer;">' | |
2709 | 2766 | + '<img class="crossDiv_temp" src=' + $rootScope.path + '></span></div>' |
2710 | 2767 | |
2711 | 2768 | + '<div style="position:absolute;border:1px solid #000;display:none;z-index:9000;" id="bord">' |
... | ... | @@ -2846,7 +2903,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2846 | 2903 | var Exists_annotation = $("#canvasDiv").find("div[id=" + pointClicked_annotation + "]").length; |
2847 | 2904 | // alert(Exists_annotation); |
2848 | 2905 | // alert(pointClicked_annotation); |
2849 | - var sppechBubbleHTML_annotation = "<div id ='" + pointClicked_annotation + "' class='com_anno'><div style='z-index:10000;position:absolute;border-top:2px solid #000;transform:rotate(40deg);-moz-transform:rotate(40deg);-o-transform:rotate(40deg);-ms-transform:rotate(40deg);-webkit-transform:rotate(40deg);height:15px;width:35px;left:" + (x - 10) + "px;top:" + (y + 10) + "px;'' id='bubble" + $scope.j + "'></div><div data=" + $scope.j + " id=" + sub_id_annotation + " class='appendDragg_annotation' style='z-index:10000;margin-left:25px;border:1px solid #000;padding:5px 10px;position:absolute;color:#000;text-align:left;font-size: 12px;background-color:#fff;font-weight:bold;left:" + x + "px;top:" + y + "px;'><div style='z-index:7000;position:absolute;right:-4px;top:-4px;color:#ffffff;cursor:pointer;'><img id=" + $scope.j + " class='dynCross_anno' src=" + $rootScope.path + "></div></div><div style='position:absolute;border:1px solid #000;display:none;z-index:9000;' id='bord_annotation" + $scope.j + "'></div></div>"; | |
2906 | + var sppechBubbleHTML_annotation = "<div id ='" + pointClicked_annotation + "' class='com_anno'><div style='z-index:10000;position:absolute;border-top:2px solid #000;transform:rotate(40deg);-moz-transform:rotate(40deg);-o-transform:rotate(40deg);-ms-transform:rotate(40deg);-webkit-transform:rotate(40deg);height:15px;width:35px;left:" + (x - 10) + "px;top:" + (y + 10) + "px;'' id='bubble" + $scope.j + "'></div><div data=" + $scope.j + " id=" + sub_id_annotation + " class='appendDragg_annotation' style='z-index:10000;margin-left:25px;border:1px solid #000;padding:5px 10px;position:absolute;color:#fff;text-align:left;font-size: 12px;background-color:#19100e;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;font-weight:bold;left:" + x + "px;top:" + y + "px;'><div style='z-index:7000;position:absolute;right:0px;top:0px;color:#ffffff;cursor:pointer;'><img id=" + $scope.j + " class='dynCross_anno' src=" + $rootScope.path + "></div></div><div style='position:absolute;border:1px solid #000;display:none;z-index:9000;' id='bord_annotation" + $scope.j + "'></div></div>"; | |
2850 | 2907 | if ($scope.longest_annotationT1.length > $scope.longest_annotationT2.length) { |
2851 | 2908 | if (Exists_annotation == 0) { |
2852 | 2909 | $("#canvasDiv").append(sppechBubbleHTML_annotation); |
... | ... | @@ -2949,7 +3006,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
2949 | 3006 | $("#" + sub_id_annotation).append("<p style='margin-bottom:2px;'>" + MultipleLang_annotation_T1 + "</p>"); |
2950 | 3007 | } |
2951 | 3008 | |
2952 | - $("#" + sub_id_annotation).append("<p style='border-bottom:1px solid black;margin-bottom:0;'></p>"); | |
3009 | + $("#" + sub_id_annotation).append("<p style='border-bottom:1px dotted white;margin-bottom:0;'></p>"); | |
2953 | 3010 | |
2954 | 3011 | for (var k = 0; k <= $scope.annotationTextArrayT2.length - 1; k++) { |
2955 | 3012 | var MultipleLang_annotation_T2 = $scope.annotationTextArrayT2[k]; |
... | ... | @@ -3072,8 +3129,8 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3072 | 3129 | $("#bord_annotation").css({ "width": "0px", "display": "none" }); |
3073 | 3130 | |
3074 | 3131 | var sppechBubbleDotHTML_annotation = '<div id="dot_annotation" style="position:absolute;height:15px;width:35px;display:none;z-index:10000;border-top:2px solid #000;transform:rotate(40deg);-moz-transform:rotate(40deg);-o-transform:rotate(40deg);-ms-transform:rotate(40deg);-webkit-transform:rotate(40deg);"></div>' |
3075 | - + '<div id="sppeachBubble_annotation" style="height:auto!important;z-index:10000;margin-left:25px;border:1px solid #000;display:none;padding:5px 10px;position:absolute;color:#000;text-align:left;font-size:12px;background-color:#fff;font-weight:bold;">' | |
3076 | - + '<span style="position:absolute;right:-4px;top:-4px;color:#ffffff;cursor:pointer;">' | |
3132 | + + '<div id="sppeachBubble_annotation" style="height:auto!important;z-index:10000;margin-left:25px;border:1px solid #000;display:none;padding:5px 10px;position:absolute;color:#fff;text-align:left;font-size:12px;background-color:#19100e;font-weight:bold;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;font-weight:bold;">' | |
3133 | + + '<span style="position:absolute;right:0px;top:0px;color:#ffffff;cursor:pointer;">' | |
3077 | 3134 | + '<img class="crossDiv_temp_annotation" src=' + $rootScope.path + '></span></div>' |
3078 | 3135 | |
3079 | 3136 | + '<div style="position:absolute;border:1px solid #000;display:none;z-index:9000;" id="bord_annotation">' |
... | ... | @@ -3090,7 +3147,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3090 | 3147 | $("#sppeachBubble_annotation").append("<p style='margin-bottom:2px;'>" + MultipleLang_annotation_T1 + "</p>"); |
3091 | 3148 | } |
3092 | 3149 | |
3093 | - $("#sppeachBubble_annotation").append("<p style='border-bottom:1px solid black;margin-bottom:0;'></p>"); | |
3150 | + $("#sppeachBubble_annotation").append("<p style='border-bottom:1px dotted white;margin-bottom:0;'></p>"); | |
3094 | 3151 | |
3095 | 3152 | for (var k = 0; k <= $scope.annotationTextArrayT2.length - 1; k++) { |
3096 | 3153 | var MultipleLang_annotation_T2 = $scope.annotationTextArrayT2[k]; |
... | ... | @@ -3167,7 +3224,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3167 | 3224 | $("#sppeachBubble_annotation").append("<p style='margin-bottom:2px;'>" + MultipleLang_annotation_T1 + "</p>"); |
3168 | 3225 | } |
3169 | 3226 | |
3170 | - $("#sppeachBubble_annotation").append("<p style='border-bottom:1px solid black;margin-bottom:0;'></p>"); | |
3227 | + $("#sppeachBubble_annotation").append("<p style='border-bottom:1px dotted white;margin-bottom:0;'></p>"); | |
3171 | 3228 | |
3172 | 3229 | for (var k = 0; k <= $scope.annotationTextArrayT2.length - 1; k++) { |
3173 | 3230 | var MultipleLang_annotation_T2 = $scope.annotationTextArrayT2[k]; |
... | ... | @@ -3277,7 +3334,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3277 | 3334 | } |
3278 | 3335 | |
3279 | 3336 | $scope.createSpeechBubbleBasedOnAnnotationLength = function (pointClicked, x, y, id) { |
3280 | - var sppechBubbleHTML = "<div id ='" + pointClicked + "' class='com'><div style='z-index:10000;position:absolute;border-top:2px solid #000;transform:rotate(40deg);-moz-transform:rotate(40deg);-o-transform:rotate(40deg);-ms-transform:rotate(40deg);-webkit-transform:rotate(40deg);height:15px;width:35px;left:" + (x - 10) + "px;top:" + (y + 10) + "px;'' id='bubble" + $scope.speechBubbleCounter + "'></div><div data=" + $scope.speechBubbleCounter + " id=" + id + " class='appendDragg' style='z-index:10000;margin-left:25px;border:1px solid #000;padding:5px 10px;position:absolute;color:#000;text-align:left;font-size: 12px;background-color:#fff;font-weight:bold;left:" + x + "px;top:" + y + "px;'><div style='z-index:7000;position:absolute;right:-4px;top:-4px;color:#ffffff;cursor:pointer;'><img id=" + $scope.speechBubbleCounter + " class='dynCross' src=" + $rootScope.path + "></div></div><div style='position:absolute;border:1px solid #000;display:none;z-index:9000;' id='bord" + $scope.speechBubbleCounter + "'></div></div>"; | |
3337 | + var sppechBubbleHTML = "<div id ='" + pointClicked + "' class='com'><div style='z-index:10000;position:absolute;border-top:2px solid #000;transform:rotate(40deg);-moz-transform:rotate(40deg);-o-transform:rotate(40deg);-ms-transform:rotate(40deg);-webkit-transform:rotate(40deg);height:15px;width:35px;left:" + (x - 10) + "px;top:" + (y + 10) + "px;'' id='bubble" + $scope.speechBubbleCounter + "'></div><div data=" + $scope.speechBubbleCounter + " id=" + id + " class='appendDragg' style='z-index:10000;margin-left:25px;border:1px solid #000;padding:5px 10px;position:absolute;color:#fff;text-align:left;font-size: 12px;font-weight:bold;background-color:#19100e;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;-o-border-radius:5px;-ms-border-radius:5px;font-weight:bold;left:" + x + "px;top:" + y + "px;'><div style='z-index:7000;position:absolute;right:0px;top:0px;color:#ffffff;cursor:pointer;'><img id=" + $scope.speechBubbleCounter + " class='dynCross' src=" + $rootScope.path + "></div></div><div style='position:absolute;border:1px solid #000;display:none;z-index:9000;' id='bord" + $scope.speechBubbleCounter + "'></div></div>"; | |
3281 | 3338 | //Issue #7286 :Undefined annotation should not appear |
3282 | 3339 | for (var i = 0; i <= $scope.MultiLanguageAnnationArray.length - 1; i++) { |
3283 | 3340 | var annotation = $scope.MultiLanguageAnnationArray[i]; |
... | ... | @@ -3422,31 +3479,41 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3422 | 3479 | |
3423 | 3480 | $scope.createTransparencyBox = function () { |
3424 | 3481 | |
3482 | + $scope.isTransparencyActivated = true; | |
3425 | 3483 | |
3426 | - //if listanager is visisble then close it | |
3427 | - | |
3428 | - $rootScope.isListManagerSelected = false; | |
3429 | - $rootScope.CloseListManager(); | |
3484 | + //do not create TBOX if in extarct mode otherwise create | |
3485 | + if ($rootScope.isExtract == false) { | |
3430 | 3486 | |
3487 | + $("#btnExtract").addClass("disabled"); | |
3431 | 3488 | |
3432 | - $scope.isTransparencyActivated = true; | |
3433 | - // alert('transparencyClicked' + $scope.isTransparencyActivated) | |
3434 | - $('#btnTranparency').addClass('tButtonActive'); | |
3435 | - $('#btnIdentity').removeClass(' btn-primary'); | |
3436 | - $('#btnIdentity').addClass('btn-black'); | |
3489 | + //if listanager is visisble then close it | |
3490 | + $rootScope.isListManagerSelected = false; | |
3491 | + $rootScope.CloseListManager(); | |
3437 | 3492 | |
3438 | - var canvasDiv = document.getElementById('canvasDiv'); | |
3439 | - $scope.verticalScrollPosition = canvasDiv.scrollTop; | |
3440 | - $scope.horizontlScrollPosition = canvasDiv.scrollLeft; | |
3441 | 3493 | |
3442 | - var canvasDiv = document.getElementById('canvasDiv'); | |
3443 | - canvasDiv.addEventListener("mousedown", mouseDownListener); | |
3444 | 3494 | |
3445 | - canvasDiv.addEventListener("mousemove", mouseMoveListener); | |
3495 | + // alert('transparencyClicked' + $scope.isTransparencyActivated) | |
3496 | + $('#btnTranparency').addClass('tButtonActive'); | |
3497 | + $('#btnIdentity').removeClass(' btn-primary'); | |
3498 | + $('#btnIdentity').addClass('btn-black'); | |
3446 | 3499 | |
3447 | - canvasDiv.addEventListener("mouseup", mouseUpListener) | |
3500 | + var canvasDiv = document.getElementById('canvasDiv'); | |
3501 | + $scope.verticalScrollPosition = canvasDiv.scrollTop; | |
3502 | + $scope.horizontlScrollPosition = canvasDiv.scrollLeft; | |
3448 | 3503 | |
3449 | - | |
3504 | + var canvasDiv = document.getElementById('canvasDiv'); | |
3505 | + canvasDiv.addEventListener("mousedown", mouseDownListener); | |
3506 | + | |
3507 | + canvasDiv.addEventListener("mousemove", mouseMoveListener); | |
3508 | + | |
3509 | + canvasDiv.addEventListener("mouseup", mouseUpListener) | |
3510 | + | |
3511 | + } | |
3512 | + else { | |
3513 | + | |
3514 | + // console.log("extract button is active"); | |
3515 | + | |
3516 | + } | |
3450 | 3517 | } |
3451 | 3518 | |
3452 | 3519 | function mouseDownListener(e) { |
... | ... | @@ -3554,7 +3621,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3554 | 3621 | $scope.TransparencyEndX = TransparencyEndX; |
3555 | 3622 | $scope.TransparencyBoxEndY = TransparencyBoxEndY; |
3556 | 3623 | |
3557 | - | |
3624 | + $scope.layerNumberBeforeTrans = parseInt($('#txtlayerNumber').val()); | |
3558 | 3625 | |
3559 | 3626 | //draw temp box to store the canvas data with original transparecy |
3560 | 3627 | if (document.getElementById('tempCanvas') != null) { |
... | ... | @@ -3673,7 +3740,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3673 | 3740 | |
3674 | 3741 | $('#btnTranparency').addClass('tButtonActive'); |
3675 | 3742 | //debugger; |
3676 | - $('#txtlayerNumber').val((parseInt($scope.currentLayerNumber)) + 1); | |
3743 | + // $('#txtlayerNumber').val((parseInt($scope.currentLayerNumber)) + 1); | |
3677 | 3744 | //Dated:18-07-2016 Issue#4975: Transparency box should not be clickable if it is already selected. |
3678 | 3745 | $('#btnTranparency').removeClass('tButtonActive'); |
3679 | 3746 | $('#btnTranparency').addClass('btn-black'); |
... | ... | @@ -3836,19 +3903,41 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
3836 | 3903 | //do nothing |
3837 | 3904 | } |
3838 | 3905 | else if (isLayerChanged) { |
3839 | - | |
3840 | - // alert('isMousUp on isLayerChanged'); | |
3841 | 3906 | |
3842 | - $scope.layerNumber = parseInt($('#txtlayerNumber').val()); | |
3907 | + // alert('isMousUp on isLayerChanged'); | |
3908 | + | |
3909 | + //$scope.layerNumber = parseInt($('#txtlayerNumber').val()); | |
3843 | 3910 | |
3844 | 3911 | } |
3845 | 3912 | else { |
3846 | - var currentLayer = parseInt($('#txtlayerNumber').val()); | |
3913 | + //var currentLayer = parseInt($('#txtlayerNumber').val()); | |
3914 | + | |
3915 | + //var tranparencyLayer = currentLayer + 1; | |
3916 | + //$scope.layerNumber = tranparencyLayer; | |
3917 | + | |
3918 | + var tranparencyLayer; | |
3919 | + | |
3920 | + //var currentLayer = parseInt($('#txtlayerNumber').val()); | |
3921 | + var currentLayer = $scope.layerNumberBeforeTrans; | |
3922 | + | |
3923 | + if (currentLayer == $rootScope.totalLayers) { | |
3924 | + | |
3925 | + tranparencyLayer = currentLayer; | |
3926 | + | |
3927 | + } | |
3928 | + | |
3929 | + else { | |
3930 | + | |
3931 | + tranparencyLayer = currentLayer + 1; | |
3932 | + | |
3933 | + } | |
3847 | 3934 | |
3848 | - var tranparencyLayer = currentLayer + 1; | |
3849 | 3935 | $scope.layerNumber = tranparencyLayer; |
3936 | + | |
3850 | 3937 | } |
3851 | 3938 | |
3939 | + $('#txtlayerNumber').val($scope.layerNumber); | |
3940 | + | |
3852 | 3941 | //dedebugger; |
3853 | 3942 | //1. get the image source |
3854 | 3943 | var tranparencyImgSrc; |
... | ... | @@ -4522,6 +4611,11 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
4522 | 4611 | |
4523 | 4612 | $scope.CloseTransparencyBox = function () { |
4524 | 4613 | |
4614 | + | |
4615 | + //To enable extract button | |
4616 | + $scope.isTransparencyActivated = false; | |
4617 | + $("#btnExtract").removeClass("disabled"); | |
4618 | + | |
4525 | 4619 | $('.com_anno').css('display', 'none'); |
4526 | 4620 | |
4527 | 4621 | $('#sppeachBubble_annotation').css('display', 'none'); |
... | ... | @@ -4556,7 +4650,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
4556 | 4650 | //var scope = angular.element(document.getElementById("DAView")).scope(); |
4557 | 4651 | //scope.$apply(function () { |
4558 | 4652 | // $scope.layerNumber = 0; |
4559 | - $scope.isTransparencyActivated = false; | |
4653 | + // $scope.isTransparencyActivated = false; | |
4560 | 4654 | //}) |
4561 | 4655 | |
4562 | 4656 | |
... | ... | @@ -4575,7 +4669,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
4575 | 4669 | } |
4576 | 4670 | $('#transparencyScale').css('visibility', 'hidden'); |
4577 | 4671 | |
4578 | - $scope.isTransparencyActivated = false; | |
4672 | + //$scope.isTransparencyActivated = false; | |
4579 | 4673 | // document.getElementById('btnTranparency').className = 't-transparency' |
4580 | 4674 | $('#btnTranparency').removeClass('tButtonActive'); |
4581 | 4675 | $('#btnTranparency').addClass('btn-black'); |
... | ... | @@ -4630,18 +4724,18 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
4630 | 4724 | }; |
4631 | 4725 | |
4632 | 4726 | |
4633 | - $scope.OnIdentityClick = function () { | |
4727 | + $scope.IdentityClick = function () { | |
4634 | 4728 | |
4635 | 4729 | |
4636 | 4730 | //if listanager is visisble then close it |
4637 | - | |
4731 | + | |
4638 | 4732 | $rootScope.isListManagerSelected = false; |
4639 | 4733 | $rootScope.CloseListManager(); |
4640 | 4734 | // $('#btnIdentity').addClass('btn-primary'); |
4641 | 4735 | |
4642 | - if ($scope.isTransparencyActivated == true) { | |
4736 | + if ($scope.isTransparencyActivated == true) { | |
4643 | 4737 | |
4644 | - $scope.isTransparencyActivated = false; | |
4738 | + $scope.isTransparencyActivated = false; | |
4645 | 4739 | |
4646 | 4740 | var canvasDiv = document.getElementById('canvasDiv'); |
4647 | 4741 | canvasDiv.removeEventListener("mousedown", mouseDownListener); |
... | ... | @@ -4657,12 +4751,17 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
4657 | 4751 | |
4658 | 4752 | $scope.enableZoom = function () { |
4659 | 4753 | |
4660 | - | |
4754 | + $("#btnExtract").removeClass("disabled"); | |
4755 | + $("#btnTranparency").removeClass("disabled"); | |
4756 | + $rootScope.isTransparencyBoxActivated = false; | |
4757 | + $rootScope.isNormalMode = false; | |
4661 | 4758 | //if listanager is visisble then close it |
4662 | 4759 | |
4663 | - $rootScope.isListManagerSelected = false; | |
4664 | 4760 | $rootScope.CloseListManager(); |
4665 | 4761 | |
4762 | + $rootScope.isHighlightBodyByBodySystem = false; | |
4763 | + | |
4764 | + | |
4666 | 4765 | $('#sppeachBubble').css('display', 'none'); |
4667 | 4766 | |
4668 | 4767 | $("#dot").css("display", "none"); |
... | ... | @@ -4677,7 +4776,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
4677 | 4776 | |
4678 | 4777 | $rootScope.isZoomed = true; |
4679 | 4778 | //1. |
4680 | - | |
4779 | + | |
4681 | 4780 | $scope.flushCanvas(); |
4682 | 4781 | |
4683 | 4782 | if ($scope.zoomInOut == 25) { |
... | ... | @@ -4766,8 +4865,21 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
4766 | 4865 | // } |
4767 | 4866 | // } |
4768 | 4867 | //} |
4868 | + var loopLength = 0; | |
4869 | + if (($rootScope.viewOrientationId == '1') || ($rootScope.viewOrientationId == '4')) { | |
4870 | + loopLength = 7; | |
4871 | + } | |
4872 | + else if (($rootScope.viewOrientationId == '2') || ($rootScope.viewOrientationId == '3')){ | |
4873 | + loopLength = 5; | |
4874 | + } | |
4875 | + else if (($rootScope.viewOrientationId == '5')) { | |
4876 | + loopLength = 4; | |
4877 | + } | |
4878 | + else if (($rootScope.viewOrientationId == '6')) { | |
4879 | + loopLength = 1; | |
4880 | + } | |
4769 | 4881 | |
4770 | - for (var i = 1; i < 7; i++) { | |
4882 | + for (var i = 1; i < loopLength; i++) { | |
4771 | 4883 | |
4772 | 4884 | var id; |
4773 | 4885 | var maskId; |
... | ... | @@ -4783,17 +4895,20 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
4783 | 4895 | if (maskcanvas != null || maskcanvas != undefined) |
4784 | 4896 | document.getElementById('canvasDiv').removeChild(maskcanvas); |
4785 | 4897 | |
4786 | - if (i == 4 || i == 5 || i == 6) { | |
4787 | - id = 'imageCanvas' + i + '_MR'; | |
4788 | - maskId = 'imageCanvas' + i + '_MR_mci'; | |
4898 | + if (loopLength == 7) { | |
4899 | + | |
4900 | + if (i == 4 || i == 5 || i == 6) { | |
4901 | + id = 'imageCanvas' + i + '_MR'; | |
4902 | + maskId = 'imageCanvas' + i + '_MR_mci'; | |
4789 | 4903 | |
4790 | - var canvas = document.getElementById(id); | |
4791 | - if (canvas != null || canvas != undefined) | |
4792 | - document.getElementById('canvasDiv').removeChild(canvas); | |
4904 | + var canvas = document.getElementById(id); | |
4905 | + if (canvas != null || canvas != undefined) | |
4906 | + document.getElementById('canvasDiv').removeChild(canvas); | |
4793 | 4907 | |
4794 | - var maskcanvas = document.getElementById(maskId); | |
4795 | - if (maskcanvas != null || maskcanvas != undefined) | |
4796 | - document.getElementById('canvasDiv').removeChild(maskcanvas); | |
4908 | + var maskcanvas = document.getElementById(maskId); | |
4909 | + if (maskcanvas != null || maskcanvas != undefined) | |
4910 | + document.getElementById('canvasDiv').removeChild(maskcanvas); | |
4911 | + } | |
4797 | 4912 | } |
4798 | 4913 | |
4799 | 4914 | //remove modesty canavs |
... | ... | @@ -4804,6 +4919,8 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
4804 | 4919 | } |
4805 | 4920 | } |
4806 | 4921 | } |
4922 | + | |
4923 | + | |
4807 | 4924 | } |
4808 | 4925 | |
4809 | 4926 | $scope.terminateCurrentlyRunningWPs = function () { |
... | ... | @@ -4824,11 +4941,18 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
4824 | 4941 | $scope.enableHighlight = function () { |
4825 | 4942 | |
4826 | 4943 | |
4944 | + // $("#btnExtract").removeClass("disabled"); | |
4945 | + $("#btnTranparency").removeClass("disabled"); | |
4946 | + // $rootScope.isTransparencyBoxActivated = false; | |
4947 | + // $rootScope.isNormalMode = false; | |
4948 | + | |
4827 | 4949 | //if listanager is visisble then close it |
4828 | 4950 | |
4829 | 4951 | // $rootScope.isListManagerSelected = false; |
4830 | 4952 | $rootScope.CloseListManager(); |
4831 | 4953 | |
4954 | + $rootScope.isHighlightBodyByBodySystem = false; | |
4955 | + | |
4832 | 4956 | if ($rootScope.isHighLight == true) { |
4833 | 4957 | |
4834 | 4958 | } |
... | ... | @@ -4881,18 +5005,27 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
4881 | 5005 | $("#btnNormalMode").removeClass("btn-primary"); |
4882 | 5006 | } |
4883 | 5007 | |
5008 | + //7900 | |
5009 | + $("#canvasDiv").scrollTop($rootScope.CanvasDivTopPosition); | |
5010 | + $("#canvasDiv").scrollLeft($rootScope.CanvasDivLeftPosition); | |
5011 | + | |
5012 | + | |
4884 | 5013 | } |
4885 | 5014 | |
4886 | 5015 | $scope.enableNormalMode = function () { |
4887 | - | |
5016 | + $("#btnTranparency").removeClass("disabled"); | |
5017 | + $rootScope.isNormalMode = false; | |
4888 | 5018 | console.log('enableNormalMode is called'); |
4889 | 5019 | |
4890 | - | |
5020 | + | |
4891 | 5021 | // $rootScope.isHighLight = false; |
4892 | 5022 | |
4893 | 5023 | //to do should not call every time |
4894 | 5024 | $rootScope.CloseListManager(); |
4895 | - | |
5025 | + | |
5026 | + | |
5027 | + $rootScope.isHighlightBodyByBodySystem = false; | |
5028 | + | |
4896 | 5029 | |
4897 | 5030 | if ($rootScope.isNormalMode == true) { |
4898 | 5031 | |
... | ... | @@ -4922,11 +5055,15 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
4922 | 5055 | $rootScope.isListManagerSelected = false; |
4923 | 5056 | |
4924 | 5057 | //7. |
5058 | + | |
5059 | + $scope.layerNumber = $('#txtlayerNumber').val(); | |
4925 | 5060 | $scope.CalculateImageCordinates($rootScope.viewOrientationId); |
4926 | 5061 | // alert($rootScope.viewOrientationId + "gadash") |
5062 | + | |
5063 | + | |
4927 | 5064 | $("#canvasDiv").scrollTop($rootScope.CanvasDivTopPosition); |
4928 | 5065 | $("#canvasDiv").scrollLeft($rootScope.CanvasDivLeftPosition); |
4929 | - | |
5066 | + | |
4930 | 5067 | |
4931 | 5068 | } |
4932 | 5069 | |
... | ... | @@ -4953,83 +5090,130 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
4953 | 5090 | } |
4954 | 5091 | } |
4955 | 5092 | |
4956 | - $scope.enableExtract = function () { | |
5093 | + $scope.enableExtract = function (isCalledFromButton) { | |
5094 | + | |
5095 | + console.log('isCalledFromButton= ' + isCalledFromButton); | |
5096 | + | |
5097 | + $rootScope.isHighlightBodyByBodySystem = false; | |
5098 | + | |
4957 | 5099 | |
4958 | 5100 | $rootScope.CanvasDivTopPosition = $("#canvasDiv").scrollTop(); |
4959 | 5101 | |
4960 | 5102 | $rootScope.CanvasDivLeftPosition = $("#canvasDiv").scrollLeft(); |
4961 | - //if listanager is visisble then close it | |
4962 | 5103 | |
4963 | - // $rootScope.isListManagerSelected = false; | |
4964 | - $rootScope.CloseListManager(); | |
4965 | - //1. | |
4966 | - $rootScope.isLoading = true; | |
4967 | - $('#spinner').css('visibility', 'visible'); | |
4968 | 5104 | |
4969 | - //2. | |
4970 | - $scope.terminateCurrentlyRunningWPs(); | |
4971 | 5105 | |
4972 | - //3. | |
4973 | - if ($rootScope.isExtract == true) { | |
5106 | + if ($scope.isTransparencyActivated == true) { | |
5107 | + | |
5108 | + $("#btnExtract").addClass("disabled"); | |
4974 | 5109 | |
4975 | 5110 | } |
5111 | + | |
5112 | + | |
4976 | 5113 | else { |
4977 | - $rootScope.isExtract = true; | |
4978 | 5114 | |
4979 | 5115 | |
4980 | - if ($rootScope.isNormalMode == true) { | |
5116 | + $rootScope.CloseListManager(); | |
5117 | + //1. | |
5118 | + //$rootScope.isLoading = true; | |
5119 | + //$('#spinner').css('visibility', 'visible'); | |
4981 | 5120 | |
4982 | - $rootScope.isHighLight = false; | |
4983 | - $rootScope.isNormalMode = false; | |
4984 | - } | |
4985 | - else { | |
4986 | - $rootScope.isNormalMode = false; | |
4987 | - $rootScope.isHighLight = false; | |
4988 | - } | |
5121 | + //2. | |
5122 | + $scope.terminateCurrentlyRunningWPs(); | |
4989 | 5123 | |
4990 | - //4. | |
4991 | - console.log('highLightBody from enableExtract') | |
4992 | - $scope.highLightBody(); | |
5124 | + //3. | |
5125 | + //if extarct is alraedy enabled and user cliked on any body part then extract that. | |
5126 | + if (isCalledFromButton == false) { | |
4993 | 5127 | |
5128 | + $rootScope.isExtract = true; | |
5129 | + //disable transparency button | |
4994 | 5130 | |
4995 | - } | |
5131 | + $("#btnTranparency").addClass("disabled"); | |
4996 | 5132 | |
4997 | - //5. unhighlight other | |
4998 | - //$scope.Normal = ""; | |
4999 | - //$scope.Extract = "LeftButtonsDefaultState"; | |
5000 | - //$scope.Highlight = ""; | |
5001 | 5133 | |
5002 | - $("#btnExtract").addClass("btn-primary"); | |
5003 | - $("#btnExtract").removeClass("btn-black"); | |
5134 | + if ($rootScope.isNormalMode == true) { | |
5004 | 5135 | |
5005 | - if (!$("#btnNormalMode").hasClass("btn-black")) { | |
5006 | - $("#btnNormalMode").addClass("btn-black"); | |
5007 | - } | |
5136 | + $rootScope.isHighLight = false; | |
5137 | + $rootScope.isNormalMode = false; | |
5138 | + } | |
5139 | + else { | |
5008 | 5140 | |
5009 | - if (!$("#btnHighLight").hasClass("btn-black")) { | |
5010 | - $("#btnHighLight").addClass("btn-black"); | |
5011 | - } | |
5141 | + $rootScope.isHighLight = false; | |
5142 | + } | |
5012 | 5143 | |
5013 | - if ($("#btnNormalMode").hasClass("btn-primary")) { | |
5014 | - $("#btnNormalMode").removeClass("btn-primary"); | |
5015 | - } | |
5144 | + //4. | |
5145 | + console.log('highLightBody from enableExtract') | |
5146 | + $scope.highLightBody(); | |
5016 | 5147 | |
5017 | - if ($("#btnHighLight").hasClass("btn-primary")) { | |
5018 | - $("#btnHighLight").removeClass("btn-primary"); | |
5019 | - } | |
5020 | - } | |
5148 | + } | |
5149 | + else { | |
5021 | 5150 | |
5022 | - $scope.enableShowHideStructureBox = function () { | |
5151 | + if ($rootScope.isExtract == true) { | |
5023 | 5152 | |
5153 | + } | |
5154 | + else { | |
5155 | + $rootScope.isExtract = true; | |
5156 | + //disable transparency button | |
5024 | 5157 | |
5025 | - //if listanager is visisble then close it | |
5158 | + $("#btnTranparency").addClass("disabled"); | |
5026 | 5159 | |
5027 | - $rootScope.isListManagerSelected = false; | |
5028 | - $rootScope.CloseListManager(); | |
5029 | 5160 | |
5030 | - $(".com").toggle(); | |
5031 | - $('#dot').toggle(); | |
5032 | - $('#sppeachBubble').toggle(); | |
5161 | + if ($rootScope.isNormalMode == true) { | |
5162 | + | |
5163 | + $rootScope.isHighLight = false; | |
5164 | + $rootScope.isNormalMode = false; | |
5165 | + } | |
5166 | + else { | |
5167 | + | |
5168 | + $rootScope.isHighLight = false; | |
5169 | + } | |
5170 | + | |
5171 | + //4. | |
5172 | + console.log('highLightBody from enableExtract') | |
5173 | + $scope.highLightBody(); | |
5174 | + | |
5175 | + | |
5176 | + } | |
5177 | + } | |
5178 | + | |
5179 | + | |
5180 | + //5. unhighlight other | |
5181 | + //$scope.Normal = ""; | |
5182 | + //$scope.Extract = "LeftButtonsDefaultState"; | |
5183 | + //$scope.Highlight = ""; | |
5184 | + | |
5185 | + $("#btnExtract").addClass("btn-primary"); | |
5186 | + $("#btnExtract").removeClass("btn-black"); | |
5187 | + | |
5188 | + if (!$("#btnNormalMode").hasClass("btn-black")) { | |
5189 | + $("#btnNormalMode").addClass("btn-black"); | |
5190 | + } | |
5191 | + | |
5192 | + if (!$("#btnHighLight").hasClass("btn-black")) { | |
5193 | + $("#btnHighLight").addClass("btn-black"); | |
5194 | + } | |
5195 | + | |
5196 | + if ($("#btnNormalMode").hasClass("btn-primary")) { | |
5197 | + $("#btnNormalMode").removeClass("btn-primary"); | |
5198 | + } | |
5199 | + | |
5200 | + if ($("#btnHighLight").hasClass("btn-primary")) { | |
5201 | + $("#btnHighLight").removeClass("btn-primary"); | |
5202 | + } | |
5203 | + } | |
5204 | + } | |
5205 | + | |
5206 | + $scope.enableShowHideStructureBox = function () { | |
5207 | + | |
5208 | + | |
5209 | + //if listanager is visisble then close it | |
5210 | + | |
5211 | + $rootScope.isListManagerSelected = false; | |
5212 | + $rootScope.CloseListManager(); | |
5213 | + | |
5214 | + $(".com").toggle(); | |
5215 | + $('#dot').toggle(); | |
5216 | + $('#sppeachBubble').toggle(); | |
5033 | 5217 | |
5034 | 5218 | } |
5035 | 5219 | |
... | ... | @@ -5037,8 +5221,6 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
5037 | 5221 | |
5038 | 5222 | $scope.highLightBody = function () { |
5039 | 5223 | |
5040 | - $rootScope.isLoading = true; | |
5041 | - $('#spinner').css('visibility', 'visible'); | |
5042 | 5224 | |
5043 | 5225 | $scope.Normal = ""; |
5044 | 5226 | $scope.Extract = ""; |
... | ... | @@ -5123,194 +5305,160 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
5123 | 5305 | var colorMode; |
5124 | 5306 | |
5125 | 5307 | if ($scope.isExtract == true) { |
5126 | - colorMode = $scope.applyWhiteMatrix(img, context_gray); | |
5308 | + | |
5309 | + if ((($rootScope.previousHighlightList != null || $rootScope.previousHighlightList != undefined) && $rootScope.previousHighlightList.length > 0) || $rootScope.isListManagerSelected == true) { | |
5310 | + | |
5311 | + colorMode = $scope.applyWhiteMatrix(img, context_gray); | |
5312 | + } | |
5127 | 5313 | } |
5128 | 5314 | else { |
5129 | 5315 | colorMode = $scope.applyGrayMatrix(img, context_gray); |
5130 | 5316 | } |
5131 | 5317 | |
5132 | - var zeroPoint = new Point(); | |
5318 | + console.log('colorMode inside if = ' + colorMode); | |
5133 | 5319 | |
5134 | - DAData.applyFilter(DAData, DAData.rect, zeroPoint, colorMode); | |
5135 | 5320 | |
5321 | + if (colorMode != undefined || colorMode != null) { | |
5136 | 5322 | |
5137 | - context_gray.putImageData(DAData.data, 0, 0) | |
5323 | + $rootScope.isLoading = true; | |
5324 | + $('#spinner').css('visibility', 'visible'); | |
5138 | 5325 | |
5139 | - //NIKI- to resolve lateral arm black issue in highlight mode | |
5140 | 5326 | |
5141 | - if ($rootScope.viewOrientationId == 5 && (value.bodyRegionId == 6 || value.bodyRegionId == 4)) { | |
5327 | + var zeroPoint = new Point(); | |
5142 | 5328 | |
5143 | - var imgData = context_gray.getImageData(0, 0, width, ht); | |
5144 | - var data = imgData.data; | |
5145 | - var c = 0; | |
5146 | - for (var i = 0; i < data.length; i += 4) { | |
5147 | - if (data[i] == data[i + 1] && data[i + 1] == data[i + 2] && data[i + 2] === 0) { | |
5148 | - data[i + 3] = 0; | |
5149 | - } | |
5329 | + DAData.applyFilter(DAData, DAData.rect, zeroPoint, colorMode); | |
5150 | 5330 | |
5151 | - } | |
5152 | - context_gray.putImageData(imgData, 0, 0); | |
5153 | - } | |
5154 | 5331 | |
5155 | - //push BRID into array | |
5156 | - $scope.grayedBR.push({ 'BRID': value.bodyRegionId }); | |
5332 | + context_gray.putImageData(DAData.data, 0, 0) | |
5157 | 5333 | |
5158 | - var grayImageData = context_gray.getImageData(0, 0, width, ht); | |
5159 | - var grayImageImageDataVar = grayImageData.data; | |
5334 | + //NIKI- to resolve lateral arm black issue in highlight mode | |
5160 | 5335 | |
5161 | - if ($scope.isExtract == true) { | |
5162 | - if (value.haveMirror == 'true') { | |
5163 | - $rootScope.whiteImageMRDataList[parseInt(value.bodyRegionId)] = grayImageData; | |
5164 | - } | |
5165 | - else { | |
5336 | + if ($rootScope.viewOrientationId == 5 && (value.bodyRegionId == 6 || value.bodyRegionId == 4)) { | |
5166 | 5337 | |
5167 | - $rootScope.whiteImageDataList[parseInt(value.bodyRegionId - 1)] = grayImageData; | |
5168 | - } | |
5169 | - } | |
5170 | - else { | |
5338 | + var imgData = context_gray.getImageData(0, 0, width, ht); | |
5339 | + var data = imgData.data; | |
5340 | + var c = 0; | |
5341 | + for (var i = 0; i < data.length; i += 4) { | |
5342 | + if (data[i] == data[i + 1] && data[i + 1] == data[i + 2] && data[i + 2] === 0) { | |
5343 | + data[i + 3] = 0; | |
5344 | + } | |
5171 | 5345 | |
5172 | - if (value.haveMirror == 'true') { | |
5173 | - $rootScope.grayImageMRDataList[parseInt(value.bodyRegionId)] = grayImageData; | |
5346 | + } | |
5347 | + context_gray.putImageData(imgData, 0, 0); | |
5174 | 5348 | } |
5175 | - else { | |
5176 | 5349 | |
5177 | - $rootScope.grayImageDataList[parseInt(value.bodyRegionId - 1)] = grayImageData; | |
5178 | - } | |
5179 | - } | |
5350 | + //push BRID into array | |
5351 | + $scope.grayedBR.push({ 'BRID': value.bodyRegionId }); | |
5180 | 5352 | |
5353 | + var grayImageData = context_gray.getImageData(0, 0, width, ht); | |
5354 | + var grayImageImageDataVar = grayImageData.data; | |
5181 | 5355 | |
5182 | - if ($scope.grayedBR != null || $scope.grayedBR != undefined) { | |
5183 | - if ((($rootScope.viewOrientationId == '1') || ($rootScope.viewOrientationId == '4')) && ($scope.grayedBR.length == 9)) { | |
5184 | - $scope.isEligibleForHighlightBodyByTermList = true; | |
5185 | - $scope.doHighlightOrExtract = false; | |
5186 | - } | |
5187 | - else if ((($rootScope.viewOrientationId == '2') || ($rootScope.viewOrientationId == '3')) && ($scope.grayedBR.length == 5)) { | |
5188 | - $scope.isEligibleForHighlightBodyByTermList = true; | |
5189 | - $scope.doHighlightOrExtract = false; | |
5190 | - } | |
5191 | - else if ((($rootScope.viewOrientationId == '5')) && ($scope.grayedBR.length == 4)) { | |
5192 | - $scope.isEligibleForHighlightBodyByTermList = true; | |
5193 | - $scope.doHighlightOrExtract = false; | |
5194 | - } | |
5195 | - else if ((($rootScope.viewOrientationId == '6')) && ($scope.grayedBR.length == 1)) { | |
5196 | - $scope.isEligibleForHighlightBodyByTermList = true; | |
5197 | - $scope.doHighlightOrExtract = false; | |
5356 | + if ($scope.isExtract == true) { | |
5357 | + if (value.haveMirror == 'true') { | |
5358 | + $rootScope.whiteImageMRDataList[parseInt(value.bodyRegionId)] = grayImageData; | |
5359 | + } | |
5360 | + else { | |
5361 | + | |
5362 | + $rootScope.whiteImageDataList[parseInt(value.bodyRegionId - 1)] = grayImageData; | |
5363 | + } | |
5198 | 5364 | } |
5199 | 5365 | else { |
5200 | 5366 | |
5201 | - $scope.isEligibleForHighlightBodyByTermList = false; | |
5367 | + if (value.haveMirror == 'true') { | |
5368 | + $rootScope.grayImageMRDataList[parseInt(value.bodyRegionId)] = grayImageData; | |
5369 | + } | |
5370 | + else { | |
5371 | + | |
5372 | + $rootScope.grayImageDataList[parseInt(value.bodyRegionId - 1)] = grayImageData; | |
5373 | + } | |
5202 | 5374 | } |
5203 | 5375 | |
5204 | - if ($scope.isEligibleForHighlightBodyByTermList == true) { | |
5205 | - //DISABLE PROGERSS BAR FOR GENDER OR VIEW CHANGE | |
5206 | - // if ($rootScope.isGenderChnage == true || $rootScope.isViewChange == true) { | |
5207 | - $scope.isLoading = false; | |
5208 | 5376 | |
5209 | - $('#spinner').css('visibility', 'hidden'); | |
5210 | - //} | |
5377 | + if ($scope.grayedBR != null || $scope.grayedBR != undefined) { | |
5378 | + if ((($rootScope.viewOrientationId == '1') || ($rootScope.viewOrientationId == '4')) && ($scope.grayedBR.length == 9)) { | |
5379 | + $scope.isEligibleForHighlightBodyByTermList = true; | |
5380 | + $scope.doHighlightOrExtract = false; | |
5381 | + } | |
5382 | + else if ((($rootScope.viewOrientationId == '2') || ($rootScope.viewOrientationId == '3')) && ($scope.grayedBR.length == 5)) { | |
5383 | + $scope.isEligibleForHighlightBodyByTermList = true; | |
5384 | + $scope.doHighlightOrExtract = false; | |
5385 | + } | |
5386 | + else if ((($rootScope.viewOrientationId == '5')) && ($scope.grayedBR.length == 4)) { | |
5387 | + $scope.isEligibleForHighlightBodyByTermList = true; | |
5388 | + $scope.doHighlightOrExtract = false; | |
5389 | + } | |
5390 | + else if ((($rootScope.viewOrientationId == '6')) && ($scope.grayedBR.length == 1)) { | |
5391 | + $scope.isEligibleForHighlightBodyByTermList = true; | |
5392 | + $scope.doHighlightOrExtract = false; | |
5393 | + } | |
5394 | + else { | |
5211 | 5395 | |
5212 | - | |
5213 | - if (($scope.isHighlightBodyByBodySystem == true) && ($scope.systemMatchedTermList != null || $scope.systemMatchedTermList != undefined)) { | |
5396 | + $scope.isEligibleForHighlightBodyByTermList = false; | |
5397 | + } | |
5214 | 5398 | |
5399 | + if ($scope.isEligibleForHighlightBodyByTermList == true) { | |
5400 | + //DISABLE PROGERSS BAR FOR GENDER OR VIEW CHANGE | |
5401 | + // if ($rootScope.isGenderChnage == true || $rootScope.isViewChange == true) { | |
5402 | + $scope.isLoading = false; | |
5215 | 5403 | |
5216 | - $scope.isLoading = true; | |
5404 | + $('#spinner').css('visibility', 'hidden'); | |
5405 | + //} | |
5217 | 5406 | |
5218 | - $('#spinner').css('visibility', 'visible'); | |
5219 | - $timeout(function () { $scope.HighlightBodyByTermList($scope.systemMatchedTermList) }, 100); | |
5220 | - } | |
5221 | - else if ($rootScope.isListManagerSelected == true) { | |
5407 | + if (($rootScope.isHighlightBodyByBodySystem == true) && ($scope.systemMatchedTermList != null || $scope.systemMatchedTermList != undefined)) { | |
5222 | 5408 | |
5223 | - // console.log('$scope.grayedBR.length is ' + $scope.grayedBR.length); | |
5224 | - $timeout(function () { | |
5225 | 5409 | |
5226 | 5410 | $scope.isLoading = true; |
5411 | + | |
5227 | 5412 | $('#spinner').css('visibility', 'visible'); |
5413 | + $timeout(function () { $scope.HighlightBodyByTermList($scope.systemMatchedTermList) }, 100); | |
5414 | + } | |
5415 | + else if ($rootScope.isListManagerSelected == true) { | |
5228 | 5416 | |
5229 | - $scope.HighlightBodyByTermList($scope.AllTerms) | |
5230 | - }, 800); | |
5417 | + // console.log('$scope.grayedBR.length is ' + $scope.grayedBR.length); | |
5418 | + $timeout(function () { | |
5419 | + | |
5420 | + $scope.isLoading = true; | |
5421 | + $('#spinner').css('visibility', 'visible'); | |
5422 | + | |
5423 | + $scope.HighlightBodyByTermList($scope.AllTerms) | |
5424 | + }, 800); | |
5425 | + | |
5426 | + } | |
5427 | + else if (($rootScope.previousHighlightList != null || $rootScope.previousHighlightList != undefined) && $rootScope.previousHighlightList.length > 0) { | |
5428 | + $scope.createTermListByPreviousTermsAndHighlight(); | |
5429 | + } | |
5231 | 5430 | |
5232 | - } | |
5233 | - else if (($rootScope.previousHighlightList != null || $rootScope.previousHighlightList != undefined) && $rootScope.previousHighlightList.length > 0) { | |
5234 | - $scope.createTermListByPreviousTermsAndHighlight(); | |
5235 | 5431 | } |
5236 | 5432 | |
5237 | 5433 | } |
5238 | 5434 | |
5239 | 5435 | } |
5240 | 5436 | |
5241 | - } | |
5242 | - | |
5243 | - $timeout(function () { imageCanvas.style.visibility = 'visible' }, 50); | |
5437 | + $timeout(function () { imageCanvas.style.visibility = 'visible' }, 50); | |
5244 | 5438 | |
5439 | + console.log('highlightboy. $rootScope.isExtract= '+$rootScope.isExtract+', $rootScope.previousHighlightList.length= ' + $rootScope.previousHighlightList.length) | |
5440 | + if ($rootScope.isExtract == true) { | |
5441 | + if (($rootScope.previousHighlightList != null || $rootScope.previousHighlightList != undefined) && $rootScope.previousHighlightList.length > 0) { | |
5442 | + console.log('1. $rootScope.isExtract=true and $rootScope.previousHighlightList != null') | |
5245 | 5443 | |
5246 | - if ($rootScope.isExtract == true) { | |
5247 | - if (($rootScope.previousHighlightList != null || $rootScope.previousHighlightList != undefined) && $rootScope.previousHighlightList.length > 0) { | |
5248 | - console.log('1. $rootScope.isExtract=true and $rootScope.previousHighlightList != null') | |
5444 | + $timeout(function () { $scope.HighlightBodyOnExtract() }, 50); | |
5445 | + } | |
5446 | + else if ($rootScope.isListManagerSelected == true) { | |
5447 | + console.log('1. $rootScope.isExtract=true and $rootScope.isListManagerSelected == true') | |
5249 | 5448 | |
5250 | - $timeout(function () { $scope.HighlightBodyOnExtract() }, 50); | |
5251 | - } | |
5252 | - else if ($rootScope.isListManagerSelected == true) { | |
5253 | - console.log('1. $rootScope.isExtract=true and $rootScope.isListManagerSelected == true') | |
5449 | + $timeout(function () { $scope.HighlightBodyOnExtract() }, 50); | |
5254 | 5450 | |
5255 | - $timeout(function () { $scope.HighlightBodyOnExtract() }, 50); | |
5256 | - | |
5451 | + } | |
5257 | 5452 | } |
5258 | 5453 | } |
5259 | - //else { | |
5260 | - // // this code is for the case where user first clcik on normal mode then extract then again highlight then we need to call highlight body in gray mode | |
5261 | - // //and then highlight the previously selected body regions at the time of normal mode. | |
5262 | - // if ($scope.grayedBR != null || $scope.grayedBR != undefined) { | |
5263 | - // if ((($rootScope.viewOrientationId == '1') || ($rootScope.viewOrientationId == '4')) && ($scope.grayedBR.length == 9)) { | |
5264 | - // $scope.isEligibleForHighlightBodyByTermList = true; | |
5265 | - // } | |
5266 | - // else if ((($rootScope.viewOrientationId == '2') || ($rootScope.viewOrientationId == '3')) && ($scope.grayedBR.length == 5)) { | |
5267 | - // $scope.isEligibleForHighlightBodyByTermList = true; | |
5268 | - // } | |
5269 | - // else if ((($rootScope.viewOrientationId == '5')) && ($scope.grayedBR.length == 4)) { | |
5270 | - // $scope.isEligibleForHighlightBodyByTermList = true; | |
5271 | - // } | |
5272 | - // else if ((($rootScope.viewOrientationId == '6')) && ($scope.grayedBR.length == 1)) { | |
5273 | - // $scope.isEligibleForHighlightBodyByTermList = true; | |
5274 | - // } | |
5275 | - | |
5276 | - | |
5277 | - // } | |
5278 | - | |
5279 | - // // | |
5280 | - //} | |
5281 | 5454 | }) |
5282 | 5455 | |
5283 | - //if ($scope.isEligibleForHighlightBodyByTermList == true) { | |
5284 | - // if (($rootScope.previousHighlightList != null || $rootScope.previousHighlightList != undefined) && $rootScope.previousHighlightList.length > 0) { | |
5285 | - | |
5286 | - // var multiTermList = []; | |
5287 | - // angular.forEach($rootScope.previousHighlightList, function (value, key) { | |
5288 | - | |
5289 | - // //debugger; | |
5290 | - | |
5291 | - // var ActualTermNo = $scope.getActualTermNumber(value); | |
5292 | - // if (ActualTermNo != null) { | |
5293 | - // var TermList = $scope.getTermNumberList(ActualTermNo); | |
5294 | - // if (TermList != null) { | |
5295 | - // for (var i = 0; i < TermList.length; i++) { | |
5296 | - | |
5297 | - // multiTermList.push(TermList[i]); | |
5298 | - // } | |
5299 | - // } | |
5300 | - // } | |
5301 | - | |
5302 | - // }); | |
5303 | - // console.log('HighlightBodyByTermList call with multiTermList') | |
5304 | - | |
5305 | - // $timeout(function () { $scope.HighlightBodyByTermList(multiTermList) }, 80); | |
5306 | - // } | |
5307 | - //} | |
5308 | - | |
5309 | 5456 | } |
5310 | 5457 | |
5311 | 5458 | |
5312 | 5459 | else { |
5313 | 5460 | // This code will execute when user will select normal Mode but this time isHighlight will be false |
5461 | + console.log('highlightboy ELSE. $rootScope.isExtract= ' + $rootScope.isExtract + ', $rootScope.previousHighlightList.length= ' + $rootScope.previousHighlightList.length) | |
5314 | 5462 | |
5315 | 5463 | angular.forEach($scope.ColoredImageSRC, function (value, key) { |
5316 | 5464 | var id; |
... | ... | @@ -5365,40 +5513,50 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
5365 | 5513 | var colorMode; |
5366 | 5514 | |
5367 | 5515 | if ($scope.isExtract == true) { |
5368 | - colorMode = $scope.applyWhiteMatrix(img, context); | |
5516 | + if ((($rootScope.previousHighlightList != null || $rootScope.previousHighlightList != undefined) && $rootScope.previousHighlightList.length > 0) || $rootScope.isListManagerSelected == true) { | |
5517 | + | |
5518 | + colorMode = $scope.applyWhiteMatrix(img, context); | |
5519 | + } | |
5369 | 5520 | } |
5370 | 5521 | |
5371 | - var zeroPoint = new Point(); | |
5522 | + console.log('colorMode inside else = ' + colorMode); | |
5523 | + if (colorMode != undefined || colorMode != null) { | |
5372 | 5524 | |
5373 | - DAData.applyFilter(DAData, DAData.rect, zeroPoint, colorMode); | |
5525 | + $rootScope.isLoading = true; | |
5526 | + $('#spinner').css('visibility', 'visible'); | |
5374 | 5527 | |
5375 | - context.putImageData(DAData.data, 0, 0) | |
5528 | + var zeroPoint = new Point(); | |
5376 | 5529 | |
5377 | - var grayImageData = context.getImageData(0, 0, width, ht); | |
5378 | - var grayImageImageDataVar = grayImageData.data; | |
5530 | + DAData.applyFilter(DAData, DAData.rect, zeroPoint, colorMode); | |
5379 | 5531 | |
5380 | - if ($scope.isExtract == true) { | |
5381 | - if (value.haveMirror == 'true') { | |
5382 | - $rootScope.whiteImageMRDataList[parseInt(value.bodyRegionId)] = grayImageData; | |
5383 | - } | |
5384 | - else { | |
5532 | + context.putImageData(DAData.data, 0, 0) | |
5385 | 5533 | |
5386 | - $rootScope.whiteImageDataList[parseInt(value.bodyRegionId - 1)] = grayImageData; | |
5387 | - } | |
5388 | - } | |
5389 | - else { | |
5534 | + var grayImageData = context.getImageData(0, 0, width, ht); | |
5535 | + var grayImageImageDataVar = grayImageData.data; | |
5536 | + | |
5537 | + if ($scope.isExtract == true) { | |
5538 | + if (value.haveMirror == 'true') { | |
5539 | + $rootScope.whiteImageMRDataList[parseInt(value.bodyRegionId)] = grayImageData; | |
5540 | + } | |
5541 | + else { | |
5390 | 5542 | |
5391 | - if (value.haveMirror == 'true') { | |
5392 | - $rootScope.grayImageMRDataList[parseInt(value.bodyRegionId)] = grayImageData; | |
5543 | + $rootScope.whiteImageDataList[parseInt(value.bodyRegionId - 1)] = grayImageData; | |
5544 | + } | |
5393 | 5545 | } |
5394 | 5546 | else { |
5395 | 5547 | |
5396 | - $rootScope.grayImageDataList[parseInt(value.bodyRegionId - 1)] = grayImageData; | |
5548 | + if (value.haveMirror == 'true') { | |
5549 | + $rootScope.grayImageMRDataList[parseInt(value.bodyRegionId)] = grayImageData; | |
5550 | + } | |
5551 | + else { | |
5552 | + | |
5553 | + $rootScope.grayImageDataList[parseInt(value.bodyRegionId - 1)] = grayImageData; | |
5554 | + } | |
5397 | 5555 | } |
5398 | 5556 | } |
5399 | - } | |
5400 | 5557 | |
5401 | - $timeout(function () { imageCanvas.style.visibility = 'visible' }, 50); | |
5558 | + $timeout(function () { imageCanvas.style.visibility = 'visible' }, 50); | |
5559 | + } | |
5402 | 5560 | }) |
5403 | 5561 | |
5404 | 5562 | if ($rootScope.isExtract == true) { |
... | ... | @@ -5414,7 +5572,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
5414 | 5572 | else if ($rootScope.isListManagerSelected == true) { |
5415 | 5573 | console.log('2. $rootScope.isExtract=true and $rootScope.isListManagerSelected == true') |
5416 | 5574 | $timeout(function () { $scope.HighlightBodyOnExtract() }, 50); |
5417 | - | |
5575 | + | |
5418 | 5576 | } |
5419 | 5577 | } |
5420 | 5578 | |
... | ... | @@ -5495,11 +5653,23 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
5495 | 5653 | |
5496 | 5654 | $scope.OnGenderChange = function (event) { |
5497 | 5655 | |
5656 | + | |
5657 | + | |
5658 | + $("#btnExtract").removeClass("disabled"); | |
5659 | + $("#btnTranparency").removeClass("disabled"); | |
5660 | + $rootScope.isTransparencyBoxActivated = false; | |
5661 | + $rootScope.isNormalMode = false; | |
5662 | + | |
5663 | + //close transparecny box | |
5664 | + $scope.CloseTransparencyBox(); | |
5665 | + | |
5498 | 5666 | //if listanager is visisble then close it |
5499 | - | |
5500 | - // $rootScope.isListManagerSelected = false; | |
5667 | + | |
5668 | + // $rootScope.isListManagerSelected = false; | |
5501 | 5669 | $rootScope.CloseListManager(); |
5502 | 5670 | |
5671 | + // $rootScope.isHighlightBodyByBodySystem = false; | |
5672 | + | |
5503 | 5673 | $rootScope.isLoading = true; |
5504 | 5674 | $('#spinner').css('visibility', 'visible'); |
5505 | 5675 | |
... | ... | @@ -5517,6 +5687,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
5517 | 5687 | localStorage.setItem("currentBodyViewId", currentBodyViewId); |
5518 | 5688 | |
5519 | 5689 | //3. |
5690 | + $scope.layerNumber = 0; | |
5520 | 5691 | $scope.loadSelectedBodyView(currentBodyViewId); |
5521 | 5692 | |
5522 | 5693 | //4. |
... | ... | @@ -5544,6 +5715,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
5544 | 5715 | localStorage.setItem("currentBodyViewId", currentBodyViewId); |
5545 | 5716 | |
5546 | 5717 | //3. |
5718 | + $scope.layerNumber = 0; | |
5547 | 5719 | $scope.loadSelectedBodyView(currentBodyViewId); |
5548 | 5720 | |
5549 | 5721 | //4. |
... | ... | @@ -5600,7 +5772,8 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
5600 | 5772 | //To fix issue of gray maintained in after closing jspanel after listmanager selection |
5601 | 5773 | $rootScope.isListManagerSelected = false; |
5602 | 5774 | $rootScope.isHighLight = false; |
5603 | - $rootScope.isNormalMode = false; | |
5775 | + //$rootScope.isNormalMode = false; | |
5776 | + $rootScope.isHighlightBodyByBodySystem = false; | |
5604 | 5777 | $rootScope.CloseListManager(); |
5605 | 5778 | }) |
5606 | 5779 | |
... | ... | @@ -5639,18 +5812,18 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
5639 | 5812 | canDiv.innerHTML = ''; |
5640 | 5813 | } |
5641 | 5814 | //if user seelcted any term and serached before gender cnage then itshould be highlighted in chnaged gender |
5642 | - | |
5643 | - if (($rootScope.isListManagerSelected == true) && ($rootScope.isGenderChnage == true)) { | |
5644 | - | |
5645 | - $scope.setLayerNumberAndHighlightByTermList(); | |
5646 | - | |
5647 | - } | |
5648 | - | |
5649 | - else { | |
5650 | - | |
5651 | - $scope.CalculateImageCordinates($rootScope.viewOrientationId); | |
5652 | - | |
5653 | - } | |
5815 | + | |
5816 | + if (($rootScope.isListManagerSelected == true) && (($rootScope.isGenderChnage == true) || $rootScope.isViewChange == true)) { | |
5817 | + | |
5818 | + $scope.setLayerNumberAndHighlightByTermList(); | |
5819 | + | |
5820 | + } | |
5821 | + | |
5822 | + else { | |
5823 | + | |
5824 | + $scope.CalculateImageCordinates($rootScope.viewOrientationId); | |
5825 | + | |
5826 | + } | |
5654 | 5827 | |
5655 | 5828 | $scope.currentTitleFromJson = localStorage.getItem("currentViewTitle"); |
5656 | 5829 | }, |
... | ... | @@ -5670,11 +5843,22 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
5670 | 5843 | |
5671 | 5844 | $scope.OnViewChange = function (event) { |
5672 | 5845 | |
5846 | + | |
5847 | + $("#btnExtract").removeClass("disabled"); | |
5848 | + $("#btnTranparency").removeClass("disabled"); | |
5849 | + $rootScope.isTransparencyBoxActivated = false; | |
5850 | + $rootScope.isNormalMode = false; | |
5851 | + | |
5852 | + //close transparency box | |
5853 | + $scope.CloseTransparencyBox(); | |
5854 | + | |
5673 | 5855 | //if listanager is visisble then close it |
5674 | 5856 | |
5675 | - $rootScope.isListManagerSelected = false; | |
5857 | + //$rootScope.isListManagerSelected = false; | |
5676 | 5858 | $rootScope.CloseListManager(); |
5677 | 5859 | |
5860 | + // $rootScope.isHighlightBodyByBodySystem = false; | |
5861 | + | |
5678 | 5862 | |
5679 | 5863 | $rootScope.isLoading = true; |
5680 | 5864 | $('#spinner').css('visibility', 'visible'); |
... | ... | @@ -5832,23 +6016,25 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
5832 | 6016 | $scope.layerNumber = parseInt($('#txtlayerNumber').val()); |
5833 | 6017 | //alert('mouseUp'); |
5834 | 6018 | |
5835 | - | |
5836 | 6019 | |
5837 | - $scope.loadSelectedBodyView(data.reloadDABodyViewId); | |
6020 | + if ($scope.layerNumber == 0) { | |
6021 | + $scope.loadSelectedBodyView(data.reloadDABodyViewId); | |
6022 | + } | |
6023 | + // $scope.loadSelectedBodyView(data.reloadDABodyViewId); | |
5838 | 6024 | |
5839 | 6025 | $scope.loadSelectedBodyViewNavigator(data.reloadDABodyViewId); |
5840 | 6026 | |
5841 | - $scope.currentTitleFromJson = localStorage.getItem("currentViewTitle"); | |
6027 | + // $scope.currentTitleFromJson = localStorage.getItem("currentViewTitle"); | |
5842 | 6028 | |
5843 | 6029 | //$rootScope.isSettingEventAlredayDispachted = false; |
5844 | 6030 | //} |
5845 | 6031 | |
5846 | 6032 | }) |
5847 | 6033 | |
5848 | - | |
5849 | 6034 | |
5850 | - $scope.loadSelectedBodyViewNavigator = function (currentBodyViewId) { | |
5851 | 6035 | |
6036 | + $scope.loadSelectedBodyViewNavigator = function (currentBodyViewId) { | |
6037 | + | |
5852 | 6038 | //$rootScope.voId = currentBodyViewId; |
5853 | 6039 | |
5854 | 6040 | //$scope.skinTone = $rootScope.globalSetting.ethnicity; |
... | ... | @@ -5905,7 +6091,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
5905 | 6091 | $rootScope.$on('annotationToolEvent', function (event, data) { |
5906 | 6092 | $("#canvas").css("display", "block"); |
5907 | 6093 | $("#canvasPaint").css("display", "block"); |
5908 | - $scope.doClick(); | |
6094 | + $scope.BindCanvasDrawingListners(); | |
5909 | 6095 | $rootScope.FreeStylePaint(); |
5910 | 6096 | }); |
5911 | 6097 | $scope.mousePs; |
... | ... | @@ -5921,12 +6107,16 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
5921 | 6107 | $scope.offsetY1 = 0; |
5922 | 6108 | $scope.x = 0; |
5923 | 6109 | $scope.y = 0; |
5924 | - $scope.doClick = function (event) { | |
6110 | + $scope.BindCanvasDrawingListners = function (event) { | |
5925 | 6111 | |
5926 | 6112 | $scope.clicked = true; |
5927 | 6113 | // OnPaintCanvasMouseDown(event); |
5928 | - canvas.addEventListener('mousedown', $scope.OnPaintCanvasMouseDown, false); | |
5929 | - canvas.addEventListener('mouseup', $scope.OnPaintCanvasMouseUp, false); | |
6114 | + | |
6115 | + var annotationCanvas = document.getElementById('canvas'); | |
6116 | + if (annotationCanvas != null || annotationCanvas != undefined) { | |
6117 | + annotationCanvas.addEventListener('mousedown', $scope.OnPaintCanvasMouseDown, false); | |
6118 | + annotationCanvas.addEventListener('mouseup', $scope.OnPaintCanvasMouseUp, false); | |
6119 | + } | |
5930 | 6120 | // alert("doclick"); |
5931 | 6121 | }; |
5932 | 6122 | |
... | ... | @@ -5966,6 +6156,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
5966 | 6156 | $rootScope.resetText = 0; |
5967 | 6157 | $rootScope.resetTextSave = 0; |
5968 | 6158 | $rootScope.ObjectIndexSave = 0; |
6159 | + | |
5969 | 6160 | var arrayRect = {}; |
5970 | 6161 | |
5971 | 6162 | |
... | ... | @@ -6013,7 +6204,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6013 | 6204 | break; |
6014 | 6205 | |
6015 | 6206 | case "Line": |
6016 | - | |
6207 | + | |
6017 | 6208 | $rootScope.resetLine = $rootScope.ObjectIndex++; |
6018 | 6209 | $('#canvas').addLayer({ |
6019 | 6210 | name: 'Line_' + $rootScope.resetLine, |
... | ... | @@ -6025,7 +6216,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6025 | 6216 | rounded: true, |
6026 | 6217 | x1: $scope.offsetX1, y1: $scope.offsetY1, |
6027 | 6218 | x2: $scope.x, y2: $scope.y, |
6028 | - | |
6219 | + | |
6029 | 6220 | click: function (layer) { |
6030 | 6221 | $rootScope.canvasLayerNameCollection = []; |
6031 | 6222 | $rootScope.canvasLayerNameCollection.push(layer.name); |
... | ... | @@ -6094,10 +6285,10 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6094 | 6285 | |
6095 | 6286 | resizeFromCenter: false, |
6096 | 6287 | |
6097 | - dblclick: function () { | |
6288 | + dblclick: function () { | |
6098 | 6289 | // $rootScope.backOpacity(); |
6099 | - | |
6100 | - }, | |
6290 | + | |
6291 | + }, | |
6101 | 6292 | |
6102 | 6293 | click: function (layer) { |
6103 | 6294 | $rootScope.canvasLayerNameCollection = []; |
... | ... | @@ -6174,7 +6365,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6174 | 6365 | |
6175 | 6366 | |
6176 | 6367 | click: function (layer) { |
6177 | - // alert(layer.name); | |
6368 | + | |
6178 | 6369 | $rootScope.canvasLayerNameCollection = []; |
6179 | 6370 | $rootScope.canvasLayerNameCollection.push(layer.name); |
6180 | 6371 | $('#canvas').setLayer(layer.name, { |
... | ... | @@ -6190,7 +6381,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6190 | 6381 | }, |
6191 | 6382 | mouseout: function (layer) { |
6192 | 6383 | $rootScope.canvasLayerNameCollection = []; |
6193 | - | |
6384 | + | |
6194 | 6385 | $('#canvas').setLayer(layer.name, { |
6195 | 6386 | handle: { |
6196 | 6387 | type: 'arc', |
... | ... | @@ -6317,7 +6508,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6317 | 6508 | x2: $scope.x, y2: $scope.y, |
6318 | 6509 | |
6319 | 6510 | click: function (layer) { |
6320 | - | |
6511 | + | |
6321 | 6512 | $rootScope.shapeTypePin = "Pin"; |
6322 | 6513 | $rootScope.canvasLayerNameCollection = []; |
6323 | 6514 | var pinLine_layer = layer.name; |
... | ... | @@ -6341,7 +6532,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6341 | 6532 | |
6342 | 6533 | }, |
6343 | 6534 | mouseout: function (layer) { |
6344 | - | |
6535 | + | |
6345 | 6536 | $rootScope.canvasLayerNameCollection = []; |
6346 | 6537 | $('#canvas').setLayer(layer.name, { |
6347 | 6538 | handle: { |
... | ... | @@ -6404,8 +6595,8 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6404 | 6595 | $('.btnCursor').addClass('activebtncolor'); |
6405 | 6596 | break; |
6406 | 6597 | case "TextArea": |
6407 | - $rootScope.IsTextAlreadySave = false; | |
6408 | - $("#text_area").val(''); | |
6598 | + $rootScope.IsTextAlreadySave = false; | |
6599 | + $("#text_area").val(''); | |
6409 | 6600 | // Draw text |
6410 | 6601 | $rootScope.resetTextRect = $rootScope.ObjectIndex++; |
6411 | 6602 | $rootScope.resetText = $rootScope.ObjectIndex++; |
... | ... | @@ -6423,7 +6614,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6423 | 6614 | align: "left", |
6424 | 6615 | fontFamily: 'Verdana, sans-serif', |
6425 | 6616 | text: '' |
6426 | - | |
6617 | + | |
6427 | 6618 | }) |
6428 | 6619 | // Draw rect as wide as the text |
6429 | 6620 | .drawRect({ |
... | ... | @@ -6487,9 +6678,25 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6487 | 6678 | |
6488 | 6679 | $("#annotationTextModal").modal("toggle"); |
6489 | 6680 | $('.btnCursor').trigger('click'); |
6681 | + | |
6490 | 6682 | $("#text_area").val(''); |
6683 | + | |
6491 | 6684 | $("#text_area").css({ " font-family": 'Verdana, sans-serif', "font-size": "14px", "font-weight": "normal", "font-style": "normal", "color": "#000", "text-align": "left", "text-decoration": "none" }); |
6685 | + | |
6686 | + $("#text-italic").removeClass("ActiveFormattingButtonClass"); | |
6687 | + | |
6688 | + $("#text-bold").removeClass("ActiveFormattingButtonClass"); | |
6689 | + | |
6690 | + $("#text-underline").removeClass("ActiveFormattingButtonClass"); | |
6691 | + | |
6692 | + $("#text-left").removeClass("ActiveFormattingButtonClass"); | |
6693 | + | |
6694 | + $("#text-right").removeClass("ActiveFormattingButtonClass"); | |
6695 | + | |
6696 | + $("#text-center").removeClass("ActiveFormattingButtonClass"); | |
6697 | + | |
6492 | 6698 | $(".btn-annotation").removeClass("activebtncolor"); |
6699 | + | |
6493 | 6700 | $('.btnCursor').addClass('activebtncolor'); |
6494 | 6701 | break; |
6495 | 6702 | |
... | ... | @@ -6502,6 +6709,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6502 | 6709 | |
6503 | 6710 | } |
6504 | 6711 | |
6712 | + | |
6505 | 6713 | //-- TextArea functionality of Annotation toolbar |
6506 | 6714 | |
6507 | 6715 | $rootScope.fontSizes; |
... | ... | @@ -6516,271 +6724,441 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6516 | 6724 | $rootScope.modifySavedText = []; |
6517 | 6725 | $rootScope.TextRectangleArr = []; |
6518 | 6726 | $rootScope.rectDimension = []; |
6519 | - | |
6727 | + | |
6520 | 6728 | |
6521 | 6729 | // will refactor this code later |
6522 | 6730 | |
6523 | - | |
6731 | + | |
6524 | 6732 | $rootScope.saveText = function () { |
6525 | 6733 | // this part will work first time when save button will be clicked |
6526 | 6734 | if ($rootScope.IsTextAlreadySave == false) { |
6527 | 6735 | // getting textarea style properties |
6528 | - $rootScope.fontSizes = $("#text_area").css("font-size"); | |
6529 | - $rootScope.fontWeight = $("#text_area").css("font-weight"); | |
6530 | - $rootScope.fontStyle = $("#text_area").css("font-style"); | |
6531 | - $rootScope.textAlignmt = $("#text_area").css("text-align"); | |
6532 | - $rootScope.fontColor = $("#text_area").css("color"); | |
6533 | - $rootScope.fontFamily = $("#text_area").css("font-family"); | |
6534 | - $rootScope.underlineText = $("#text_area").css("text-decoration"); | |
6535 | - $rootScope.textArea = $("#text_area").val(); | |
6736 | + $rootScope.fontSizes = $("#text_area").css("font-size"); | |
6737 | + $rootScope.fontWeight = $("#text_area").css("font-weight"); | |
6738 | + $rootScope.fontStyle = $("#text_area").css("font-style"); | |
6739 | + $rootScope.textAlignmt = $("#text_area").css("text-align"); | |
6740 | + $rootScope.fontColor = $("#text_area").css("color"); | |
6741 | + $rootScope.fontFamily = $("#text_area").css("font-family"); | |
6742 | + $rootScope.underlineText = $("#text_area").css("text-decoration"); | |
6743 | + $rootScope.textArea = $("#text_area").val(); | |
6536 | 6744 | |
6537 | 6745 | // deleting previous text area |
6538 | 6746 | |
6539 | - $("#canvas").removeLayer('TextArea_' + $rootScope.resetText).drawLayers(); | |
6540 | - $("#canvas").removeLayer("TextRect_" + $rootScope.resetTextRect).drawLayers(); | |
6541 | - | |
6542 | - // Text After Saving in Rectangle | |
6543 | - $('#canvas').drawText({ | |
6544 | - layer: true, | |
6545 | - draggable: true, | |
6546 | - name: 'TextArea_' + $rootScope.resetText, | |
6547 | - groups: ['TextArea_' + $rootScope.resetText], | |
6548 | - dragGroups: ['TextArea_' + $rootScope.resetText], | |
6549 | - fillStyle: $rootScope.fontColor, | |
6550 | - fontStyle: $rootScope.fontStyle, | |
6551 | - fontSize: $rootScope.fontSizes, | |
6552 | - fontFamily: $rootScope.fontFamily, | |
6553 | - align: $rootScope.textAlignmt, | |
6554 | - strokeWidth: 0, | |
6555 | - text: $rootScope.textArea, | |
6556 | - x: $scope.offsetX1, y: $scope.offsetY1, | |
6557 | - maxWidth: $scope.x - $scope.offsetX1, | |
6558 | - maxHeight: $scope.y - $scope.offsetY1, | |
6559 | - add: function (layer) { | |
6560 | - $rootScope.TextPropertyArray.push({ Text1: '', Align: '', FontColor: '', FontSize: '', FontStyle: '', FontFamily: '' }); | |
6561 | - $rootScope.TextPropertyArray.push({ Text1: layer.text, Align: layer.align, FontColor: layer.fillStyle, FontSize: layer.fontSize, FontStyle: layer.fontStyle, FontFamily: layer.fontFamily }); | |
6747 | + $("#canvas").removeLayer('TextArea_' + $rootScope.resetText).drawLayers(); | |
6748 | + $("#canvas").removeLayer("TextRect_" + $rootScope.resetTextRect).drawLayers(); | |
6749 | + | |
6750 | + // Text After Saving in Rectangle | |
6751 | + $('#canvas').drawText({ | |
6752 | + layer: true, | |
6753 | + draggable: true, | |
6754 | + name: 'TextArea_' + $rootScope.resetText, | |
6755 | + groups: ['TextArea_' + $rootScope.resetText], | |
6756 | + dragGroups: ['TextArea_' + $rootScope.resetText], | |
6757 | + fillStyle: $rootScope.fontColor, | |
6758 | + fontStyle: $rootScope.fontWeight + " " + $rootScope.fontStyle, | |
6759 | + fontSize: $rootScope.fontSizes, | |
6760 | + fontFamily: $rootScope.fontFamily, | |
6761 | + align: $rootScope.textAlignmt, | |
6762 | + strokeWidth: 0, | |
6763 | + text: $rootScope.textArea, | |
6764 | + x: $scope.offsetX1, y: $scope.offsetY1, | |
6765 | + maxWidth: $scope.x - $scope.offsetX1, | |
6766 | + maxHeight: $scope.y - $scope.offsetY1, | |
6767 | + add: function (layer) { | |
6768 | + $rootScope.TextPropertyArray.push({ Text1: '', Align: '', FontColor: '', FontSize: '', FontStyle: '', FontFamily: '' }); | |
6769 | + $rootScope.TextPropertyArray.push({ Text1: layer.text, Align: layer.align, FontColor: layer.fillStyle, FontSize: layer.fontSize, FontStyle: layer.fontStyle, FontFamily: layer.fontFamily, TextDecoration: $rootScope.underlineText }); | |
6562 | 6770 | } |
6563 | - }) | |
6564 | - // Draw rectangle | |
6565 | - .drawRect({ | |
6566 | - name: 'TextArea1_' + $rootScope.resetText, | |
6567 | - layer: true, | |
6568 | - draggable: true, | |
6569 | - groups: ['TextArea_' + $rootScope.resetText], | |
6570 | - dragGroups: ['TextArea_' + $rootScope.resetText], | |
6571 | - opacity: $rootScope.shapestyleOpacity, | |
6572 | - strokeStyle: $rootScope.shapestyleborderColor, | |
6573 | - strokeWidth: $rootScope.shapestyleborderWidth, | |
6574 | - x: $scope.offsetX1, y: $scope.offsetY1, | |
6575 | - width: $scope.x - $scope.offsetX1, | |
6576 | - height: $scope.y - $scope.offsetY1, | |
6577 | - click: function (layer) { | |
6578 | - $rootScope.shapeTypeText = "textAreaRect"; | |
6579 | - | |
6580 | - var layerNameSplit = layer.name; | |
6581 | - var splitedName = layerNameSplit.split("_"); | |
6582 | - var textValName = "TextArea_"; | |
6583 | - var concatinateResult = textValName.concat(splitedName[1]); | |
6584 | - $rootScope.canvasLayerNameCollection = []; | |
6585 | - $rootScope.canvasLayerNameCollection.push({ textareaRectangle: layer.name, textareaString: concatinateResult }); | |
6586 | - $('#canvas').setLayer(layer.name, { | |
6587 | - handle: { | |
6588 | - type: 'rectangle', | |
6589 | - fillStyle: '#fff', | |
6590 | - strokeStyle: '#c33', | |
6591 | - strokeWidth: 2, | |
6592 | - width: 5, height: 5, | |
6593 | - cornerRadius: 3 | |
6594 | - } | |
6595 | - }).drawLayers(); | |
6596 | - }, | |
6597 | - dblclick: function (layer) { | |
6598 | - $rootScope.IsTextAlreadySave = true; | |
6599 | - | |
6600 | - var _rectLayerOnSave = layer.name; | |
6601 | - var _rectLayerOnSaveSplit = _rectLayerOnSave.split("_"); | |
6602 | - var TextAreaRectName = "TextArea_"; | |
6603 | - var TextAreaRectNameConcatenated = TextAreaRectName.concat(_rectLayerOnSaveSplit[1]); | |
6604 | - $rootScope.modifySavedText.push({ TextName: layer.name, RectText: TextAreaRectNameConcatenated }); | |
6605 | - $rootScope.rectDimension.push({ width: layer.width, height: layer.height, x: layer.x, y: layer.y }); | |
6606 | - var _rectLayerOnSaveSplitInt; | |
6607 | - if (_rectLayerOnSaveSplit[1] >= 3) | |
6608 | - _rectLayerOnSaveSplitInt = parseInt(_rectLayerOnSaveSplit[1] - 2); | |
6609 | - else | |
6610 | - _rectLayerOnSaveSplitInt = parseInt(_rectLayerOnSaveSplit[1]); | |
6611 | - var b = $rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].Text1; | |
6612 | - $("#text_area").val(b); | |
6613 | - $("#text_area").css("font-size", $rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].FontSize); | |
6614 | - $("#text_area").css("font-weight", $rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].FontStyle); | |
6615 | - $("#text_area").css("font-style", $rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].FontStyle); | |
6616 | - $("#text_area").css("text-align", $rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].Align); | |
6617 | - $("#text_area").css("color", $rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].FontColor); | |
6618 | - $("#text_area").css("font-family", $rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].FontFamily); | |
6619 | - $("#text_area").css("text-decoration", $rootScope.underlineText); | |
6620 | - _rectLayerOnSaveSplitInt = ''; b = ''; | |
6621 | - $("#annotationTextModal").modal("toggle"); | |
6622 | - }, | |
6623 | - mouseout: function (layer) { | |
6624 | - $rootScope.canvasLayerNameCollection = []; | |
6625 | - $('#canvas').setLayer(layer.name, { | |
6626 | - handle: { | |
6627 | - type: 'rectangle', | |
6628 | - fillStyle: 'pink', | |
6629 | - strokeStyle: 'yellow', | |
6630 | - strokeWidth: 0, | |
6631 | - width: 0, height: 0, | |
6632 | - cornerRadius: 0 | |
6633 | - } | |
6634 | - }).drawLayers(); | |
6635 | - }, | |
6636 | - mouseover: function (layer) { | |
6637 | - $('#canvas').setLayer(layer.name, { | |
6638 | - handle: { | |
6639 | - type: 'rectangle', | |
6640 | - fillStyle: '#fff', | |
6641 | - strokeStyle: '#c33', | |
6642 | - strokeWidth: 2, | |
6643 | - width: 5, height: 5, | |
6644 | - cornerRadius: 3 | |
6645 | - } | |
6646 | - }).drawLayers(); | |
6647 | - | |
6648 | - } | |
6649 | - }); | |
6650 | - $("#text_area").val(''); | |
6651 | - $("#text_area").css({ " font-family": "'Verdana, sans-serif'", "font-size": "14px", "font-weight": "normal", "font-style": "normal", "color": "#000", "text-align": "left", "text-decoration": "none" }); | |
6652 | - | |
6653 | - } | |
6654 | - | |
6655 | -// this part will work second time when save button will be clicked | |
6656 | - else { | |
6657 | - // getting textarea style properties | |
6658 | - var _modifiedText = $("#text_area").val(); | |
6659 | - var _modifiedFontSize = $("#text_area").css("font-size"); | |
6660 | - var _modifiedFontWeight = $("#text_area").css("font-weight"); | |
6661 | - var _modifiedFontStyle = $("#text_area").css("font-style"); | |
6662 | - var _modifiedTextAlign = $("#text_area").css("text-align"); | |
6663 | - var _modifiedFontColor = $("#text_area").css("color"); | |
6664 | - var _modifiedFontFamily = $("#text_area").css("font-family"); | |
6665 | - var _modifiedFontDecoration = $("#text_area").css("text-decoration"); | |
6666 | - | |
6667 | - // deleting previous textarea | |
6668 | - $("#canvas").removeLayer($rootScope.modifySavedText[0].RectText).drawLayers(); | |
6669 | - $("#canvas").removeLayer($rootScope.modifySavedText[0].TextName).drawLayers(); | |
6670 | - $rootScope.resetTextRectSave = $rootScope.ObjectIndexSave++; | |
6671 | - $rootScope.resetTextSave = $rootScope.ObjectIndexSave++; | |
6672 | - | |
6673 | - // generating new text area | |
6674 | - $('#canvas').drawText({ | |
6675 | - layer: true, | |
6676 | - draggable: true, | |
6677 | - name: 'TextAreaAfterEdit_' + $rootScope.resetTextSave, | |
6678 | - groups: ['TextAreaAfterEdit_' + $rootScope.resetTextSave], | |
6679 | - dragGroups: ['TextAreaAfterEdit_' + $rootScope.resetTextSave], | |
6680 | - fillStyle: _modifiedFontColor, | |
6681 | - fontStyle: _modifiedFontStyle, | |
6682 | - fontSize: _modifiedFontSize, | |
6683 | - fontFamily: _modifiedFontFamily, | |
6684 | - align: _modifiedTextAlign, | |
6685 | - strokeWidth: 0, | |
6686 | - text: _modifiedText, | |
6687 | - x: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].x, y: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].y, | |
6688 | - maxWidth: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].width, | |
6689 | - maxHeight: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].height | |
6690 | - | |
6691 | - }) | |
6692 | - // Draw rect as wide as the text | |
6693 | - .drawRect({ | |
6694 | - name: 'TextAreaAfterEditRect_' + $rootScope.resetTextSave, | |
6695 | - layer: true, | |
6696 | - draggable: true, | |
6697 | - groups: ['TextAreaAfterEdit_' + $rootScope.resetTextSave], | |
6698 | - dragGroups: ['TextAreaAfterEdit_' + $rootScope.resetTextSave], | |
6699 | - opacity: $rootScope.shapestyleOpacity, | |
6700 | - strokeStyle: $rootScope.shapestyleborderColor, | |
6701 | - strokeWidth: $rootScope.shapestyleborderWidth, | |
6702 | - x: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].x, y: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].y, | |
6703 | - width: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].width, | |
6704 | - height: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].height, | |
6705 | - click: function (layer) { | |
6706 | - $rootScope.shapeTypeText = "textAreaRect"; | |
6707 | - var layerNameSplit = layer.name; | |
6708 | - var splitedName = layerNameSplit.split("_"); | |
6709 | - var textValName = "TextAreaAfterEdit_"; | |
6771 | + }) | |
6772 | + // Draw rectangle | |
6773 | + .drawRect({ | |
6774 | + name: 'TextArea1_' + $rootScope.resetText, | |
6775 | + layer: true, | |
6776 | + draggable: true, | |
6777 | + groups: ['TextArea_' + $rootScope.resetText], | |
6778 | + dragGroups: ['TextArea_' + $rootScope.resetText], | |
6779 | + opacity: $rootScope.shapestyleOpacity, | |
6780 | + strokeStyle: $rootScope.shapestyleborderColor, | |
6781 | + strokeWidth: $rootScope.shapestyleborderWidth, | |
6782 | + x: $scope.offsetX1, y: $scope.offsetY1, | |
6783 | + width: $scope.x - $scope.offsetX1, | |
6784 | + height: $scope.y - $scope.offsetY1, | |
6785 | + click: function (layer) { | |
6786 | + $rootScope.shapeTypeText = "textAreaRect"; | |
6787 | + | |
6788 | + var layerNameSplit = layer.name; | |
6789 | + var splitedName = layerNameSplit.split("_"); | |
6790 | + var textValName = "TextArea_"; | |
6710 | 6791 | var concatinateResult = textValName.concat(splitedName[1]); |
6711 | 6792 | $rootScope.canvasLayerNameCollection = []; |
6712 | - $rootScope.canvasLayerNameCollection.push({ textareaRectangle: layer.name, textareaString: concatinateResult }); | |
6713 | - | |
6714 | - $('#canvas').setLayer(layer.name, { | |
6715 | - handle: { | |
6716 | - type: 'rectangle', | |
6717 | - fillStyle: '#fff', | |
6718 | - strokeStyle: '#c33', | |
6719 | - strokeWidth: 2, | |
6720 | - width: 5, height: 5, | |
6721 | - cornerRadius: 3 | |
6722 | - } | |
6723 | - }).drawLayers(); | |
6724 | - | |
6725 | - }, | |
6726 | - dblclick: function (layer) { | |
6727 | - | |
6728 | - $rootScope.IsTextAlreadySave = true; | |
6729 | - var _rectLayerOnSave = layer.name; | |
6730 | - var _rectLayerOnSaveSplit = _rectLayerOnSave.split("_"); | |
6731 | - var RectNameAfterEdit = "TextAreaAfterEdit_"; | |
6732 | - var RectNameAfterEditResult = RectNameAfterEdit.concat(_rectLayerOnSaveSplit[1]); | |
6733 | - $rootScope.modifySavedText.push({ TextName: layer.name, RectText: RectNameAfterEditResult }); | |
6734 | - $rootScope.rectDimension.push({ width: layer.width, height: layer.height, x: layer.x, y: layer.y }); | |
6735 | - $("#text_area").val(_modifiedText); | |
6736 | - $("#text_area").css("font-size", _modifiedFontSize); | |
6737 | - $("#text_area").css("font-weight", _modifiedFontWeight); | |
6738 | - $("#text_area").css("font-style", _modifiedFontStyle); | |
6739 | - $("#text_area").css("text-align", _modifiedTextAlign); | |
6740 | - $("#text_area").css("color", _modifiedFontColor); | |
6741 | - $("#text_area").css("font-family", _modifiedFontFamily); | |
6742 | - $("#text_area").css("text-decoration", _modifiedFontDecoration); | |
6743 | - $("#annotationTextModal").modal("toggle"); | |
6744 | - }, | |
6745 | - mouseout: function (layer) { | |
6746 | - $rootScope.canvasLayerNameCollection = []; | |
6747 | - $('#canvas').setLayer(layer.name, { | |
6748 | - handle: { | |
6749 | - type: 'rectangle', | |
6750 | - fillStyle: 'pink', | |
6751 | - strokeStyle: 'yellow', | |
6752 | - strokeWidth: 0, | |
6753 | - width: 0, height: 0, | |
6754 | - cornerRadius: 0 | |
6755 | - } | |
6756 | - }).drawLayers(); | |
6757 | - }, | |
6758 | - mouseover: function (layer) { | |
6759 | - $('#canvas').setLayer(layer.name, { | |
6760 | - handle: { | |
6761 | - type: 'rectangle', | |
6762 | - fillStyle: '#fff', | |
6763 | - strokeStyle: '#c33', | |
6764 | - strokeWidth: 2, | |
6765 | - width: 5, height: 5, | |
6766 | - cornerRadius: 3 | |
6767 | - } | |
6768 | - }).drawLayers(); | |
6769 | - | |
6770 | - } | |
6771 | - }); | |
6793 | + $rootScope.canvasLayerNameCollection.push({ textareaRectangle: layer.name, textareaString: concatinateResult }); | |
6794 | + $('#canvas').setLayer(layer.name, { | |
6795 | + handle: { | |
6796 | + type: 'rectangle', | |
6797 | + fillStyle: '#fff', | |
6798 | + strokeStyle: '#c33', | |
6799 | + strokeWidth: 2, | |
6800 | + width: 5, height: 5, | |
6801 | + cornerRadius: 3 | |
6802 | + } | |
6803 | + }).drawLayers(); | |
6804 | + }, | |
6805 | + dblclick: function (layer) { | |
6806 | + $rootScope.IsTextAlreadySave = true; | |
6807 | + | |
6808 | + var _rectLayerOnSave = layer.name; | |
6809 | + var _rectLayerOnSaveSplit = _rectLayerOnSave.split("_"); | |
6810 | + var TextAreaRectName = "TextArea_"; | |
6811 | + var TextAreaRectNameConcatenated = TextAreaRectName.concat(_rectLayerOnSaveSplit[1]); | |
6812 | + $rootScope.modifySavedText.push({ TextName: layer.name, RectText: TextAreaRectNameConcatenated }); | |
6813 | + $rootScope.rectDimension.push({ width: layer.width, height: layer.height, x: layer.x, y: layer.y }); | |
6814 | + var _rectLayerOnSaveSplitInt; | |
6815 | + //if (_rectLayerOnSaveSplit[1] >= 3) | |
6816 | + // _rectLayerOnSaveSplitInt = parseInt(_rectLayerOnSaveSplit[1] - 2); | |
6817 | + //else | |
6818 | + // _rectLayerOnSaveSplitInt = parseInt(_rectLayerOnSaveSplit[1]); | |
6819 | + | |
6820 | + _rectLayerOnSaveSplitInt = parseInt(_rectLayerOnSaveSplit[1]); | |
6821 | + var b = $rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].Text1; | |
6822 | + $("#text_area").val(b); | |
6823 | + var fontStyleProp = $rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].FontStyle; | |
6824 | + var fontWeightProp = fontStyleProp.split(" "); | |
6825 | + | |
6826 | + $("#text_area").css("font-size", $rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].FontSize); | |
6827 | + $("#text_area").css("font-weight", fontWeightProp[0]); | |
6828 | + $("#text_area").css("font-style", fontWeightProp[1]); | |
6829 | + $("#text_area").css("text-align", $rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].Align); | |
6830 | + $("#text_area").css("color", $rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].FontColor); | |
6831 | + $("#text_area").css("font-family", $rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].FontFamily); | |
6832 | + $("#text_area").css("text-decoration", $rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].TextDecoration); | |
6833 | + | |
6834 | + | |
6835 | + | |
6836 | + | |
6837 | + //adding text text decoration active class in text edit pop-up | |
6838 | + | |
6839 | + if ($rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].TextDecoration == "underline") { | |
6840 | + | |
6841 | + $("#text-underline").addClass("ActiveFormattingButtonClass"); | |
6842 | + | |
6843 | + } | |
6844 | + | |
6845 | + else { | |
6846 | + | |
6847 | + $("#text-underline").removeClass("ActiveFormattingButtonClass"); | |
6848 | + | |
6849 | + } | |
6850 | + | |
6851 | + | |
6852 | + | |
6853 | + //adding text font weight active class in text edit pop-up | |
6854 | + | |
6855 | + if (fontWeightProp[0] == 700) { | |
6856 | + | |
6857 | + | |
6858 | + | |
6859 | + $("#text-bold").addClass("ActiveFormattingButtonClass"); | |
6860 | + | |
6861 | + } | |
6862 | + | |
6863 | + else | |
6864 | + | |
6865 | + { | |
6866 | + | |
6867 | + $("#text-bold").removeClass("ActiveFormattingButtonClass"); | |
6868 | + | |
6869 | + } | |
6870 | + | |
6871 | + //adding text font style active class in text edit pop-up | |
6872 | + | |
6873 | + if (fontWeightProp[1] == "italic") { | |
6874 | + | |
6875 | + | |
6876 | + $("#text-italic").addClass("ActiveFormattingButtonClass"); | |
6877 | + } | |
6878 | + else | |
6879 | + | |
6880 | + { | |
6881 | + $("#text-italic").removeClass("ActiveFormattingButtonClass"); | |
6882 | + | |
6883 | + | |
6884 | + | |
6885 | + } | |
6886 | + | |
6887 | + | |
6888 | + | |
6889 | + //adding text alignment active class in text edit pop-up | |
6890 | + | |
6891 | + if ($rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].Align == "left") { | |
6892 | + | |
6893 | + $("#text-right").removeClass("ActiveFormattingButtonClass"); | |
6894 | + | |
6895 | + $("#text-center").removeClass("ActiveFormattingButtonClass") | |
6896 | + | |
6897 | + $("#text-left").addClass("ActiveFormattingButtonClass"); | |
6898 | + | |
6899 | + } | |
6900 | + | |
6901 | + else if ($rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].Align == "right") { | |
6902 | + | |
6903 | + | |
6904 | + | |
6905 | + $("#text-center").removeClass("ActiveFormattingButtonClass") | |
6906 | + | |
6907 | + $("#text-left").removeClass("ActiveFormattingButtonClass"); | |
6908 | + | |
6909 | + $("#text-right").addClass("ActiveFormattingButtonClass"); | |
6910 | + | |
6911 | + | |
6912 | + | |
6913 | + } | |
6914 | + | |
6915 | + else if ($rootScope.TextPropertyArray[_rectLayerOnSaveSplitInt].Align == "center") { | |
6916 | + | |
6917 | + $("#text-left").removeClass("ActiveFormattingButtonClass"); | |
6918 | + | |
6919 | + $("#text-right").removeClass("ActiveFormattingButtonClass"); | |
6920 | + | |
6921 | + $("#text-center").addClass("ActiveFormattingButtonClass"); | |
6922 | + | |
6923 | + | |
6924 | + | |
6925 | + } | |
6926 | + | |
6927 | + | |
6928 | + _rectLayerOnSaveSplitInt = ''; b = ''; | |
6929 | + $("#annotationTextModal").modal("toggle"); | |
6930 | + }, | |
6931 | + mouseout: function (layer) { | |
6932 | + $rootScope.canvasLayerNameCollection = []; | |
6933 | + $('#canvas').setLayer(layer.name, { | |
6934 | + handle: { | |
6935 | + type: 'rectangle', | |
6936 | + fillStyle: 'pink', | |
6937 | + strokeStyle: 'yellow', | |
6938 | + strokeWidth: 0, | |
6939 | + width: 0, height: 0, | |
6940 | + cornerRadius: 0 | |
6941 | + } | |
6942 | + }).drawLayers(); | |
6943 | + }, | |
6944 | + mouseover: function (layer) { | |
6945 | + $('#canvas').setLayer(layer.name, { | |
6946 | + handle: { | |
6947 | + type: 'rectangle', | |
6948 | + fillStyle: '#fff', | |
6949 | + strokeStyle: '#c33', | |
6950 | + strokeWidth: 2, | |
6951 | + width: 5, height: 5, | |
6952 | + cornerRadius: 3 | |
6953 | + } | |
6954 | + }).drawLayers(); | |
6955 | + | |
6956 | + } | |
6957 | + }); | |
6958 | + $("#text_area").val(''); | |
6959 | + $("#text_area").css({ " font-family": "'Verdana, sans-serif'", "font-size": "14px", "font-weight": "normal", "font-style": "normal", "color": "#000", "text-align": "left", "text-decoration": "none" }); | |
6960 | + | |
6961 | + | |
6962 | + $("#text-italic").removeClass("ActiveFormattingButtonClass"); | |
6963 | + | |
6964 | + $("#text-bold").removeClass("ActiveFormattingButtonClass"); | |
6965 | + | |
6966 | + $("#text-underline").removeClass("ActiveFormattingButtonClass"); | |
6967 | + | |
6968 | + $("#text-left").removeClass("ActiveFormattingButtonClass"); | |
6969 | + | |
6970 | + $("#text-right").removeClass("ActiveFormattingButtonClass"); | |
6971 | + | |
6972 | + $("#text-center").removeClass("ActiveFormattingButtonClass"); | |
6973 | + | |
6974 | + | |
6975 | + } | |
6976 | + | |
6977 | + // this part will work second time when save button will be clicked | |
6978 | + else { | |
6979 | + // getting textarea style properties | |
6980 | + var _modifiedText = $("#text_area").val(); | |
6981 | + var _modifiedFontSize = $("#text_area").css("font-size"); | |
6982 | + var _modifiedFontWeight = $("#text_area").css("font-weight"); | |
6983 | + var _modifiedFontStyle = $("#text_area").css("font-style"); | |
6984 | + var _modifiedTextAlign = $("#text_area").css("text-align"); | |
6985 | + var _modifiedFontColor = $("#text_area").css("color"); | |
6986 | + var _modifiedFontFamily = $("#text_area").css("font-family"); | |
6987 | + var _modifiedFontDecoration = $("#text_area").css("text-decoration"); | |
6988 | + | |
6989 | + // deleting previous textarea | |
6990 | + $("#canvas").removeLayer($rootScope.modifySavedText[0].RectText).drawLayers(); | |
6991 | + $("#canvas").removeLayer($rootScope.modifySavedText[0].TextName).drawLayers(); | |
6992 | + $rootScope.resetTextRectSave = $rootScope.ObjectIndexSave++; | |
6993 | + $rootScope.resetTextSave = $rootScope.ObjectIndexSave++; | |
6994 | + | |
6995 | + // generating new text area | |
6996 | + $('#canvas').drawText({ | |
6997 | + layer: true, | |
6998 | + draggable: true, | |
6999 | + name: 'TextAreaAfterEdit_' + $rootScope.resetTextSave, | |
7000 | + groups: ['TextAreaAfterEdit_' + $rootScope.resetTextSave], | |
7001 | + dragGroups: ['TextAreaAfterEdit_' + $rootScope.resetTextSave], | |
7002 | + fillStyle: _modifiedFontColor, | |
7003 | + fontStyle: _modifiedFontWeight + " " + _modifiedFontStyle, | |
7004 | + fontSize: _modifiedFontSize, | |
7005 | + fontFamily: _modifiedFontFamily, | |
7006 | + align: _modifiedTextAlign, | |
7007 | + strokeWidth: 0, | |
7008 | + text: _modifiedText, | |
7009 | + x: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].x, y: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].y, | |
7010 | + maxWidth: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].width, | |
7011 | + maxHeight: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].height | |
7012 | + | |
7013 | + }) | |
7014 | + // Draw rect as wide as the text | |
7015 | + .drawRect({ | |
7016 | + name: 'TextAreaAfterEditRect_' + $rootScope.resetTextSave, | |
7017 | + layer: true, | |
7018 | + draggable: true, | |
7019 | + groups: ['TextAreaAfterEdit_' + $rootScope.resetTextSave], | |
7020 | + dragGroups: ['TextAreaAfterEdit_' + $rootScope.resetTextSave], | |
7021 | + opacity: $rootScope.shapestyleOpacity, | |
7022 | + strokeStyle: $rootScope.shapestyleborderColor, | |
7023 | + strokeWidth: $rootScope.shapestyleborderWidth, | |
7024 | + x: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].x, y: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].y, | |
7025 | + width: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].width, | |
7026 | + height: $rootScope.rectDimension[$rootScope.rectDimension.length - 1].height, | |
7027 | + click: function (layer) { | |
7028 | + $rootScope.shapeTypeText = "textAreaRect"; | |
7029 | + var layerNameSplit = layer.name; | |
7030 | + var splitedName = layerNameSplit.split("_"); | |
7031 | + var textValName = "TextAreaAfterEdit_"; | |
7032 | + var concatinateResult = textValName.concat(splitedName[1]); | |
7033 | + $rootScope.canvasLayerNameCollection = []; | |
7034 | + $rootScope.canvasLayerNameCollection.push({ textareaRectangle: layer.name, textareaString: concatinateResult }); | |
7035 | + | |
7036 | + $('#canvas').setLayer(layer.name, { | |
7037 | + handle: { | |
7038 | + type: 'rectangle', | |
7039 | + fillStyle: '#fff', | |
7040 | + strokeStyle: '#c33', | |
7041 | + strokeWidth: 2, | |
7042 | + width: 5, height: 5, | |
7043 | + cornerRadius: 3 | |
7044 | + } | |
7045 | + }).drawLayers(); | |
7046 | + | |
7047 | + }, | |
7048 | + dblclick: function (layer) { | |
7049 | + | |
7050 | + $rootScope.IsTextAlreadySave = true; | |
7051 | + var _rectLayerOnSave = layer.name; | |
7052 | + var _rectLayerOnSaveSplit = _rectLayerOnSave.split("_"); | |
7053 | + var RectNameAfterEdit = "TextAreaAfterEdit_"; | |
7054 | + var RectNameAfterEditResult = RectNameAfterEdit.concat(_rectLayerOnSaveSplit[1]); | |
7055 | + $rootScope.modifySavedText.push({ TextName: layer.name, RectText: RectNameAfterEditResult }); | |
7056 | + $rootScope.rectDimension.push({ width: layer.width, height: layer.height, x: layer.x, y: layer.y }); | |
7057 | + $("#text_area").val(_modifiedText); | |
7058 | + $("#text_area").css("font-size", _modifiedFontSize); | |
7059 | + $("#text_area").css("font-weight", _modifiedFontWeight); | |
7060 | + $("#text_area").css("font-style", _modifiedFontStyle); | |
7061 | + $("#text_area").css("text-align", _modifiedTextAlign); | |
7062 | + $("#text_area").css("color", _modifiedFontColor); | |
7063 | + $("#text_area").css("font-family", _modifiedFontFamily); | |
7064 | + $("#text_area").css("text-decoration", _modifiedFontDecoration); | |
7065 | + | |
7066 | + | |
7067 | + | |
7068 | + //adding text text decoration active class in text edit pop-up | |
7069 | + if (_modifiedFontDecoration == "underline") { | |
7070 | + $("#text-underline").addClass("ActiveFormattingButtonClass"); | |
7071 | + } | |
7072 | + else { | |
7073 | + $("#text-underline").removeClass("ActiveFormattingButtonClass"); | |
7074 | + } | |
7075 | + | |
7076 | + //adding text font weight active class in text edit pop-up | |
7077 | + if (_modifiedFontWeight == 700) { | |
7078 | + | |
7079 | + $("#text-bold").addClass("ActiveFormattingButtonClass"); | |
7080 | + } | |
7081 | + else { | |
7082 | + | |
7083 | + $("#text-bold").removeClass("ActiveFormattingButtonClass"); | |
7084 | + | |
7085 | + } | |
7086 | + | |
7087 | + //adding text font style active class in text edit pop-up | |
7088 | + if (_modifiedFontStyle == "italic") { | |
7089 | + | |
7090 | + $("#text-italic").addClass("ActiveFormattingButtonClass"); | |
7091 | + } | |
7092 | + else { | |
7093 | + $("#text-italic").removeClass("ActiveFormattingButtonClass"); | |
7094 | + | |
7095 | + } | |
7096 | + | |
7097 | + //adding text alignment active class in text edit pop-up | |
7098 | + if (_modifiedTextAlign == "left") { | |
7099 | + $("#text-right").removeClass("ActiveFormattingButtonClass"); | |
7100 | + $("#text-center").removeClass("ActiveFormattingButtonClass") | |
7101 | + $("#text-left").addClass("ActiveFormattingButtonClass"); | |
7102 | + } | |
7103 | + else if (_modifiedTextAlign == "right") { | |
7104 | + | |
7105 | + $("#text-center").removeClass("ActiveFormattingButtonClass") | |
7106 | + $("#text-left").removeClass("ActiveFormattingButtonClass"); | |
7107 | + $("#text-right").addClass("ActiveFormattingButtonClass"); | |
7108 | + | |
7109 | + } | |
7110 | + else if (_modifiedTextAlign == "center") { | |
7111 | + $("#text-left").removeClass("ActiveFormattingButtonClass"); | |
7112 | + $("#text-right").removeClass("ActiveFormattingButtonClass"); | |
7113 | + $("#text-center").addClass("ActiveFormattingButtonClass"); | |
7114 | + | |
7115 | + } | |
7116 | + | |
7117 | + | |
7118 | + | |
7119 | + | |
7120 | + | |
7121 | + $("#annotationTextModal").modal("toggle"); | |
7122 | + }, | |
7123 | + mouseout: function (layer) { | |
7124 | + $rootScope.canvasLayerNameCollection = []; | |
7125 | + $('#canvas').setLayer(layer.name, { | |
7126 | + handle: { | |
7127 | + type: 'rectangle', | |
7128 | + fillStyle: 'pink', | |
7129 | + strokeStyle: 'yellow', | |
7130 | + strokeWidth: 0, | |
7131 | + width: 0, height: 0, | |
7132 | + cornerRadius: 0 | |
7133 | + } | |
7134 | + }).drawLayers(); | |
7135 | + }, | |
7136 | + mouseover: function (layer) { | |
7137 | + $('#canvas').setLayer(layer.name, { | |
7138 | + handle: { | |
7139 | + type: 'rectangle', | |
7140 | + fillStyle: '#fff', | |
7141 | + strokeStyle: '#c33', | |
7142 | + strokeWidth: 2, | |
7143 | + width: 5, height: 5, | |
7144 | + cornerRadius: 3 | |
7145 | + } | |
7146 | + }).drawLayers(); | |
7147 | + | |
7148 | + } | |
7149 | + }); | |
6772 | 7150 | $rootScope.modifySavedText = []; |
6773 | 7151 | |
6774 | - } | |
7152 | + } | |
6775 | 7153 | } |
6776 | - | |
7154 | + | |
6777 | 7155 | // deleting text area on close button |
6778 | 7156 | $rootScope.closeModal = function () { |
6779 | 7157 | |
6780 | - $("#canvas").removeLayer('TextArea_' + $rootScope.resetText).drawLayers(); | |
6781 | - $("#canvas").removeLayer("TextRect_" + $rootScope.resetTextRect).drawLayers(); | |
6782 | - | |
6783 | - } | |
7158 | + $("#canvas").removeLayer('TextArea_' + $rootScope.resetText).drawLayers(); | |
7159 | + $("#canvas").removeLayer("TextRect_" + $rootScope.resetTextRect).drawLayers(); | |
7160 | + | |
7161 | + } | |
6784 | 7162 | |
6785 | 7163 | |
6786 | 7164 | function OnPaintCanvasMouseMove(event) { |
... | ... | @@ -6789,7 +7167,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6789 | 7167 | } |
6790 | 7168 | |
6791 | 7169 | $rootScope.FreeStylePaint = function (e) { |
6792 | - | |
7170 | + | |
6793 | 7171 | |
6794 | 7172 | } |
6795 | 7173 | $scope.OnPaintBrushCanvasMouseDown = function (event) { |
... | ... | @@ -6797,22 +7175,22 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6797 | 7175 | |
6798 | 7176 | case "FreeStylePaint": |
6799 | 7177 | |
6800 | - | |
6801 | 7178 | |
6802 | - // $('#canvasPaint').sketch(); | |
6803 | - // $('#canvasPaint').sketch({ defaultSize: 1 }); | |
6804 | - // if ($("#amount-2").val() == '') { | |
6805 | - // //$('#canvasPaint').sketch({ defaultSize: $scope.shapesize }); | |
6806 | - // $('#canvasPaint').sketch(); | |
6807 | - // } | |
6808 | - // else { | |
6809 | 7179 | |
6810 | - // // var a = $("#amount-2").val(); | |
6811 | - //// $scope.shapesize = parseInt(a); | |
6812 | - // // $('#canvasPaint').sketch({ defaultSize: $rootScope.shapeSize }); | |
6813 | - // // $('#canvasPaint').sketch({ defaultSize: $scope.shapesize }); | |
7180 | + // $('#canvasPaint').sketch(); | |
7181 | + // $('#canvasPaint').sketch({ defaultSize: 1 }); | |
7182 | + // if ($("#amount-2").val() == '') { | |
7183 | + // //$('#canvasPaint').sketch({ defaultSize: $scope.shapesize }); | |
7184 | + // $('#canvasPaint').sketch(); | |
7185 | + // } | |
7186 | + // else { | |
6814 | 7187 | |
6815 | - // } | |
7188 | + // // var a = $("#amount-2").val(); | |
7189 | + //// $scope.shapesize = parseInt(a); | |
7190 | + // // $('#canvasPaint').sketch({ defaultSize: $rootScope.shapeSize }); | |
7191 | + // // $('#canvasPaint').sketch({ defaultSize: $scope.shapesize }); | |
7192 | + | |
7193 | + // } | |
6816 | 7194 | |
6817 | 7195 | |
6818 | 7196 | break; |
... | ... | @@ -6830,7 +7208,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6830 | 7208 | |
6831 | 7209 | // case "FreeStylePaint": |
6832 | 7210 | |
6833 | - | |
7211 | + | |
6834 | 7212 | // if ($("#amount-2").val() == '') |
6835 | 7213 | // { |
6836 | 7214 | // $('#canvasPaint').sketch({ defaultSize: $scope.shapesize }); |
... | ... | @@ -6856,9 +7234,9 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6856 | 7234 | |
6857 | 7235 | $(document).keydown(function (event) { |
6858 | 7236 | |
6859 | - | |
7237 | + // predefined function for detecting keyboard key | |
6860 | 7238 | if (event.which == 46) { |
6861 | - | |
7239 | + | |
6862 | 7240 | if ($rootScope.shapeTypePin == "Pin") { |
6863 | 7241 | |
6864 | 7242 | |
... | ... | @@ -6926,7 +7304,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6926 | 7304 | |
6927 | 7305 | |
6928 | 7306 | //NIKITA |
6929 | - $scope.isHighlightBodyByBodySystem = true; | |
7307 | + $rootScope.isHighlightBodyByBodySystem = true; | |
6930 | 7308 | $scope.systemMatchedTermList = new jinqJs() |
6931 | 7309 | .from($rootScope.BodySystemData.BodySystem.BodySystemTerm) |
6932 | 7310 | .where('_SystemNumber == ' + event.currentTarget.id) |
... | ... | @@ -6938,14 +7316,38 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
6938 | 7316 | console.log('highLightBody from HighlightBodyByBodySystem') |
6939 | 7317 | $scope.highLightBody(); |
6940 | 7318 | } |
6941 | - //now highlight the selected body system in whole body | |
7319 | + else { | |
7320 | + //This else is when user seraced anything then change the view and clicked on highlight options | |
7321 | + //in this case body is already highlihted(gray) so no need to | |
7322 | + if ($scope.grayedBR != null || $scope.grayedBR != undefined) { | |
7323 | + if ((($rootScope.viewOrientationId == '1') || ($rootScope.viewOrientationId == '4')) && ($scope.grayedBR.length == 9)) { | |
7324 | + $scope.isAlreadyHighlighted = true; | |
7325 | + } | |
7326 | + else if ((($rootScope.viewOrientationId == '2') || ($rootScope.viewOrientationId == '3')) && ($scope.grayedBR.length == 5)) { | |
7327 | + $scope.isAlreadyHighlighted = true; | |
7328 | + } | |
7329 | + else if ((($rootScope.viewOrientationId == '5')) && ($scope.grayedBR.length == 4)) { | |
7330 | + $scope.isAlreadyHighlighted = true; | |
7331 | + } | |
7332 | + else if ((($rootScope.viewOrientationId == '6')) && ($scope.grayedBR.length == 1)) { | |
7333 | + $scope.isAlreadyHighlighted = true; | |
7334 | + } | |
7335 | + if (($scope.isAlreadyHighlighted == true && $rootScope.isHighlightBodyByBodySystem == true) && ($scope.systemMatchedTermList != null || $scope.systemMatchedTermList != undefined && $scope.systemMatchedTermList.length > 0)) { | |
7336 | + | |
7337 | + $scope.isLoading = true; | |
7338 | + | |
7339 | + $('#spinner').css('visibility', 'visible'); | |
7340 | + $timeout(function () { $scope.HighlightBodyByTermList($scope.systemMatchedTermList) }, 100); | |
7341 | + } | |
7342 | + } | |
7343 | + } | |
6942 | 7344 | |
6943 | 7345 | |
6944 | 7346 | //$rootScope.isLoading = true; |
6945 | 7347 | $('#spinner').css('visibility', 'visible'); |
6946 | 7348 | |
6947 | 7349 | //NIKITA |
6948 | - // $scope.isHighlightBodyByBodySystem = true; | |
7350 | + // $rootScope.isHighlightBodyByBodySystem = true; | |
6949 | 7351 | |
6950 | 7352 | //if (systemMatchedTermList != null || systemMatchedTermList != undefined) { |
6951 | 7353 | |
... | ... | @@ -7165,12 +7567,22 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
7165 | 7567 | $scope.ShowSearch = function () { |
7166 | 7568 | |
7167 | 7569 | console.log('ShowSearch is called'); |
7570 | + //this check is for log only because we are writing length so need to check if its not null or undefined | |
7571 | + if ($scope.VocabTermTxt != null || $scope.VocabTermTxt != undefined) | |
7572 | + console.log('$scope.VocabTermTxt.length= ' + $scope.VocabTermTxt.length) | |
7168 | 7573 | |
7169 | 7574 | $timeout(function () { |
7170 | - $scope.IsSearchVisible = true; | |
7171 | - | |
7172 | - document.getElementById("termlistfilter").style.display = "block"; | |
7173 | - }, 1000); | |
7575 | + if (($scope.VocabTermTxt!=null|| $scope.VocabTermTxt!=undefined) && ($scope.VocabTermTxt.length > 0)) { | |
7576 | + $scope.IsSearchVisible = true; | |
7577 | + document.getElementById("termlistfilter").style.display = "block"; | |
7578 | + } | |
7579 | + else { | |
7580 | + $scope.loadSearchDataForBodyView(); | |
7581 | + if ($scope.VocabTermTxt.length > 0) { | |
7582 | + $scope.ShowSearch(); | |
7583 | + } | |
7584 | + } | |
7585 | + }, 500); | |
7174 | 7586 | |
7175 | 7587 | //$scope.IsSearchVisible = true; |
7176 | 7588 | |
... | ... | @@ -7242,7 +7654,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
7242 | 7654 | $("#canvasDiv").scrollTop(scrolly); |
7243 | 7655 | $("#canvasDiv").scrollLeft(scrollx); |
7244 | 7656 | |
7245 | - if (($scope.isHighlightBodyByBodySystem == true) && ($scope.systemMatchedTermList != null || $scope.systemMatchedTermList != undefined)) { | |
7657 | + if (($rootScope.isHighlightBodyByBodySystem == true) && ($scope.systemMatchedTermList != null || $scope.systemMatchedTermList != undefined)) { | |
7246 | 7658 | $timeout(function () { $scope.HighlightBodyByTermList(systemMatchedTermList) }, 100); |
7247 | 7659 | } |
7248 | 7660 | |
... | ... | @@ -7278,7 +7690,10 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
7278 | 7690 | } |
7279 | 7691 | } |
7280 | 7692 | $('#spinner').css('visibility', 'visible'); |
7281 | - console.log('listManagerEvent') | |
7693 | + console.log('listManagerEvent'); | |
7694 | + | |
7695 | + | |
7696 | + | |
7282 | 7697 | if ($rootScope.islistManagerEventAlredayDispachted == true) { |
7283 | 7698 | |
7284 | 7699 | |
... | ... | @@ -7368,17 +7783,17 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
7368 | 7783 | for (var j = 0; j < $scope.VocabTermTxt.length; j++) { |
7369 | 7784 | var $el = $('<option ng-click=HighlightBodyOnListManagerSelection($event) id=' + $scope.VocabTermTxt[j]._ActualTermNumber + '>' + $scope.VocabTermTxt[j]._TermText + '</option>').appendTo('#termList') |
7370 | 7785 | $compile($el)($scope); |
7371 | - | |
7786 | + | |
7372 | 7787 | $rootScope.isLoading = false; |
7373 | 7788 | $('#spinner').css('visibility', 'hidden'); |
7374 | 7789 | } |
7375 | 7790 | var termsTotal = '<span class="pull-left marginTop5">' + $scope.VocabTermTxt.length + ' Structures</span>'; |
7376 | 7791 | $("#totalTerms").empty(); |
7377 | 7792 | $('#totalTerms').append(termsTotal); |
7378 | - | |
7793 | + | |
7379 | 7794 | |
7380 | 7795 | } |
7381 | - } | |
7796 | + } | |
7382 | 7797 | |
7383 | 7798 | |
7384 | 7799 | $scope.HighlightBodyOnListManagerSelection = function (event) { |
... | ... | @@ -7402,6 +7817,9 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
7402 | 7817 | $rootScope.isLoading = true; |
7403 | 7818 | |
7404 | 7819 | $('#spinner').css('visibility', 'visible'); |
7820 | + | |
7821 | + $rootScope.isHighlightBodyByBodySystem = false; | |
7822 | + | |
7405 | 7823 | //1. |
7406 | 7824 | $rootScope.actualTermNumber = event.currentTarget.id;//attributes[0].value; |
7407 | 7825 | console.log(' $scope.actualTermNumber insde HighlightBodyOnListManagerSelection= ' + $rootScope.actualTermNumber) |
... | ... | @@ -7418,83 +7836,85 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
7418 | 7836 | |
7419 | 7837 | $scope.TermList = $scope.getTermNumberList($rootScope.actualTermNumber); |
7420 | 7838 | |
7421 | - var internalLayerNumberList = []; | |
7422 | - for (var i = 0; i < $scope.TermList.length; i++) { | |
7423 | - var layerNumber = $scope.TermList[i]._InternalLayerNumber | |
7839 | + if (($scope.TermList != null || $scope.TermList != undefined) && $scope.TermList.length > 0) { | |
7424 | 7840 | |
7425 | - internalLayerNumberList[i] = parseInt(layerNumber); | |
7426 | - } | |
7841 | + var internalLayerNumberList = []; | |
7842 | + for (var i = 0; i < $scope.TermList.length; i++) { | |
7843 | + var layerNumber = $scope.TermList[i]._InternalLayerNumber | |
7427 | 7844 | |
7428 | - internalLayerNumberList.sort(function (a, b) { return a - b }) | |
7429 | - var internalLayerNumber = internalLayerNumberList[0]//.replace('00', ''); | |
7845 | + internalLayerNumberList[i] = parseInt(layerNumber); | |
7846 | + } | |
7430 | 7847 | |
7431 | - //3. get layer number | |
7432 | - if (internalLayerNumber >= DA[0].SKIN_START_INTERNAL_LAYER && internalLayerNumber <= DA[0].SKIN_END_INTERNAL_LAYER) { | |
7848 | + internalLayerNumberList.sort(function (a, b) { return a - b }) | |
7849 | + var internalLayerNumber = internalLayerNumberList[0]//.replace('00', ''); | |
7433 | 7850 | |
7434 | - internalLayerNumber = DA[0].SKIN_DEFAULT_INTERNAL_LAYER; | |
7435 | - } | |
7851 | + //3. get layer number | |
7852 | + if (internalLayerNumber >= DA[0].SKIN_START_INTERNAL_LAYER && internalLayerNumber <= DA[0].SKIN_END_INTERNAL_LAYER) { | |
7436 | 7853 | |
7437 | - var layerNumber; | |
7438 | - var matchedLayerNumber = new jinqJs() | |
7439 | - .from($rootScope.BodyLayerData.Layers.DataLayer) | |
7440 | - .where("_lni == " + internalLayerNumber) | |
7441 | - .select('_LayerNumber'); | |
7854 | + internalLayerNumber = DA[0].SKIN_DEFAULT_INTERNAL_LAYER; | |
7855 | + } | |
7442 | 7856 | |
7443 | - if (matchedLayerNumber == null || matchedLayerNumber.length == 0) { | |
7444 | - layerNumber = 0; | |
7445 | - } | |
7446 | - else { | |
7447 | - layerNumber = matchedLayerNumber[0]._LayerNumber | |
7448 | - } | |
7857 | + var layerNumber; | |
7858 | + var matchedLayerNumber = new jinqJs() | |
7859 | + .from($rootScope.BodyLayerData.Layers.DataLayer) | |
7860 | + .where("_lni == " + internalLayerNumber) | |
7861 | + .select('_LayerNumber'); | |
7449 | 7862 | |
7450 | - if (layerNumber == 0) { | |
7451 | - layerNumber = $rootScope.totalLayers; | |
7452 | - } | |
7453 | - else { | |
7454 | - layerNumber = parseInt(layerNumber) - 1; | |
7455 | - } | |
7863 | + if (matchedLayerNumber == null || matchedLayerNumber.length == 0) { | |
7864 | + layerNumber = 0; | |
7865 | + } | |
7866 | + else { | |
7867 | + layerNumber = matchedLayerNumber[0]._LayerNumber | |
7868 | + } | |
7456 | 7869 | |
7457 | - $scope.layerNumber = layerNumber; | |
7870 | + if (layerNumber == 0) { | |
7871 | + layerNumber = $rootScope.totalLayers; | |
7872 | + } | |
7873 | + else { | |
7874 | + layerNumber = parseInt(layerNumber) - 1; | |
7875 | + } | |
7458 | 7876 | |
7459 | - //4.get scroll position | |
7460 | - if ($rootScope.actualTermNumber != DA[0].SKIN_TERM_ID) { | |
7877 | + $scope.layerNumber = layerNumber; | |
7461 | 7878 | |
7462 | - $scope.termCoordinate = $scope.getTermCoordinate($rootScope.actualTermNumber); | |
7879 | + //4.get scroll position | |
7880 | + if ($rootScope.actualTermNumber != DA[0].SKIN_TERM_ID) { | |
7463 | 7881 | |
7464 | - } | |
7882 | + $scope.termCoordinate = $scope.getTermCoordinate($rootScope.actualTermNumber); | |
7465 | 7883 | |
7466 | - //5. | |
7467 | - $scope.matchdedDataOnLayer = new jinqJs() | |
7468 | - .from($rootScope.TermNumberData.TermData.Term) | |
7469 | - .where('_InternalLayerNumber == ' + internalLayerNumber) | |
7470 | - .select(); | |
7884 | + } | |
7471 | 7885 | |
7472 | - if ($scope.matchdedDataOnLayer != null || $scope.matchdedDataOnLayer != undefined) { | |
7886 | + //5. | |
7887 | + $scope.matchdedDataOnLayer = new jinqJs() | |
7888 | + .from($rootScope.TermNumberData.TermData.Term) | |
7889 | + .where('_InternalLayerNumber == ' + internalLayerNumber) | |
7890 | + .select(); | |
7473 | 7891 | |
7474 | - //6. | |
7475 | - var matchedDataonActualTerm = new jinqJs() | |
7476 | - .from($scope.matchdedDataOnLayer) | |
7477 | - .where('_ActualTermNumber == ' + $scope.actualTermNumber) | |
7478 | - .select('_TermNumber'); | |
7892 | + if ($scope.matchdedDataOnLayer != null || $scope.matchdedDataOnLayer != undefined) { | |
7479 | 7893 | |
7480 | - if (matchedDataonActualTerm != null || matchedDataonActualTerm != undefined) { | |
7894 | + //6. | |
7895 | + var matchedDataonActualTerm = new jinqJs() | |
7896 | + .from($scope.matchdedDataOnLayer) | |
7897 | + .where('_ActualTermNumber == ' + $scope.actualTermNumber) | |
7898 | + .select('_TermNumber'); | |
7481 | 7899 | |
7482 | - var termNo = matchedDataonActualTerm[0]._TermNumber.toString(); | |
7900 | + if (matchedDataonActualTerm != null || matchedDataonActualTerm != undefined) { | |
7483 | 7901 | |
7484 | - //7.get termList | |
7485 | - $scope.fullTermlist = []; | |
7486 | - $scope.AllTerms = []; | |
7902 | + var termNo = matchedDataonActualTerm[0]._TermNumber.toString(); | |
7487 | 7903 | |
7488 | - if (termNo != DA[0].figLeafTermId) { | |
7904 | + //7.get termList | |
7905 | + $scope.fullTermlist = []; | |
7906 | + $scope.AllTerms = []; | |
7489 | 7907 | |
7490 | - $scope.getChildTermList(termNo); | |
7491 | - // $timeout(function () { $scope.getSiblings(termNo) }, 50); | |
7492 | - $scope.getSiblings(termNo) | |
7493 | - } | |
7908 | + if (termNo != DA[0].figLeafTermId) { | |
7909 | + | |
7910 | + $scope.getChildTermList(termNo); | |
7911 | + // $timeout(function () { $scope.getSiblings(termNo) }, 50); | |
7912 | + $scope.getSiblings(termNo) | |
7913 | + } | |
7494 | 7914 | |
7915 | + } | |
7495 | 7916 | } |
7496 | 7917 | } |
7497 | - | |
7498 | 7918 | $('#txtlayerNumber').val((parseInt($scope.layerNumber))); |
7499 | 7919 | $('#layerChangeSlider').slider("option", "value", parseInt($rootScope.totalLayers) - parseInt($scope.layerNumber)); |
7500 | 7920 | |
... | ... | @@ -7512,6 +7932,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
7512 | 7932 | //redraw body of respective layer |
7513 | 7933 | $scope.CalculateImageCordinates($rootScope.viewOrientationId) |
7514 | 7934 | }, 500); |
7935 | + | |
7515 | 7936 | } |
7516 | 7937 | |
7517 | 7938 | $scope.getChildTermList = function (termNo) { |
... | ... | @@ -7581,7 +8002,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
7581 | 8002 | } |
7582 | 8003 | } |
7583 | 8004 | |
7584 | - | |
8005 | + | |
7585 | 8006 | $scope.aligneCanvasWithTerm = function () { |
7586 | 8007 | console.log('aligneCanvasWithTerm') |
7587 | 8008 | var newX = parseInt($scope.scaleValue($scope.termCoordinate.x, $scope.zoomInOut, DA[0].ZOOM_TERM_DATA)); |
... | ... | @@ -7596,7 +8017,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
7596 | 8017 | var canvasRight = canvasX + canvasWidth |
7597 | 8018 | |
7598 | 8019 | if (newX < canvasX || newX > canvasRight || newY < canvasY || newY > canvasBottom) { |
7599 | - | |
8020 | + | |
7600 | 8021 | newX = newX - canvasWidth / 2; |
7601 | 8022 | newY = newY - canvasHeight / 2; |
7602 | 8023 | |
... | ... | @@ -7625,7 +8046,7 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
7625 | 8046 | |
7626 | 8047 | $rootScope.CanvasDivTopPosition = $("#canvasDiv").scrollTop(); |
7627 | 8048 | $rootScope.CanvasDivLeftPosition = $("#canvasDiv").scrollLeft(); |
7628 | - | |
8049 | + | |
7629 | 8050 | } |
7630 | 8051 | |
7631 | 8052 | |
... | ... | @@ -7744,13 +8165,167 @@ function ($scope, $rootScope, $compile, $http, $log, $location, $timeout, DA, Mo |
7744 | 8165 | } |
7745 | 8166 | |
7746 | 8167 | $scope.LayerChangeBasedOnKeyPressed = function (e) { |
7747 | - | |
7748 | - if(e.keyCode==13) | |
7749 | - { | |
7750 | - $scope.LayerChange(); | |
8168 | + | |
8169 | + if (e.keyCode == 13) { | |
8170 | + $scope.LayerChange(); | |
7751 | 8171 | } |
7752 | - | |
8172 | + | |
8173 | + // 'x' button is displaying inside the input box in IE browser. | |
8174 | + if (e.which == 38) { | |
8175 | + | |
8176 | + | |
8177 | + var layerInputVal = $("#txtlayerNumber").val(); | |
8178 | + if (layerInputVal != $rootScope.totalLayers) { | |
8179 | + var layerInputValInc = parseInt(layerInputVal) + 1; | |
8180 | + $scope.layerNumber = parseInt(layerInputValInc); | |
8181 | + $("#txtlayerNumber").val($scope.layerNumber); | |
8182 | + } | |
8183 | + | |
8184 | + | |
8185 | + } | |
8186 | + | |
8187 | + // 'x' button is displaying inside the input box in IE browser. | |
8188 | + if (e.which == 40) { | |
8189 | + var layerInputVal = $("#txtlayerNumber").val(); | |
8190 | + if (layerInputVal > 0) { | |
8191 | + var layerInputValDec = parseInt(layerInputVal) - 1; | |
8192 | + $scope.layerNumber = parseInt(layerInputValDec); | |
8193 | + $("#txtlayerNumber").val($scope.layerNumber); | |
8194 | + } | |
8195 | + } | |
8196 | + | |
8197 | + | |
7753 | 8198 | } |
8199 | + | |
8200 | + | |
8201 | + | |
8202 | + | |
8203 | + | |
7754 | 8204 | }] |
7755 | 8205 | |
7756 | -); | |
7757 | 8206 | \ No newline at end of file |
8207 | +); | |
8208 | + | |
8209 | + | |
8210 | +function OnGenderChange(event) { | |
8211 | + | |
8212 | + console.log('gender chnaged is called outside '); | |
8213 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8214 | + scope.$apply(function () { | |
8215 | + scope.OnGenderChange(event); | |
8216 | + }); | |
8217 | +} | |
8218 | + | |
8219 | +function OnViewChange(event) { | |
8220 | + console.log('OnViewChange chnaged is called outside '); | |
8221 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8222 | + scope.$apply(function () { | |
8223 | + scope.OnViewChange(event); | |
8224 | + }); | |
8225 | +} | |
8226 | + | |
8227 | +function OnBodySystemSelection(event) { | |
8228 | + console.log('OnBodySystem chnaged is called outside '); | |
8229 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8230 | + scope.$apply(function () { | |
8231 | + scope.HighlightBodyByBodySystem(event); | |
8232 | + }); | |
8233 | +} | |
8234 | + | |
8235 | +function enableShowHideStructureBox() { | |
8236 | + console.log('OnBodySystem chnaged is called outside '); | |
8237 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8238 | + scope.$apply(function () { | |
8239 | + scope.enableShowHideStructureBox(); | |
8240 | + }); | |
8241 | +} | |
8242 | + | |
8243 | +function OnSearch() { | |
8244 | + console.log('Show Search is called outside '); | |
8245 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8246 | + scope.$apply(function () { | |
8247 | + scope.ShowSearch(); | |
8248 | + }); | |
8249 | +} | |
8250 | +function selectTerm(event) { | |
8251 | + console.log('selectTerm is called outside '); | |
8252 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8253 | + scope.$apply(function () { | |
8254 | + scope.jumpToTerm(event); | |
8255 | + }); | |
8256 | +} | |
8257 | +function HighlightBodyOnListManager(event) { | |
8258 | + console.log('HighlightBodyOnListManager is called outside '); | |
8259 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8260 | + scope.$apply(function () { | |
8261 | + scope.HighlightBodyOnListManagerSelection(event); | |
8262 | + }); | |
8263 | +} | |
8264 | + | |
8265 | +function refreshTermListOnSystem(event) { | |
8266 | + console.log('refreshTermListOnSystem is called outside '); | |
8267 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8268 | + scope.$apply(function () { | |
8269 | + scope.refreshTermListOnSystemSelection(event); | |
8270 | + }); | |
8271 | +} | |
8272 | + | |
8273 | +function OnEnableExtract() | |
8274 | +{ | |
8275 | + console.log('OnEnableExtract is called outside '); | |
8276 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8277 | + scope.$apply(function () { | |
8278 | + scope.enableExtract('true'); | |
8279 | + }); | |
8280 | +} | |
8281 | + | |
8282 | +function onTboxCreation() | |
8283 | +{ | |
8284 | + console.log('OnEnableExtract is called outside '); | |
8285 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8286 | + scope.$apply(function () { | |
8287 | + scope.createTransparencyBox('true'); | |
8288 | + }); | |
8289 | +} | |
8290 | + | |
8291 | +function onTboxClose() | |
8292 | +{ | |
8293 | + console.log('onTboxClose is called outside '); | |
8294 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8295 | + scope.$apply(function () { | |
8296 | + scope.CloseTransparencyBox(); | |
8297 | + }); | |
8298 | +} | |
8299 | + | |
8300 | +function OnEnableNormalMode() | |
8301 | +{ | |
8302 | + console.log('OnEnableNormalMode is called outside '); | |
8303 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8304 | + scope.$apply(function () { | |
8305 | + scope.enableNormalMode(); | |
8306 | + }); | |
8307 | +} | |
8308 | + | |
8309 | +function OnEnableHighlight() { | |
8310 | + console.log('OnEnableHighlight is called outside '); | |
8311 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8312 | + scope.$apply(function () { | |
8313 | + scope.enableHighlight(); | |
8314 | + }); | |
8315 | +} | |
8316 | + | |
8317 | +function OnIdentityClick() { | |
8318 | + console.log('OnIdentityClick is called outside '); | |
8319 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8320 | + scope.$apply(function () { | |
8321 | + scope.IdentityClick(); | |
8322 | + }); | |
8323 | +} | |
8324 | + | |
8325 | +function OnZoom() | |
8326 | +{ | |
8327 | + console.log('OnZoom is called outside '); | |
8328 | + var scope = angular.element(document.getElementById("daView")).scope(); | |
8329 | + scope.$apply(function () { | |
8330 | + scope.enableZoom(); | |
8331 | + }); | |
8332 | +} | |
7758 | 8333 | \ No newline at end of file | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/controllers/HomeController.js
... | ... | @@ -90,15 +90,15 @@ AIA.controller("HomeController", ["$rootScope", "Modules", "$log", "$location", |
90 | 90 | } |
91 | 91 | } |
92 | 92 | |
93 | - $rootScope.DrawLine = function () { | |
93 | + // $rootScope.DrawLine = function () { | |
94 | 94 | //$rootScope.isIdetifyClicked = false; |
95 | 95 | //$rootScope.isDrawingToolSelected = true; |
96 | 96 | //$rootScope.isLineDrawSelecyed = true; |
97 | - $rootScope.shapeType = "Line"; | |
97 | + // $rootScope.shapeType = "Line"; | |
98 | 98 | // alert($rootScope.shapeType); |
99 | 99 | |
100 | 100 | |
101 | - } | |
101 | + // } | |
102 | 102 | |
103 | 103 | $rootScope.ClearIframe = function () { |
104 | 104 | if ($('#daImagePanel') != null) |
... | ... | @@ -118,6 +118,10 @@ AIA.controller("HomeController", ["$rootScope", "Modules", "$log", "$location", |
118 | 118 | |
119 | 119 | //annotation tool custom events |
120 | 120 | $rootScope.ShowAnnotationWindow = function () { |
121 | + //7904 | |
122 | + $("#annotationToolBarOptions").addClass("active"); | |
123 | + $("#annotationButton").addClass("active"); | |
124 | + | |
121 | 125 | $rootScope.isAnnotationWindowOpen = true; |
122 | 126 | $(".annotationTollbar").css("display", "block"); |
123 | 127 | $rootScope.$broadcast('annotationToolEvent', true); |
... | ... | @@ -126,8 +130,12 @@ AIA.controller("HomeController", ["$rootScope", "Modules", "$log", "$location", |
126 | 130 | } |
127 | 131 | |
128 | 132 | $rootScope.CloseAnnotationTool = function () { |
129 | - console.log('close') | |
133 | + console.log('close'); | |
130 | 134 | $('.btnCursor').removeClass('activebtncolor'); |
135 | + $("#annotationButton").removeClass("active"); | |
136 | + $("#annotationToolBarOptions").removeClass("active"); | |
137 | + | |
138 | + | |
131 | 139 | $(".annotationTollbar").css("display", "none"); |
132 | 140 | $rootScope.isAnnotationWindowClose = true; |
133 | 141 | $("#canvasPaint").css("display", "none"); |
... | ... | @@ -167,21 +175,28 @@ AIA.controller("HomeController", ["$rootScope", "Modules", "$log", "$location", |
167 | 175 | |
168 | 176 | //----Annotation Toolbar: Jcanvas----- |
169 | 177 | |
170 | - $rootScope.DrawLine = function (e) { | |
178 | + $rootScope.DrLine = function (e) { | |
171 | 179 | $rootScope.setListManagerZindex = true; |
180 | + $("#canvasPaint").css("display", "block"); | |
181 | + $("#canvas").css("display", "block"); | |
182 | + | |
172 | 183 | $rootScope.switchCanvas(); |
173 | 184 | $rootScope.shapeType = "Line"; |
174 | 185 | |
175 | 186 | |
176 | 187 | $('.btnCursor').removeClass('activebtncolor'); |
177 | - $(".btn-annotation").removeClass("activebtncolor"); | |
178 | - $(".btn-annotation-line").addClass("activebtncolor"); | |
188 | + $(".btn-annotation").removeClass("activebtncolor"); | |
189 | + $(".btn-annotation-line").addClass("activebtncolor"); | |
179 | 190 | |
180 | 191 | |
181 | 192 | } |
182 | 193 | |
183 | 194 | |
184 | - $rootScope.DrawPin = function (e) { | |
195 | + $rootScope.DrPin = function (e) { | |
196 | + $("#canvasPaint").css("display", "block"); | |
197 | + $("#canvas").css("display", "block"); | |
198 | + | |
199 | + $rootScope.switchCanvas(); | |
185 | 200 | $rootScope.switchCanvas(); |
186 | 201 | $rootScope.setListManagerZindex = true; |
187 | 202 | $rootScope.shapeType = "Pin"; |
... | ... | @@ -348,6 +363,8 @@ AIA.controller("HomeController", ["$rootScope", "Modules", "$log", "$location", |
348 | 363 | |
349 | 364 | // $("#canvas").removeLayer("TextRect_" + $rootScope.resetTextRect).drawLayers(); |
350 | 365 | |
366 | + //Edit Shape Style popup should open at it's default position | |
367 | + $("#modeleditstyle").css({ "left": "0", "right": "0", "margin": "0 auto", "top":"70px"}); | |
351 | 368 | |
352 | 369 | } |
353 | 370 | |
... | ... | @@ -364,10 +381,30 @@ AIA.controller("HomeController", ["$rootScope", "Modules", "$log", "$location", |
364 | 381 | }; |
365 | 382 | } |
366 | 383 | |
384 | + | |
385 | + $rootScope.enableEditShapeTooltip = function () { | |
386 | + | |
387 | + $("#edit-block").addClass("custom-tooltip-annotation"); | |
388 | + $(".custom-tooltip-annotation").css('display', 'block'); | |
389 | + | |
390 | + } | |
391 | + | |
392 | + $rootScope.disableEditShapeTooltip = function () { | |
393 | + | |
394 | + $(".custom-tooltip-annotation").css('display', 'none'); | |
395 | + $("#edit-block").removeClass("custom-tooltip-annotation"); | |
396 | + | |
397 | + | |
398 | + } | |
399 | + | |
400 | + | |
367 | 401 | $rootScope.disableAnnotationToolBar = function () { |
368 | 402 | |
369 | 403 | document.getElementById('modelbackground').style.display = "none"; |
370 | 404 | document.getElementById('modeleditstyle').style.display = "none"; |
405 | + //Edit Shape Style popup should open at it's default position | |
406 | + $("#modeleditstyle").css({"left":"0", "right":"0", "margin":"0 auto", "top":"70px"}); | |
407 | + | |
371 | 408 | |
372 | 409 | } |
373 | 410 | |
... | ... | @@ -646,7 +683,16 @@ AIA.controller("HomeController", ["$rootScope", "Modules", "$log", "$location", |
646 | 683 | //localStorage.setItem("globalModesty", $rootScope.globalSetting.modesty); |
647 | 684 | |
648 | 685 | //4. |
649 | - $rootScope.reloadChildController(); | |
686 | + //$rootScope.reloadChildController(); | |
687 | + | |
688 | + var len = $rootScope.openModules.length; | |
689 | + if (len > 0) { | |
690 | + $rootScope.reloadChildController(); | |
691 | + } | |
692 | + else | |
693 | + { | |
694 | + $('#modal-settings').modal('hide'); | |
695 | + } | |
650 | 696 | |
651 | 697 | }; |
652 | 698 | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/views/3dA/3d-anatomy-details.html
1 | -๏ปฟ | |
2 | - <div class="bodyWrap row" ng-controller="3dAController"> | |
3 | - <div ng-include="aap/widget/MainMenu.html"></div> | |
4 | - <div class="daBodyView" ng-init="open3dImageView()"> | |
5 | - <div class="col-sm-12 pageHeading"> | |
6 | - <!--<button type="button" class="btn btn-default pull-left toggleBar hidden-lg"> <i class="fa fa-bars"></i> </button> | |
7 | - <div class=" pull-left toggleBar toggleHeadingButton" data-toggle="tooltip" data-placement="top" title="Show/Hide Sidebar"> <i class="fa fa-bars"></i> </div>--> | |
8 | - <h4 class="pull-left">{{bodySystemTitle}}</h4> | |
9 | - <div class="pull-right btn-group paddTop4"> <a href="#" class="btn btn-xs btn-default"><i class="fa fa-minus"></i></a> <a href="#" class="btn btn-xs btn-default"><i class="fa fa-clone"></i></a> <a href="#" ng-click="IsVisible()" class="btn btn-xs btn-default"><i class="fa fa-close"></i></a> </div> | |
10 | - <div class="clearfix"></div> | |
11 | - </div> | |
1 | +๏ปฟ<div class="bodyWrap row "> | |
2 | + <div ng-include="'app/widget/MainMenu.html'" /> | |
3 | + <div class="bodyWrap row" ng-controller="3dAController"> | |
4 | + <div ng-include="aap/widget/MainMenu.html"></div> | |
5 | + <div class="daBodyView" ng-init="open3dImageView()"> | |
6 | + <div class="col-sm-12 pageHeading"> | |
7 | + <!--<button type="button" class="btn btn-default pull-left toggleBar hidden-lg"> <i class="fa fa-bars"></i> </button> | |
8 | + <div class=" pull-left toggleBar toggleHeadingButton" data-toggle="tooltip" data-placement="top" title="Show/Hide Sidebar"> <i class="fa fa-bars"></i> </div>--> | |
9 | + <h4 class="pull-left">{{bodySystemTitle}}</h4> | |
10 | + <div class="pull-right btn-group paddTop4"> <a href="#" class="btn btn-xs btn-default"><i class="fa fa-minus"></i></a> <a href="#" class="btn btn-xs btn-default"><i class="fa fa-clone"></i></a> <a href="#" ng-click="IsVisible()" class="btn btn-xs btn-default"><i class="fa fa-close"></i></a> </div> | |
11 | + <div class="clearfix"></div> | |
12 | + </div> | |
12 | 13 | |
13 | - <div class="col-sm-12"> | |
14 | - <div class="container-fluid main-full"> | |
15 | - <div class="row" style="padding-left:250px;"> | |
16 | - <object data="{{SelectedCAthumbImage}}" width="800" height="560" type="image/svg+xml"></object> | |
17 | - <!--<object data="https://preview.biodigital.com/widget/?m=preview/v2_musculoskeletal_head_neck.json&ui-all=true&ui-tree=true&uaid=f7n" width="600" height="500" type="image/svg+xml"></object>--> | |
18 | - </div> | |
19 | - </div> | |
20 | - </div> | |
21 | - </div> | |
22 | -</div> | |
14 | + <div class="col-sm-12"> | |
15 | + <div class="container-fluid main-full" style="margin-top: 93px !important;"> | |
16 | + <div class="row" style="padding-left:203px;"> | |
17 | + <object data="{{SelectedCAthumbImage}}" width="100%" height="800px" type="image/svg+xml"></object> | |
18 | + <!--<object data="https://preview.biodigital.com/widget/?m=preview/v2_musculoskeletal_head_neck.json&ui-all=true&ui-tree=true&uaid=f7n" width="600" height="500" type="image/svg+xml"></object>--> | |
19 | + </div> | |
20 | + </div> | |
21 | + </div> | |
22 | + </div> | |
23 | + </div> | |
23 | 24 | |
25 | +</div> | |
24 | 26 | \ No newline at end of file | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/views/ca/ca-view.html
... | ... | @@ -57,7 +57,7 @@ |
57 | 57 | </tr> |
58 | 58 | </thead> |
59 | 59 | <tbody ng-if="!filterstring" class="clstbodyca"> |
60 | - <tr id="{{item._id}}" ng-click="showItem(item._id)" ng-dblclick="openView($event)" ng-repeat="item in selectedCAlistViewData"> | |
60 | + <tr id="{{item._id}}" ng-click="showItem(item._id)" ng-dblclick="openView($event)" ng-repeat="item in selectedCAListViewData"> | |
61 | 61 | <td style="max-width: 250px;"> |
62 | 62 | {{item._Title}} |
63 | 63 | </td> |
... | ... | @@ -73,7 +73,7 @@ |
73 | 73 | </tr> |
74 | 74 | </tbody> |
75 | 75 | <tbody ng-if="filterstring" class="clstbody"> |
76 | - <tr ng-click="showItem(item._id)" ng-dblclick="openView($event)" ng-repeat="item in searchCAlistViewData"> | |
76 | + <tr ng-click="showItem(item._id)" ng-dblclick="openView($event)" ng-repeat="item in searchCAListViewData"> | |
77 | 77 | <td style="max-width: 250px;"> |
78 | 78 | {{item._Title}} |
79 | 79 | </td> |
... | ... | @@ -87,6 +87,9 @@ |
87 | 87 | {{item._MedicalSpecialty}} |
88 | 88 | </td> |
89 | 89 | </tr> |
90 | + <tr ng-if="typeof(searchCAListViewData) == 'undefined' || searchCAListViewData == null || searchCAListViewData == ''"> | |
91 | + <td colspan="3"><strong style="color:black;">No animation found for the selected search criteria!</strong></td> | |
92 | + </tr> | |
90 | 93 | </tbody> |
91 | 94 | </table> |
92 | 95 | </div> | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/views/ci/ci-view.html
... | ... | @@ -60,7 +60,7 @@ |
60 | 60 | <div class="row tab-content" style="padding-left:25px; width:99%"> |
61 | 61 | |
62 | 62 | <div role="tabpanel" class="tab-pane active" id="grid-view"> |
63 | - <!--<div ng-if="!filterstring" ng-repeat="item in selectedCIlistViewData"> | |
63 | + <!--<div ng-if="!filterstring" ng-repeat="item in selectedCIListViewData"> | |
64 | 64 | <div id="{{item._id}}" class="col-sm-3 col-lg-2" title="{{item._Title}}" data-ng-click="openView($event)"> |
65 | 65 | <div class="thumbnail"> |
66 | 66 | <img ng-src="~ /../content/images/ci/thumbnails/{{item._ThumbnailImage}}" alt="" title=""> |
... | ... | @@ -71,7 +71,7 @@ |
71 | 71 | </div> |
72 | 72 | </div> |
73 | 73 | |
74 | - <div ng-if="filterstring" ng-repeat="item in searchCIlistViewData"> | |
74 | + <div ng-if="filterstring" ng-repeat="item in searchCIListViewData"> | |
75 | 75 | <div id="{{item._id}}" class="col-sm-3 col-lg-2" title="{{item._Title}}" data-ng-click="openView($event)"> |
76 | 76 | <div class="thumbnail"> |
77 | 77 | <img ng-src="~ /../content/images/ci/thumbnails/{{item._ThumbnailImage}}" alt="" title=""> |
... | ... | @@ -91,57 +91,60 @@ |
91 | 91 | <table class="table table-hover table-fixed bg-white table-txt12" style="padding-left:25px; width:100%;"> |
92 | 92 | <thead class="clsthead"> |
93 | 93 | <tr class="active"> |
94 | - <th>Title</th> | |
95 | - <th>Region</th> | |
96 | - <th>System</th> | |
97 | - <th>View</th> | |
98 | - <th>Type</th> | |
99 | - <th>Specialty</th> | |
94 | + <th width="15%">Title</th> | |
95 | + <th width="15%">Region</th> | |
96 | + <th width="15%">System</th> | |
97 | + <th width="15%">View</th> | |
98 | + <th width="15%">Type</th> | |
99 | + <th width="25%">Specialty</th> | |
100 | 100 | </tr> |
101 | 101 | </thead> |
102 | 102 | <tbody ng-if="!filterstring" class="clstbody"> |
103 | - <tr id="{{item._id}}" ng-click="showItem(item._id)" ng-dblclick="openView($event)" ng-repeat="item in selectedCIlistViewData"> | |
104 | - <td> | |
103 | + <tr id="{{item._id}}" ng-click="showItem(item._id)" ng-dblclick="openView($event)" ng-repeat="item in selectedCIListViewData"> | |
104 | + <td width="15%"> | |
105 | 105 | {{item._Title}} |
106 | 106 | </td> |
107 | - <td> | |
107 | + <td width="15%"> | |
108 | 108 | {{item._BodyRegion}} |
109 | 109 | </td> |
110 | - <td> | |
110 | + <td width="15%"> | |
111 | 111 | {{item._BodySystem}} |
112 | 112 | </td> |
113 | - <td> | |
113 | + <td width="15%"> | |
114 | 114 | {{item._ViewOrientation}} |
115 | 115 | </td> |
116 | - <td> | |
116 | + <td width="15%"> | |
117 | 117 | {{item._ImageType}} |
118 | 118 | </td> |
119 | - <td> | |
119 | + <td width="25%"> | |
120 | 120 | {{item._MedicalSpecialty}} |
121 | 121 | </td> |
122 | 122 | </tr> |
123 | 123 | </tbody> |
124 | 124 | <tbody ng-if="filterstring" class="clstbody"> |
125 | - <tr ng-click="showItem(item._id)" ng-dblclick="openView($event)" ng-repeat="item in searchCIlistViewData"> | |
126 | - <td> | |
125 | + <tr ng-click="showItem(item._id)" ng-dblclick="openView($event)" ng-repeat="item in searchCIListViewData"> | |
126 | + <td width="15%"> | |
127 | 127 | {{item._Title}} |
128 | 128 | </td> |
129 | - <td> | |
129 | + <td width="15%"> | |
130 | 130 | {{item._BodyRegion}} |
131 | 131 | </td> |
132 | - <td> | |
132 | + <td width="15%"> | |
133 | 133 | {{item._BodySystem}} |
134 | 134 | </td> |
135 | - <td> | |
135 | + <td width="15%"> | |
136 | 136 | {{item._ViewOrientation}} |
137 | 137 | </td> |
138 | - <td> | |
138 | + <td width="15%"> | |
139 | 139 | {{item._ImageType}} |
140 | 140 | </td> |
141 | - <td> | |
141 | + <td width="25%"> | |
142 | 142 | {{item._MedicalSpecialty}} |
143 | 143 | </td> |
144 | 144 | </tr> |
145 | + <tr ng-if="typeof(searchCIListViewData) == 'undefined' || searchCIListViewData == null || searchCIListViewData == ''"> | |
146 | + <td colspan="6"><strong style="color:black;">No illustration found for the selected search criteria!</strong></td> | |
147 | + </tr> | |
145 | 148 | </tbody> |
146 | 149 | </table> |
147 | 150 | </div> | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/views/da/da-view.html
... | ... | @@ -54,10 +54,11 @@ |
54 | 54 | .tooltip-custom + .tooltip > .tooltip-arrow { |
55 | 55 | display: none; |
56 | 56 | } |
57 | + | |
57 | 58 | .customTooltip { |
58 | 59 | background: #333 !important; |
59 | 60 | color: #fff !important; |
60 | - opacity: 0.9 !important; | |
61 | + /*opacity: 0.9 !important;*/ | |
61 | 62 | } |
62 | 63 | |
63 | 64 | |
... | ... | @@ -68,7 +69,7 @@ |
68 | 69 | border: 0 none; |
69 | 70 | color: #fff !important; |
70 | 71 | left: -52px; |
71 | - opacity: 0.9; | |
72 | + /*opacity: 0.9;*/ | |
72 | 73 | padding: 7px; |
73 | 74 | position: absolute; |
74 | 75 | text-align: center; |
... | ... | @@ -86,7 +87,7 @@ |
86 | 87 | border: 0 none; |
87 | 88 | color: #fff !important; |
88 | 89 | left: 52px; |
89 | - opacity: 0.9; | |
90 | + /*opacity: 0.9;*/ | |
90 | 91 | padding: 7px; |
91 | 92 | position: absolute; |
92 | 93 | text-align: center; |
... | ... | @@ -104,7 +105,7 @@ |
104 | 105 | border: 0 none; |
105 | 106 | color: #fff !important; |
106 | 107 | right: 10px; |
107 | - opacity: 0.9; | |
108 | + /*opacity: 0.9;*/ | |
108 | 109 | padding: 7px; |
109 | 110 | position: absolute; |
110 | 111 | text-align: center; |
... | ... | @@ -142,37 +143,37 @@ |
142 | 143 | <div class="toggle-icon toggleBar toggleHeadingButton" title="Show/Hide Sidebar" style="top:20px;"></div> |
143 | 144 | <div class="" style="top:20px"> |
144 | 145 | <div class="col-sm-6"> |
145 | - <button id="btnIdentity" class="btn btn-primary btn-sm tooltip-custom" ng-click="OnIdentityClick()" data-toggle="tooltip" data-placement="bottom" title="Identify"> <img src="content/images/icon-identity.png" alt=""></button> | |
146 | + <button id="btnIdentity" onclick="OnIdentityClick()" class="btn btn-primary btn-sm tooltip-custom" data-toggle="tooltip" data-placement="bottom" title="Identify"> <img src="content/images/icon-identity.png" alt=""></button> | |
146 | 147 | </div> |
147 | 148 | <div class="col-sm-6 pull-right"> |
148 | - <button class="btn btn-black btn-sm pull-right tooltip-custom" ng-click="enableZoom()" data-toggle="tooltip" data-placement="bottom" title="Zoom-in/Zoom-out"> | |
149 | + <button class="btn btn-black btn-sm pull-right tooltip-custom" onclick="OnZoom()" id="btnZoom" data-toggle="tooltip" data-placement="bottom" title="Zoom-in/Zoom-out"> | |
149 | 150 | <img src="content/images/icon-zoom.png" alt=""> |
150 | 151 | </button> |
151 | - | |
152 | + | |
152 | 153 | </div> |
153 | 154 | <div class="col-sm-12"> |
154 | - <button id="btnTranparency" class="btn btn-black btn-sm btn-block marginTop5 tooltip-custom" ng-click="createTransparencyBox()" data-toggle="tooltip" data-placement="bottom" title="Transparency Box"><img src="content/images/icon-transparency.png" alt=""></button> | |
155 | + <button id="btnTranparency" class="btn btn-black btn-sm btn-block marginTop5 tooltip-custom" onclick="onTboxCreation()" data-toggle="tooltip" data-placement="bottom" title="Transparency Box"><img src="content/images/icon-transparency.png" alt=""></button> | |
155 | 156 | </div> |
156 | - | |
157 | - | |
157 | + | |
158 | + | |
158 | 159 | <div class="col-sm-6"> |
159 | - <button id="btnNormalMode" class="btn btn-primary btn-sm marginTop5 tooltip-custom" ng-click="enableNormalMode()" data-toggle="tooltip" data-placement="bottom" title="Normal"> <img src="content/images/bulb1.png" alt=""></button> | |
160 | + <button id="btnNormalMode" class="btn btn-primary btn-sm marginTop5 tooltip-custom" onclick="OnEnableNormalMode()" data-toggle="tooltip" data-placement="bottom" title="Normal"> <img src="content/images/bulb1.png" alt=""></button> | |
160 | 161 | </div> |
161 | 162 | <div class="col-sm-6"> |
162 | - <button id="btnExtract" class="btn btn-black btn-sm pull-right marginTop5 tooltip-custom" ng-click="enableExtract()" data-toggle="tooltip" data-placement="bottom" title="Extract"><img src="content/images/bulb1.png" alt=""></button> | |
163 | + <button id="btnExtract" class="btn btn-black btn-sm pull-right marginTop5 tooltip-custom" onclick="OnEnableExtract()" data-toggle="tooltip" data-placement="bottom" title="Extract"><img src="content/images/bulb1.png" alt=""></button> | |
163 | 164 | </div> |
164 | - | |
165 | + | |
165 | 166 | <div class="col-sm-6"> |
166 | - <button id="btnHighLight" class="btn btn-black btn-sm marginTop5 tooltip-custom btn-resize" ng-click="enableHighlight()" data-toggle="tooltip" data-placement="bottom" title="Highlight"> <img src="content/images/bulb.png" alt=""></button> | |
167 | + <button id="btnHighLight" class="btn btn-black btn-sm marginTop5 tooltip-custom btn-resize" onclick="OnEnableHighlight()" data-toggle="tooltip" data-placement="bottom" title="Highlight"> <img src="content/images/bulb.png" alt=""></button> | |
167 | 168 | </div> |
168 | - | |
169 | + | |
169 | 170 | <div class="col-sm-6 dropdown hover-tool"> |
170 | 171 | <div class="custom-tooltip">Highlight Options</div> |
171 | 172 | <button class="btn btn-black btn-sm pull-right marginTop5 dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true" ng-click="LoadBodySystemData()"><img src="content/images/icon-highlight.png" alt="" title=""></button> |
172 | 173 | <ul class="dropdown-menu" aria-labelledby="dropdownMenu2"> |
173 | 174 | <li ng-class="CurrentStructure"><a href="#" title="Current Structure">Current Structure</a></li> |
174 | 175 | <li role="separator" class="divider"></li> |
175 | - <li ng-class="Cardiovascular"><a href="#" title="Cardiovascular" id="1" ng-click="HighlightBodyByBodySystem($event)">Cardiovascular</a></li> | |
176 | + <!--<li ng-class="Cardiovascular"><a href="#" title="Cardiovascular" id="1" ng-click="HighlightBodyByBodySystem($event)">Cardiovascular</a></li> | |
176 | 177 | <li ng-class="Digestive"><a href="#" title="Digestive" id="2" ng-click="HighlightBodyByBodySystem($event)">Digestive</a></li> |
177 | 178 | <li ng-class="Endocrine"><a href="#" title="Endocrine" id="3" ng-click="HighlightBodyByBodySystem($event)">Endocrine</a></li> |
178 | 179 | <li ng-class="Immune"><a href="#" title="Immune" id="4" ng-click="HighlightBodyByBodySystem($event)">Immune</a></li> |
... | ... | @@ -183,46 +184,97 @@ |
183 | 184 | <li ng-class="Reproductive"><a href="#" title="Reproductive" id="9" ng-click="HighlightBodyByBodySystem($event)">Reproductive</a></li> |
184 | 185 | <li ng-class="Respiratory"><a href="#" title="Respiratory" id="10" ng-click="HighlightBodyByBodySystem($event)">Respiratory</a></li> |
185 | 186 | <li ng-class="Skeletal"><a href="#" title="Skeletal" id="11" ng-click="HighlightBodyByBodySystem($event)">Skeletal</a></li> |
186 | - <li ng-class="Urinary"><a href="#" title="Urinary" id="12" ng-click="HighlightBodyByBodySystem($event)">Urinary</a></li> | |
187 | + <li ng-class="Urinary"><a href="#" title="Urinary" id="12" ng-click="HighlightBodyByBodySystem($event)">Urinary</a></li>--> | |
188 | + | |
189 | + <li ng-class="Cardiovascular"><a href="#" title="Cardiovascular" id="1" onclick="OnBodySystemSelection(event)">Cardiovascular</a></li> | |
190 | + <li ng-class="Digestive"><a href="#" title="Digestive" id="2" onclick="OnBodySystemSelection(event)">Digestive</a></li> | |
191 | + <li ng-class="Endocrine"><a href="#" title="Endocrine" id="3" onclick="OnBodySystemSelection(event)">Endocrine</a></li> | |
192 | + <li ng-class="Immune"><a href="#" title="Immune" id="4" onclick="OnBodySystemSelection(event)">Immune</a></li> | |
193 | + <li ng-class="Integumentary"><a href="#" title="Integumentary" id="5" onclick="OnBodySystemSelection(event)">Integumentary</a></li> | |
194 | + <li ng-class="Lymphatic"><a href="#" title="Lymphatic" id="6" onclick="OnBodySystemSelection(event)">Lymphatic</a></li> | |
195 | + <li ng-class="Muscular"><a href="#" title="Muscular" id="7" onclick="OnBodySystemSelection(event)">Muscular</a></li> | |
196 | + <li ng-class="Nervous"><a href="#" title="Nervous" id="8" onclick="OnBodySystemSelection(event)">Nervous</a></li> | |
197 | + <li ng-class="Reproductive"><a href="#" title="Reproductive" id="9" onclick="OnBodySystemSelection(event)">Reproductive</a></li> | |
198 | + <li ng-class="Respiratory"><a href="#" title="Respiratory" id="10" onclick="OnBodySystemSelection(event)">Respiratory</a></li> | |
199 | + <li ng-class="Skeletal"><a href="#" title="Skeletal" id="11" onclick="OnBodySystemSelection(event)">Skeletal</a></li> | |
200 | + <li ng-class="Urinary"><a href="#" title="Urinary" id="12" onclick="OnBodySystemSelection(event)">Urinary</a></li> | |
187 | 201 | </ul> |
188 | 202 | </div> |
189 | 203 | |
190 | - | |
204 | + | |
191 | 205 | <div class="col-sm-6 hover-gender-tool" ng-init="switchGender()"> |
192 | 206 | <div class=" custom-tooltip1">Gender</div> |
193 | 207 | <button class="btn btn-black btn-sm marginTop5 dropdown-toggle" type="button" id="dropdownMenu4" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> <i class=" fa fa-intersex font16"></i></button> |
194 | 208 | <ul class="dropdown-menu" aria-labelledby="dropdownMenu3"> |
195 | - <li ng-class="male"><a href="#" title="Male" ng-click="OnGenderChange($event)">Male</a></li> | |
196 | - <li ng-class="female"><a href="#" title="Female" ng-click="OnGenderChange($event)">Female</a></li> | |
209 | + <li ng-class="male"> | |
210 | + <!--<button type="button" id="btnMale" onclick="OnGenderChange('Male')" class="btn btn-link" >Male</button>--> | |
211 | + <a href="#" title="Male" onclick="OnGenderChange(event)">Male</a> | |
212 | + </li> | |
213 | + <li ng-class="female"> | |
214 | + | |
215 | + <!--<button type="button" id="btnFemale" onclick="OnGenderChange('Female')" class="btn btn-link">Female</button>--> | |
216 | + <a href="#" title="Female" onclick="OnGenderChange(event)">Female</a> | |
217 | + | |
218 | + <!--<a href="javascript:void(0)" title="Male" ng-click="OnGenderChange($event)">Male</a></li> | |
219 | + <li ng-class="female"><a href="javascript:void(0)" title="Female" ng-click="OnGenderChange($event)">Female</a></li>--> | |
220 | + </li> | |
197 | 221 | </ul> |
198 | 222 | </div> |
199 | 223 | |
200 | - | |
201 | - | |
202 | - | |
203 | 224 | <div class="col-sm-6 tooltip-View-custom"> |
204 | 225 | <div class="custom-tooltip2">View</div> |
205 | 226 | <button class="btn btn-black btn-sm pull-right marginTop5 dropdown-toggle" type="button" id="dropdownMenu3" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"><img src="content/images/view.png" alt="" title=""></button> |
206 | 227 | <ul class="dropdown-menu" aria-labelledby="dropdownMenu3"> |
207 | - <li ng-class="AnteriorView"><a href="#" title="Anterior" ng-click="OnViewChange($event)">Anterior</a></li> | |
228 | + <!--<li ng-class="AnteriorView"><a href="#" title="Anterior" ng-click="OnViewChange($event)">Anterior</a></li> | |
208 | 229 | <li ng-class="LateralView"><a href="#" title="Lateral" ng-click="OnViewChange($event)">Lateral</a></li> |
209 | 230 | <li ng-class="MedialView"><a href="#" title="Medial" ng-click="OnViewChange($event)">Medial</a></li> |
210 | 231 | <li ng-class="PosteriorView"><a href="#" title="Posterior" ng-click="OnViewChange($event)">Posterior</a></li> |
211 | 232 | <li ng-class="LateralArmView"><a href="#" title="Lateral Arm" ng-click="OnViewChange($event)">Lateral Arm</a></li> |
212 | - <li ng-class="MedialArmView"><a href="#" title="Medial Arm" ng-click="OnViewChange($event)">Medial Arm</a></li> | |
233 | + <li ng-class="MedialArmView"><a href="#" title="Medial Arm" ng-click="OnViewChange($event)">Medial Arm</a></li>--> | |
234 | + | |
235 | + <li ng-class="AnteriorView"><a href="#" title="Anterior" onclick="OnViewChange(event)">Anterior</a></li> | |
236 | + <li ng-class="LateralView"><a href="#" title="Lateral" onclick="OnViewChange(event)">Lateral</a></li> | |
237 | + <li ng-class="MedialView"><a href="#" title="Medial" onclick="OnViewChange(event)">Medial</a></li> | |
238 | + <li ng-class="PosteriorView"><a href="#" title="Posterior" onclick="OnViewChange(event)">Posterior</a></li> | |
239 | + <li ng-class="LateralArmView"><a href="#" title="Lateral Arm" onclick="OnViewChange(event)">Lateral Arm</a></li> | |
240 | + <li ng-class="MedialArmView"><a href="#" title="Medial Arm" onclick="OnViewChange(event)">Medial Arm</a></li> | |
213 | 241 | </ul> |
214 | 242 | </div> |
215 | - | |
243 | + | |
216 | 244 | |
217 | 245 | <div class="col-sm-12"> |
218 | - <button id="btnStrutureBox" ng-click="enableShowHideStructureBox()" class="btn btn-primary btn-sm marginTop5 btn-block tooltip-custom" data-toggle="tooltip" data-placement="bottom" title="Show/Hide Structure Name Boxes"> <img src="content/images/comment-box.png" alt=""></button> | |
246 | + <button id="btnStrutureBox" onclick="enableShowHideStructureBox()" class="btn btn-primary btn-sm marginTop5 btn-block tooltip-custom" data-toggle="tooltip" data-placement="bottom" title="Show/Hide Structure Name Boxes"> <img src="content/images/comment-box.png" alt=""></button> | |
219 | 247 | </div> |
220 | - | |
248 | + | |
221 | 249 | </div> |
222 | 250 | <div class=""> |
223 | - <p> | |
251 | + | |
252 | + | |
253 | + <!--'x' button is displaying inside the input box in IE browser.--> | |
254 | + <div style="width:80px;margin:10px 0 0 15px;display:inline-block;"> | |
255 | + <div style="width: 58px; float: left;"> | |
256 | + <input type="text" class="form-control item" id="txtlayerNumber" value="0" ng-model="layerNumber" ng-keydown="LayerChangeBasedOnKeyPressed($event)" style="height:32px;border-radius:0;"> | |
257 | + </div> | |
258 | + <div style="width: 22px; float: left;"> | |
259 | + <div style="width: 100%; float: left; height: 16px;"> | |
260 | + <button type="button" id="incrmntVal" ng-click="LayerChangeOnMouseUpDown($event)" class="btn btn-default" style="padding:0 5px;border-radius:0;font-size: 10px;vertical-align:top;"> | |
261 | + | |
262 | + <img style="width:10px;height:10px;" src="~/../content/images/DA/angle-up.png" /> | |
263 | + </button> | |
264 | + </div> | |
265 | + <div style="width: 100%; float: left; height: 16px;"> | |
266 | + <button type="button" id="deccrmntVal" ng-click="LayerChangeOnMouseUpDown($event)" class="btn btn-default" style="padding:0 5px;border-radius:0;font-size: 10px;vertical-align:top;"> | |
267 | + <img style="width:10px;height:10px;" src="~/../content/images/DA/angle-down.png" /> | |
268 | + </button> | |
269 | + </div> | |
270 | + </div> | |
271 | + | |
272 | + </div> | |
273 | + | |
274 | + | |
275 | + <!--<p> | |
224 | 276 | <input class="item" type="number" id="txtlayerNumber" value="0" step="1" min="0" style="width:80px; margin:10px 0 0 15px;" ng-model="layerNumber" ng-keydown="LayerChangeBasedOnKeyPressed($event)" ng-click="LayerChangeOnMouseUpDown($event)" /> |
225 | - </p> | |
277 | + </p>--> | |
226 | 278 | <div id="layerChangeSlider" style="height:140px;" class="vert_slider " ng-model="layerNumber"></div> |
227 | 279 | </div> |
228 | 280 | </div> |
... | ... | @@ -233,14 +285,15 @@ |
233 | 285 | <div class=""> |
234 | 286 | <div class="input-group col-sm-8 col-xs-7 col-md-10 pull-left"> |
235 | 287 | |
236 | - <input type="text" class="form-control input-sm pull-left" id="typedtermname" ng-blur="HideSearch()" ng-click="ShowSearch()" ng-dblclick="ShowSearch()" ng-model="searchFilter" ng-change="textChange(searchFilter)" placeholder="Search..."> | |
288 | + <input type="text" class="form-control input-sm pull-left" id="typedtermname" ng-blur="HideSearch()" onclick="OnSearch()" ondblclick="OnSearch()" ng-model="searchFilter" ng-change="textChange(searchFilter)" placeholder="Search..."> | |
237 | 289 | |
238 | 290 | <div id="backdrop" ng-show="IsSearchVisible"> |
239 | 291 | <div class="col-sm-12 col-xs-12 col-md-12 col-lg-12 pull-left"> |
240 | 292 | <!--#Bug 6591--> |
241 | 293 | <ul id="termlistfilter" class="form-control dropdown-menu" style="height:90px;width:100%;overflow-y:scroll;position:absolute;display:none;z-index:1000;"> |
242 | 294 | <li ng-repeat="item in VocabTermTxt| filter:{ _TermText: searchFilter}"> |
243 | - <a id="{{item._ActualTermNumber}}" href="" ng-click="jumpToTerm($event)">{{item._TermText}}</a> | |
295 | + <!--<a id="{{item._ActualTermNumber}}" href="" ng-click="jumpToTerm($event)">{{item._TermText}}</a>--> | |
296 | + <a id="{{item._ActualTermNumber}}" href="" onclick="selectTerm(event)">{{item._TermText}}</a> | |
244 | 297 | </li> |
245 | 298 | </ul> |
246 | 299 | </div> |
... | ... | @@ -280,7 +333,7 @@ |
280 | 333 | <div class="row"> |
281 | 334 | <div id="canvasDiv" class="col-sm-12 img-thumbnail" align="center"> |
282 | 335 | <canvas id="canvasPaint" ng-click="FreeStylePaint($event)" width="2277" height="3248" class="canvas-annotationStyle1"></canvas> |
283 | - <canvas id="canvas" ng-click="doClick($event)" width="2277" height="3248" class="canvas-annotationStyle"></canvas> | |
336 | + <canvas id="canvas" ng-click="BindCanvasDrawingListners($event)" width="2277" height="3248" class="canvas-annotationStyle"></canvas> | |
284 | 337 | </div> |
285 | 338 | <!--<div id="canvasDiv" style=" width: 95% !important;top:0px;overflow:scroll;background-color:white;">--> |
286 | 339 | <!--<div id="daLoaderLabel">Loading....</div>--> |
... | ... | @@ -334,7 +387,7 @@ |
334 | 387 | <div> |
335 | 388 | <div> |
336 | 389 | <div class="modal-header annotation-modal-header"> |
337 | - <button type="button" class="close" data-dismiss="modal" aria-label="Close" ng-click="CloseTransparencyBox()"><span aria-hidden="true">×</span></button> | |
390 | + <button id="btnTBoxClose" type="button" onclick="onTboxClose()" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> | |
338 | 391 | <h4>Transparency</h4> |
339 | 392 | </div> |
340 | 393 | <div> |
... | ... | @@ -362,6 +415,25 @@ |
362 | 415 | });</script> |
363 | 416 | <script> |
364 | 417 | $(function () { |
418 | + | |
419 | + | |
420 | + var regExp = /[0-9\.\,]/; | |
421 | + $('#txtlayerNumber').on('keydown keyup', function (e) { | |
422 | + var value = String.fromCharCode(e.which) || e.key; | |
423 | + // Only numbers, dots and commas | |
424 | + if (!regExp.test(value) | |
425 | + && e.which != 188 // , | |
426 | + && e.which != 190 // . | |
427 | + && e.which != 8 // backspace | |
428 | + && e.which != 46 // delete | |
429 | + && (e.which < 37 // arrow keys | |
430 | + || e.which > 40)) { | |
431 | + e.preventDefault(); | |
432 | + return false; | |
433 | + } | |
434 | + }); | |
435 | + | |
436 | + | |
365 | 437 | $("#layerChangeSlider").slider({ |
366 | 438 | orientation: "vertical", |
367 | 439 | range: "max", // <--- needed... | ... | ... |
400-SOURCECODE/AIAHTML5.Web/app/widget/TopMenu.html
... | ... | @@ -22,14 +22,18 @@ |
22 | 22 | <li><a href="#">Print Priview</a></li> |
23 | 23 | </ul> |
24 | 24 | </li> |
25 | - <li><a href="#" data-toggle="modal" data-target=".bs-example-modal-sm" ng-click="ShowAnnotationWindow()">Annotation</a></li> | |
25 | + <!--#7904--> | |
26 | + <li><a href="#" data-toggle="modal" id="annotationButton" data-target=".bs-example-modal-sm" ng-click="ShowAnnotationWindow()">Annotation</a></li> | |
27 | + | |
26 | 28 | <li class="dropdown"> |
27 | 29 | <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Options<span class="caret"></span></a> |
28 | 30 | <ul class="dropdown-menu"> |
29 | 31 | <!--<li><a href="#" ng-click="ShowListManager()">List Manager</a></li>--> |
30 | 32 | |
31 | 33 | <li><a href="#" ng-click="ShowListManager()">List Manager</a></li> |
32 | - <li><a href="#" ng-click="ShowAnnotationWindow()">Annotation Toolbar</a></li> | |
34 | + <!--#7904--> | |
35 | + <li><a href="#" id="annotationToolBarOptions" ng-click="ShowAnnotationWindow()">Annotation Toolbar</a></li> | |
36 | + | |
33 | 37 | <li><a href="#">Add to Existing Curriculum</a></li> |
34 | 38 | <li><a data-toggle="modal" data-target="#modal-settings" class="cursor-pointer">Settings</a></li> |
35 | 39 | <li role="separator" class="divider"></li> | ... | ... |
400-SOURCECODE/AIAHTML5.Web/content/data/json/ca/ca_dat_contentlist.json
... | ... | @@ -248,6 +248,7 @@ |
248 | 248 | "_Video": "ca_vid_3392.flv", |
249 | 249 | "_ThumbnailImage": "ca_tni_3392.jpg", |
250 | 250 | "_BodySystem": "Reproductive", |
251 | + "_BodyRegion": "None", | |
251 | 252 | "_MedicalSpecialty": "Obstetrics and Gynecology (OB/GYN)", |
252 | 253 | "_Summary": "This animations shows the process of Intracytoplasmic sperm injection (ICSI), a procedure used to fertilize an egg cell outside of the body.", |
253 | 254 | "_LowerSummary": "Intracytoplasmic sperm injection, or ICSI, is a form of in vitro fertilization in which fertilization occurs outside of the body. First, egg cells are harvested and transferred to a special media in a laboratory dish. Within a few hours, a single sperm is injected through a fine needle into the center of an egg cell to aid in the process of fertilization. If successful, the cell will divide and form the beginning stages of an embryo. If necessary, the DNA of a single cell from an embryo may be checked to ensure that various genetic disorders are not present. Typically, several egg cells are harvested and fertilized at the same time then inserted back into the uterus to increase the chances that one will implant and develop into a successful pregnancy." | ... | ... |
400-SOURCECODE/AIAHTML5.Web/content/data/json/ca/ca_dat_contentlist_mp4link.json
... | ... | @@ -248,6 +248,7 @@ |
248 | 248 | "_Video": "http://aia5.adam.com/graphics/Multimedia/en/200061/200061.mp4", |
249 | 249 | "_ThumbnailImage": "ca_tni_3392.jpg", |
250 | 250 | "_BodySystem": "Reproductive", |
251 | + "_BodyRegion": "None", | |
251 | 252 | "_MedicalSpecialty": "Obstetrics and Gynecology (OB/GYN)", |
252 | 253 | "_Summary": "This animations shows the process of Intracytoplasmic sperm injection (ICSI), a procedure used to fertilize an egg cell outside of the body.", |
253 | 254 | "_LowerSummary": "Intracytoplasmic sperm injection, or ICSI, is a form of in vitro fertilization in which fertilization occurs outside of the body. <BodyRegion/><BodyRegion/>First, egg cells are harvested and transferred to a special media in a laboratory dish. Within a few hours, a single sperm is injected through a fine needle into the center of an egg cell to aid in the process of fertilization. If successful, the cell will divide and form the beginning stages of an embryo. If necessary, the DNA of a single cell from an embryo may be checked to ensure that various genetic disorders are not present. <BodyRegion/><BodyRegion/>Typically, several egg cells are harvested and fertilized at the same time then inserted back into the uterus to increase the chances that one will implant and develop into a successful pregnancy." | ... | ... |
400-SOURCECODE/AIAHTML5.Web/content/data/json/le/qz_dat_sk.json
... | ... | @@ -93,16 +93,61 @@ |
93 | 93 | "Title": "Drag the labels to the correct location on the image.", |
94 | 94 | "activityTitle": "Bones of Upper Limb", |
95 | 95 | "ImagePath":"SK-07.JPG", |
96 | - "OptionBox": [{"BoxName": "T1","topcoord":"35","leftcoord":"4","Answervalue":"","QuizText":""},{"BoxName": "T2","topcoord":"97","leftcoord":"4","Answervalue":"","QuizText":""}, | |
97 | - {"BoxName": "T3","topcoord":"198","leftcoord":"4","Answervalue":"","QuizText":""},{"BoxName": "T4","topcoord":"252","leftcoord":"4","Answervalue":"","QuizText":""}, | |
98 | - {"BoxName": "T5","topcoord":"16","leftcoord":"613","Answervalue":"","QuizText":""},{"BoxName": "T6","topcoord":"112","leftcoord":"613","Answervalue":"","QuizText":""}, | |
99 | - {"BoxName": "T7","topcoord":"169","leftcoord":"613","Answervalue":"","QuizText":""},{"BoxName": "T8","topcoord":"366","leftcoord":"613","Answervalue":"","QuizText":""}], | |
96 | + "OptionBox": [{"BoxName": "T1","topcoord":"20","leftcoord":"2","Answervalue":"","QuizText":""},{"BoxName": "T2","topcoord":"142","leftcoord":"2","Answervalue":"","QuizText":""}, | |
97 | + {"BoxName": "T3","topcoord":"238","leftcoord":"2","Answervalue":"","QuizText":""},{"BoxName": "T4","topcoord":"347","leftcoord":"2","Answervalue":"","QuizText":""}, | |
98 | + {"BoxName": "T5","topcoord":"38","leftcoord":"613","Answervalue":"","QuizText":""},{"BoxName": "T6","topcoord":"120","leftcoord":"613","Answervalue":"","QuizText":""}, | |
99 | + {"BoxName": "T7","topcoord":"330","leftcoord":"613","Answervalue":"","QuizText":""},{"BoxName": "T8","topcoord":"366","leftcoord":"613","Answervalue":"","QuizText":""}], | |
100 | 100 | "Options": [{"OptionNumber": "A","OptionTitle": "Ulna","textalign":"left"},{"OptionNumber": "B","OptionTitle": "Trochlea of humerus","textalign":"right"}, |
101 | 101 | {"OptionNumber": "C","OptionTitle": "Radius","textalign":"left"},{"OptionNumber": "D","OptionTitle": "Capitulum of humerus","textalign":"left"}, |
102 | 102 | {"OptionNumber": "E","OptionTitle": "Head of humerus","textalign":"left"},{"OptionNumber": "F","OptionTitle": "Acromion process of scapula","textalign":"right"}, |
103 | 103 | {"OptionNumber": "G","OptionTitle": "Coracoid process of scapula","textalign":"right"},{"OptionNumber": "H","OptionTitle": "Clavicle","textalign":"right"}], |
104 | 104 | "correctResponse": [{"OptionBox": "T1","Answer": "A"},{"OptionBox": "T2","Answer": "H"},{"OptionBox": "T3","Answer": "E"},{"OptionBox": "T4","Answer": "G"}, |
105 | 105 | {"OptionBox": "T5","Answer": "B"},{"OptionBox": "T6","Answer": "C"},{"OptionBox": "T7","Answer": "D"},{"OptionBox": "T8","Answer": "F"}] |
106 | + },{ | |
107 | + "Number": "8", | |
108 | + "Title": "Drag the labels to the correct location on the image.", | |
109 | + "activityTitle": "Bones of Forearm", | |
110 | + "ImagePath":"SK-08.JPG", | |
111 | + "OptionBox": [{"BoxName": "T1","topcoord":"68","leftcoord":"2","Answervalue":"","QuizText":""},{"BoxName": "T2","topcoord":"150","leftcoord":"2","Answervalue":"","QuizText":""}, | |
112 | + {"BoxName": "T3","topcoord":"189","leftcoord":"2","Answervalue":"","QuizText":""},{"BoxName": "T4","topcoord":"337","leftcoord":"2","Answervalue":"","QuizText":""}, | |
113 | + {"BoxName": "T5","topcoord":"12","leftcoord":"613","Answervalue":"","QuizText":""},{"BoxName": "T6","topcoord":"98","leftcoord":"613","Answervalue":"","QuizText":""}, | |
114 | + {"BoxName": "T7","topcoord":"189","leftcoord":"613","Answervalue":"","QuizText":""},{"BoxName": "T8","topcoord":"336","leftcoord":"613","Answervalue":"","QuizText":""}], | |
115 | + "Options": [{"OptionNumber": "A","OptionTitle": "Styloid process of radius","textalign":"left"},{"OptionNumber": "B","OptionTitle": "Tuberosity of radius","textalign":"right"}, | |
116 | + {"OptionNumber": "C","OptionTitle": "Head of radius","textalign":"left"},{"OptionNumber": "D","OptionTitle": "Coronoid process of ulna","textalign":"left"}, | |
117 | + {"OptionNumber": "E","OptionTitle": "Tuberosity of ulna","textalign":"left"},{"OptionNumber": "F","OptionTitle": "Body of radius","textalign":"right"}, | |
118 | + {"OptionNumber": "G","OptionTitle": "Body of ulna","textalign":"right"},{"OptionNumber": "H","OptionTitle": "Head of ulna","textalign":"right"}], | |
119 | + "correctResponse": [{"OptionBox": "T1","Answer": "C"},{"OptionBox": "T2","Answer": "B"},{"OptionBox": "T3","Answer": "F"},{"OptionBox": "T4","Answer": "A"}, | |
120 | + {"OptionBox": "T5","Answer": "D"},{"OptionBox": "T6","Answer": "E"},{"OptionBox": "T7","Answer": "G"},{"OptionBox": "T8","Answer": "H"}] | |
121 | + },{ | |
122 | + "Number": "9", | |
123 | + "Title": "Drag the labels to the correct location on the image.", | |
124 | + "activityTitle": "Bones of Hand I", | |
125 | + "ImagePath":"SK-09.JPG", | |
126 | + "OptionBox": [{"BoxName": "T1","topcoord":"10","leftcoord":"4","Answervalue":"","QuizText":""},{"BoxName": "T2","topcoord":"130","leftcoord":"4","Answervalue":"","QuizText":""}, | |
127 | + {"BoxName": "T3","topcoord":"230","leftcoord":"4","Answervalue":"","QuizText":""},{"BoxName": "T4","topcoord":"287","leftcoord":"4","Answervalue":"","QuizText":""}, | |
128 | + {"BoxName": "T5","topcoord":"24","leftcoord":"614","Answervalue":"","QuizText":""},{"BoxName": "T6","topcoord":"112","leftcoord":"614","Answervalue":"","QuizText":""}, | |
129 | + {"BoxName": "T7","topcoord":"211","leftcoord":"614","Answervalue":"","QuizText":""},{"BoxName": "T8","topcoord":"260","leftcoord":"614","Answervalue":"","QuizText":""}], | |
130 | + "Options": [{"OptionNumber": "A","OptionTitle": "Trapezium","textalign":"left"},{"OptionNumber": "B","OptionTitle": "Lunate","textalign":"right"}, | |
131 | + {"OptionNumber": "C","OptionTitle": "Capitate","textalign":"left"},{"OptionNumber": "D","OptionTitle": "Scaphoid","textalign":"left"}, | |
132 | + {"OptionNumber": "E","OptionTitle": "Triquetral","textalign":"left"},{"OptionNumber": "F","OptionTitle": "Trapezoid","textalign":"right"}, | |
133 | + {"OptionNumber": "G","OptionTitle": "Pisiform","textalign":"right"},{"OptionNumber": "H","OptionTitle": "Hamate","textalign":"right"}], | |
134 | + "correctResponse": [{"OptionBox": "T1","Answer": "D"},{"OptionBox": "T2","Answer": "C"},{"OptionBox": "T3","Answer": "A"},{"OptionBox": "T4","Answer": "F"}, | |
135 | + {"OptionBox": "T5","Answer": "B"},{"OptionBox": "T6","Answer": "E"},{"OptionBox": "T7","Answer": "G"},{"OptionBox": "T8","Answer": "H"}] | |
136 | + },{ | |
137 | + "Number": "10", | |
138 | + "Title": "Drag the labels to the correct location on the image.", | |
139 | + "activityTitle": "Bones of Hand II", | |
140 | + "ImagePath":"SK-10.JPG", | |
141 | + "OptionBox": [{"BoxName": "T1","topcoord":"10","leftcoord":"4","Answervalue":"","QuizText":""},{"BoxName": "T2","topcoord":"130","leftcoord":"4","Answervalue":"","QuizText":""}, | |
142 | + {"BoxName": "T3","topcoord":"230","leftcoord":"4","Answervalue":"","QuizText":""},{"BoxName": "T4","topcoord":"287","leftcoord":"4","Answervalue":"","QuizText":""}, | |
143 | + {"BoxName": "T5","topcoord":"24","leftcoord":"614","Answervalue":"","QuizText":""},{"BoxName": "T6","topcoord":"215","leftcoord":"614","Answervalue":"","QuizText":""}, | |
144 | + {"BoxName": "T7","topcoord":"301","leftcoord":"614","Answervalue":"","QuizText":""},{"BoxName": "T8","topcoord":"392","leftcoord":"614","Answervalue":"","QuizText":""}], | |
145 | + "Options": [{"OptionNumber": "A","OptionTitle": "1st metacarpal","textalign":"left"},{"OptionNumber": "B","OptionTitle": "2nd metacarpal","textalign":"right"}, | |
146 | + {"OptionNumber": "C","OptionTitle": "5th metacarpal","textalign":"left"},{"OptionNumber": "D","OptionTitle": "Proximal phalanx of thumb","textalign":"left"}, | |
147 | + {"OptionNumber": "E","OptionTitle": "Distal phalanx of thumb","textalign":"left"},{"OptionNumber": "F","OptionTitle": "Proximal phalynx of finger","textalign":"right"}, | |
148 | + {"OptionNumber": "G","OptionTitle": "Middle phalanx of finger","textalign":"right"},{"OptionNumber": "H","OptionTitle": "Distal phalanx of finger","textalign":"right"}], | |
149 | + "correctResponse": [{"OptionBox": "T1","Answer": "C"},{"OptionBox": "T2","Answer": "B"},{"OptionBox": "T3","Answer": "F"},{"OptionBox": "T4","Answer": "G"}, | |
150 | + {"OptionBox": "T5","Answer": "A"},{"OptionBox": "T6","Answer": "D"},{"OptionBox": "T7","Answer": "E"},{"OptionBox": "T8","Answer": "H"}] | |
106 | 151 | }] |
107 | 152 | }] |
108 | 153 | } |
109 | 154 | \ No newline at end of file | ... | ... |
400-SOURCECODE/AIAHTML5.Web/content/images/DA/angle-down.png
0 โ 100644
210 Bytes
400-SOURCECODE/AIAHTML5.Web/content/images/DA/angle-up.png
0 โ 100644
313 Bytes
400-SOURCECODE/AIAHTML5.Web/index.html
1 | 1 | ๏ปฟ<!DOCTYPE html> |
2 | 2 | <html lang="en" ng-cloak ng-app="AIA"> |
3 | 3 | <head> |
4 | + <!--<base href="/AIAHTML5/" />--> | |
4 | 5 | <!--<base href="/AIA/" />--> |
5 | 6 | <base href="/" /> |
6 | 7 | <meta charset="utf-8"> |
... | ... | @@ -21,7 +22,7 @@ |
21 | 22 | <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> |
22 | 23 | <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,800,700,600,400italic"> |
23 | 24 | |
24 | - <link rel="styleSheet" href="themes/default/css/uigrid/ui-grid.min.css" /> | |
25 | + <!--<link rel="styleSheet" href="themes/default/css/uigrid/ui-grid.min.css" />--> | |
25 | 26 | |
26 | 27 | <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> |
27 | 28 | <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> |
... | ... | @@ -40,6 +41,35 @@ |
40 | 41 | |
41 | 42 | <!--Annotation Toolbar: Jcanvas--> |
42 | 43 | <style> |
44 | + | |
45 | + | |
46 | + .ActiveFormattingButtonClass { | |
47 | + background-color: #1B92D0 !important; | |
48 | + } | |
49 | + | |
50 | + .Edittext-btn-css { | |
51 | + background: #4B4B4B; | |
52 | + padding: 4px; | |
53 | + cursor: pointer; | |
54 | + margin-right: 2px; | |
55 | + } | |
56 | + | |
57 | + /*.italic-btn-css { | |
58 | + background: #4B4B4B; | |
59 | + padding: 4px; | |
60 | + cursor: pointer; | |
61 | + margin-right: 2px; | |
62 | + }*/ | |
63 | + | |
64 | + .underline-btn-css { | |
65 | + background: #4B4B4B; | |
66 | + padding: 4px; | |
67 | + cursor: pointer; | |
68 | + margin-right: 5px; | |
69 | + } | |
70 | + | |
71 | + | |
72 | + | |
43 | 73 | .activebtncolor { |
44 | 74 | background-color: #1B92D0 !important; |
45 | 75 | border-color: #1B92D0 !important; |
... | ... | @@ -75,6 +105,26 @@ |
75 | 105 | color: #000; |
76 | 106 | border-radius: 0; |
77 | 107 | } |
108 | + | |
109 | + /*7931*/ | |
110 | + .custom-tooltip-annotation-edit { | |
111 | + background-color: #fff; | |
112 | + border: 0 none; | |
113 | + color: #000; | |
114 | + left: 80px; | |
115 | + opacity: 0.9; | |
116 | + padding: 3px 0; | |
117 | + position: absolute; | |
118 | + text-align: center; | |
119 | + bottom: 50px; | |
120 | + width: 120px; | |
121 | + display: none; | |
122 | + z-index: 10000; | |
123 | + border: 1px solid #000; | |
124 | + color: #000; | |
125 | + border-radius: 0; | |
126 | + } | |
127 | + | |
78 | 128 | </style> |
79 | 129 | |
80 | 130 | |
... | ... | @@ -432,12 +482,12 @@ |
432 | 482 | <div class="" role="" aria-label="..."> |
433 | 483 | <div class="" role="group" align="center"> |
434 | 484 | <button type="button" class="btn btn-black-annotation btn-xs mrgnBtm5 btnCursor" data-toggle="tooltip" data-placement="top" title="Select Shapes(S)" ng-click="Cursor()"><img src="content/images/icon-identity.png" alt="" title=""></button> |
435 | - <button type="button" class="btn btn-black-annotation btn-xs mrgnBtm5 btn-annotation btn-annotation-pin" data-toggle="tooltip" data-placement="top" title="Draw Pin" ng-click="DrawPin($event)"><img src="content/images/draw-pin.png" alt="" title=""></button> | |
485 | + <button type="button" class="btn btn-black-annotation btn-xs mrgnBtm5 btn-annotation btn-annotation-pin" data-toggle="tooltip" data-placement="top" title="Draw Pin" ng-click="DrPin($event)"><img src="content/images/draw-pin.png" alt="" title=""></button> | |
436 | 486 | <button type="button" class="btn btn-black-annotation btn-xs mrgnBtm5 btn-annotation btn-annotation-arrow" data-toggle="tooltip" data-placement="top" title="Draw Arrow" ng-click="DrawArrow($event)"><img src="content/images/draw-arrow.png" alt="" title=""></button> |
437 | 487 | <button type="button" class="btn btn-black-annotation btn-xs mrgnBtm5 btn-annotation btn-annotation-Text" data-toggle="tooltip" data-placement="top" title="Draw Text" ng-click="DrawText($event)"><img src="content/images/draw-text.png" alt="" title=""></button> |
438 | 488 | </div> |
439 | 489 | <div class="" role="group" align="center"> |
440 | - <button type="button" class="btn btn-black-annotation btn-xs btn-annotation btn-annotation-line" data-toggle="tooltip" data-placement="top" title="Draw Line" ng-click="DrawLine($event)"><img src="content/images/draw-line.png" alt="" title=""></button> | |
490 | + <button type="button" class="btn btn-black-annotation btn-xs btn-annotation btn-annotation-line" data-toggle="tooltip" data-placement="top" title="Draw Line" ng-click="DrLine($event)"><img src="content/images/draw-line.png" alt="" title=""></button> | |
441 | 491 | <button type="button" class="btn btn-black-annotation btn-xs btn-annotation btn-annotation-rectangle" data-toggle="tooltip" data-placement="top" title="Draw Rectangle" ng-click="DrawRectangle($event)"><img src="content/images/draw-rec.png" alt="" title=""></button> |
442 | 492 | <button type="button" class="btn btn-black-annotation btn-xs btn-annotation btn-annotation-circle" data-toggle="tooltip" data-placement="top" title="Draw Circle" ng-click="DrawCircle($event)"><img src="content/images/draw-cir.png" alt="" title=""></button> |
443 | 493 | <button type="button" class="btn btn-black-annotation btn-xs btn-annotation" data-toggle="tooltip" data-placement="top" title="Draw Polygon" ng-click="DrawPolygon($event)"><img src="content/images/draw-poly.png" alt="" title=""></button> |
... | ... | @@ -445,14 +495,18 @@ |
445 | 495 | </div> |
446 | 496 | </div> |
447 | 497 | <div class="well-popup well"> |
448 | - <img src="content/images/blank-shape.jpg" alt="..." class="img-rounded img-responsive" ng-click="disableAnnotationtoolOnListManager||enableAnnotationToolBar()"> | |
498 | + <!--#7931--> | |
499 | + | |
500 | + <div id="edit-block" style="display: none; font-size: 13px;">Edit Shape Style</div> | |
501 | + <img id="OnEdtShape" src="content/images/blank-shape.jpg" alt="..." class="img-rounded img-responsive" ng-click="disableAnnotationtoolOnListManager||enableAnnotationToolBar()"> | |
502 | + | |
449 | 503 | </div> |
450 | 504 | <div class="well well-popup"> |
451 | 505 | <div class="" role="group" aria-label="..."> |
452 | 506 | <div> |
453 | 507 | <button type="button" class="btn btn-primary btn-xs pull-left btn-annotation" id="paintLine" data-toggle="tooltip" data-placement="top" title="Paint" style="margin-right:1%;" ng-click="paintBrush()"><i class="fa fa-paint-brush"></i></button> |
454 | 508 | <button type="button" class="btn btn-primary btn-xs pull-left btn-annotation" data-toggle="tooltip" data-placement="top" title="Erase" ng-click="EraseDrawing()"><i class="fa fa-eraser"></i></button> |
455 | - <div class="marginL2 pull-left"><input type="number" id="amount-2" value="25" step="1" style="width:60px;"></div> | |
509 | + <div class="marginL2 pull-left"><input type="number" id="amount-2" step="1" style="width:60px;" min="1" max="60" oninput="Brushsize(this)"></div> | |
456 | 510 | <div class="pull-left" style="width:45%; margin-left:2%;"> |
457 | 511 | <div id="slider-range-min-2"></div> |
458 | 512 | </div> |
... | ... | @@ -512,14 +566,14 @@ |
512 | 566 | <option>72</option> |
513 | 567 | </select> |
514 | 568 | <span style="vertical-align:middle;"> |
515 | - <span id="text-bold" style="background: #4B4B4B;padding:4px;cursor:pointer;margin-right:2px;"> | |
569 | + <span id="text-bold" class="Edittext-btn-css"> | |
516 | 570 | <i aria-hidden="true" class="fa fa-bold" style="color: #fff"></i> |
517 | 571 | </span> |
518 | - <span id="text-italic" style="background: #4B4B4B; padding: 4px; cursor: pointer; margin-right: 2px;"> | |
572 | + <span id="text-italic" class="Edittext-btn-css"> | |
519 | 573 | <i class="fa fa-italic" aria-hidden="true" style="color: #fff"></i> |
520 | 574 | |
521 | 575 | </span> |
522 | - <span id="text-underline" style="background: #4B4B4B; padding: 4px; cursor: pointer; margin-right: 5px;"> | |
576 | + <span id="text-underline" class="underline-btn-css"> | |
523 | 577 | <i class="fa fa-underline" aria-hidden="true" style="color: #fff"></i> |
524 | 578 | </span> |
525 | 579 | </span> |
... | ... | @@ -530,15 +584,15 @@ |
530 | 584 | </div> |
531 | 585 | |
532 | 586 | <span style="vertical-align:middle;"> |
533 | - <span id="text-left" style="background: #4B4B4B;padding:4px;cursor:pointer;margin-right:2px;"> | |
587 | + <span id="text-left" class="Edittext-btn-css"> | |
534 | 588 | <i aria-hidden="true" class="fa fa-align-left" style="color: #fff"></i> |
535 | 589 | </span> |
536 | - <span id="text-center" style="background: #4B4B4B; padding: 4px; cursor: pointer; margin-right: 2px;"> | |
590 | + <span id="text-center" class="Edittext-btn-css"> | |
537 | 591 | <i class="fa fa-align-center" aria-hidden="true" style="color: #fff"></i> |
538 | 592 | |
539 | 593 | |
540 | 594 | </span> |
541 | - <span id="text-right" style="background: #4B4B4B; padding: 4px; cursor: pointer; margin-right: 5px;"> | |
595 | + <span id="text-right" class="underline-btn-css"> | |
542 | 596 | <i class="fa fa-align-right" aria-hidden="true" style="color: #fff"></i> |
543 | 597 | |
544 | 598 | |
... | ... | @@ -680,7 +734,7 @@ |
680 | 734 | <!--Edit Shape Modal--> |
681 | 735 | |
682 | 736 | |
683 | - <div class="modeleditstyle" id="modeleditstyle" style="z-index: 1000000000; background: white; height: 433px; width: 302px;position:absolute;left:40%;top:70px;"> | |
737 | + <div class="modeleditstyle" id="modeleditstyle" style="z-index: 1000000000; background: white; height: 433px; width: 302px;position:absolute;left:0;right:0;top:70px;margin: 0 auto;"> | |
684 | 738 | <div class="modal-content"> |
685 | 739 | <div class="modal-header annotation-modal-header"> |
686 | 740 | <h4 class="modal-title" id="myModalLabel33">Edit Shape Style</h4> |
... | ... | @@ -1008,6 +1062,27 @@ |
1008 | 1062 | div.style.display = 'block'; |
1009 | 1063 | } |
1010 | 1064 | </script> |
1065 | + <script> | |
1066 | + function Brushsize(object) { | |
1067 | + | |
1068 | + if (parseInt(object.value) == 0) { | |
1069 | + //object.value = 0; | |
1070 | + object.value = object.value.slice(0, 0); | |
1071 | + | |
1072 | + } | |
1073 | + | |
1074 | + if (parseInt(object.value) <= parseInt(object.max)) { | |
1075 | + | |
1076 | + object.value = object.value; | |
1077 | + | |
1078 | + | |
1079 | + } | |
1080 | + else { | |
1081 | + object.value = object.value.slice(0, 1); | |
1082 | + | |
1083 | + } | |
1084 | + } | |
1085 | + </script> | |
1011 | 1086 | |
1012 | 1087 | |
1013 | 1088 | <!--<script src="libs/jquery/1.11.3/jquery.min.js"></script>--> |
... | ... | @@ -1055,7 +1130,7 @@ |
1055 | 1130 | |
1056 | 1131 | <script src="libs/jquery/jquery_plugin/color-picker/jquery.minicolors.min.js"></script> |
1057 | 1132 | <!--<script src="libs/colorpicker/jquery.minicolors.min.js"></script>--> |
1058 | - <script src="libs/color-picker/jquery.minicolors.min.js"></script> | |
1133 | + <!--<script src="libs/color-picker/jquery.minicolors.min.js"></script>--> | |
1059 | 1134 | |
1060 | 1135 | <script src="libs/sketch.js"></script> |
1061 | 1136 | <!--<script type="text/javascript"> |
... | ... | @@ -1161,41 +1236,83 @@ |
1161 | 1236 | |
1162 | 1237 | $("#text-left").on('click', function () { |
1163 | 1238 | |
1239 | + //Annotation: Formatting buttons color is not change when select. | |
1240 | + | |
1241 | + $("#text-center").removeClass("ActiveFormattingButtonClass"); | |
1242 | + $("#text-right").removeClass("ActiveFormattingButtonClass"); | |
1243 | + $("#text-left").addClass("ActiveFormattingButtonClass"); | |
1164 | 1244 | $("#text_area").css("text-align", "left"); |
1165 | 1245 | |
1246 | + | |
1166 | 1247 | }); |
1167 | 1248 | |
1168 | 1249 | |
1169 | 1250 | $("#text-center").on('click', function () { |
1170 | 1251 | |
1252 | + //Annotation: Formatting buttons color is not change when select. | |
1253 | + | |
1254 | + $("#text-right").removeClass("ActiveFormattingButtonClass"); | |
1255 | + $("#text-left").removeClass("ActiveFormattingButtonClass"); | |
1256 | + $("#text-center").addClass("ActiveFormattingButtonClass"); | |
1171 | 1257 | $("#text_area").css("text-align", "center"); |
1172 | 1258 | |
1259 | + | |
1173 | 1260 | }); |
1174 | 1261 | |
1175 | 1262 | |
1176 | 1263 | $("#text-right").on('click', function () { |
1177 | 1264 | |
1178 | - $("#text_area").css("text-align", "right"); | |
1265 | + //Annotation: Formatting buttons color is not change when select. | |
1179 | 1266 | |
1267 | + $("#text-left").removeClass("ActiveFormattingButtonClass"); | |
1268 | + $("#text-center").removeClass("ActiveFormattingButtonClass"); | |
1269 | + $("#text-right").addClass("ActiveFormattingButtonClass"); | |
1270 | + $("#text_area").css("text-align", "right"); | |
1180 | 1271 | }); |
1181 | 1272 | |
1182 | 1273 | |
1183 | 1274 | $("#text-bold").on('click', function () { |
1184 | 1275 | |
1185 | - $("#text_area").css("font-weight", "bold"); | |
1276 | + //Annotation: Formatting buttons color is not change when select. | |
1277 | + $("#text-bold").toggleClass("ActiveFormattingButtonClass"); | |
1278 | + | |
1279 | + if ($("#text-bold").hasClass("ActiveFormattingButtonClass")) { | |
1280 | + $("#text_area").css("font-weight", "bold"); | |
1281 | + } | |
1282 | + else { | |
1283 | + $("#text_area").css("font-weight", "normal"); | |
1284 | + } | |
1285 | + | |
1186 | 1286 | |
1187 | 1287 | }); |
1188 | 1288 | |
1189 | 1289 | $("#text-italic").on('click', function () { |
1190 | 1290 | |
1191 | - $("#text_area").css("font-style", "italic"); | |
1291 | + //Annotation: Formatting buttons color is not change when select. | |
1292 | + $("#text-italic").toggleClass("ActiveFormattingButtonClass"); | |
1293 | + if ($("#text-italic").hasClass("ActiveFormattingButtonClass")) { | |
1294 | + $("#text_area").css("font-style", "italic"); | |
1295 | + } | |
1296 | + else { | |
1297 | + $("#text_area").css("font-style", "normal"); | |
1298 | + } | |
1299 | + | |
1192 | 1300 | |
1193 | 1301 | }); |
1194 | 1302 | |
1195 | 1303 | $("#text-underline").on('click', function () { |
1196 | 1304 | |
1197 | - $("#text_area").css("text-decoration", "underline"); | |
1305 | + //Annotation: Formatting buttons color is not change when select. | |
1306 | + $("#text-underline").toggleClass("ActiveFormattingButtonClass"); | |
1198 | 1307 | |
1308 | + if ($("#text-underline").hasClass("ActiveFormattingButtonClass")) { | |
1309 | + $("#text_area").css("text-decoration", "underline"); | |
1310 | + } | |
1311 | + else { | |
1312 | + $("#text_area").css("text-decoration", "none"); | |
1313 | + } | |
1314 | + | |
1315 | + | |
1199 | 1316 | }); |
1200 | 1317 | |
1201 | 1318 | |
... | ... | @@ -1370,6 +1487,17 @@ |
1370 | 1487 | $("#draw-block").removeClass("custom-tooltip-annotation"); |
1371 | 1488 | }); |
1372 | 1489 | |
1490 | + //#7931 | |
1491 | + $("#OnEdtShape").on('mouseover', function () { | |
1492 | + $("#edit-block").addClass("custom-tooltip-annotation-edit"); | |
1493 | + $(".custom-tooltip-annotation-edit").css('display', 'block'); | |
1494 | + | |
1495 | + }).on('mouseout', function () { | |
1496 | + | |
1497 | + $(".custom-tooltip-annotation-edit").css('display', 'none'); | |
1498 | + $("#edit-block").removeClass("custom-tooltip-annotation-edit"); | |
1499 | + }); | |
1500 | + | |
1373 | 1501 | }); |
1374 | 1502 | </script> |
1375 | 1503 | ... | ... |
400-SOURCECODE/AIAHTML5.Web/libs/jquery/jquery_plugin/jsPanel/jspanel/jquery.jspanel.js
... | ... | @@ -53,7 +53,8 @@ var jsPanel = { |
53 | 53 | device: (function () { |
54 | 54 | try { |
55 | 55 | var imported = document.createElement('script'); |
56 | - imported.src = '//vendor/mobile-detect.js'; | |
56 | + //imported.src = '//vendor/mobile-detect.js'; | |
57 | + imported.src = '~/../libs/jquery/jquery_plugin/jsPanel/vendor/mobile-detect.js'; | |
57 | 58 | document.head.appendChild(imported); |
58 | 59 | |
59 | 60 | // requires "mobile-detect.js" to be loaded | ... | ... |
400-SOURCECODE/AIAHTML5.Web/themes/default/css/bootstrap/3.3.6/jquery.minicolors.css.orig deleted
1 | -.minicolors { | |
2 | -<<<<<<< HEAD | |
3 | - position: relative; | |
4 | -} | |
5 | - | |
6 | -.minicolors-sprite { | |
7 | - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA2YAAACWCAYAAAC1r5t6AAEL2klEQVR4AeSaBY8czxHFqw6SW3vvz4yiMDMnojB9pESsfI8wMzNzRGFmMhz6aGcq1btvck/PM31eec0tlYp6eqp2fOP+ba//7cm3x7K35jYbEWHd8BItieNQmmHubhGWmuLpN7ZkD/96w22B40c/+tES+y960Ys0b3PmW1vsCA385Cc/MR0veMEL7FrMe97znsd1tiQhdlPJIQ+7vk4bEYM5iA3EG/YrttZVrTEi6uvUbe3tkmqp3LthH+tBBq8zjWtN0P+/fxmIdfnAaMhvy4DBIyaTSds0TXt0dBQHBwft3t5eu7Oz0545cyZ+85vftO941zuP7LTZVE6Rhmhs7tya2d6S2W6aFyx1TAU2xDsfOmWn8z1t+Nspmyn/xjxz/evl2Chj96e+I2O3pb2OgljGFzcSKT7uYlgHdrM6K6gUtudFqGg0sZeCZhFPKXFuDLKVspFyDvXLWEq5CzKeSqS4Pq6USPH0A92kPYvBD30ktmwHKIKKTvG0A3FHEzGLI3+BNaR7OhuQ1qJp+fks/k3tV2mxevqaNHj9l4EL2ZzrKljQPHx9qefPVvyRxCVfja2ZHeifMOma3f0l6PvqP7Dr47aU+1Nuh72eMtb3FRXbozU2WaYGehvSmDaHZuBv4111Hv9ryXhCyn3oYJ0qHkuF9Igg9CjUx7pmh72Fw7/EJ7aj7ys0k+NjC/yDWyniZqsGKX5Ae7FFG2yDILfs1njYxCwl7am21AHtyEXalFfNc6DJX4H/8tRjzH196sdlTRJdn+9hf8jrvgx/O+3v4Z6Tidyb+qA1+tZ0xOqfRdiKeUrRZstm8FNDVi0y7tDpF5sfkkXRmVvU8HjyWpi1c7xhEfPOpZ1NuPlvD5ZsgeOHP/zh9Q5m7fUMZs95znOKmtSA5OQcNCTHfOvMb9dBReoR6Ik5ALECbXPDXeRQMJNa6j3BV1vhi/2geJFgG5rnRsJWaJ5BrOiUSCBrDw8Pi0QHZZubm+2//vWvKZi952PvPaiA2eAmJ4pWUZYZzzY6+4ArbP8JwGD7xf/d7gTykG2ssZHx/4B15FXGNop5QDY6WVyMM4+GAVwKZshTowxmKGgPRaB4Eo0zffazzNl+MFtOuTvlzpQxySnZpo0KeAHYBMgojhwe6RJtP6EhAmQCb5iPOAtvdMLapsGXfujNex/TAriA149UvmjUqdB/fWHOXwMuq3zg8y4APXexC3jWyHT5pTuWzcays6+9rxTYNKb+E3vArIICigA78LchWwCzDTtp3AUwYygbK5CJPZoXzNiWhirN8fvqPOBsIuXjzvcqVlYrhK7YAmaQPbFr5Mnzdo59p/eVN2YfuWXA7FTqO9J/Ter7Mvd2QNBL8x6jRkCpDmcKUFpf7Kb+IeZ8LOecyfW+lnor9YVbBMweuhjM3Dvogi2jLxc4Y/vNPxZVHW4TS5cJYlWQWsBormcwe/azn33JYMbwQLFQ6HH3yzsxq19jlJsXhtjmazCvfx29d70XzTGs9p+Yqa81IW4KYFofdLQ5kDOGL6wXsKfzoNrAaHIgV+xpCjZDWSSQNeWkbH9/P3Z3d9vt7e12Y2Oj/fe//x2///3v289/64v7Nu7fwETaPhJuga8SA5AWALMpl8TAPgG5oncCcZIdxLtvoP9bYnbC8FLUSd9An2LUkaYJ3JAjMBMgcyZMFmkGjaKhaRPn0z43L5hBA7QIytCJT+2RbnbkxCywjfSegkssKrs2PTErmo//YjKxwG7aHe1FcYqOqYKT4ZntEbN5lDMvcdqeT8NpZRAXpm7LvNny3ZTuelO2cPyfp2mHHZiK2oqFmJGNOrBAmJfgwH3dsRbsCNyBerfgK2HBdnwAYbO+l6j1DFLl0hdiuD0+n+NYaP+OgCHJa3QLc40e1F+aMfTJ0edEewwG6aBna4jjGdO/n7Dlu1fMTleBCzHRyjGa1xMzSI1fdjiu37mQPgMZHg6kuUfBDKINQxRnOA4wmxvI9qQZbWwTzRz2n/ndDY1K0h6sDnb9cPPkE7M9iWsjknM04kU28a3YxOzDNy2YraV+yuwUzJ+W9htTl9jtqQmK2FZYYl+hLOSeCmjwj+2N1AeZ/2zmf5H6S7n2LzN+eJOC2dPCvC1mjY4w2+uwZm7+61+u3GJgNrmeweyZz3xmHcwIHub7KWP9J35zQFbkqJ5SAQR1XiDGwNjgmlqvtfqrYAZ/8LOjWqRW8mEXcXeGLs71glkZWi9iHYCVHINYSwNgNh3BMFZ8/ukipMVPGKOclm1tbZUTsymY/fnPf26/+bPvXrAxwRU2OU4bmD4wc8znTY76xQaYMYBBa0y+5wzmGWxyYrb1/y84iPaKbMMfzU7MAmAm3z73fpfLjTg08lN/skKFQvYYzBTYYOvvNUGbIM3qidldALP14e/NCdA6cVQd0G5rFkWnBE7M9vknil0j5mkHGoNNIEYnacg5/YArshnvfuc0OTJjCAh5QDLcHFn5P0rnIH/SwN1q98IIvUjtoTy5MBCRjLSjw8kKC54PQBquR/MyieDJBkG12PhktchKubRm9dPvf/bk61PhEhBjWF25b3V4J6/wxT5rvUZOzA4ZuhQFqmAGITDbwlcV/61uWJZT7iOs4b/2cQXIRhIfDZ+Y7VUakTn9R4FCmnsXP/E7IeuQ09WqEav/UKNyYnYCoGlzDigDmM3sLbx8D8w+eFOB2Sj1q1K/JfXrMveUtsxNKRpzqxrrVICMbQW0GNJUb9rH8qvMfyHl05n/TsrezQNmT3lJ0NdnA+9Ll0CwEjD7weotBmZH1zOYPf3p/2PvLIDjSrKsnVllkNSy283cw8zMzDwTsPTvz7TMzMzMzBg4zMzMM83M3bZkC8uW6+Vmlu6JPX3m6qq0lrvLoVVsRuJ79VIa976vzr0nH65gpkAUggzNe9Ch148LbT7A+ffWe0XPVSLAC+7DCtRWwYzn9Dl4T1jP/cJgRWvBXARvBGbWZhDD9RjHM5gq1gHGWtNCFxnMRiDG4YuAs5WVlQZmTTEbgdmdd95Zbrrppu6TV3x+CaFB8g20WzBX3HGCNwK7VUrBGoBNmFtUbGrz2d4HrL1EoUF32Log/sk+/DwDs32tUAijgVaxvptnJvllub3o7MEDQwbEAztAVhDuyBvE2xw2FOeY2XfoBxzFzH1yLRTWOB2GMnoF0LUKAHNlQBRQJnLM8rFjwau4jE7cz6Q+13/+7L5gjx+OOO3DmQ9kvlKWZt1QRi1xNpOTZzZn4YzHwzf58w3MZgVtZjbMh1UY034DM4pEVgCTuUAWRH/RyiEbl38xZyM+QbFy/BRm3ZWCmUKYFAlxBJAxlGUizbxYy9z6tf9yyoPZnjr/lNr/+tp+RS33XYebXmLgQunsnp3AWKSaxaGMY8CZC2YY63CPa9dSecuwonItn6jza6c2mD30BUJZQmg8ljHsfO2M1uXv2bNDwAwwdGxSIMxbV8PQFMx8CBkTzEJ1zQcW1FtWzAQEixiEhKGMDoy5apqsC8EsaBf9DCcnTMGsjAFtfD2DWVEwYxMPVKyWURmaQla8nDJTyspgMACkJQazZv5x6623dp+7/qsLxeLbMpgFPOJAl9cvOjYtoYw9CErwy6i1Bp6UWvfAOcYvpJgtWgTgQssxs3H/SyjKMSvn1vaBWss30G4oEAMZ2k6OGR56NQPAQJ7BewLGCNRAm0imj8DMnhK7wK94VkIX10uv1aEoAMUsMXgFgObFOmXrF3vJyQlxTvPrKtnRow7qRH+wwqKPhTBaCF8PMgpWivKV7VrnthjnsEA8B4cPjsZLpmttptA9bIwW4U5esCNuPOr3LIQR86O5XqYQQ1xAQlcWZSoU8jhUE5/TQXqTkEX9DhefOXooCzEUNTBzRCLmOHBRRbuMEE/8cCilL8CpsoinoHz4PRfulTd3amuZdhU0f52TY7bqoUAwhrZnAHI7R/+5thkX2r/0fYAzDbdWAAuQRhQzvwSwhjEBM0iA87YpZhGo+4FaNiucjL48fQBmwV9F+yg9QBnDGVFmPrxe//MpC2b3q/Dy3bX90qaMVRAz6OoZdGlJBmaja60GqPlQNtQ5P3RRc80UxDBvBe1OxjsCtXJ5LTXkMf9uHbvxFAWzV5eUxaasYDZLP/h2EP9P8bI37N0h5h8ApKMTDGbtpVrALA5dRD+AK10bgVVy7hODmT5nBH0oWBurep0HRFCkMFf7BED+NXr/AMwKg5Xdu6Dd5hscoY05CXlErSGKAEkGs6JtVcysRviighkbfjS1rLUbpBWYf8zNzZXbbrut++LNVx1Rn4vc6mkAl4YtemFCPI+awYyEpeRF+jkIkCmckZwZjxSEMgZhVuzKqGCWZ6GC+cknCmmF5od7Nnq5kTjNxBSKeQlpVMWM5D8JZTwgLmeihiG/TAKZAGv+e2hOA+SRpey/pdn8qA8QE4jTV9EjoMyUB4PtF650IB7Rnv7E8wIwRcIUoxuhGf9wvlkMX/FzRyGYQksnLAQKRumU/K4yjZfN96Vg616x99KpUMmPVTJuS605ZhG3SIn8/xas3G73cH7sYc8TbVzwxgcz1D5lKphx1LIPanGa1qJ6/DBaQjHDDvTpFbjGjz4FmPlxl0HptQIoQyHFrLdkmzmS0j+WUw3MWs7Yf63jr+pS3t+ADAoZYCsAM+n7NdpjqmU+kEmtyhn6a1Y7gNbmWl7am+r839ax95xaYPawb0RQt2NXVfSrKLbLcvPQ8mX/PLXDwGwwyWBWc4MAZgIaMZjJOoaezVWxGKxiYItNSPQZ9blKFGoo9ylOntcIzPwcrxjMMB4pZnQfjHMo4kaKmQIYX8OqGO6ZmiTGilntAswajLXpguKBGRSzBmdVcW1zpUFaM/+opdRwxu5Lt187777kSGhinuF+oKRJKGPZ26L+JLqvcHpWYIAMQxAITMXsp+2aDQMEcjKwgnnzfpMCJRAQNOkrZxq3CTATIGMZkDeZTQZkcFOWAZhBHvHNP/RlJ/7eHKUE0V0AMw5T5A0hxyyMg8K1oEz6Or2k3urqOG571rQqb83gUPsyhl58nc7CkkKG4yeRz8K0rpOfcJkzLkPRvuLPnDBjf/mlhfecut+0QpcPWaqYhetRoJiJMoY6NgRx0rLIsCi0zD8dRvMCZYGf4ThWlACzVZ9pUAdFwq+twEm2o7+L2Zfs0y+RAjBTSENfix/KuCJtKhlKmYIZwhtbsb9Otv9m/X13qoDZi2v9A8OUX1QLQEwVMi0OrKUIzgA7IZBt7syokKbtqDCgFQBaa7+93uM3hym9+9QAs4f/3xKvUDUNY9RmMPvqn0/vMDBbnWQwqy/SADNRfuKcL4EeaceAJ2Cl53BFylqs3Pn9oUKahCT6UCXAZ0AGWOsAPb1erwFMq1tfjUjYhEOfRWELbXfOYAvQluQaMBbGkgdmGr7IqhmB2NDqVjCXAGUCZq00KBuNtXBGgNlXD950iIw+LJTR2mz2MaqlTIlihjVUt+sH4BKoZj0wi3yJS6YgMC9s461ebn16yVne1Ml8Rk7VmeX8svglpyioWd2Z+cdqAngBzLAJmcOmyZER9ZKNjb59rv3uaxWZHlwZU7YXndJqMfdoJatCBgv9zRUzqGGbxjcNaIzMP0xVQyhjsRyz/sqKE6AhaovxKPv4rff4C0UstNGcyDfRljgRIYU6CL/DBSXndjWC/Wje7jx6KPIVLPRMZPuPFboz3jM+D3/PQp/XAeWy3V0YJYv7olkgEjwKHGUCS7hc2qLRnju6OeGP3+TfBT10ybSIDFtKSRn7ENAKyBKmI7KGfrMCbDMPnIG16KZqGYq/TtV9ATMpopjFJu1gGeGY+dAq/1zFGh/M4gQ79FUxU37RfgxwyyiSZ3aMND94SnpPH+EjrZnaHMyCB7fxvGxK2SoBGgrCGFtNmmbLM/vb45MOZg3IfnSY8nNH6piCmCplUNDQFgjTEEbU22yXr7Ufyii5Zgpma9pfX9PA7Ffqte+ZbDB75PeUVIoXta1RAWNZT+Wv/O7MDgOzlUkGs/n5eYCZhDDG9u9ejpleH4QyYjwKX4wPTyboCaAPKlerNN8Mc0NTnwBgrd1pW3PMFL6o7yliuM9QVTMBMe4njNG9PJUM6/1wRRlCg0IWMeaCWVPKWruNOWAGV8Y23gCtVDBreWbdZXO3HIy+US7hi42nonFNoYxFo/5YcBK3Rg0PInf5BQWzvJGU0B7+XAQCUhjjZpYZ036OGdnlgyJlQxiPQxxVMYNtWyebsGyfs1LmA1u9s8qs5n4egZmqZAxtvXRMwhT9tzc8MMCMxii8EaB2JGWA2fJyLJDoaS3xDxbK9dSJQB0AKGudi8c6C020Han0gkBdc9d7K/w6eOLxz2FTuRJ3j+8bPLu/f2rK3mI5EA38DU97yGn635jwv0uqmukahTMGM81mcpglPj1L/okfrKXEVvnBscxuUlwQDCg5ZgN5+BjUYuKEmeGAND+xLnGePPRm8aNK/VBGXzUzGOsRnOXWX241wRltJBOY/fWxSQWzl1Rg+r5hBbMu9UQZ6xlkCXwRmNVrAqUsVM4EwBTUyibW+cW3zNe+FgfMHEhrcIa5t9XyW+1Q6wkFsx/VUMatxzYQuOUv//Jp22z+0d9m849h2t6f5Ul2Zbzvfe8LMCsRRAkY6RygJ4XhirEyVgAkTkhieL0AmPaH1C4+xPlQJblcbogl1nqwxSoYg6uqZAJe0SHQifps8IE+rgF8KZShz2DGillqQw3EGMzgwNjWMJi1AjBDvlnNMys1z6z76uHb7swzGmMioGXtzGGNuoZ4Rr/NXlVuKRhTh3lb4xw+zTlmB3Ob05c4radxYCvlmJH1fdkg5ZyBLHOfwYyhTCHMDRUi6oQMWGrJ9pIThzLul1DGaQMz3/eg4M/BKhqvgyuj5pepfslzWEtW+kKZraYcs/7SYsqmekHfYrWmkEV7LqpCAaTo7CyO6MiJ3vDZUoTIAg0ochypnwUMW50lv6vYVbglRZZk7AkPyvvgzyyFjzqjfYwWQo/Tc8TaOG1Tj7qxawikFGQAWiXr7wIqWkaXfgeGSxk6oVq14FrsDb8z2h9UNIZtKJH2vBn3wFl0DGwl2xYJCgt+p+v90x42y2/tPoxhzoe0GOQIzPx/GXFqFmoVmObtC6Wh+6/8PFPN9GDpMBc2UstarYqZ1rIpATbvHGd2NDlk69QqX5/eD2EMn17GFcxiKGulb+OAtLxqhRUzOs+sVDD7q9VJA7P7pX7+yS7n/wnoarWGLjKQoR+HMqJOAZyxioa5LeWXAbxCV8Y1zIeAhnUdwEyVs1a3z/jzkvq/WEHshskCs0f9vJwayTEX0deSMm9iSv7ST83uMDBbmmQwu/TSS8cFs3gutqJ3gChUw0qguAlIyfWBE6IXyuhAVhLg8uYU2Bia3FBGVuy88EVVzND2aoQ1RgYfViUCMVbMCtpsiQ9Y2wjMoJ41MLMzzHDANMCs1JzFUlXY7rKFO27nlxgwCMALY26YItpTNKbfUjfFLBOzkFJGsOa86IBjKM+MzD9WPMc4PsZx9CDn1P7pDcw0vwyEKQoaEWgHMKuFwWxV4UtyzDDOc14SHRLnjtQy3569OK9suYJZMTADjOFJgZoMYV2rnRefIqycUw85Zu5X6KsulOmbHNp0+qyVLu1aWAitOHyfja2aVMh9cR//o2Telkgn+HF3kwKvDf1gXazXyIPpClmota6O3Tbi540v9s8YQygjQSdAzLun/PZ0BV5fdPm+R+x38sgitSxq63pRzCId2cEDz2UeBiCHDcyOuY6M5ynWiIdhkIXlyoGUY6YPPwg25VKoKmZW5gzQmrCjxh/yxN5pLFFaoCLobgMzezDaBOWO9QXOMkIZsY7BjExAAGZ/sTQpYLanjn176qefTf3evtQjlSwCNBTpxwWujACvkxjKKO2oKJg5QCbjHfZyJKX+T1Yw++NaH58MMHv0b5SUe34emR/KwBAnFNWl/MUf2L/DzjFbmGQwu/jii0dgZmF7fmihk5NFdQkcD4uqWOx0qO6HtsZVxXSOnAzxbJz/5YUUJhwwzc+s+8P8vQVm0sY9uY/QS1cxQ23nkSWs4drMPxL6ADO2x8dZZoAxC2McGqQlBrMGZRXO0G6qWXfZ4p23phkRi1Qlm9r85aboOO5Xr13t1UKujJ7YxAoayrI6NGYDMxuP350NzNrrQt4HAAPOBAWbOQ1Uav0IzGQTuoYS7LAhwBlEJsoxEwtqgFliMJN8stEc/TlKnFpDoYwjOBMQi2KdUGcPzPAK2sDsyBH9o1BX7O8dj3h+Mc+4DpcFUEIXRraBPjMJ0aDOdD1fqp8JBRCfrztXCIqND6WrUEjdopexoqhYhNo5eIAUL6wkknWuk99peJp2Vqt83h/GcUv5JPr97nvs6e6bvar0KLouvhYHTHMA79bStHzrfDMtcp0Z7SB8DlgG2oRgFmONgplToy3jwQaXiDgPW+nWX2nPgbIvT+yWgIsdOHPAjB6+bzDWVyjzwKy1RTUrrZ5P6c+OTAKYvaT2f6MC2SMbkLVQxtpOXRYgQ9sBMVHMCN6SzZ1IKKOOlRMMZew2BbM17TOU0fVtn8X22+ilpP73pbTrPfc+mD3mjwv/1zr0q6JlCmzo589/6+k7DMyOTDKYXXTRRVDM/JwvHZfQRt9kA2vGD0VU6FG4Y4t6sqxPal+PtZxX1tpiuqEQhzmFqiivLG12/piAGtbovOaaMfABrDqGL4CZshimN8opE4v8Qm6MdzP/MCADnEExQ35Z67fxBmEjGDN3xjbX2qM8s8uWD97iv72bWIRauaWVKYdnuBjTDJRbOE2rkJ9GG/fgjBWzWg5pKKO2E+eY7ffCg6JvncXxRMFM8ssGTmwmwGzgHjgt+Rp1fD77OWZwZcTLDnLLXDhD3eaL/z5K+WctlBF/CVLE3FinLF+za2EPOryt7T48rwlT8qOJXyfPP1BzwnTmRD8v3EHR5Kpt2Exy7yn5WLZsa0/rvQ3g/LXwlULH0ND40ejaUtSP7GsXnf74AzFsTemcFB3T60UxiyP/QiMQ8SvF+YueVf75qjcpmI3v/a+hjA6Iaa306bT9cwAOrb9NTCFDjgPGQyjzzT58lpZQRmwkr5BKtoo2AxnareAabEYOmq6b+ZND9zaY/X5tf2vq9fsNxlBGcNbrKYixiibjcUjjhIQyomAc4Yi+2Udb02pbp6DWnrPY/lGG9VZ17A8qmH3vvQtmj/vrppiN/22cH75gdlFdBbP/eWCbzT/622z+sd2hjIcnGcwuuOCC/xiYSV4W1Kj2IwDlOi86Y7gGQOKdI5YAUwRWydqFwQ4/eC48k7Q9dU3nFBh1XOdwr2iucE6ewBfWMpd16sbI0MULxfyjjQ8ZvDBv/SHGyfyj/RQrGCtNLatlVDcAq+Op1sMKYjjTrJXS5kaK2crczZxeld2XFkAacYoVbmcdM7XtqB0wPWDTQn0/KL6HBiIEOb3hYBuP/AwQytheF7J9E11O09BF8QMDXQqQYV7BjFlFk+dWPSUtUXFEpqG8rdI5Zvvr+CycGQmyoJLVQrlkopwZqKkwkN2ALW0jr4zPPBskPdS11I3kNkZgtmd+LkHz4HwmwFiB0OIJPJk6tgoqTOYldi+EQaoeI7lkdCtwITs/4s6aqsUfT2ePyX4yLS4UjojwvowHw3OTIpXVGDllG9NDt1WB031RTh4rj8U9H4z2ICqXrSZnRFEq5R70vJ5CqVDp3Yc/H01snoXMM550xsZQ5Sr7KDLvr4NipgDmcg3WDBww8/LMDnovGekM0Ztmx8/OimuAWQxlOjcIk+gIzGxDx9ef7CwOxLQSqmSB0Cl9gJlAWYOxZvIxgFJmYDYQKINbI4r3FzqS0h/fdW+B2UPr+j+uEPbcWhqE1bFW58SAVjJgq5XMtYJYZJ+vMDZ2KOPWrfJjN0YeC8w/vLBFaSdWylB47D0p9b8lpV1X3ztg9vh/LRt/K8X/0Y0Mnqxu2/nsN5yxQ8AMMDQ/ya6MN998sw9mDqwAlAATpGh1DGUGV0MDCfRbYUt58ATu655dRuDFgFMc+3rkjg0dN0YAnueKiDmG0HFCFB0wE/WL1gLG5LPxg7UAJ1dNA4yJmjZs06yYydllSVUyTKHf1DCELgLaTBUbqWSYY1fGVrc1CGUEnNW5dmj58CurczcmZZEpYxgP0qbQlzw0yS9DKcgxS4FyFuRroL1stvmLHMoYhoXN4IVH3BhdMEMcJxGl85oAMNP8sYEztqo5Z61NdvnY1EImu/y7w0i/1mfCqw1wZsBF+WIEaSV85+Q/YU/ALLc6fhVF2COZgHBhyixpz6FDeMFnsCDSwZitYhOOgus4ulEPZm51YThrP4AtN1ULU20m240pS4rt3x044BslMS8pmBCYIszJtKJoPKLuj9Q2A8EsQINHw1BRsCmcdyfPRRCJ+xYFNTL5kN8RyBX/xxGPDIIM4BqGSn8DrANIitkI4NXMTM588tn2T7KkNF0EyIISruMcM8dmQgBM1bNIR2Ytec5Kl/CTTWs6Kw4E9M8CiJGGzT8GyfnvVNQO1LMlok1zZtxvuwBSoh5X31MFbToAM1PHKIRxwApZmweQtSJhjKKejcIYbTN/eNu9AWbfWiGshS7OpB6rZAC0nGjcAbGeC2KioMma5ENaGMqYt5RfpqGMCmNYD+gaxvb4vgEIroVaRnVnNYHaUh37ngphf3nPg9kT3mChjD0nqVaGXHiTHLPPvOasHWaXf2iSweymm27aEpjJeGj+0ca4L/eTvm8Mos/EfVGuvM9VGOu0ljn0vZoVKw1P5D7aOh7CmLotijqG51UrfAY0Hi88hD6DWa3VAKS0AoADmMH8w2CNwWx0DcCs1jAAaWDWfWUwfz1DVp5R+MIcxv05VctQoJghxWrghTMmGstYC56BOyMpZo1rNAJAf7KBWeHvcVHCU2fRplhOB8wGmWEMIBa+6IgUaBsSMMOPncpyBilmwEhVyNSNMUy7sfF+OgqHxQDKAGPo83pfG8A5ZnsPHvRt6ONQuNge/wSDDmMb+G2JpvTD9nT/8X7jR4n9++PoR70uXjn+D/hqm/5C2ufe2U+/0N7iAWZdrTv9H7it2QzW5BqEMvpRfqH4FDg0cpCvODP27fyyM9VoXr88ipQxfyxQzPyxQE1ziBOk2VuCI6MGi8eGH9r259j8Y60BGUIWKadsQGoZClwZ0SZQK4Azyjdrm/n9W+5JMJup9Q/V8tMKZD6gtXZOJfcCpUzHufSckMYUwRkOzA2hLMgvUzgLQhk76Qc5ZVIPoZaFJZGK1vvJkvq/UWFscM+B2ZPeZV+PZee/sa7Lk5uoi7X50y86e4cpZgcnGcxuvPFGH8zifLESHDa9JfgSwPMMPvg69znQZsVMlLHgnDFRypzaUc+idSF80RyriEXzyPQevE4OlfYArZB6NpR8soKxBlboU9hiZ3Wq9dBgrGAOYFZL19bUPs4zA5jllm/25cHha8OcjGkISugreEEx8xW2srcxDJhFvrRF+KIKTChsl2/9JjDNNaaJUoWgmGXLfCgIEZrG4dJ6QFvgu421ADPAF0qOXmwcAh0Vo00oZpIxaxvq4bt0IKXliPmvZ8X3NXDBrKR+M/9gpWzzNzheC8VMbPMXElwZ99x1F+dDUTtjyHDFD33LkFjEBIRs1clso5gqhXUFStPd1bFccANWmwjXsEYem1Ux/HXsGr5HYhdCPBeeI2MpFCw8P+7Exo00RnIUAjnz3X30WYmCoohxUu8ybOg1ZJA/jdRClu9sBo9CAyJL8ufZ5TbHz5+ygDJ+2BxaY0hNX3rW/VI6rasAVaCaGZhxnbZWpu6umK35oYwKaahdQFM4W7R/GXeMEEMdGQ/4ebCxVYYUZ92wpxuIwxfHUc+WqVQw27WwjpUHcn3iQmpZtqcosa435QEamLrUeza+qXXqrdUPMzDrE4wZkAmYUZs2lFHLXykvpvS7N91TYDZV599QoevFBF4GZP1asrWl9PJoXUcARmeUKaCh0HotuI7hy4M0lLzV/DL0pd5aCGPgyAjYEhBzFTPuvyWlXa8rqb92z4DZkz/EOWaaRavgpfHlGLdrupQ/9exzdohdPgDprkkGs+uuuw57Zlhwockx4SgABtzD1rRawMo3AsH9OJcMoY4CX655yDjKlzpHes6LHvQJgKl7o877OWaSV1boh0HMgzaEJWpfwhqLOuULoI0Wcz5Zex4+TNrADWPHzfgjQSWDUlb7qU5DMWv1aAyKGQxAajt96diRq/K0nD825YBWCGx8rR/KuOqHMooRiLVl3XKyYqoZFLPY2XtGUtLHzHooUwpmmmPmwJlsypn3RSZimSE2wnb5JZ2R2Pwj6wHSMYRJHzlnU+bKCNhC7liBGha9uUn+GZwd22YKgdneO9orqL70J3FcxKzGGsp3hxhXM2EOPRSgIULAfVFb5UMFoIpoAnAi0KLXZw6tpBwwwR7aKyCOc81SkAYuvzc+641giJQ5AzHPsj4nBj0GVO9ctyyiGs/xX5bglEY1l44BWPPbsoRryi8tnfu8B6Y0nQTE0B5aETgLlDMpCGWM+QV1wC/+ucxwZlRHxn3iyOgGAQYQJge3KZhB+luVdvRP3dugyIDNnHz3Iv4rOwZS4s8CcCsujMkODcx2HSMoI8UsDwBipJJRSZhDf9nakuz7OzfcE2D2xDr+KxW8XrAOXH0DLqtbv41HuWY9wJaYfkjtGoI4BapYHNIYqmUEYm4t7a2DGfdRK3gVag9HfdSJ+glr3lFS78dS2v3Zkw9mT/10QRjjCf0AzD7xpPN2GJjdMclgdu2117ZqGIQxen1XxWI4wu8RfVXDtI/7B/cVYNw8lFEPdvbCHGVtaOSBz5K8L1XEwj4aXk6ZhCsyoBUvzFHzytAHVGH50DqknHW4RizyU1vLxh+YM4UMh0yP+jaWWk05Zm0ufeHYkSvZvKOgZkgDr2wAZrnVzrfPUMyO9ohZGNKK9YuAGQrN4cDpBT7bVFmmiA01XhkyKWZF4cxBGgI0IlQCMwllHNDDYnzguZ+R8wns8hfzOssc11dymH+UtC9lU8vw0kMGH2LyMRVAGq4BmAHI/Ace+G0JZSwS35QBZrffzpqP4x4IECB2wohBU/E1FlpnOVikktH9cR+BLFLgsF6cE0sumNcwPdsTlmcNtgOQ0J79IEZdz1hklawjaCl4puybW+oa/UR8kvR4rxpZib4Co/4GFGjpAWl14C5Z0BDys8Z5L3y4QZiFM86UVq+PzQxru6tl2Nr+F0Y6pqHbe3ww038NGI/cGzGvfhmLCT8Nxs5DGKNAGYGWA11B31fMBgGgYY1XaD6bmSHqciSlKQtl5Kf3PSSJpzPG0HcgDYBmfJN6xwzGuBCUaUkOtGWhzExg9lvXnWwwe3Yde3OFr31QxKCQKZCJUtZqqGpmn+/mmrkKGkoMaJFalhnAFNI8tUzyyrQdFwUxtHkcgOWCmTOHkMchraljR0rqv6yC2cdOLpg97csGZqKAue1aEvoS6pgtx+xjjzx/hx0wffskuzIeOHBgLDAT447C8IIx/IRniWHOATMeU2XNvZ8DXLxWAUg+h5/fhShap9Coqhjur4Cl9wjaAmoEfgxm6AvAeXllMP6AYNbaBZ3Wr4X7DcIAa7DIxzlnrT0CMeSfNYUMYFb7DcoQyrgOZmsLV2ieWCLQyqJ+CZj5+Wey5mg2V0YwCbUJzkh4EiNDzjGr7XlrC8dI20IZyz6Yf9hmal1CewxJnqO547sYzKKQRi1CnplYpo4dzuTKmO4OZpR5MutZ3ztgxoqavHuiLXb5OMds4KpjGMsbxjpBOUMmTUl7b701dgcu8Rlf/tlXtCC6tf8ZwT089S12NfY/VYe0rfM6p32iJJmkCMf4wG5Wprb+o+eobeWCpA+ag/s4w+6aC17ymAZfeKun0hGgtfbx2jZQw//ofVXfBzOwizBNKCwFqhkUszk7tpAcGQM/w+mxgwBlkwAzhTAt8fcxEhmI6MEGZQCzvasWiFlsByPIcnaQ8SdTrc/WZ8CYFdwHOWb9NQpfPEqGHwMBMoO24uScJWqrO+NvXH0ywey5dexNFaxmGcJaG7AlJQpndOzz0VYFzcs1S7YmCagJjEFNo7FIKUNba9+VsVPzDwpXdHLKZByAVdyQxRDQMAe1sB1I/YqUdn/k5IHZM64xMJNwkOTBV95cMfvoAy7cYWB26ySD2f79+10w4z5UqiivLLi+qNok99T1stY9dDrpfTzFLVLPnBBFtF3IipQ07Rs06TUhmHEfUIVnCGAMih3UsDYRGX/wuWbFSgf44jHAGMYQzmhqGhQzrCuWZ4Ywx/T5tYXLRvxBYYmqgHnfMheEO+o892H+IeISA9ggNAnzHc7mrI5/2MRZjT9mvCBAPbiNCdUx/1A4EyMQzA08X22bgwTYwKwTMBvBUyFXRntqAzC4MRKEBaXYnyMzmJnaNSCDDyho+samfTUHwV/pSO0vjAJNpm+5ZXyc4qBHvSI+zzi+ebAmzrPGtD7X+B8T/2z/jfQiPDWz3Yk8i8+k4QHiY7OrP+CT9YUvfzy9wRctTS1r86aYDQnQHBALwUzZJRaa0FbHRrXNnzfFv0s9U/TV+GNGDpSO4cwFMzifDOUcM3I1kc1RHyxDwhSJUj3xzNhdaxyN7T45oCs5Kpn2i7crKGZr5Lw4sFrCFxMraAOEMQqUYZ2g869febLA7Dmpn99UgcqUMgGz0PRjY0ArAmcAMt/sA3OxWnYSQxlt7VbCGFtJG6plJQYxjEVghvkjBXB2csDs5pJ69YYlR9/cSVxC8e/WHvfDF120w84xu2WSwWx2djYGs83DGsFpIaQJRAlwhSGRCkce7GFNUviSfjdmjpnObQnMyFGR+nGOGX0G9zWsEf2CMVXLeI4t8QXOMD4kOCsGXTAJaUrY0OAs1YLDpaGSjfpNIQOoMZh9dm3xK5pXliM1jMGMlTVaU2h85HLWOIThrLQ6KpKLZorbspkYzlnb/2+bE8oIKMt0VpmXp1G82E3+BnoXfX2ea/GgDBvM8jYneWgsAR7ZWDE7g0IZ6w4ExBjSirxjClfbOlcxszoHiSjYOPez9Yu9eua2IYQy3nQzGUbAxCNToEZJhfObE+Ug0ct9QbN44AYEGVVk9mGzpZBig5VsGIKba5BkEbBRA5I65xzRReYbrYXPUBMP+3xlDzMKkX2VUvisMLKWF+MMiYZhQQ4707MHYEwiwpbDUGwcgrshT4xEOTVuwe9KQktHI4U0SlW8ixMamdf3f9GrnoT/zkgoI8CsIzCDclbL1FDf/NFmagCY+eJSHPXnn9WsB02bM+Pa6O39XDX+sCIwBtCKLX38UEb/nzJqmafzmo11ED2ojvOtlAZmq5QDG2TwTnGOGUrmcT/adJrBLK8wlEEtEzjDww4ExmRefTR/9fLtB7M9Dcpa+GJTygBbUMkYzFAk10xgTMZIGWNA881A4pDGCNAiy3zA1viKGQrG1lrbzSlDW3PL8hi5ZcmFs6HbBpz1RnC2/WD2rEPr5h8pCFcM3WlFMfvQWZfsMDC7aZLBbGZm5kTArKA4YDbMOSc5a8xXyeL8M1W0XMUsMgEJVC+FPoUqzG2orPkw5ithfB2DldZQwRjM1PCDgC48t6z9tLYcLg34gjqmB0yntraNq11+KzZeAGZt7mvAbLj0JQaqTLbRnG+mahgrZqi9d4QCMONovwJOoXcFzjMjQYmPAYO72Vxk/sGhjDhdJ9NrQ5GcDacwbUI9azXAjDbDfWuXIMyxsFoGOIsPmNZXNiqAstZmWJuCQqbF1re5bLoAACt4WxNVjZW1FYRBisXBME3dcKMmPmniEnAktLAvThqSvwAAAv5w1vp30OejW4768qy63H0e33sQY4HdPD8hMRnGDVYzwW1ra45YuE/O5SNwDn/BzhAq3R/mgzjjrR4VAGivay597TMAY+wWAaVMQhs7A7LjpJ51rmKGGq6MnjLm8w3W+tb5Gs4IMBukvS1jLpV0emBO5Kj6sZsJ5gFm8rBcBMjMU2OXiUl98M8GTvTZ/rnvqu19DGZZAEwRUlQyN/UP1yuY9ehh8TB5ICCGgg0qkKHIYdO//NXtBrPn1PKmClD7GMJEMfNdGd0Qx5xUWSs9CmWUcEZxZIxDGRXMMGf1pvll/qHSYSgj6vEt8juFMs0tc00/HBCzvipn6UgH5WxbwezZyyMwa0VtndDx48DFixhg9oGZS3cYmN04yWA2PT2dCKrcs8bGMOYIlS6nHeaOBW6LPMZzCmNs7pECs4/x4SuYs99fxhwfAE1r1RIf4An4Atwm9L0DpgFcuM5RzBjAWpWCUMbUmtaGfT6bgcAiH/NwaBzNAcwsH43BLH1muPxFgi7wiICW1ApnOm51ZjDLBGSblAELSyg2hnCgpTD0ikMZZ624eRtSOHzRSUwZ7hZ+yZqEYlBWOKQxcgcgMMuqU4zOMTuQCl584qdXEUCs9KcM2GasbmCm0JXTgCz0sbHVANgklNEUszwCsxv4ZZ2hByTSunR4Mqlk5Cic6YW9gDzUwAK/Ok2pyraq0ETXuu2zu1RKbzRcendfk7s29u8HX/8be2cBHEfSZeub1T1q2/N+eszMtMzMzMzMzMzMzBC8vDs/0w7Pz8zLzEwej1pWdz5nO4/8vbO3lLLGEat4ehVRkdjVVa2xpj+de88NKEMVEppnX7GSctFsKWAPKmC4vgoo8yF0BcBe7/C1KHJN1369jxWR1sV4q1Tm+Pnx9q14tytoEVYWoANfAKgK3tsNT6rlupfA6wGcrfNv3utNmZwkGGvjBmJUzgzO2gn1jP9YHMwcxgb+GWpHBfNpALLe/U76R6pSuNPDK6oTqj35v/js99XCIMz6gLBFV8cEZAtnIJ1gGYHZIz23rPVD4w5gtc+LpzF/cTb1D2BWrlIpU78/jPpYixTOrA/K/JpX3EowuwZl0zUoK4+4AV+9zUMZbQ/OyfeWG+20kBGImX8YpHmB6TaHdlxsOlPOamadnxeV1jzCEzcdzKSYqe+ARhMQgphawhdhrAouHc4EZklbo/zldqecLZ91y8Bs82aHdaJidvJYdQO1umPTxb3Lf3vO6pj95ll2ZXzFK14xBLMMiEaQls7ba1ozUszmcspsLX9/KzBt+8Yq2Ty0peGLmUtjO/x1BC5uJNBxvpuuCKwEc1o+NpSxK2WEMe2V8+LR2owzo1Syttagy8GMxaabbX6DtHjB9spL+H/BQqMPT5iHqlZpqc+wRu4zxWwf0JXqMokz4z69MgBmDx7/O66/+T80MJvLL3PFLA2qMcUs9GBQzKqrZyYL0mpS/v+12+X/7SyehYOZf0Xz/DLn5w5kUsq0dhyY4Wb7XL/x3q9dYasexMVqTe39duU9yBK3ppwxL8eBS0z568aT1LoGr3YXyZt4gME1bczJMvgQB7dsKhfZ8ZQ/g3lpU+0pjvkX/tv3ewt9o4dCFhp3EAtBmfLO+ri1VxHemPzBaW8ezLzvezC2v8Gg0l///XUQj9kp+g3KgmDWoWy7ay9iLgcxPID1XTGztkOYHOiXXTHLIgU9ZavgoaiYXTIbfNf45uHLWLtgb3OZLwCz3bmW8UcOY5rXmoMZxwKzr3rZrQKzN4hFeXosFn+PQAVAA3D1/qyCZmeiotXJQhlhkY/5QShjoH+rQxnZz86t96mSaV5q2NjkA+ONjz3HDC0A7a9rTG/dkOOWgNmD18BsUab+FyZzpirzv/D9qB3Mbr9v+e/OmV3+b5xlMHvZy15GMBvCV742r3g1oEA4owDFXRrV97pmBCBeyyEqdWT0PQNzD19jH+udobDG/W7+gTHfy8MVCXisVSZI27R+ppKxkLQYru3vsBUEtNbSoVHujACzXQvDj937dqWMJiACtgZnstRvBiCba+No88/fXnkxFS4ZgQRBy1udVMhWuVlI3csVs31yDFgGYAaTEHz1F5iV0bfZ5sr4D1hc2oCM7Yw8WP2LDsDMc8zUXxcnTlCpF2kDy2z+drKcwOyRPTcMNczsi47m5pUzh7Up1imM+Tc47/tYilnpf0KvPcfs4q/9WviRlyrzYzyfr1ui1Cmu6xPs38pj3p3w1r/LyZd8mYOZF/wdGJ38+w96W4UxWigjLPTb3KoKzlw562B20NpUMTvI/gVgzLmxy/xk1vllJ5AftCDldnYoCypmALPtrn+hjQFrM3jDeVPMaP5RukJ2W28X++ZATzgj91id5h2Y7Xs8gvqmkhW/Q85D9PQ9ATALEqOUsta6SoY9xGQ9SMVD6PyCF5eHr5SVi7Eo98Vieh1TyFIIy0MZx+YfXuNsW2D+YTDmDo122nzcslBGs8rH2E9BmPe3VNQsbPFEgJaCGefmAS2eVWP5FjUWB/Ewj/Jnb7rZKWbFf+dVdQYXKIpZuw5m/+D+5X84Z2D2a2cZzF760pcKzBJ1KwWxWcMPwpMBmvddEXOVai7ska/1NYclh69AKGM4mHnf5ghSKbT5Ps0bgG0Ci7qfDmPq6xox48goePMaZqljo9YFX4I4KWB9vs0JtrSv9v5uvfVZx0z9rpC117X5Nm798rz60AvSP1+uMBaoUVXTmHsAaBVjsso+xSViAM3D1AfDKN/scnS7/HoCV8by95tNvilmt6cm8nnsJmM1CWZ4kHVrHdaqhztmf0o3MAs/YhGqEeQomQczGXxhjcpZIMdMChhVsTzmyTROGydg9iu/khZHLl4gWhOlzx1toimEChQjrNHQZmrvSuojpPX5tqfSkOLobQtyvNzQQn2EYQIoZOrRX6Xno0W83lPX99QrmX7oJSDQjnC16HkR5uk29Gwt/NNgUMWto6Bum0IwNbfbh89Ha2YY5gDHbLNabtxn0YeJe9XN92sg7LHP4Bql7/0PH/KOhDLFwlFBM/WsA1o7V9veP+xQdrX1+7wUM4KZt/w9Rh1Zbel6MvqNX9A2MPvrHZg9Ksq1s1vlA8pMKQOQbXb9C0f92vsJnOWhjOumkDWYakoXVLL1DTArfS6SfumusmKf2kIZ1zT+8D93AcwwxxyzFX+Hcb72+aJQxgNIeGuEL2JceKN0XxS4Yd69Mz/vYYPZI2NZfjYWi7d2hYwtwWwcyjhXgLo4vA3cGfNC0x7KmPcDZ5m3yh/ml1lOWZ5bxjkrJj2hTQpIDxSyIZhhTw/3fEqN6X2RNXGqo/zum9xQzCpXOChcyAtJbtsHUbfxLx9Y/sdbDGbLWwxmh7cYzH71LIPZi1/84gzMTgVp6B/ryMg5h61kPguF9Puay0M7Tgnj2lzfwW0wZ2CWW+KHjb122Vytsg2AzEMZOXbr/JqBGRS0I+Dq6tim1zOTEiZXxqaUte0EM8GYDEHUL8+pDz0P/2fEaXMOY2KWHOI09lDGE3/t9/NBcMxftvHwL+8XPcdshDYgSoKbTnNlXLeb9QdjW3zOKtN22mx9FJjmsZRnWxbGaGjpYLbqDo4XLMfsouWY4eYFZh3W/KZtT+trDGfGEJj98i/fcjHF59nL5sdK0Kmc38fZAINaXacV4rLnG5cfGCtn3ueEz5OVT14fzT/M0x//6cPf1WAs0N8anNGp0dUzGYK00MaD3ZyHMu67GH5ke1MAYhPGUxDSCG0P7s5uxBrtPZrX6iOjdjA7yiuz0MWt9Tf9X7H6DdQEafhdBjDrXNJhrLkoLtY9jBEqWTupjol/iotQ8M2oV66D2aVqNvnFLfHxI8tArSQC6FyOmVSwCf1UJbM8s8K5pPr/Z7ywPKxfVFP59lhMn+YK2XwoI8FsbAbCecEZoa4SzqKc0j4/ZtvDoWo2r5htjgtfHOSXEbRy1ex0YDbfBl/7TTWmz42HcZRfuwZmJSZ6QbFMS2aCpNZKnF1XzP7DA8v/fM4Us18+i2DGfbNgduv7kYUbel+hgCmomVrm12Lr81lf1xwbfOTKmu5zUJ8sBFZc4zVgiZ+FMqZKmc2ntcuSWmaEt924n60fArV2fSpo7RSYyeyj9R3MuqV+eU7sP6fOhCjmypmPmXfG1wHMpiYiQVySZ0Ylwyj3zAxAEPXXxpdLD2XMCvbqqAIzuDLW+UR6wBceyBLlSi8wrZt1qlSspsaiUYJcZgByudcAOKzhD7E8+pt6NawsUsIGoYs5a9OVscSaOoApaP6glm9mpXZL/9pZ21fFX/zFKEHBKi1VrEWSDR0soPTIJCNyJa5SEUIdrzoomQxYSNOitOxQYqpfgcQnBY1jvBCW+/UYWKS9f1/yjTTjgJ6n6cwgpTV0ddRHxKcuXaWqQVvIyg88ez0UR9r521HQzd4DQqf6hMD/8lHvgb+ZMHTRwxgz9cxDGqWeXY1YrRu0UTGDGN7gawdhvT9JEevjtsf67YSWrP7lHs54NS51MDtyZIRqdgHq2S6MEX3B2qrD2RGkdVDDv/rDRcT+dQi7TSrZGlb4a4EZgIx9sg9SugJ5Zos165dl3pHs5206VwVxFspY9nkaMQLU0ALGMG9Bp5/0/NOD2RQfH8vFd8c0LSyEcdBmIOaghrGdBmnd/CMPaeRcZp/vLo2HEa1vQFZcIZurZTYbynjVAc3gzNSzm6pZtrH1TB0DeI3ArJ2H25g+PqL8yKnB7BVvfB3MEMzo8fh0/sVhU10x+5/PXP7Xc+bK+Itn1ZWxQ8AQzLR1BGClFClGae5XKSUIWHP291CefD0BqhzyEvOPQH++wLQ2IOzR+m72MZs7xr3WrwA1KmDc29YLgcsUtC0hTaC2uU5epc/v+lDIdAq23Axk21UzwZr6AjMPbWzzKZg9K/afBZBKwctPV89cISsUnhqYMYcsLPpPMOYCk0CNtcyinTL/GB2XlMNxPZyx8GsD+rrJCsQRjGGPzD/0AMgps0SUAgrVGPsdzlTcKA9l7OYfhbkbDmIcSxVDv7XF+tEVsX2YfKzNDGTdWs3plFrWH8KCTgFml171qvYuBgoJ6OBbeC0AEsVvVFjDw/GwEkyOanIBuCZ8+WeoZKec3Ryg0WquwYYeoXxtQXeCe90G1rSvH4I2gZJFrcj+HsBaAKAFf0DVNRTup0+E71Osohr2MZaUJv6AKBKgyXsaI8SSpIh7Kub8Qebm57RrGOrYf059B/gc16rxXz/+ffsffmCXv6KChnkBmbcOaCvlnF079zZx9QisFv2/+MUOutZ9Hn0AWqiPCn8lOr/EPsCsnYe7f8mPhB6OUEYEHauv+W2b6+cW43a91t/s+m1+FWWzOFLJbqNKJiCT+NROKWRXekveMUBrrVSzaS0oY12yUa4rlDP0VxXqWdV+gdkhbfBv3GzgZqmMed8fxH01P/a55ZRq2avFNL2EIYs7NWwMaEMQs3Wu2bxUNQeyOUA77gz2cyCzvhuA5IDm58giPy8m7acpZJz38fGKGUA0mf8fEeVVcYqjPP+NDmvDMv02K0Zms4et13IdzF7nmcv/dovBbHmLwewwbu3xC2cZzLpBxMYgizDG/nzumL3WwW0Qyuivd4WsCoJ023ZfgWLSQVgcKWG4BqGIUFdoid9hiPNU4Ahm3idMtjHBTKoX34NKmPaCyoaKWZp/Rot85JsF4Eyt+so105znnEUDtjaGGUh5Ruw/0yGMSlkyDwADoK2sFhrm1w5lLjjZ+IqPcV4+eSgjq4BlWIO+QMzzytgnmAHC/KHWRUTZ98xbTyL6z8Cs9FDGGo/2GmbARePpPu5gZoWl23ybQyhjBzAB15o5Z8Rnwps/DEkTgVqbuPjKV57K6eEUnh6Dd8kLU2N4cpMLynqcGqq3/gz+ovFH4wWhT28jMnhcu2Yq6fnrckVzbH2S/Vxtn8BU4P3fP/H9pZABxtDu8sU4JxVNYIZwxtW2g9nmhnK2dzUOjtSxRaxj8pDF1qIfCGVUP9CHaoZC05u4pPyyo/DFIJhBJQOkAcoutHXA2fV228HsMFYxNTBralmHsIUgrPUFYlDKJosGxFriOt8VswP8bupPcBqlzM8VrnWbMleQU4Ybsxs0IPP5LJC+PciHP6ecMoTxJbGYXi2WS4BZErI4ALIxmCHfDC2gDUYgiYW+5ZqdvtB03h85MRLOvKi0A5nWHcKScEX2B8YeiU0+ny9X0qQcPr9Ged3TWMyW+99wZ5ffwwM06+UdxzUda1fM3vRZy/9xzsDslWcZzJq1OcBsBFd1UJ8s0Odr2XLNoU3zx9rXzxSETvZZCKMpbOw7kLUuX+9wZ+tqZ/seyuhhkAxldIXMnRj7fGYA4nXMWpeqmCtmu60wAqEzI8FMsCZIk1OjwEz9IzC7P/YfEH+QTUJ9zGm+7vb3fm9LpqDt5sAxLjRVCErqV6/Z3DgH9YBaKGO91uY2fehfkvkHwMz/jksbSpcCNa8x6pgBuuy0B7Q5p80HO8T9df8/gP22XkbEo3qwExWzPPxnEIGK/l7UmOKAKtjRzVVCGtZGro2s1FTa18WXv5yRGlFBATkgZFlauXBTY5Q2RRjTHO9l7PHo7281vkx56+qa1RKzsd13wb3UjBEN5Mw5hXszKdL5be4zqRjohsZ+mNjr7s8FNd9494VROSjXBoGOA722P6CUx//xKR+C/8CrgRlkl53ZB8EsC2kEoMlCf+/wCMz2d4pZGJjFrr+mQkYQ85LtgDNGL7cQRBrNMyhZkFalezugAcR6HwqaQhxXUQ4XseiGH5MUs840E9hGypnGGZwFW4DZdNBDGYsBWTXFrCRpgXN/D7QaZ8ueY2Y3ZsDVT41rX/M5jb0i3Qc9q5wihPF7YrH4xBy8cvMP7mN/XNcsyzcriaJGMINNPvoGaCeCskOOHcZ8TBDzUMaBRX4HM0DX1FvULhu6MHKMdhTCmDwjctO+I6J8+k2D2dPfcNMVswy+PI9sDGZv9+zl/zpnoYwvP8tg1uzNHcyO63dLe4exNn8EHjPqmlviE+Lc/COOCzP0PDUHMYfIY1wZPfQw67thiM/p88ihbD6U0YtIp2CmOmN9uiQ5Zh7yKMhzs49ok+wLvNpEb6NDGUMaK8xBGM4Yvd9gTfOtbeNy/7S+L1bkEYOxlcYdvmytjQ3SDMzgcgabfIpLBmsKkEPqFjSZEvFX9Vo7r0y0fs8rewzVMrmV9PGKoYxmR0nFDDLg4VLA1WkTdLkOhDAWyITVoM3qAMznmHUwC4AZrPIRopiCGJ7Q2XovogdjAcBgn9/OyptWeCPnEl2gKlCr6QEvfVnUqGkc426KmVGVz14JciAPWPdZmB4uGKWa4UUhkGi68DrGPPU4KkTkZe2vyf/0WQhtUQ2eEJKYuxx61pjnzolmPYTT+Ir0g7BRAk9UFOI2RPVct9abgdFSDPtwT3RY3PVq7/NHFwVMaIYu+G/of3/GRwjE8MejDl+aU7HpVcV6G0dvUeNs1XPNlG9221EoY/9XMUEZmwRbBLMe1EtIczhr/arwxv4v5MJR9miJ271WGSGstw3UVn0NMNbmBGl9XHtYY2ymBmPt7DDW+zgnKmcOaLDXT0WnKwKzmT97VYQpArYuCOIofCKE0aMAlqUrZmUOxGA7iZvFHrQzRd3e54Fyk2rZO8eiFZF2RczHeevwNq5rZmuzlvolaiGU3UyuWczkmJWh8YeBGc5Z8w/PKcNanKhmWQ5iro45mOVrGh9ijL3qv31EeVrcxFEe9/o7xQzx31570hOa82RnFZh+t2cvX+1cmH/Akf4sg9n+/v5NgVkS2ugAxnmfY18Qkip0VMUIdoQjvm6mrlgOeDmYKUSS/d0CFTTmqnW+ZI0x7XNFTBC1xSKvvyXkaV9XtrRGlay6WgaVjCGO0SFKy66ehcxAtM9Vs76+g7B2ES82rTyz1qdidl9Z30uly0+ClocpEtr8Ndq7bXWBJhl9uHqGCEBP0xLT0MgQkX+X55SByhyzx8x5Gg4cTVZS0iAJXhSYSd7DzdcOY5mCRkCDDOjRf7kro4OZGWT7XXPMr3U8S6yomPEklHGMr6YW4gho6z8dhTK+5CVx5o5xxOD/P8ZWln+nn+2rffZHJ+GLyZjAtmKOGfqr6mGNHcwiB7M+BzDDvMZVe5JMprIbC8xKt8mPfirYuFrGaJ9Hu9I8IA1gpjmCGcIYC8Zklgn9OfYpZqM7rfvdC7rUF5TNBV5Um09PKmY7MLMbXHMub/13litois989/tvBswuxFR+NRaLf3FyMMv3nTCUkesDQCu7dlNyExB3ZczPuJWhjEPFzAHtJHlltwDMkHNWfc+cgvbbNUozRVzHCY/yE6/fc8wKKvqDyuxwR0aEX1wHs/d/zvLVz5ld/kvOsivjAw88cFIwqwMYi9Za39fdSl9jLeZ2+bkr4+z1Mzt8vh8Ba+Z1rooRjgRQuT0+9pkdvoBfY64RJrXWgIewpn47gtfX+lwoI9cEaXRhBIARzNineiYwI6Q1INu9XmB2d1nfncOYjU0Nq71fWp/7rC+7fIev1vdi07N1ztoJMGOOWf7NUIpZkqE19DBEEp3Dm+zy17hpD2tcc1ypqkEKtAfKzT/kythLz+Z37yLninXLen8VBaAGV0b8VAqostoYmqbhdH8gmIJXgdmLXjT4Adk43zsyxEdnkAuWX+GWEtz8247DJl14U02vYH2z/D2GyWO44LiMwDg3zz9Dfzy99pQId3xI5Wt8/sc5kDmMCdJ6H+eK+WYENJiB7G3jKpwYCWRrAhvmqZJJf1b/IQtv1NnADL+b3F+VMKZW8+h3d0bsaX21ZTPB2KNBVIcxU8mQsqVxLjo511zZhUYKxvAEZuSRwVcHtxWNPgB3K5iCdMUMahiUscCDVNBlHAdqei0e5J3uPTmYlfLFsZi+6v+Gq2Vru/p1WjDzcMWTm4E4oNVpLtfMAS2snlkOZ7ldPqHMrfK9flkMgUz763xOmYGXja3dzoGZKWNbzmM8o5p9Xo3yjXHCo/zI61mOGcPS1Zp9vo9VYLqh2Uc9d/ma5wzMXnSWwey+++4DmOUw1t0WCWPpXr/GXC4Z3BuDjo1trq0RgAY5Zu6wyDaOKRodPmfKWQZmOPK6ZVzzPvdxrre8Jg0/Shuaaqaj3BDVNnJh1CW1cOTKiHnmmLW+55jtYFVzAjKBWG8rIK31BWmtbfPlrrK+E4qZwhUNzLC2l+eRlZVUtAzMxCVgGbYJ5zyE/hU6NEbPMZutwaQ5KWYN0BxrHMb8BG0WPODhbf1BKuIuCx/AQx0pFVJkQtKcQhktHA6hjJZcnytloxN7qZgpCCt05kBm647M0gcu7+qZlTiMCy94wZBbOF/PorxFpvl/RNrzy57+gzj9dcmON3u11/qiT04UswCMca0C2Hooo6tlK40FZpWKmf6FUCkjmFE3Vqs5rrnq32EKYdZUygzEOCcY4xoNQaimhcBsB1umlq3JOD5nzNP7mev8dJDaKeGuBynLBmqtXRXtlWKmr3tGlWEUWdfzYBb2cFadLt727pOC2X+NaXplLBbTMWDWW44dtvI5B7XcTt8hrmCcG4G4UsZ5t83foH/UOpTNOjPO55ZtWK/MoEx9FpL24tEaz9Ypm2/nc8w4b2OecGw8vNZvxoi/Gic4yve+3qZGTA/7l7RElk987vK1zxmYveAsg9m99947ALP5MEWCVJIDVgVhbv4h8Oprcw6Qbgwilsugrx0jMON6IciJkbg2AjN732PBDNfmER2+CG6aFygKqnSvRdCmzwLhiwS6gEKWFZ+O1sKdkQWmt2qlrHX4akYx7doab1trYKZ8s7hrcfVO+3afhiRWAJfGrpa5olZMMUtVMz/nLCYQ+fdXJ3JlvF2BgL2Prw31YidJAzOjU2hQCmU0xcwfwoCM8yRPB7M8lNHAbPClB0oZAexiEsaYKWahPDOAWkVoIxQ07U8NQGQGfhG/v2mTzkgNgrUfzEsjrnKAzZaHpm22GWO+rNhudezusZBfHRPYadfXAjbV3in+geTONighELimBmqO+YBl31+4S/eQHumz1oI5flJVPZRywwvsx4s+7pfbcbz2l34qvtEjIWkP9cwAZwA06weUsopQxtpyzJBLVlQ4AqDGdQYAl2PBjHDWQg6lhXv1r5rDmc3pXHHuCMyomBWCGcZsC0HMmYdQxlM5ZgX5ZK6KKcesuMKfiJ3FAM1yzPJwxQTSgvMOad7vIY1vfmc5kd1HKT8Zy8V7uwpGACOoEbL8nDf78NcUgloHwGUCZNxb2hiQNTmIYXyKQtOD/DL2DcTc7AP2+MXUskC/tR2ODMwq4craahB2OAdkbpdveyy88cdrlA/uw2OP8s2vSzBjgq8nBI/+x1ij1m189vOWr3sOzD8ISM87y2B29913D8Gst97nXl1j1vzD87gcxjx0cRyuaBCHEEfr81nCHRcdsjyXzJSxyNQymn+gr3FmEiK3RAc9Wt/TWt8VM3dkrJlihr2EsupjU9Bo/iG4o3LG8Q7EBGbqNzD7+enq0+3/lAAyzSN0cYU+9vL17Ne9LMdMrTGMuzVqXgYgrZZZNzG8PA9lyDF7dETpOWY1U8pIkZjnHBW07dIgzFUygzaXA0Wo/i2NYIYHajbRj5Q1APPLnJ+1jo8e9vgYFyhm13UBqmYVXzNzbHa0djhratnl6wWmn/uc9hw3anBFIZQQd4xSer84nDi03YAUd0EsxQnFYYAQ4QBg+w20HMqwT0u4piDKn4H3TcCqqAcW8JdM6owVYFwf92aWxwhhRdfKaHIGEFlxrYAI9TJWReOPcR6muwEKt+gq+FmRPl/3Kz7zeozcqhLOAFwANaylcCYo24NbIxSzNf916GRxCfQ1n2VmsiS7SrFvY+9G9qiVi6/AF0KaUIUwFqaWEdrCwKydkwFYsX6wHUUCPgQwy/LDBFc09lCfObHG2QIzvXZZ4coYa7UOZxhzjvP+uwshkW/49JOA2fvGYvrJFLCWHDuYjUEtV8pG9vnjwtPbMsGFcdcmgMbz9KGMg9yyJMdsy/FN55XNuzDOW+L7nsOTg5kraO8eEY8bgtlXvu5hLapjdtoD9h9f+rzF658zMHvOWQazO++88+SK2Xx44qyyZmvavvG9nmNma6lCpm1Y23LMQ+tQrwhptMmvDm7YW2T24esy/yCE9rGULQttxGP3+wDoMa8sGijpebRG8MtAzV0aeSLHTIB4ZIcPt8bgPCGtz8mFUWAmda3142nT1acmQIW/RGNMaOPY1nMwywQmznmatrjHOEaK2ZyoYGA2b5W/8j4fDHaToNRNBmYCMihiazo1qu/RM318uQtNV8OPHZg9ooPZJUPK3Grawazwx+mhjAZj61whQ0u0zsEMZuDPfnaipeAw+ch3jNUg3xjjwy/q0+zllObLHPoom83VuFM8h2lyNg1EwvQIPuP0H6HvAJQnGzUFeuOia3eE4Tf42s+D4lVhNcrcMhh/7DmYsW0wFsw564qZ/4tAXpmHMqpva6mmjHpmm66YOZjR9MO18Aow0xzWBG8GZhaueCAVzGDM+qGxM4/9TWZxoDscmnkYmOFHWNSHaoZ9CGUETQKsqgPa2oDM9yZh2q/71BLHH7dFKc+PxeLVcjBzxczWx0DG1mqXLaGIEdIIYlDPdvcBIxALZTxMQxqDIY29n4UyFoOwyPPLPMcsDWGcN/wQWHHODT54jxXjDNDYz8cGbmM4e0GN8vojE8Ly+a9jYFawOgrsL9xTd2D29c9fvsE5q2P27LPsyvjnf/7nKZi1w10Ys3XPHxsBnZuEzNUxc7dGKmY+JvD4PbqidZxdPvc43PE+OYmxm4KMzEBCz0vY4phFpAmv/Si9L6gL5JLR5EPXoTtjQDnTHqlh7XR1jHPtKC2sEflm0cYEs6dOV5+SfKunt3pwnflkCGuEsob5DmZXi4MY+MUhbRAwd7l7ZTwYo+N2BgICztxikn2XCy3hbrtgCCOBy1ubc+v8PjbFLAUzPEGGlVDGBF2AsYK/o7tdPkIZpZhpjK+YnCu9Ty2gap4Vs1uO2bOe2fOd3TTC+gjh2zrkxLR7/eSvC6+nBXWJFu5Mi2p9qmawq6/uJKIe3waT/kxbRKccZy5S0KlHpQNkf88d1Qzzc18M5n6Rc9x8gzMF9wXVEXMOTse++cCURaO8whxfVUr1emZpitsbfMMX6neRwMuBzAxA1HJ+Czgz9ey2bVylBynBLLXKUV/ztdvqexVAnghltMwsjU33NhgzSCOcCcx6KKMrYhMYJWMcrlX1uc4TitmFSjt8AhcjT9EvVt0gkFtGQKMro4iyneE3neXC8qatHwZor/6UMlbLFj8J9asDExUxtvMKmlorSo21QTunplloo85aBF8OaAxpjN6eOpRRY0CbmX6kFvlbQZIVklYbs7XK5kGMLQHu5IBmQKbXm3HIWDUrn3oNzCKmo7oqpZxeL4u6je98wfKNzhmYPfMsg9mf/umfHgtm7rLoEJbszcBMLd9LALZxtczDFd35MVPlOJcoc3OhjKM6ZYQxX49snwNWUlA6hboEzNTXmGBG5Yv7aCji6hnhS2PLRet7O3C1QzXLeivlTLCmc9v2E8yePF19EpUxyCqJStb7mLfXYB8UM0b65fySOzY6mFExyw3vXDFzq3xCl06oY+oLe4xANwuDMUKahzJWz0Xr8l8fE8wuz4PZIx0reVIZgyMjc8nUX7EvMJuBsjL/U5rPBtSpHLPmIpsQWSle+4vUMl+6bL4m9GwFajCbf8EvrLGGtyb2saI0maTwxmC2VXGv/n69k2Oqcw/ughfkKwiX7DiKhUC1j4KohxpoBNvWrcn9EK78WTxSU6BFPtM9IXcQKiQhlC9yx8o3/uYv9RyzPq5q2dc+U9S2gDKAmsAMRaRTexwoZvm6m4JUgRvAbM9t8kWbFqaIP8FgTq3vZe7ZTjFzGFtTGfM5tg5jNAWB+cdVKPn6iAFoHkTBH5XWfJ9eu1ctxywSgsxuOjhvex3Mam//+5NLzB+LmOIFsVi8eh7CODhzYBNcWTtW0gbGIAmgEchOXmj6VKGMNP4Y1C/T2IHMTT+2nlfmQMbW88dG5h7cM1bKfL35UhyrmpWPeu0dmN1I6K3H2fl6zpkFEmy38SMvXL7JeTD/wPHAWQazP/7jPzYwG9Yiy8CM87N5aoCsDcYEPlezaB6iNK80/NEhzZ9jBF4KV+S432dp8wIxwCTnd2OrY1Y1BpSlBaYJe67ieVijhzIakHGdYLZB3+uYDcFMAMeQRappsNI/yjF70uLwCYSstN2z8EUAWrrfFLSDTECqCaRx3r/2d4VNZb8up18ITTErj4yoVMwca1wlM0LVQxa3yy8OY5ivgLHq+WU4CWZjxczCGAdw5k9RezsEM4OzMZgRqamYXbz//qjVVRhxRuvwyzgKT3eIqLu9WMfBwsa24AWcb6hP1UACElqCiQ5rmUJkmAKIYnK3i0d+FcCiXi8oJOTxfgpmq1FrgRqHAyBmBasrQkntZX2MItl6Lqp5vDd/JolfjpUG2XYRd/gHK8abfvtX4vdMZZ9jghfBzJWyvibzj0rzD/5r8FBGBQJjHlCGvitnV6CYFdjkW9VBjNWurFVfMKe+XBn3omwWEQKzgw5SAi7nmrUraBn7kHm6Xf6hG3q4SmZh1sXADOOV5aKtTDHjzaIvtQxrbXxAhcxDGXsfgPYfnzAPZiXeJxaLn7p5KJt8n6/Njx3Y8lBGhDseV+OseNHpzPxjEMpYTp5f5uGMcGV0xczDFXnmtcnYR+vqF+dPHsLoOWa4VqVxCM/3iIjHxsxRPuAamNWY7C9j/juQE3kkoxSzn3jh8s3OGZjdd5bB7I/+6I/Ccr5yMBsYg+iQ02L2uhmYIrPlxiCJAoeD83wWTW26A2Rpa60PVU5rhKOC+6AyVglLeR7afOiiAM7BDONNH5e21vcSyNq5AYy1aQ95lIJGJaxtZJiiA52bf7AVhFE9c7WMtvnR9jQwe+Li8PGueIVEI7IJ+9jnJODAhlBGYxlX0XyPu8y7YjY6LrmnoWdB4CHoZMI+H9DMP9a8+YL+vDRIOCPLDMGMUAZFTOGL/Dv6ytb2oJxpTzuLzD+EzdACKm6ekFYtxLFoz1HFpitHYLa6957jPf6gPrkhyK4VqBAyAAZcDrXqkI8MH3IWoKeG2uOoI3/ffI1dPGfqlNhnC54xdUDkPfKmw65sz95DJ/scPlZ3pezj4rlxqWGHWnuPwM/RPwN/cZ7vlpHfm33X1yBs0Yph7RHCOOcq2havp/lH7MDsUL97zABErZl9GLBxjYG+NdaJYsb8MurcbvZBpSwwJqwRzKCYCbTQd5WM84Cvno/G/Z5mKrt8gdWl1kLxytKX59byv/MRzGQPeZApYgZgAjOdeo0/XGuvRPzbx5fIj2WU8oKeW9YhCSGMuzHmND8EuLFBSNIKziz8sSQKmp/uzKjxfCgj+zmUxah+WVvvAIZaZejXbo2fGH3kBh8DpWzrtcocsE5u7oFn5LzmCnLN4vXmHBrLu7zWdcXMf7NxVGfceDWkK+MTXrh8i3MGZvecZTD7gz/4gxTMBFCcP5VK5q/HdQVOx5l/CJy6enY0b6YbXqS66lDfzT2wh+pXFWA5ZPEz6eOhXf5c6KIdLp8V5orpeVSPTNdg3phfA8pXWMFpwhghTaYfBDBZ5hPqdntRYLqth8BMr2tg9vjF4WOz2mNlLwtRxNiAjPNFfQOzOXZhabD9yjnnmJsFs0czjNHrk+Fh0ZJEnTS3t+EPspD3PFZz7WGOlAExL8VszvwDZv9JGWxrK/oIWxSQ4WtfDmZrgNlDNravp32uEJ11Cszuvsu0HaML/0IOoIFahgUd7nQojjA/CYWFEIMcktzF0W8k1OeL2erqgg+pSQQ2wBLBTMu8Rwe7yN6HVvd4D5EqUxkYHuiW/7X2H4e9f0p/fhDkeKP8CLULn0vJ3CF1s3SrhBuloexbfO/XmzIvVQxjqGOmngHGEMKo/oWumFku2QEUsyy8cY0x141hZP6xA7Zthy4vdCEwcxCr1uYhjXsaI8cM8NVZxeEsHMy0p+/HQ5m5IUIZ3WWxmKAZMNP0NeabaQ+ul4OZw5iT5YFJfBi74tbs8v/FY+fA7P1isfiJWHoeGYFrZAbiMDZ0arR5W59yMHNXRoe0OrlSxnFgPoEzjRO1bM4m33PMrlpLAPNz1nkxzyGzVufpwczXDUw9Z+09I+KOFMze8hqY1aIcMw9F0NhhKZurUeo27nnR8q3OWR2zu86yK+PjH//4mwYzG8dQTUvCGDW0fQ5YBl/z10df8yN1jXORF4rO93F+BGIAPY59jWAWiVW+j+nE6Bb70UGKr3GFzEMZtx3IArXLUkOQdmiNNc8U5tjG19p47PLw52LvmD9b7sG0cM/hjPvU7/vQPygOZANQY9+Us2aZ/zc9pHFs/vEI5pjxawMeCvIgSdOlw7Zvu8TN8qF4gigN0tJcs3EoozsyzqcCzs9bv3Ywoyp2EJXqmOZP/FPiw2xi9fM/HwUuhgZQc6BlmhIBYL7umMEfwvKQFVUYFilQICSVQCNIwXvCph4PorkSZB5cwNU/Xac1ukkQGFMROMbb21g32MYIT+z3VolepX9mTP4qN8CuFFjVF8IrgRWfj/LMUgUNP29+HlWvwbX8eWvPjdMajFLe6ge+WUlJPQSxOqihJaBVW99yrlvlt2u2L40lU8nQ11o1ILOwxkRVu9L729jrKtklAlYUV8janJt+AMQq1DWCnBSz4uoY4ezA58ksjBrkvOeY0YhIkAVD32KM3OYLHBoJYcVCsKsrZgQvu8HhWm+z/fXa+Y/vyMGsxP2xWLwJgYuAxnnODez0R+GPqFWGcQptWfFpAJupZ7XIlXHqihJyzQaFpk+UX4a+qWOwyHfDj4J6ZJyLIZhxjuN5+ErVtBQ+ff1w/pp3RsTbRHKU12lgRlfGU1f/vw5mz3/R8m3OgfkHAennzzKYPfaxjyWYGXDluWbqZ685gV3+1pWzE9rl++vnVLEUnDI1zccDMJsLa/R9vMgGfcFl6X2uEcx4P4Ss3WsBVSq6revpCEEiQE1QlYIZxwIzg7DMuZFg1tqWW6Zx3LE4/Bn/5k7li2uVoMaTPANIK41lumLGKJiD3lqQSf7V38GMOWZDMJu3zoBC5pW0e0ta7fs2S8AWbp6QBgHKZUGN6c5IMHNFYrkDsxq3RwFS0tSDOFl1l6aO5aw9AczU4uYt/8yVs/yraG11zK6dtYHZ0552w0wCIXKW6KxepD3t2ZojYmHIYzCEzyBuN3IwYM0vOARObQ1gxnsUsW1vgFmZOggihNDyB3T10u67uG5n1Ff7XgFQX7dDT82raC8lQKuLViNg7DFF4Bp4z9qfT+/VH7mNXcVivgSVN9IpcwPVnfpnrLDNfjMAM32+9mn1ubf50e8AUPWTNcu45nC2Z4pZkmfW5g8dugRkqWrW9k0K7uW69ijYF8WmpZjlmaNtrThs9fHudQQ3nFWv1y9ggtmB5Yv1sStmEpaYh1ZNiOrXgWJmcBbuvmjzrooFlLRiP0qZf9RD0CJu3CGMN6p1EqfWWD27gdljfi774vzfY9qFMV68AVjLY4DLoU3Kll43BDKceO0AzGAGwnGSa0b7/GlYaJoQdJhCitqKNjtdMauxzXPLMhBTH+M0h2w8tjMHtvl1f3acV2qU14iIXw47yn99zcMaTTHLa4akc5xmvHkDs1940fLtzhmYPe0sg9kdd9xxU2A2yENzIPP9GqfOiQ5pBnvVrfIzJc9DIHlkYY9YczXL7faHillyuJomcFI/BUHBj57dapRtLYctCFWCJ+uHwiP7SeATeFEx0801yOLrKh0aextwatyttfZnF4c/LbCieHRk+JGoaVVzhDIPaVQLMCMCuLi0b8DGuYdMk/nrE4cyPhKKGa3xJf8JxARmePCMVjeLJv8BwPoDaG6dnolhiB6mK2cOZhbKeAkFphuQudmHQhbV1x7OEdr2eoHp/8PeW0C5ciTruhFV0h57+zIzMzMzDjMzMzN7mD3owTse8DCeAR+PD148zMzMjONt75Yq35OVsfqbf4WyqjRafnq3j9aqXZmRmaVK9e7u+vqP/LNwVYw+zEjaosljaWE7Ek3drt+mMl533X4bjclLrzH/clP39BKoKge4z71fchMAS5GlZt53Edv6eCEy/+7G56xdZvZj8L++90rmw+VKWfxMYlqjwtg5SXEEmNVUxgTErEKYKYgJxJ2uMbsIGGP649rOmeNPLcXOm9s5TWGU+rlTY49NnH+OqfU4M5XRCGfKNApmEjcAm+zpDDBLdllpqPgpkGlfBTM74Y0AwEiTGtOJ8CyAd9lH3fS/uPv7rOvvo/B1Wm9DWjOu7R0UsrzOvozNNANxK9jbjMqZ7mk2N5VR15epYqaGH2nqYronGSGsaYef15twxrbSTl2U/tL+7mL2YJOX/8l/gFRGTWPctXAYZYKZlcF+9lsXtzpjYPa5YwazT3ziEwpmY4YfCmHa1rTdl3jUVe0yvUZz3zIBJY2hrOPUmVH659DEur7GQS13ZVR45ObSYaoS+4jpJtWimLE+msoY10tMPiz6SZnpiyUOWOhvzvaxfvURuyRXwgrKHnWkM5aIK7xFnYpZi1k0JjxzoUiyXD3aT4xIZZQdwPQxApNBOaHM9QIKWalnVc8M8XI6iYtwa5SdtPM1ZsWW5va7mYQJCMMDEGDMcOQxgFkKY7rejG2FscyTjmvMrr1Wp2NT6UiNI/SVjxdwaQ1i7VB4VUQlQ/pie6nW1N2cLQFTVnX+LOrv/nT9HF9x7zkXZiYmRRXQPaeaxKks3uoDbxOlrJYBXWiDSkaIGxgHxG2PE4DWReNKSweA8UCqo8KZCuc0/9CfScnaMkKX/omF/QpQKFPMDGAW5SaUcRnXRXFjjD4CZu30aXw50nZkxEt5YQJmSpVaVtUsVDHXiaD/uQ/rf70/aN79iC3637sbshYj8EWlDGdVxhI1rV1XEJN6vuaMhxh/0D4/NwFp2+XnNvkKZ1Ef6vvscmEsAl85mE1eU4b+uhcZ66OKmvZRMPvVwfwv1CXwFi//3f9wXdalw/rqxGVKXmyPV1cVs9/+1sVtzhiYfekxg9nHPvaxcTBrt9lIimNub896vql0U41T4EogLHvv/cEML1XSGG8Zg7CNY6PONWYxJ7HKD8WvcP8ypiiirG3RHGXLwEzhiwqetkWcR4DZR/vVh4y2+PwNSSBTCNMj+km7mn9c1ExAKmNo1+QTBbN5a8zE+MPg/a9AtrnhjmvMCGY9YUwm49t6LkCFswnKUM0CzEQKOWdlo5iFWqapQpGyKLEdhzBzZxfroya/AnikrO3q1siy2iCUmmzqdmLnrrnGAgK2bsGl1lPuEBMOpBHmr+RahQvEaihJpXRvmHLo+jWm67F3BOE4yNRJvb9IKZTbxTUTJ0mbCFm61TWxiRt46/uM8G2RPnFFXC+HNLk/rttLIBZ5k+kcFepv85F3QuGyOMSR0Wt7kb44R7soaGGXD+hCmYAm9fguQllBjW6NA7Vs9VvV/PAEwuixqmcqZlTLaAJSbqR1PmFMxajKNMI/pf5hqT+B1X1ii5+nUmuyRQPQCGZO0NoFZiBOweWIV0gDnG3qH1LXvHtZ13/A+t5lfdluSGNdjvltbXMQxhqpjGhzmoFU1cwV0NJDnQg1hbFlk78Si/xsM2nEUG6DWQ5iWtf+E9va68p2QWoZzO5q5p80vHxZFTOHXTCcquQlClqyxuzkWxe3O2OujJ89ZlfGH/mRH5kOZji3wEz6BHxl7cbrE9IINuHKGHG9rzEo0zaBKo1FeWhde2TjaF5DX2MbTFuAGeORfsh505FRlLGomoKZwJoxrmC2ORPatE0t9mEK4h/uVh/YBWa+S0nTGOps0zVmmT6jR+uh5gLAbEoqo4BZPWeL4ujIGEQqC+aomOmyrIvYv2znBNGnGoDUDdqqyKQLlMyWFS/P79y3rNSP3+Xv6vmB2QC8KpxFGdRZdL0Z4s5kLoCZ2+e3iVqf+cz+uYLsJaX2UNkDa86V87cA2iCi4h9K8g77pUfqTWlTvjGaDh9v0KC8ie4Xp135V1/HGjnsWb3XyxvDb/fx91AxO/VmX27OgLAoq5JGECO4BdQtzVaEryacsawo4M0N9ddbxQwgBj08cVnEpFAXOIv+8VNg6Mgj1gm7KGyRZ9QYhBxEcOtOYHwJONMURe5scI6M7NpfOJsbTGfglSyMk5XMoE7SpvRffUDAzD9pfX+nNH2R9Q7AtmivMZvn3NgAMakLiMlm1V6vh02na5/BA8gAaOmRQZnt3L/spLG+rBDIankczBS6PN+TrG2TP5qimANoE9bk8I8Us3t+IZj9EzX/0HT0VjYJCvXZffWNizucMTD79DGD2Q/90A/NSmXUPpmqNaKuDRmY6fqvCaYe+ftKu5p/aB+pD2QjxPX+Wy9Ne2RZ17EpWGVgFuMjzhjHxkHoNKY/ah+FstqHUGYBXGhj+qKmMkbdP9it3rdL/XKAWpSd7EIYoyvjEtcSV8aL43CmahqPPcHsvKQL6URVOSOV0i5/ETcYk0Kd5BltJYCstjP1kamMxWzl+RqzNJURlvia/hN9avs5whse+xyKGSYhroyiqAGtZX0aJlTB7FOfShWZXGXZa7mRujXOX8KU39z8lxq7S/mQr/wW9QPY9xWc1Xrv9oemEtf8WbXTWO/wqfdD9cJTPp7kBcBifzKMi7KmPw51HzMFMdYzwdxxlrVncnCNmWGHQVW+rAVm0JyiHP2Y8uiD173GEn4h37CuKhnj0R9c01+EGlaFSjH4QBl1g7hpumyQx5YlzNbJmrGL9WZjkrF/2Q7CZL1IquOF9/F/2x81777f+v73zVbJCGBtVQzwJjA3tll1F+fmnmdwZuzTjadLc28zTWUkuDRSGQFjksYYaYqSuqj1OE9RzPKYGpbMVctWo3HfEd+kM9pfNbNftvry/l9tzT80byB9FZRdswqKuQ+2+t+LO50xMPuSYwazH/iBH1Awy+FL4Gisv/YVOGqlPWrKo2X9GtfQchPMdBPpZHzbVr+hkrEfwrwvY13AjGDHa3CDaa4lY1tU8rKsMaPbIt+XClmUFcbirGD2/m71Xtu1luyc2VBjVNT8HDwyAtrgxGhRF/OPcSBTb8DcOn9GKmNVxc7TEp8wFtKg5HBGe6VMT1wZTxJzjxMjkAnLqI0+XBkBZvgzGsw/1GUx+5t6FxC28wA/bx8hKyZTJdP1ZBHTVMah2iBUIxDRNFd27pOf1HTFfG+vQzhGZKmC6s8v4KHrsooxru+tE8niu9BE8UyH5A0CXO191bScv9ThcDYN6h0kqZ/jhJfvlYaw/A+RS93pmg9DCYsD9XNUzvTM9ogR2IaqmAGskKJ4EeUEzkRIr5AW+6DFd4+AmQt4QTVDfEc5IEzjYQoyeK6MAdQiHoxDgaklSgX/dCeqeKlqpgqZpDLK2HMFilmN9aWCmU6m4EYrfcohypk60WLiv/Fe/q/cpDF+0JYb+FEoYz0AKSCNSlqjT9+hPOeYZhAiYIa6rjdzK97ZCvuZtV0ZFUjoxhiAFumLBkAbbK1ry1Qha20aDTCcZ32fQtSstWXaPh7zu5rZJ07B7D+vSymdfdGvyrTrr1zc5YyB2SeOGcy+7/u+L8BsXBUTyIk40g11XBOi6i1oumIhjMFdUV0aFaLSe9zRJwWzsZTF7JoKTy1wkzVm8b6xuTVhjGYfcf3YeBpAV/vjHOYdYaVf16INAC8Lq36AmRHcAGPxMgKYwtjmTGfHTSrj+/v1u2Pz6LIUMKNyxtg5PhdEGUIT+geYtX9taixPZ7wAMLvexlLVzofeBDCLlCHddE12zPZMNgSYqex3MZ9gEpP1Zg7zD8lvqOYfv8uKXUL/tgAzfYSDOqYwlsFZx0noDSMeAKf9mKhFl8YS5h8f/3g7k+3wdojtVMXDv9vBZyW5iiN9GvOUWh6bfvnDz5f95r3NXT73MYWyqoa5pihKuWgd/bG32SKS5lz/x0u5jChp3kzRHuCsSCVfVTJNUzSoYqbpi1GOMQQzTWG8GGe6NubZghrjEeYfhC1Nm25kvqdteq3eAGYmdGkaQ9w1lYExGfvL7+EGwJ+wRX9n6zV9cYZStphrEKKpjApd2fgur8eYfI8zBTRVzFqpjLla1jL9qPXdG0hbWzGbuH5smG3s0QYwjU8GNUlndL+tpjKq22Je5ouujOWaxd3OhPkH/DWOGcy+93u/l2BmY6pYvhl02ypfN5QWqEv7EcQAbfF2+2wqbYAwaUNdAqimAJcbfoy/YhznKrCXmoLEfUQ9PhdVx6JfhbEhbPBxHW5CHdAW0DWImsZ0RjUD4ZgAM796sX6XicrltW44R5ujn+WAxjEJmKGs9cY2YNRkZqYyAsiyzdooBarVZCXNgLfVQqDMpZ6VHWVOTo0MRU6oH+P5aqSNv6XLShOXB5sy+vCzjH3M8hsWGMOjKMoBY1k6Y9mYf3z0o20R7Phfe0hRh3/HvOFgV9Q2jR/F58ued/+KL6lQ5QlsWdTlG2AgqKHfIDINFDMm+saZB/VkqGLoj291mBvVa69p4EF/1RxlEGffc8leZsuAM4CZKGJRJnQp16i6hr6cXH+id6t33o4tx+CtmPVcYxY3ScWsi9xKtJmuK0OKQ4wlqP3su+I/4R+yrvtBW/S/XyFstC6Q1dyUmmPa4DYbzOQMWEscGrswApGNpgXOCD3r3PijQhqBLFIYrQFmBLL9wUyP+XuRtWDM58DZLw/mf9nMft3MzO1uq2ImqYztn7mNlPDB7GP9Pc6YK+NHjtmV8eqrrw4wu0lBcXeFnDJm/kGlqEIUzzGG1w/ICnVHr20ZVNXDVFlimXBDACQ8NVQ03assTUeUsVS/hkRFY13Lus9ZvD0/wxhj7M94XCtiUVdVjEpdgFWEmNoYEKcbVHNTaoBcHHGdm8Dsvf36KmTx1TNYBZDl+G1a+IxAhll+4XUGATP+XmdMuYbtutH0b1Exa6Yy/q66Z9ml2W7YnCCOOtGhthHeVsut7X3c2InzxsVKX+oXdd3ZRjUbzK6v6YzpPmZul9lQUxlNUxnF4cxtGbFQ0GK23PmIYKZUiUfQEgCGckMClGTTE1t++MNtW0ENja9p2n+/s/Fr6Ko3TbWbnz5Ie3m9TDstkUVtbt6x9k3HaFDrGtB0UO2j3Q7GrfmIe3z1Z09z35ZcS+b1zLRGAlxJ4EzALMw/kj9JUDE7gQ0+wawtmNOCv9jalvU7Um3xl5m5PL+DY3JRFnUNCcuDA6oAZNU2v5yIUkaAQzzKJVmy1a92gZmw8X4xKmZIR8wVMoUynVS6yjn6/+RVHv4y1nWfIXARtnITkHa71tuW+vs4No6DWXuPM0lllDKATGAkU8x0z7Iia8ss6gJc2bkEWEU97gOKmFcL/nF7+3Z7OzanfTC7pZndtC+y2/3rGjNJBm+uzWUf40rqwezqxb3OGJh96JjB7N3vfrfuLZanKzZgDeNMrzNlLVmFqnxTaYGqfO2YqGJ4EdxwPbbFfXMD6EHH8hVtunH0XMVMoE9NPqLO9EhdfxZwy/e1gN0KVwGbMTT6pxtPC4yZGoYw9bFuPu2bC2GT6c34/l3d6h1FfiM6QAyQJuAGSOM4toViBjZJICyN6UFN5vP1GE1lLJdtznBcvCTKmBTpEzCm8iA3mI4bPYnNprGmDGWZJPY0M6QyFihmHhPAGjP8XT2ATM7nCGrNv0hHe7FOHj+FLnnOVTO1zw8z8Apmiw9+cP+EPvbNPRF3+SDKSE30O9AtaUzfe+JLR+lM1YERXWclBkqoHcP2Bdpt7gTr74qD5o/e639ei//ImsJoCmbsCyhjOVHMRBG7mNcJbIli1l47O9hSdxtMtG6Na59zSRvqg1uHN/YTQNZGaMKEnF4agDKpI4Y1Zi5QVSKWiJkO48xgZozH2CgDzOSvYFlOpp550zwXmciPvDN+pLzG+v4phLG8rPUmpKHciGldnB1zSJu795nnClrnda3ZWCqjB4jpObXI37QVri2r41tglht7HF4pm5iamI9pg9vLzezZ2x93j1gVQypjBmN5TEGtOqq/bXGfMwZmHzhmMHvXu961F5iNgZrC14hjo44zvQ7G83rRL1XFWBbwau1jpnCn19ZXqhzOecW1mdqo6YuqjKFdrxGHxoeIA77i+jomP9QMRMpIeez+W7d6ewAYVbGyZFpj1AXgAGxxKB0MS1XM2kA2RZP5bYtNWhsvrDFLbPL177QEM55F/lvIRGJiO2FMYqKa0WqSG0wzlZGOjDx4Z4Q0xHnWsqQy6s3CTl/VMhqEsH4BYLayxfvff8jstt95HUEqYVveu3le9/marwBQaeqiwpjBRp8QhjJTIZelujIGXKlipvUsAZj1KBPaCGZUy3TtmMbPaV0TmKG2iWJ2URUzMfEA27DdRuAs1pidc/iteCJWigsjlgRyJuiHegkwW+nNQf5L/8DEG05oU9acff/b3cw6c/+f1vf/KgeurKwwpm3sPxXMoKC10xszBU1SJtt7nDE+eEe1jGmNoU41rfIVzNZW8vRFlnkWI4/9jT3aaYqje5JpfX7bVxez/2xmg9sToZjl6tjEjcwqmL1+cb8zYP5BQHrfMYPZVVddtReYMdWO5xZ4EaqYyujutmMfMzUWYYwgFXxhm7goYqPKWdx3o877HDStUa+5D5hxnzZ9D0KaGIgYrsFxFoCYwRevJaYhCmcaD2XMapzGIGH+sWnq3tGt3mYEM6pdUMVcYqKaQS2Lc41VMGvrMdKOQzegDsVsWirjZTWV8ZL2Fqe6EVtXz1hYF4pZAmY1xnTFaItYAZiFqtZhL7NdYOZ23opAGf3avH78Q1jj19k4HvMQx+xdUhn10/cKbkUVM6hlHfZCK3XrXAswu/rqQ1GWuMHr3xNLNUpU/8MmUkigqEqnnbVyeEv69r22XRDbTpB6Be2tfXAFbW+bVRbXJtnoWseOXKT+njDe6/2+4atVXgkAQ8wCtGAQQkUNRCCQFmAm6hjLbItyA9hyX9PBFro3GVIVz6Vg5iiXbEWptNnQpUBmCmPKMwJkMlbAjHdLuJI4ztpfWZplNf8QtUxkvrDLzWgSZ9rsR/t3vc3N7M+Zdz9ofb+cDWaNtv0t9tN1aRGLM2IKbh3G5ZtRi3IWUEYwi3ojlTEFM8IYjoCi1j5l6KPQJf3GLPGnm3octO3CYLZZZ/Yzbs9cFeuSVMbsVcZSHAazl/cPOGNg9t5jBrN3vOMdCmYlM90IGOJaKFWlZqprBBkFMAsYUtWtllMImlgmlE1Zd5aaf2i7xgSgsvVlqSIXIKTX5/ovmn1QJUN8YFlSIC3WlUU53jNrq/DlNbau92HrLYFZXVN2UxlGIN3b+/WbTVUvras6JupZWWoqYxxil1/kgcajrA70FKJUMVMwQ8HVlfGyur4sfP0BY6qG6aZs2YcySCojoUvXm+XMwyNSGSuYSSoaFLNLG8lOWm7cPTkaekB2s1IGjGm72LNUbeDEFu95j/ySOYIX7uUonRnZaTxtUfsc/q60WRsOO2xS1wd88//Up3msD0OdcsxyiL4KY3quYNaCL8YIbApyuulEQRypjLs08AAxtqXryyRWj9jHzABWLHvGN+inEEf/DLZ3q9H1YnWmO+CrKMyFAhfjoJjZRdxERopxKHFmbXKNb3urm9nfss6/S0GLkNUGrvnpjnl/vW4T2ujcyHN73VkXdUe8s+KR0si1ZprKqBb5FjCGdWZmxVwVMoGwBphJ+3Rb+8OvGUvfp10eitnfMLMfcHsRFbN9X1hj9vzFg86YXf67j9mV8Zu/+Zt3ghnLoqZpm44pOk7haORsgBVtz8bsVcacIqiqVeHeZa1+hLa49/mvNtQp2Ilixjjr0T6oiQiNPbg+DSDIMSXqFcain8UYgtnb+vWV5ZwoYnoAyFiPcREvqqDVFMhVmsooZezBfKKP/QFoALM8lTHYBmAWiYCx8RoBzHUyOZglqYw1P1NMPvD7PyfQEnVObGcq49KsKmaOLWTdluHRBjVsE+ej2i4oE/MPInF24zQDib7iWXfRSoAZFbN3vWvffY+h9xxIfVIjjlSJGh8/Hjy8iaJW29FWq85eBcP2p6Jflf1TGkXx03HaQ14P+vavUTATuNI6LfXZhjLNPxZbMJP/7fhOSMEMyn6MMYwTs6MUzM5lZ/2OlrqWl18IdkN3yh8nUMiUZU6Y1YcDfaUMMAvhMs5t9Usz4gFmaONYXWOmFEl5L7vh5Kbjw2DbN1zpZvYc6/uXEJYUjEbjUh5vm2MUspjn3CgqWg5oLnb6but0rZkCCuFMrfJp+GENMJuxpqxek+rZfDXMD6aQTYg/zcxe4/bqdQWzL/IVz+dPWzzkjIHZVccIZvw8RsBMwSY3/MjBLAJDZoOv40LpCR6S6xOgmsAmZX1/vSb7KVjl15aXjkmukcKWvrS/lFOoCqWsjk9TGYPL1Jkx+vH6tL1nSmXAm5YDzMRGv3tLv35T9lszuKVQMUO7HhzL8lDBDM8HLKtPlpYz23wFs3YqY1jll2ynbH0Q4sQTnWlYaApjAJfma0q718lKumNsOH1h0y5pZhXALgurfB4KXnBhXFrRL6XWI5URUJavN6MeUKSe+GwinfHEune+03wHDIDYkI64aY9wluKGJD4nZakbSKnX8KZjYJL4R8iLWIKMce1aLx5jZKPrgo2rlQrx3jD+sGjWQtH0F+mU0CdnYTG/2ggQk7G1v5t5zEXpOqp1DL9+o3Sr81XAlq8tP+34Ij7ke75RwSpATf76UKSfqmgEMqQ6bsBMvgOodokqhoMAB6UMB/XlDZiFDh4gBZ2okcKY4o5Y59drDJ7CVQhPaTbgibJL1HkNgpmgJEELdck8lVnIQZNNC7v8IXFZxCGg1ogD4mp9M/GvuQnMrrBF/+R2+mI9j8e13i6PgZm8Rz6m03MbzNQMpN+mNZZ8rVlmly8W+QFlsjcZyoAvlhOnxbZSRjhUmJtv1nEQEJM+fpMBiNuVDVdGm7HOzIvZMJg9bvGwM7aP2X87ZjD7hm/4BgWzqWmJzbVnWtf4rnPABGPhPOjuU2GMsXZ9vO9kMFO4mvsSNawVp4Mj2whyes6UMrY315qxTqt8thPMruzXbzD9k2bUBc6yo0Adc8RiaZaCGQ/VapRvdNnWDWWrqF0PMMv/sO7bFEa/rKpkl+4w9KgxY7whH9ZUxmQSiNGCMs0K1I2mdY0ZNpg2u4zb0OYGH6GcoT5+qF1+js2Szog1ZRZ1SWeMVMb+HW9PFQ9yAEGIcXKDNralM1PYkFGACbGxT7lGAUnpxNLdaaIkdQuIUwt9ZVVlTdbz20mUr1xJVHjkeweIyoWTeclJ3l+vC7jKBuoMR/S5h3/ft2QKmahj2r6JQdZRmON5EdoMVDKsyMz/fBF92ebSjxtSF6hb4qSYpCkA3lDG6lHC3HbybTA7yWFNyozJj4UczFKlTBFS2rWNZVHMAFSkyTyVkSmPkAxBn/Kz73+8YWnm32+L/i+GMpXCVROssriO5XgZN3kza/Rr73WWrzuLs4JaHJ0agZgoZ7p/mdEmX9aVBYTpmZC1v6viPPjyQypiY+XvL2Z/2+2deSqjAtp4vILZwxaPOGNg9vZjBrOv+7qvGwezA5/1+qKYxWtAnW2qulHpsnHw2r9N+u1tic86X1S+atXoyhjqF6CM5YI90GwkrbEJY+jDg3EFMT26N/br1xlAKgALXKKwFjGkMiZghvJJh9/zlVl2Wk8UilK5MyPBLH0V38KYXRZ+hqqY7d4PwPFooGDGVMZVPWMyBLL8cHFwDPMPN1vJ43dVwC5VQ21AGB9kIsUx6ipkLrEb0jLs8vUGc+KkHpA+nQWw0fyje9vbRE0J8QdP8PB7UNiA3JSbXlARKptuOzfnrNBQewPeABPKdwEqCjz1PXODfN+lyRXIZS6Alm1pJgpUdCzm+LwUMuWVglt9f95pqTNyjWXbl9V7EKhGGQInbgJB11v0repoAYYkT7PadjrTR/zQd8p/7hJlhTGWa1/El9Ie8YUkzQmYpQqZtJ2Y2ukXTQCG+Ue2fizHlpIgTRGsKVEOu3xhGG+KTXlbaQCbn+xwgdUZhBujqvesM6bmHz6IEwko01T6Q1l/ltGKkqmPX/4Gt85+1LrFn7flBlwWZsu2uYfCVhvA5q5JA2hl9Y59O9nEWq/XcG7kvmZQ0ErnNljH9WY5qIhapvuU0R5/BSAbWI8jT1Vkub35816KWLu82r/vD5rZX3V7/7qaf4zvNDli6bQFs/v2jzpjYPbWYwazr/mar1EwmwVoFpXxVEaFkLZipu3z15jRdl7vM8pqw1+YNnlgMMvXkUl3ghnSMDchBTMqi6KQ5TAWL6Q1ZqmMeP+41uyje0O/vsKCU7hWLIEyT9sa0AbFbBwBVLsRd0aCWT1G9zELs/lyCdMWiSpKl+JismQbUhkNm7MJnOlxEqmMhZtNwzIfoMYfzvVuw7pE9y3jY1nUN23LDNyiHLOmK2M9F3n8hBYA24OTWoceIFqARSrjm9+M1DU/BZtS4sG+noEVkUKHX1puASUB3LVPKic5NuFygZfTN2RLMUJFtFu08h4DIk7xzGu84PoWfQKCog+ADnuTxb2TXOMdYo4BOnjLuD+kgMa8Fe+db4WZxXxkQFQAa6XElSqwFle/Rcw/+jOFswB4eR8e709CDpjHl7OY1fKjfvx7zM55G8SWcS5Q0HgonMUZqYyyXqzCFr4jGDM9WmvUCGbx3YrvaqwRq2fRkRCLfkvY5aP/4BCXYkPpUMwaAlT0w0SjLcZn5h96jCpmUsfdRxvAbE3g4s0lsZikxipJUmUr9TfNta/9J9Z1/8P6/nwKWSzPWn+m48biqrzNNRLJlLIwCGlsSh1KGtacDR7rzZqpjPUYNnEBMyeI7b8X2WzDjv1BbC/VLI99fjD/926fgCvj3i8oZndZPObAYLY8MJidHNiV8c3H7Mr4hje8QcFs9NwCsznXIJzoNRPjD4pmA97PCFf7qGHaT2KZIjcQ5GbCWcsYxKILFTMFtSyVsQVkjEVcHBpp/rETzFDXdWZ6dK/r16/RBxpvqWWihlm2Bk0VM3ILFTHlF7YxjRHlTDFLltpUtey8GH5o+mLm90/5cKmKmdx0lOlYEvmYbE/lwcj+Qyojno4DzGoqo2Dl6PI+3jkhjooZIYsTStaeNQ8idKQy+pveFFATwAJ2EZ7S7ZVdNjn2AB4ZE2+AV/RX03cZHGMjUO+LIBmAAP5zQpa+3E47Yy4xDNxYwVMaZaUZwtIJap2pYgeIjVEBZuxHQMo+Q4fCRVDW9WrZVuCmkfoW2oqb4fu48er6dbPH/tQPQgELuEJ5ic2zlsPmnChm7Cepj2H+kSb3xgYR+q0d/fXPGLGO1qMt2iuYqfqV6UlsV/Us6wNtfPDdqthKUxSFYxTYkvYSYObCyI7yho3J0Z3ZuSHtm/OzpjLqV8YjdUFvXtOyAWNUz6yC2qevuIN13acjJdCWi6pQVYBiuWesxjmmZzkHLcbZt9k/lLwo9xgna81wDemjR7f73Dnt8xWm1B5fXRgVzPbfi6xd318Fa/bx2TCn52LlDm7X1lRG9/a2Jc0X1pjdevG4A5t/LA9s/nFoMHvTMYPZ6173uqmK2ahKNvGcXZ9pe1HPbPUnOy9m7or7QFqy+TTBpQl1hCABPRidzFtrpm0BpwFwqDdhLc4aQ1wt9gv3LtNrCLB1V3TrV3ETaY8zRaSlgpnAWe0f4wltZWF20vFBRtmFjvPo0zABub6YXXAFs5ZiJpb4qbsJJ0XaxOQSMMONB01Ku+s+ASi7gFlJ9jETGJOEJgWxaFtEGW1YkRJghv3KTtKkLFXPEu0A9RvqY+jK7I1vNA/1yEtAjzke0sOkA+ueUC4AuLgGoSaVzAByFpAVLZDp4nSaPlecEBapdfFWRDzcb4FS5UCUQgHPayDWfRUqc9izy82CF/U65oSpUAyrqlTwfoQfRz+AZcxdUaqwFimGCk5xu6cqnTAfQJdpoPX6sn4s0h23J3nvWqZKuOn5+J/9YSpi+iS/I+1aQY5jpa5gxv/5AVyN9WXpSk2Cm4BZCROQRB2Ls6pnhDKv7fVa4rzkxhv2EzH3UGaJcsQZI+/wmlDMIlVRgasFXkukOcY4cjPBTN+cE+CRq2UrMf+QyXz81f/Juu4rR9eSSXsDpqQ8di3GW+XWmCn7ouWbUuuZm04PCZipGyM3kxYgm27sobG2hT3KB1O+2uWZscHsP7l9tSpmecpivppY2spg9h/6J56xfcxef8xgdsUVV7TBTCCH9Zkqm4LRTgVN7PmzNWYt2EvrCpPaZ2J9F0uN7Y1G4w3bxwyEChrqBK9WSiPrloGYrjVL9lBTy33tz3L3mn79ioAvr+fCJ/sUzDQGsENapNrl579G07bcvB2G7G1XRq9OjJcFjAFlxKkER71x9GFuJ8BMoCxZOKf9NAUSuZk1nTEUM7zCp+0SXfJfy/FIRyfG5rJAQJsDxDCZ/MYrwCEhK0AOW+rCNn/T9rrXgywATayqGsT4/puNYQyLLGQdpcw0QraxwRAKsGFg/AXqEOWLSpX2T5RHE9Vx9oekVX3p1bX/9FGMqw44etkn/tJPEMzqWdwZ0S6AJmclhHITBaz1f74ZwEqhLYkTH1jGSs2i4EW4GlXGltJX6nEMrjBF0CLXkFXqGFlbtmvcCYEqUeshYMZHzxhnEDGel1xjxhtQsDIlSNYb4Fbq+UOvfJH1/fPzNEYtz4lNB71myqSqYH0znbJRj3J61M2maQYSqYzdjlTGWFvmu/YpGz1UoZoDXMOhQeugY/xFbl9T15g1bZ0aa8+KpDL+y8WTzxiYvfaYwew1r3lNG8zmg5iOi+vnIKaxJF0RphhTbfL3T2tkRfu3Y5PHtcekqpgClCnstVIaFcLETIRQlsId2xTu1MExwOxV3frlcwFM24suYFrEuW4wraKSiVNjQbojtvrKTNw3DHP9hmVyV0akqZ2vBiCXAsjqmcAVSlqal5m5MrZYJm48U84apBlr0Io1wYwJTu1MU01v1C9dqY+bJwQunRSPZkwms41fcYUd9KVf57xRoUG77PFmUNbGiUTt5GfNKQnsT6PtS2m7Pig0THUmgllu6qLvS31v0mfw5F/9GYJWPOmH62KNQb5ZhFOjQpuhPkQ7zD+S746Iq4YsUKaAFn0JcgNuhGYfXutQ0rByVL7La5tFG/qVCmZOuFpFWdUxAhjPAmoBd1iv5ivY45dMxY8UxmiXL5fwM9uj3iGVETcotKlSYBxKmPXmO8Q3E7v6FddZv7ilQtEsABsfs/c18+vvv29a7ta4qOcar8Ygpa41U9A64doyGH6wn5p7TFfEtH6s8NVsv87tW2sqY+dp6qIAW0NNq2D2DxZPPWNg9ppjBrNXvepVu8DM5ipkMWxCP15zYCqjvB9hTEUzpj2OAhg7jStrs6GsTF1zppDZAjAdquKbAhmyGXWPs13pihq3THGTmCpoloHZK7r1S4VFQu3K4WxBgw+kMS5IAQJmwSqALwhNeA4gvEm6I45xxayCmV1aFbNLcs8wlfnGqHRY5FDGlMUoc6Ka3xR17susa8wUzMTwIwWxBkcvkjVmMYFCXSDOOkFNCWI/Pn7GZF79al0+pYXpUpeqLpUPWuvMKCnpO47fCzmipfPIJZPLIQQDkRFlScdrr3CMLMk9aA0fVqQXxg2wTedtu7Q3wFbZvWSvMSuN6ofdfmR56m/8fONbtKAc9vcAt3MsB9hJHl4PMKuHqmOa0nhCkMv7sBzmH9j8InVRYhvOmzFcn7YUcFvmilnyLe3BMNLejon5xzp3Ulzqnatq5vKl03Fgae5jJsSoaplMNp1IDmxXvfzT1vd3IMy00w/bMYUjjbXb9ZrTr9W+b9bbVvtqDDI40xmNKYxUyHgmpOQgpsB2CNONAwDYAYHt027fi1RG37V5P8oaV/OPv7F4+hlzZXzVMbsyfsVXfMVOMJsCWO4elUOlMsarZKCm18jt8tP7wTWbtvq6Nk37KmC1+omByKhKlroyJipaTIj9FPBYT+ELsaycAVeinuVg9rJ+/WJjGmOUEzVMwCynA15jGa6M+uuRdZbHLfVvwLFupzJujzD/iH3MmjaSywTY4Iiy7jkBBbA202h+k5qAXJQn1ApRl3L7WX7c2FA6AzHhY41bF5PAGrN4/ORENFbQRt867mfmtrLyilfiCd7bfu4aUp2KNRV1WvtzNd4yymKoKO3JANSs3SW74FwVEFb0nKPulKb3i5du1jztzkZkMNG5NAOnNSNeZg8h8emf/5VQukT1qsdSAU1iADGMB5iVmsqYfCdIaqOcE/XsNNF3Jd/2p3C1NGcaYqQ21jaFM/ZRGCu2VDATqIpyPVpKmrKOfhChmAmYLU83kcYMRS2rMUKaAtwirlOq1lCG+oYn4kSygqSn1pJ60/gAisTe9tItmE2AqP3Xke3TvveYibb9GsuNQUoXKY1MZSxYR+apQtYCpptf+bo51bQAsx8VxWyq4YdLfajfBH+hf+YZA7NXHDOYfdmXfdlOMIuNoaVttN+mrioSQUzVsH0Us5YKl8Q1ZhrXlzpE5u8lANe2wWe/FIgIpFGl8sW6XksVs6hHYAeYGcfyftnGdEWCYwvMXtqtX5jAlSpkbCd4QWWr9aRvMEswTCY2sU44k3JsMt3YYDqki0hl3OFnWBRdsI9ZSemzpjLGZNK1ZpAH1RikYXSIDaY5oSX2MRNbgORxTs5xiFVAxLw+0GzOBTfoJEidpExCqBO7N61seNnLwsihTkkxoAA6wigCMBYmGbT7wNM8gEUDhBFxfSTIiOmfgy7CVCNDGdYEj+Id9eUNqOMG1U0i0bYigwpCEAQdFCRDEg4t2DdOYHjHvmulhNFHWNxHE9vtC68YgAnKDrXN8w2vY6Q988ZfJwVUWUUA65z+NaJgjNYJdrrGLFfNTiSdUcoCZ/qdQrv8c/JdDMjSGNvkBzWhzFEPMANcCXypiAS+kW9/30Gi3foUqG7h8rETtqKsShn7KT8TzGzgV0VvVq3wa/tKxrCPgNubXkwwO3QqYw56h1/PlrePx3Utm6Y5buHMuwAzMfwgiB1/OuKhga0NZj9TFTP3+et+NZVxPZj9qcWzzxiYveyYwey6667bCWb7rjljv0Y7WSP6DoAhTXNsOUSqXf5kaMuNQeanObZUMb2kxhW06K6ITaPlGnI7Aky8Btq1v+2Ix0FQ02s0FbMXd+sXyO95nPXPntpPVTZNadzWVx1/nXIJVqKeydZgWdLc9RXQBk/BbBsol1Y4415ldCbJ9ghQKmWdqYxxwMxjJTmZmOhO9YwGICealharTWj+4Xxka5/TxzaCWUxgJYoYAU1vvKV1cse5lZWXvjg3omJZAUE7thI/cqiYuaQKY/Rm9EVg0MVTjRVT0KoacNVQvNQNEcoZIukIl3kpNOn9ZB/hgVbACcJqnO8fBUvX+T179Vvpt6hAVjgsSll/dgnM1by5dcAWlLNVXW+GlEX0SZgl+sS1JLWx2EK+O1vf3aqQ5VBGcPMAM3IMy8xIVvBqQJzGfbVbrec6stavGB2rcNdbAmYZaRbClpwJcSXJ13zdiz5t/eIOs9eLKXAdCtpY1rH7gqOOn7xv2qkhCFMZ1eBjOogdHrSO83obMPuVVbG+gpnmerPMOs8KZn9w8dwzBmYvOWYwu/baawlm4/DVboumyamMaoWfqWKJK+NcxSyBnhTQ9DLaNg53+iJdtfvx+pPWmMXnlTo0CmAJQKapi1LfBWYyNgezF3Xr5xdVxpat35x6IOtvIf1r20oz/mSNWeOxH1pMlJHKuDMfq9vgTGzPDBfGMPmQfM3kHP1yMIsMGplMgJpMBmUBszruhuqGouYfVS27RZq4lJ/zv707v7yhmCl8NW5aYjQRl0nFOrThxS8yJyQYbeBhAi8bhYVS5lBjhCpEXSlc4yS28U5Vh5s/Q5kTgKjXxKbTeENRhQSSaP1uARi8L673inKVzJT1CCrQDrEFgdX5YB82cyiALTMSXgP9jJ+ThRJmxvet919qP4uYfC4qs2FnMzTjay2fn96L2fZ+n2sXMplF6hmYoW8obUvuY1brNZVRbPLrGVDWALMTjomt23Gtav6BZGRdISpQFuAG8Ip42OVT/adi5idi2MHUxWCUFMxEXOJ1oKL5Oj66/NeEljWFcaFQpuvRYP6R/EyCKqY3L3X2YXt8KK96wRbMpq4j2z9dkW37X2+xiPoBrpfEWIdyVroOdvCAEFXMzgB8TQOzz0Mx08W07XXO6A/zj8sWzz8L+5jh9aJjBrNrrrmGaXZfHJiNj8nt8aEOAc5ol28pbDVgaQ586bj97PKlQd5vzhgoiOkaM34mAl6tNWcpZDGua8gIX6NqmoDZ5f36uZGG2FLFMjXMl+QXWYdW+w5Ls3UHXwwjqDELcBOXmKQ/XnQBM5VQDGDmdX2Z3SJUM6Yq1vPIY4Q+NqwXopaBLLc3jzZOMoU17Jxd4Q6GFF5h7JK20Udy50XTFkMpo02AKGXi0FjrJdMGog1aQjzCEszWL7w8HswjTbACCvfWoqMEAY7Q5XVMXIvrwgpgLPl9h7Q5K3xv4EMU49qliIs93t+o5sR1YGIhsAIzDIGMuFmNM+WScBJzjqiYnoADI2DJnnG2KROW5d698H0DSmuqIt47IBA3FfOqX4t6/dqOj1sgD4CcfAYB2IxfvjzRn1OggnBWRDwDtSXLGB+pjPKd0f7zBdeQ5WCmKY+bGJWxfI0Y21przRDT/oMTqlQZQ5ztAmYp+0B4WundSl3iema7xgTM+MaJcpaDWFPyKyi/5PmqmLXVqjS2Z8piPnY/ZewASlvbzr9PVbLV/1ewdAAV7vD3TjC78cZQzGyvl9rln7vFC8+YK+Plx+zKePnllwcQkRVmQ1rSPjeVURWzsTVmk50XdW6tcdomzVMBbnJb+7L5Pma6wXTLLh9tO1MZFdJUWWuoZKlj4xbMhufs/A25UPUrYlhTJuM0H6UsAGYOODM1MZyYMId1Zm3zD4IZ0xiZZ6l/TtdJSH0gmPGgesazTEono3JgbpePv6W7Pr61715UM0Ka20oeLwlcK3jL8cb1aChmlz/frCCJzesasgCJUHcCPkJdkg2ak7Vhp9dyKm2i3gTSEYAK9DtwzXZsXKaO8VPVLspCSBU2VQuKeQQUYg7FCD7cMToUrE1bUCY+JyQzkk5dPOkLkC7uKT5aSQAtuoE2ZchCVq6KoxmoWNb/xfyoArriX/1sQ3XctRccoJUAGnN5wS2KAJnIMIs8p45yjMYJcVxjxkTfiwpfLEMRY3/tRzCLNWZjyFKYypi35RAnihluIuUVX0kdapp6bNDUkK6MiwzMaIIpx2iMdvk+cCK4KV1rJjccZaVR7f/C/xfMFos7CBjpee8Yzocbi9j+Y+dD4+CeQMhxqlhHAGa/nq8xY47HlHTGoWzNP879vhefMTB73jGD2fOe97x9wWyKe6Npf1XI0O+gihmt+zW45/ozBa25ylr+vm17fCpmakhiqoZRMSOc0fwjiWfAxvk1wYxxgtnzuuFZU8EsO8oC24JlfRZQyPKHG6plyjM5mNVjt11+l+8ARq2pLNSKMibAspBp35oI1plxIjzUbhrn1RQwawCYxlmWNWYLK9bZmiBWzw19ABPWRC+sxqmJW2tbP++5kR5HkKiwg9S/+BdtsOuo0KIsEufoWtujQRNBRCkyIgNhArJTpERGPYbJlQBASJOECoehQJmq9plhMlSikOJHv38Yo0C4I1BRZRNolM2c+Q6eMJK46TtAlPPBi1fMHz9opaLvpn1rJVoDzF50WR+piIQsVckQRx+2LxTMrIJZAZjxOyNVy1AvAWVo3wlzAmaSmoiY7YYx9JVDUxl5M4QwxlsK2mozhiwDMFtBqJS7ngxhHkyd9+0VzIIY4+a9xozxTCVbyfoyHJdf/mlb9HcYh5X9DTnmq18tWNrfMGS6Xf+yOjOexkvXYY8yARFH+cAK1wEhkOWbIZXxxp9HKiOT8ZNXtvcLx6zXZrf4Yy89Y2D2nGMGs+c85zmHAjOW56QyxiDeg6Fd15jteg+bn66Yx6VtvG8W2z9uY2vMxP3RZMyA2L5rzAhzEWtZ6asK1z+3G55edoKXyDFpGwEth7OV0axQsv2KPMhIv0hhpJvjhbons6wxEzCr68s8rKOplt0ip04hUtrohysjblbgiwYg2aGpjmKXfyLpXvUx7RIrYfwRe5FFeQqc1X5+2g/7mJVIV6yA1tUHnaHCGtWy0tALqlqGnZ5Wtn72s9puUxrVGiNuo+umNeYKIXldW/Vi7Uj7zfV3rb57VLjnmr60TS6eh1q//mUghpeRuQgNtz8HOYHw0n4C0o0N4l76+27BJ3lCFv7TO1IVCV+N+kLBLB7cBLYy4EI7vmsk3gKzpQIaJoYy2xs6eYm2usF0CRhTdpHJsI1l1gvALlPMcFdYe4Y42sjMenDGTGUMuEpTGJUe9aBaplD3/BdWMJtrU38I2/tG281vzS9W+4htoMxrGmOpAOJmw+H3FJvefpwQSDD7cSpm81/cdHIYzG7xZ19+Bsw/CEjPOmYwe/aznz0OZtKmatRYPNrcfW4qY0sxQzEHxqQfC4OscZsLbgGTNjGVkf2YnjgOZm1IMx1DcxAqaPqSGGFukHYT8LLotgvMnt0PT1NGiXp2FNa1H2IEtrWrWSFFpnpmG0HM4eIYy7K4xiz9832P/cuq6UfIekxfdNyk1bhLziYfFYYuU8KCPDGpmIguoGMsSWXEy3VL7DRTVB/fCGIFChkSnGrMVAHbwpeYfq9QzjUAlunKuHrWM0KAYhpebs7IdUVR8gJ1zCOlzkyZIZN38NI4u1vBe5mKY+zk5mKvrwO8ZOvVRiDGTVMo02aFk0jNpFW9Aiu5Z9jOkmvJoqZKIOeYQCbSNYsqnRzCcXrrgqdU5eLq+j8C417+B89jjZg8+afAhY2xhHeiDyEvUhnxP12AzLn6sqUxS5vH9ZjKaC4GHwnGoD1PZVCYi7oPzhuHeiYxOdLYSsSqFVwZXe8aH61HGf2knsSgoNUNpss63pi4KzmXI4fKfbzec19Eu/z5KYT7r0ubClK13O2OIS5gVfssecam0kuxyY8z1LKut7KBsq5CR9kexQFg3gazgQBzZuzyb/z+LZjFKwe0ZM8XWVFtVsHsr73yjIHZM44ZzJ75zGdOVszmm3801a2xVMYh4odQzNpxHTuuiLE4VU0T5SqFNR3bSG007ZupZSMpk9YAsNQwhEDZArNn9sNTGqAlcU1frOUFzUG0f8IwRpdGedzXWIWyGHODZP/lO+X2ZqdG87Lxmu5VVs8ebVTLhDRLr/IeASwml5NmKjLVfskaM4e2dw5HqoplgJb00TVmBTfqvLH0K6ZgJm1xBJg9/WnG17jo1ey9/0vXKcnuZqmA4ymdzNP6FKb0RfRI+x5CxctG59cwiaYX9zSVdFwhHL3ZvClwki2v/KO/F/+hSy69LAS6JFdOaAB9czDjCsyIR+yiokJup4OYgBlt83GDJdpSOFOFbWGeKW2DQ+FKxCZClsYiTjdGgFxcJ8BsoUv9BMSogC0Ia/rrwmu8hPAZqYxrM5MJxIRictaANMp8ViGP6tqzXzJ9g+n9TTwO294co/dG4GpsQN2hb9fF+ab42it8AcyGUMw8SW/0+RtL/1+itBHMvg2Kmf4Jy9WHF3FjDGD29199xuzyn3bMrowf+chHdoJZe43YPPOPKI8AWoRTGNO9zHJgbK4nYxOvpeP0ElrJ61Kd68rIeSqM6VBR7BT6WkqaCSxmIBZwnJqEEPhQ5/X7p/fDkxTAWkqYVzBTSAuOiTL7ZI/yetCBflXEIES2CLuhssx60hqzuodZaST8FU4ScBbxiA19vTHJxVzh3Jpo5uxMylQwg2qmCZh54iUOPLKpEBqKWe6+uKr1FVbO6M3rAfmv9l099Sncf2p8DyztoeHYlFjCzU2YNaTt4zfFOejA5lbT01/tm9QrqunH/ElpuzblS88ZLfW9ky2z809OI7w6Y/pK9l579Z/8A2aLVCkDfKE9g7CFi6qG8QFm+J+PA9oyUhelraGaxXcXIGyhe5ERYRTYAGDit8qJxNjBoYoJaNUyXBfTduMaMzUBWQHMJJM0TDABWwJp+mUSmEPfLvYxk4noTXNSmLgcpFSQ6DNfSrv8/dMID2pXPwpl7fvoWptJ65jk8Hruehs6t8GxjqyYnQwVxiqwDQFmtZwDWRLDmH3VqkNC3WGgLMDshq8lmOmfoVho/+AuFcwu+edXnDEwe8oxg9mHPvShXWBmU8w+ojJ1DMbRZZBVXleBbIi4gNwYjOm97VSepoLYqPGI1OeuNxP4CgjifesYy4CMZQWq3KKfgJW3yVjLwOxp/fAEBSxb5OvGfIGywJct9LmA5h8Qj8gwcdbsPy7fkpTGG73CWTFb5zlx218oJdwYLyFg5YvmOEnVnxgrADOR9uoZ7c4JxYfASY+DmdiWNJf6KXwxlVFcGcP8g4qZafqi1hXemJwV1wGYnTz5Se1HbzoiemdWSso8tFQv0Rhju/rkjnVayZ7RiTKDtggg7smNEi/jlAhjKNQ5OeIyjxiWum/QMBL1sXlp0zgw6ljSUC5Is8ts/qvhIZr1zpGWGi282BV/5o+cqmALKmENRSwogf2ZCqlgxv/9UYa5hzBOjRf210OxALAlh0AWJqB/bkmusaCyloOZKmcr7GsmN5+xjfbp1sgW5d0WATLOAm11LPoLXxPMLAczLH5TRZ9tsbYsJ9Gnv/xLbdHfJoel/c06xtv3h0Aps65xxLJj0QYz72zdSapiqGbDKZQVV5UsqY8Dm7ZNh6vjS4/8UrcbvqqCWZf9uTFLWpA2BbP/8Lozto/Zk44ZzD74wQ+Ogtl0BQ1j9k9lNEIAY6qYtVQ5aRuNTYex8X7SprHJABew1bLNFxDbhPXzU8iKeApieK9sjCWqWQpmT+mHx/M5gJAlgCXQJkzTs56DWRw51+SHwlmkNgbL5K8AswplLk6MhVBWb7KcQxnk6YC5dRdUycmgrmmNOmk5VA5sg5k+ommd8ahLe4k2c1tTGTNjamPEJYErYiVL5Ip6jZ088QkBSdN1pLZeJKDjUzmgKaohCuIgjul7NRSetmqnkXkCGN87SM2lOa5DHAOpSicZvBPD8nZs3D2uNcp8c01Oq2n8dX/+Tybrx1JFLGIoC4gtbATMNuV2ki/PetAIRJGhWI/VoKKIYf0Z2uCtulCFTcr1moObZ380EjOQlqpW4JFBVxSCWVuIzIALbE1Ik7Hxpe0KFDOBslqXNpZx6Jo05mY+9RXvsn7x4ICX/fcPOySU8Zotk47JdYyPNMVIYYx2lL27SXUbNlDWCWiV+okO1QjECWZVMYMKNqqgzU97PFY4Y/ldbjdcW8GsMN975DcVvXAVzG79hjMGZk84ZjB7//vfPxXM2NaEHLS3DEN0XRliiROjGIG0YGwPi3yT8XNTDnXcbEjTmKpmlBQjjlTDXSmNJYlZBl8Cb6Nqm6pmCmZP6ofH5vCFc6KoRZ3xEkAn/dbkmFxoGl/dpC7zbTATm/yW8yLBDFCWLawrfeOpzEmc2q5lnVQbzBrmmItYYcIYyqqgRZ0AFqDF5C0+Ssok2l+lALPHPS60oTCcoAU6nS22vaINfIR1RnWcn4pLGEOEMi+6ifE2rsAV9VDl4t0COGgBTzZwQTZsylw7QFVSYwwPUI25xlgxQcE9n9rwS1+v47mR9akVPy9BW5W4GXdsWID95OJePdJHCabYR60U3I0bNoIGynrcH3Y785h7vHe8X0wC8417rJ/Dpssb/sqfTeBKQcvDYZFQhjL7cmy4MkbyLv1IvdZNzwpiaRqkjhush12PpiG2v4NLourrT4EAM6pktsohDIoZYgJtmRniKhSzBLYAZfnHzxnqOACcgpn6/utXoaTxfFIFbU999a2s6z43X/3af61Y+1oab/TP1TONNQ6uJ6umH101/Oi6SGHcngkfJY5NHevN9MzDZ6pnjdTHw69dOyzIDWa3crvw8WKd2+bgS809ZDF0bpG1HswuveuVZ8Aun6/HHjOYXX311W0wa5t6NNW1Rp2coZb5qqilatlcQGMlm8+4ZX7evwVvY2WqUAjrdQhk6sqo68lY1vViqnDp+2lslyqm18gAr39iNzzaCFYUi2odzxCavtiEOassExtMr7JHfEesqJ+GpkBWKEP6Yy7+d2Yexh8VzFQZK5GbKZpTlqMZ5dLXiSh45ewia9EwYXJMObWnxEbCXbonGR/hXJb9u3wZCvoY2rdtHl+N5HGyJJMRWBOgU5uDld34mMfUh2uoQuY0SQzYAMAEEHCLZEBacdWrtmMBBIUbTXPzZA9gKjCvAAhhw+t4Y7xfxGBHEQTJ/dYS10PsWwYQQape0CH6FqpNm7O6PG7iwVlEJ9mOjbDpuFcr6EeQKuI6ybLr5nC4tmHOCmZ1enQN2QGKhUBtBrA/hdU3/bW/YKZP/QujggYgUxlm039QSsA1tmMHi//RDr2Yph/5ny1W6K99FNyK/hAdsbotCmFSLskP4RKKmQpEa7W/D85BHxmnnOPrsMtX9tW7YDvqm/IAcdOyM8DMB4UyrBETeqxaJ5xKhC6Tn29Pfs1treuumW1HPwpleo32OK3nINeEM9YzpayqYlIGjNXY1h6/izVkaSpjpDOGKlb7omyJOQjOhwC16WmPN1tqZKxMuK3bDe/bgpnJD9AseT43fxIwu99bztg+Zo8+ZlfGxz/+8SmYRYFxAtBMUGNdwUxBTEEtyhTQxt0YxyFM20cZy8Y7HboeQKaApkoabe5N4E/np+AVl1cQG11/JmvMGO8f3w2PMv4mVPjqEwOQRfRTtSx/1hhnl+AWrj0jkMlWYA67/JZiFg6Mdg5KGJ1KZOKMlQTURDGTCSHuY/Jgvkl1Meo0AWMw1U7XkBG4MkALMMNY08fJbR2wVcs1TgBbm0461ptxq92TRz+yPpC7mayT8sRoAkQAuDKRzwrXIAXaRVMAgsAE+4UyBIJRUwv2CWSTxVUxKgjIqSDB+p4AZSUHleKAnGjHe5YaoPJXnHxU8HFgBVv0KxGRDaph4FFCwSrZFgSGzBqqika45L7e0VU/YkIuwEsJDgplwedZvxpv/tt/lfluWVoiyokMQ2hjPPr1ZoIA0JOrxizmH/pjgP24Bo3gVhRBtKyQpTGkLHr0QdyomJFFViRGjasQlZ0Ba0hlTGcjUJb3SWYlfTzWmGV5lr5OVDGlSs3LTCb2hCv+i3Xddbbou12q1XRoa8Jc0qcdH4c06dMl19KjSxQzMfwo7rYimBldGaGawQik1L5FFTMFsxzIFNrGQa1dP3zq4/Trrati9g5VzMyK5ozrRiso6z5mlzz8bWfMLv+Rxwxmj33sY0fBjG3uzof9FOCyurtbqF4KX+io96LmIAou+wLaOKy1x2k5bWuMmwxohDAFNKYvEtJ0HZler1VWlY11hbYWmD22Hx5hi1z9kjhiBLMGlC0AZrOFJi3LfmYCZvjxBolPrTMWAmbZxEiaOZjJjdaJFYJZkg2YwRnODVfGRgKm3H0SQwqjgpkAGFQwoU7UszgpM8bf+IiHqw+9QlVd/wTVJrOyJ5MZ7ewRVIt1DkBfdsedydi4V8QAhO5IHaxzAMjIH0BlI+t8M2Wp4DriCdI0wI++RmWSn2c6yiC96WeL60GhFDgG12osABVpi0WnmnwuhFrD12Pb8ta//zcJYJobF3H20XZV2ZhLp2CmZ8CVI9UxVmqGGCXjCHa1XJiGoN+1ic5dWtCW4A3NPxTO5CZzOCPHIJ714zqyxS7mdamHQMm+aX8qZrtuNM/PTG4aE5NJPuG1l5p3P2B9/2faKYZaHlsvtj+YoW1yHePbR7fj7FtAK97H2jJRyxqqWTlVx4qnKY05kGlsoovjQY1EDq+0/Ugx+1tuF96wBTPftRO/AJu+on2on+6lj3/HGQOzhx8zmD360Y8OGLKm1b1A2oyURYUlhYsSsdi/rEKc6boyd6e5xU6A3AVV+6c2tsoH6JfX2U9dGS3a8bVjWxvGxORD4wJgKYxJWqMqa/2j++FhN/EHFbAoQz1zOjVCULJ+B8wxldGVY1BWaCu6ZzNdHMViYud2VwsoZefEdbGtiqUTifrQwRpfAYy5mSXOOx5oqKhBIhzg3hfWAKNbyxXccdgCyJcl4lih4titSSfhmtYo4KYTylbT3PCwhwr+pHuLNXBDAyxouTF6Fwy1R2ps9gsDj/8l30cosEN7OEssHuCzIr294x//nS/89uyRqkjY6qmW1RTGhQvMqVOjKmY5nKlKRtZhnF4ZigmD9fW7e/tdO9x0VsfFhYIZ/8xS4zAD0fjgZll6Im9W0htz9kkmBsVsgUzRPmzzI6PU84+a5aXrrw30FzCLI1lPhjInIbmXYu1iQaWPff3mbX/CFos/mQOQgljeZ3ysxlvAhnJW174dz5GeuJgIZpu+pymMQ+dbYOrMBmutMavlwexkU8beZoMHiOlZVTHE4uxRb8Da3LrfrErbj1uxv+R24RU7wKxll68xpDKef9Y7zxiYPfSYweyRj3ykglkOW+PgNRnW3D0ggoDWWnem/dL3SlU/vI+WcSm0NZWxPO1RDUGkPgZtMqa1V5l+FtGZbQpohCt932ZbVq7v44jH+7Otf1Q3PMQWIhItICihrO3eC6zV88AUR4KZgVkIZdZU07CsS7cxTl/bN3WoZeWc7IK9VKMPxKUck7BzFcziZow3KsCG2EWdYBHqHFXMxKct9MBcDev5iIY1ZtEvATNA10qMwiO2khj7BMQJmD3kwcYNlN1U5OLarOA0KiY1lshK9edSTl68hjZFi3BhU6Vy0/encqamHXgPtkg2JoQlVRBV28K1puxZLSb0RSE4WqCAxVq56KagpMoY76vFwlpgGqnBCIYGK1Dq4h3k4u/8Z/8gVK4df0MRKFtkVJDHItVxgPqFdWEwBRH1TOosE+J4LvxuFBjLvrMLIC3KxXpVzlQxI6sgDZHikYAX2iQmnBP90i/D9JgcqrIhlRE3zVTFWEuWQplAW518kCkn/+g3dub2XusX91O42rc83cxDy1lsXCnTsQJiUo8Dm0iL4ce6CyBrpTLGEXBGKCOQRVxcGmtcY1NTHMMR8lBr0g6W4uh2VTF7mNuF5wWY6QbSY5a+yRqzYnb+xe86Y2D24GMGs0c84hFjYNZ0aszGuPsYvKEJqhggZMSVcbJdflsF0xTL6evJDlxmKLPGT10ZtUmUL2upcFOgTQGO769jFMwe0Q0PDvYIRsmOFN7qmXEe6sq4Jphlf5VmXcDtonpmjLsyaiKgLpjTlMWog0j1Qac3vUnhm5gsZUAclTKjjxoeKpjV9WW57b2jzkNjAWpu7BOPiwFoBTfpMrFoJ5j5jpShaLvhQQ9MRJEjUJsa1858sBRs5t+m9mvAzOGmsv8HPh7Sct6yt1rXfr3rX/0TBTOuG+OBWNbfI05QCzAT2ML/fpQbQJY4O0YdroyiZ0edencLyHTSGIM1ZoAscE2a1rgWjtFlXCtm/8GVMV9PxiOHs1YdX6YuAbMgTBCk1FVJE4hTGfFRV7oVe5H1/fOy9WIEolzZWpr13fR9xZprxjTWNPQgdOkhRh9xztaUVXVNUxgVylQx25RjnVlR+3ykMtIQRNedoZwdqtTpMX0T68OZiUzo81w3e6nbhacEmI2/SuO3UKQzXnrFe86YK+MDj9mV8e1vf3sKZvFAXveTibKCldrga1ohx+p1TfcuW6/XUTZJW9R1ZjshS+P7pisK6Ol89wWxbP1W9t6ZYsbPc5e6tq7X9oZjo6qDahCioEoDEtdy7eubyzCV8WHd8CALLunzFEVfyJIrbZP+AXlRFj7JYQw8szaoatwaTLb9OkmTAaCYlXN5AiAJtLT/hsu2SGXEjaGeHrSZFNZBPPoNxeArKbsbaSJTyf8Cre2o40tUgayFx+sEvupeZzKWDo0Ru/CA+9ser/G9tKrtft6jfbl9rpPvwNV+qSPy+MhQ2g7xmr1r3PwuGtz3MvoJFE8vy/p7/92/EKAydVUk3zTArQDQGDMb9H+3fIckWnNS354JdryGVTArOVHGjYty1uofZQEzEZScsKXf9jUmzINDAC3ALEXKdnxyH37/YU0ZbhqTSm8Wk4dipgvoHn6lm9l/sL7/Sut7H19HNnPDZy1r+ziMjbkuIpWxZYffRd8EzHor3ExaUxkJN4SymsqYGIGISyNArQFm4wYh+1vva+xA1vwaX6/N/p2Z/R+36x9drJefZFDOVBnLX1TM3nr1GQOz+x8zmL3lLW9RMLNq8DEphbEBZ1SjFOgIHLqujHHdn4ttabqgzGEUoubBVq62tcojRiHWSG/U+dGdMjZhLerEuCOVkcA1qqLV91RFbbRMMHtoN9xfFS6CmjGbj2mM0qa/YVUxWxG6gmeQ1Uc1Lc7RN+ohQt2IeLoHrnEjaRyeKGSmyhhlQKFSBbOVgFlGlGvP8zeZ+hisMzjArNAWX9aJ4e/oKPdSFjCrcQWz/CGGG1BLcpb0Ez0gwOx+9x2XW1hhbPriIzX10CHT31+qEMnyVyMd8sBynoYlxdH2f8/8Mxm/Ff0Axj943PN8FbOgdPV//Nehbu0CtMahylkS68wGK4lunHEMoSvO2i8fWxIM2cTwXT1JXwp4UzBzgJkKTenfZAhinHSusmG9WnJXuotB48jasVZNwAwqV360J8ZJaP+Hv93N7M+b249uAagqYM11ZQSuqpotutP+HcFrEW0Y29XrRaxrwdl8Y4+svMPsw3wbG3qkL8qRAknRIyANJiABZQQzghdiqYIW9aLxPNWRY8bXqOl4xvdPgyxmf9rMftrt+gcU68ysm/CHx9Ja6VyvfP697z9jYHbfYwazN7/5zQpmzXVjEc7BrK08wcQjqqZrozZtNR5tsfZDr6/QMtnQQ8DJZrgv6ltMArjsGtKmwLtznnEW8xRVxcZSGXdCl4KZjJ0MZg/uhvshey89CGjWg2PALaqccdxKYGuVHJlz4xox8crY1vM/MsXNwi5fZT5Alz4eFJ1UH/01lRGT4QOL73iKCzL13fZtxRLFrOGyqAdgrNe0oACzCnZua0BXss6stmNiVjQOTUAfiC7c5972O68RJjqzd7P/+73/v/77eOoXiQWxNpRhbAkKEDCT5F3hlTWVMQU09GsBWuGfUTJNO86M8cAYr2naReFMwMz0UDGJfXXCJ9l1CGZypy5fptZM0K71JTeUj5u0E1G9atlx017PRQGNB/I1H3oTmJ0396+xvv974+vHFKDGoG1cbcsPhTyYe+QKGesKZWr2gaOzAWvL1j4/lZGK2YpGIN4EsxzQpK7gNW4QomPG0xrb9Vlt31TM/q2ZXXC7/i5bMHMBMs3jHvcCqa6Mn/jgGQOzex8zmF155ZUCZgJUAmsNeBtNc8yuQUAjgKlZhzoQCjTtev+mKyMhTfp/UWDGtE+BIE1H1OHpm0QdtvheY+vNFETp0vEKZqEk6v2wPH9tmoDZA324b/JHWAEvbW+kOyZK2grCUSo4UTmD0HRiaIOXBvZrzl6xGw7WjaVLz+leohOUvlTMKOVh5XHjkEnHBKv/Pz6cAeYMcQcpnHmeqoiypDfKY5ubK1GmgMb2tfQ9SU1BYvz197pnK31tfg4iYxqJc7iIaI8yKcVfr8bIzZBJyAozITXO7jdn2qOOkjqCGohSO21T4yVdgPbB2/znNnz1nq8pWzj6NKCtKzYIkI0fbiuuK9PvqhaYQS2T/EtFlBzK0LcEWcZ62gE/q8grOWlK2qNkCmJSjjG+FhCTu2+CmePLIW2M0fyDIIZJURHDDa+SMQJoMe7B7wh7ng9Y3997HMzG6+MbQSt8cd1Y17DCp/KWgRnaO4l5p+Yf2ExaUhgd8NNMZRS1DHCmUDbIPmfq1NgEM8RGQSyHtrzeivle0PYeM3vQ9rf5hVsW65K9yszUaoll9qlhr6mMX/bhM2D+wdc9jxnM3vjGN4oC1lbOFEiStWSjils9Qg1TxafoejIxIaSCpuCk98H2FJAUpvY38RhX3Rp9cvDJwZj3mq03K2Je2bbkz2MpsI0pb+jbP8CHewe3eC9CEdaJpQoZAS1hG7gySuZfBTAH21BcUgUt+tq2fCN+QZRE9Q/ff1hmiM2kTgaKmhBmbcOCORPC1JsWjmnBmlpSDpwG7QDUNNsBXwQzQyqjsQ/aCWY8FM7ElVH0gFLPhDKmP15/j7u3tRLWNcp+2qYxrauTYPul/Se/o8a1ptdsXpdAk89+bzHK49I13p6Htmvq5MS3P5QCh88wrvzh299yB1yZxIrGpG9GESUUs4AtOYtIXuPrWeBWNJWRN4VkZdGPKoQxrkdRDBp8yyOqglFAYlzlPuUelNm2dH6EhDSUPf3YIy790Vbq1rxlsJiM3rxQprRTTWM9QK72f+A741vlHtZ3H9Y1ZjmkNdqSWA5m0p7DWgPQAHEBXzwrvInZRyhng3vAWICZKmW64XMOZwOMQABnRVwai7fBTIAshzHE24dAVon6/sA20v/OZvYl259a1/+rqpiVRkI8AwpmEa6f5Pn/89Ez5sp492N2Zbzf/e43C8xQng5w+fo1Nf+gkkN4UxBUNUkBozUXNdNge5O3tLEFdlHX9jzts63qSVH3d4uy2umn4NQCLsZb4xlvpDgu7tsN94z1YkYgQ4xtITJRNStSVzAbXKErP9BOMBN/QKQ15oKK6kwBX4iLrOdxzhbUsW+Hm8XN6c3zptl2wjGYSApmYfZhyd/Vt/UeqY1Rjr569CwzlVETtDRtUVbP6Few0N2Ra8zudlcrv5OX2AbJm/9+2PT/y9dH73xbKGMKYIxHXcukBahpkdooYLY24/9wepgmyb4m8RgvkAcwU2Ush61FqkFpnKoZzT8UyjzhmDikDhaKMTE+zD/qncdHGICFek9czNeTNbLo4cpIylSC1Eno2jKdjMsHcP+r4rfJX7Ou+xbr+/NJ6uHEekM1a+9BlqtienQJmIn5B1Sxtj2+V3t8dWLsoFgF0DRTGXMTkNUAV0YoZamVPoGsueYMfQhvcmT33IQvl3jMzWdB228PZn/fzH64gtnfK9YNyBmIAqpFnmA05kDZ89/+8TMGZnc9ZjC7733vm6YbKgMRsRVCFFwknvVTUGC7RUHXmLHPlLRKjSl4oCkdG/XWeQwSp65BU7MSpHiu4bLIOfD9kvVmbcMRAaphB6TpvmhT1bPFfbrhHt4n68R4jqMX0SnGRd8e+551pyyz7mJ5Ff66FhutRgrjUM90nY8f+J0YIWJPZiuNVEY1afagyHp2EGe3jElJ/iapNcw/hBhTOCuENIE5upvgGgCzTky0GylCSapi2cZELVuin+tNx6MjJ5Wjs+KzmIVs45+/y50Pl1i3fz6h1rVpPOd//0nwqozvNbGC64QC5jq8PV+tamT2JDVzVCe97RCVrMP8T+Pjd7tDfCNsDpQTWSb9GZYAG+mgYwpUnqq43oED03lHwUxgTGKuMWmn7U+MZyqjN7ilrFU5A8NI3JPsAB8EE2VWvNP5dYJZ4Y3Ebw+uM2vkYEobUyED0O77boeI8X+sX/zLPAUR5XFQU1v7NqDxaEKZApj2UTBThQxt3EzaI1tfzD/y9VxpKuMa+5lRQUvWmrUdG9W1USHsi1TRVvu7Orbrbv+jmP37U+y68Oc3YLZnukDk4tv2GDqz8z/2yTMGZnc+ZjC7973vvTlN3TyaxbQfhrfamk6NOyAndWXMoKOxvq0JbtJnDpgN7u7YxyvOauChTpV6G3L/6abVm4rXa8WYzH6/CZooKrCiPK6k7YC9xb274W7Wg0mCW4JP5Deto2/+W7WOBcsMHZdk1bMp46gQtdu1kSxT0gfC2IL5nOZfioNJRqM6IaQ0DnQmcWUUYRcPkpR+Qp4noNXElVHXkeUPMQpn2mYCaSmYpX/3L0kf7tZEhS0eWzdjLtz5jlaKkvMeu15xI+KWBoQO46rQAe4rHcVb1gr7jidwjoR3j8XnZdyIu/2xTe6gSY3argEdpV1Gs0+l/yfveReCGXPnAF0CaCrLdCVkHko6CZgFjOXZfqzrPmebsZoAzHGDdc3VWHmMXqubcq99QjMHmCVckn+759CWThjXGhpgFTHyL+MsI31xybolqYyefaLJRGgAouvQTK5xn6v5N4EnW99f0d4QOgO08VTGfKzsN7aoZcBX0xZfz1hjhjVlKZiVgLJuB5gZzwIhBcsSqJwNiRGI5WDGeJbKOGoOklvtt/dAG3dz3N963+1xZnal1Zfb9b9/C2axzixLW8zdP9BGMPu1T50B8w8C0h2PGczuec97joEZztJvOrSNttE8QkEs2qJf+z2akGaApmGcu1BoX18Hsl/rGiw3AVLhVdtC/MpBjYHxNgVHWT82ZR+2xT264S4WIEVAEzYpAmUpvyTAFmvMlEtkx37JEBRfDbo1FvT19PE6yDDATFIZY6Lpg4+AXB9kCsWMhJltZAIpEDcKKkUMYyWVsVf7e1XN6MMmqY0BaT3bYMhdUxnhJ7cGiOGGGMPjpgKbc7VNVc6uv8Pt04fuubykbQoGWZ/5mYN7uvVrN421bms6fLUt81Gzm+q6LsuauKk9tJeypY7JX3qPh8un/NR977FL/UrOReqiknVJe18ilVGZplFWKItytJXoE/1kFWifKmauwLU57wA2jvWoD24FilkGX/kklV10vLgyuiClZI322CwakAaOTmKmYFZkXVguA+o5n1jS517v58PxX7LOv88Wi8Vh1ow1UxnTQ8AsPxTEtN53WFOmx7Zt3Vm+toww1tyYWVIZS81+KbKv2eaQtWZzwSzi6zaYaUwPVQDb/fKxeb/tVP+Kmf04wMzClVFf836ixmP2efvMGQOz2x8zmN397ndvglnDrXH2erMW+FFJUhv9xjXG3l/PzbYMFJN5j16fc9G2EUjTGEGJMTVR0c9O+uXK1hxgE0gba1vcvS93cn1wgVrGdWXWQXji8qtOxyNzsBNnI+GVdaFrI8EtZxe1ny6muVCuu+RIvuVSJD3cLOIoo18HBYzARbiKOCdGGu1Ox5wI4MGVsc/VLoCXrDELV0Z8SdAX1wrFbEieyAhda32sbCZxFdEGPn+724y47oFW2F7jxbW3jV1PfPy0gU6H49fSgVKXi2kLa4ff37ndoEaU+Sys5axYcqbTjbmze5BLINjepLvUqH6GWv7MA+/Dp/fYVFrhClTAtibM0ZUxAyt9UMuRQP7csQPURO0S2MJ3M7+D03TG6EeUCZBrglk9BllulfRFe9ImM1CbfPDvwoWVG4kXImLWPza0aFInITmZahyi4+/xATdjJrn/L+v7fykwJrA1E9A0nh9i6MG4AljEAVsaFzCjYja429AJkOkRANPYxwz7mSXW+YAz6D5MZWyBGdUyLadrzvZMbVRFsA1pzTTG/1hvB2DWz/9TXQPMrjljdvm3PWZXxle84hXTwazdNimtcco6sKSN8RaATVbnGml42qzjZoMfi4QqNSRJ54uXxC0AqYLgMKLI6Tyb8CWgNRvM7taXO3ovoNUTzlDeBWG9xAB0ZcGcbgUxnA1xU96pZVro4we0KAm42aXCFVwW02Q/TDqT/5w3iZXBKOtE07ShDN6KKGY09MjSFR2gle5k0IxTD5Cb07jGAsCQtCW7O23A7Da3av7eiYYAInOk9xU1qyoWIUN6JKsYjay+GhtqjDqOl3gjVXKYBpj+Oo1RcYsF7+9VrSpVLXKuB5NrDbVPrpBhDhjruLLfBEmhEmOOfMOYIbUrgaDCN69DOXMH6A0GsC11SNxrqZ+rxeUKLtyZ3kGnjyd4M6xZNt7eNQ+5fwOy2qpZykKRUdila8ySdMWCeACcwWJf/4yRw5wBtkbAK25Q4jImOw+akyVMwrahtlGUGhTIokzuSfh4wxRD/Wh9RNCs7XqNHkparDFry3icpJBn2EnStUQndfcPqinDk6zvXttWydrAJWvL5Fz7J205oHWM7TD/wIF6KGeimAHI6rmxsfSKaYEKZaZA1rDPt2y9WW4GwrrCU9u5EXFHO/pqm0JXrrKNAttjzO0thpcoZvukjOgG03btGQOzWx8zmL3sZS+bAmbaNDN1UcAK5aSPimZj12oqTny/FmCJoyLaxs8z2lI1Lk4j47WZXQSkckBu3aqkJ0Z5XzVtcdeu3D4DMkOM7c5Yt+vPnDwnWX+F9rWsy98+1T+jxjmmuOEVATgs2kJ3xM5vkmTqrKv5R9HcTKYtYiJCmzT+WLs4NNbYcPrQ3CH9MCBMUxglZZGPaogVjtVURrE4WFMt03q60sZtsEJXxgCzW91yPCeuvcZorjm9Qsb+6ZLTMiEJgwlUzU7wG1+yNf3vrfPTKnOlbNZLhrZnDSjN/4u4BaXzde0jHpw82SucEcg8+uZkoO2dWdn1ra1nWUs2JP12iVEDlC5vQpbGFqKoNfoUqmUUj3SdWI0HxyjftMBsAONyuR9hS/xZdHlgHo9fLxRbs6+CxjBRjdkKk5Ov7l0/Ev99kc7YfZf1/SUBSlj7NdFZkf2mOy426rkd/ojzIo8wARmSPctQ3zuVca1AhnqoZjmUtcGMMKZlrecK2riKloNbsw/jnx/c/qaZ/cQEMKv1slcq43VnbB+zWx4zmL3kJS8RMGsrWJJyyDrHsG/WR4EoS1+kgYaFt0b0F4CMPqX2UbiYlQIZgIHrtc7NMXwffF4RVjBrpX1qWqMqZyWbFq4bnyfX2EXdknVsMDOJvriOgKCC2Z27clsjhAWX0GWxC14RVtFyHMIzaeJJyVMcGadJSJpAl1s4MN9SvfuTuE6KcEYo66tiNmHzk4FyICdmmcKGcaePzF1ie98RsqiYRTl5bOvQL1XMkomoDsBELtUDqJzx/Pn/+l/s5nmpjpU0aZu2z3ibdvPxv1RRa0NoE55v/lcxu+6xD6dStutnUEgtgLMc3thGMBMAw8OYpCjGd0frOyJRzIp1suNgxz+l6MQUxvhTQcZgbHHN6ssBi+2DCkoCcoNmCNIMk3cNxUyMPBbZl88Bdkx3dMNLXBa9gQu42ZwoJXbnj7r+b9+6M/b/or3GjHVRxLok3hqrCprGtaxnglifA5l5ZwWbSQPQxCZfUhlb+5gZ0xj1EEiLlMaWSyPryZllApjWmyCmbV+8cvY/i9m/M3n5H7jeykln/Asy0wzaL69dSjUsGsx+9bx9+RkDs/9yzGD24he/OAezNrgoYI2mLuqZDJT1kWqqegn0te7bdt0rAVLGTDsLzIVrYpxlgKQy5mofXB45hi6PCnaqao4pcZPjKGu9CWZ37Mpt8gcblmO9WLYmI3iH4+nqKMyixoWEsVLjVMk0I9AFzPSp0lyMPWD8wZtSejROjjGMKV3chJBluuGJTKa0F6aoXX5ilN0LZKkypqqYzq6dyshD1pg1SJQxqm6//Z//k2yiHClqESuRsigM5eYe3zNVZXEFA0kVNLx0NxgGKAuVIn1QlvcSzad2rDUOVuUt3iqUH+vifTXZL0s5HN9uWyJ6K/r73Qmpuq4uIl47V3iL9EWvY1TJ0iRFfclaPFzP5J6j1DW3uP7yxz9KfzbBxIO5cA4449P/UMukAYBaV1dfAsKGZIWlWuUM8T+/glr2XcHMwIFgJitEo85JJsiDWLK+bNOnbNeYdSEgqaA0kFFaLAP3+SjXyXRMPdwcauqhdykfvSZvdqq48T+8nciNZrA1iDKmk67nbjAr+Bl2p094+sf6vvtc09SjrZTNN/fIHRe1jQDWTmUkrPn2vO4EyKKcpTKa/JobXWcGSONG02KjP5hZ6VQxy+3zCWFRVuUsBzP2zdIcJ25I3T7iWv/JzL7K5OV/83orAxWzPV9etv9nv/u8feUZA7P/dMxg9sIXvnAOmNk4AKX9FB7aY8evZ1qHulOo+mRAmdyXXivASFU/Pc9NqVSo5FnNPtQy3/Tamn6Z9N01v52frb4PxrA+CmZ36MqtmKpoXQJp2r6sZ2mPmIpR5Bj+tW0IyIoy+qDfzq3AVlnqmncgw6V6+IskyLzMaJc2708X1xHMBvH/Z8J63KDSqACaAB5SGc16AawlYoCtBNIwjjH58sZjJB9DmcJoaC9sq+WIRQKXpjz+9n/8j/FdHY//ksgWwCKZdH4KTUXXk3H9U8CP16sWAEPwXvTN0Evgy72iAYCNC9gKHCFj7VqAjmTe1euegkzxehfZYi7EYhxxzSvdxbe/C66ULJmS4HM6mXi7PJXS3bxwrl7LgcB8N5NIBT1JV633BTDH+j58vnLnsgYOIFuKfcWTH2fWZ2DGupEOtK/QA3/mlaqYOe3yqYQJbJmNM03ePvDPLNS1k798acoibjjGyPhaL7C8HxLQwgSEY3IwQ18PqBvkozUwsqYvRnvU5Ui/hDSloRKmN6eEWQakL2peZjLJO36J7xDCv8sW/d+cu99YHhfAyk0+cqdFbYuxjrgDxhasn5ZL51hXVn9tdTmQaTlNaFfzDxtfZ6YpjQXnClW1jn4CUmOAtm7tfVYU1rTeArD02+Pbzezvpzz1L6+3UrqwsNGFw7qWOkv5x7jB7GvO21efsX3M/sMxuzLe9ra3nQRmh2zXh/68X/NyDWhs7gGmcFiY3perUe3zGLDpmF3xJCSg1d5aoHWrstdaxAfOXcEL7SlgKphJv8XtvPxXC25B6qLDiFCz+yg4OetoZ9/B83RFXW8W8QGGhblFBRYSZ/IAUxcNhh+e5mBC8ut0UZ1OTGCrnlNJEO3NtWdmEVO7/C41+QjocolZxMWVURlaFbMBa8UixjVmunqGiVoCcQC23/73/14futVYIoMUoQoAnJHC5ZdaXDF+oQEGADrQ2XhxAQKBLDevQEhVSuAmvT/yRO3gAUdbVVB/9wpR6oVNCdXFZTJAlqMITUDL03vBZ4iB+BywF5p89ADNWnden5cUY5YKXfUzQCfCafqU/FVPfxKf8pkLF2ClIJa3LySdkWvMUp3YbWBqooDbqHObfFcFmDFBmd/FaX4m2qM/xxbV0AtugGwyQAETBS2Fs2wc1Db5EuAuyMUEteBjgbEU5Cgwn5h5BmWJKmYDbzT5AGT87QhmxtfzrF+8aNz8Q0w92sYeublHXh9PZXRJZZQj4qXrbVAgY/pixAFEq7mpjCYbTZsoZu1Np6UuChpBTM8CYk1zkAa86Xk9xSDE7Rlm9qoUzG5FV0Y6JjGl0bQtXqgM2+Nz5+1/nDG7/H93zGB261vfOgWzqS6MKOfjFKDSdWXSTdaNKZC03gOphFpnamGM9QQ4Bom3zjub2tdlPT9jXusQ8GJedGSkUwo/V107tgOInXb7cX+EVn7eegY0xvXjHvvbePkv+vt//hFW+gA2VcygiuW/71VQyllm9f+QdxZAriW5mpbSdd/OfcswzDzTOMyMy7yPmZmZmZmZmZmZmZmZsafpQVkbHTfl/uNbWZ2+rp6tiDoRjpOgPM60y67z+ZeU+PVqGyWYFRtH8zykDmXM9oHZ0P9UOBPMVqOGpa7p8vW3cs4I7RtGplSrwEMdsJq7sOWFEehueu6zjdxj1jZUoHQYmFmXaEQtFBJgoYXae+/g+G3BpWZfL7Wr513vDQCo1VHkPL7E7Tyal9GYZRKG3vwA7H07X2tO77vf7R0yUEkzKfJjrYDGVH9wfWSmiZifiq1Al6taJu3VRzvt+HOGas7b+RMKVC9Eh+7/9A5EnvIbYUwwc3DLFJJkUqEg1sFZJgmRtlTjToYKjnBVdPCvnAv8FPuMOUvFLECEW066+76SF0D8Mk0W9J+/1q0+/rWN8Ss2NvfiJtKrKlkBZuhrE3osgBldGQc2k9b0+AJkcGH8x6NdGRlnhtT5ALS8J+gArQezbMO5TQ5yfIp9JAb5ozB7jJm9zIrDX4np8l3T+PLLFq7uhu/UrdmXXbbvu2Bg9pzzDGb/4T/8h1UwO1o1o502AdJs1X3RldzW1LioAInui1JvAWr1XL0cWWadMWX7MjoigUrOOdtVwWu3MSjhq2nPPq1jqpf+w4gXUvkyUcx8mJmWYcd7B23PBInbIV9sobAlsWXNFyEyz8sXIzKeIysjNpLm3ZvSI/pEQYtCMdsaXRCbyS8BGhQz5+0aAEzaOHN5aJ/D+SkVMufk+t8Pi52dRDGTW9Obn/NsMwuGVO3OoVqOTx0rIYP/xMyFP2BvIWqMt3tzyQ+UVNH2/c8yd4UqbBBm4mYozem+zOvoml3XirYrKpgLUOX1dvalK0w4oseQ+8Rlvi6XcXGx0dcskCofG6UJnU3czCZ3ixAVzeeMdu8B5iETDfOc61y/i03Y977nu/B7R8FM2iLLIIOqbApmFogR2zLJh7ZnmdA2x2zNy7Fhg1BmJul6hDClvY4945jsj6D74WQTMI1wTvvwAuZ8WyNjh5VqS29TPlRraEGLbc53iESJL+7/+PVuew9/N9tsPpAp8JmNkZB1IKDpGe1IfT80OyMVMwLZ7JeEH3IGiOFhB7oyWgdmUM40EcjoFDPpk3lpG8GrA7RTptBfTw6y7/GO5vYRtufw18+sjIP/mfaUUXRRzDzMPuOy/cAFA7NnnWcwe+lLX1on11hP5gGYOzxtPpJnHBxjxmkQumSM1inRcd80Jgdpz3T54/wrm+684spJWylbM07n0fS37ovl66Vg9tIRz9+JRkMZpOCTYfVNUUcFmnpXwQxsE030AOPTtL7dm5VRXRUbP0z6X7I/ZMExrOIYAFdhI3FocGXUBSJdPpJpF15aCmyFoxPL+pY5J188xIFrntGPGLWQMS971jMSUJSQdr53yjj6ryn7IwS0IqatF/+4ZHxeu4ATt9DuCQoJI3SdzLJIQ0J34Y54L6xCn9NcGsCdZrLvl0N8EzBJOpr2EvM1oQigxZdptkHcQ4NycyBKDYOhv0UkTCm05XNHzkcgNsxDYu/Msj6Tvyhuu7639v3v8+5mo4Cr4VfOYBqAm4DYfgqI/uPMj7/YuZRj1kNsBMyKJxfI0nqDLM01JCtjhlsRrkiXqoi5tJu2YfwQV0YRMmU2UMrIzip+up4BZh6ykOad0T7fAsTwYuiGbf/hGwFmUM18/LJtNvcGcC1uDk0wa9p4TshTKKONN+nxHenx7zgXihmUM9lYGniLEIS1jaYJZFIOjTNbA7Nt78oo7QQ1ghltGmBjX6plbteY2d/uBbO3uk3S5ceh+7fI1/D2yuPjX9F+6IzBbHPGYHZ6xmD2jPMMZi9+8YsVzIwxUlpPm06VkjaCiya2MNrirODTPQfT5BNs6uesLtW4N8K+A56VMbUbZrM+1lVdTJWviY0LuizuUQL5nMU8+0QrCmYvGfFc/O+HaiZ80oAY6mIvmZWiu6nZ86VI10e0A8wKejwRujzBZDuiLBYWA9HDQfCqga1YNBaMxTS/PHPmPRuzXxUzRMpwwmu3pFrXBOF/+4ynJ4QAWUAmChbSZlapNnKlBDYTKBAQciUUiHAin82mBjTAIWAPwRgFUD4v52JSpkJYpJaEUij2gF+81gqoFCRl5Y5lCsgJGFNX5HshkBmeAxW69sCnWzifJyzESks/+P7vTSXMbBQEMIIEcGeZXwNaHmEhgFX+paMstogjM02fY1sBtQBImW5wQdBa+WRDHw8BMxMWqT/aspcZ+4o6lLZa8VLYYt4VfgOrvdHGBMzbL1bxucQ7F0V/gDZf+s1u/fFuNlI16+GshC5uCM1rEMT6vcqgkEE58wlosy987AEyiTUzaTeemXCYcWY4Z6zZNs+NS+OWQGYW83kDICYwVrswEswaxaxX0FqlTFW7dzCzj7Tm8He9bf5PGgubPkazoeT8YeJDXtF+5IyTf2zOOPnHqZ3t8bTznJXxnd/5nQXM+hSJWj8w5qyzZZv2tdegCyAhhHNRG3VhFDtP0KBt554oz0dYoa2Cb8bbOV0yuR9atcdZly5flk6gat9Xee7Otk2OkmD2ohHPsUGByMxVJas4RcqEN5f+GPqFOctB+NJ+dV+sf+lSb8Itv78ck0rFDMQp9FipY/ICYKGnNhewD8KQYjJql8VqsZrwYWOB2y6mB9Byj5cD502pmG1b6GKkTT5USdPHy572VMPRbDCNeLKw3qZJHw/Lon3twGRWjNlSZ0Bc2yMMilW/Ejatr7a3XAye60fBbGkGvILY/PAHvR//sEkDyiy0U7VNoM51nEXFIvwUSD1ha1tGbgbqdGXsQQsLgPvjsOjGhkCXqmXbhnG28Aic9XL87G9nzcehdgLxDQprXRbQESnaX/xtbv3xb66oZuNeOzXspAKwFsxmmny6I67HmHUbSGtdwWwHXwpkGS7N2DJ9EE64Dae2A8xOFcRmfaplAmhNIhBVyiY4UkE7PSNAOzxBSKOW4fD3u9VibMyiCK7VMw+2x/bK+Pe8bD96wdLlP/U8g9k7vuM7vlzATIpXBWYci3MFY45EIFSVGOu2rAYyeYZei9ch4GHOVO9cQ+cIZjqnTgGcjxawtEgXxS7z5SqYvcDjWU6VKx9DlLOxAGknOSZj0oRl+EtVsA5Iw5em8pCKU1v+eE8dKaA56WLVdbFsB7hth7U8I229S6NGD9eLUackuiTy12b9jV37u7fKdbJ6Rntr04Dby57yZKSBNwvd/6sCEmZt1JOWrTqQkZBZLzQfIxNNEMDc53PFtG12GXPsZ2a0rXnU5/xinXfaJCYuawhmNuwhT91MMXeX18CZ6hlp8o2vNdplxvK8+n6rOyYH5BV/9MM+eIIVIAv1LBffWTgjGwXiU4pPAeouurNCWWhZxriCGVL8DEnmAbdEOiNPmxxX6lBRL4AJCz24MCb6KOsKZgzd478DmTm8T6WvXIl8v9cyn1CkuDBKHBn6pKy32y/8dre7Pt7dxskHSFyZwFYNZmhX+FrLwuh0ZYRtCWTTzjcWwyXZR5Mefzm+jOVGNasf4soo6fPDLFwgrNjjrAOzqMFM5g5I4z0GQU1sipDMXi2Twz/qVgvPmyJu/0H4EnDT23eFs7e7bD9+wcDsyecZzN7+7d/e3F0z7GU91ZMWoNSOZ1yjTTihEIH2LCos6PycLn7q3ifXdR2qc1GIy7TyqXQ1GRSNbX1fCTKuNhGhIKZgSXdD0+chGHWxeZwvXs+yD+clMHv+iGfYaKQVqStw0Y4ef2lDxWxbqWRV3zxXXJO22UalgFkWdX8yLE76vfjdF+XtwI0OJMDalbHY/TL2LNryaARKzH7hd/bBW7xaMVukzNrxlP03PemJvV7UZTac8V/RKldsAxCgH+kEE1xohqTyakO4AfIsrEv3MgO0LRywbaQpNa4zY1KhYx2NS9KXbAGQptlWjHd1UzWCHCYjEPhjH/VhHWDNc/vhEZtpPxhjVn90+zZVznwPzAXBbOVTi1ysJergTDADszSgpbZ6VgGKDESPUc6snl3x/VVdQ2I9i8nhjAC5YJ8uHLLh87+jBTOJNfs+25xcV7guNmAGIKNNd6a74oDNPjDzEyb80HT4fYyZFTFm3mVkLFLlN/uZVanz/yE3nV7M0sjyoYoZbfjfDEDG8T8bbs8xs5usP8w/+TYLdzMfdtQR05XxTS/bT14wMHvieQezDrrY16lmfTp5Xr/vowLEMYsuj1p2TdQBQHQBykM2u17u04rMY+/eaMV4hTVtMwVKbD8g0CljpU9gzAQAeQ0CpPZVYHbyXI9n2MaM7oyqlIlbI3b+JCGkB6HYuX5hQiASD77TKr2t8s60JccAzETmgxoWADETcmwxR4lTfRp0MXOyIWX2956DjDFTpax1Whqdy2JjU8SUya1jM1Gc6bSV5Zc98Qn2cj5AKMePYPsRT02TIw4iYZ9N0vuZsMriGb8rsYcm15/3Jz7mI6GYVX/kkG4IXyyr0gYw03LDLbbtbdgPLbz9FEudfQA4jg/fAVfMs7ekCWGpswWY9ajYr6IHOWZlLBYSKvUVi40sN4t63ne7LR3+Ehubb53xYgsKWV9vgYzuigQzr2LLcsxUyzqlbG1jaShlx2w03ceanUatmIVDFSvizaRen6mQAcwWsjZq//PN1rYT88+9zWIMM2vcFfftZeJIl7/dmr32Zfvpi5D8Q47Hn2cwe9u3fdslMNvDZmyg3b5rtPZsJ8zUENTPRSuMBeM1GGfVqoHStk8RpD3npGf09WxcK1gtJGLetF+NTWOZdifPGfY02+yBr6GgRhqoz1TOzOEjboAxcV0EjKFPPP+ynu5xesRQMmTcWOGuiHKHMzFkklDKcnFLZ975wZVRnJxS6RoWBS5Kedqwf5+9txOTNvS7bZFnTsoKZo9/XJHogljR35i3DHE0v/D/IyeYmhmfj/nj+XzrT8xcIWcFcprcpMXO8JUXvDdlf+A1CKaBZFv/HrP9pz7hY/QjqlkmAGESQ8aPNYFM68MtLOiSKOdSZy5S6cBe6lDMxFURk5M2n+0h9tTCdWwQzBS6GGcmZTIMF2s5tgazBT1vDTkJZpD/ihSRIYk/5oPSYEelz/k+t7VjmPtX2Nj8j0PBDOcGyAhi6M96s29ZjJGxZKqMZVk2lpbzka6MUM2aJCCMNZO9zaiaUTk7BsxQPhDMsu9Lw+1VVwN4/csmmIVLlsVY/19FxeyVLtvPXrCsjDee56yMz3rWs45KwCGXWrHjmO55S1LDNZ3xYNnNxB2ElGoPNZ8EteCW2NsBhqiC7bMr5ufSx+ySy687YKwBVpSPALNnD3vK0n9HcVFU+4DS5morLCOiEsALKhjLlcdfqBsD/0pHnYkkGh1pnTQh87lmIRFgM0Jb/5M6FbMOwNaVMd7eyW5HgVvHkFvKU4tZd06Q9QbMbrrxhgUqYfXlq6YV0HAO1L1zOpLD/j+9Lj/zKZ9QfRAAWW7mUWW8kbaENk25f2eMWWiSD34qJNmH5DOdNj7HBPosxxDMdHLVwlJVk000JLJU++WTropZnJJpetkvx2Sb1p1jWsVs4ZsV9VUwq8t0WdRFw5bjn/X9buvH/c3Hb9jJ5h4TmJB1kWDGbIyIMcvzWHdlJJBxz7Lt8AQxPfcujNlvs6znTi2rszLWqfPVfVHL85wh2FHGmgHEWMe52+dM20oXxjoO7dZwe7iZ/YktHv71UMzWIor3Z2X8z5ft5y7YPmY3nGcwe+Yzn7kUP3ZoNkWMb5UaxKAR2nitZh5QkaTegxnm38Bf/9x9P6psk7LEmhHmCKP1/Bh3VwJkM+dmu4J6PMHsmcOe3P9nRGwZ2rnHmc9yiG35LxSCEyFtGwXDiK1ew/RwmWyIP2btr9ngjdeKmRLjVsFM6h148dyCGWZCZ8uqD3WmExhQzEJvL/sJzkcsKWwvu+F6KFJSYPp1TXOvmyBbWDiyLIabO1LUm2nKfa0wUYY8j8n85HldZzKTU7ibc86aKJ/KUboTYj82Sf0vcxDb7MdmYx4uyVHCdJNu3bzZpFxsM20hgeVqnzYRbmIio2a7vn9m3KNuFmP3esnF4MpokiYfIp/u1Tav4RJ79rOf/snzQxF7gAuq2cDGWuV3mOyDNl1AqXK1KLDwKeFZYWqX3l4ALFZRpijvwC08JwaFjLQI1SwBbWHRvuWshHfLt0HaQuyyXfsAZuqqKBOWB2U/LrR5t575g24HHf5ettm8r22adPh9Yo8m62Lnykggwxifalm6LyaQQTUrszEaynIGmC3EmRHQGrUMMWeLqlkdY1YDmYBZ3fePDaiJ7bua24fYAYd/xwQzH0U0sjd1HnHFlfGFl+0XLhiYXXeewezpT396q4Bpcw8gvQvkgosdy3uvv3gN2mZaetOyuisSPDD+YCiTsQRLqmgcyv69YMd2zK2bXgdlzaB6PMHsGcOeGBWQeVOnKuaMK1MbuRkRUSlCYWuWQ8tVPFmhvME/e9KjQJkjxkySfADiRPYTmBO7GDWERf2/v4eyDsxypg4HJ5xZbmzY5+UktvytX9qbstR9jn/Zddci25TzR0DUkbFK1Gbdp0u+JszTPjy7ZZNiQaeZTCIE2FyRcLYH5uqJJgSccJMp7dmGJrSqV8AYcmRIZQdM+bIILOa69DphnoamsCRzl9SH4umIALOY09CL87kUto3wOw0oSEox11Ve0yxc5+jzvQ/7hc/+DNzR8/cUpAd0TQyialkJdPlaFMk69vCMaMbRwBnHhnzCE6ZyIg6du1fWYCNQ5wZWifo7SMWlLLvyjTwKmKtnwjbC2p7+Efx3o8k/gvJfg8HFIrov6af/sNthxyXz8SO22TzhLmPKvIawemNpglgDa47kH/N5dtC1oQtjk5WxAbM61gyxZXvBTMoBCCOknc5zSFwZ9jfLtQXVNOsVNCY10b6Q9TWp9X803J55qKee/9DtFmOw1Xp/bv1nJ2bbrdkz7mG/dBH2MRNAuuY8g9lTn/rUg10TD3RP7Mv9tQhlTjc/hS4zM+4LNgHHq+dQd0RVlmSPMV6XYFfFpt0lhGmq/NI9kv0sYw1sos1Kmevobcs2LZ88ddjjlUts4EFWKZKBuKpqYpcZ5qP791n1+awHneUwdvbL9xv8LXVhMmH21TTKF0JoUChTXRm5sArgkkxrMSqPUumqI1DcvGrPFWXiELleKmaa6CPw7riFqGkAtgV17abHPlZvxHmjzn9GCiVtEJbU0CYQ49La7vfMgyqT63CUu/gwBTpSKCbAa8C8eTJodgQo2OsGzvocOobDeDSQtX4BBWIvptuND/vFz/tsfkeRXVQFm2f2oe4KZjvAEihDrJl+eupPBerTTuAtNF5slvtJ8qHp9KmN5/VUBWPsWANcKkiF5NcA3MV2vrzk44WVqGqWZZe3TK4xj6gnGPwPUtvUoCb1p/6o28GH/zvzza/YZvNvl2PKmMCjUtPYn2XneRjBbTuGuis2QCbtek6FjNkYl10ZGyBbdmmUf6nyCKpk+rAmSyP7dU20qTM4/lm4Pdrc/sYOPPynEswcqfIVuvyu3bhjewXMnnDZfuWCgdljzjOYPeUpT7lqyCKIFOV6HJNqYBxstEyQOBokWT4v45rYNTczBbk61o2wJ8DJMschE2M77z3K28lThj1uxygFn8gDbTIGD0BdeQ8QjZtiSLlCgECf6UG1yzzdGXVxtJNH0xYKWZT2EHcW2KMsOjUNYNY4VvazbNpx2+a4kQl5V9wi2wBwzV0cXRkf++iUdXR7FnWXS+AAjPhO/THZj4v/2LJ1T+p39SmcJzcb09UuB5hCSqR7YOZHNR+Snl73YJPxlolDthnf7aIiqVthsWmbSfZEVdkk5X2oj1+OETdG5h0Jy9dXlLZUErGjmSuU5Sy53hwbSFyfbpXm3OJMHE91WwAXcN6tE/A+55Q/lM2bdDPfPd8vfeHnIclH//1jblDYvB7rki6/+otHOXDewjl495CYs6wnmFn5k4qLaraDN7Fv9XDYqEQHWY/iEvuljwvX8tjq2zEfrt6m2o56+i/ELLt6ok5WifmcBLOxNQuRAgXARB7UukBZoWU+5SfdrurwV7ex+QIk/wCQTfjSPclOCFWVKyP6fF7LN3tdGRPGSiAbNZBRNbs6V8b6zMepbji9LQEt2yXGTM7rro2ozzU3ShmBLWxn/0rm9uV2FYf/8m0WY8MfHOdBTxJAGTek3p6aPfay/eoFS5f/6POclfGN3/iNezBrIALVo10SYVteM9sBbAsT0SrncPeVMZfWtoMd9mG8mq+7ey65OzYQ2YDZk4bd0N/U9IQQwjnZF65egeQYCEbR/O/3PV6CIXAGlziZMKS9PFP+y4m6SH6+TzGTb/UQklRS1EnrIr1YoNE2j8ajdBXCKAqwripYJIRxQg2AYTHov+nRj6IgAwFIXOti54KnmtW+mDABOt1ni/FhpnFRVNC0nobYpcxRo6qn63DTxQbjwyzMEfMGlUriquzOjZdd1x6GAVQCKQWqaZmBeQenspYdsHnlcsOnx/zDmflZwYyTtQgXY3mNmPpfNoL7lS/5Qko0PZRtBMxcXRrnazVADw6eaXRhPERJU3v2J6RlAg+NDcsJU0lzLogLXQIz14yKZJitCksNkG15TVG7iviwoXV9uZsx+RZ5VIoZJhl72rx7t4qFPOmn3K7ucLPxhbbZvGoCWKeGyblVyJq9yvhI5exKwg9C2GjS4+vDGkAzABqAbNWVcT3WTNLne7+3GbM09gpan7FxWwPa55nba9tVHv7bt1tshoSPeee2sX/T6ZiujA+9h/36BVDM9HjkeQazN3zDN1wHMy32cLZyzd4MsVZath6E9EJtrNZVAtox4lhmVzSqhFQUOf/apZHzX58LXqvF93gdzJ4w7DqyiGVZGcYbQNOyMo6bbYcITWSUyL7C+2975R9JRDLPDPHa5vh84FAq1Ak7Jh8AN5dF7Ma6jte8//ogy9Q3Mf2jVMx8P2iJS2JIv9vQejo6qTtjgp/8jO4WFpgIbjP7iRcvwsse+XC47zVVtDQH3BE5RsWqPSMDvCFF8Er3/GxYM2a9H9Q3H7/fWu+AqO3sbZxAtXTYShkEX7+Av/YVXyrfOT4BCy6M7lpP+yWYyyPdp40f4wPBTLM0hrg13hnr6kid75Jp0ZltsfiJpXvUYNW5L6SdCksKbxyb8OQdKjbcvMeNkXhZvBMBwuS7FPDjlEUqgabtE3rFrD+Gm2++1cbmxQCx5ryQdXGzAGSSHn87pgo2eiArlTPTrIxHuDI2G02fiirWuDSKapZzBKB1rozS34PZwqbUbt8UG/tPx2Sj9T+53WJ0G0zH+p4up6dm971sv3nB9jF7+HkGs9d//dc/GqI4ZgVm+ufrFaYVhW7CT45pAG+dZAgkACpt17Jn+FqWZYi6KJbP1yl8rWLWwHKvpi2qon0s2snjh10zBSPsTVrEkAHYmOTDPG2VbZAzwwTGZDsw5Rm2nbb3Fjh63ai9oYGaRkLFf4WQSYlKVroCoZ0L4WISqNqbmw7IvHVl9JyAps2ny2LTzkVWKtvLHv4wCxP3NmhQ0iIefvh3VSatkoIUpYXm0gdiQ/Y/zJLQVlwZbpWGBdN7sZq6PEl51XAhUeMsRJOqXx90oAkqXrMGmACftNK99rBDtX579QUM+/Wv/krwSdA3jnWJHysSgngBcHBP1E9AZFkiMHcffbHjgxGdZhsBLqs/6Qll0hbSnm3Z75ndUT7lTOZhgbT4yjdReALO/pA6U+tvfELV/P7ajDvKsiLnS4xvZIiZYGv549jRIBbG7yaVBkUOHLPdaB9mj/85t+OOa8w332Wbzb33xpq5KmodiAmoOROI7IktcxcXRmRizLM8Dk3+8Y9apwsj66HltVizfygUNFXN+OCm00EQq9LmA8QCdcSW/VEMe4HZcZ6D/jczxmx4HUesmZ8i9lwkwWxr9q/uYb91wcDsYecZzF7v9V6vgxBUbRlcmjKqBz/XMXMgwPnx1+7LfdeSe2d7gcbVkO1nvb6u7+TGYY813tC4AloTR+YCYVDXMluj6Q7+GpKldVXK0BbiLagYIHaIT3LJsui6n5kuEpP2Gn+42BA4i1CKFEArmGXbPWAjs/AF71LW+aiETbdQOEuXRo2AWZtw4+/0soc99Gp2r1LN5RzsoyXZsdyPuM7xM+GcjnkeWveXpBJ5d6++H/WbX/tV+CB08oy6MQrIufjRISAq9cGQPclU8VIFjElAUmfeJQuROtPnmChjvpsc4Uvrblp3OSecCcTNfuEWMoyyTcU00Xz08ZHfVC6LprAl3z0BsZNvFyBuKNmbZjAJuDGCKstJQ1HTRd94NJiZ+cn15iffZmNzn/9302jCVpsen+0CY2IzIS5kzzIAGdLjA8r4sOZMhYzl6OGsBzO6Myqc9bFmIWvadq6MssaAYlac/zA29uLY2C/bkYf/3R2ujBv5sQsHf33kly7T5b/CPex3LhiYPeQ8g9nrvM7rLNyk9wqaxnuxD3ZNTBNgRNqavcvWY8cOjG3jRbt6f43leRyxlnpu84SkH3cJilva0RAZLEswu37Yo41hDL4PwgS6hFUcZV5PgEvYRdo0lb7NMaahXGJHeHOTw0mSyOWvwOaIMcMCosCecBDmLNMnk+pYrDNOB2ZO/Y82HT9LBkeNMbMJaSHxZutQRlsBs4c8CJJRr7xQKUGlGdQ29U9q68+3bsMhLrKYvhy8ct/GCa8flBVXp52KnYxfvgBmjLn375OMK1S93/7Gr2MA011DmiPOjADHsmwoHbKhtLoiRv3xBqQZ4S3HtJ9WAS4BMxOFbfVT335UJeuiwBiYx6Nz3SaYybl6idnXeMSLjRykSkxsX7Bc0EdTvqBTMrz+V44Fszljf30bm89owWys7Fu2HlsmQCaZFwXIdN+yI+LLltLl052RZUn+IRBWKGaqpDWxZoSyDsxM+1pXxtcyt883t6MP/4ebEsyO+4EqJpid/HP73YsAZgJDDz7PWRmvvfbaVsliXw9tHWCs94nRIc/Jca3SU2SCRH0NzOiSyLqocrDFXGHLvoVYvGPfh0NcGmsQFzC7btgjjcqYK4vA088pNuVZ29JewKy6NyBwRYMBaisgJ29YgSp+mN7kTj9MKmYLfOJmodAGiU/6a/nPp6LlS8qYC3jV9m50dlIwc3XAQnmnC+xf7LQJOH2F3fTgB5nP3w5CEnQ4Er3bTBphNlO5EwFC7EyTfLjFrk/SdkjmRJfnNZcNk0NS4vu0Rt72mBJRPo8zgYhLYorZFTnPnLZmltT2Xc6SkdqMbDAdSibzhEyMu3bsUaZAlRFfcj03x9Y4IclX5vOL+6Qol/laJ2diU+rd6zM753u+TQrVhJuOhCz6D0A4VvO7yHx+91u+2cxDKIAfhkotCwKa1Dk+zDJNPmLGGHkZ0r7PJlPsG74KEr7KTy/6tqbfBo6NMCoazU+7KmTKL+rpB4/AYJlfyCpKpQLGmRXsu+dl9yo0EODmBZjh1azgLBfWvAByjWt/1e3MjpN3s3HygQJiALQsN66Mci4hzTeZ8ENiy4oYsuzLdtOzuO85sjBKFsMS0GJFNQOcbXlu9zYTOCsSgQwCGetXB2bbYe9oG/sIO6PD//HPjRtM987eDjuC2T3t9y9YuvwHnmcwu+aaa1Zc2fTo+tqxq31sQ/xWE7O2DmlN/dzYVmtx99hutzQ/7nnxXMe4MSaYXeP2CLolesEjxriygbgyqxW32ANmoXUVocg3NcwJmMnhphMuJL6SMqWMBdAnU8FsKypZ0JVRH6HtRb/IgrKYseKtBTCjY5OLo5SbabSKwhZgDBNdgbTiJunmBz7Agv9qVuKtpCRVun4UJryY1AvFxirPEoyrSu3B9WHk/hlVIV68GGYxIS3X7QlEYXxGuSZVrGgmqq8HrbGG4j3yYNzdqhqJdeP4vW//FrOBwCV8IBq1X/rRptfix5NxY3Oe/c8WwAj0dROVcmNHW/3ki8pWAVU14eiZR+1d2iJjzIyQBS529HGVFDW9VcywGGqX9cTbvmt++SzBzMxP3tX85IP2KGdUzBCHtlcdY9sVNayOLauzMprZP9ZAxjKVsj4BSBRnlgXQTueZqfMV0ghodayZghdjz5p4M4JZQtkl+wgTUjkezH4fYFa6y6O9+JbNdPknD7Q/uGBg9oDzDGaPecxjelBoYr/gmrjkujgNsg/1NVDo1CTWaVvtkyaggXkcC10AyqaO+R4Cr9oNUQD12ravN2vqwOwxbg/bey9AQEOSkDCpQ3WL3FIsf90SsQGuiMk40gd4QxgXeAbp5WTiXk2s6pM8/93NkboyRjTEiXprA9ADmNEji4DW3so1/b5/wuLSGAWYSQ7uZsEve8D9zMxFLUk1RfcpEwVNVRtJH68phDUtfLgkv4hCsWFqfd0/y+R5EqjmNc3cXK4vc2buQYExB8wIYADDErhc9mtzsQnXieccXeK7ZNLSduUl8hQEc4Wq6skEseG01I2AlCqkm1x7zjoM0Cc5HF23Dti14tZDtwjAZgX6Boji+Qff9e3FHzbS+rmpjfRJXf3rlAosTG/3gQPQlvmXz1gz1ZND488IWvxE40xb5mJ1Uc401ky8+QSo4spZ+iAkRcsy/MgXcWWipFXQpkk/qrdHbUyOlPKIzlUWk4giqE4mTzXtMb941mBmZq/wrjY2H8SEHu2+Zb4nTb6z7SRVMMaW0Y2x3reMDzt7V8YqK2MTZyZQJmWBs/yvo4pZQCFDEpAlMIuEshP7iLhkdrZg9uvMytjAmKO/UsweaX90wcDsfucZzB71qEc1AHA8nAE4VutXBV2r9SzStXEdxNbVviPmuLT+I0B1dTn7FLoWzB7l9pCdOESoIuNYHX7lDt5xtel5RX/vLFwbuRVPcS0ecpOTZAjE6XGmts9F7QWrgMQHqoS6JoF1VMxCwMxtY5prMgBnDqeomHYudpI6QMZTIeOtpVvUaQ30nRBYy3JG5bzsfvflP5vdjboflIqdB274m2QWUkbj0akqBNL6VWg7c4isZ9vn/25ei3XMqdmcABXUhTHXXzIa9OZsVSgvRvzh9323fCQBYlTua0ATGrBZR6aJToMp0uYwx6mOU0AzSRyyVwETR2Z+6l3sQ10ady6PY9ZyjDCJxo0pl5A823MpNtU/HjkZeM9q+daxT1OXeihFFsSZi0MAHWxKAn3Uz98dYHZHecIZYaxLh492AJn5sBiDQFZvKk3VzAFqBLKzSZffpM1n6nwp14AmcCbeNEuxZoAxhThpi1TKTszOHMxOf95ijO5bXq3779JtmG2usz++YGB23/MMZo94xCNWQKy0qfqpOi2pRRizChdHqVuon69r9GoX6q0KNsvOOlW1xfi11b+Vk0e6PSghyh3qmHCNa7sL74idC5BlEsTkEUPWRWt/jNU2EakQphVM/hHW+yyRIg0LjwGgw21DDCFIU9DSiaoEKMlBdCF0b0xwUzBzWYnAF+LFvLaVWYesVO3KOy84ZxX9cgs6sTnHCNCd2i33va+EZGXoDrIcSjSUHDIAm05LqYMlctjy/8AFWyo4vrjJGIr12NpKzpxfny2S1MbLHIirPeiC4BaOpfmw8Y9+4PvwERf/t05C1nI1PsnA6++guo4yIi7paKc/MrmqXtCHOpQJc2ZxlDG0X1TxuZgUm3SMClahTCMqVxHyZ+qWqAkx0SYrwVuq+8Pz5zxj0BsXsr7wR/7c3QBml/LxruabD2pcGRsgE7VNVDOBsQrIBMbQpzFmjoehvUyVj/ZgunwBsezrYs1mX+PGiHZxY5zr6QGtizETKLtkdveA2Y8TzJrv9k5Jm4rZ5sn2pxcsK+O9z3NWxld6pVdaB4vehlkU1YYug2U2x2pcNx+1p1mbHr+pHwNVnH9Xby6D+bZGzKZoWEOZVKRaNy4PcD747+LSw90eYAMJDb0Qi5i40OAhCLCTa6b6hX+HAC72zdVupZ5lCFT4LhP4gt5kPvt1YZVcWN7wuMIWIEwmaos3QLTT8Uv3lSGgBTsAGlMNJHi5WX+b2fTlWWHM5QW4+d73Mh6a7CMY6eQEIsQacX8vlHWIZbv7rIsVQpok9kpsZO+wfeM4Xb0C5+tiFbMOUyy5iXmTOcz+wO5nc15yPV5DrYt27CMXfE0Y1+dWuDUmv3KOiEWTBCI5e/UxZU7HP/mRH5ofTXFdNNMyXRyljgfb83tNMjISrqL6+YKfGIEz3RbZFCnw80qt1tsCZbruToh0P2bef4SLBcxXXdqpugm0ifiIWTkBC7MXMEv7jeSE2dgsC+BVE8Ai4brYLJpfxA//mbsTzMzi5AqcnTCmrMvGKGny/c4x4a6p8JH8Yz5WXBizv48vW0uXvx5n1j+2dbZGqmY599BzkwQkFMzmfGPYO/gl+8h8i+4eMPt+i6HRkgQxQ91xJpg92/7sgoHZvc4zmP2f//N/GuhahzU2M7Nh18b6WSpTfdv5v856G1WwZRuXqlLjMXO69DC3+5NH3CSGDFBmqpTNMtuVLOjKuP6vci/QoayH48k7Bay27e/YhkyqucFRt0UlSI4NBNhBMTMLRJG43FcGokukrHW9lpS9fVdEAUv4ShCb7w7HByjzlnvd88q6MkGFfGdo9j/dX7PdT0sQAjqaZAzUjwpimZhpUEPeVJsLNxdRD9MSWMPcdWW4Vg7L2DK1LH0y8VzhCihOYTFf41mWsfIqzU4AsQNOM7bO+SbMft8zv5w+Ywb1ncIKAm6ODgEwJGukQN+f/viPgE3o1th8nI3tlHVyTgJQUMAUvEQ/lr7G5VrKmGQHXq16ZvLpV7ALE45WDz+dSHLOIrjlNbTPAV8yW7wlgDQH1IGxRVWTDzIpUReji4z9C4yoF/zQn7q7weyO89va2Nzh2nhP2Z9MYsugkAmQZT18qmUKZl7Utc3PwpUREHa8K2MNZAJjVMq0nXubBUGs34D6T7duH2iX7OP9ktndC2bfbjG8VsXWHOCzcboyvtj+4ozBbJwxmG3tbI9/d57B7H/+z/9J5UrVrMZtDfFlsLNm4FI6+uPh5ojnOKfXb9quBsiyzja6RfJy3POsaPsnD3G7T/BeQN0SrUiLn2UD+0xbU29B5RTP75c9NzGaaZ79UTDRtIfsAhXMOfn1myLXhcxypXiZTKaEtJAFQgI0tJnvVmDl7VeYl26NJn2hCbPxW7yCzdb0bCjrYghpBhuOu/me/9YUOtxCYMcl1bpsXKycEiGZEyfgSAIOuYp8VyUMSRKQSDtNf8//jbMa2jBLkH8ijKKapLCX9PsEMGGZVORd1y1ZFomVeA0QZzYbNJFJzkAxLITA5Lks12iOrJkJkki6kvPIJ8x+XXvMM4j7zpdSNbxUNZG0BBiZQtqf/dSPXVkHgYvyi/rXeTRghjIRYKFsaCvtUdfYMU4Gk8XkNnVfGacGNsEk1hYgafWlT1PxDypgDq1PHgpf5aqDfXSf5YTzzMhAwpkBzLDgh/zkywPM7mi/znzzf9s7CyDJkeYKv9TA0jGfmZmZGYLM7AAzMzMzM2OA/ZuZmZmZme1jvmt1uuOuOubtF1WlVWzvrOZmFaGVKqtKymqNevV1pl79zGa9Ww5kMUj7jJBBFGQ4ipatBkTIAGiTkbOGKmM/lRG26VTGYm8BWjut8ale5GwrBOLAhTXVBLR/K5NH/5UOpCsOZusfVUZoB0uJmL2l7jllEbNblwxmb/M2b3NFQIE2QtsxAJmdCyl8/XnR4kpC0hWFsfm2K3XdD583dGdhEASHzBaerojtYG3YPoxnkgEi/rfKQJRxizGLv7KVeJivOkinCGys40pVxqQ8PqGr+/xg/b291TuQAbgsUobHN7SpQBphLuicl7k6kLHMuEFZH7n1Fs1f5s+jPH/y43muJEp1aX7VUxgvx6/+KWjse839diXr2KS/P39803Uw/t8f/6EUNYbJI2AL7NfYRZ0Js+xnhjkAxrZWxh2SkgaT+ZEpKXKlw23C5DeAE2ZKiorzhLf0lEUMOEmbAvOCgyNsFGm83IKxshXaWsTMFBjVjoBRglJswzxySc/3u8cFZtrsv9xm+zUa9l4HETJbUY495TBA6ANABjDrRs7kwNZOYWwCGfdT0ymNjKIhUtaPmNWFQHKopDDi3TPb/6Xc0wfFgf5is9XxgNn3EMymUxmlen2upeEdde9pEv+QdMuSweyt3/qtjxUQKGBB4Y9dn+809aed8HUM/jqY3ZEOZggSSZjyi1k4LPvKiFlnXTfKssmkVW3DpQtaqGc7wS6vJ0whzMeyzz9SaZ+CKkpi5qzwRzdCF99QKSvbel2UEaXV5dFjqM3O5E90WX8kLdjh2nNyhUY9csvNR5GckEVFisEl1UXdiDT9j4D8u6Tw0PI28uQS+KlQILIEyQ2b9JgC7mK0hsRS0vQ8npRmKyYFI3CZUpQ+fpa0d+aipQdiE2iHNbBzMBUvWJeBayGFpSPKo3UZFR8uVk1ETN/0WjxVVHXFRcq1ZJb2Ic6xLRvLPX/+J1Igdw7lyd9ZVGuX7mwTugR7rQ3r2G9tQIaQn0fFZnyH1dtmGZarx9OZNlXW2zCdMVS7FMDGMA+dmetljMSWYNguj4gz3VHmbLYGbAT6PL99nGBW6ve/U7H3Ln0gOwK39RAXR8GGFpBZmSuhbSqVEXA2VzJ/lbB1117kzKDM2qxjWqWx1H+7DvQeufcMjB0bmI3frhwGAthlRMzeXffvGMyGHYPZeseqjDctWZXxuZ/7uXcCADuDC6tegC+wL9GX/vFp7rTd5Wd++Nyh2xBgwj7EPGRlQexQzBi0iJcM0rIBbFlhHoukKWy/DmZwjNExd1DMhZoGutyu2Qct2hMKjIK0fsTFdQAvSVaWwgQ9PGJGCPO+wVRIi3Qx2iUlRMDlUTHI6ZcBw/7YzTcXOwX7VFdiLBWeFgdZ+lLnaXv2eWVYX0mOP3gfiwoajjPsJxHuADgGUiAVg6wjkAl/5y489B82UhG+lEqfvNnAzlITMxQOYMVpzlvGsXIcyXfyDEgzRJA6Oi6B0q5Zcp468fM02FZatM7nfUvd+5d/LgVy3nw1KT8LybAMLgLj9KNk/dV+4rAEYAKaxb25uhhIVqNk/DmmTZ8VqEKUTHKWcc5BBA0RNlvL2TAbAcEL3gXeJ1NcHD0T0iLr4T+RKPs43aPQ5/6t4wez3B822/fcrF+iYbihAmT2btmgcahHyCCPT1Cbn8qIiJmDWF/449JTGV0if6QqI8odQCty9913zu7PQR+R+/r2OJCOH8y+nu+YsUVfqZHqusP76YFTBmY3LhnM7r777vazNo3HCRaoRlvad39+2q/iOfpMt4jrRdvh3aFbGPmSTKAQ2YHP2AFv2z7bdmqnMhK+yC/M9PN30kLIIKwo+rlD/ZRG1aEs2v2aYCZZlMxEPNJJNJxASxuvK4N2j/CuWHQf5cL3t1sENtMAraYxRz06VeOTLKdSAqQ9duMN9Rufsn+Z7QYst2varawYZT/TDIkJo9V0eF4epkemUE85jKrPBuW18VKRki36io+0TQ+bpvbF6PWjoe5r73z3//VfSUGYqoKZ7XNFvfgwNhPIEEf2ffHOUWhUerzb/irMhp9V/I52u9e1wCySIOYrUhZl76Sp9EN7ZgbGNIyxDvtgaPnKZ1SmL/Yxum+z/nf/xrGCGSJnL7hZv0+x90rV1MbY0+jvlNXEP8LLUGkkgBHYNA1nhLH2e2bNra1m4ztmBLLaPgRBWtGyDP2O9vSO2tc/b1bpaoDZ+suVIVp76oxYCGYfrgdP2TxmNywZzO66667ph33MP8YOc+o4V9mEGEgT0FDnBR67KTsfEfI6r555fvbp101HqdjPyzEVUVwArB7eGbo5wjnGAkwENkIXA1CViJscuMTIl9lMed5V0cKzAlWFOyxRX6MW7uPWwIzQpqgMpEaYYBmZHQO3OkgZ4VGr2AaAVVjbgWxdTXIKT2WU+o+Ql7pWoe7RG27gr4CMlFm9gxqcZ9NgGbs87uT8ZwbNaofKEEvr++WpkkL/Mk4sJlyCaJYfvGpJBWxwnT23BYqUII3RjFbrJZ6keYm2ETU7dm8qbNEXU5184O//FvDl+3yyNwIQJPTrXxUMNBXvkNBr+5rGAOIDY9lccXcPSty5/dxM13Ttskh95VzO9cGZpL59rIQuSSIfi23gubUp58GzLCJmCYVGdzwEKcpsr3f++lUEs6f3b5T2P0bD3sdv1j0XAElLYUSErBIpQ3nbrzZ/mSkvXpJUfqCctt8DNKY1psGYRc/GJIwhkubKjQZoY5Yo2VHq4mpT/hzt60tiXw9pX7p6YPZ5/o5ZG8JY1wSzT9BDp0H8wwDp+iWD2R133NF74D7eugX0XVLdCR7n4e3SjYSxCIMthzWCGOoYrJLVMUqmduSMDz608RkDC4myvTJqhrUFZv0ByPYBZ1AygQgIyaAR8QK0CWWuatraT2UNO1MZIZMgOZg9dv318iXtAT6Eiaab7x9BYdDUC+VAQYVCgoFBIedarvpg8NCGJKt3+HP5ekMnjJlpK4RM9BXhrf4Z4TPEYimKODePBml/LJz/22xlbPCcUNr8rbhNuaVR6MF/+PtL+iNHPaiBt36aPeRzmcm0SIVEX7MxfbF+N3kdnGAsOxgHL22t3sGsIv3jkGXXDGuWoTfta/bllzM/2onLgnTFyfbdOCYdp3M+mOz3u+PXrjKYla32X0mx96kb+1tt3zkbB7XfLZuVwohVu0xltH0HsTmS+engZeUGkHHS6SIG8v25p8/Wvv5oexmuLph9ijIGWLuS+S2JpSL+8Vl65BTI5TsgXVgymN12223zIWCh9buHoEVA1Em8Poe3Sdfjf0JkASKdhABnwSgvy7P8BuMS8AwjarIImbL9I2//C8B0/rcd/UU4DjhswKjnwEs9nMkKmKnSxuoktEnxIXlQwAP+ds4URwKbzA5sZUwAZRMCsTo8nqKP2x+/7kLxoETjZYGYLDX2PpS2MGAy9xJT/YotTAQki3/hc6VlY9LorEzgXHaMV9IiO9DwVxRnMwy2w+CwtMtUIy3RjiVJSZAsY/aDbvsHxmPnd9DzY8bWFz8cEy8pSJKSKpN4R4R7aJNc1993k/Ji/HNxlNKZai6cKoDDffhf/rlDAAbZVTAzcZIwOlD2I2aELaYrlrp6vZR27R3ipCCAAbJwxwPU2If1ElMW+eVZilVuwXtm8npnHUIXII2XAKqLZenF/7C06bILbuzL8m2/sggwK32HTfldtZnzbB3xUgZkJUK2AzBTe59wNjmXWXK/JfwBe3ttR8waKY2j9GfrQZ8b+/qu3FdqT1oGmH10AbNkTd02lXAVX6RHT9k8ZueXrMr4pm/6pscJR/02xw8sKSl26HNCafJS1CiraZI7/fyO/zM+vEW6IGcSwBX/d2WETNV2Bm4MKJlNFeEPsZ3d6MX+dDm6XwDRWNXZ5xwBqtOq4JSyMsC0thxkuPP+oGSG8LdM8IgGr1BvNoyQ8cHkFUBcgGXflxLIzIE8ft6+TsFAShhh5kJAqFujBXK1c875T5LdW+jQlpr3PeP32YrycKDfmpw/+c4ZD8WLNu1r6z12y1LF8axj1o+Jcz/y7/8qRSDSFTZet2UlpbHygpPE2a0dgPGXnu1Hfo8dez2gbi1BJ1VMYTRwM/CyuqjCGePoTE9E9p8uhrYkwCHSlvV2li3Ky2H2IDejnAS0FpnZILRdG+FAcSAdYLvllxYCZl63d+eY8THjoPccQzePg4NXfR6z1ZQqowBsKtvWu2YEseB7ZdOpjG3Z/Eoqo8OXlU0YhKB2z2b/W8bQF+W+/m/70S0HzD5IGZNfsrB1noKHr9FjpwzMzi0ZzN7kTd5k8eDFdosHx2uf15mbpHMMFAVSEZtP+oSwWltGxLBt2sg5lfbtwUJiTe3BzNrP0LTjtXxNtg9G2jAYj4bRk5CaUbB2P8oIdBw32KFdSkbZ2K6sT5w712aGdKc8whMGg0CsGiaxlXnNY/ji6obZbML+cJ5NYK+TD8EM8vN4rM72a14dYRSey3fmECAhkAZ2w/U0Of6gSmX3c+2bHv3P/+RTfO+7iW1ADAFYc9/480TZNuPM1tb38Wn5pBRRiQ8RzvqDYZRNqGd0C5epEUgKF/1APzWgLlQBsKTX4OLWKO04fIaFU06VtrXBeR5ndr73bv7FJYKZxgytpOdehT58DL3vZr1hTUDju2ZcBwewqVTGplx+WwAkJ+GsrtA4Tz6fkbL7V6mvH1NfuZL+cwz/WJcEZu/Rn2B69jtm36bHT5Mqo6SzSwazN3qjN9r9Q/38tovzYfnnX46/lXZnbtiswf8ZCWrh6UjQSmDqYi0QZfWZdo6cYByWAW3VCAycaxMjSZSO98Gs69hkG9Y1QxfVVETxt3SkyzHhSYQ4vkmDT5sJWmnncTvr3Pbk2bN9BmB59lzDu5p6moGh6ZhYTNdyf/7C7v1I3HxfCWvkyPaxYJh/PS7n43j0f/7bYarPL2JIJiSGcVSJnPGv2e4IWSpiLYomRQXmsoBYAPYY4/b99sASNiY0i495iZRFBJ4cxIJ1E7+kRU553Lc1Ey/A5SjYOsPW297480sGs2064QuspA8cQ+/9dASNE0zLImcGbb3I2Xw1Rtra6owrzUllhPgH1BotknbPZvvNo/S1K+lftsdfLJjlO+N+nf7C7Co3xnfpiVMGZmeWDGZv8AZvcNlQsKw+186xgD5nrpcO0n4wJsOUuroWRiLzT0yDRATMGCRqYDaU+uyDWklnpH4CqbIUWa4TZBvURDCDUwjvyQcV7ffPJAxym98IgQz/TZyQVa1XHdjql1Brf3sGcYGymicObOzjMbbUU2fOqL3wwlHdr96+arU9CoCwsV/CssEYgn70PWAly/MWHmBHXaDEmNKESBhUG1k5/wq13YGx4gxbPH7P/+G29H0CmdkJYxa+8XJZEBsW7wxs2T4JadX+HEgakvTfJRN/nql+A0g1CGMwyWxWH62+RR6fX85DdC6FyNH1DFLWd5biiJiiOH+73b/+ZxcPZhaVep6nI2jSO42DnsejYoycTacy+vYy4Kw9yfR0KiMhDWBWQO1fR+k7V6mvWIX+k+daLpi9JVLwY/o/j+6vcj+qJ08ZmB0uGcxe//Vfv/uwvVQYWKKfvWkDdt5v92OTpF19JmcuSPvOLH2uQSBKUw9I7UCTsM+AE9twm92wR90xlvttaOdA5vy/Xx1Yu33LU8RKfEsIq7bxY/Qd5rb08v1+/6cODzHjVvDwrghwlIEUDgPbnq5G6H5ERd2dSyi1xoTJQazT9kAhqipa00jLx+N4UhnFc3MKCZYzeA5AVayDTeutKErgUQNbn8h6MHgOpl56f2HkooK+phQio7TPLHV11U0C0NbuipDbj9vB+8kH7qs/9WsCzISXnSo3SW1aAjWiYSER2BBdk0fYFLxzNNjIQ+LdAmkM8wEJyxgIvynsY1oLQ2eWn1AHppW1Cwd9Czqm5J7zkqCM9hAsDfJ6+B/jmhKhtTCfb3GctR08pQs/cyLADDBydiW9/Sh99Bh6eUjj10VAdImpjLZPQJsvmV/bB4Blc16zPxylL1pJPzCmnuBnsXwwe1Olcke5AyHFz+qpUzbB9MGSVRnPnz9/xaCJ/Y//OLsfy/LHsIixnDknDSKIkXOi9ZJ/G9DClRjdH+vTg7AuMgDiGmlaZRsTuDNNoSTMKngp6za+LCcMIKflLkIBj7ZWAdQCHif6uaSCX2U8eqJvVuuR2oj9pw4OdDKWXUa6rg2J05vtennywQe6tzIowCmi3Vb1VMb+d5BDGMEMcFw9BiNdVVLkPu58/4lh6F9tDmRX+znlsabr0SYrbfpOsJzzB37+p04imG2h5mAMvcIovfVKert16MXtfbICa8eUymg+IqURcNaNmP3l0yAm/eAq9UdjaPRxnywwe20l/9b6Uvk8Aoq/rtUpk8vfXzKYnT179liBYPfHXKC/1z4DSzirPLtEfd7fajCpAm7RytwLqHv7cRJpkXnxjT6pZQAJ9H5Yb0YdwAyD8f26yIe8bbjNfMw6RnH+sWp0jCqCBDFKaCTK4UlX1hPHtFYEP68Z9/YsgmTXrqJEH720Nzxke1PELo6k95U26nasanpSall6oxqhueSVqY5ZYfv1ub+g9CGEqTg5dW/GMwyl+E+JEX4A7nDaRQq7od1duqzgmGtxsbz4/hT79LN7nnrkYQKXlREZUw3Isl7XmtOtVsaY6hCGf/mXhrIIagQx3tP9fmZDsIn7c3inXtf/9mS7sHLUGZmXtk3+jJjNIUuUz/7ESQYzQtRrr6S3HqU3G0MvV0tpXAsRtONKZVQTxv54lH56Jf3wZv2Ni44b0skFs1dWKnd1NCl+X+MpA7O9JYPZ4eGhektEUMI9vTxnqaTr9Zqzkv14vPax559j/jE5xvnjm3/e+eOLmX3qkv/Txzo4pCV2XK7zzPzy3IuBR5u2s/36yxhIO0rW70PjLIxst6dt9lWAb1BGRPvVsKewecqiO7kmjo5UJwApwArJcMm0utK2+MBzpM9P5gxWfA+DlBBTFw00QoYeDjMGug52qrzHBfjKymM6/xYzahDo7TipM2GiCu82vRhJOpSmmQGWtLrSz+Z1C4WnM8ITSZVUcQFcV0881vnjTrNH/6bJif6VGDEPlhWQ97L35c8pgC5eBxzZcaz+g0P/JwYyOtpkhdFp876+rFsfNRfAVr9dv1GyEZ30UTfa0X74Y88WMPPtwUp6xVF6/dUzkPbCo/SCI1Ma56cymi8zJPMdzKR/2Gz/brP+3Bj6xVH6o1FarXiOEw9mL6Ws19h+zgCzP98t+KzX68HLv/d7vzcLzF7lVV6FD9a7BrNhyWB2cHCw1OjMyfXrml/7+62a6NujwhytJaNhn0/Cylmid4CvuYPsDwR1O7Irmg2CJQIW29vY+ejY7kdEIvwkW1R9XQ/DjGs0S90Qpba13eT4l7aWYjMEPF8ecf6YUb/8ZXzyidnfVxhnv712d4t3+/QdnlE3Q6gGjXYxkMj5o5hm5LlLXv7VOvjRZyGYAZJC58bUq4+hWzfltxlDt4zS65W+F1rpjO1oWV2RERGyR8r2l1ap+8fQ92+2942h39y+M+bne9aB2WMvphwuMZUxGc1P/Kca0rm/Ue4YzGLHYJY7BrNYMpjt7e1poYCgk7tc+7yG9rNZ3R79NnN5hu0ipTz2h+sZDraBoe5ozhtEX6EJ/ZCwN2e0aA/Um37Q4Ui4zYjdX0Ic4dqyK148OZ/zelzNH98VXnImFmXbMaak4ohxZd8lTM1eIuefPGYM4NgGs/fDpwHMNJatlW8v5TcfQzeUtm8yhl5g9GMEwawp/vEPY+gXRkkFwH6unPN/N2WeW892MPt/EVUthjBzfnYAAAAASUVORK5CYII=); | |
8 | -} | |
9 | - | |
10 | -.minicolors-no-data-uris .minicolors-sprite { | |
11 | - background-image: url(jquery.minicolors.png); | |
12 | -} | |
13 | - | |
14 | -.minicolors-swatch { | |
15 | - position: absolute; | |
16 | - vertical-align: middle; | |
17 | - background-position: -80px 0; | |
18 | - border: solid 1px #000; | |
19 | - cursor: text; | |
20 | - padding: 0; | |
21 | - margin: 0; | |
22 | - display: inline-block; | |
23 | -} | |
24 | - | |
25 | -.minicolors-swatch-color { | |
26 | - position: absolute; | |
27 | - top: 0; | |
28 | - left: 0; | |
29 | - right: 0; | |
30 | - bottom: 0; | |
31 | -} | |
32 | - | |
33 | -.minicolors input[type=hidden] + .minicolors-swatch { | |
34 | - width: 28px; | |
35 | - position: static; | |
36 | - cursor: pointer; | |
37 | -} | |
38 | - | |
39 | -.minicolors input[type=hidden][disabled] + .minicolors-swatch { | |
40 | - cursor: default; | |
41 | -======= | |
42 | - position: relative; | |
43 | -} | |
44 | - | |
45 | -.minicolors-swatch { | |
46 | - position: absolute; | |
47 | - vertical-align: middle; | |
48 | - background: url(jquery.minicolors.png) -80px 0; | |
49 | - border: solid 1px #ccc; | |
50 | - cursor: text; | |
51 | - padding: 0; | |
52 | - margin: 0; | |
53 | - display: inline-block; | |
54 | -} | |
55 | - | |
56 | -.minicolors-swatch-color { | |
57 | - position: absolute; | |
58 | - top: 0; | |
59 | - left: 0; | |
60 | - right: 0; | |
61 | - bottom: 0; | |
62 | -} | |
63 | - | |
64 | -.minicolors input[type=hidden] + .minicolors-swatch { | |
65 | - width: 28px; | |
66 | - position: static; | |
67 | - cursor: pointer; | |
68 | ->>>>>>> 2d9fb1ad353bdff092e5bc5a3986ece5adb763c0 | |
69 | -} | |
70 | - | |
71 | -/* Panel */ | |
72 | -.minicolors-panel { | |
73 | -<<<<<<< HEAD | |
74 | - position: absolute; | |
75 | - width: 173px; | |
76 | - height: 152px; | |
77 | - background: white; | |
78 | - border: solid 1px #CCC; | |
79 | - box-shadow: 0 0 20px rgba(0, 0, 0, .2); | |
80 | - z-index: 99999; | |
81 | - box-sizing: content-box; | |
82 | - display: none; | |
83 | -} | |
84 | - | |
85 | -.minicolors-panel.minicolors-with-swatches { | |
86 | - height: 182px; | |
87 | -} | |
88 | - | |
89 | -.minicolors-panel.minicolors-visible { | |
90 | - display: block; | |
91 | -======= | |
92 | - position: absolute; | |
93 | - width: 173px; | |
94 | - height: 152px; | |
95 | - background: white; | |
96 | - border: solid 1px #CCC; | |
97 | - box-shadow: 0 0 20px rgba(0, 0, 0, .2); | |
98 | - z-index: 99999; | |
99 | - -moz-box-sizing: content-box; | |
100 | - -webkit-box-sizing: content-box; | |
101 | - box-sizing: content-box; | |
102 | - display: none; | |
103 | -} | |
104 | - | |
105 | -.minicolors-panel.minicolors-visible { | |
106 | - display: block; | |
107 | ->>>>>>> 2d9fb1ad353bdff092e5bc5a3986ece5adb763c0 | |
108 | -} | |
109 | - | |
110 | -/* Panel positioning */ | |
111 | -.minicolors-position-top .minicolors-panel { | |
112 | -<<<<<<< HEAD | |
113 | - top: -154px; | |
114 | -} | |
115 | - | |
116 | -.minicolors-position-right .minicolors-panel { | |
117 | - right: 0; | |
118 | -} | |
119 | - | |
120 | -.minicolors-position-bottom .minicolors-panel { | |
121 | - top: auto; | |
122 | -} | |
123 | - | |
124 | -.minicolors-position-left .minicolors-panel { | |
125 | - left: 0; | |
126 | -} | |
127 | - | |
128 | -.minicolors-with-opacity .minicolors-panel { | |
129 | - width: 194px; | |
130 | -} | |
131 | - | |
132 | -.minicolors .minicolors-grid { | |
133 | - position: absolute; | |
134 | - top: 1px; | |
135 | - left: 1px; | |
136 | - width: 150px; | |
137 | - height: 150px; | |
138 | - background-position: -120px 0; | |
139 | - cursor: crosshair; | |
140 | -} | |
141 | - | |
142 | -.minicolors .minicolors-grid-inner { | |
143 | - position: absolute; | |
144 | - top: 0; | |
145 | - left: 0; | |
146 | - width: 150px; | |
147 | - height: 150px; | |
148 | -} | |
149 | - | |
150 | -.minicolors-slider-saturation .minicolors-grid { | |
151 | - background-position: -420px 0; | |
152 | -} | |
153 | - | |
154 | -.minicolors-slider-saturation .minicolors-grid-inner { | |
155 | - background-position: -270px 0; | |
156 | - background-image: inherit; | |
157 | -} | |
158 | - | |
159 | -.minicolors-slider-brightness .minicolors-grid { | |
160 | - background-position: -570px 0; | |
161 | -} | |
162 | - | |
163 | -.minicolors-slider-brightness .minicolors-grid-inner { | |
164 | - background-color: black; | |
165 | -} | |
166 | - | |
167 | -.minicolors-slider-wheel .minicolors-grid { | |
168 | - background-position: -720px 0; | |
169 | -======= | |
170 | - top: -154px; | |
171 | -} | |
172 | - | |
173 | -.minicolors-position-right .minicolors-panel { | |
174 | - right: 0; | |
175 | -} | |
176 | - | |
177 | -.minicolors-position-bottom .minicolors-panel { | |
178 | - top: auto; | |
179 | -} | |
180 | - | |
181 | -.minicolors-position-left .minicolors-panel { | |
182 | - left: 0; | |
183 | -} | |
184 | - | |
185 | -.minicolors-with-opacity .minicolors-panel { | |
186 | - width: 194px; | |
187 | -} | |
188 | - | |
189 | -.minicolors .minicolors-grid { | |
190 | - position: absolute; | |
191 | - top: 1px; | |
192 | - left: 1px; | |
193 | - width: 150px; | |
194 | - height: 150px; | |
195 | - background: url(jquery.minicolors.png) -120px 0; | |
196 | - cursor: crosshair; | |
197 | -} | |
198 | - | |
199 | -.minicolors .minicolors-grid-inner { | |
200 | - position: absolute; | |
201 | - top: 0; | |
202 | - left: 0; | |
203 | - width: 150px; | |
204 | - height: 150px; | |
205 | - background: none; | |
206 | -} | |
207 | - | |
208 | -.minicolors-slider-saturation .minicolors-grid { | |
209 | - background-position: -420px 0; | |
210 | -} | |
211 | - | |
212 | -.minicolors-slider-saturation .minicolors-grid-inner { | |
213 | - background: url(jquery.minicolors.png) -270px 0; | |
214 | -} | |
215 | - | |
216 | -.minicolors-slider-brightness .minicolors-grid { | |
217 | - background-position: -570px 0; | |
218 | -} | |
219 | - | |
220 | -.minicolors-slider-brightness .minicolors-grid-inner { | |
221 | - background: black; | |
222 | -} | |
223 | - | |
224 | -.minicolors-slider-wheel .minicolors-grid { | |
225 | - background-position: -720px 0; | |
226 | ->>>>>>> 2d9fb1ad353bdff092e5bc5a3986ece5adb763c0 | |
227 | -} | |
228 | - | |
229 | -.minicolors-slider, | |
230 | -.minicolors-opacity-slider { | |
231 | -<<<<<<< HEAD | |
232 | - position: absolute; | |
233 | - top: 1px; | |
234 | - left: 152px; | |
235 | - width: 20px; | |
236 | - height: 150px; | |
237 | - background-color: white; | |
238 | - background-position: 0 0; | |
239 | - cursor: row-resize; | |
240 | -} | |
241 | - | |
242 | -.minicolors-slider-saturation .minicolors-slider { | |
243 | - background-position: -60px 0; | |
244 | -} | |
245 | - | |
246 | -.minicolors-slider-brightness .minicolors-slider { | |
247 | - background-position: -20px 0; | |
248 | -} | |
249 | - | |
250 | -.minicolors-slider-wheel .minicolors-slider { | |
251 | - background-position: -20px 0; | |
252 | -} | |
253 | - | |
254 | -.minicolors-opacity-slider { | |
255 | - left: 173px; | |
256 | - background-position: -40px 0; | |
257 | - display: none; | |
258 | -} | |
259 | - | |
260 | -.minicolors-with-opacity .minicolors-opacity-slider { | |
261 | - display: block; | |
262 | -======= | |
263 | - position: absolute; | |
264 | - top: 1px; | |
265 | - left: 152px; | |
266 | - width: 20px; | |
267 | - height: 150px; | |
268 | - background: white url(jquery.minicolors.png) 0 0; | |
269 | - cursor: row-resize; | |
270 | -} | |
271 | - | |
272 | -.minicolors-slider-saturation .minicolors-slider { | |
273 | - background-position: -60px 0; | |
274 | -} | |
275 | - | |
276 | -.minicolors-slider-brightness .minicolors-slider { | |
277 | - background-position: -20px 0; | |
278 | -} | |
279 | - | |
280 | -.minicolors-slider-wheel .minicolors-slider { | |
281 | - background-position: -20px 0; | |
282 | -} | |
283 | - | |
284 | -.minicolors-opacity-slider { | |
285 | - left: 173px; | |
286 | - background-position: -40px 0; | |
287 | - display: none; | |
288 | -} | |
289 | - | |
290 | -.minicolors-with-opacity .minicolors-opacity-slider { | |
291 | - display: block; | |
292 | ->>>>>>> 2d9fb1ad353bdff092e5bc5a3986ece5adb763c0 | |
293 | -} | |
294 | - | |
295 | -/* Pickers */ | |
296 | -.minicolors-grid .minicolors-picker { | |
297 | -<<<<<<< HEAD | |
298 | - position: absolute; | |
299 | - top: 70px; | |
300 | - left: 70px; | |
301 | - width: 12px; | |
302 | - height: 12px; | |
303 | - border: solid 1px black; | |
304 | - border-radius: 10px; | |
305 | - margin-top: -6px; | |
306 | - margin-left: -6px; | |
307 | - background: none; | |
308 | -} | |
309 | - | |
310 | -.minicolors-grid .minicolors-picker > div { | |
311 | - position: absolute; | |
312 | - top: 0; | |
313 | - left: 0; | |
314 | - width: 8px; | |
315 | - height: 8px; | |
316 | - border-radius: 8px; | |
317 | - border: solid 2px white; | |
318 | - box-sizing: content-box; | |
319 | -} | |
320 | - | |
321 | -.minicolors-picker { | |
322 | - position: absolute; | |
323 | - top: 0; | |
324 | - left: 0; | |
325 | - width: 18px; | |
326 | - height: 2px; | |
327 | - background: white; | |
328 | - border: solid 1px black; | |
329 | - margin-top: -2px; | |
330 | - box-sizing: content-box; | |
331 | -} | |
332 | - | |
333 | -/* Swatches */ | |
334 | -.minicolors-swatches,.minicolors-swatches li { | |
335 | - margin: 0; | |
336 | - padding: 0; | |
337 | - list-style: none; | |
338 | - overflow: hidden; | |
339 | - position: absolute; | |
340 | - top: 157px; | |
341 | - left: 5px; | |
342 | -} | |
343 | - | |
344 | -.minicolors-swatches .minicolors-swatch { | |
345 | - position: relative; | |
346 | - float: left; | |
347 | - cursor: pointer; | |
348 | - margin:0 4px 0 0; | |
349 | -} | |
350 | - | |
351 | -.minicolors-with-opacity .minicolors-swatches .minicolors-swatch { | |
352 | - margin-right:7px; | |
353 | -} | |
354 | - | |
355 | -.minicolors-swatch.selected { | |
356 | - border-color:#000; | |
357 | -======= | |
358 | - position: absolute; | |
359 | - top: 70px; | |
360 | - left: 70px; | |
361 | - width: 12px; | |
362 | - height: 12px; | |
363 | - border: solid 1px black; | |
364 | - border-radius: 10px; | |
365 | - margin-top: -6px; | |
366 | - margin-left: -6px; | |
367 | - background: none; | |
368 | -} | |
369 | - | |
370 | -.minicolors-grid .minicolors-picker > div { | |
371 | - position: absolute; | |
372 | - top: 0; | |
373 | - left: 0; | |
374 | - width: 8px; | |
375 | - height: 8px; | |
376 | - border-radius: 8px; | |
377 | - border: solid 2px white; | |
378 | - -moz-box-sizing: content-box; | |
379 | - -webkit-box-sizing: content-box; | |
380 | - box-sizing: content-box; | |
381 | -} | |
382 | - | |
383 | -.minicolors-picker { | |
384 | - position: absolute; | |
385 | - top: 0; | |
386 | - left: 0; | |
387 | - width: 18px; | |
388 | - height: 2px; | |
389 | - background: white; | |
390 | - border: solid 1px black; | |
391 | - margin-top: -2px; | |
392 | - -moz-box-sizing: content-box; | |
393 | - -webkit-box-sizing: content-box; | |
394 | - box-sizing: content-box; | |
395 | ->>>>>>> 2d9fb1ad353bdff092e5bc5a3986ece5adb763c0 | |
396 | -} | |
397 | - | |
398 | -/* Inline controls */ | |
399 | -.minicolors-inline { | |
400 | -<<<<<<< HEAD | |
401 | - display: inline-block; | |
402 | -} | |
403 | - | |
404 | -.minicolors-inline .minicolors-input { | |
405 | - display: none !important; | |
406 | -} | |
407 | - | |
408 | -.minicolors-inline .minicolors-panel { | |
409 | - position: relative; | |
410 | - top: auto; | |
411 | - left: auto; | |
412 | - box-shadow: none; | |
413 | - z-index: auto; | |
414 | - display: inline-block; | |
415 | -======= | |
416 | - display: inline-block; | |
417 | -} | |
418 | - | |
419 | -.minicolors-inline .minicolors-input { | |
420 | - display: none !important; | |
421 | -} | |
422 | - | |
423 | -.minicolors-inline .minicolors-panel { | |
424 | - position: relative; | |
425 | - top: auto; | |
426 | - left: auto; | |
427 | - box-shadow: none; | |
428 | - z-index: auto; | |
429 | - display: inline-block; | |
430 | ->>>>>>> 2d9fb1ad353bdff092e5bc5a3986ece5adb763c0 | |
431 | -} | |
432 | - | |
433 | -/* Default theme */ | |
434 | -.minicolors-theme-default .minicolors-swatch { | |
435 | -<<<<<<< HEAD | |
436 | - top: 5px; | |
437 | - left: 5px; | |
438 | - width: 18px; | |
439 | - height: 18px; | |
440 | -} | |
441 | -.minicolors-theme-default .minicolors-swatches .minicolors-swatch { | |
442 | - top: 0; | |
443 | - left: 0; | |
444 | - width: 18px; | |
445 | - height: 18px; | |
446 | -} | |
447 | -.minicolors-theme-default .minicolors-swatches { | |
448 | - height: 20px; | |
449 | -} | |
450 | -.minicolors-theme-default.minicolors-position-right .minicolors-swatch { | |
451 | - left: auto; | |
452 | - right: 5px; | |
453 | -} | |
454 | -.minicolors-theme-default.minicolors { | |
455 | - width: auto; | |
456 | - display: inline-block; | |
457 | -} | |
458 | -.minicolors-theme-default .minicolors-input { | |
459 | - height: 20px; | |
460 | - width: auto; | |
461 | - display: inline-block; | |
462 | - padding-left: 26px; | |
463 | -} | |
464 | -.minicolors-theme-default.minicolors-position-right .minicolors-input { | |
465 | - padding-right: 26px; | |
466 | - padding-left: inherit; | |
467 | -======= | |
468 | - top: 5px; | |
469 | - left: 5px; | |
470 | - width: 18px; | |
471 | - height: 18px; | |
472 | -} | |
473 | -.minicolors-theme-default.minicolors-position-right .minicolors-swatch { | |
474 | - left: auto; | |
475 | - right: 5px; | |
476 | -} | |
477 | -.minicolors-theme-default.minicolors { | |
478 | - width: auto; | |
479 | - display: inline-block; | |
480 | -} | |
481 | -.minicolors-theme-default .minicolors-input { | |
482 | - height: 20px; | |
483 | - width: auto; | |
484 | - display: inline-block; | |
485 | - padding-left: 26px; | |
486 | -} | |
487 | -.minicolors-theme-default.minicolors-position-right .minicolors-input { | |
488 | - padding-right: 26px; | |
489 | - padding-left: inherit; | |
490 | ->>>>>>> 2d9fb1ad353bdff092e5bc5a3986ece5adb763c0 | |
491 | -} | |
492 | - | |
493 | -/* Bootstrap theme */ | |
494 | -.minicolors-theme-bootstrap .minicolors-swatch { | |
495 | -<<<<<<< HEAD | |
496 | - z-index: 2; | |
497 | - width: 20px; | |
498 | - height: 20px; | |
499 | - cursor:pointer; | |
500 | - position:absolute; right:-49px; | |
501 | -} | |
502 | -.minicolors-theme-bootstrap .minicolors-swatches .minicolors-swatch { | |
503 | - top: 0; | |
504 | - left: 0; | |
505 | - width: 20px; | |
506 | - height: 20px; | |
507 | -} | |
508 | -.minicolors-theme-bootstrap .minicolors-swatch-color { | |
509 | - border-radius: inherit; | |
510 | -} | |
511 | -.minicolors-theme-bootstrap.minicolors-position-right .minicolors-swatch { | |
512 | - left: auto; | |
513 | - right: 3px; | |
514 | -} | |
515 | -.minicolors-theme-bootstrap .minicolors-input { | |
516 | - float: none; | |
517 | - | |
518 | -} | |
519 | -.minicolors-theme-bootstrap.minicolors-position-right .minicolors-input { | |
520 | - padding-right: 44px; | |
521 | - padding-left: 12px; | |
522 | -} | |
523 | -.minicolors-theme-bootstrap .minicolors-input.input-lg + .minicolors-swatch { | |
524 | - top: 4px; | |
525 | - left: 4px; | |
526 | - width: 37px; | |
527 | - height: 37px; | |
528 | - border-radius: 5px; | |
529 | -} | |
530 | -.minicolors-theme-bootstrap .minicolors-input.input-sm + .minicolors-swatch { | |
531 | - width: 24px; | |
532 | - height: 24px; | |
533 | -} | |
534 | -.input-group .minicolors-theme-bootstrap:not(:first-child) .minicolors-input { | |
535 | - border-top-left-radius: 0; | |
536 | - border-bottom-left-radius: 0; | |
537 | -} | |
538 | - | |
539 | -/* Semantic Ui theme */ | |
540 | -.minicolors-theme-semanticui .minicolors-swatch { | |
541 | - top: 0; | |
542 | - left: 0; | |
543 | - padding: 18px; | |
544 | -} | |
545 | -.minicolors-theme-semanticui input { | |
546 | - text-indent: 30px; | |
547 | -} | |
548 | -======= | |
549 | - top: 3px; | |
550 | - left: 3px; | |
551 | - width: 28px; | |
552 | - height: 28px; | |
553 | - border-radius: 3px; | |
554 | -} | |
555 | -.minicolors-theme-bootstrap.minicolors-position-right .minicolors-swatch { | |
556 | - left: auto; | |
557 | - right: 3px; | |
558 | -} | |
559 | -.minicolors-theme-bootstrap .minicolors-input { | |
560 | - padding-left: 44px; | |
561 | -} | |
562 | -.minicolors-theme-bootstrap.minicolors-position-right .minicolors-input { | |
563 | - padding-right: 44px; | |
564 | - padding-left: 12px; | |
565 | -} | |
566 | ->>>>>>> 2d9fb1ad353bdff092e5bc5a3986ece5adb763c0 |
400-SOURCECODE/AIAHTML5.Web/themes/default/css/bootstrap/3.3.6/jquery.minicolors.png.orig deleted
No preview for this file type
400-SOURCECODE/AIAHTML5.Web/themes/default/css/bootstrap/3.3.6/main.css
... | ... | @@ -523,9 +523,11 @@ footer.dark { |
523 | 523 | .navbar-inverse .navbar-nav > li > a { |
524 | 524 | color: #FFFFFF; |
525 | 525 | } |
526 | -.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { | |
526 | +/*#7904*/ | |
527 | +.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus, .navbar-nav > li > a.active { | |
527 | 528 | color: #2db0f5; |
528 | 529 | } |
530 | + | |
529 | 531 | ul.right0 { |
530 | 532 | right: 0!important; |
531 | 533 | left: auto; |
... | ... | @@ -667,6 +669,11 @@ textarea { |
667 | 669 | width: 100%; |
668 | 670 | float: right; |
669 | 671 | } |
672 | + | |
673 | + .table-responsive > .table > tbody > tr > td | |
674 | + { | |
675 | + white-space: normal !important; | |
676 | + } | |
670 | 677 | } |
671 | 678 | |
672 | 679 | @media (max-width: 1023px) { |
... | ... | @@ -848,4 +855,6 @@ cursor:pointer; |
848 | 855 | .modeleditstyle |
849 | 856 | { |
850 | 857 | display:none; |
851 | -} | |
852 | 858 | \ No newline at end of file |
859 | +} | |
860 | + /*#7904*/ | |
861 | +.dropdown-menu > li > a.active{background-color:#0095da;color:#fff;text-decoration:none;} | |
853 | 862 | \ No newline at end of file | ... | ... |