{"id":5178,"date":"2025-08-06T15:27:14","date_gmt":"2025-08-06T20:27:14","guid":{"rendered":"https:\/\/itishoemath.com\/?p=5178"},"modified":"2025-10-17T10:18:46","modified_gmt":"2025-10-17T15:18:46","slug":"0125-se-mettre-a-niveau-ou-rester-bloque-sauto-maximiser","status":"publish","type":"post","link":"https:\/\/itishoemath.com\/fr\/0125-se-mettre-a-niveau-ou-rester-bloque-sauto-maximiser\/","title":{"rendered":"Passer \u00e0 la vitesse sup\u00e9rieure ou rester bloqu\u00e9 : S'auto-maximiser"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"5178\" class=\"elementor elementor-5178\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-97dd7a3 e-flex e-con-boxed e-con e-parent\" data-id=\"97dd7a3\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ce1c704 elementor-widget elementor-widget-html\" data-id=\"ce1c704\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4>Le syst\u00e8me d'auto-maximisation que tout homme doit conna\u00eetre<\/h4>\n\nPr\u00eat \u00e0 am\u00e9liorer votre jeu de rencontres et votre vie enti\u00e8re ? Voici Self-Maximize - une carte mentale brutalement honn\u00eate qui m'a fait passer de grosse, fauch\u00e9e et invisible \u00e0 un \" huit \" avec des options que la plupart des hommes n'ont pas...<!--preview--> ne font que r\u00eaver. Mais voici la partie que personne ne veut admettre : la plupart des hommes (et des femmes) \u00e9chouent parce qu'ils ignorent les commentaires que la vie leur adresse.\n<br><br>\nTout le monde parle de \"rester soi-m\u00eame\" ou \"d'\u00eatre gentil\". C'est faux. Les rencontres modernes sont impitoyables. Si vous ne vous am\u00e9liorez pas activement - physique, mode, confiance et comportement - vous resterez bloqu\u00e9, r\u00e9p\u00e9tant sans cesse les m\u00eames erreurs. Vous voulez savoir pourquoi vous \u00eates toujours dans la m\u00eame cat\u00e9gorie de rencontres ? Je vous pr\u00e9sente les 7 \u00e9tapes pour grimper rapidement, ainsi que toutes les erreurs de d\u00e9butants que les hommes et les femmes commettent sans cesse.\n<br><br>\nCe qui est incroyable, c'est que presque tous les hommes sous-estiment l'importance que les femmes accordent \u00e0 l'apparence et \u00e0 la pr\u00e9sence, tandis que les femmes ne se rendent pas compte que leur propre \"cat\u00e9gorie de rencontre\" ne bouge pratiquement pas, quels que soient les efforts qu'elles d\u00e9ploient. Je r\u00e9sume tout : la liste de contr\u00f4le, l'\u00e9tat d'esprit, la fa\u00e7on de renforcer le pouvoir, la fa\u00e7on de devenir ce que le sexe oppos\u00e9 veut. Arr\u00eatez de bl\u00e2mer la chance. Commencez \u00e0 vous surpasser.\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8858505 elementor-widget elementor-widget-html\" data-id=\"8858505\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p> <\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4860eef elementor-widget elementor-widget-html\" data-id=\"4860eef\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- CSV for video links and summaries -->\n<!-- Header: Not Translated -->\n<script id=\"video-data-header\" type=\"text\/plain\">\ntime|stop|tab|title|description\n<\/script>\n<div id=\"tp-translatable-strings2\"\n     style=\"color:#000101; background:#000101; width:100vw; height:auto; position:static; z-index:1; font-size:1px;\">\n<pre id=\"video-data-rows\">\n0|56|Introduction|Carte mentale de la maximisation de soi|Une carte mentale est pr\u00e9sent\u00e9e pour aider les individus \u00e0 r\u00e9fl\u00e9chir sur eux-m\u00eames et \u00e0 s'am\u00e9liorer, en particulier en termes de valeur sur le march\u00e9 des rencontres, sur la base du parcours personnel du cr\u00e9ateur qui est pass\u00e9 d'une valeur faible \u00e0 une valeur \u00e9lev\u00e9e per\u00e7ue par lui-m\u00eame.  \n56|120|Th\u00e9orie|Th\u00e9orie int\u00e9grale et prise de conscience|L'approche de l'auto-maximisation est en partie bas\u00e9e sur la th\u00e9orie int\u00e9grale, simplifi\u00e9e pour un usage pratique, et met l'accent sur le pouvoir de la prise de conscience et du changement de l'esprit et des actions pour obtenir de meilleurs r\u00e9sultats dans la vie.  \n120|197|Processus|R\u00e9troaction et changement conscient|La carte du processus est expliqu\u00e9e comme un flux allant des d\u00e9sirs aux comportements et \u00e0 la r\u00e9troaction environnementale, mettant en \u00e9vidence les domaines dans lesquels les gens \u00e9chouent souvent en n'adaptant pas leurs actions en fonction des r\u00e9sultats.  \n197|284|Conscience|Importance de la conscience|La pens\u00e9e de faible conscience est critiqu\u00e9e, en particulier en ce qui concerne les droits ou l'\u00e9gocentrisme dans les relations, et la n\u00e9cessit\u00e9 de prendre en compte ce que le monde attend de vous.  \n284|436|Exemples|Exemples de r\u00e9sistance au feed-back|Plusieurs exemples de la vie r\u00e9elle illustrent comment les gens ne parviennent pas \u00e0 r\u00e9aliser leurs d\u00e9sirs en ignorant le feed-back et en refusant de changer leurs pens\u00e9es ou leurs comportements.  \n436|564|Liste de contr\u00f4le|Zones et r\u00e9flexion quotidienne|Une liste de contr\u00f4le et une carte en sept sections sont fournies pour encourager la r\u00e9flexion quotidienne et l'ajustement conscient dans tous les domaines de la vie, en particulier lorsque les r\u00e9sultats ne sont pas satisfaisants.  \n564|789|Corps|Am\u00e9lioration physique pour les hommes|Des conseils pratiques sont donn\u00e9s aux hommes pour qu'ils se concentrent sur la forme physique, la mode, la toilette et la posture en tant qu'\u00e9tapes fondamentales pour accro\u00eetre l'attractivit\u00e9 et le succ\u00e8s.  \n789|974|Masculinit\u00e9|Masculinit\u00e9, pouvoir et confiance|L'importance du pouvoir, du statut, de la comp\u00e9tence et de la confiance est expliqu\u00e9e, avec des conseils sur la fa\u00e7on de cultiver ces traits et pourquoi ils sont importants dans les contextes sociaux et romantiques.  \n974|1175|Investissement|Valeur et investissement dans les relations|Les hommes sont encourag\u00e9s \u00e0 investir de la valeur, du temps et de l'attention dans les relations, en comprenant l'importance de la proximit\u00e9 \u00e9motionnelle, de la pr\u00e9sentation, de la loyaut\u00e9 et du partage des ressources.  \n1175|1295|Femmes|Maximisation de soi pour les femmes|Les d\u00e9fis et les limites auxquels les femmes sont confront\u00e9es dans la maximisation de soi sont discut\u00e9s, en soulignant la primaut\u00e9 de l'apparence et la difficult\u00e9 de la compenser par l'effort ou d'autres caract\u00e9ristiques.  \n1295|1435|Personnalit\u00e9|Personnalit\u00e9 et dynamique relationnelle|Le r\u00f4le de la personnalit\u00e9, de la positivit\u00e9, du soutien et de la sant\u00e9 \u00e9motionnelle dans la formation des relations est soulign\u00e9, avec des mises en garde contre l'auto-sabotage et le bagage \u00e9motionnel.  \n1435|1448|Conclusion|R\u00e9sum\u00e9 et encouragement|La vid\u00e9o se termine par un r\u00e9capitulatif de la carte de maximisation de soi et un encouragement \u00e0 l'utiliser dans le cadre d'une r\u00e9flexion permanente sur soi et d'un d\u00e9veloppement personnel.\n\n<\/pre>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d08897e elementor-widget elementor-widget-html\" data-id=\"d08897e\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"tp-translatable-strings5\"\n     style=\"color:#000101; background:#000101; width:100vw; height:auto; position:static; z-index:1; font-size:1px;\">\n<span id=\"hiddenText\">\n0.0 Voici Self-Maximize, une carte mentale con\u00e7ue pour vous aider \u00e0 r\u00e9fl\u00e9chir sur vous-m\u00eame et \u00e0 vous am\u00e9liorer, en particulier en ce qui concerne votre valeur sur le march\u00e9 des rencontres.\n11.0 Je suis qualifi\u00e9e pour parler de ce sujet car je suis pass\u00e9e d'un \"4\" \u00e0 un \"8\" en perdant 100 livres, en me mettant en forme, en apprenant \u00e0 m'habiller, en \u00e9liminant les ins\u00e9curit\u00e9s, en travaillant sur les comp\u00e9tences sociales et en d\u00e9m\u00e9nageant \u00e0 l'autre bout du pays pour poursuivre mes r\u00eaves.\n44.0 J'ai cr\u00e9\u00e9 cette cha\u00eene de m\u00e9dias sociaux, qui compte aujourd'hui des millions de vues et me soutient apr\u00e8s seulement sept mois.\n50.0 La r\u00e9alisation de ces objectifs m'a fait passer du statut de perdant \u00e0 celui de personne ayant de grandes possibilit\u00e9s.\n56.0 Self-Maximize est partiellement bas\u00e9 sur la th\u00e9orie int\u00e9grale, mais j'ai cr\u00e9\u00e9 ma propre version pour faciliter la compr\u00e9hension.\n65.0 Le sponsor, Shortform, vous aide \u00e0 assimiler rapidement des livres et des articles, gr\u00e2ce \u00e0 des r\u00e9sum\u00e9s et des exercices.\n108.0 Pour vous maximiser, faites attention \u00e0 ces sept choses dans votre vie.\n111.0 Si vous savez ce que vous voulez et que vous pouvez changer votre esprit et vos actions, votre monde commencera \u00e0 vous donner de meilleurs r\u00e9sultats.\n120.0 La carte est un organigramme qui montre comment les d\u00e9sirs deviennent des pens\u00e9es, puis des comportements, qui influencent votre environnement et votre vie.\n195.0 La plupart des gens \u00e9chouent parce qu'ils ne r\u00e9fl\u00e9chissent pas au retour d'information et ne modifient pas leurs actions. Cette carte vous encourage donc \u00e0 r\u00e9fl\u00e9chir \u00e0 ce que vous voulez et \u00e0 l'endroit o\u00f9 vous pouvez l'obtenir avant d'agir.\n215.0 Chaque section de la carte contient des questions et des exercices pour vous aider \u00e0 accro\u00eetre votre conscience.\n225.0 La conscience est importante parce que beaucoup de gens ont une faible conscience, un \u00e9tat d'esprit \u00e9gocentrique - comme attendre des autres qu'ils vous aiment sans raison ou refuser d'apporter de la valeur.\n260.0 Beaucoup de gens veulent des choses mais ne pensent jamais \u00e0 ce que le monde attend d'eux ou \u00e0 la fa\u00e7on dont ils pourraient le faire.\n266.0 En r\u00e9sum\u00e9, la maximisation de soi signifie qu'il ne faut pas se concentrer uniquement sur ses propres besoins, mais devenir ce que les autres recherchent, et chercher des personnes pr\u00eates \u00e0 le faire pour vous.\n286.0 Vous ne pouvez pas faire en sorte que les gens vous aiment ; vous devez simplement \u00eatre ce qu'ils aiment.\n293.0 Par exemple, j'\u00e9tais en pleine forme mais je ne gagnais pas beaucoup d'argent jusqu'\u00e0 r\u00e9cemment, si bien que les femmes entraient et sortaient de ma vie - j'avais des traits de caract\u00e8re s\u00e9duisants mais pas fiables.\n319.0 Autre exemple : J'avais un ami russe qui voulait perdre son accent, mais qui n'a pas suivi les commentaires, si bien qu'il n'a jamais chang\u00e9.\n349.0 Un fan est venu me demander des conseils sur la raison pour laquelle les gens le trouvaient \"fruit\u00e9\", mais il a rejet\u00e9 toutes les suggestions et a gard\u00e9 le probl\u00e8me.\n379.0 J'ai rencontr\u00e9 une fille qui se plaignait que les hommes sur Tinder \u00e9taient trop directs, mais son profil ne contenait que des photos de bikini - elle ne voulait pas accepter les commentaires.\n401.0 Dans tous ces cas, les gens voulaient quelque chose mais refusaient de changer leur comportement, si bien qu'ils continuaient \u00e0 obtenir les m\u00eames r\u00e9sultats.\n420.0 La carte et la liste de contr\u00f4le sont l\u00e0 pour vous rappeler de ne pas faire cela - pensez aux sept sections chaque jour, que vous obteniez ce que vous voulez ou non.\n436.0 Si vous avez un probl\u00e8me, d\u00e9terminez ce qui doit changer en vous.\n444.0 Lorsque je cr\u00e9e du contenu, je pense \u00e0 ce que je veux qu'il fasse et \u00e0 qui je le montre, puis je l'ajuste en fonction des r\u00e9actions.\n460.0 Ce processus d'auto-conception s'applique \u00e0 tous les aspects de la vie.\n464.0 Vous pouvez t\u00e9l\u00e9charger la carte gratuitement ou acheter le kit ; consid\u00e9rez-le comme une mini-s\u00e9ance de coaching personnel.\n474.0 Demandez-vous : Qu'est-ce que je fais qui remplit ces cases pour la personne que je recherche ?\n480.0 Voici ma liste de ce que les hommes et les femmes moyens doivent am\u00e9liorer ; je pourrais faire des vid\u00e9os pour chaque domaine.\n487.0 \"Sois gentil\" et \"Sois toi-m\u00eame\" sont les pires conseils pour les hommes d'aujourd'hui - la plupart ont besoin de commencer par le corps et la masculinit\u00e9.\n501.0 L'aspect le plus important de l'attirance est physique - il faut \u00eatre en forme, bien s'habiller, bien se comporter et prendre soin de soi.\n520.0 Je n'ai pas de photos d'avant, mais le fait d'\u00eatre en forme m'a fait passer d'une cat\u00e9gorie de femmes \u00e0 une autre.\n533.0 La plupart des hommes sous-estiment \u00e0 quel point les femmes aiment avoir un beau corps - c'est probablement plus que les hommes.\n541.0 Apr\u00e8s avoir chang\u00e9 d'\u00e9tat d'esprit, de r\u00e9gime et d'exercice, mes m\u00eames comportements ont donn\u00e9 de bien meilleurs r\u00e9sultats avec les m\u00eames femmes.\n557.0 Cette liste de contr\u00f4le est ma note sur ce que vous devez probablement am\u00e9liorer en premier.\n564.0 La forme physique est super importante ; si vous l'ignorez, arr\u00eatez.\n575.0 La plupart des hommes devraient se muscler et perdre de la graisse - les femmes aiment quand on est fort.\n582.0 Vient ensuite la mode - si vous vous habillez mal, pensez \u00e0 ce que les autres pensent de vous.\n590.0 Habillez-vous de fa\u00e7on appropri\u00e9e \u00e0 ce que vous faites ; assurez-vous que vos v\u00eatements vous vont et sont assortis.\n621.0 S'exprimer signifie ajouter une touche de votre propre personnalit\u00e9 - trouvez ce qui vous convient, mais ne vous sabotez pas avec des \"chemises d'abruti\" ou des \"lunettes d'autiste\".\n654.0 Pensez \u00e0 ce que vous montrez aux gens, \u00e0 leur r\u00e9action et \u00e0 ce que vous pouvez changer.\n664.0 Les mani\u00e8res sont importantes - tenez-vous droit, parlez comme un homme et arr\u00eatez de faire des choses d\u00e9go\u00fbtantes ou ennuyeuses.\n676.0 J'ai eu un client grand et intelligent qui \u00e9tait trop excit\u00e9 et parlait trop vite ; les filles n'aiment pas \u00e7a.\n694.0 Un autre homme parlait avec une inflexion vers le haut ; quand il l'a corrig\u00e9e, les choses se sont am\u00e9lior\u00e9es.\n698.0 J'ai utilis\u00e9 une cam\u00e9ra pour v\u00e9rifier ma posture et je l'ai corrig\u00e9e.\n705.0 La toilette a besoin de sa propre vid\u00e9o, mais votre coupe de cheveux et votre pilosit\u00e9 faciale doivent s'adapter \u00e0 votre visage - demandez aux femmes de vous donner leur avis.\n731.0 L'hygi\u00e8ne est essentielle - ne laissez rien au hasard, comme le font les femmes.\n761.0 Chaque fois que vous sortez, prenez une douche, peignez-vous les cheveux, brossez-vous les dents, portez des v\u00eatements frais, utilisez du d\u00e9odorant et apportez du chewing-gum.\n771.0 Si vous ne faites pas cela, vous sentez probablement mauvais et c'est pourquoi les gens ne vous aiment pas.\n779.0 Si vous vous mettez en forme, si vous vous habillez bien, si vous vous tenez droit, si vous parlez avec assurance et si vous restez frais, vous r\u00e9soudrez beaucoup de probl\u00e8mes.\n793.0 La masculinit\u00e9, la comp\u00e9tence et l'assurance - une fois que vous \u00eates beau et que vous sentez bon, vous devez agir comme un homme.\n803.0 Le pouvoir est un aphrodisiaque - votre capacit\u00e9 \u00e0 faire bouger les choses ou \u00e0 les emp\u00eacher de se produire.\n818.0 Aujourd'hui, les hommes ne peuvent plus obtenir le pouvoir par l'argent aussi facilement, mais l'argent a toujours son importance.\n837.0 Le pouvoir consiste \u00e0 faire en sorte que les choses aillent dans votre sens - lisez \"Les 48 lois du pouvoir\" pour en savoir plus.\n850.0 Lorsque j'ai mis ces principes en pratique, les gens ont commenc\u00e9 \u00e0 me donner ce que je voulais.\n857.0 Le statut, le respect, l'importance et la domination font tous partie de la hi\u00e9rarchie - les femmes ne veulent pas d'hommes au statut inf\u00e9rieur.\n866.0 Si vous ne pouvez pas atteindre le sommet d'un groupe, trouvez un groupe o\u00f9 vous le pouvez.\n873.0 Les femmes disent qu'elles veulent l'\u00e9galit\u00e9, mais elles continuent \u00e0 hi\u00e9rarchiser les hommes.\n880.0 Gr\u00e2ce \u00e0 votre statut, les personnes faibles se sentiront peu s\u00fbres d'elles et vous aurez des amis puissants.\n885.0 \u00catre un loup solitaire ou un gentil gar\u00e7on ne vous m\u00e8nera nulle part.\n890.0 Comp\u00e9tences - \u00eatre bon dans un domaine qu'elle appr\u00e9cie ; les femmes aiment cela plus que d'\u00eatre bon aux jeux vid\u00e9o.\n902.0 Ne comptez pas sur des comp\u00e9tences sp\u00e9cialis\u00e9es pour vous rendre attirant - faites appel \u00e0 ce que la plupart des femmes recherchent.\n918.0 Pour avoir confiance en vous, ayez du cadre et de la pr\u00e9sence ; le cadre signifie d\u00e9cider de ce qui va se passer et s'y tenir, mais aussi apporter \u00e0 la femme ce qu'elle veut.\n930.0 Vous ne pouvez pas vous contenter de lui donner des ordres - vous devez lui rendre la vie meilleure sans toujours lui demander.\n941.0 La pr\u00e9sence est la fa\u00e7on dont vous vous manifestez dans les interactions - une mauvaise pr\u00e9sence est le fait d'\u00eatre conscient de soi ou d'\u00eatre dans son propre monde.\n957.0 Les hommes ayant un statut \u00e9lev\u00e9 projettent de l'assurance et font bouger les choses, montrant aux femmes que de bonnes choses se produiront s'ils sont pr\u00e9sents.\n966.0 La masculinit\u00e9 consiste \u00e0 cr\u00e9er ce que l'on veut, \u00e0 emp\u00eacher ce que l'on ne veut pas et \u00e0 montrer que l'on est l'homme qui fait bouger les choses.\n974.0 C'est l'axe du \" mauvais gar\u00e7on \" : avoir l'air bien et faire en sorte que les choses se passent bien.\n978.0 Une fois que vous \u00eates populaire, vous devez bien traiter les femmes pour les garder - investir de la valeur, \u00eatre beau, faire en sorte qu'elle soit belle, et adapter votre vie \u00e0 ses besoins.\n992.0 La \"galaxie des bonus\" est constitu\u00e9e de toutes les petites choses que vous avez ou qui vous arrivent, pas n\u00e9cessairement de ce que vous \u00eates.\n999.0 L'investissement est tout ce que vous lui donnez - temps, argent, attention, \u00e9nergie.\n1016.0 L'attention, c'est l'\u00e9loge et l'appr\u00e9ciation - faites en sorte qu'elle se sente comme une star.\n1030.0 L'argent est important - plus vous en avez, plus elle reste.\n1040.0 L'\u00e9nergie, c'est la fa\u00e7on dont vous faites avancer la relation ; vous ne pouvez pas toujours \u00eatre occup\u00e9 et vous attendre \u00e0 ce que \u00e7a marche.\n1052.0 La proximit\u00e9 \u00e9motionnelle signifie partager des choses plus profondes, ne pas \u00eatre faible ou pleurer.\n1070.0 La pr\u00e9sentabilit\u00e9 est votre r\u00e9putation et la fa\u00e7on dont vous lui donnez l'impression d'\u00eatre un bon gar\u00e7on.\n1081.0 Le statut est la mesure dans laquelle les gens ont besoin de vous pour leur pouvoir ; la pr\u00e9sentabilit\u00e9 est la mesure dans laquelle vous \u00eates sympathique - le mieux est d'avoir les deux, mais mieux vaut \u00eatre craint qu'aim\u00e9 si vous ne pouvez pas \u00eatre les deux \u00e0 la fois.\n1115.0 La loyaut\u00e9 est la mesure dans laquelle elle croit que vous r\u00e9servez votre investissement pour elle - ne vous accrochez pas \u00e0 de vieilles relations.\n1133.0 Concentrez-vous sur elle dans le pr\u00e9sent ; elle ne veut pas vous voir investir dans d'autres filles.\n1140.0 La galaxie bonus concerne les choses auxquelles vous avez acc\u00e8s, comme l'endroit o\u00f9 vous vivez, ce qui peut avoir beaucoup d'importance pour les femmes.\n1159.0 Les hommes peuvent faire beaucoup pour se maximiser : avoir une meilleure apparence, faire bouger les choses et partager leurs affaires.\n1175.0 Pour les femmes, il est plus difficile de se maximiser - la plupart des choses que les hommes peuvent faire ne donnent pas de points aux femmes, ce qui explique pourquoi le f\u00e9minisme ne fonctionne pas de la m\u00eame mani\u00e8re.\n1204.0 Pour les femmes, l'apparence est le facteur le plus important ; votre apparence impose une limite stricte \u00e0 la cat\u00e9gorie dans laquelle les hommes vous placent.\n1223.0 Les hommes peuvent compenser leur apparence par des efforts, ce qui n'est g\u00e9n\u00e9ralement pas le cas des femmes - il est difficile de s'\u00e9lever et facile de se rabaisser.\n1232.0 Chaque homme appr\u00e9cie les choses diff\u00e9remment, mais si un homme pense que vous \u00eates un quatre, vous ne pourrez jamais le d\u00e9passer, quoi que vous fassiez.\n1255.0 Les femmes devraient commencer avec des hommes qui les aiment, puis \u00e9liminer ceux qu'elles n'aiment pas - au lieu de courir apr\u00e8s des hommes qui ne feront jamais d'efforts.\n1267.0 Courir apr\u00e8s les mauvais hommes bloque les femmes pendant des ann\u00e9es sans qu'elles aient la possibilit\u00e9 de quitter cette cat\u00e9gorie.\n1274.0 La modestie est importante pour les femmes ; la mode n'est g\u00e9n\u00e9ralement pas un probl\u00e8me, sauf si vous \u00eates \u00e0 moiti\u00e9 nue en public.\n1282.0 Pour les hommes, la loyaut\u00e9 est une question d'investissement ; pour les femmes, la puret\u00e9 consiste \u00e0 r\u00e9server son corps pour lui.\n1292.0 Votre corps est l'\u00e9l\u00e9ment le plus important de l'attirance, mais votre personnalit\u00e9 est l'\u00e9l\u00e9ment le plus important de la formation d'une relation.\n1298.0 \u00catre int\u00e9ressant signifie avoir plus \u00e0 offrir que l'apparence ou le maquillage - la plupart des femmes ne peuvent pas s'en sortir en n'apportant rien d'autre.\n1323.0 Les femmes n'ont pas n\u00e9cessairement besoin de comp\u00e9tences, mais elles doivent \u00eatre capables de parler de choses qui plaisent aux hommes.\n1334.0 Il est important d'\u00eatre positif - beaucoup de femmes modernes pensent qu'il est admirable d'\u00eatre difficile, mais c'est de l'auto-sabotage.\n1354.0 La plupart des m\u00e9nages ont un double revenu aujourd'hui ; il faut grandir et faire avec.\n1372.0 Le soutien est essentiel - traiter votre homme comme s'il ne m\u00e9ritait pas d'\u00eatre soutenu, c'est de l'auto-sabotage.\n1393.0 Les femmes modernes pensent que le fait de refuser leur soutien est fort, mais c'est en fait ce que les hommes recherchent.\n1402.0 De nombreuses femmes reportent les dommages \u00e9motionnels de leurs relations pass\u00e9es sur leurs nouveaux partenaires et refusent d'en assumer la responsabilit\u00e9.\n1414.0 N'ignorez pas ces choses - utilisez la carte pour r\u00e9fl\u00e9chir \u00e0 vous-m\u00eame.\n1421.0 La puret\u00e9 se mesure \u00e0 la probabilit\u00e9 que quelque chose comme la tromperie se produise - la qualit\u00e9 d'\u00e9pouse n'a rien \u00e0 voir avec ce que vous portez, et personne ne veut que sa femme s'habille de fa\u00e7on provocante.\n1438.0 Je vous ai donn\u00e9 une carte de ce que les gens recherchent, une carte de vos d\u00e9sirs et de vos d\u00e9cisions, et une structure pour commencer \u00e0 les changer.\n1446.0 J'ai h\u00e2te de voir mes r\u00e9actions.\n<\/span>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eddabf7 elementor-widget elementor-widget-html\" data-id=\"eddabf7\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\n\/\/ 1. Define which video to play for each language:\nconst videoMap = {\n    en: { type: \"youtube\", id: \"hREY1FJmqpU\" },\n  es: { type: \"youtube\", id: \"kAkkFQETsEs\" }, \n  fr: { type: \"youtube\", id: \"rowR1J6xNa0\" },\n  ja: { type: \"youtube\", id: \"haI7s5qzBOA\" },\n  pt: { type: \"youtube\", id: \"8tOKVbmlJ6Y\" } \n};\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a010ab1 e-flex e-con-boxed e-con e-parent\" data-id=\"a010ab1\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c437ca elementor-widget elementor-widget-template\" data-id=\"4c437ca\" data-element_type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<div data-elementor-type=\"section\" data-elementor-id=\"3172\" class=\"elementor elementor-3172\" data-elementor-post-type=\"elementor_library\">\n\t\t\t<div class=\"elementor-element elementor-element-7079b43 e-flex e-con-boxed e-con e-parent\" data-id=\"7079b43\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-800d60f elementor-widget elementor-widget-html\" data-id=\"800d60f\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n#simplified-transcript-note {\n  display: none !important;\n}\n<\/style>\n<div id=\"simplified-transcript-note\">Les traductions et la transcription simplifi\u00e9e sont bas\u00e9es sur les traductions du mat\u00e9riel original, localis\u00e9 en plusieurs langues. R\u00e9alis\u00e9 par PeakCreatorRoyalty.com sous licence de <span>h<\/span>oe_math.<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3a02ec9 elementor-widget elementor-widget-html\" data-id=\"3a02ec9\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\n  \/\/ Auto-hide translation block after page load\n  window.addEventListener('DOMContentLoaded', function() {\n    for (let i = 1; i <= 5; i++) {\n      document.querySelectorAll(`[id$=\"${i}\"]`).forEach(el => {\n        el.style.display = 'none';\n      });\n    }\n  });\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f2f7b1d elementor-widget elementor-widget-html\" data-id=\"f2f7b1d\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n  h3 {\n    margin-left: 0px; \/* Adjust as needed *\/\n    \/* Optionally add: *\/\n    text-align: left;  \n  }\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e3ade12 elementor-widget elementor-widget-html\" data-id=\"e3ade12\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- VIDEO PLAYER CONTAINER -->\n<div id=\"videoPlayerContainer\" style=\"max-width: 800px; margin: auto; text-align: center;\">\n  <!-- Video player is injected here -->\n<\/div>\n\n<!-- SCROLLING TABS & CHAPTER DETAILS -->\n<div style=\"max-width: 1000px; margin: 32px auto 0 auto;\">\n  <div id=\"chapterTabs\" class=\"chapter-tabs-scroll\">\n    <!-- Tabs will be generated by JavaScript -->\n  <\/div>\n  <!-- div id=\"chapterPlayPause\" style=\"margin:1em 0 0.5em 0;\">\n  <\/div -->\n  <div id=\"chapterPanel\" class=\"chapter-panel\">\n    <!-- Chapter text will appear here  -->\n  <\/div>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-928f586 elementor-widget elementor-widget-html\" data-id=\"928f586\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- NO TOUCH Scripts -->\n<!-- Video script v1.0 -->\n<!--[wpcode id=\"1824\"] -->\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/hls.js@latest\"><\/script> <!-- Include HLS.js -->\r\n\r\n<style>\r\n  .half-br {\r\n    display: block;\r\n    height: 1px;\r\n    width: 100%;\r\n    border: none;\r\n    margin: 0;\r\n    padding: 0;\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n\r\nlet currentChapterIdx = 0;\r\n\t\r\nfunction getCurrentLang() {\r\n  return document.documentElement.lang ? document.documentElement.lang.substring(0,2) : 'en';\r\n}\r\n\r\n\/\/ function waitTranslate(ms=1000) {\r\n\/\/   const end = Date.now() + ms; \/\/ 100 milliseconds = 1\/10 second\r\n\/\/   while (Date.now() < end) {\r\n\/\/     \/\/ Busy-wait: blocks the main thread!\r\n\/\/   }\r\n\/\/ }\r\n\r\n\/\/ const lang = getCurrentLang();\r\n\/\/ if (lang !== \"en\") {\r\n\/\/   var marker = document.getElementById('language-marker');\r\n\/\/   if (marker) {\r\n\/\/     \/\/ You can check for known translations of the phrase\r\n\/\/     var currentLangPhrase = marker.textContent.trim();\r\n\/\/ \r\n\/\/     \/\/ Example for English vs French\r\n\/\/     if (currentLangPhrase === \"Currently English language.\") {\r\n\/\/       console.log(\"Miss, translation in progress to '\/\"+lang+\"\/', 3 second delay.\")\r\n\/\/       waitTranslate(ms=3000);\r\n\/\/     } else {\r\n\/\/       console.log(\"Hit, pre-translated page in '\/\"+lang+\"\/'.\")\r\n\/\/     }\r\n\/\/   }\r\n\/\/ } else {\r\n\/\/   console.log(\"English, no translation needed.\")\r\n\/\/ }\r\n\r\n\/* ====== CONFIGURATION SECTION ====== *\/\r\n\/\/ const BUNNY_VIDEO_LIBRARY_ID = \"vz-c02c9ec9-42b.b-cdn.net\"; \/\/ Replace with your actual Bunny Video Library ID\r\nconst BUNNY_VIDEO_LIBRARY_ID = \"vz-d8eb6cfe-1f7.b-cdn.net\"; \/\/ Replace with your actual Bunny Video Library ID\r\n\r\n\/\/ 1. Define which video to play for each language:\r\n\/\/const videoMap = {\r\n\/\/  en: { type: \"youtube\", id: \"wWrsW76bG88\" },\r\n\/\/  fr: { type: \"bunny\", id: \"fc57904c-7f56-4b36-8d13-d1d715b82e81\" }, \/\/ This is the VIDEO ID\r\n\/\/  de: { type: \"bunny\", id: \"YOUR_GERMAN_VIDEO_ID\" }                   \/\/ This is the VIDEO ID\r\n  \/\/ Add more: es, it, etc.\r\n\/\/};\r\n\r\n\/\/ 2. Define chapters for each language:\r\nfunction parseCSVFromHeaderRows(headerText, rowsText) {\r\n  const headers = headerText.trim().split('|').map(h => h.trim());\r\n  const lines = rowsText.trim().split('\\n').filter(line => line.trim().length);\r\n\r\n  return lines.map(line => {\r\n    const values = [];\r\n    \/\/ Split by |, but don't split inside quotes (simple version assumes no | inside quotes)\r\n    \/\/ If you need to handle | inside quoted fields, regex needs to be more complex\r\n    let regex = \/(\"(?:[^\"]|\"\")*\"|'(?:[^']|'')*'|[^|]+)\/g;\r\n    let match;\r\n    while ((match = regex.exec(line))) {\r\n      let value = match[0].trim();\r\n      \/\/ Remove leading and trailing single or double quotes\r\n      value = value.replace(\/^(['\"])(.*)\\1$\/, '$2');\r\n      values.push(isNaN(value) ? value : Number(value));\r\n    }\r\n    const obj = {};\r\n    headers.forEach((h, i) => { obj[h] = values[i]; });\r\n    return obj;\r\n  });\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\/\/ Parse hiddenText into [{time: number, text: string}]\r\n\/\/ Parses lines like: 12.0 Text, or * Bullet point, or 1. Numbered item\r\nfunction parseHiddenText() {\r\n  const hiddenText = document.getElementById('hiddenText')?.textContent || '';\r\n  const lines = hiddenText.split('\\n').map(line => line.trim()).filter(Boolean);\r\n  const results = [];\r\n  let lastTime = null;\r\n\r\n  for (let line of lines) {\r\n    \/\/ Match timestamps with comma or dot\r\n    let match = \/^(\\d+(?:[.,]\\d+)?)\\s+(.*)$\/.exec(line);\r\n    if (match) {\r\n      lastTime = parseFloat(match[1].replace(',', '.'));\r\n      results.push({ time: lastTime, text: match[2] });\r\n      continue;\r\n    }\r\n    \/\/ Match bullets or numbers\r\n    match = \/^(\\*|\\-|\\d+\\.)\\s+(.*)$\/.exec(line);\r\n    if (match && lastTime !== null) {\r\n      results.push({ time: lastTime, text: line });\r\n      continue;\r\n    }\r\n    if (lastTime !== null) {\r\n      results.push({ time: lastTime, text: line });\r\n    }\r\n  }\r\n  return results;\r\n}\r\n\r\n\r\n\r\n\r\nconst hiddenTextLines = parseHiddenText(); \/\/ Global for later use\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\/\/ Get the header and rows from the DOM\r\nconst csvHeader = document.getElementById('video-data-header').textContent;\r\nconst csvRows = document.getElementById('video-data-rows').textContent;\r\n\r\nconst chapterMap = {\r\n  en: parseCSVFromHeaderRows(csvHeader, csvRows)\r\n};\r\n\r\n\/\/ List of properties to process\r\nconst properties = ['tab', 'title', 'description'];\r\n\r\n\/\/ Loop through each row in chapterMap.en\r\nchapterMap.en.forEach(row => {\r\n  properties.forEach(prop => {\r\n    const val = row[prop];\r\n    if (typeof val === 'string') {\r\n      row[prop] = val.replace(\/^[\\'\\\"]+|[\\'\\\"]+$\/g, '');\r\n    }\r\n  });\r\n});\r\n\r\n\/\/ console.log(chapterMap.en); \/\/ Output objects in browser console\r\n\r\n\r\n\/* ====== END CONFIGURATION ====== *\/\r\n\r\n\/* ----- Global Player Variables ----- *\/\r\nlet ytPlayer, ytReady = false, stopTimer = null;\r\nlet hlsInstance = null; \/\/ To store the HLS.js instance\r\nlet html5VideoElement = null; \/\/ To store the HTML5 video element for Bunny\r\n\r\n\r\n\/* ----- Player and Chapters Logic ----- *\/\r\nfunction cleanupPlayers() {\r\n    \/\/ Clear existing stop timer\r\n    if (stopTimer) {\r\n        clearInterval(stopTimer);\r\n        stopTimer = null;\r\n    }\r\n\r\n    \/\/ Cleanup YouTube Player\r\n    if (ytPlayer && typeof ytPlayer.destroy === 'function') {\r\n        ytPlayer.destroy();\r\n    }\r\n    ytPlayer = null;\r\n    ytReady = false;\r\n\r\n    \/\/ Cleanup HLS.js Player\r\n    if (hlsInstance) {\r\n        hlsInstance.destroy();\r\n        hlsInstance = null;\r\n    }\r\n    html5VideoElement = null; \/\/ Clear reference\r\n\r\n    \/\/ Clear the container\r\n    const container = document.getElementById('videoPlayerContainer');\r\n    if (container) container.innerHTML = \"\";\r\n}\r\n\r\nfunction setVideoPlayer(langObj) {\r\n  cleanupPlayers(); \/\/ Ensure previous players are cleaned up\r\n\r\n  const container = document.getElementById('videoPlayerContainer');\r\n  if (!container) return;\r\n\r\n  if (langObj.type === \"youtube\") {\r\n    container.innerHTML = `<div style=\"position: relative; width: 100%; padding-top: 56.25%;\">\r\n<iframe id=\"myVideo\" style=\"position: absolute;  top: 0; left: 0; width: 100%; height: 100%;\" \r\n            src=\"https:\/\/www.youtube.com\/embed\/${langObj.id}?enablejsapi=1&rel=0&origin=${window.location.origin}\"\r\n            frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\r\n            allowfullscreen><\/iframe><\/div>`;\r\n    \/\/ YT API will be loaded\/re-initialized later\r\n  } else if (langObj.type === \"bunny\") {\r\n    const bunnyStreamUrl = `https:\/\/${BUNNY_VIDEO_LIBRARY_ID}\/${langObj.id}\/playlist.m3u8`;\r\n    container.innerHTML = `<video id=\"myVideo\" width=\"100%\" height=\"390\" controls playsinline poster=\"https:\/\/itishoemath.com\/wp-content\/uploads\/2025\/05\/UCsEPI9OwGEw5Lm0E7Paq62g_0003_wWrsW76bG88_en.jpg\"><\/video>`;\r\n    html5VideoElement = document.getElementById('myVideo'); \/\/ Get the new video element\r\n\r\n\tif (html5VideoElement) {\r\n        html5VideoElement.addEventListener('play', () => renderPlayPauseButton(currentChapterIdx));\r\n        html5VideoElement.addEventListener('pause', () => renderPlayPauseButton(currentChapterIdx));\r\n    }\r\n\r\n\t  \r\n    if (Hls.isSupported()) {\r\n        hlsInstance = new Hls();\r\n        hlsInstance.loadSource(bunnyStreamUrl);\r\n        hlsInstance.attachMedia(html5VideoElement);\r\n        hlsInstance.on(Hls.Events.MANIFEST_PARSED, function() {\r\n            \/\/ console.log(\"Bunny HLS: Manifest parsed and video ready.\");\r\n            \/\/ html5VideoElement.play(); \/\/ Optional: Autoplay (mind browser restrictions)\r\n        });\r\n        hlsInstance.on(Hls.Events.ERROR, function(event, data) {\r\n            \/\/ console.error('Bunny HLS Error:', data);\r\n            if (data.fatal) {\r\n                switch(data.type) {\r\n                    case Hls.ErrorTypes.NETWORK_ERROR: hlsInstance.startLoad(); break;\r\n                    case Hls.ErrorTypes.MEDIA_ERROR: hlsInstance.recoverMediaError(); break;\r\n                    default: hlsInstance.destroy(); break;\r\n                }\r\n            }\r\n        });\r\n    } else if (html5VideoElement.canPlayType('application\/vnd.apple.mpegurl')) {\r\n        \/\/ Native HLS support (e.g., Safari)\r\n        html5VideoElement.src = bunnyStreamUrl;\r\n        html5VideoElement.addEventListener('loadedmetadata', function() {\r\n            \/\/ console.log('Bunny Native HLS: Metadata loaded.');\r\n        });\r\n    } else {\r\n        \/\/ console.error('HLS is not supported in this browser for Bunny.net video.');\r\n        container.innerHTML = '<p>Sorry, HLS video playback is not supported in your browser.<\/p>';\r\n    }\r\n  }\r\n}\r\n\r\nfunction renderTabs(activeIdx, chapters) {\r\n  const tabRow = document.getElementById('chapterTabs');\r\n  tabRow.innerHTML = chapters.map((ch, i) =>\r\n    `<button class=\"chapter-tab${i === activeIdx ? \" active\" : \"\"}\" onclick=\"showChapter(${i})\">${ch.tab}<\/button>`\r\n  ).join('');\r\n}\r\n\r\n\r\n\r\n\t\r\nfunction renderPlayPauseButton(idx) {\r\n  const lang = getCurrentLang();\r\n  const chapters = chapterMap['en'];\r\n  const ch = chapters[idx];\r\n  if (!ch) return \"\";\r\n\r\n  let isPlaying = false;\r\n  const videoObj = videoMap[lang] || videoMap['en'];\r\n\r\n  if (videoObj.type === \"youtube\" && ytPlayer && ytReady) {\r\n    isPlaying = ytPlayer.getPlayerState && ytPlayer.getPlayerState() === 1;\r\n  } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n    isPlaying = !html5VideoElement.paused;\r\n  }\r\n\r\n  const buttonLabel = isPlaying ? \"Pause\" : \"Play\";\r\n  const buttonIcon = isPlaying ? \"\u23f8\" : \"\u25b6\ufe0f\";\r\n\r\n  const btnHtml = `<button id=\"playPauseBtn\" style=\"padding:0.5em 1em;font-size:1em;border-radius:6px;background: #0F3F91;color:#fff;border:none;cursor:pointer;margin-bottom:1em;transition: background 0.2s;display: block;\">\r\n      ${buttonIcon} ${buttonLabel}\r\n    <\/button>`;\r\n\r\n  const container = document.getElementById('playPauseContainer');\r\n  if (container) {\r\n    container.innerHTML = btnHtml;\r\n    const playPauseBtn = document.getElementById('playPauseBtn');\r\n    if (playPauseBtn) {\r\n      playPauseBtn.onclick = function() {\r\n        let isPlayingNow = false;\r\n        if (videoObj.type === \"youtube\" && ytPlayer && ytReady) {\r\n          isPlayingNow = ytPlayer.getPlayerState && ytPlayer.getPlayerState() === 1;\r\n          ytPlayer.seekTo(ch.time, true);\r\n          if (isPlayingNow) {\r\n            ytPlayer.pauseVideo();\r\n          } else {\r\n            ytPlayer.playVideo();\r\n          }\r\n        } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n          isPlayingNow = !html5VideoElement.paused;\r\n          html5VideoElement.currentTime = ch.time;\r\n          if (isPlayingNow) {\r\n            html5VideoElement.pause();\r\n          } else {\r\n            html5VideoElement.play();\r\n          }\r\n        }\r\n        \/\/ No manual re-render here!\r\n      };\r\n    }\r\n  }\r\n}\r\n\r\n\r\nfunction formatTranscriptBlock(lines) {\r\n  let prevTime = null;\r\n  let out = [];\r\n  for (let i = 0; i < lines.length; i++) {\r\n    const { time, text } = lines[i];\r\n    \/\/ Convert seconds to MM:SS\r\n    const min = Math.floor(time \/ 60);\r\n    const sec = Math.floor(time % 60);\r\n    const mmss = `${min}:${sec.toString().padStart(2, '0')}`;\r\n    if (time !== prevTime) {\r\n      out.push(`<br><b><span style=\"color:#FFF\">${mmss}<\/span><\/b> ${text}`);\r\n    } else {\r\n      out.push(text);\r\n    }\r\n    prevTime = time;\r\n  }\r\n  return out.join('<br>');\r\n}\r\n\r\n\r\n\r\n\r\nfunction renderPanel(idx) {\r\n  const lang = getCurrentLang();\r\n\r\n  const simplifiedLabel = document.getElementById('simplified-transcript-label')?.textContent || \"\";\r\n  const simplifiedNote = document.getElementById('simplified-transcript-note')?.textContent || \"Note: ...\";\r\n\r\n  const chapters = chapterMap['en'];\r\n  const ch = chapters[idx];\r\n  if (!ch) {\r\n      console.error(`Chapter index ${idx} not found for language ${lang}.`);\r\n      return;\r\n  }\r\n\r\n  \/\/ --- Find hiddenText lines within this chapter's time range ---\r\n  const linesInRangeArr = hiddenTextLines\r\n    .filter(line => line.time >= ch.time && line.time < ch.stop);\r\n\r\n  const transcriptHTML = formatTranscriptBlock(linesInRangeArr);\r\n\r\n  let extra = \"\";\r\n  if (linesInRangeArr.length) {\r\n    extra = `\r\n      <br><br>\r\n      <!--span style=\"display:block;margin-top:1em;margin-bottom:0.25em;font-weight:bold\">${simplifiedLabel}<\/span-->\r\n      <span style=\"color:#f5f5f5;font-size:100%\">${transcriptHTML}<\/span>\r\n      <br>\r\n      <span style=\"display:block;margin-top:0.75em;font-size:75%;color:#00C2C2;\">\r\n        <br>${simplifiedNote}\r\n      <\/span>\r\n    `;\r\n  }\r\n\r\n  \/\/ Insert the Play\/Pause button at the very top of the panel\r\n  const playPauseButton = renderPlayPauseButton(idx);\r\n\r\n  document.getElementById('chapterPanel').innerHTML =\r\n    `<h3 style=\"margin-top:0;color:#fff\">${ch.title}<\/h3>\r\n     <div id=\"playPauseContainer\" style=\"margin-bottom:1em\"><\/div>\r\n     <p style=\"margin-bottom:0;color:#fff\">${ch.description}${extra}<\/p>`;\r\n\r\n  renderPlayPauseButton(idx);\r\n  renderTabs(idx, chapters);\r\n\r\n  \/\/ Attach the event handler after the button is inserted\r\n  const playPauseBtn = document.getElementById('playPauseBtn');\r\n  if (playPauseBtn) {\r\n    playPauseBtn.onclick = function() {\r\n      const videoObj = videoMap[lang] || videoMap['en'];\r\n      let isPlaying = false;\r\n      if (videoObj.type === \"youtube\" && ytPlayer && ytReady) {\r\n        isPlaying = ytPlayer.getPlayerState && ytPlayer.getPlayerState() === 1;\r\n        ytPlayer.seekTo(ch.time, true);\r\n        if (isPlaying) {\r\n          ytPlayer.pauseVideo();\r\n        } else {\r\n          ytPlayer.playVideo();\r\n        }\r\n      } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n        isPlaying = !html5VideoElement.paused;\r\n        html5VideoElement.currentTime = ch.time;\r\n        if (isPlaying) {\r\n          html5VideoElement.pause();\r\n        } else {\r\n          html5VideoElement.play();\r\n        }\r\n      }\r\n      \/\/ Optionally update button after action\r\n      \/\/ setTimeout(() => renderPanel(idx), 300);\r\n    };\r\n  }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nwindow.showChapter = function(idx) {\r\n  currentChapterIdx = idx;\r\n\r\n  const lang = getCurrentLang();\r\n  \/\/ const chapters = chapterMap[lang] || chapterMap['en']; \/\/ Fallback to 'en'   \r\n  \/\/ will switch for video but NOT for text (translatepress will accomplish)\r\n  const chapters = chapterMap['en']; \/\/ Fallback to 'en' chapters\r\n  const chapterData = chapters[idx];\r\n\r\n  if (!chapterData) {\r\n      console.error(`Chapter data for index ${idx} not found.`);\r\n      return;\r\n  }\r\n  renderPanel(idx); \/\/ Update panel and tabs\r\n\r\n  \/\/ Scroll tab into view\r\n  const buttons = document.getElementsByClassName('chapter-tab');\r\n  if (buttons[idx]) buttons[idx].scrollIntoView({ behavior: 'smooth', inline: 'center', block: 'nearest' });\r\n\r\n  const videoObj = videoMap[lang] || videoMap['en'];\r\n\r\n  \/\/ Clear previous stop timer\r\n  if (stopTimer) clearInterval(stopTimer);\r\n\r\n  if (videoObj.type === \"youtube\") {\r\n    if (ytReady && ytPlayer && typeof ytPlayer.seekTo === 'function') {\r\n      ytPlayer.seekTo(chapterData.time, true);\r\n      ytPlayer.playVideo();\r\n      \r\n    } else {\r\n        console.warn(\"YouTube player not ready or seekTo not available.\");\r\n    }\r\n  } else if (videoObj.type === \"bunny\" && html5VideoElement) {\r\n    html5VideoElement.currentTime = chapterData.time;\r\n    html5VideoElement.play().catch(e => console.warn(\"Autoplay after seek prevented:\", e));\r\n  }\r\n};\r\n\r\nfunction reInitChaptersAndPlayer() {\r\n  const lang = getCurrentLang();\r\n  const videoObj = videoMap[lang] || videoMap['en']; \/\/ Fallback to 'en' video\r\n\r\n  if (!videoObj) {\r\n      console.error(`No video configuration found for language: ${lang} or fallback 'en'.`);\r\n      return;\r\n  }\r\n\r\n  setVideoPlayer(videoObj); \/\/ This now also cleans up old players\r\n\r\n  \/\/ Short delay to ensure DOM is updated, especially for iframe\r\n  setTimeout(function(){\r\n    renderPanel(0); \/\/ Render first chapter panel\r\n    if (videoObj.type === \"youtube\") {\r\n      \/\/ Load or re-initialize YT API for new iframe\r\n      if (typeof YT === 'undefined' || !YT.Player) { \/\/ Check if YT object or YT.Player is undefined\r\n        var tag = document.createElement('script');\r\n        tag.src = \"https:\/\/www.youtube.com\/iframe_api\";\r\n        var firstScriptTag = document.getElementsByTagName('script')[0];\r\n        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n      } else {\r\n        \/\/ If API is loaded, re-initialize player for the new iframe if needed\r\n        onYouTubeIframeAPIReady();\r\n      }\r\n    }\r\n  }, 100); \/\/ Reduced delay, might need adjustment\r\n}\r\n\r\n\/* ----- YT API Bootstrapping ----- *\/\r\n\/\/ This global function is called by the YouTube Iframe API script\r\nwindow.onYouTubeIframeAPIReady = function() {\r\n  const iframe = document.getElementById('myVideo');\r\n  if (iframe && iframe.tagName === 'IFRAME' && !ytPlayer) { \/\/ Ensure it's an iframe and player not already set\r\n    \/\/ console.log(\"onYouTubeIframeAPIReady called, initializing YT Player.\");\r\n    ytPlayer = new YT.Player('myVideo', {\r\n      events: {\r\n        'onReady': function(event) {\r\n          ytReady = true;\r\n          \/\/ console.log(\"YouTube Player Ready.\");\r\n          \/\/ If a chapter was clicked before YT was ready, try to apply it now.\r\n          \/\/ This requires knowing the current chapter index, which might need to be stored.\r\n          \/\/ For simplicity, we'll assume the user might click a chapter again or it starts at 0.\r\n        },\r\n        'onStateChange': function(event) {\r\n\t\t\t\/\/ 1 = playing, 2 = paused\r\n\t\t\trenderPlayPauseButton(currentChapterIdx); \/\/ currentChapterIdx should be tracked globally\r\n\t\t}\r\n      }\r\n    });\r\n  } else if (iframe && iframe.tagName === 'IFRAME' && ytPlayer && typeof ytPlayer.destroy === 'function') {\r\n    \/\/ This case handles if the API is reloaded or if reInit is called and iframe exists\r\n    \/\/ It's a bit tricky; ideally, we destroy and recreate fully.\r\n    \/\/ The cleanupPlayers function should handle most of this.\r\n    \/\/ console.log(\"onYouTubeIframeAPIReady called, player might exist. Attempting to re-bind if necessary.\");\r\n  }\r\n};\r\n\r\n\/* ----- Event Hooks ----- *\/\r\ndocument.addEventListener('DOMContentLoaded', function() {\r\n    if (document.getElementById('videoPlayerContainer')) { \/\/ Only run if the container exists\r\n        reInitChaptersAndPlayer();\r\n\r\n\t\t\r\n\r\n\r\n    }\r\n});\r\n\/\/ TranslatePress fires this event on language change\r\ndocument.addEventListener('trp_language_changed', function() {\r\n    if (document.getElementById('videoPlayerContainer')) { \/\/ Only run if the container exists\r\n        reInitChaptersAndPlayer();\r\n\t\t\r\n\r\n    }\r\n});\r\n\r\n<\/script>\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-40859b7 elementor-widget elementor-widget-html\" data-id=\"40859b7\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n\/* Your existing CSS is good, no changes needed unless you want to refine *\/\n.chapter-tabs-scroll {\n  display: flex;\n  overflow-x: auto;\n  gap: 10px;\n  margin-bottom: 18px;\n  scrollbar-width: thin;\n  scrollbar-color: #a0aec0 #f7fafc; \/* For Firefox *\/\n  -webkit-overflow-scrolling: touch;\n  padding-bottom: 5px; \/* To make scrollbar visible without cutting content *\/\n  border-radius: 8px; \/* Optional: if you want rounded corners for the scroll area *\/\n}\n\/* Webkit Scrollbar Styles *\/\n.chapter-tabs-scroll::-webkit-scrollbar {\n  height: 7px;\n}\n.chapter-tabs-scroll::-webkit-scrollbar-track {\n  background: #111; \/* Or a lighter color if preferred *\/\n  border-radius: 4px;\n}\n.chapter-tabs-scroll::-webkit-scrollbar-thumb {\n  background: #333; \/* Or a contrasting color *\/\n  border-radius: 4px;\n}\n.chapter-tab {\n  white-space: nowrap;\n  border: none;\n  background: #222; \/* Darker tab background *\/\n  color: #fff;\n  font-size: 1.1em;\n  padding: 8px 22px;\n  border-radius: 999px; \/* Pill shape *\/\n  cursor: pointer;\n  transition: background 0.2s, color 0.2s, font-weight 0.2s, box-shadow 0.2s;\n  margin-bottom: 0; \/* Ensure no extra space below tabs if they wrap *\/\n  outline: none; \/* Remove default focus outline if you have custom focus styles *\/\n  margin-right: 0; \/* Reset if previously set for spacing between items *\/\n}\n.chapter-tab.active,\n.chapter-tab:hover {\n  background: #e0e7ff; \/* Light blue for active\/hover *\/\n  color: #111; \/* Dark text for active\/hover *\/\n  font-weight: bold;\n  box-shadow: 0 2px 8px #dbeafe66; \/* Softer shadow *\/\n}\n.chapter-panel {\n  background: rgba(20,20,20,0.88); \/* Semi-transparent dark background *\/\n  border-radius: 8px;\n  box-shadow: 0 2px 6px #111; \/* Subtle shadow *\/\n  padding: 20px 24px;\n  min-height: 80px; \/* Ensure panel has some height even if description is short *\/\n  transition: box-shadow 0.3s; \/* Smooth shadow transition on hover (if any) *\/\n}\n\/* Add a class for the video player container if you want to target its children more easily *\/\n#videoPlayerContainer video { \/* Ensure video tag fits container *\/\n    display: block; \/* Removes extra space below if it's inline *\/\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e4bc449 e-flex e-con-boxed e-con e-parent\" data-id=\"e4bc449\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-fdce02d e-con-full e-flex e-con e-child\" data-id=\"fdce02d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6160f3a elementor-widget elementor-widget-shortcode\" data-id=\"6160f3a\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!-- Post Page Mid Roll -->\r\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ea60902 elementor-widget elementor-widget-html\" data-id=\"ea60902\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- 4. NO TOUCH Scripts -->\n<!-- ImageID_4 HTML external scripts to call + JS -->\n<!-- script src=\"https:\/\/code.jquery.com\/jquery-3.7.1.min.js\"><\/script -->\r\n<script>\r\njQuery(document).ready(function ($) {\r\n\r\n  \/\/ --- IMAGE HOTSPOTS AND BUTTONS INIT ---\r\n  $('.hotspot-block').each(function () {\r\n    const $block = $(this);\r\n    const id = $block.data('id');\r\n    const $image = $block.find(`.main-image[data-id=\"${id}\"]`);\r\n    const $container = $block.find('.hotspot-container');\r\n    const $buttons = $block.find('.hotspot-buttons');\r\n    const imageUrl = imageMap[id];\r\n\r\n\r\n\t\r\n    const csvRaw = $(`pre#hotspot-data-${id}`).text().trim();\r\n\r\n    const activeNumbers = [];\r\n    $block.data('activeNumbers', activeNumbers);\r\n\r\n    if (!imageUrl) return;\r\n    $image.attr('src', imageUrl);\r\n\r\n    $image.on('load', function () {\r\n      const imgWidth = $image[0].naturalWidth;\r\n      const imgHeight = $image[0].naturalHeight;\r\n\r\n      \/\/ --- Simple Pipe-Delimited Parse ---\r\n\tconst lines = csvRaw.split('\\n').map(line => line.trim()).filter(Boolean);\r\n\tif (lines.length < 2) return;\r\n\t\/\/ Optionally check header here if you want\r\n\tconst data = lines.slice(1).map(line => {\r\n\t  \/\/ Split by pipe instead of comma, but allow pipes in the text field (by joining the rest)\r\n\t  const parts = line.split('|');\r\n\t  const order = parts[0] ? parts[0].trim() : '';\r\n\t  const x_px = parts[1] ? parts[1].trim() : '';\r\n\t  const y_px = parts[2] ? parts[2].trim() : '';\r\n\t  const direction = parts[3] ? parts[3].trim() : '';\r\n\t  const text = parts.length > 4 ? parts.slice(4).join('|').trim() : '';\r\n\t  return { order, x_px, y_px, direction, text };\r\n\t});\r\n\r\n\t\/\/ console.log('Parsed data:', data);\r\n\r\n\r\n      data.forEach(row => {\r\n        const number = String($.trim(row.order));\r\n        const xPx = parseFloat(row.x_px);\r\n        const yPx = parseFloat(row.y_px);\r\n        const dir = (row.direction || \"A\").trim().toUpperCase();\r\n        const text = $.trim(row.text);\r\n        const leftPercent = (xPx \/ imgWidth) * 100;\r\n        const topPercent = (yPx \/ imgHeight) * 100;\r\n\r\n        const tooltipClass = {\r\n          A: 'tooltip-above',\r\n          B: 'tooltip-below',\r\n          L: 'tooltip-left',\r\n          R: 'tooltip-right'\r\n        }[dir] || 'tooltip-above';\r\n\r\n        \/\/ Tooltip text present in DOM for TranslatePress!\r\n        const formattedText = `${number}. ` + text.replace(\/\\n\/g, '<br>');\r\n        const $hotspot = $(`\r\n          <div class=\"hotspot ${tooltipClass}\" data-number=\"${number}\">\r\n            <span class=\"hotspot-number\">${number}<\/span>\r\n            <span class=\"hotspot-tooltip\" style=\"display:none;\">${formattedText}<\/span>\r\n          <\/div>\r\n        `).css({\r\n          left: `${leftPercent}%`,\r\n          top: `${topPercent}%`,\r\n          transform: 'translate(-50%, -50%)',\r\n          position: 'absolute'\r\n        });\r\n\r\n        $container.append($hotspot);\r\n        $buttons.append(`<button class=\"hotspot-btn\" data-number=\"${number}\">${number}<\/button>`);\r\n      });\r\n    });\r\n  });\r\n\r\n  \/\/ --- STYLE UPDATE FUNCTION ---\r\nfunction updateStyles($block) {\r\n  const active = $block.data('activeNumbers') || [];\r\n  $block.find('.hotspot').each(function () {\r\n    const num = String($(this).data('number'));\r\n    const $tooltip = $(this).find('.hotspot-tooltip');\r\n    if (active.includes(num)) {\r\n      $(this).addClass('enlarged active');\r\n      $tooltip.show(); \/\/ <-- Show tooltip!\r\n    } else {\r\n      $(this).removeClass('enlarged active');\r\n      $tooltip.hide(); \/\/ <-- Hide tooltip!\r\n    }\r\n  });\r\n  $block.find('.hotspot-btn').each(function () {\r\n    const num = String($(this).data('number'));\r\n    $(this)\r\n      .toggleClass('highlight', active.includes(num))\r\n      .toggleClass('enlarged', active.includes(num));\r\n  });\r\n}\r\n\r\n\r\n  \/\/ --- HOTSPOT\/BUTTON CLICK ---\r\n  $(document).on('click', '.hotspot, .hotspot-btn', function (e) {\r\n    e.preventDefault();\r\n    const $clicked = $(e.target).closest('.hotspot, .hotspot-btn');\r\n    const num = String($clicked.data('number'));\r\n    const $block = $clicked.closest('.hotspot-block');\r\n    let active = $block.data('activeNumbers') || [];\r\n\r\n    const wasActive = active.includes(num);\r\n\r\n    \/\/ Clear Hide if checked\r\n    const $hide = $block.find('.hide-numbers-toggle');\r\n    if ($hide.is(':checked')) {\r\n      $hide.prop('checked', false).trigger('change');\r\n    }\r\n\r\n    if (wasActive) {\r\n      active = active.filter(n => n !== num);\r\n    } else {\r\n      active = [num]; \/\/ Only one active at a time\r\n    }\r\n    $block.data('activeNumbers', active);\r\n    updateStyles($block);\r\n\r\n    \/\/ Uncheck \"Show all\" if not all hotspots are active\r\n    const allNums = $block.find('.hotspot').map((_, el) => String($(el).data('number'))).get();\r\n    const $toggle = $block.find('.show-all-toggle');\r\n    const isAllActive = allNums.every(n => active.includes(n));\r\n    $toggle.prop('checked', isAllActive);\r\n  });\r\n\r\n  \/\/ --- SHOW ALL \/ HIDE MUTUAL EXCLUSIVITY AND BEHAVIOR ---\r\n  $(document).on('change', '.show-all-toggle', function() {\r\n    const id = $(this).data('id');\r\n    const $block = $(`.hotspot-block[data-id=\"${id}\"]`);\r\n    const $hide = $block.find('.hide-numbers-toggle');\r\n    const $hotspots = $block.find('.hotspot');\r\n    const allNums = $hotspots.map((_, el) => String($(el).data('number'))).get();\r\n\r\n    \/\/ Mutually exclusive: uncheck Hide if Show All is checked\r\n    if ($(this).is(':checked')) {\r\n      if ($hide.is(':checked')) {\r\n        $hide.prop('checked', false).trigger('change');\r\n      }\r\n      $block.data('activeNumbers', allNums);\r\n    } else {\r\n      $block.data('activeNumbers', []);\r\n    }\r\n\r\n    updateStyles($block);\r\n  });\r\n\r\n  \/\/ Hide handler\r\n  $(document).on('change', '.hide-numbers-toggle', function() {\r\n    const id = $(this).data('id');\r\n    const $block = $(`.hotspot-block[data-id=\"${id}\"]`);\r\n    const $showAll = $block.find('.show-all-toggle');\r\n    const $hotspots = $block.find('.hotspot');\r\n    const checked = $(this).is(':checked');\r\n\r\n    \/\/ Mutually exclusive: uncheck Show All if Hide is checked\r\n    if (checked && $showAll.is(':checked')) {\r\n      $showAll.prop('checked', false).trigger('change');\r\n    }\r\n\r\n    if (checked) {\r\n      $hotspots.hide();\r\n      $block.find('.enlarged, .active').removeClass('enlarged active');\r\n    } else {\r\n      $hotspots.show();\r\n    }\r\n  });\r\n\r\n  \/\/ --- CLICKING OUTSIDE CLEARS EVERYTHING ---\r\n  $(document).on('click', function (e) {\r\n    const $target = $(e.target);\r\n    const $block = $target.closest('.hotspot-block');\r\n    $('.hotspot-block').each(function () {\r\n      const $thisBlock = $(this);\r\n      if (!$block.length || !$block.is(this)) {\r\n        $thisBlock.data('activeNumbers', []);\r\n        $thisBlock.find('.show-all-toggle').prop('checked', false);\r\n        updateStyles($thisBlock);\r\n      }\r\n    });\r\n  });\r\n\r\n});\r\n<\/script>\r\n \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Le syst\u00e8me d'auto-maximisation que tous les hommes doivent conna\u00eetre Pr\u00eat \u00e0 am\u00e9liorer votre jeu de rencontres et votre vie enti\u00e8re ? Voici Self-Maximize - une carte mentale brutalement honn\u00eate qui m'a fait passer de grosse, fauch\u00e9e et invisible \u00e0 un \"huit\" avec des options dont la plupart des hommes ne font que r\u00eaver. Mais voici ce que personne ne veut admettre : la plupart des hommes (et [...]<\/p>","protected":false},"author":6,"featured_media":5250,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[134,140,100,143],"tags":[127,126,129,128],"class_list":["post-5178","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dating-dynamics","category-levels","category-free-newsletter-insider-exclusives","category-self-maximize","tag-es","tag-fr","tag-ja","tag-pt"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/posts\/5178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/comments?post=5178"}],"version-history":[{"count":19,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/posts\/5178\/revisions"}],"predecessor-version":[{"id":5762,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/posts\/5178\/revisions\/5762"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/media\/5250"}],"wp:attachment":[{"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/media?parent=5178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/categories?post=5178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itishoemath.com\/fr\/wp-json\/wp\/v2\/tags?post=5178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}