File manager - Edit - /home/rangceb/diohome.com/wp-includes6790ed/pomo/onboarding.zip
Back
PK �\O�T<z. z. images/ai.svgnu �[��� <svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_2979_3744)"> <g opacity="0.1"> <path d="M90 50C90 27.9086 72.0914 10 50 10C27.9086 10 10 27.9086 10 50C10 72.0914 27.9086 90 50 90C72.0914 90 90 72.0914 90 50Z" fill="#0044FF"/> </g> <g opacity="0.2"> <path d="M50.0199 18.88H49.9899C32.8083 18.88 18.8799 32.8084 18.8799 49.99V50.02C18.8799 67.2016 32.8083 81.13 49.9899 81.13H50.0199C67.2015 81.13 81.1299 67.2016 81.1299 50.02V49.99C81.1299 32.8084 67.2015 18.88 50.0199 18.88Z" fill="#0044FF"/> </g> <path d="M29 21H71C72.66 21 74 22.34 74 24V80H26V24C26 22.34 27.34 21 29 21Z" fill="white" stroke="#4C5866" stroke-width="2" stroke-miterlimit="10"/> <path d="M96.25 28C96.11 28 96 27.89 96 27.75V21.75C96 21.61 96.11 21.5 96.25 21.5C96.39 21.5 96.5 21.61 96.5 21.75V27.75C96.5 27.89 96.39 28 96.25 28Z" fill="white"/> <path d="M96.25 21C95.84 21 95.5 21.34 95.5 21.75V27.75C95.5 28.16 95.84 28.5 96.25 28.5C96.66 28.5 97 28.16 97 27.75V21.75C97 21.34 96.66 21 96.25 21Z" fill="#E7EEF5"/> <path d="M93.25 25C93.11 25 93 24.89 93 24.75C93 24.61 93.11 24.5 93.25 24.5H99.25C99.39 24.5 99.5 24.61 99.5 24.75C99.5 24.89 99.39 25 99.25 25H93.25Z" fill="white"/> <path d="M99.25 24H93.25C92.84 24 92.5 24.34 92.5 24.75C92.5 25.16 92.84 25.5 93.25 25.5H99.25C99.66 25.5 100 25.16 100 24.75C100 24.34 99.66 24 99.25 24Z" fill="#E7EEF5"/> <path d="M89 79H84C83.4477 79 83 79.4477 83 80C83 80.5523 83.4477 81 84 81H89C89.5523 81 90 80.5523 90 80C90 79.4477 89.5523 79 89 79Z" fill="#8095AD"/> <path d="M12 80C12 79.4477 11.5523 79 11 79C10.4477 79 10 79.4477 10 80C10 80.5523 10.4477 81 11 81C11.5523 81 12 80.5523 12 80Z" fill="#0044FF"/> <path d="M17 79H15C14.4477 79 14 79.4477 14 80C14 80.5523 14.4477 81 15 81H17C17.5523 81 18 80.5523 18 80C18 79.4477 17.5523 79 17 79Z" fill="#8095AD"/> <path d="M79 79H21C20.4477 79 20 79.4477 20 80C20 80.5523 20.4477 81 21 81H79C79.5523 81 80 80.5523 80 80C80 79.4477 79.5523 79 79 79Z" fill="#4C5866"/> <path d="M63 30H36C35.4477 30 35 30.4477 35 31V39C35 39.5523 35.4477 40 36 40H63C63.5523 40 64 39.5523 64 39V31C64 30.4477 63.5523 30 63 30Z" fill="#E7EEF5"/> <path d="M63 31V39H36V31H63ZM63 29H36C34.9 29 34 29.9 34 31V39C34 40.1 34.9 41 36 41H63C64.1 41 65 40.1 65 39V31C65 29.9 64.1 29 63 29Z" fill="#8095AD"/> <path d="M58 62C60.21 62 62 63.79 62 66C62 68.21 60.21 70 58 70C55.79 70 54 68.21 54 66C54 63.79 55.79 62 58 62ZM58 60C54.69 60 52 62.69 52 66C52 69.31 54.69 72 58 72C61.31 72 64 69.31 64 66C64 62.69 61.31 60 58 60Z" fill="#0044FF"/> <path d="M55.0001 45.39C54.7901 45.39 54.6101 45.22 54.6101 45C54.6101 44.78 54.7801 44.61 55.0001 44.61H62.0001C62.2101 44.61 62.3901 44.78 62.3901 45C62.3901 45.22 62.2201 45.39 62.0001 45.39H55.0001Z" fill="white"/> <path d="M62 44H55C54.45 44 54 44.45 54 45C54 45.55 54.45 46 55 46H62C62.55 46 63 45.55 63 45C63 44.45 62.55 44 62 44Z" fill="#4C5866"/> <path d="M55.0001 48.41C54.7701 48.41 54.5901 48.23 54.5901 48C54.5901 47.77 54.7701 47.59 55.0001 47.59H63.5001C63.7301 47.59 63.9101 47.77 63.9101 48C63.9101 48.23 63.7301 48.41 63.5001 48.41H55.0001Z" fill="white"/> <path d="M63.5 47H55C54.45 47 54 47.45 54 48C54 48.55 54.45 49 55 49H63.5C64.05 49 64.5 48.55 64.5 48C64.5 47.45 64.05 47 63.5 47Z" fill="#8095AD"/> <path d="M55.0001 51.42C54.7701 51.42 54.5801 51.23 54.5801 51C54.5801 50.77 54.7701 50.58 55.0001 50.58H63.0001C63.2301 50.58 63.4201 50.77 63.4201 51C63.4201 51.23 63.2301 51.42 63.0001 51.42H55.0001Z" fill="white"/> <path d="M63 50H55C54.45 50 54 50.45 54 51C54 51.55 54.45 52 55 52H63C63.55 52 64 51.55 64 51C64 50.45 63.55 50 63 50Z" fill="#BEC9D6"/> <path d="M55.0001 54.42C54.7701 54.42 54.5801 54.23 54.5801 54C54.5801 53.77 54.7701 53.58 55.0001 53.58H61.0001C61.2301 53.58 61.4201 53.77 61.4201 54C61.4201 54.23 61.2301 54.42 61.0001 54.42H55.0001Z" fill="white"/> <path d="M61 53H55C54.45 53 54 53.45 54 54C54 54.55 54.45 55 55 55H61C61.55 55 62 54.55 62 54C62 53.45 61.55 53 61 53Z" fill="#E7EEF5"/> <path d="M46.1401 60.58H40.8701C40.7099 60.58 40.5801 60.7098 40.5801 60.87V61.14C40.5801 61.3001 40.7099 61.43 40.8701 61.43H46.1401C46.3002 61.43 46.4301 61.3001 46.4301 61.14V60.87C46.4301 60.7098 46.3002 60.58 46.1401 60.58Z" fill="white"/> <path d="M46.13 60H40.86C40.38 60 39.99 60.39 39.99 60.87V61.14C39.99 61.62 40.38 62.01 40.86 62.01H46.13C46.61 62.01 47 61.62 47 61.14V60.87C47 60.39 46.61 60 46.13 60Z" fill="#4C5866"/> <path d="M48.1401 65.58H40.8701C40.7099 65.58 40.5801 65.7098 40.5801 65.87V66.14C40.5801 66.3001 40.7099 66.43 40.8701 66.43H48.1401C48.3002 66.43 48.4301 66.3001 48.4301 66.14V65.87C48.4301 65.7098 48.3002 65.58 48.1401 65.58Z" fill="#E7EEF5"/> <path d="M48.13 65H40.86C40.38 65 39.99 65.39 39.99 65.87V66.14C39.99 66.62 40.38 67.01 40.86 67.01H48.13C48.61 67.01 49 66.62 49 66.14V65.87C49 65.39 48.61 65 48.13 65Z" fill="#8095AD"/> <path d="M44.1401 70.58H40.8701C40.7099 70.58 40.5801 70.7098 40.5801 70.87V71.14C40.5801 71.3001 40.7099 71.43 40.8701 71.43H44.1401C44.3002 71.43 44.4301 71.3001 44.4301 71.14V70.87C44.4301 70.7098 44.3002 70.58 44.1401 70.58Z" fill="#E7EEF5"/> <path d="M44.13 70H40.86C40.38 70 39.99 70.39 39.99 70.87V71.14C39.99 71.62 40.38 72.01 40.86 72.01H44.13C44.61 72.01 45 71.62 45 71.14V70.87C45 70.39 44.61 70 44.13 70Z" fill="#BEC9D6"/> <path d="M36.86 60H35.14C35.0627 60 35 60.0627 35 60.14V61.86C35 61.9373 35.0627 62 35.14 62H36.86C36.9373 62 37 61.9373 37 61.86V60.14C37 60.0627 36.9373 60 36.86 60Z" fill="white"/> <path d="M36.86 59H35.15C34.52 59 34.01 59.51 34.01 60.14V61.85C34.01 62.48 34.52 62.99 35.15 62.99H36.86C37.49 62.99 38 62.48 38 61.85V60.14C38 59.51 37.49 59 36.86 59Z" fill="#0044FF"/> <path d="M36.86 65H35.14C35.0627 65 35 65.0627 35 65.14V66.86C35 66.9373 35.0627 67 35.14 67H36.86C36.9373 67 37 66.9373 37 66.86V65.14C37 65.0627 36.9373 65 36.86 65Z" fill="white"/> <path d="M36.86 64H35.15C34.52 64 34.01 64.51 34.01 65.14V66.85C34.01 67.48 34.52 67.99 35.15 67.99H36.86C37.49 67.99 38 67.48 38 66.85V65.14C38 64.51 37.49 64 36.86 64Z" fill="#8095AD"/> <path d="M36.86 70H35.14C35.0627 70 35 70.0627 35 70.14V71.86C35 71.9373 35.0627 72 35.14 72H36.86C36.9373 72 37 71.9373 37 71.86V70.14C37 70.0627 36.9373 70 36.86 70Z" fill="white"/> <path d="M36.86 69H35.15C34.52 69 34.01 69.51 34.01 70.14V71.85C34.01 72.48 34.52 72.99 35.15 72.99H36.86C37.49 72.99 38 72.48 38 71.85V70.14C38 69.51 37.49 69 36.86 69Z" fill="#BEC9D6"/> <path d="M35.26 55L39 48.7L42.74 55H35.26Z" fill="#E7EEF5"/> <path d="M39.0001 50.66L40.9901 54H37.0201L39.0001 50.66ZM39.0001 47.24C38.8301 47.24 38.6601 47.32 38.5601 47.49L33.9601 55.23C33.7601 55.57 34.0001 56.01 34.4001 56.01H43.5901C43.9901 56.01 44.2401 55.58 44.0301 55.23L39.4301 47.49C39.3301 47.32 39.1601 47.24 38.9901 47.24H39.0001Z" fill="#8095AD"/> <path d="M39.73 55L45.25 45.46L50.77 55H39.73Z" fill="white"/> <path d="M45.2499 47.46L49.0299 54H41.4599L45.2399 47.46M45.2499 43.97C45.0799 43.97 44.9099 44.05 44.8099 44.22L38.4399 55.23C38.2399 55.57 38.4899 56 38.8799 56H51.6099C51.9999 56 52.2499 55.57 52.0499 55.23L45.6799 44.22C45.5799 44.05 45.4099 43.97 45.2399 43.97H45.2499Z" fill="#8095AD"/> <path d="M74 66H84" stroke="#4C5866" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M74 55H79" stroke="#4C5866" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M74 45H89" stroke="#4C5866" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M74 34H79" stroke="#4C5866" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M85 34C85 32.3431 83.6569 31 82 31C80.3431 31 79 32.3431 79 34C79 35.6569 80.3431 37 82 37C83.6569 37 85 35.6569 85 34Z" fill="white" stroke="#4C5866" stroke-width="2.4" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M95 45C95 43.3431 93.6569 42 92 42C90.3431 42 89 43.3431 89 45C89 46.6569 90.3431 48 92 48C93.6569 48 95 46.6569 95 45Z" fill="white" stroke="#4C5866" stroke-width="2.4" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M85 55C85 53.3431 83.6569 52 82 52C80.3431 52 79 53.3431 79 55C79 56.6569 80.3431 58 82 58C83.6569 58 85 56.6569 85 55Z" fill="white" stroke="#4C5866" stroke-width="2.4" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M90 66C90 64.3431 88.6569 63 87 63C85.3431 63 84 64.3431 84 66C84 67.6569 85.3431 69 87 69C88.6569 69 90 67.6569 90 66Z" fill="white" stroke="#4C5866" stroke-width="2.4" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M26 34H21" stroke="#4C5866" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M26 45H16" stroke="#4C5866" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M26 55H21" stroke="#4C5866" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M26 67H11" stroke="#4C5866" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M5 67C5 68.6569 6.34315 70 8 70C9.65685 70 11 68.6569 11 67C11 65.3431 9.65685 64 8 64C6.34315 64 5 65.3431 5 67Z" fill="white" stroke="#4C5866" stroke-width="2.4" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M15 55C15 56.6569 16.3431 58 18 58C19.6569 58 21 56.6569 21 55C21 53.3431 19.6569 52 18 52C16.3431 52 15 53.3431 15 55Z" fill="white" stroke="#4C5866" stroke-width="2.4" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M10 45C10 46.6569 11.3431 48 13 48C14.6569 48 16 46.6569 16 45C16 43.3431 14.6569 42 13 42C11.3431 42 10 43.3431 10 45Z" fill="white" stroke="#4C5866" stroke-width="2.4" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M15 34C15 35.6569 16.3431 37 18 37C19.6569 37 21 35.6569 21 34C21 32.3431 19.6569 31 18 31C16.3431 31 15 32.3431 15 34Z" fill="white" stroke="#4C5866" stroke-width="2.4" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M63 20.5V15.5" stroke="#4C5866" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M50 20.5V10.5" stroke="#4C5866" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M37 21V18" stroke="#4C5866" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M37 11.5C35.3431 11.5 34 12.8431 34 14.5C34 16.1569 35.3431 17.5 37 17.5C38.6569 17.5 40 16.1569 40 14.5C40 12.8431 38.6569 11.5 37 11.5Z" fill="white" stroke="#4C5866" stroke-width="2.4" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M50 4C48.3431 4 47 5.34315 47 7C47 8.65685 48.3431 10 50 10C51.6569 10 53 8.65685 53 7C53 5.34315 51.6569 4 50 4Z" fill="white" stroke="#4C5866" stroke-width="2.4" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M63 9C61.3431 9 60 10.3431 60 12C60 13.6569 61.3431 15 63 15C64.6569 15 66 13.6569 66 12C66 10.3431 64.6569 9 63 9Z" fill="white" stroke="#4C5866" stroke-width="2.4" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M14.3499 10.3999C14.0499 9.57994 13.4199 8.94994 12.5999 8.64994L12.1899 8.49994L12.5999 8.34994C13.4199 8.04994 14.0499 7.41994 14.3499 6.59994L14.4999 6.18994L14.6499 6.59994C14.9499 7.41994 15.5799 8.04994 16.3999 8.34994L16.8099 8.49994L16.3999 8.64994C15.5799 8.94994 14.9499 9.57994 14.6499 10.3999L14.4999 10.8099L14.3499 10.3999Z" fill="white"/> <path d="M14.5 7.87C14.68 8.11 14.9 8.32 15.13 8.5C14.89 8.68 14.68 8.9 14.5 9.13C14.32 8.89 14.1 8.68 13.87 8.5C14.11 8.32 14.32 8.1 14.5 7.87ZM14.5 4L13.65 6.35C13.43 6.95 12.95 7.43 12.35 7.65L10 8.5L12.35 9.35C12.95 9.57 13.43 10.05 13.65 10.65L14.5 13L15.35 10.65C15.57 10.05 16.05 9.57 16.65 9.35L19 8.5L16.65 7.65C16.05 7.43 15.57 6.95 15.35 6.35L14.5 4Z" fill="#E7EEF5"/> <path d="M79.54 10.71L80.25 8.75L80.96 10.71C81.14 11.21 81.54 11.61 82.04 11.79L84 12.5L82.04 13.21C81.54 13.39 81.14 13.79 80.96 14.29L80.25 16.25L79.54 14.29C79.36 13.79 78.96 13.39 78.46 13.21L76.5 12.5L78.46 11.79C78.96 11.61 79.36 11.21 79.54 10.71Z" fill="#0044FF"/> </g> <defs> <clipPath id="clip0_2979_3744"> <rect width="100" height="100" fill="white"/> </clipPath> </defs> </svg> PK �\�E�%�( �( images/premade.svgnu �[��� <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100" fill="none"> <g opacity="0.1"> <path d="M90 50C90 27.9086 72.0914 10 50 10C27.9086 10 10 27.9086 10 50C10 72.0914 27.9086 90 50 90C72.0914 90 90 72.0914 90 50Z" fill="#7E32D2"/> </g> <g opacity="0.2"> <path d="M79 50C79 33.9837 66.0163 21 50 21C33.9837 21 21 33.9837 21 50C21 66.0163 33.9837 79 50 79C66.0163 79 79 66.0163 79 50Z" fill="#7E32D2"/> </g> <path d="M35.99 15H63.51C65.16 15 66.5 16.34 66.5 17.99V79.5H33V17.99C33 16.34 34.34 15 35.99 15Z" fill="white" stroke="#8095AD" stroke-width="1.99" stroke-miterlimit="10"/> <path d="M31.99 18H67.51C69.16 18 70.5 19.34 70.5 20.99V79.5H29V20.99C29 19.34 30.34 18 31.99 18Z" fill="white" stroke="#7E32D2" stroke-width="1.99" stroke-miterlimit="10"/> <path d="M28.97 21H71.03C72.67 21 74 22.33 74 23.97V80H26V23.97C26 22.33 27.33 21 28.97 21Z" fill="white" stroke="#4C5866" stroke-width="1.98" stroke-miterlimit="10"/> <path d="M63 30H36C35.4477 30 35 30.4477 35 31V39C35 39.5523 35.4477 40 36 40H63C63.5523 40 64 39.5523 64 39V31C64 30.4477 63.5523 30 63 30Z" fill="#E7EEF5"/> <path d="M63 31V39H36V31H63ZM63 29H36C34.9 29 34 29.9 34 31V39C34 40.1 34.9 41 36 41H63C64.1 41 65 40.1 65 39V31C65 29.9 64.1 29 63 29Z" fill="#8095AD"/> <path d="M58 62C60.21 62 62 63.79 62 66C62 68.21 60.21 70 58 70C55.79 70 54 68.21 54 66C54 63.79 55.79 62 58 62ZM58 60C54.69 60 52 62.69 52 66C52 69.31 54.69 72 58 72C61.31 72 64 69.31 64 66C64 62.69 61.31 60 58 60Z" fill="#7E32D2"/> <path d="M54.9999 45.3899C54.7899 45.3899 54.6099 45.2199 54.6099 44.9999C54.6099 44.7799 54.7799 44.6099 54.9999 44.6099H61.9999C62.2099 44.6099 62.3899 44.7799 62.3899 44.9999C62.3899 45.2199 62.2199 45.3899 61.9999 45.3899H54.9999Z" fill="white"/> <path d="M62 44H55C54.45 44 54 44.45 54 45C54 45.55 54.45 46 55 46H62C62.55 46 63 45.55 63 45C63 44.45 62.55 44 62 44Z" fill="#4C5866"/> <path d="M54.9998 48.4098C54.7698 48.4098 54.5898 48.2298 54.5898 47.9998C54.5898 47.7698 54.7698 47.5898 54.9998 47.5898H63.4998C63.7298 47.5898 63.9098 47.7698 63.9098 47.9998C63.9098 48.2298 63.7298 48.4098 63.4998 48.4098H54.9998Z" fill="white"/> <path d="M63.5 47H55C54.45 47 54 47.45 54 48C54 48.55 54.45 49 55 49H63.5C64.05 49 64.5 48.55 64.5 48C64.5 47.45 64.05 47 63.5 47Z" fill="#8095AD"/> <path d="M55.0001 51.4201C54.7701 51.4201 54.5801 51.2301 54.5801 51.0001C54.5801 50.7701 54.7701 50.5801 55.0001 50.5801H63.0001C63.2301 50.5801 63.4201 50.7701 63.4201 51.0001C63.4201 51.2301 63.2301 51.4201 63.0001 51.4201H55.0001Z" fill="white"/> <path d="M63 50H55C54.45 50 54 50.45 54 51C54 51.55 54.45 52 55 52H63C63.55 52 64 51.55 64 51C64 50.45 63.55 50 63 50Z" fill="#BEC9D6"/> <path d="M55.0001 54.4201C54.7701 54.4201 54.5801 54.2301 54.5801 54.0001C54.5801 53.7701 54.7701 53.5801 55.0001 53.5801H61.0001C61.2301 53.5801 61.4201 53.7701 61.4201 54.0001C61.4201 54.2301 61.2301 54.4201 61.0001 54.4201H55.0001Z" fill="white"/> <path d="M61 53H55C54.45 53 54 53.45 54 54C54 54.55 54.45 55 55 55H61C61.55 55 62 54.55 62 54C62 53.45 61.55 53 61 53Z" fill="#E7EEF5"/> <path d="M46.1401 60.5801H40.8701C40.7099 60.5801 40.5801 60.7099 40.5801 60.8701V61.1401C40.5801 61.3002 40.7099 61.4301 40.8701 61.4301H46.1401C46.3002 61.4301 46.4301 61.3002 46.4301 61.1401V60.8701C46.4301 60.7099 46.3002 60.5801 46.1401 60.5801Z" fill="white"/> <path d="M46.1302 60H40.8602C40.3802 60 39.9902 60.39 39.9902 60.87V61.14C39.9902 61.62 40.3802 62.01 40.8602 62.01H46.1302C46.6102 62.01 47.0002 61.62 47.0002 61.14V60.87C47.0002 60.39 46.6102 60 46.1302 60Z" fill="#4C5866"/> <path d="M48.1401 65.5801H40.8701C40.7099 65.5801 40.5801 65.7099 40.5801 65.8701V66.1401C40.5801 66.3002 40.7099 66.4301 40.8701 66.4301H48.1401C48.3002 66.4301 48.4301 66.3002 48.4301 66.1401V65.8701C48.4301 65.7099 48.3002 65.5801 48.1401 65.5801Z" fill="#E7EEF5"/> <path d="M48.1302 65H40.8602C40.3802 65 39.9902 65.39 39.9902 65.87V66.14C39.9902 66.62 40.3802 67.01 40.8602 67.01H48.1302C48.6102 67.01 49.0002 66.62 49.0002 66.14V65.87C49.0002 65.39 48.6102 65 48.1302 65Z" fill="#8095AD"/> <path d="M44.1401 70.5801H40.8701C40.7099 70.5801 40.5801 70.7099 40.5801 70.8701V71.1401C40.5801 71.3002 40.7099 71.4301 40.8701 71.4301H44.1401C44.3002 71.4301 44.4301 71.3002 44.4301 71.1401V70.8701C44.4301 70.7099 44.3002 70.5801 44.1401 70.5801Z" fill="#E7EEF5"/> <path d="M44.1302 70H40.8602C40.3802 70 39.9902 70.39 39.9902 70.87V71.14C39.9902 71.62 40.3802 72.01 40.8602 72.01H44.1302C44.6102 72.01 45.0002 71.62 45.0002 71.14V70.87C45.0002 70.39 44.6102 70 44.1302 70Z" fill="#BEC9D6"/> <path d="M36.86 60H35.14C35.0627 60 35 60.0627 35 60.14V61.86C35 61.9373 35.0627 62 35.14 62H36.86C36.9373 62 37 61.9373 37 61.86V60.14C37 60.0627 36.9373 60 36.86 60Z" fill="white"/> <path d="M36.8598 59H35.1498C34.5198 59 34.0098 59.51 34.0098 60.14V61.85C34.0098 62.48 34.5198 62.99 35.1498 62.99H36.8598C37.4898 62.99 37.9998 62.48 37.9998 61.85V60.14C37.9998 59.51 37.4898 59 36.8598 59Z" fill="#7E32D2"/> <path d="M36.86 65H35.14C35.0627 65 35 65.0627 35 65.14V66.86C35 66.9373 35.0627 67 35.14 67H36.86C36.9373 67 37 66.9373 37 66.86V65.14C37 65.0627 36.9373 65 36.86 65Z" fill="white"/> <path d="M36.8598 64H35.1498C34.5198 64 34.0098 64.51 34.0098 65.14V66.85C34.0098 67.48 34.5198 67.99 35.1498 67.99H36.8598C37.4898 67.99 37.9998 67.48 37.9998 66.85V65.14C37.9998 64.51 37.4898 64 36.8598 64Z" fill="#8095AD"/> <path d="M36.86 70H35.14C35.0627 70 35 70.0627 35 70.14V71.86C35 71.9373 35.0627 72 35.14 72H36.86C36.9373 72 37 71.9373 37 71.86V70.14C37 70.0627 36.9373 70 36.86 70Z" fill="white"/> <path d="M36.8598 69H35.1498C34.5198 69 34.0098 69.51 34.0098 70.14V71.85C34.0098 72.48 34.5198 72.99 35.1498 72.99H36.8598C37.4898 72.99 37.9998 72.48 37.9998 71.85V70.14C37.9998 69.51 37.4898 69 36.8598 69Z" fill="#BEC9D6"/> <path d="M35.2603 55.0002L39.0003 48.7002L42.7403 55.0002H35.2603Z" fill="#E7EEF5"/> <path d="M39.0001 50.6602L40.9901 54.0002H37.0201L39.0001 50.6602ZM39.0001 47.2402C38.8301 47.2402 38.6601 47.3202 38.5601 47.4902L33.9601 55.2302C33.7601 55.5702 34.0001 56.0102 34.4001 56.0102H43.5901C43.9901 56.0102 44.2401 55.5802 44.0301 55.2302L39.4301 47.4902C39.3301 47.3202 39.1601 47.2402 38.9901 47.2402H39.0001Z" fill="#8095AD"/> <path d="M39.73 55.0005L45.25 45.4604L50.77 55.0005H39.73Z" fill="white"/> <path d="M45.2499 47.4602L49.0299 54.0002H41.4599L45.2399 47.4602M45.2399 43.9702C45.0699 43.9702 44.8999 44.0502 44.7999 44.2202L38.4299 55.2302C38.2299 55.5702 38.4799 56.0002 38.8699 56.0002H51.5999C51.9899 56.0002 52.2399 55.5702 52.0399 55.2302L45.6699 44.2202C45.5699 44.0502 45.3999 43.9702 45.2299 43.9702H45.2399Z" fill="#8095AD"/> <path d="M98.37 27.1196C98.37 27.1196 98.26 27.1196 98.19 27.0496L93.95 22.8096C93.85 22.7096 93.85 22.5496 93.95 22.4596C94.01 22.3996 94.09 22.3896 94.13 22.3896C94.17 22.3896 94.24 22.3896 94.31 22.4596L98.55 26.6996C98.65 26.7996 98.65 26.9596 98.55 27.0496C98.49 27.1096 98.41 27.1196 98.37 27.1196Z" fill="white"/> <path d="M94.1298 21.8799C93.9398 21.8799 93.7498 21.9499 93.5998 22.0999C93.3098 22.3899 93.3098 22.8699 93.5998 23.1599L97.8398 27.3999C97.9898 27.5499 98.1798 27.6199 98.3698 27.6199C98.5598 27.6199 98.7498 27.5499 98.8998 27.3999C99.1898 27.1099 99.1898 26.6299 98.8998 26.3399L94.6598 22.0999C94.5098 21.9499 94.3198 21.8799 94.1298 21.8799Z" fill="#E7EEF5"/> <path d="M94.13 27.1196C94.13 27.1196 94.02 27.1196 93.95 27.0496C93.85 26.9496 93.85 26.7896 93.95 26.6996L98.19 22.4596C98.25 22.3996 98.33 22.3896 98.37 22.3896C98.41 22.3896 98.48 22.3896 98.55 22.4596C98.65 22.5596 98.65 22.7196 98.55 22.8096L94.31 27.0496C94.25 27.1096 94.17 27.1196 94.13 27.1196Z" fill="white"/> <path d="M98.3698 21.8799C98.1798 21.8799 97.9898 21.9499 97.8398 22.0999L93.5998 26.3399C93.3098 26.6299 93.3098 27.1099 93.5998 27.3999C93.7498 27.5499 93.9398 27.6199 94.1298 27.6199C94.3198 27.6199 94.5098 27.5499 94.6598 27.3999L98.8998 23.1599C99.1898 22.8699 99.1898 22.3899 98.8998 22.0999C98.7498 21.9499 98.5598 21.8799 98.3698 21.8799Z" fill="#E7EEF5"/> <g opacity="0.9"> <path d="M71.5 8.75C72.46 8.75 73.25 9.54 73.25 10.5C73.25 11.46 72.46 12.25 71.5 12.25C70.54 12.25 69.75 11.46 69.75 10.5C69.75 9.54 70.54 8.75 71.5 8.75ZM71.5 7C69.57 7 68 8.57 68 10.5C68 12.43 69.57 14 71.5 14C73.43 14 75 12.43 75 10.5C75 8.57 73.43 7 71.5 7Z" fill="#8095AD"/> </g> <path d="M14.4963 5.02955L11.0386 8.4873L14.4963 11.9451L17.9541 8.4873L14.4963 5.02955Z" fill="white"/> <path d="M14.4902 6.09018L16.8902 8.49018L14.4902 10.8902L12.0902 8.49018L14.4902 6.09018ZM14.4902 4.18018C14.3602 4.18018 14.2302 4.23018 14.1402 4.33018L10.3302 8.14018C10.1302 8.34018 10.1302 8.65018 10.3302 8.85018L14.1402 12.6602C14.2402 12.7602 14.3702 12.8102 14.4902 12.8102C14.6102 12.8102 14.7502 12.7602 14.8402 12.6602L18.6502 8.85018C18.8502 8.65018 18.8502 8.34018 18.6502 8.14018L14.8402 4.33018C14.7402 4.23018 14.6102 4.18018 14.4902 4.18018Z" fill="#E7EEF5"/> <path d="M18 79H16C15.4477 79 15 79.4477 15 80C15 80.5523 15.4477 81 16 81H18C18.5523 81 19 80.5523 19 80C19 79.4477 18.5523 79 18 79Z" fill="#8095AD"/> <path d="M12.11 79H11.89C11.3985 79 11 79.3985 11 79.89V80.11C11 80.6015 11.3985 81 11.89 81H12.11C12.6015 81 13 80.6015 13 80.11V79.89C13 79.3985 12.6015 79 12.11 79Z" fill="#7E32D2"/> <path d="M15.25 41.25C15.5261 41.25 15.75 41.0261 15.75 40.75C15.75 40.4739 15.5261 40.25 15.25 40.25C14.9739 40.25 14.75 40.4739 14.75 40.75C14.75 41.0261 14.9739 41.25 15.25 41.25Z" fill="white"/> <path d="M15.25 39.5C14.56 39.5 14 40.06 14 40.75C14 41.44 14.56 42 15.25 42C15.94 42 16.5 41.44 16.5 40.75C16.5 40.06 15.94 39.5 15.25 39.5Z" fill="#4C5866"/> <path d="M86.84 56.74C86.84 56.74 86.75 56.74 86.75 56.65V51.13C86.75 51.05 86.84 51.04 86.84 51.04L91.03 53.82V53.97L86.88 56.73L86.83 56.75L86.84 56.74Z" fill="white"/> <path d="M87.5 52.36L89.79 53.89L87.5 55.42V52.36ZM86.84 50.29C86.4 50.29 86 50.64 86 51.13V56.65C86 57.14 86.41 57.49 86.84 57.49C87 57.49 87.16 57.45 87.3 57.35L91.45 54.59C91.95 54.26 91.95 53.52 91.45 53.19L87.3 50.43C87.15 50.33 86.99 50.29 86.84 50.29Z" fill="#7E32D2"/> <path d="M88.06 79H82.94C82.4209 79 82 79.4209 82 79.94V80.06C82 80.5791 82.4209 81 82.94 81H88.06C88.5791 81 89 80.5791 89 80.06V79.94C89 79.4209 88.5791 79 88.06 79Z" fill="#8095AD"/> <path d="M79 79H22C21.4477 79 21 79.4477 21 80C21 80.5523 21.4477 81 22 81H79C79.5523 81 80 80.5523 80 80C80 79.4477 79.5523 79 79 79Z" fill="#4C5866"/> </svg>PK �\tXy` ` images/loader.pngnu �[��� �PNG IHDR � � ��� pHYs �� sRGB ��� gAMA ���a �IDATx�m�]Eǧ������l[(5Xa�7T���#%1M�� |@�1|!�O�~C%cbД(�� jL H%Q��Z���RjK�,���s;wv^ϙ�s�_��{�9���9��yf�yά�N��P2���BH a�BH a�BH a�BH a�BH a�BH a�m� :p���߹�������g�}�f�Ȃ�x�O ���d}�Bgj�n�H Dp&V.c}�Btb�U�5q��Z_�E[n B�bE�<���E��<�91!�B�HK� r��.L;� �w Ӆ�95]�6�x��16g�\�c��]!��E �H���y�<>6G{,_<�� >k(+ѥË�{�Cb1�up�zs�\G��s�s�Z�cNk ����U��;��1Lt��Ĉ�z]�0�p��ܠ�A�w�����0Q��]����"��n��6�$�P��I� ��N� �0B��9ikaF](Q�9vтӕ�r��5��;�)���:����`�.��&�Q�S�Y'���&���J=�k{�fQF&�g��2u��(�$ʷDg�Ł� �[�p��br�\\�����9]��>�M��Fd�ܮ$Ӽ��P�]� }ŗڥ1����2M��vRv�`�c��s�!㻐'����]{��.����ٚ�.+Ś�����뎹<�&���*��m<ӵr�_.��$7��Y��r�B �~��_k���Ք���G �'��U�}I�1Y���{z�=�ģ���%k�dW��`�x��x�"�V �x#����P13">�fr�W�ܻ��J��ı����O�)�#}Iu��4SE����[G쬉TU����9T���_c�V_��� �����ozpFm^\]L�kX�%�Ƃ�F�"0��m�!�#�?|�ƥ++�Z��dI��K�ʳUZ���6����)=���A��*��إ̅�{ؖ�_h~���9;N۶0��5��� ��bJ��-��Z���C�s����m��^�'9+��I�D|t�q�")R .�UD��ׯd�)Un�H����"��W��P�@T� �~\�~�A{Qq1��^Չi_�Hi�V1q �ɚ�Z��"RM� ��w���ҥK��\�@9 �`��u�0"�+���9=*D�����bР$�:0 l�kXJ�Vv�V/���I��E��X���ɚ�|��͋$8�Y4�k*Wv!њ��u���<�N��PM3϶tq�Kt����Q4�k \�W$�M�o2r�>-��`�� 1���=�"��mK�Y,��S��"����:��/�.�` X X�Hd?��\.BW��L��M �"Q5.\0[r�\�,�;�:˾���JE�E��F�:`vKu.߬㊪�)Y7�Dw�b .�pT�J�k�E � �� tz�\�HȒ��Y�.����6rY�hA� 8��#�m$P� <�`�6J��tI���/SZ,M ��8w�T#��(�Ŏo�1V��O ���0�tm�{�`~��]���o<�U�/!������j�Bej!��ܫF1�|���q�!K��&&�Nmg�:�r1�rى�_�|hs�*����O�������M���>�O�qG ��0�����w��ґ{+�+萨�S`j����6���}'G�{��Wn#��"�E'��%պ��� �����V*'%� �v���� �c������7����9I��R�"Q\,y��X. .v��0�\���ݪ�5�D�|q�U,?����m���)L�=�q���7���/ح뇯�K?H���̙�;)Db�8&��6�8�.�.�͏��.�:�<*�r��hr�HI�u��NY�U����1~s7���3����J����ש�D �G��`�B���C�7M.:&>W�]���D��R��@$�đ{q�V��9���yC���8ϖ��#�݂���_"Q��˔ Y�v\��3f\C<��;�q+/�c�0�,�/`�/5����ƛ�,>�@L �5ron�{�3��H��A��r�u�o}��\�h=P��UY�σo���Iq!�,� _}�<����\�Պ}-��B9�3Ck����k��#�s�&|w�v�� DΑ�m���~νR��ݪ����r��noG-@$�&� lG\���&"�z3UTG_��C�R#M�N��V���������^W��7��.w ⾡�������w�YY��lnV�8�I �o��.v����|�ׇ�p�T"��j�50ag��Y�特[&��r�A @\�����ܕˉ��|���o:O��uRCw�o�X��������+ D�ZQ�� ��SED"W�r�@TV#�RH31��b����J�B��=$긤*S:ty����T�]�,g��M�&<'K�y(!!n)9f]K,&�DDr�b ,f�nypz�ոq�b��5�Z��:S(����+>ƾ��{�9�w��^R� ����;r���A���c�_��#U�α����%�6?"�ڽ%@�bXSXcχhBvD��_�� ���?���C9� 3X�ܼ{��QH|G �HJ�ɒ�%W2܃;?��q��^��{�.���`�")9��������(�� d|��5qA��r�b��bp�H\R_r��IȊ�c@u�B�\�*6��nf��e&ye>J���`zz��Y�6�B}nj�9=\�wrbe�t*�x�t��W��lEJ����-��@m���`8�+ƭ��� Ƨ8���D�� �\z����/?`K��u.� k��W�s=]��� �D^L,��h�U�[%r�҅'\�U�c�U�N���l����bMj�$��/�� �u��i�/��x�w�+I��1H����p�!�v�$I��Z�Q�m7Ӧ?��ƅhw�2�. ��@ ljh$>�X@����Y.�}ǩ��mr��Y�f\�Mm����n��ZH�� �VEm���s��a]�.�~��\�^�l�G�<��A�s<c��t%���] �����V`��@�d�O��rˁN�RM?eʹbL�r ����i_,v%�@ڸZ!i܀1}@,Z���|^��<q�~�|����ͭ�8)w&�m! 4�ݶ8������]b]��uA\��-��r�!�J�8�k�;�)`]���.�ra���ǃ�& �s[�R�Wx��,<����ǥ��$r�BO$](4�q tv� �Y�B�Y�T�!o�H�ˌ� T�,aj>g�}��$�lw��;���O��2QbZ�Qs-]Y:�f�h����g��^�� ��1���B��B���O��Q�-n�^(�E��t��g p�!:��p 9����i���;o���Q��b�U�X�a���,Gȩ�Q���r{�d]Iw9^rg�5U;ju�\�I���lӼ.����,���^��~�6�%�k�Q��%�`):o���؇QV�1��S�K\�Y��.�:G��w� z�)^�eO�(�a�(��h�`��n_V� |�:�J�̚&�j �.��kM *�Х� &k+� I-Hۙ�RܬZ���+��>�cn7ܴ�0�%�!5�{���m��_����ȅBU��5��I_�9jZq�uL��&��65)�rcӇ�-]�����1}.�E+�*�*6��n�G����]�z9)�H,�Lm�L����.��,��I�X��������7b�W �@��@y�����ϑY$1n~��k½�A!�U�)��Jz +�G۾&��+�H��_�~fy��uO��J�U:�f��DRra:ת86dqp\D��e|r�MY+�����:�D�u���D�����`j X�Ww�ga�v�1�G}|lޠ�n�� �$̫����.]�&V����W*q����bK�l�0)�e�Nu�K��I`��y�$6M.b5`kט�X�8N�|����VY���UT�-�i�������s�����>x��.fW_T�`u��5���b=L�ช$i�j1��%q)T|����Wn�� � ���@$�eYo#.J��[%�e*W ������"���%�jBv��k��9י�tx[�F̤��r�;r��>d��L��#�$q�!�%���X1YD�/�ύc�5�,��K,"ӝ�Js�b���S��������cY"~ ��"tMR�U+�ϔ����O�"�X%�ԍO� h+��r�NnK�&�$�@>[/�uP��͒�6r��QY�1+��;�H\����;���Gr���#���]kU"�Mag�3t;��.� DnUR&8��N$.�#{�q �U�]]-FXR�g��E�*�l�����.��D���Z��+�>�+fhՙ�\È|Čo|�R1�7�#�&�}�$��(����P�p��{��������WWWK�Q�<8m ��<Ni{s@A����x��6��`����o|���bE����V��]�,/2ˡ8�XF�U�`���W����@���K氉g�)V @܁k=[G��:�R�n��|B�ŭ�� :�X�I�|QW�k�Rm��A�Q���ۢtq�*r0t I�V�� PM�R- Jة�Z�z�,0�����S��_�zB[���d�7ofD�����ƫ.zM�wT}�'�5? %���(�G��I�Eumu}A�:��8$�N��0�0�D?Q][]_P�.�T1�+�?����P�4 IEND�B`�PK �\��n�� � images/loader.svgnu �[��� <svg width="200" height="200" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_3005_3562)"> <path d="M200 0H0V200H200V0Z" fill="white"/> <g opacity="0.1"> <path d="M180 100C180 55.8172 144.183 20 100 20C55.8172 20 20 55.8172 20 100C20 144.183 55.8172 180 100 180C144.183 180 180 144.183 180 100Z" fill="#2385DD"/> </g> <g opacity="0.2"> <path d="M160.42 100C160.42 66.1947 133.015 38.79 99.21 38.79C65.4046 38.79 38 66.1947 38 100C38 133.805 65.4046 161.21 99.21 161.21C133.015 161.21 160.42 133.805 160.42 100Z" fill="#2385DD"/> </g> <path d="M148.5 83.1498C148.5 81.3998 148.81 79.6598 149.43 78.0198L153.69 66.6298C154.38 65.0498 156.62 65.0498 157.31 66.6298L161.57 78.0198C162.18 79.6598 162.5 81.3998 162.5 83.1498V147.5C162.5 149.71 160.71 151.5 158.5 151.5H152.5C150.29 151.5 148.5 149.71 148.5 147.5V83.1498Z" fill="white" stroke="#2385DD" stroke-width="3" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M54.5798 81.2599L79.3198 110.68C81.5798 113.37 84.8198 115.12 88.3198 115.32C92.1198 115.53 95.8298 117.26 98.4798 120.4C101.86 124.42 102.65 129.75 101.03 134.37C100.8 135.03 99.9398 135.2 99.4898 134.66L94.3798 128.59C92.3498 126.18 88.7598 125.6 86.2198 127.47C83.4398 129.52 82.9998 133.45 85.1898 136.05L90.4298 142.28C90.8798 142.82 90.5698 143.64 89.8798 143.75C85.0498 144.55 79.9298 142.86 76.5498 138.84C73.8998 135.69 72.8498 131.75 73.2898 127.96C73.6998 124.47 72.5298 120.98 70.2698 118.29L45.5298 88.8699C43.2698 86.1799 40.0298 84.4299 36.5298 84.2299C32.7298 84.0199 29.0198 82.2899 26.3698 79.1499C22.9898 75.1299 22.1998 69.7999 23.8198 65.1799C24.0498 64.5199 24.9098 64.3499 25.3598 64.8899L30.4698 70.9599C32.4998 73.3699 36.0898 73.9499 38.6298 72.0799C41.4098 70.0299 41.8498 66.0999 39.6598 63.4999L34.4198 57.2699C33.9698 56.7299 34.2798 55.9099 34.9698 55.7999C39.7998 54.9999 44.9198 56.6899 48.2998 60.7099C50.9498 63.8599 51.9998 67.7999 51.5598 71.5899C51.1498 75.0799 52.3198 78.5699 54.5798 81.2599Z" fill="white" stroke="#BEC9D6" stroke-width="3" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M58 41H142C145.31 41 148 43.69 148 47V159H52V47C52 43.69 54.69 41 58 41Z" fill="white" stroke="#4C5866" stroke-width="4" stroke-miterlimit="10"/> <path d="M31.49 34.24C31.41 34.24 31.26 34.22 31.14 34.09L22.65 25.6C22.52 25.47 22.5 25.32 22.5 25.25C22.5 25.18 22.52 25.02 22.65 24.9C22.78 24.78 22.93 24.75 23 24.75C23.07 24.75 23.23 24.77 23.35 24.9L31.84 33.39C31.97 33.52 31.99 33.67 31.99 33.74C31.99 33.81 31.97 33.97 31.84 34.09C31.71 34.21 31.56 34.24 31.49 34.24Z" fill="white"/> <path d="M23.0001 23.7598C22.6201 23.7598 22.2301 23.9098 21.9401 24.1998C21.3501 24.7898 21.3501 25.7398 21.9401 26.3198L30.4301 34.8098C30.7201 35.0998 31.1101 35.2498 31.4901 35.2498C31.8701 35.2498 32.2601 35.0998 32.5501 34.8098C33.1401 34.2198 33.1401 33.2698 32.5501 32.6898L24.0601 24.1998C23.7701 23.9098 23.3801 23.7598 23.0001 23.7598Z" fill="#E7EEF5"/> <path d="M23 34.24C22.92 34.24 22.77 34.22 22.65 34.09C22.52 33.96 22.5 33.81 22.5 33.74C22.5 33.67 22.52 33.51 22.65 33.39L31.14 24.9C31.27 24.77 31.42 24.75 31.49 24.75C31.56 24.75 31.72 24.77 31.84 24.9C31.96 25.03 31.99 25.18 31.99 25.25C31.99 25.32 31.97 25.48 31.84 25.6L23.35 34.09C23.22 34.22 23.07 34.24 23 34.24Z" fill="white"/> <path d="M31.4901 23.7598C31.1101 23.7598 30.7201 23.9098 30.4301 24.1998L21.9401 32.6898C21.3501 33.2798 21.3501 34.2298 21.9401 34.8098C22.2301 35.0998 22.6201 35.2498 23.0001 35.2498C23.3801 35.2498 23.7701 35.0998 24.0601 34.8098L32.5501 26.3198C33.1401 25.7298 33.1401 24.7798 32.5501 24.1998C32.2601 23.9098 31.8701 23.7598 31.4901 23.7598Z" fill="#E7EEF5"/> <g opacity="0.9"> <path d="M178 95C179.65 95 181 96.35 181 98C181 99.65 179.65 101 178 101C176.35 101 175 99.65 175 98C175 96.35 176.35 95 178 95ZM178 92C174.69 92 172 94.69 172 98C172 101.31 174.69 104 178 104C181.31 104 184 101.31 184 98C184 94.69 181.31 92 178 92Z" fill="#8095AD"/> </g> <path d="M188.979 129.596L182.063 136.511L188.979 143.427L195.894 136.511L188.979 129.596Z" fill="white"/> <path d="M188.98 131.71L193.77 136.5L188.98 141.29L184.19 136.5L188.98 131.71ZM188.98 127.88C188.72 127.88 188.47 127.98 188.27 128.17L180.65 135.79C180.26 136.18 180.26 136.81 180.65 137.2L188.27 144.82C188.47 145.02 188.72 145.11 188.98 145.11C189.24 145.11 189.49 145.01 189.69 144.82L197.31 137.2C197.7 136.81 197.7 136.18 197.31 135.79L189.69 128.17C189.49 127.97 189.24 127.88 188.98 127.88Z" fill="#E7EEF5"/> <path d="M175 159C175 160.105 175.895 161 177 161C178.105 161 179 160.105 179 159C179 157.895 178.105 157 177 157C175.895 157 175 157.895 175 159Z" fill="#2385DD"/> <path d="M147 17.5C147.552 17.5 148 17.0523 148 16.5C148 15.9477 147.552 15.5 147 15.5C146.448 15.5 146 15.9477 146 16.5C146 17.0523 146.448 17.5 147 17.5Z" fill="white"/> <path d="M147 14C145.62 14 144.5 15.12 144.5 16.5C144.5 17.88 145.62 19 147 19C148.38 19 149.5 17.88 149.5 16.5C149.5 15.12 148.38 14 147 14Z" fill="#4C5866"/> <path d="M141.25 141.75L57.75 58.25" stroke="#E7EEF5" stroke-width="3" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M12.3199 93.4698C12.3199 93.4698 12.2699 93.4698 12.2299 93.4398L3.93986 87.9198C3.93986 87.9198 3.85986 87.8698 3.85986 87.7698C3.85986 87.6698 3.91986 87.6298 3.93986 87.6198L12.2299 82.0998C12.2299 82.0998 12.2999 82.0698 12.3199 82.0698C12.3199 82.0698 12.4999 82.0798 12.4999 82.2498V93.2998C12.4999 93.3898 12.3999 93.4798 12.3199 93.4798V93.4698Z" fill="white"/> <path d="M11.0001 84.7098V90.8198L6.4101 87.7598L11.0001 84.6998M12.3201 80.5598C12.0101 80.5598 11.6901 80.6498 11.3901 80.8398L3.1001 86.3598C2.1001 87.0198 2.1001 88.4898 3.1001 89.1598L11.3901 94.6798C11.6801 94.8798 12.0001 94.9598 12.3201 94.9598C13.1901 94.9598 14.0001 94.2698 14.0001 93.2798V82.2298C14.0001 81.2398 13.1901 80.5498 12.3201 80.5498V80.5598Z" fill="#2385DD"/> <path d="M141.25 58.25L57.75 141.75" stroke="#E7EEF5" stroke-width="3" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M65.5 47.5V152.5" stroke="#BEC9D6" stroke-width="3" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M57.5 66.5H141.5" stroke="#BEC9D6" stroke-width="3" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M57.5 133.5H141.5" stroke="#BEC9D6" stroke-width="3" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M132.5 47.5V152.5" stroke="#BEC9D6" stroke-width="3" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M158 157H42C40.8954 157 40 157.895 40 159C40 160.105 40.8954 161 42 161H158C159.105 161 160 160.105 160 159C160 157.895 159.105 157 158 157Z" fill="#4C5866"/> <path d="M99.5 47.5V152.5" stroke="#E7EEF5" stroke-width="3" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M57.5 100.5H141.5" stroke="#E7EEF5" stroke-width="3" stroke-miterlimit="10" stroke-linecap="round"/> <path d="M67.5 133.5H97.5C98.6046 133.5 99.5 132.605 99.5 131.5V102.5C99.5 101.395 98.6046 100.5 97.5 100.5H67.5C66.3954 100.5 65.5 101.395 65.5 102.5V131.5C65.5 132.605 66.3954 133.5 67.5 133.5Z" stroke="#2385DD" stroke-width="3" stroke-miterlimit="10"/> <path d="M130.54 66.5H101.46C100.355 66.5 99.46 67.3954 99.46 68.5V98.5C99.46 99.6046 100.355 100.5 101.46 100.5H130.54C131.645 100.5 132.54 99.6046 132.54 98.5V68.5C132.54 67.3954 131.645 66.5 130.54 66.5Z" fill="#E7EEF5" stroke="#8095AD" stroke-width="3" stroke-miterlimit="10"/> <path d="M23 161H32C33.1046 161 34 160.105 34 159C34 157.895 33.1046 157 32 157H23C21.8954 157 21 157.895 21 159C21 160.105 21.8954 161 23 161Z" fill="#8095AD"/> <path d="M166 161H169C170.105 161 171 160.105 171 159C171 157.895 170.105 157 169 157H166C164.895 157 164 157.895 164 159C164 160.105 164.895 161 166 161Z" fill="#8095AD"/> <path d="M163 161H38V189H163V161Z" fill="white"/> </g> <defs> <clipPath id="clip0_3005_3562"> <rect width="200" height="200" fill="white"/> </clipPath> </defs> </svg> PK �\,l>w[ w[ onboarding.phpnu �[��� <?php if ( ! defined( 'ABSPATH' ) ) { exit; } /** * This class handles the onboarding process. * * @package Divi */ class ET_Onboarding { /** * The class instance. * * @var ET_Onboarding */ private static $_instance; /** * Get the class instance. * * @since ?? * * @return ET_Onboarding */ public static function instance() { if ( ! self::$_instance ) { self::$_instance = new self(); } return self::$_instance; } /** * Includes files. * * @since ?? * * @return void */ public static function includes() { $files_to_include = [ 'helpers.php', 'ajax.php', ]; foreach ( $files_to_include as $file ) { require_once $file; } if ( ! class_exists( 'ET_Core_Portability', false ) ) { require_once ET_CORE_PATH . 'components/Cache.php'; require_once ET_CORE_PATH . 'components/Portability.php'; } } /** * WooCommerce installation success. * * @since ?? * * @return void */ public static function et_ai_install_woocommerce() { wp_send_json_success(); } /** * Update the ajax calls list. * * @since ?? * * @return array */ public static function update_ajax_calls_list() { return [ 'action' => array( 'et_onboarding_get_overview_status', 'et_onboarding_get_account_status', 'et_onboarding_get_result_list', 'et_onboarding_result_delete_page', 'et_onboarding_result_delete_menu', 'et_onboarding_result_delete_theme_builder_layout', 'et_onboarding_update_customizer', ), ]; } /** * Initialize the hooks. * * @since ?? * * @return void */ public static function init_hooks() { self::includes(); add_filter( 'et_builder_load_requests', [ self::class, 'update_ajax_calls_list' ] ); add_action( 'save_post', [ self::class, 'update_overview_status_cache' ] ); add_action( 'delete_post', [ self::class, 'update_overview_status_cache' ] ); add_action( 'wp_ajax_et_onboarding_get_overview_status', [ self::class, 'get_overview_status' ] ); add_action( 'wp_ajax_et_onboarding_get_account_status', [ self::class, 'get_account_status' ] ); add_action( 'wp_ajax_et_onboarding_get_result_list', [ self::class, 'get_result_list' ] ); add_action( 'wp_ajax_et_onboarding_result_delete_page', [ self::class, 'result_delete_page' ] ); add_action( 'wp_ajax_et_onboarding_update_et_account', [ self::class, 'update_et_account' ] ); add_action( 'wp_ajax_et_onboarding_result_delete_menu', [ self::class, 'result_delete_menu' ] ); add_action( 'wp_ajax_et_onboarding_result_delete_theme_builder_layout', [ self::class, 'result_delete_theme_builder_layout' ] ); add_action( 'wp_ajax_et_onboarding_update_customizer', [ self::class, 'update_customizer_design_settings' ] ); // Make sure that our Support Account's roles are set up. add_filter( 'add_et_builder_role_options', [ self::class, 'onboarding_add_role_options' ], 20, 1 ); } /** * Add the onboarding submenu menu item. * * @since ?? * * @return string */ public static function add_admin_submenu_item() { return add_submenu_page( 'et_divi_options', esc_html__( 'Dashboard', 'Divi' ), 0 === self::show_onboarding_notice_bubbles() ? esc_html__( 'Dashboard', 'Divi' ) : esc_html__( 'Dashboard', 'Divi' ) . ' <span class="awaiting-mod">' . self::show_onboarding_notice_bubbles() . '</span>', 'manage_options', 'et_onboarding', [ 'ET_Onboarding', 'onboarding_page' ], 0 ); } /** * Render the onboarding page. * * @since ?? * * @return void */ public static function onboarding_page() { ?> <div id="et-onboarding"></div> <?php } /** * ET_Onboarding helpers. * * @since ?? */ public static function get_onboarding_helpers() { global $shortname; if ( ! defined( 'ET_ONBOARDING_DIR' ) ) { define( 'ET_ONBOARDING_DIR', get_template_directory() . '/onboarding' ); } return [ 'i18n' => [ 'dashboard' => require ET_ONBOARDING_DIR . '/i18n/dashboard.php', 'result' => require ET_ONBOARDING_DIR . '/i18n/result.php', ], 'ai_permission' => et_pb_is_allowed( 'divi_ai' ), 'ajaxurl' => is_ssl() ? admin_url( 'admin-ajax.php' ) : admin_url( 'admin-ajax.php', 'http' ), 'et_account' => et_core_get_et_account(), 'ai_server_url' => 'https://ai.elegantthemes.com/api/v1', 'ajaxurl' => is_ssl() ? admin_url( 'admin-ajax.php' ) : admin_url( 'admin-ajax.php', 'http' ), 'adminUrl' => admin_url(), 'product_version' => ET_BUILDER_PRODUCT_VERSION, 'onboarding_url' => get_template_directory_uri() . '/onboarding', 'images_uri' => ET_ONBOARDING_URI . '/images/', 'is_woocommerce_active' => class_exists( 'WooCommerce' ), 'is_woocommerce_installed' => class_exists( 'WooCommerce' ) || file_exists( WP_PLUGIN_DIR . '/woocommerce/woocommerce.php' ), 'site_info' => [ 'site_logo' => et_get_option( $shortname . '_logo' ), 'site_title' => get_bloginfo( 'name' ), 'site_tagline' => get_bloginfo( 'description' ), 'site_domain' => get_bloginfo( 'url' ), 'site_description' => wp_unslash( et_get_option( 'et_ai_layout_site_description' ) ), ], 'nonces' => [ 'et_onboarding_overview_status' => wp_create_nonce( 'et_onboarding_overview_status' ), 'et_onboarding_account_status' => wp_create_nonce( 'et_onboarding_account_status' ), 'et_onboarding_result_list' => wp_create_nonce( 'et_onboarding_result_list' ), 'et_onboarding_result_delete_page' => wp_create_nonce( 'et_onboarding_result_delete_page' ), 'et_onboarding_nonce' => wp_create_nonce( 'et_onboarding-nonce' ), 'updates' => wp_create_nonce( 'updates' ), 'et_onboarding_create_menu_with_pages' => wp_create_nonce( 'et_onboarding_create_menu_with_pages' ), 'et_onboarding_update_site_info' => wp_create_nonce( 'et_onboarding_update_site_info' ), 'et_onboarding_upload_layout_image' => wp_create_nonce( 'et_onboarding_upload_layout_image' ), 'et_onboarding_create_page' => wp_create_nonce( 'et_onboarding_create_page' ), 'et_onboarding_update_et_account' => wp_create_nonce( 'et_onboarding_update_et_account' ), 'et_onboarding_result_delete_menu' => wp_create_nonce( 'et_onboarding_result_delete_menu' ), 'et_onboarding_result_delete_theme_builder_layout' => wp_create_nonce( 'et_onboarding_result_delete_theme_builder_layout' ), 'et_onboarding_restore_pre_generation_state' => wp_create_nonce( 'et_onboarding_restore_pre_generation_state' ), 'et_onboarding_clear_flag_meta' => wp_create_nonce( 'et_onboarding_clear_flag_meta' ), 'et_onboarding_update_customizer' => wp_create_nonce( 'et_onboarding_update_customizer' ), 'et_onboarding_activate_plugin' => wp_create_nonce( 'et_onboarding_activate_plugin' ), 'et_onboarding_publish_new_pages' => wp_create_nonce( 'et_onboarding_publish_new_pages' ), 'et_onboarding_is_woocommerce_installed' => wp_create_nonce( 'et_onboarding_is_woocommerce_installed' ), 'et_onboarding_is_woocommerce_active' => wp_create_nonce( 'et_onboarding_is_woocommerce_active' ), ], 'current_site_url' => home_url(), 'permissions' => [ 'et_onboarding_quick_sites' => et_pb_is_allowed( 'et_onboarding_quick_sites' ) ? '1' : '0', ], ]; } /** * Update the overview status when a page/post is saved or deleted. * * @since ?? * * @return void */ public static function update_overview_status_cache() { et_core_cache_delete( 'overview_status' ); } /** * Get the post count. * * @since ?? * * @param string $post_type The post type. * @param bool $use_meta Whether to use meta. * * @return int */ public static function get_post_count( $post_type, $use_meta ) { global $wpdb; $meta_query = new WP_Meta_Query( self::_get_meta_query( $post_type, $use_meta ) ); $meta_sql = $meta_query->get_sql( 'post', $wpdb->posts, 'ID' ); $sql = "SELECT COUNT(*) FROM {$wpdb->posts} {$meta_sql['join']} WHERE {$wpdb->posts}.post_type = %s AND {$wpdb->posts}.post_status = 'publish' {$meta_sql['where']}"; $prepare_sql = $wpdb->prepare( $sql, $post_type ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared -- False-positive error - it is prepared. $count = (int) $wpdb->get_var( $prepare_sql ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared -- False-positive error - it is prepared. return $count; } /** * Get the meta query. * * @since ?? * * @param string $post_type The post type. * @param bool $use_meta Whether to use meta. * * @return array */ private static function _get_meta_query( $post_type, $use_meta ) { $additional = []; if ( 'et_template' === $post_type ) { $additional = [ 'key' => '_et_theme_builder_marked_as_unused', 'compare' => 'NOT EXISTS', ]; } if ( $use_meta ) { return [ [ 'key' => '_et_pb_use_builder', 'value' => 'on', 'compare' => '=', ], $additional, ]; } return [ $additional ]; } /** * Get the overview status. * * @since ?? * * @return void */ public static function get_overview_status() { et_core_security_check( 'edit_posts', 'et_onboarding_overview_status', 'wp_nonce' ); $post_type = isset( $_POST['post_type'] ) ? sanitize_text_field( $_POST['post_type'] ) : ''; $use_meta = isset( $_POST['use_meta'] ) ? filter_var( $_POST['use_meta'], FILTER_VALIDATE_BOOLEAN ) : false; if ( ! in_array( $post_type, [ 'post', 'page', 'et_template' ], true ) ) { wp_send_json_error(); } $cache_key = 'overview_status_' . $post_type; $overview_status = et_core_cache_get( $cache_key ); if ( false === $overview_status ) { $overview_status = [ $post_type => self::get_post_count( $post_type, $use_meta ) ]; et_core_cache_set( $cache_key, $overview_status ); } wp_send_json_success( $overview_status ); } /** * Get the account status. * * @since ?? * * @return void */ public static function get_account_status() { et_core_security_check( 'manage_options', 'et_onboarding_account_status', 'wp_nonce' ); global $wp_version; $et_username = isset( $_POST['et_username'] ) ? sanitize_text_field( $_POST['et_username'] ) : ''; $et_api_key = isset( $_POST['et_api_key'] ) ? sanitize_text_field( $_POST['et_api_key'] ) : ''; $et_force_status_update = isset( $_POST['et_force_update'] ) ? sanitize_text_field( $_POST['et_force_update'] ) : 'no'; if ( ! $et_username || ! $et_api_key ) { wp_send_json_error(); return; } $cached_account_status = get_transient( 'et_onboarding_account_data', false ); // Return cached response if exist. if ( 'no' === $et_force_status_update && $cached_account_status ) { if ( $et_api_key === $cached_account_status['api_key'] && $et_username === $cached_account_status['username'] ) { wp_send_json_success( $cached_account_status ); return; } else { delete_transient( 'et_onboarding_account_data' ); } } if ( 'yes' === $et_force_status_update ) { delete_transient( 'et_onboarding_account_data' ); } // Get the theme version from parent theme or current theme. $themes = array( 'Divi' => wp_get_theme()->parent() ? wp_get_theme()->parent()->get( 'Version' ) : wp_get_theme()->get( 'Version' ), ); $request_options = array( 'timeout' => 30, 'body' => array( 'action' => 'check_theme_updates', 'automatic_updates' => 'on', 'username' => urlencode( $et_username ), 'api_key' => $et_api_key, 'installed_themes' => $themes, 'class_version' => '1.2', ), 'headers' => array( 'rate_limit' => 'false', ), 'user-agent' => 'WordPress/' . $wp_version . '; Onboarding/' . ET_CORE_VERSION . '; ' . home_url( '/' ), ); $theme_request = wp_remote_post( 'https://www.elegantthemes.com/api/api.php', $request_options ); if ( ! is_wp_error( $theme_request ) && 200 === wp_remote_retrieve_response_code( $theme_request ) ) { $theme_response = maybe_unserialize( wp_remote_retrieve_body( $theme_request ) ); // Cache response for an hour if current theme is up to date and user has active subscription. if ( ! empty( $theme_response['et_account_data'] ) && ! empty( $theme_response['et_account_data']->et_username_status ) && ! empty( $theme_response['et_up_to_date_products'] ) && 'active' === $theme_response['et_account_data']->et_username_status ) { // Invalid api key. if ( ! empty( $theme_response['et_account_data']->et_api_key_status ) && ( 'invalid' === $theme_response['et_account_data']->et_api_key_status || 'deactivated' === $theme_response['et_account_data']->et_api_key_status ) ) { // Not sending error response as it's a valid response with required data. wp_send_json_success( $theme_response ); return; } $theme_response['api_key'] = $et_api_key; $theme_response['username'] = $et_username; set_transient( 'et_onboarding_account_data', $theme_response, HOUR_IN_SECONDS ); } wp_send_json_success( $theme_response ); } else { wp_send_json_error(); } } /** * Get the result list. * * @since ?? * * @return void */ public static function get_result_list() { et_core_security_check( 'edit_posts', 'et_onboarding_result_list', 'wp_nonce' ); $post_type = isset( $_POST['post_type'] ) ? sanitize_text_field( $_POST['post_type'] ) : ''; if ( ! in_array( $post_type, [ 'page', 'et_template' ], true ) ) { wp_send_json_error(); } $args = [ 'post_type' => $post_type, 'posts_per_page' => -1, 'order' => 'ASC', 'post_status' => 'publish', ]; if ( 'et_template' === $post_type ) { $args['meta_query'] = [ [ 'key' => '_et_theme_builder_marked_as_unused', 'compare' => 'NOT EXISTS', ], [ 'key' => '_et_onboarding_created', 'value' => '1', ], ]; } if ( 'page' === $post_type ) { $args['meta_query'] = [ [ 'key' => '_et_onboarding_created', 'value' => '1', ], ]; } $query = new WP_Query( $args ); $result_list = []; if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); $result_list[] = [ 'id' => get_the_ID(), 'title' => get_the_title(), 'url' => get_permalink(), ]; } } wp_send_json_success( $result_list ); } /** * Delete a page. * * @since ?? * * @return void */ public static function result_delete_page() { et_core_security_check( 'delete_others_posts', 'et_onboarding_result_delete_page', 'wp_nonce' ); $page_id = isset( $_POST['page_id'] ) ? absint( $_POST['page_id'] ) : 0; if ( ! $page_id ) { wp_send_json_error(); } wp_delete_post( $page_id ); wp_send_json_success(); } /** * Delete a menu. * * @since ?? * * @return void */ public static function result_delete_menu() { et_core_security_check( 'delete_others_posts', 'et_onboarding_result_delete_menu', 'wp_nonce' ); $menu_id = isset( $_POST['menu_id'] ) ? absint( $_POST['menu_id'] ) : 0; if ( ! $menu_id ) { wp_send_json_error(); } wp_delete_nav_menu( $menu_id ); wp_send_json_success(); } /** * Update customizer settings. * * @since ?? * * @return void */ public static function update_customizer_design_settings() { et_core_security_check( 'manage_options', 'et_onboarding_update_customizer', 'wp_nonce' ); // phpcs:ignore ET.Sniffs.ValidatedSanitizedInput -- $_POST['design'] is an JSON string, it's value sanitization is done at the time of accessing value. $data = isset( $_POST['design'] ) ? json_decode( wp_unslash( $_POST['design'] ), true ) : []; if ( empty( $data ) ) { wp_send_json_error(); } $design_settings = []; foreach ( $data as $key => $value ) { $design_settings[ sanitize_key( $key ) ] = sanitize_text_field( $value ); } $options_map = [ 'primary_color' => 'accent_color', 'secondary_color' => 'secondary_accent_color', 'heading_font_color' => 'header_color', 'body_font_color' => 'font_color', 'heading_font' => 'heading_font', 'body_font' => 'body_font', ]; foreach ( $design_settings as $setting => $value ) { if ( isset( $options_map[ $setting ] ) ) { et_update_option( $options_map[ $setting ], $value ); } } wp_send_json_success(); } /** * Update user account settings. * * @since ?? * * @return void */ public static function update_et_account() { // Username and API saved shall be reflected in Theme Options. // Hence, using the same cap used in Theme Options. et_core_security_check( 'manage_options', 'et_onboarding_update_et_account', 'wp_nonce' ); $username = isset( $_POST['et_username'] ) ? sanitize_text_field( $_POST['et_username'] ) : ''; $api_key = isset( $_POST['et_api_key'] ) ? sanitize_text_field( $_POST['et_api_key'] ) : ''; $result = update_site_option( 'et_automatic_updates_options', [ 'username' => $username, 'api_key' => $api_key, ] ); if ( $result ) { wp_send_json_success(); } else { wp_send_json_error(); } } /** * Load the onboarding scripts. * * @since ?? * * @param bool $enqueue_prod_scripts Whether to enqueue the production scripts. * @param bool $skip_react_loading Whether to skip the React loading. * * @return void */ public static function load_js( $enqueue_prod_scripts = true, $skip_react_loading = false ) { if ( defined( 'ET_BUILDER_PLUGIN_ACTIVE' ) ) { if ( ! defined( 'ET_ONBOARDING_URI' ) ) { define( 'ET_ONBOARDING_URI', untrailingslashit( plugin_dir_url( __FILE__ ) ) ); } if ( ! defined( 'ET_ONBOARDING_DIR' ) ) { define( 'ET_ONBOARDING_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) ); } } else { if ( ! defined( 'ET_ONBOARDING_URI' ) ) { define( 'ET_ONBOARDING_URI', get_template_directory_uri() . '/onboarding' ); } if ( ! defined( 'ET_ONBOARDING_DIR' ) ) { define( 'ET_ONBOARDING_DIR', get_template_directory() . '/onboarding' ); } } et_core_load_main_fonts(); wp_enqueue_media(); $portability = et_core_portability_load( 'et_builder' ); $portability->assets(); $CORE_VERSION = defined( 'ET_CORE_VERSION' ) ? ET_CORE_VERSION : ''; $ET_DEBUG = defined( 'ET_DEBUG' ) && ET_DEBUG; $DEBUG = $ET_DEBUG; $home_url = wp_parse_url( get_site_url() ); $build_dir_uri = ET_ONBOARDING_URI . '/build'; $common_scripts = ET_COMMON_URL . '/scripts'; $cache_buster = $DEBUG ? wp_rand() / mt_getrandmax() : $CORE_VERSION; $asset_path = ET_ONBOARDING_DIR . '/build/et-onboarding.bundle.js'; if ( file_exists( $asset_path ) ) { wp_enqueue_style( 'et-onboarding-styles', "{$build_dir_uri}/et-onboarding.bundle.css", [], (string) $cache_buster ); } wp_enqueue_script( 'es6-promise', "{$common_scripts}/es6-promise.auto.min.js", [], '4.2.2', true ); $BUNDLE_DEPS = [ 'jquery', 'react', 'react-dom', 'es6-promise', 'wp-color-picker', ]; if ( $DEBUG || $enqueue_prod_scripts || file_exists( $asset_path ) ) { $BUNDLE_URI = ! file_exists( $asset_path ) ? "{$home_url['scheme']}://{$home_url['host']}:31489/et-onboarding.bundle.js" : "{$build_dir_uri}/et-onboarding.bundle.js"; // Skip the React loading if we already have React ( Gutenberg editor for example ) to avoid conflicts. if ( ! $skip_react_loading ) { if ( function_exists( 'et_fb_enqueue_react' ) ) { et_fb_enqueue_react(); } } wp_enqueue_script( 'et-onboarding', $BUNDLE_URI, $BUNDLE_DEPS, (string) $cache_buster, true ); wp_add_inline_script( 'et-onboarding', '_.noConflict(); _.noConflict();', 'after' ); wp_localize_script( 'et-onboarding', 'et_onboarding_data', self::get_onboarding_helpers() ); } } /** * Redirect to onboarding page after theme activation. * * @since ?? * * @return void */ public static function redirect_to_onboarding_page() { $activated_theme = wp_get_theme(); if ( 'Divi' === $activated_theme->stylesheet ) { // Check if redirection has already been performed. $redirected = get_transient( 'et_onboarding_redirect_done', false ); if ( ! is_bool( $redirected ) ) { delete_transient( 'et_onboarding_redirect_done' ); } if ( ! $redirected ) { $divi_options_page_url = admin_url( 'admin.php?page=et_onboarding' ); // Store a flag to indicate that redirection has been performed. set_transient( 'et_onboarding_redirect_done', true, DAY_IN_SECONDS ); $divi_options_page_url = add_query_arg( 'content', 'disabled', $divi_options_page_url ); // Perform redirection. wp_safe_redirect( $divi_options_page_url ); exit; } } } /** * Remove Onboarding transients. * * @since ?? * * @return void */ public static function remove_transients() { delete_transient( 'et_onboarding_redirect_done' ); } /** * Get the number of onboarding notices to show. * * @since ?? */ public static function show_onboarding_notice_bubbles() { // phpcs:ignore Squiz.Commenting.BlockComment.NoNewLine -- A multi-line comment at the beginning of the function. /* get_site_option() function is almost identical to get_option(), except that in multisite, * it returns the network-wide option. For non-multisite installs, it uses get_option. * * @see https://developer.wordpress.org/reference/functions/get_site_option/ */ $account_api_key_status = get_site_option( 'et_account_api_key_status' ); $account_status = get_site_option( 'et_account_status', 'not_active' ); $account_options = get_site_option( 'et_automatic_updates_options', [] ); $count = 0; if ( empty( $account_options ) || ( isset( $account_options['username'] ) && '' === $account_options['username'] ) || ( isset( $account_options['api_key'] ) && '' === $account_options['username'] ) ) { $count = 1; return $count; } if ( in_array( $account_status, [ 'expired', 'not_found' ], true ) ) { $count = 1; } if ( ( ! in_array( $account_status, [ 'expired', 'not_found' ], true ) ) && ! empty( $account_api_key_status ) ) { switch ( $account_api_key_status ) { case 'not_active': $count = 1; break; case 'deactivated': $count = 1; break; case 'invalid': $count = 1; break; } } return $count; } /** * Add the onboarding role options. * * Especially for Quick Sites generation. * * @param array $all_role_options The role options. * * @since ?? */ public static function onboarding_add_role_options( $all_role_options ) { // get all the roles that can edit theme options. $applicability_roles = et_core_get_roles_by_capabilities( [ 'manage_options' ] ); $role_options = [ 'et_onboarding_quick_sites' => array( 'name' => esc_attr__( 'Divi Quick Sites', 'Divi' ), 'applicability' => $applicability_roles, ), ]; $all_role_options['general_capabilities']['options'] = array_merge( $all_role_options['general_capabilities']['options'], $role_options ); return $all_role_options; } } PK �\��I�� � i18n/result.phpnu �[��� <?php /** * This file is used to define the translation strings that are used in the onboarding result. * * @package Divi */ return [ 'Your Site Is Ready!' => esc_html__( 'Your Site Is Ready!', 'Divi' ), 'Result Description' => esc_html__( 'Your website is ready to go. Below is a list of pages and templates that were created. Next, visit your website and jump into the Divi Builder to edit your content.', 'Divi' ), 'View My Site' => esc_html__( 'View My Site', 'Divi' ), 'Website Pages' => esc_html__( 'Website Pages', 'Divi' ), 'Delete Page' => esc_html__( 'Delete Page', 'Divi' ), 'Manage Website Pages' => esc_html__( 'Manage Website Pages', 'Divi' ), 'Add New Page' => esc_html__( 'Add New Page', 'Divi' ), 'Manage Theme Templates' => esc_html__( 'Manage Theme Templates', 'Divi' ), 'Tutorials & Documentation' => esc_html__( 'Tutorials & Documentation', 'Divi' ), 'Using the Divi Builder' => esc_html__( 'Using the Divi Builder', 'Divi' ), 'Configuring Theme Options' => esc_html__( 'Configuring Theme Options', 'Divi' ), 'Managing Website Styles' => esc_html__( 'Managing Website Styles', 'Divi' ), 'Using the Divi Theme Builder' => esc_html__( 'Using the Divi Theme Builder', 'Divi' ), 'Using the Divi Library' => esc_html__( 'Using the Divi Library', 'Divi' ), 'Using Divi AI' => esc_html__( 'Using Divi AI', 'Divi' ), 'Using Divi Cloud' => esc_html__( 'Using Divi Cloud', 'Divi' ), 'Browse All Divi Docs' => esc_html__( 'Browse All Divi Docs', 'Divi' ), 'Theme Templates' => esc_html__( 'Theme Templates', 'Divi' ), 'Delete' => esc_html__( 'Delete', 'Divi' ), 'Are you sure want to remove this page?' => esc_html__( 'Are you sure want to remove this page?', 'Divi' ), 'cancel' => esc_html__( 'Cancel', 'Divi' ), 'Generate Page' => esc_html__( 'Generate Page', 'Divi' ), 'Page Title' => esc_html__( 'Page Title', 'Divi' ), 'Tell Divi AI What' => esc_html__( 'Describe The Page You Want Divi AI To Create', 'Divi' ), 'Enter which type' => esc_html__( 'Enter which type of page you want.', 'Divi' ), 'Enter your page title' => esc_html__( 'Enter your page title', 'Divi' ), 'Example: Also add' => esc_html__( 'Example: Create a services page that describes our solar installation services, including testimonials and a contact form to collect leads', 'Divi' ), 'Generating...' => esc_html__( 'Generating...', 'Divi' ), 'Generating Your %1$s Page' => esc_html__( 'Generating Your %1$s Page', 'Divi' ), 'Fetching Pages...' => esc_html__( 'Fetching Pages...', 'Divi' ), 'Generating Page Completed!' => esc_html__( 'Page Generated Successfully', 'Divi' ), '%1$s Images Used From Unsplash' => esc_html__( '%1$s Images Used From Unsplash', 'Divi' ), 'WooCommerce plugin is not installed' => esc_html__( 'The WooCommerce plugin failed to install during the website generation process. You must install and activate the plugin manually.', 'Divi' ), 'WooCommerce plugin is not activated' => esc_html__( 'The WooCommerce plugin was installed but failed to activate during the website generation process. Visit the Plugins page to activate WooCommerce manually.', 'Divi' ), 'WooCommerce Plugin Status' => esc_html__( 'WooCommerce Plugin Status', 'Divi' ), 'Install WooCommerce Plugin' => esc_html__( 'Install WooCommerce Plugin', 'Divi' ), 'Activate WooCommerce Plugin' => esc_html__( 'Activate WooCommerce Plugin', 'Divi' ), ]; PK �\)�x�{K {K i18n/dashboard.phpnu �[��� <?php /** * This file is used to define the translation strings that are used in the onboarding. * * @package Divi */ return array( 'Divi Overview' => esc_html__( 'Divi Overview', 'Divi' ), 'Your Divi license key is active' => esc_html__( 'Your Divi license key is active', 'Divi' ), 'Your Divi license key has expired' => esc_html__( 'Your Divi license key has expired', 'Divi' ), 'Your Divi license key is invalid' => esc_html__( 'Your Divi license key is invalid', 'Divi' ), 'Your Elegant Themes username is invalid' => esc_html__( 'Your Elegant Themes username is invalid', 'Divi' ), 'This website is linked to ...' => esc_html__( 'This website is linked to your Divi subscriptions and ready to receive the latest Divi updates.', 'Divi' ), 'Invalid Username' => esc_html__( 'The Elegant Themes username you entered is invalid. Please enter a valid username to receive product updates. If you forgot your username you can', 'Divi' ), 'Renew text' => esc_html__( 'Your license key has expired.', 'Divi' ), 'Invalid api key' => esc_html__( 'The Elegant Themes API key you entered is invalid. Please make sure that your API has been entered correctly and that it is enabled in your account.', 'Divi' ), 'Enter new API Key' => esc_html__( 'Enter new API Key', 'Divi' ), 'Enable API Key' => esc_html__( 'Enable API Key', 'Divi' ), 'Renew Subscription' => esc_html__( 'Renew Subscription', 'Divi' ), 'Divi is up to date' => esc_html__( 'Divi is up to date', 'Divi' ), 'Your Divi is outdated' => esc_html__( 'Your Divi is outdated', 'Divi' ), 'You are using the latest version of Divi.' => esc_html__( 'You are using the latest version of Divi.', 'Divi' ), 'You are using outdated version of Divi' => esc_html__( 'You are using outdated version of Divi. New version is', 'Divi' ), 'Pages Built With Divi' => esc_html__( 'Pages Built With Divi', 'Divi' ), 'Manage Pages' => esc_html__( 'Manage Pages', 'Divi' ), 'Posts Built With Divi' => esc_html__( 'Posts Built With Divi', 'Divi' ), 'Manage Posts' => esc_html__( 'Manage Posts', 'Divi' ), 'Divi Theme Templates' => esc_html__( 'Divi Theme Templates', 'Divi' ), 'Manage Templates' => esc_html__( 'Manage Templates', 'Divi' ), 'Documentation' => esc_html__( 'Documentation', 'Divi' ), 'Using the Divi Builder' => esc_html__( 'Using the Divi Builder', 'Divi' ), 'Using the Divi Theme Builder' => esc_html__( 'Using the Divi Theme Builder', 'Divi' ), 'Using Divi AI' => esc_html__( 'Using Divi AI', 'Divi' ), 'Managing Website Styles' => esc_html__( 'Managing Website Styles', 'Divi' ), 'Browse All Divi Docs' => esc_html__( 'Browse All Divi Docs', 'Divi' ), 'Let’s Build Your Divi Website!' => esc_html__( 'Let’s Build Your Divi Website!', 'Divi' ), 'Use Divi Quick Sites to set up your site ...' => esc_html__( 'Use Divi Quick Sites to set up your site in less than 2 minutes. We will generate pages and content, set up your website info, and configure your menu, templates, styles and presets automatically. You can build your website using AI, or pick from handcrafted Starter Sites.', 'Divi' ), 'Use Pre-Made Starter Site' => esc_html__( 'Use Pre-Made Starter Site', 'Divi' ), 'Pick a hand-crafted Starter Site ...' => esc_html__( 'Pick a handcrafted Starter Site created by our team. Then, jump into your finished website and customize the content.', 'Divi' ), 'Select a Website Template' => esc_html__( 'Select a Website Template', 'Divi' ), 'Generate Your Site With AI' => esc_html__( 'Generate Your Site With AI', 'Divi' ), 'Simply describe your website ...' => esc_html__( 'Simply describe your website, sit back, relax, and let Divi AI create your entire website for you in less than 2 minutes.', 'Divi' ), 'Support' => esc_html__( 'Support', 'Divi' ), 'Chat With An Expert' => esc_html__( 'Chat With An Expert', 'Divi' ), 'Learn About VIP Support' => esc_html__( 'Learn About VIP Support', 'Divi' ), 'Divi Quick Sites' => esc_html__( 'Divi Quick Sites', 'Divi' ), 'Generate A New Site' => esc_html__( 'Generate A New Site', 'Divi' ), 'Need help getting started with Divi ...' => esc_html__( 'Need help getting started with Divi? Our support team is available around the clock to help you with anything and everything Divi related.', 'Divi' ), 'Use Divi Quick Sites to generate a new ...' => esc_html__( 'Use Divi Quick Sites to generate a new website using Divi AI or premade Divi Starter Sites. Quick Sites will set up your entire site including custom pages, menu items, Theme Builder templates and more.', 'Divi' ), 'Level Up Your Divi Toolkit' => esc_html__( 'Level Up Your Divi Toolkit', 'Divi' ), 'Divi AI' => esc_html__( 'Divi AI', 'Divi' ), 'Harness the power of AI ...' => esc_html__( 'Harness the power of AI and unlock unlimited text, image, code, layout and website generation.', 'Divi' ), 'Get access to hundreds of new Divi modules ...' => esc_html__( 'Get access to hundreds of new Divi modules and thousands of additional layouts and child themes.', 'Divi' ), 'Save your Divi assets to the cloud ...' => esc_html__( 'Save your Divi assets to the cloud and access them from any website. Collaborate with your team in the cloud.', 'Divi' ), 'Invite your team members ...' => esc_html__( 'Invite your team members and clients and give them full access to your entire suite of Divi services.', 'Divi' ), 'Get live chat support ...' => esc_html__( 'Get live chat support with response times under 30 minutes plus bigger discounts in the Divi Marketplace.', 'Divi' ), 'Upgrade your Divi membership ...' => esc_html__( 'Upgrade your Divi membership to Lifetime and use Divi on unlimited websites forever.', 'Divi' ), 'Learn About Divi AI' => esc_html__( 'Learn About Divi AI', 'Divi' ), 'Divi Marketplace' => esc_html__( 'Divi Marketplace', 'Divi' ), 'Browse The Marketplace' => esc_html__( 'Browse The Marketplace', 'Divi' ), 'Divi Cloud' => esc_html__( 'Divi Cloud', 'Divi' ), 'Learn About Divi Cloud' => esc_html__( 'Learn About Divi Cloud', 'Divi' ), 'Divi Teams' => esc_html__( 'Divi Teams', 'Divi' ), 'Learn About Divi Teams' => esc_html__( 'Learn About Divi Teams', 'Divi' ), 'Divi VIP' => esc_html__( 'Divi VIP', 'Divi' ), 'Learn About Divi VIP' => esc_html__( 'Learn About Divi VIP', 'Divi' ), 'Divi Lifetime' => esc_html__( 'Divi Lifetime', 'Divi' ), 'Error' => esc_html__( 'Error', 'Divi' ), 'Get Divi For Life' => esc_html__( 'Get Divi For Life', 'Divi' ), 'Choose A Starter Site' => esc_html__( 'Choose A Starter Site', 'Divi' ), 'Pick the starter site ...' => esc_html__( 'Pick the starter site that best suits your website. Every Starter Site can be used for any type of website. Once your website is generated, you can easily customize the content and styles using the Divi Builder.', 'Divi' ), 'Start With %1$s' => esc_html__( 'Start With %1$s', 'Divi' ), 'Preview %1$s' => esc_html__( 'Preview %1$s', 'Divi' ), 'Customize your website' => esc_html__( 'Customize Your Website and Select Your Pages', 'Divi' ), 'Input your website information and select ...' => esc_html__( 'Input your website information and select which pages you want to have on your website.', 'Divi' ), 'Site name' => esc_html__( 'Site Name', 'Divi' ), 'Site Slogan' => esc_html__( 'Site Slogan', 'Divi' ), 'Logo' => esc_html__( 'Logo', 'Divi' ), 'Upload a logo image ...' => esc_html__( 'Upload a logo image to be used in your website header and footer.', 'Divi' ), 'Pages' => esc_html__( 'Pages', 'Divi' ), 'Select the pages ...' => esc_html__( 'Select the pages that you want to add to your website. You can select from pre-build pages with custom layouts, and add your own pages that will be built using a simple template.', 'Divi' ), 'Shop (selecting this will install WooCommerce)' => esc_html__( 'Shop (selecting this will install WooCommerce)', 'Divi' ), 'Cancel' => esc_html__( 'Cancel', 'Divi' ), 'Skip This Step & Build Manually' => esc_html__( 'Skip This Step & Build Manually', 'Divi' ), 'Remove' => esc_html__( 'Remove', 'Divi' ), 'Change Image' => esc_html__( 'Change Image', 'Divi' ), 'Upload your logo (optional)' => esc_html__( 'Upload your logo (optional)', 'Divi' ), 'Building Your Website' => esc_html__( 'Building Your Website', 'Divi' ), 'Your website is being created ...' => esc_html__( 'Your website is being created! Sit back and relax while Divi Quick Sites generates content and configures your menu, templates, styles and presets.', 'Divi' ), 'Installing WooCommerce' => esc_html__( 'Installing WooCommerce', 'Divi' ), 'Activating WooCommerce' => esc_html__( 'Activating WooCommerce', 'Divi' ), 'Creating Your Menu' => esc_html__( 'Creating Your Menu', 'Divi' ), 'Website Build Complete!' => esc_html__( 'Website Build Complete!', 'Divi' ), 'Creating %1$s Page' => esc_html__( 'Importing %1$s Page', 'Divi' ), 'Updating Website Information' => esc_html__( 'Updating Website Information', 'Divi' ), 'Importing Theme Builder' => esc_html__( 'Importing Theme Builder', 'Divi' ), 'Saving Theme Builder' => esc_html__( 'Saving Theme Builder', 'Divi' ), 'Generating Site Outline' => esc_html__( 'Generating Site Outline', 'Divi' ), 'Login to activate your license' => esc_html__( 'Login to activate your license', 'Divi' ), 'Welcome to Divi!' => esc_html__( 'Welcome to Divi!', 'Divi' ), 'Login to activate your license' => esc_html__( 'Login to activate your license', 'Divi' ), 'Welcome Description' => esc_html__( 'Divi has been installed and activated. Next, you must activate your license so that your website can receive updates. Click the button below to log in to your Elegant Themes account and automatically activate this installation.', 'Divi' ), 'Generate My Website' => esc_html__( 'Generate My Website', 'Divi' ), 'Tell Us About Your Website' => esc_html__( 'Tell Us About Your Website', 'Divi' ), 'Input your website information ...' => esc_html__( 'Input your website information and tell Divi AI about your website or business. The information you provide will be used to generate content, images and make design decisions.', 'Divi' ), 'Tell Divi AI About Your Website' => esc_html__( 'Tell Divi AI About Your Website', 'Divi' ), 'Install and Configure WooCommerce' => esc_html__( 'Install and Configure WooCommerce', 'Divi' ), 'Ecommerce' => esc_html__( 'Ecommerce', 'Divi' ), 'Images' => esc_html__( 'Images', 'Divi' ), 'Divi AI will fill your pages with ...' => esc_html__( 'Divi AI will fill your pages with relevant photos and images automatically. Using stock photos is the fastest and most reliable option. You can also generate completely unique images using AI, which takes longer. ', 'Divi' ), 'Use Stock Images (Faster)' => esc_html__( 'Use Stock Images (Faster)', 'Divi' ), 'Generate Images With AI (Slower)' => esc_html__( 'Generate Images With AI (Slower)', 'Divi' ), 'Use Placeholder Images' => esc_html__( 'Use Placeholder Images', 'Divi' ), 'Customize Fonts and Colors' => esc_html__( 'Customize Fonts and Colors', 'Divi' ), 'Example: Our company, Sunset Solar' => esc_html__( 'Example: Our company, Sunset Solar, is a solar panel installation company serving the San Francisco Bay Area', 'Divi' ), 'Define custom fonts and colors' => esc_html__( 'Define custom fonts and colors below or leave empty to let AI choose for you', 'Divi' ), 'Heading Font' => esc_html__( 'Heading Font', 'Divi' ), 'Body Font' => esc_html__( 'Body Font', 'Divi' ), 'Heading Font Color' => esc_html__( 'Heading Font Color', 'Divi' ), 'Body Font Color' => esc_html__( 'Body Font Color', 'Divi' ), 'Primary Color' => esc_html__( 'Primary Color', 'Divi' ), 'Secondary Color' => esc_html__( 'Secondary Color', 'Divi' ), 'Search Fonts' => esc_html__( 'Search Fonts', 'Divi' ), 'Let AI Choose' => esc_html__( 'Let AI Choose', 'Divi' ), 'Default' => esc_html__( 'Default', 'Divi' ), 'Custom' => esc_html__( 'Custom', 'Divi' ), 'Divi AI Default' => esc_html__( 'Divi AI Default', 'Divi' ), 'Website Default' => esc_html__( 'Website Default', 'Divi' ), 'The heading font will ...' => esc_html__( 'The heading font will be used for all headings throughout the layout. Let AI pick a great font for you, or choose one yourself.', 'Divi' ), 'The body font will ...' => esc_html__( 'The body font will be used for all text blocks throughout the layout. Let AI pick a great font for you, or choose one yourself.', 'Divi' ), 'Pick a color for your headings ...' => esc_html__( 'Pick a color for your headings, or let Divi AI choose one for you.', 'Divi' ), 'Pick a color to use for things like ...' => esc_html__( 'Pick a color to use for things like paragraphs, or let Divi AI choose one for you.', 'Divi' ), 'Select a primary color ...' => esc_html__( 'Select a primary color, or let Divi AI choose a great color for you. The primary color is used through the layout, such as background colors, button colors, etc.', 'Divi' ), 'Select a secondary color ...' => esc_html__( 'Select a secondary color, or let Divi AI choose a great color for you. The secondary color is used through the layout as a secondary accent color, such as for icon colors, text highlights, etc.', 'Divi' ), 'Give Divi AI general information ...' => esc_html__( 'Give Divi AI general information about your website or business. The more context it has about you and your goals, the better layouts it will create and the more relevant content it will write.', 'Divi' ), 'Generate & Publish My Website' => __( 'Generate & Publish My Website', 'Divi' ), 'Select this option if you plan ...' => esc_html__( 'Select this option if you plan to sell products on your website. We will install WooCommerce and configure your cart and checkout pages.', 'Divi' ), 'Enter your website name ...' => esc_html__( 'Enter your website name, which will be used for meta titles and throughout your website content.', 'Divi' ), 'Enter your website slogan ...' => esc_html__( 'Enter your website slogan, which will be used in meta descriptions and as context for Divi AI.', 'Divi' ), 'Generating Your Menu' => esc_html__( 'Generating Your Menu', 'Divi' ), 'Generating %1$s Pages' => esc_html__( 'Generating %1$s Pages', 'Divi' ), 'Creating %1$s Page' => esc_html__( 'Creating %1$s Page', 'Divi' ), 'Importing Pages' => esc_html__( 'Importing Pages', 'Divi' ), 'Designing Layout' => esc_html__( 'Designing Layout', 'Divi' ), 'Writing Content' => esc_html__( 'Writing Content', 'Divi' ), 'Generating Images' => esc_html__( 'Generating Images', 'Divi' ), 'Add A Custom Page' => esc_html__( 'Add A Custom Page', 'Divi' ), 'Page Name' => esc_html__( 'Page Name', 'Divi' ), 'Fetching Pages' => esc_html__( 'Fetching Pages', 'Divi' ), 'Uh Oh! Something Went Wrong' => esc_html__( 'Uh Oh! Something Went Wrong', 'Divi' ), 'While creating your site' => esc_html__( 'While creating your site, something got hung up. Click Retry to resume where things left off, or Cancel to restore your site to its previous state.' ), 'Retry' => esc_html__( 'Retry', 'Divi' ), 'Purchase A Divi AI Membership' => esc_html__( 'Purchase A Divi AI Membership', 'Divi' ), 'Something went wrong' => esc_html__( 'Something went wrong', 'Divi' ), 'Close' => esc_html__( 'Close', 'Divi' ), 'uploaded logo' => esc_html__( 'uploaded logo', 'Divi' ), 'Importing Presets' => esc_html__( 'Importing Presets', 'Divi' ), 'Importing Customizer Settings' => esc_html__( 'Importing Customizer Settings', 'Divi' ), 'Default Website Template' => esc_html__( 'Default Website Template', 'Divi' ), 'Update' => esc_html__( 'Update', 'Divi' ), 'request it here' => esc_html__( 'request it here', 'Divi' ), ); PK �\�#K�N"