(function () {
// 1) Basic bot filter (extend if you like)
function isBot() {
return /(bot|crawl|spider|google|bing|slurp|yandex|facebook|linkedin|pinterest|preview|whatsapp|discord|telegram|headless|puppeteer)/i
.test(navigator.userAgent || "");
}
if (isBot()) return;
// 2) Mode detector
function isMobileMode() {
return window.matchMedia("(max-width: 767px)").matches ||
/Mobi|Android|iPhone|iPad|iPod/i.test(navigator.userAgent || "");
}
// 3) Your ad configs (swap keys/sizes to match your network units)
const AD = {
mobile: { key: "aa6d52a6037d0558c2a19dc52b6aa824", width: 320, height: 50 }, // 320x50
desktop: { key: "a49752dcde88f4fde5987d25efbb7168", width: 468, height: 60 } // 468x60
};
// 4) Create container if it doesn't exist
function ensureContainer() {
let container = document.getElementById("ad-container");
if (!container) {
container = document.createElement("div");
container.id = "ad-container";
container.style.display = "none";
document.body.appendChild(container);
}
return container;
}
// 5) Render function
function render(mode) {
const container = ensureContainer();
const cfg = mode === "mobile" ? AD.mobile : AD.desktop;
// Set global atOptions for ad network
window.atOptions = {
key: cfg.key,
format: "iframe",
height: cfg.height,
width: cfg.width,
params: {}
};
// Clear previous ad/script then inject
container.innerHTML = "";
container.style.display = "block";
const s = document.createElement("script");
s.src = `//selfportraitproved.com/${cfg.key}/invoke.js`;
s.async = true;
container.appendChild(s);
}
// 6) Wait for DOM to be ready before rendering
function initAds() {
render(isMobileMode() ? "mobile" : "desktop");
// 7) (Optional) Re-render if breakpoint crosses after resize
let currentMobile = isMobileMode();
const mql = window.matchMedia("(max-width: 767px)");
if (mql.addEventListener) {
mql.addEventListener("change", (e) => {
const nowMobile = e.matches;
if (nowMobile !== currentMobile) {
currentMobile = nowMobile;
render(currentMobile ? "mobile" : "desktop");
}
});
} else if (mql.addListener) { // older browsers
mql.addListener((e) => {
const nowMobile = e.matches;
if (nowMobile !== currentMobile) {
currentMobile = nowMobile;
render(currentMobile ? "mobile" : "desktop");
}
});
}
}
// 8) Execute when DOM is ready
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", initAds);
} else {
initAds();
}
})();
Number 22 brings the attributes of number 2 appearing twice, amplifying its influences. Number 2 relates to your Divine life purpose and soul mission, duality and balance, partnership and relationships, diplomacy and adaptability, insight, sensitivity and selflessness. Master Number 22 carries the energies and attributes of diplomacy, intuition and emotion, balance and harmony, adaptability, diplomacy, personal power, redemption, idealism, expansion and evolution, idealism, philanthropy and service and duty and manifesting your highest ideals and desires. Number 22 is a number of power and accomplishment.
Angel Number 22 encourages you to work diligently on your spiritual life path and soul purpose.Angel Number 22 brings a message from your angels that you are to take a balanced, harmonious and peaceful stance in all areas of your life. Stand strong in your personal convictions and act accordingly. You have a great deal to achieve, and with devotion and inner-wisdom you will be able to successfully manifest your desired results. Angel Number 22 can turn the most ambitious of dreams into reality. Angel Number 22 asks you to see the larger picture, and to work with the details necessary to complete that picture. Angel Number 22 encourages you to bring things through to fruition on both the spiritual and material planes.Angel Number 22 is a message from your angels to maintain your convictions and keep an optimistic outlook and a positive attitude as your desires are currently being manifested for you. Number 22 is a ‘Master Builder’ Number, and in it’s lower vibrational form it relates to the Number 4. See also: Repeating 2’s (2, 22, 222, 2222 etc)Angel Number 2Angel Number 222*