@baravak/risloo-profile-cli 4.12.1 → 4.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baravak/risloo-profile-cli",
3
- "version": "4.12.1",
3
+ "version": "4.13.0",
4
4
  "description": "**Risloo Profile CLI** is a library for creating profiles, reports and sheets for *psychological* samples.",
5
5
  "main": "bin/risloo.js",
6
6
  "publishConfig": {
@@ -0,0 +1 @@
1
+ {"id":"$X1HEXXXX","scale":{"id":"$MCQ-93","title":"پرسشنامه تعارضات زناشويی ثنایی (MCQ)"},"chain":null,"version":"1","edition":"","edition_version":null,"client":{"id":"GH96XXXX","name":"مراجع","user_id":"IR9XXXX"},"room":{"id":"RS9XXXXX","manager":{"id":"GH96XXXX","name":"درمانگر","user_id":"IR96XXXX"},"center":{"id":"RS96XXXXX","acceptation":null,"status":"active","type":"counseling_center","detail":{"title":"مرکز درمانی"}},"acceptation":null,"status":"active","type":"room"},"case":null,"code":null,"created_at":1729347728,"started_at":1729347732,"scored_at":1729483438,"closed_at":1729347739,"total_amount":null,"prepayment":false,"purchased":true,"amount":null,"billing":null,"description":"# دستور اجرا\n\nپاسخگوی عزیز ، لطفا هریک از جملات زیر را به دقت بخوانید و به تمام آن ها پاسخ دهید . برای هر جمله پاسخ های 'همیشه' ، 'اکثرا' ، 'گاهی اوقات' ، ' بندرت' ، و 'هرگز' در نظر گرفته شده است . لطفا با توجه به رابطه زناشویی خود ، برای هر عبارت ، آن را که متناسب است ، را انتخاب کنید .","psychologist_description":null,"items":[{"type":"text","text":"هنگام مرافعه با همسرم، رابطه من با خانواده پدر و مادری او قطع می‌شود.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"5"},{"type":"text","text":"من و همسرم حساب‌های مالی جداگانه داریم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"4"},{"type":"text","text":"همسرم هرکاری از من بخواهد فراموش می کنم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"1"},{"type":"text","text":"هنگام دل‌خوری من و همسرم، هیچ کدام برای رابطه جنسی پیش‌قدم نمی‌شویم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"2"},{"type":"text","text":"من و همسرم کتک کاری می‌کنیم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"1"},{"type":"text","text":"هنگام دل‌خوری، رابطه من با خانواده پدر و مادری خودم قطع می‌شود.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"4"},{"type":"text","text":"برای فرزند (یا فرزندانم) حاضرم انتظارات نامعقول او (یا آنان) را برآورده کنم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"1"},{"type":"text","text":"بدون اطلاع همسرم، برای خود پس‌انداز شخصی دارم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"1"},{"type":"text","text":"وقتی همسرم از من تقاضایی دارد، خودم را به کارهای دیگر مشغول می‌کنم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"1"},{"type":"text","text":"رابطه جنسی من با همسرم ارضاکننده نیست.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"1"},{"type":"text","text":"وقتی با همسرم مرافعه دارم، اتاق یا خانه را ترک می‌کنم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"2"},{"type":"text","text":"به تنهایی با خانواده پدر و مادری خود و خواهر و برادرانم رابطه دارم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"5"},{"type":"text","text":"درآمد همسرم را به بهانه‌های مختلف صرف خواسته‌های شخصی خود می‌کنم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"1"},{"type":"text","text":"همسرم را با ناقص انجام دادن کارهایی که ازمن می‌خواهد تنبیه می کنم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"3"},{"type":"text","text":"همسرم رابطه جنسی را به من تحمیل می‌کند.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"1"},{"type":"text","text":"همسرم را به رفتارهای غیر اخلاقی متهم می‌کنم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"5"},{"type":"text","text":"از اعضای خانواده پدری و مادری‌ام، برای حل اختلافات خود با همسرم، کمک می گیرم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"5"},{"type":"text","text":"فرزند (یا فرزندانم)، اسرار همسرم را به من می گویند.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"5"},{"type":"text","text":"خانواده پدر و مادری همسرم، به من بی‌احترامی می کنند.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"4"},{"type":"text","text":"خرج خانواده، در هر صورت (آشتی یا دعوا) در اختیار من است.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"3"},{"type":"text","text":"همسرم را با بی‌نظمی و نامرتب بودن، آزار می‌دهم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"2"},{"type":"text","text":"وقتی با همسرم دعوا می‌کنم، فریاد می‌زنم و ناسزا می‌گویم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"4"},{"type":"text","text":"خانواده پدر و مادری من، همسرم را با دیگران مقایسه و به حال من دلسوزی می‌کنند.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"1"},{"type":"text","text":"فرزند یا فرزندانم یکی از عوامل مهم حفظ و تداوم رابطه زناشویی من هستند.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"5"},{"type":"text","text":"دوست یا دوستانم در جریان اختلاف من و همسرم هستند.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"2"},{"type":"text","text":"من و همسرم با مشارکت و توافق یکدیگر پول و درآمد خانواده را خرج می کنیم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"1"},{"type":"text","text":"حوصله‌ام از همسرم و خواسته‌هایش سر می رود.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"4"},{"type":"text","text":"هنگام دعوا، تنها رابطه من با همسرم رابطه جنسی است.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"3"},{"type":"text","text":"هنگام نزاع، از همسرم درخواست طلاق می‌کنم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"2"},{"type":"text","text":"خانواده پدری و مادری من، تمام گناه‌ها را به گردن همسرم می‌اندازند.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"3"},{"type":"text","text":"هنگام دعوا بین من و همسرم، فرزند یا فرزندانم از من حمایت می‌کنند.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"1"},{"type":"text","text":"حاضر نیستم برای بدهی‌های همسرم از دیگران پول قرض کنم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"4"},{"type":"text","text":"هنگام دعوا، رابطه جنسی من و همسرم قطع می‌شود.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"3"},{"type":"text","text":"با وجود داشتن همسر، از تنهایی رنج می‌برم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"4"},{"type":"text","text":"همسرم در حضور خانواده پدری و مادری خودم، مرا تحقیر می‌کند.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"2"},{"type":"text","text":"هنگام مرافعه من و همسرم، یکی از فرزندانم زیاد مریض می‌شود و نیاز به مراقبت دارد.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"4"},{"type":"text","text":"همسرم و خانواده‌اش را در مقابل سایرین تحقیر می‌کنم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"5"},{"type":"text","text":"بدون اطلاع همسرم، به والدین خود پول می‌دهم و یا از آن‌ها پول می‌گیرم‌.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"4"},{"type":"text","text":"دعوا با همسرم، مرا نسبت به فعالیت‌های خودم بی‌علاقه می‌کند.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"3"},{"type":"text","text":"با آن دسته از برنامه‌های مهمانی که با حضور خانواده همسرم باشد، مخالفت می‌کنم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"3"},{"type":"text","text":"هنگام دعوا با همسرم نسبت به غذا بی‌اشتها می‌شوم.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"2"},{"type":"text","text":"در هنگام دعوا با همسرم، رابطه من و او با دوستان مشترکمان قطع می‌شود.","answer":{"type":"optional","options":["همیشه","اکثرا","گاهی","به ندرت","هرگز"]},"user_answered":"3"}],"prerequisites":[{"type":"text","label":"gender","text":"جنسیت","answer":{"type":"select","options":["زن","مرد"]},"alias":"gender","force":true,"user_answered":"1"},{"type":"text","label":"age","text":"سن","answer":{"type":"number"},"alias":"age","force":true,"user_answered":"35"},{"type":"text","label":"education","text":"تحصیلات","answer":{"type":"select","options":["ابتدایی اول","ابتدایی دوم","متوسطه اول","متوسطه دوم","دیپلم","کارشناسی","کارشناسی ارشد","پزشکی عمومی","متخصص","دکتری تخصصی","حوزوی مقدمات","حوزوی سطح۱","حوزوی سطح۲","حوزوی سطح۳","حوزوی سطح۴"]},"alias":"education","force":true,"user_answered":"5"},{"type":"text","label":"marital_status","text":"وضعیت تأهل","answer":{"type":"select","options":["مجرد","متأهل"]},"alias":"marital_status","force":true,"user_answered":"2"}],"cornometer":0,"score":{"cooperation_total":19,"cooperation_percentage":0.76,"sexual_activity_total":20,"sexual_activity_percentage":0.8,"emotional_reactions_total":25,"emotional_reactions_percentage":0.625,"child_support_total":14,"child_support_percentage":0.56,"personal_relationships_total":16,"personal_relationships_percentage":0.533,"relatives_relationships_total":14,"relatives_relationships_percentage":0.467,"finances_total":24,"finances_percentage":0.686,"marital_conflict_total":132,"marital_conflict_percentage":0.629},"score_current_version":"1.0.0","score_last_version":"1.0.0"}
@@ -0,0 +1,86 @@
1
+ const { Profile, FS } = require("../Profile");
2
+
3
+
4
+ class MCQ93 extends Profile {
5
+ // Number of pages
6
+ static pages = 1;
7
+
8
+ // Labels of the sample
9
+ labels = {
10
+ L0: {eng: "cooperation_total", fr:"کاهش همکاری", max: 25},
11
+ L1: {eng: "cooperation_percentage"},
12
+
13
+ L2: {eng: "sexual_activity_total", fr:"کاهش روابط جنسی", max: 25},
14
+ L3: {eng: "sexual_activity_percentage"},
15
+
16
+ L4: {eng: "emotional_reactions_total", fr:"افزایش واکنش‌های هیجانی", max: 40},
17
+ L5: {eng: "emotional_reactions_percentage"},
18
+
19
+ L6: {eng: "child_support_total", fr:"افزایش جلب حمایت فرزندان", max: 25},
20
+ L7: {eng: "child_support_percentage"},
21
+
22
+ L8: {eng: "personal_relationships_total", fr:"افزایش رابطه با خویشاوندان خود", max: 30},
23
+ L9: {eng: "personal_relationships_percentage"},
24
+
25
+ L10: {eng: "relatives_relationships_total", fr:"کاهش رابطه با خویشاوندان همسر", max: 30},
26
+ L11: {eng: "relatives_relationships_percentage"},
27
+
28
+ L12: {eng: "finances_total", fr:"جدا کردن امور مالی از یکدیگر", max: 35},
29
+ L13: {eng: "finances_percentage"},
30
+
31
+ L14: {eng: "marital_conflict_total", fr:"نمره کل", max: 210},
32
+ L15: {eng: "marital_conflict_percentage"},
33
+
34
+ };
35
+
36
+ profileSpec = {
37
+ /* "sample" determines some important info about the sample and profile */
38
+ /* Default prerequisites: 1. gender, 2. age, 3. education */
39
+ /* "prerequisites" is synonym to "fields" in our program */
40
+ sample: {
41
+ name: "پرسشنامه تعارضات زناشويی ثنایی (MCQ)" /* Name of the sample */,
42
+ multiProfile: false /* Whether the sample has multiple profiles or not */,
43
+ questions: true /* Determines whether to get questions from inital dataset or not */,
44
+ defaultFields: true /* Determines whether to have default prerequisites in the profile or not */,
45
+ fields: [] /* In case you want to get some additional fields and show in the profile */,
46
+ },
47
+ /* "profile" determines the dimensions of the drawn profile (to be used in svg tag viewbox) */
48
+ /* calculating its dimensions carefully is of great importance */
49
+ profile: {
50
+ get dimensions() {
51
+ return {
52
+ width: 786 + 2 * this.padding.x,
53
+ height: 324 + 2 * this.padding.y,
54
+ };
55
+ },
56
+ padding: {
57
+ x: 58.5,
58
+ y: 195,
59
+ },
60
+ },
61
+ /* "labels" part which has to be provided for each profile */
62
+ labels: Object.values(this.labels),
63
+ };
64
+
65
+ constructor(dataset, options, config = {}) {
66
+ super();
67
+ this._init(dataset, options, config);
68
+ }
69
+ _calcContext() {
70
+ const {
71
+ dataset,
72
+ } = this;
73
+ const factors = dataset.score.filter((d, i) => i % 2 === 0).map((d, i) => {
74
+ return {
75
+ ...d,
76
+ percentage: Math.round(dataset.score[(i*2) + 1].mark * 100)
77
+ }
78
+ })
79
+ const total = factors.splice(-1, 2)
80
+ return [{factors, total: total[0]}];
81
+ }
82
+ }
83
+
84
+
85
+
86
+ module.exports = MCQ93;
@@ -0,0 +1,80 @@
1
+ {{#> layout}}
2
+ <defs>
3
+ <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="0%">
4
+ <stop offset="0%" style="stop-color:#F1F5F9CC;stop-opacity:0.8" />
5
+ <stop offset="100%" style="stop-color:#ECFEFFCC;stop-opacity:0.8" />
6
+ </linearGradient>
7
+ <linearGradient id="barBG" x1="0%" y1="0%" x2="100%" y2="0%">
8
+ <stop offset="0%" style="stop-color:#E2E8F0;stop-opacity:0.8" />
9
+ <stop offset="100%" style="stop-color:#0E7490;stop-opacity:0.8" />
10
+ </linearGradient>
11
+ <clipPath id="bar">
12
+ {{bar 400 16 (object tr=2 br=2 bl=0 tl=0) (toRad 0) fill="white"}}
13
+ </clipPath>
14
+ <filter id="barBorder" x="0" y="0" width="7" height="310" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
15
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
16
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
17
+ <feOffset dx="1"/>
18
+ <feGaussianBlur stdDeviation="1.5"/>
19
+ <feComposite in2="hardAlpha" operator="out"/>
20
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"/>
21
+ <feBlend mode="normal" in2="BackgroundImageFix" result="dshadow"/>
22
+ <feBlend mode="normal" in="SourceGraphic" in2="dshadow" result="shape"/>
23
+ </filter>
24
+ <filter id="totalBarBorder" x="0.5" y="0.5" width="34" height="14" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
25
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
26
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
27
+ <feOffset dx="2"/>
28
+ <feGaussianBlur stdDeviation="3"/>
29
+ <feComposite in2="hardAlpha" operator="out"/>
30
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"/>
31
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_819_87196"/>
32
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_819_87196" result="shape"/>
33
+ </filter>
34
+ </defs>
35
+ <g transform="translate({{spec.profile.padding.x}}, {{spec.profile.padding.y}})">
36
+ <rect y="20" x="184" width="400" height="304" fill="url(#bg)" />
37
+ <g>
38
+ <text x="182" font-weight="400" font-size="12" dy="0.95em" text-anchor="middle" fill="#94A3B8">0</text>
39
+ <text x="384" font-weight="400" font-size="12" dy="0.95em" text-anchor="middle" fill="#94A3B8">50 ٪</text>
40
+ <text x="584" font-weight="400" font-size="12" dy="0.95em" text-anchor="middle" fill="#94A3B8">100 ٪</text>
41
+ <g transform="translate(184, 44)">
42
+ {{#each factors as | item index |}}
43
+ <g transform="translate(0, {{math index '*' 40}})">
44
+ {{bar 400 16 (object tr=2 br=2 bl=0 tl=0) (toRad 0) fill="rgba(0, 0, 0, 0.04)"}}
45
+ </g>
46
+ {{/each}}
47
+ </g>
48
+ {{#forLoop 0 10 1}}
49
+ <line x1="{{math 223 '+' (math i '*' 40)}}" y1="20" x2="{{math 223 '+' (math i '*' 40)}}" y2="323" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
50
+ {{/forLoop}}
51
+ </g>
52
+ <g transform="translate(175, 44)">
53
+ {{#each factors as | item index |}}
54
+ <g transform="translate(0, {{math index '*' 40}})">
55
+ <text font-weight="400" font-size="13" dy="0.95em" text-anchor="start" fill="#475569">{{item.label.fr}}</text>
56
+ {{bar (math 4 '*' item.percentage) 16 (object tr=2 br=2 bl=0 tl=0) (toRad 0) fill="url(#barBG)" transform="translate(9, 0)" clip-path="url(#bar)"}}
57
+ <text x="{{ternary (boolean item.percentage '<=' 10) (math (math 4 '*' item.percentage) '+' 15) (math (math 4 '*' item.percentage) '+' 5)}}" font-weight="500" font-size="13" dy="0.95em" text-anchor="{{ternary (boolean item.percentage '<=' 10) 'end' 'start'}}" fill="{{ternary (boolean item.percentage '<=' 10) '#0E7490' '#FFFFFF '}}">{{item.percentage}} ٪</text>
58
+ <text x="416.5" dy="0.85em" text-anchor="start" direction="ltr">
59
+ <tspan font-weight="700" font-size="18" fill="#0E7490">{{item.mark}}</tspan>
60
+ <tspan font-weight="400" font-size="13" fill="#64748B"> / {{item.label.max}}</tspan>
61
+ </text>
62
+ </g>
63
+ {{/each}}
64
+ </g>
65
+ <g opacity="0.5" filter="url(#barBorder)" transform="translate(181, 18.5)">
66
+ <line x1="2.5" y1="3.5" x2="2.5" y2="306.5" stroke="white" stroke-linecap="round"/>
67
+ </g>
68
+ <g transform="translate(737, 34.5)">
69
+ <text x="-6" font-weight="400" font-size="12" dy="0.45em" text-anchor="start" fill="#475569">210</text>
70
+ <text x="24" y="{{math 252 '-' (math total.mark '*' 1.2)}}" font-weight="600" font-size="18" dy="0" text-anchor="end" fill="#334155">{{total.mark}}</text>
71
+ <text x="24" y="{{math 252 '-' (math total.mark '*' 1.2)}}" font-weight="400" font-size="12" dy="1.2em" text-anchor="end" fill="#64748B">٪{{total.percentage}}</text>
72
+ <text x="-253" y="-9" font-weight="400" font-size="12" dy="0" text-anchor="end" fill="#475569" transform="rotate(-90)">نمره کل</text>
73
+ {{bar 18 252 (object tr=2 br=0 bl=0 tl=2) (toRad 0) fill="#F1F5F9"}}
74
+ {{bar 18 (math total.mark '*' 1.2) (object tr=0 br=2 bl=2 tl=0) (toRad 0) fill="#475569" transform="rotate(180, 9, 126)"}}
75
+ <g opacity="0.5" filter="url(#totalBarBorder)" transform="translate(-6, 245)">
76
+ <path d="M5.5 7.5H25.5" stroke="white" stroke-width="2" stroke-linecap="round"/>
77
+ </g>
78
+ </g>
79
+ </g>
80
+ {{/layout}}